/**
 * jQuery base functions
 * 
 * @author ProTom
 */

var protom = {};

protom.logEnabled = true;

protom.log = function(message)
{
	 if(protom.logEnabled && window.console)
	 {
		 console.debug(message);
	 }

}

//***************************
// toggles the boxes between visible and invisible, also toggles the box header class
//***************************
protom.toggleBoxes = function()
{
	$j(this).parent('.rounded').children('.boxContent').slideToggle();

	var label = $j(this).children().children('h4');
	if($j(label).hasClass('colapsible'))
	{
		$j(label).removeClass('colapsible');
		$j(label).addClass('expandable');
	}
	else
	{
		$j(label).addClass('colapsible');
		$j(label).removeClass('expandable');
	}
};

//***************************
// initially sets up toggle boxes
//***************************
protom.setupToggleBoxes = function()
{
	// hide all default hidden boxes
	$j('.rounded:has(.expandable) .boxContent').hide();

	// add click listener for box headers
	$j('.rounded:has(.colapsible) .top').bind('click', protom.toggleBoxes).css('cursor', 'pointer');
	$j('.rounded:has(.expandable) .top').bind('click', protom.toggleBoxes).css('cursor', 'pointer');

};

//***************************
// opens a link in a new window
//***************************
protom.newWindow = function(url)
{
	window.open(url);
};

//***************************
// opens a banner link with click count
//***************************
protom.openBannerLink = function()
{
	$j.get('/tools/banner/registerclick/format/json/banner/'+this.id);
	protom.newWindow(this.href);
	return false;
};

//***************************
// opens a external link
//***************************
protom.openExternalLink = function()
{
	protom.newWindow(this.href);
	return false;
}

//***************************
// initially sets up banner links
//***************************
protom.setupBannerLinks = function()
{
	$j('.bannerLink').bind('click', protom.openBannerLink);
};

//***************************
// initially sets up external links
//***************************
protom.setupExternalLinks = function()
{
	$j('.externalLink').bind('click', protom.openExternalLink);
};

/*
 * handels center column xhr functions
 * including paged navigation and display type
 */

protom.centerColumn = {
	'params' : {
		'href' : location.href,
		'area' : 'center',
		'format' : 'xhr',
		'display': 'list',

		getString	: function()
		{
			var result = '';
			for(name in protom.centerColumn.params)
			{
				if(typeof protom.centerColumn.params[name] != 'function' && protom.centerColumn.params[name] != '' && name != 'href')
				{
					if(result != '')
					{
						result = result + '&';
					}
					result = result + name + '=' + protom.centerColumn.params[name];
				}
			}
			return result;
		},
		getUrl: function()
		{
			var base = protom.centerColumn.params.href;
			if(base.indexOf('#') !== -1)
			{
				base = base.substring(0, base.indexOf('#'));
			}

			if(base.indexOf('?') === -1)
			{
				return base + '?' + protom.centerColumn.params.getString();
			}
			else
			{
				return base + '&' + protom.centerColumn.params.getString();
			}
		}
	}
};

// load the center column with the given url parameters as xhr
protom.centerColumn.load = function()
{
	$j('#content').load(protom.centerColumn.params.getUrl(), null, function(result){
		protom.centerColumn.setup();
		scrollTo(0,0);
	});
};

// setup elements in the center column
protom.centerColumn.setup = function()
{
	//protom.centerColumn.paginator.setup();
	protom.centerColumn.countryFilter.init();
};

//***************************
// paginator functions
//***************************
protom.centerColumn.paginator = {
	'setup' : function()
	{
		return;
		$j('.paginator a').bind('click', function(event)
		{
			var href = $j(this).attr('href');
			var page = href.substring(href.indexOf('page=')+5);

			if(href.indexOf('area=right') != -1)
			{
				protom.centerColumn.params.area = 'right';
			}

			protom.centerColumn.params.page = page;
			protom.centerColumn.load();
			
			/*try
			{
				scrolltotop.scrollup('scrollTop');
			}
			catch(e)
			{
				//do nothing
			}*/
			
			if($j.address.value == '/')
			{
				$j.address.value('listpage_1');
			}

			$j.address.value('listpage_'+page);
			return false;
			
		});
	},
	
	'showPage' : function(page)
	{
		var href = $j($j('.paginator a')[0]).attr('href');
		if(href==undefined) return;
		if(href.indexOf('area=right') != -1)
		{
			protom.centerColumn.params.area = 'right';
		}
		protom.centerColumn.params.page = page;
		protom.centerColumn.load();
	}
};

//***************************
// country and alphabetical filter for companies
//***************************
protom.centerColumn.countryFilter =
{
	init : function()
	{
		$j('.alphabeticalFilter a').bind('click', function(){
			if($j(this).html() !== 'alle')
			{
				protom.centerColumn.params.filter = true;
				protom.centerColumn.params.character = $j(this).html();
			}
			else
			{
				if(!protom.centerColumn.params.country)
				{
					delete(protom.centerColumn.params.filter);
				}
				delete(protom.centerColumn.params.character);
			}
			protom.centerColumn.load();
			return false;
		});

		$j('.countryFilter select').bind('change', function(){
			if($j(this).val() != 0)
			{
				protom.centerColumn.params.filter = true;
				protom.centerColumn.params.country = $j(this).val();
			}
			else
			{
				if(!protom.centerColumn.params.character)
				{
					delete(protom.centerColumn.params.filter);
				}
				delete(protom.centerColumn.params.country);
			}
			protom.centerColumn.load();
			return false;
		});
	}


}


//***************************
// content chooser functions
//***************************
protom.centerColumn.contentChooser = {
	'setup' : function()
	{
		$j('.displayswitch').bind('click', function(event)
		{
			var value = $j(this).attr('href');
			value = value.substring(value.indexOf('#')+1);

			if(value == 'default')
			{
				$j('.list_inactive').removeClass('list_inactive').addClass('list_active');
				$j('.gallery_active').removeClass('gallery_active').addClass('gallery_inactive');
			}
			else if (value == 'gallery')
			{
				$j('.gallery_inactive').removeClass('gallery_inactive').addClass('gallery_active');
				$j('.list_active').removeClass('list_active').addClass('list_inactive');
			}

			protom.centerColumn.params.display = value;
			protom.centerColumn.load();
			return false;
		});
	}
};

//***************************
// setup searchform
//***************************
protom.searchForm = {};

// setup basic events
protom.searchForm.setup = function()
{
	$j('#searchTerm').bind('focus', protom.searchForm.activate);
	$j('#searchTerm').bind('blur', protom.searchForm.deactivate);
};

// if input text is clicked
protom.searchForm.activate = function()
{
	if($j('#searchTerm').val() == 'Plattform durchsuchen')
	{
		$j('#searchTerm').val('').css('color', 'black');
	}
};

// if input text looses focus
protom.searchForm.deactivate = function()
{
	if($j('#searchTerm').val() == '')
	{
		protom.searchForm.clear();
	}
};

// set input text to initial state
protom.searchForm.clear = function()
{
	$j('#searchTerm').val('Plattform durchsuchen').css('color', '#9c9e9f');
	protom.loadParams.searchTerm = '';
};

//***************************
// setup newsletter storno form
//***************************
protom.newsletter = {};
protom.newsletter.stornoForm = {
	setup : function()
	{
		$j('#newsletterStorno .magazineHidden').hide();
		$j('#newsletterStorno .platformHidden').hide();
		$j('#newsletterStorno .otherHidden').hide();
		$j('#newsletterStorno #abbestellen').hide();

		$j('#newsletterStorno #reason1').bind('change', function()
		{
			protom.newsletter.stornoForm.toggleSubmit();
		});

		$j('#newsletterStorno #reason2').bind('change', function()
		{
			$j('#newsletterStorno .magazineHidden').toggle(100);
			protom.newsletter.stornoForm.toggleSubmit();
		});

		$j('#newsletterStorno #reason3').bind('change', function()
		{
			$j('#newsletterStorno .platformHidden').toggle(100);
			protom.newsletter.stornoForm.toggleSubmit();
		});

		$j('#newsletterStorno #reason4').bind('change', function()
		{
			$j('#newsletterStorno .otherHidden').toggle(100);
			protom.newsletter.stornoForm.toggleSubmit();
		});
	},

	toggleSubmit : function()
	{
		var checked = false;
		$j.each($j('#newsletterStorno input[type=checkbox]'), function()
		{
			if(this.checked)
			{
				checked = true;
			}
		});

		if(checked)
		{
			$j('#newsletterStorno #abbestellen').show();
		}
		else
		{
			$j('#newsletterStorno #abbestellen').hide();
		}
	}
};

//***************************
// setup article slideshow
//***************************
protom.articleSlideshow = {
	'currentPage' : 0,
	'totalPages' : 0,
	'timer' : '',
	setup : function()
	{
		var slideshow = this;
		$j('.slideButtons a').bind('click', function(event){
			slideshow.showPage(Number($j(this).text())-1);
			slideshow.stop();
			return false;
		}).each(function(){slideshow.totalPages++;});

		slideshow.showPage(0);
		slideshow.run();
	},

	showPage : function(page)
	{
		page = page%protom.articleSlideshow.totalPages;
		$j($j('#articleSlides li').hide()[page]).fadeIn('slow');
		$j($j('.slideButtons a').removeClass('active')[page]).addClass('active');
		protom.articleSlideshow.currentPage = page;
	},

	run : function()
	{
		protom.articleSlideshow.timer = setInterval('protom.articleSlideshow.showPage(protom.articleSlideshow.currentPage+1)', 3000);
	},

	stop: function()
	{
		clearInterval(protom.articleSlideshow.timer);
	}

};

//***************************
// setup article paging
// no longer in use => added first line returns to each function
//***************************
protom.articlePaging = {

	'currentPage' : 0,
	'totalPages'  : 0,

	setup : function()
	{
		return;
		var pager = this;
		$j('.articlenav a').bind('click', function(event)
		{
			var href = $j(this).attr('href');
			pager.currentPage = pager.getRequestedPage(href);
			pager.showPage(pager.currentPage);
			pager.setupPreviousNextButtons();
			return false;
		});

		$j('.articlenav .articlePage').each(function(){pager.totalPages++});
		if(pager.totalPages > 1)
		{
			$j('.articlenav').show();
		}
		pager.showPage(1);
	},

	setPage : function(page)
	{
		return;
		var pager = this;
		pager.currentPage = page;
		pager.showPage(page);
		pager.setupPreviousNextButtons();
	},

	setupPreviousNextButtons : function()
	{
		return;
		var pager = this;

		if(pager.currentPage > 1){
			$j('.articlenav .articlePrevious').removeClass('inactive').attr('href', 'articlepage_'+(pager.currentPage-1));
		}
		else{
			$j('.articlenav .articlePrevious').addClass('inactive').attr('href', 'articlepage_1');
		}

		if(pager.totalPages >= pager.currentPage+1){
			$j('.articlenav .articleNext').removeClass('inactive').attr('href', 'articlepage_'+(pager.currentPage+1));
		}
		else{
			$j('.articlenav .articleNext').addClass('inactive').attr('href', 'articlepage_'+pager.totalPages);
		}
	},

	getRequestedPage : function(href)
	{
		return;
		var pager = this;
		var page = 1;

		page = Number(href.substring(href.indexOf('_')+1));

		if(page < 1)
		{
			page = 1;
		}
		else if(page > pager.totalPages)
		{
			page = pager.totalPages;
		}

		return page;
	},

	showPage : function(page)
	{
		return;
		page = page-1;
		if(page === 0){$j('.intro').removeClass('hidden');}
		else{$j('.intro').addClass('hidden');}

		$j('.subpage').addClass('hidden');
		$j($j('.subpage')[page]).removeClass('hidden');

		$j('.articlenav .articlePage').removeClass('thispage');
		$j($j('.articlenav .articlePage')[page]).addClass('thispage');

	}
};

protom.platformChooser = {
	'setup' : function()
	{
		$j('.platformchooser').hide();
		$j('#platformChooserToggle').bind('click', function(){
			$j('.platformchooser').slideToggle('medium');
			return false;
		});
	}
};

protom.specialTabs = function(){

	var setup = function()
	{
		setupTabButtons();
		showTab(0);
	}

	var showTab = function(index)
	{
		$j($j('.specialtab').hide()[index]).show();
		$j($j('.specialheader a').removeClass('active')[index]).addClass('active');
	}

	var setupTabButtons = function()
	{
		$j('.specialheader a').bind('click', function(){
			var index = $j(this).attr('href');
			index = Number(index.substring(index.indexOf('_')+1));
			showTab(index-1);
			return false;
		});
	}

	setup();
};

protom.companySearchForm = function()
{
	var baseUrl = '/default/datacomponent/getchildcategories/category/';
	var init = function()
	{
		$j('#category_1').bind('change', function(){
			loadOptions('category_2', this.value);
			loadOptions('category_3', 0);
		});
		$j('#category_2').bind('change', function(){
			loadOptions('category_3', this.value);
		});
	};

	var loadOptions = function(selectId, categoryId)
	{
		$j('#'+selectId).load(baseUrl + categoryId);
	};

	init();
};

//***************************
// setup deep linking
//***************************
$j.address.externalChange(function(){

	var deeplink = $j.address.value();

	// if deeplink to process
	if(deeplink && deeplink != '/')
	{
		if(deeplink.indexOf('articlepage') != -1)
		{
			// init article paging
			protom.articlePaging.setPage(protom.articlePaging.getRequestedPage(deeplink));
		}
		else if(deeplink.indexOf('listpage') != -1)
		{
			// init list paging
			protom.centerColumn.paginator.showPage(Number(deeplink.substring(deeplink.indexOf('_')+1)));
		}

	}
	else
	{
		// init standard views
		protom.articlePaging.setPage(1);
	}

});




//***************************
// banner rotator
//***************************
protom.bannerRotator =
{
	// configuration
	intervall : 5000,
	limit : 4,
	animSpeed : 1000,
	containerWidth: 720,
	// end configuration

	animTimer : '',
	items : '',
	timer : '',
	itemCount : 0,
	animating: false,

	load : function(url)
	{
		 $j('.hersteller .banneritems .items').load(url, null, protom.bannerRotator.init);
	},

	init : function()
	{
		protom.bannerRotator.items = $j('.hersteller .banneritems .items a').clone();
		protom.bannerRotator.setItems();

		if(protom.bannerRotator.items.length > protom.bannerRotator.limit && protom.bannerRotator.timer==='')
		{
			protom.bannerRotator.timer = setInterval('protom.bannerRotator.rotate()', protom.bannerRotator.intervall);
		}
	},

	rotate : function()
	{
		if(!protom.bannerRotator.animating)
		{
			var animIntervall = Math.ceil(protom.bannerRotator.animSpeed / 24);
			var speed = Math.ceil(protom.bannerRotator.containerWidth / animIntervall);
			protom.bannerRotator.animating = true;
			protom.bannerRotator.animTimer = setInterval('protom.bannerRotator.animate('+speed+')', animIntervall);
		}
	},

	animate : function(speed)
	{
		var pos = $j('.banneritems .items').css('left');
		pos = pos.substring(0, pos.indexOf('px'));
		var nextPos = Number(pos)-speed;

		if((nextPos * -1) < protom.bannerRotator.containerWidth )
		{
			$j('.banneritems .items').css('left', nextPos);
		}
		else
		{
			// hide old
			$j('.banneritems .items').css('left', 0);
			clearInterval(protom.bannerRotator.animTimer);
			protom.bannerRotator.animTimer = '';
			protom.bannerRotator.animating = false;
			protom.bannerRotator.setItems();
		}

	},

	setItems : function()
	{
		var total = (protom.bannerRotator.limit * 2);
		var count = 0;
		$j('.banneritems .items').empty();

		while(count < total)
		{
			var curitem = $j(protom.bannerRotator.items[protom.bannerRotator.itemCount%protom.bannerRotator.items.length]).clone();
			$j(curitem).attr('id', $j(curitem).attr('id') + protom.bannerRotator.itemCount);
			$j('.banneritems .items').append(curitem);
			protom.bannerRotator.itemCount ++;
			count++;
		}
		protom.bannerRotator.itemCount -= protom.bannerRotator.limit;
		$j('.hersteller .bannerLink').bind('click', protom.openBannerLink);
	}

};

//***************************
// special pager
//***************************
protom.specialPager =
{
	limit : 4,
	animSpeed : 1000,
	containerWidth: 680,
	specialObjects : {},

	/**
	 * initial setup on page load
	 */
	setup : function()
	{
		if(protom.specialPager.specialObjects)
		{
			for(var pane in protom.specialPager.specialObjects)
			{
				protom.specialPager.setupPane(pane);
			}
		}

	},

	/**
	 * setup a single pane
	 */
	setupPane : function(pane)
	{
		var containerId = pane + 'Pane';
		var paneObject = protom.specialPager.specialObjects[pane];

		paneObject.prevButton = $j('<p class="scrollbutton prevscroll"></p>').bind('click', function(){
			protom.specialPager.prevPage(pane);
		});
		$j('#'+containerId).parent().prepend(paneObject.prevButton);

		paneObject.nextButton = $j('<p class="scrollbutton nextscroll"></p>').bind('click', function(){
			protom.specialPager.nextPage(pane);
		});
		$j('#'+containerId).parent().prepend(paneObject.nextButton);

		protom.specialPager.setupButtons(paneObject);

	},

	setupButtons : function(paneObject)
	{
		if(paneObject.nextpage === '')
		{
			$j(paneObject.nextButton).removeClass('active');
		}
		else
		{
			$j(paneObject.nextButton).addClass('active');
		}
		if(paneObject.prevpage === '')
		{
			$j(paneObject.prevButton).removeClass('active');
		}
		else
		{
			$j(paneObject.prevButton).addClass('active');
		}

	},

	/**
	 * move to the next page, load it if it is currently not loaded
	 */
	nextPage :function(pane)
	{
		var paneObject = protom.specialPager.specialObjects[pane];
		if(paneObject.nextpage !== '')
		{
			$j('#'+pane+'Pane').load(paneObject.nextpage, function(){
				protom.specialPager.setupButtons(paneObject);
				$j('#specialLoader').hide();
			});
			$j('#specialLoader').show();
		}
	},

	/**
	 * move to the previous page if one exists
	 */
	prevPage :function(pane)
	{
		var paneObject = protom.specialPager.specialObjects[pane];
		if(paneObject.prevpage !== '')
		{
			$j('#'+pane+'Pane').load(paneObject.prevpage, function(){
				protom.specialPager.setupButtons(paneObject);
				$j('#specialLoader').hide();
			});
			$j('#specialLoader').show();
		}
	}
};

protom.categoryMenu = 
{
	init : function()
	{
		if($j('#toplevelMenu').length != 0)
		{
			$j('#toplevelMenu .level2').hide();
			protom.categoryMenu.initToplevelMenu();
		}
		else
		{
			$j('.level2').hide();
			protom.categoryMenu.initCategoryMenu();
		}
	},
	
	initToplevelMenu : function()
	{
		
		{
			$j('#toplevelMenu').hide();
			var menuActive = false;
			
			protom.categoryMenu.initSubmenus('toplevelMenu');
			
			$j('#toplevelMenu').hover(
				
				function()
				{
					menuActive = true;
				},
				
				function()
				{
					menuActive = false;
					setTimeout(function(){
						if(!menuActive)
						{
							//$j('#toplevelMenu').hide();
							//$j('#categoryMenu').fadeTo("fast",1);
							$j('#categoryMenu').fadeTo("slow",1);
							$j('#toplevelMenu').slideUp();
							//$j('#toplevelMenu').hide();
							
						}
					}, 50);
				}
				
			)
			
			$j('#leftmenu a.homebutton').hover(
			
				function()
				{
					menuActive = true;
					document.getElementById('toplevelMenu').style.zIndex = 5;
					$j('#toplevelMenu').effect('slide',{direction:'up'});
				},
				
				function()
				{
					menuActive = false;
					setTimeout(function(){
						if(!menuActive)
						{
							$j('#toplevelMenu').slideUp();
							//$j('#toplevelMenu').hide();
						}
					}, 100);
					
				}
				
			);
		}
	},
	
	initCategoryMenu : function()
	{
		protom.categoryMenu.initSubmenus('categoryMenu');
	},
	
	initSubmenus : function(menuId)
	{
		$j('#' + menuId + ' .menu li').hover(
		
			function()
			{
				$j(this).find('.level2').show();
			},
			
			function()
			{
				$j(this).find('.level2').hide();
			}
		);
	}
}

protom.startMenu = 
{
	init : function()
	{
		$j('#startMenu .menu li').hover(
				
				function()
				{
					$j(this).find('.level2').show();
				},
				
				function()
				{
					$j(this).find('.level2').hide();
				}
			);
	}
}

if($j)
{
	$j(document).ready(function()
	{
		
		
		protom.setupBannerLinks();
		protom.setupExternalLinks();
		protom.setupToggleBoxes();
		protom.centerColumn.setup();
		protom.centerColumn.contentChooser.setup();
		protom.searchForm.setup();
		
		protom.platformChooser.setup();
		protom.articlePaging.setup();
		
		protom.articleSlideshow.setup();
		protom.specialTabs();
		
		protom.companySearchForm();
		protom.specialPager.setup();
		protom.startMenu.init();
		protom.categoryMenu.init();
	});
	
}

//***************************
// scroll to top functions
//***************************

var scrolltotop={
	//startline: Integer. Number of pixels from top of doc scrollbar is scrolled before showing control
	//scrollto: Keyword (Integer, or "Scroll_to_Element_ID"). How far to scroll document up when control is clicked on (0=top).
	setting: {startline:400, scrollto: 0, scrollduration:500, fadeduration:[500, 100]},
	// controlHTML: '<img src="up.png" style="width:48px; height:48px" />', //HTML for control, which is auto wrapped in DIV w/ ID="topcontrol"
	controlattrs: {offsetx:5, offsety:5}, //offset of control relative to right/ bottom of window corner
	anchorkeyword: '#top', //Enter href value of HTML anchors on the page that should also act as "Scroll Up" links

	state: {isvisible:false, shouldvisible:false},

	scrollup:function(target){
		if (!this.cssfixedsupport) //if control is positioned using JavaScript
			this.$control.css({opacity:0}) //hide control immediately after clicking it
		var dest= target || ( isNaN(this.setting.scrollto)? this.setting.scrollto : parseInt(this.setting.scrollto) );
		//console.log('SCROLL TARGET: ' + dest);
		if (typeof dest=="string" && jQuery('#'+dest).length==1) //check element set by string exists
			dest=jQuery('#'+dest).offset().top
		else
			dest=0
		this.$body.animate({scrollTop: dest}, this.setting.scrollduration);
	},

	keepfixed:function(){
		var $window=jQuery(window)
		var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetx
		var controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsety
		this.$control.css({left:controlx+'px', top:controly+'px'})
	},

	togglecontrol:function(){
		var scrolltop=jQuery(window).scrollTop()
		if (!this.cssfixedsupport)
			this.keepfixed()
		this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false
		if (this.state.shouldvisible && !this.state.isvisible){
			this.$control.stop().animate({opacity:1}, this.setting.fadeduration[0])
			this.state.isvisible=true;
			document.getElementById("fixedfooter").style.display ="block";
		}
		else if (this.state.shouldvisible==false && this.state.isvisible){
			this.$control.stop().animate({opacity:0}, this.setting.fadeduration[1])
			this.state.isvisible=false
			document.getElementById("fixedfooter").style.display ="none";
		}
	},
	
	init:function(){
		jQuery(document).ready(function($){
			var mainobj=scrolltotop
			var iebrws=document.all
			mainobj.cssfixedsupport=!iebrws || iebrws && document.compatMode=="CSS1Compat" && window.XMLHttpRequest //not IE or IE7+ browsers in standards mode
			mainobj.$body=(window.opera)? (document.compatMode=="CSS1Compat"? $('html') : $('body')) : $('html,body')
			mainobj.$control=$('<div id="topcontrol"></div>')
				// .css({position:mainobj.cssfixedsupport? 'fixed' : 'absolute', bottom:mainobj.controlattrs.offsety, right:mainobj.controlattrs.offsetx, opacity:0, cursor:'pointer'})
				.attr({title:'Nach oben scrollen'})
				.click(function(){mainobj.scrollup();return false})
				.appendTo('body')
			if (document.all && !window.XMLHttpRequest && mainobj.$control.text()!='') //loose check for IE6 and below, plus whether control contains any text
				mainobj.$control.css({width:mainobj.$control.width()}) //IE6- seems to require an explicit width on a DIV containing text
			mainobj.togglecontrol()
			$('a[href="' + mainobj.anchorkeyword +'"]').click(function(){
				mainobj.scrollup()
				return false
			})
			$(window).bind('scroll resize', function(e){
				mainobj.togglecontrol()
			})
		})
	}
}

scrolltotop.init()

//***************************
// articleshort balloons
//***************************
jQuery(document).ready(function($){
	$(".relatedArticles a").hover(function() {
	  $(this).next("em").animate({opacity: "show", left: "-316"}, 200);
	}, function() {
	  $(this).stop().next("em").animate({opacity: "hide", left: "-336"}, 50);
	});
});

function bannerView(id)
{
	try
	{
		console.log(id);
	}
	catch(e)
	{
		
	}
}


function switchContent(showId, hideId)
{
	jQuery.ready();
	var element1 = jQuery('#'+showId);
	var element2 = jQuery('#'+hideId);
	if(element1 != undefined && element2 != undefined)
	{
		element1.show();
		element2.hide();
	}
	var button1 = jQuery('#switch_'+showId);
	var button2 = jQuery('#switch_'+hideId);
	if(button1 != undefined && button2 != undefined)
	{
		button1.removeClass('switch');
		button1.addClass('switcha');
		button2.removeClass('switcha');
		button2.addClass('switch');
	}
}

function generateQR()
{
	jQuery.ready();
	var image = 'http://api.kastius.net/qr/php/qr.php?groesse=5&text='+encodeURIComponent(location.href);
	jQuery('#content').innerHTML += '<img src="'+ image +'">';
}

//forntend-backend functions

function addCategory(articleId)
{
	var chooser = document.getElementById('categoryChooser'+articleId);
	var choice = document.getElementById('categoryChoice'+articleId+'_'+chooser.value);
	
	var text = choice.textContent;

	jQuery.ajax({
		url:"/ajax/news/addcategory", 
		type:"GET",
		data:{"article_id":articleId,"category_id":chooser.value},
		success: function(result) {
			jQuery('#categoryChooser'+articleId).before('<span onclick="javascript:if(confirm(\'Kategorie &gt;' + text + '&lt; wirklich löschen?\')) removeCategory('+articleId+','+chooser.value+');">'+ text + '</span>, ');
			jQuery('#categoryChoice'+articleId+'_'+chooser.value).remove();
		}
	
		});
}

function removeCategory(articleId,categoryId)
{
	jQuery.ajax({
		url:"/ajax/news/removecategory", 
		type:"GET",
		data:{"article_id":articleId,"category_id":categoryId},
		success: function(result) {
			jQuery('#assignedCategory'+articleId+'_'+categoryId).remove();
		}
	
		});
}

function updatePriority(obj)
{
	var name = obj.id;
	var parts = name.split('_');
	var articleId = parts[1];
	var priority = obj.value;
	jQuery.ajax({
		url:"/ajax/news/setpriority", 
		type:"GET",
		data:{"article_id":articleId,"priority":priority},
		success: function(result) {
			
		}
		});
}

function setFeatured(obj)
{
	var featured = obj.checked;
	if(featured) featured = 1;
	else featured = 0;
	var name = obj.id;
	var parts = name.split('_');
	var articleId = parts[1];
	jQuery.ajax({
		url:"/ajax/news/setfeatured", 
		type:"GET",
		data:{"article_id":articleId,"featured":featured},
		success: function(result) {
			
		}
		});
}

function editLine(obj, article_id)
{
	if(obj.innerText != undefined)
	{
		var text = obj.innerText;
	}
	else
	{
		var text = obj.textContent;
	}
	var jObj = jQuery('#' + obj.id);
	jObj.replaceWith('<input type="text" id="editField_'+obj.id+'" style="width:100%; font-family:Tahoma,Verdana,Arial,Helvetica,sans-serif;" onblur="javascript:updateLine(this,'+article_id+');" value="'+ text +'">');
	jQuery("#editArea").focus();
}

function updateLine(obj, article_id)
{
	var text = obj.value;
	var jObj = jQuery('#' + obj.id);
	var parts = obj.id.split("_");
	jQuery.ajax({
		url:"/ajax/news/updatetext", 
		type:"GET",
		data:{"article_id":article_id,"text":text,"field":parts[1]},
		success: function(result) {
			jObj.replaceWith('<h2 id="'+parts[1]+'" onclick="javascript:editLine(this,'+article_id+');">'+ text+'</h2>');	
		}
		});
	
}

function editText(obj, article_id)
{
	var text = obj.innerHTML;
	var jObj = jQuery('#' + obj.id);
	jObj.replaceWith('<textarea id="editArea_'+obj.id+'" style="width:100%; height:100px; font-family:Tahoma,Verdana,Arial,Helvetica,sans-serif;" onblur="javascript:updateText(this,'+article_id+');">'+ text +'</textarea>');
	document.getElementById("editArea_"+obj.id).value = document.getElementById("editArea_"+obj.id).value.replace(/<br>/gi,'\n');
	jQuery("#editArea").focus();
}

function updateText(obj, article_id)
{
	var text = obj.value;
	var jObj = jQuery('#' + obj.id);
	var parts = obj.id.split("_");
	jQuery.ajax({
		url:"/ajax/news/updatetext", 
		type:"GET",
		data:{"article_id":article_id,"text":text,"field":parts[1]},
		success: function(result) {
			jObj.replaceWith('<p id="'+parts[1]+'" onclick="javascript:editText(this,'+article_id+');">'+ text.replace(/\n/g,'<br>') +'</p>');	
		}
		});
}

function updateGrid(category)
{
	var cols = document.getElementById('grid'+category+'_cols').value;
	var rows = document.getElementById('grid'+category+'_rows').value;
	
	jQuery.ajax({
		url:"/ajax/grid/updategrid",
		type:"GET",
		data:{"category_id":category,"cols":cols,"rows":rows},
		success: function(result) {
			location.reload();
		}
		});
	
}

function updateCompanyGrid(company)
{
	var cols = document.getElementById('COMPANYgrid'+company+'_cols').value;
	var rows = document.getElementById('COMPANYgrid'+company+'_rows').value;
	var premium = document.getElementById('COMPANYgrid'+company+'_premium').checked;
	if(premium)
	{
		premium = 1;
	}
	else
	{
		premium = 0;
	}
	
	jQuery.ajax({
		url:"/ajax/grid/updatecompanygrid",
		type:"GET",
		data:{"company_id":company,"cols":cols,"rows":rows,"premium":premium},
		success: function(result) {
			location.reload();	
		}
		});
	
}

function deleteFromGrid(id, type)
{
	//type 1 = category, type 2 = company
	
	var pos = document.getElementById('deleteFromGrid_'+id).value;
	
	jQuery.ajax({
		url:"/ajax/grid/deletefromgrid",
		type:"GET",
		data:{"id":id,"type":type,"pos":pos},
		success: function(result) {
			location.reload();
		}
		});
	
}

function addArticleToCategoryGrid(articleId, categoryId)
{
	var pos = document.getElementById('gridPosition_'+articleId).value;
	var dim = document.getElementById('gridDimension_'+articleId).value;
	
	jQuery.ajax({
		url:"/ajax/grid/addarticle",
		type:"GET",
		data:{"category_id":categoryId,"article_id":articleId,"pos":pos,"dim":dim},
		success: function(result) {
			location.reload();
		}
		});
	
}

function addArticleToCompanyGrid(articleId, companyId)
{
	var pos = document.getElementById('gridPosition_'+articleId).value;
	var dim = document.getElementById('gridDimension_'+articleId).value;
	
	jQuery.ajax({
		url:"/ajax/grid/addarticlecompany",
		type:"GET",
		data:{"company_id":companyId,"article_id":articleId,"pos":pos,"dim":dim},
		success: function(result) {
			location.reload();
		}
		});
	
}


var listStartElement = '';

function setListStartElement(id)
{
	jQuery('#'+id).css('background-color','#eeeeee');
	listStartElement = '<div class="articleList" style="display:block;">'
			+'<div class="item"><ul><li>'
			+'<span style="cursor:pointer; position:relative; left:430px; top:20px;" onclick="javascript:'
				+'try {'
				+'pagingContentNews.setFilterText(\'\'); '
				+'pagingContentNews.switchToContent(3);'
				+'} catch(error){'
				+'pagingContentCompanyNews.setFilterText(\'\'); '
				+'pagingContentCompanyNews.switchToContent(3);'
				+'}'
				+'">X</span>' 
			+ document.getElementById(id).parentNode.innerHTML 
			+ '</li></ul></div></div>';
}

var pagingContentNews =
{
		containerId : 'newsList',
		type : 0,	//0 = all; 1 = news; 2 = videos
		categoryId: 0,
		page: 1,
		filtertext: '',
		timer:0,
		mode:0,		//0 = replace, 1 = add
		infiniteLoading:1, //1 = allowed, 0
		platformSearch:0,
		defaultSeachString:'Schnellsuche',
		newOnly:0,
		currentTitel:'',
		
		setDefaultSearchString: function(text)
		{
			this.defaultSearchString = text;
		},
		setFilterText: function (text)
		{
			this.filtertext = text;
		},
		reloadWithFilterText: function(text)
		{
			if(text==this.defaultSearchString) return;
			if(text.length<3 && text.length>0) return;
			this.setFilterText(text);
			this.mode = 0;
			this.page = 1;
			this.loadItems();
		},
		clearFilterText: function()
		{
			document.getElementById('filtertext').value = this.defaultSearchString;
			document.getElementById('filtertext').style.color = 'gray';
			this.reloadWithFilterText('');
		},
		searchMediaByProductCode: function(code)
		{
			this.setFilterText(code);
			document.getElementById('filtertext').value = code;
			this.switchToContent(0);
		}, 
		setCategory: function(category)
		{
			this.categoryId = category;
		},
		loadItems: function()
		{
			jQuery(window).unbind('scroll.contentLoading');
			//if(this.filtertext == '')
			//{
				//document.getElementById("counter_1").style.opacity = 1;
				//document.getElementById("counter_2").style.opacity = 1;
				//if(document.getElementById("counter_3")) document.getElementById("counter_3").style.opacity = 1;
				//document.getElementById("counter_13").style.opacity = 1;
			//}
			//else
			//{
				//document.getElementById("counter_1").style.opacity = 0.25;
				//document.getElementById("counter_2").style.opacity = 0.25;
				//if(document.getElementById("counter_3")) document.getElementById("counter_3").style.opacity = 0.25;
				//document.getElementById("counter_13").style.opacity = 0.25;
			//}
			jQuery("#contentLoading").remove();
			document.getElementById(pagingContentNews.containerId).innerHTML += '<div id="contentLoading"><br style="clear:both"><img src="/upload/files/loading_top.gif">&nbsp;&nbsp;&nbsp;Weiterscrollen um weitere Inhalte zu laden...</div>';
			
			document.getElementById("deleteLoadingImage").src = "/upload/images/loading.gif";
			clearTimeout(this.timer);
		    this.timer=setTimeout(function doLoad(){
		    	if(pagingContentNews.type==13) 
				{
		    		pagingContentNews.loadCompanies();
					return;
				}
				jQuery.ajax({
					url:"/ajax/news/getlist",
					type:"GET",
					data:{
						"type":pagingContentNews.type,
						"category_id":pagingContentNews.categoryId,
						"page":pagingContentNews.page,
						"filtertext":pagingContentNews.filtertext,
						"platform_search":pagingContentNews.platformSearch,
						"new":pagingContentNews.newOnly},
					success: function(result) {
						jQuery("#contentLoading").remove();
						pagingContentNews.platformSearch=0;
						jQuery("#categoryDescription").remove();
						
						if(pagingContentNews.mode == 1)
						{
							document.getElementById(pagingContentNews.containerId).innerHTML += result;
						}
						else
						{
							document.getElementById(pagingContentNews.containerId).innerHTML = listStartElement + result;
						}					
						if(document.getElementById("counter_1") && document.getElementById("update_counter_1")) document.getElementById("counter_1").innerHTML = '<center>'+document.getElementById("update_counter_1").innerHTML+'</center>';
						if(document.getElementById("counter_2") && document.getElementById("update_counter_2"))document.getElementById("counter_2").innerHTML = '<center>'+document.getElementById("update_counter_2").innerHTML+'</center>';
						if(document.getElementById("counter_3") && document.getElementById("update_counter_3"))document.getElementById("counter_3").innerHTML = '<center>'+document.getElementById("update_counter_3").innerHTML+'</center>';
						if(document.getElementById("counter_0") && document.getElementById("update_counter_0"))document.getElementById("counter_0").innerHTML = '<center>'+document.getElementById("update_counter_0").innerHTML+'</center>';
						if(document.getElementById("counter_13") && document.getElementById("update_counter_13"))document.getElementById("counter_13").innerHTML = '<center>'+document.getElementById("update_counter_13").innerHTML+'</center>';
						
						listStartElement = '';
						if(pagingContentNews.filtertext == '')
						{
							ajaxContentLoading('/news/category'+pagingContentNews.categoryId+'/type'+pagingContentNews.type+'/page'+pagingContentNews.page);
						}
						else
						{
							ajaxContentLoading('/news/category'+pagingContentNews.categoryId+'/type'+pagingContentNews.type+'/filtertext');
						}
						if(pagingContentNews.mode == 0)
						{
							//scrollTo(0,document.getElementById("main").offsetTop);
						}
						if(pagingContentNews.filtertext)
						{
							jQuery('#companyNews').removeHighlight();
							jQuery.each(jQuery.trim(pagingContentNews.filtertext).split(" "), function(idx, val) { jQuery('#companyNews').highlight(val); })
						}
						document.getElementById("deleteLoadingImage").src = "/upload/images/delete.png";
						document.getElementById("searchImageTop").src = "/upload/files/search.png";
						jQuery(window).unbind('scroll.contentLoading');
						jQuery(window).bind('scroll.contentLoading',(function(){
							if(pagingContentNews.type==13) return;
							if(pagingContentNews.infiniteLoading <= 0) return;
							clearTimeout(this.timer2);
						    this.timer2=setTimeout(function doLoad2(){
						    if (jQuery(window).scrollTop()+600 >= jQuery(document).height() - jQuery(window).height()){
									pagingContentNews.page = pagingContentNews.page+1;
									pagingContentNews.mode = 1;
									pagingContentNews.loadItems();
						    }
						    },300);
						})); 
					}
					});
		    	
		    	
		    },500);
			
			
		},
		loadCompanies: function()
		{
			companyAjaxLoader.page = this.page;
			companyAjaxLoader.filtertext = this.filtertext;
			companyAjaxLoader.categoryId = this.categoryId;
			companyAjaxLoader.loadItems();
		},
		previousPage: function()
		{
			if(this.page <= 1) return;
			this.gotoPage(this.page-1);
		},
		nextPage: function()
		{
			this.gotoPage(this.page+1);
		},
		gotoPage: function(page)
		{
			if(this.page == page) return;
			this.page= page;
			this.loadItems();
		},
		
		switchToContent: function(type)
		{
			this.mode = 0; 
			//if(type==this.type) return;
			jQuery('#switch'+this.type).removeClass('switcha');
			jQuery('#switch30').removeClass('switcha');
			jQuery('#switch30').addClass('switch');
			jQuery('#switch'+this.type).addClass('switch');
			
			jQuery('#switch'+type).removeClass('switch');
			jQuery('#switch'+type).addClass('switcha');
			this.type=type;
			var typeText = 'news';
			switch(type)
			{
				case 0: this.updateCategoryText('Top News'); break;
				case 1: typeText = 'article'; this.updateCategoryText('Top Berichte'); this.currentTitel='Top Berichte'; break;
				case 2: typeText = 'video'; this.updateCategoryText('Top Videos'); this.currentTitel='Top Videos'; break;
				case 3: typeText = 'product'; this.updateCategoryText('Produktkompass'); this.currentTitel='Produktkompass'; break;
				case 30: typeText = 'productnews'; this.updateCategoryText('Produktneuheiten'); this.currentTitel='Produktneuheiten'; break;
				case 13: typeText = 'company'; this.updateCategoryText('Hersteller/Handel'); this.currentTitel='Hersteller/Handel'; break;
			}
			
			//jQuery.address.value(typeText);
			this.page = 1;
			this.loadItems();
		},
		updateCategoryText: function(text)
		{
			var oldText = '';
			if(document.getElementById("selectedCategory").innerText) oldText = document.getElementById("selectedCategory").innerText;
			else if(document.getElementById("selectedCategory").textContent) oldText = document.getElementById("selectedCategory").textContent;
			
			if(oldText == 'Top Berichte' || oldText == 'Produktkompass' || oldText== 'Produktneuheiten' ||  oldText == 'Top Videos' || oldText == 'Top News' || oldText == 'Hersteller/Handel')
			{
				document.getElementById("selectedCategory").innerText = text;
				document.getElementById("selectedCategory").textContent = text;
			}
		}
		
};

var groupingTool =
{
	type:			0,
	id:				0,
	customer_id: 	0,
	name:			'',
	url: 			'/ajax/group/addtogroup',
	
	setCompany: function(customer_id)
	{
		this.customer_id = customer_id;
	},
	newProductMediaGroup: function(product_id)
	{
		this.type = 5;
		this.newGroup(product_id);
	},
	newProductSeriesGroup: function(name)
	{
		this.type = 4;
		this.newGroup(name);
	},
	newProductSetGroup: function(name)
	{
		this.type = 3;
		this.newGroup(name);
	},
	newProductGroup: function(name)
	{
		this.type = 2;
		this.newGroup(name);
	},
	newTopic: function(name)
	{
		this.type = 1;
		this.newGroup(name);
	},
	newGroup: function(name)
	{
		this.name=name;
	},
	addItem: function(item_id)
	{
		jQuery.ajax({
			url:this.url,
			type:"GET",
			data:{"type":this.type,
					"id":this.id,
					"customer_id":this.customer_id,
					"name":this.name
					},
			success: function(result) {
				
			}
			});
	}
}

var autocompleteSuggestor = 
{
	searchString: 		'',
	category_id: 		0,
	customer_id: 		0,
	url: 				'/ajax/',
	suggestionField: 	'suggestionField_',
	form_prefix:		'',
	
	getCategorySuggestion: function(obj)
	{
		this.url = "/ajax/group/categoryautocomplete";
		this.search = obj.value;
		this.suggestionField = 'suggestionField_';
		this.getSuggestions(obj);
		this.form_prefix = 'addProduct_';
	},
	getNewCategorySuggestion: function(obj)
	{
		this.url = "/ajax/group/categoryautocomplete";
		this.search = obj.value;
		this.suggestionField = 'suggestionFieldNew_';
		this.getSuggestions(obj);
		this.form_prefix = 'addCategory_';
	},
	chooseCategorySuggestion: function(obj)
	{
		var parts =  obj.id.split('_');
		var parent = obj.parentNode.parentNode;
		var parts2 = parent.id.split('_');
		parts[1]++;
		parts[1]--;
//		if(parts[1] > 0)
//		{
			document.getElementById(this.form_prefix + parts2[1] + '_id').value = parts[1];
			document.getElementById(this.form_prefix + parts2[1]).value = obj.innerHTML;
//			document.getElementById(this.form_prefix + parts2[1]).readonly = "readonly";
			//var readonly_attribute = document.createAttribute("readonly");
			//readonly_attribute.nodeValue = "readonly";
			//document.getElementById(this.form_prefix + parts2[1]).setAttributeNode(readonly_attribute);
//		}
//		else
//		{
//			document.getElementById(this.form_prefix + parts2[1]).value = '';
//			//document.getElementById(this.form_prefix + parts2[1]).removeAttribute("readonly");
//			document.getElementById(this.form_prefix + parts2[1]).focus();
//			document.getElementById(this.form_prefix + parts2[1] + '_id').value = 0;
//		}
		document.getElementById("newGroupIndicator").textContent = "";
		document.getElementById(this.suggestionField+parts2[1]).style.display = "none";
	},
	toggleCustomerId: function(id)
	{
		if(this.customer_id == id) 
		{
			this.customer_id = 0;
			
		}
		else 
		{
			this.customer_id = id;
		}
		
		/*if(this.customer_id == 0)
		{
			obj.style.color = "black";
		}
		else
		{
			obj.style.color = "red";
		}*/
		//var elem = document.getElementById('addProduct_group');
		//elem.value = '';
		//this.getCategorySuggestion(elem);
	},
	getSuggestions: function(obj)
	{
		jQuery.ajax({
			url:this.url,
			type:"GET",
			data:{"search":this.search,
					"category_id":this.category_id,
					"customer_id":this.customer_id
					},
			success: function(result) {
				var parts =  obj.id.split('_');
				var fieldId = autocompleteSuggestor.suggestionField+parts[1];
				document.getElementById(fieldId).style.display="block";
				document.getElementById(fieldId).innerHTML = result;
			}
			});
	}

}

//var categorySuggestionrootCategory = 0;
//
//function getCategorySuggestion(obj)
//{
//	jQuery.ajax({
//		url:"/ajax/group/categoryautocomplete",
//		type:"GET",
//		data:{"search":obj.value,
//				"category_id":categorySuggestionrootCategory},
//		success: function(result) {
//			var parts =  obj.id.split('_');
//			var fieldId = 'suggestionField_'+parts[1];
//			document.getElementById(fieldId).style.display="block";
//			document.getElementById(fieldId).innerHTML = result;
//		}
//		});
//}

//function chooseCategorySuggestion(obj)
//{
//	var parts =  obj.id.split('_');
//	var parent = obj.parentNode.parentNode;
//	var parts2 = parent.id.split('_');
//	document.getElementById('addProduct_' + parts2[1] + '_id').value = parts[1];
//	document.getElementById('addProduct_' + parts2[1]).value = obj.innerHTML;
//	document.getElementById('suggestionField_'+parts2[1]).style.display = "none";
//}


function getGroupSuggestion(obj, type, customerId)
{
	if(customerId=='' || type=='') return;
	
	jQuery.ajax({
		url:"/ajax/group/autocomplete",
		type:"GET",
		data:{"search":obj.value,
				"type":type,
				"customer_id":customerId},
		success: function(result) {
			var parts =  obj.id.split('_');
			var fieldId = 'suggestionField_'+parts[1];
			document.getElementById(fieldId).style.display="block";
			document.getElementById(fieldId).innerHTML = result;
		}
		});
}

function chooseGroupSuggestion(obj)
{
	var parts =  obj.id.split('_');
	var parent = obj.parentNode.parentNode;
	var parts2 = parent.id.split('_');
	document.getElementById('addProduct_' + parts2[1] + '_id').value = parts[1];
	document.getElementById('addProduct_' + parts2[1]).value = obj.innerHTML;
	document.getElementById('suggestionField_'+parts2[1]).style.display = "none";
}

function getSuggestions(obj)
{
	if(obj.value=='') return;
	
	jQuery.ajax({
		url:"/ajax/company/autocomplete",
		type:"GET",
		data:{"search":obj.value},
		success: function(result) {
			var parts =  obj.id.split('_');
			var fieldId = 'suggestionField_'+parts[1];
			document.getElementById(fieldId).style.display="block";
			document.getElementById(fieldId).innerHTML = result;
		}
		});
	
}
function chooseSuggestion(obj)
{
	var parts =  obj.id.split('_');
	var parent = obj.offsetParent;
	var parts2 = parent.id.split('_');
	jQuery.ajax({
		url:"/ajax/news/updatekuid",
		type:"GET",
		data:{"article_id": parts2[1],
			"company_id":parts[1]},
		success: function(result) {
			document.getElementById('suggestionField_'+parts2[1]).style.display="block";
			document.getElementById('suggestionField_'+parts2[1]).innerHTML = result;
		}
		});

	document.getElementById('suggestionField_'+parts2[1]).style.display="none";
	document.getElementById('suggestionCompany_'+parts2[1]).style.display="none";
	document.getElementById('chosenCompany_'+parts2[1]).innerHTML = obj.innerHTML;
	document.getElementById('chosenCompany_'+parts2[1]).style.display="inline";
	//TODO: save
}

function addToFavourite(type, id)
{
	jQuery.ajax({
		url:"/ajax/favourites/add",
		type:"GET",
		data:{"type": type,
			"id":id},
		success: function(result) {
			switchAddRemove();
			jQuery.ajax({
				url:"/ajax/favourites/getlist",
				type:"GET",
				data:{"type": type,
					"id":id,
					"category":selectedCategory},
				success: function(result) {
					favContent = result;
				}});
		}
		});
}

function switchAddRemove()
{
	document.getElementById("removeFromFav").style.display = 'inline';
	document.getElementById("addToFav").style.display = 'none';
}

function switchRemoveAdd()
{
	document.getElementById("addToFav").style.display = 'inline';
	document.getElementById("removeFromFav").style.display = 'none';
}

function removeFromFavourite(type, id)
{
	jQuery.ajax({
		url:"/ajax/favourites/remove",
		type:"GET",
		data:{"type": type,
			"id":id},
		success: function(result) {
			switchRemoveAdd();
			jQuery.ajax({
				url:"/ajax/favourites/getlist",
				type:"GET",
				data:{"type": type,
					"id":id,
					"category":selectedCategory},
				success: function(result) {
					favContent = result;
				}});
		}
		});
}

function ajaxContentLoading(name)
{
	name = '/ajax' + name;
	_gaq.push(['_trackPageview', name]);
}

function setArticleDeleted(id)
{
	var temp = document.getElementById("newsItem_"+id).style.background;
	document.getElementById("newsItem_"+id).style.background = "red";
	if(confirm('Element '+id+' wirklich löschen?'))
	{
		jQuery.ajax({
			url:"/ajax/news/setdeleted",
			type:"GET",
			data:{"article_id":id},
			success: function(result) {
				document.getElementById("newsItem_"+id).style.display ="none";
			}
		});
	}
	document.getElementById("newsItem_"+id).style.background = temp;
}

function switcheditmode()
{
	jQuery.ajax({
		url:"/ajax/user/switcheditmode",
		type:"GET",
		data:{"switch":1},
		success: function(result) {
			location.reload();
		}
		});
}

var storage;

function doLogin()
{
	var username = document.getElementById("username").value;
	var password = document.getElementById("password").value;

	if(username == '' || password == '') return;
	
	jQuery.ajax({
		url:"/ajax/user/login",
		type:"GET",
		data:{"username":username,
			"password":password},
		success: function(result) {
			location.reload();
		}
		});
}

function showDirectLogin()
{
	var parent = document.getElementById("loginstatus");
	storage = parent.innerHTML;
	parent.innerHTML = '<div style="position:relative; top:0px; left:0px; width:220px; background-color:white; height:100px; border:2px solid grey; padding:5px; z-index:1001;">'
						+'<span style="float:right; cursor:pointer;" onclick="javascript:closeDirectLogin();">X</span><br/>'
						+'<div style="padding:10px; display:block;"><form action="#" method="post"><label for="username">Username:</label>'
						+'<input style="height:24px; float:right;" type="text" id="username" name="username"/><br style="clear:both;"/>'
						+'<label for="password">Passwort:</label>'
						+'<input style="height:24px; float:right;" type="password" id="password" name="password"/>'
						+'<div style="float:right; cursor:pointer;" onclick="doLogin(); return false;"><a href="#">anmelden</a></div></form>'
						+'</div></div>';
	
}

function closeDirectLogin()
{
	var parent = document.getElementById("loginstatus");
	parent.innerHTML = storage;
}

function triggerPlatformSearch()
{
	if(document.getElementById('searchTerm').value == '' 
		|| document.getElementById('searchTerm').value =='Plattform durchsuchen') 
			return false;
	location.href='/?search='+((document.getElementById('searchTerm').value).replace('&','%26')).replace('+','%2B')+'&ctype='+jQuery('#searchCType').val(); 
}

var companyAjaxLoader =
{
		containerId : 'newsList',
		type : 0,	//? maybe used later on
		categoryId: 0 ,
		page: 1,
		filtertext: '',
		onlyWithProducts: 0,
		onlyWithVideos: 0,
		onlyWithArticles: 0,
		onlyFromCounty: 0,
		
		setFilterText: function (text)
		{
			this.filtertext = text;
		},
		reloadWithFilterText: function(text)
		{
			this.setFilterText(text);
			this.page = 1;
			if(text.length > 1 || text == '')
			{
				this.loadItems();
			}
		},
		setCategory: function(category)
		{
			this.categoryId = category;
		},
		loadItems: function()
		{
			jQuery.ajax({
				url:"/ajax/company/companylist",
				type:"GET",
				data:{
					"type":this.type,
					"category_id":this.categoryId,
					"page":this.page,
					"filtertext":this.filtertext,
					"productFilter":this.onlyWithProducts,
					"articleFilter":this.onlyWithArticles,
					"videoFilter":this.onlyWithVideos
					},
				success: function(result) {

					document.getElementById("searchImageTop").src = "/upload/files/search.png";
					document.getElementById(pagingContentNews.containerId).innerHTML = result;
					if(document.getElementById("counter_1") && document.getElementById("update_counter_1")) document.getElementById("counter_1").innerHTML = document.getElementById("update_counter_1").innerHTML;
					if(document.getElementById("counter_2") && document.getElementById("update_counter_2"))document.getElementById("counter_2").innerHTML = document.getElementById("update_counter_2").innerHTML;
					if(document.getElementById("counter_3") && document.getElementById("update_counter_3"))document.getElementById("counter_3").innerHTML = document.getElementById("update_counter_3").innerHTML;
					if(document.getElementById("counter_0") && document.getElementById("update_counter_0"))document.getElementById("counter_0").innerHTML = document.getElementById("update_counter_0").innerHTML;
					if(document.getElementById("counter_13") && document.getElementById("update_counter_13"))document.getElementById("counter_13").innerHTML = document.getElementById("update_counter_13").innerHTML;
						
					if(document.getElementById('jsredirect'))
					{
						location.href=document.getElementById('jsredirect').innerHTML;
						return;
					}	
					ajaxContentLoading('/news/category'+pagingContentNews.categoryId+'/type'+pagingContentNews.type+'/page'+pagingContentNews.page);
					if(companyAjaxLoader.page > 1) scrollTo(0,document.getElementById("main").offsetTop);
					document.getElementById("deleteLoadingImage").src = "/upload/images/delete.png";
				}
				});
		},

		gotoPage: function(page)
		{
			if(this.page == page) return;
			this.page= page;
			this.loadItems();
		}/*,
		
		switchToContent: function(type)
		{
			if(type==this.type) return;
			jQuery('#switch'+this.type).removeClass('switcha');
			jQuery('#switch'+this.type).addClass('switch');
			
			jQuery('#switch'+type).removeClass('switch');
			jQuery('#switch'+type).addClass('switcha');
			this.type=type;
			this.page = 1;
			this.loadItems();
		}	*/
};

