﻿var cList;
var cCalendar;
var cPrev;
var cNext;
var curMonth;
var curYear;
var curDate;
var cEvents = [];
var flashIsActive = true;
var tagcloudOpen = false;
var schnellzugriffOpen = false;
var cookieArr = [];
var cookiePeriod = 30; // 30 Tage
var szLinks;
var popups;
var productImgPath = '';
var tcOpener;
var tcHolder;
var tcClose;
var myIDs = ['branchen', 'produkte', 'marken'];
var dBody;
var inputSearch;
var btnSearch;
var oldBtnSrc;
var lang;
var showAllMonth = false;


window.addEvent('domready', function() {
	// Schnellzugriff
	szLinks = $$('.sz_leiste a');	
	if (szLinks.length > 0) {					
		// Img sprachlich anpassen
		lang = getLangString();
		// console.log("LANG:", lang);
		changeLanguageImages();
		changeLanguageStrings();
		
		popups = $$('#branchenpopup, #produktepopup, #markenpopup');
		var branchenCheckboxes = $$('#branchenpopup ul li div img');
		var branchenBtn = $('branchen_savebtn');
		var branchenBtnText = branchenBtn.getElement('span');
		
		
		// alle Items anzeigen
		var showAllItems = function() {
			branchenCheckboxes.each(function(cb) {
				markAsUnchecked(cb);
				var li = cb.getParent('li');
				li.setStyle('display','');
				Cookie.dispose('openItems');
			});
		};
				
		// nicht ausgewählte Items verbergen
		var hideUnmarkedItems = function() {
			var hiddenItem = false;
			branchenCheckboxes.each(function(cb) {				
				if (cb.hasClass("checkb")) {
					//console.log("CB :", cb);
					var li = cb.getParent('li');
					li.setStyle('display','none');
					hiddenItem = true;
				}
			});
			if (hiddenItem == true) {
				if (lang == "en") branchenBtnText.set('html', 'show all sectors');
				if (lang == "es") branchenBtnText.set('html', 'show all sectors');
				if (lang == "it") branchenBtnText.set('html', 'show all sectors');
				if (lang == "ru") branchenBtnText.set('html', 'show all sectors');
				if (lang == "zh") branchenBtnText.set('html', 'show all sectors');
				if (!$defined(lang) || lang == "") branchenBtnText.set('html', 'Alle Branchen anzeigen');
			}
		};
		
		// Cookie auslesen
		var fetchCookies = function() {
			var cookieStr = Cookie.read('openItems');
    	if ($chk(cookieStr)) {
	  		cookieArr = cookieStr.split(",");
	  	}
			//console.log("cookieArr :", cookieArr);
		};
		
		// Markierte Items in Cookie speichern		
		var saveMarkedToCookie = function() {
			branchenCheckboxes.each(function(cb) {
				if (cb.hasClass("checkb_checked")) {
					cookieArr.include(cb.id);
				}
				else {
					cookieArr.erase(cb.id);
				}
			});
			//console.log("cookieArr saved :", cookieArr);
			Cookie.write('openItems', cookieArr.join(","), cookiePeriod);		
		};
		
		// alle Popups einfahren
		var hideSchnellzugriff = function() {
			popups.each(function(popup) {
				popup.morph({ height: 0, opacity: 0 });
			});
			szLinks.each(function(szLink) {
				szLink.removeClass("aktiv");
			});
			undoFlashReplacement();	
			schnellzugriffOpen = false;		
		};					
		
		
		// Popups einklappen und sichtbar machen
		var initFastAccessPopups = function() {
			myIDs.each(function(id) {
				var popup = $(id+'popup');
				popup.morph({ height: 0, opacity: 0 });
				popup.setStyle('display', 'block');
			});
		};

		// Links scharfmachen
		var armFastAccessLinks = function(){
			szLinks.each(function(szLink){
				szLink.addEvent('click', function(evt){
					evt.stop();
					initFlashReplacement();
					if (tagcloudOpen == true) {
						popupHidetagcloud();						
					}
					var szLinkID = szLink.get("id");
					// console.log("szLinkID: ",szLinkID);
					var popup = $(szLinkID + 'popup');
					szLinks.each(function(el){
						if (el.hasClass("aktiv")) {
							var elID = el.get("id");				
							var myEffect = new Fx.Morph($(elID + 'popup'), {duration: 100});
							myEffect.start({
								'height': 0,
								'opacity': 0
							});
							el.removeClass("aktiv");
							var activeBgImg = el.style.backgroundImage;
							var normalBgImg = activeBgImg.replace(/_aktiv\.png/g, ".png");
							el.setStyle('backgroundImage', normalBgImg);
						}
					});
		
					popup.morph({ height: 466, opacity: 1 });
					szLink.addClass("aktiv");
					var normalBgImg = szLink.style.backgroundImage;
					var activeBgImg = normalBgImg.replace(/\.png/g, "_aktiv.png");
					szLink.setStyle('backgroundImage', activeBgImg);
					
					schnellzugriffOpen = true;
					initClickBodyAndHide();
				});				
			});
		};
		
		var markAsChecked = function(el) {				
			el.set("class", "checkb_checked");			
			el.removeEvents('mouseenter');
			el.removeEvents('mouseleave');				
			el.addEvent('mouseenter', function(evt) {
				el.set("class", "checkb_delete");
			});
			el.addEvent('mouseleave', function(evt) {
				el.set("class", "checkb_checked");
			});
		}
		var markAsUnchecked = function(el) {
			el.set("class", "checkb");			
			el.removeEvents('mouseenter');
			el.removeEvents('mouseleave');			
			el.addEvent('mouseenter', function(evt) {
				el.set("class", "checkb_save");
			});
			el.addEvent('mouseleave', function(evt) {
				el.set("class", "checkb");
			});
			
			
			
			if ((!$defined(lang) || lang == "") && branchenBtnText.get("html") != "Auswahl speichern") {
				branchenBtnText.set('html', 'Auswahl speichern');
			}
			if (lang == "en" && branchenBtnText.get("html") != "save selection") {
				branchenBtnText.set('html', 'save selection');
			}
			if (lang == "es" && branchenBtnText.get("html") != "save selection") {
				branchenBtnText.set('html', 'save selection');
			}
			if (lang == "it" && branchenBtnText.get("html") != "save selection") {
				branchenBtnText.set('html', 'save selection');
			}
			if (lang == "ru" && branchenBtnText.get("html") != "save selection") {
				branchenBtnText.set('html', 'save selection');
			}
			if (lang == "zh" && branchenBtnText.get("html") != "save selection") {
				branchenBtnText.set('html', 'save selection');
			}
		}
		
		var initSZ_Elements = function() {
			// Li Mouseover + Click Events			
			
			$$('#branchenpopup ul li a', '#produktepopup ul ul li a', '#markenpopup ul li a').each(function(ulLink) {
				var li = ulLink.getParent('li');
				ulLink.addEvent('mouseenter', function(evt) {
					li.addClass('mover');
				});
				ulLink.addEvent('mouseleave', function(evt) {
					li.removeClass('mover');
				});				
			});
			
			$$('#branchenpopup ul li a').each(function(ulLink) {
				// nach rechts zum Untermenu scrollen und Backbtn einblenden
				var li = ulLink.getParent('li');
				var subUl = li.getElement('ul');
				if ($defined(subUl)) {
					//console.log("subUl: ", subUl);
					li.addEvent('click', function(evt) {
						var scrollbox = $('branchenpopup').getElement('div.scrollbox_content');
						var backbtn = $('branchenpopup').getElement('a.dkbackbtn');
						var boxFx = new Fx.Tween(scrollbox);
						var ulFx = new Fx.Morph(subUl);
						boxFx.start('margin-left','-235px');		
						ulFx.start({
							'margin-left':'0px',
							'visibility':'visible',
							onComplete: function() {
								backbtn.setStyle('visibility', 'visible');
								backbtn.addEvent('click', function(evt){
								evt.stop();
								boxFx.start('margin-left','0px');		
								ulFx.start({
									'margin-left':'240px',
									'visibility':'hidden',
									onComplete: function() {
										backbtn.setStyle('visibility', 'hidden');
										backbtn.removeEvents();
									}
								});
							 });
							}
						});	
						var tar = (Browser.Engine.trident ? $(evt.target) : evt.target);
						if(!tar.getParent().hasClass('subList')) {
							evt.stop();
						}	
					});
				} // Ende if ($defined(subUl))
			});
			
			
			// Checkboxen
			branchenCheckboxes.each(function(ulImg){
				var id = ulImg.id;
				if (cookieArr.indexOf(id) != -1) {
					markAsChecked(ulImg);
				}
				else {
					markAsUnchecked(ulImg);
				}
				ulImg.addEvent('click', function(evt) {
					evt.stop();
					if (ulImg.hasClass("checkb_delete")) {
						markAsUnchecked(ulImg);
					}
					else {
						markAsChecked(ulImg);
					}	
				});
			});
			if (cookieArr.length > 0) {
				hideUnmarkedItems();
			}			
			
			//Speichern Button
			branchenBtn.addEvent('click', function(evt) {
				evt.stop();
				if (((!$defined(lang) || lang == "") && branchenBtnText.get("html") == "Auswahl speichern") ||
					  (lang == "en" && branchenBtnText.get("html") == "save selection") ||
						(lang == "es" && branchenBtnText.get("html") == "save selection") ||
						(lang == "it" && branchenBtnText.get("html") == "save selection") ||
						(lang == "ru" && branchenBtnText.get("html") == "save selection") ||
						(lang == "zh" && branchenBtnText.get("html") == "save selection")) {
					saveMarkedToCookie();
					hideUnmarkedItems();
				}
				else {
					showAllItems();
				}
			});
			

			
			
			
			// Produkte Popup			
			// Produkt Thumbnails anzeigen / ausblenden
			var showThumbnails = function() {
				$$('#produktepopup ul li a').each(function(thumbLink) {
					var rel = thumbLink.get("rel");
					// console.log("REL: ", rel);
					if ($chk(rel)) {
						var lastSlash = rel.lastIndexOf('/');
						//console.log("lastSlash:", lastSlash);
						var firstPart = rel.substr(0, lastSlash);
						var secondPart = rel.substr(lastSlash).replace(/.jpg/g, "_s.jpg");
						//console.log("firstPart:", firstPart, " - secondPart:", secondPart);
						//console.log("src :", firstPart + "/scaled" + secondPart);
					
						var thumb = new Element('img', {
							src: firstPart + "/scaled" + secondPart,
							alt: ''
						}).inject(thumbLink, 'top');
						thumbLink.getParent('li').addClass("hasthumb");
						thumbLink.getElement('span').addClass("tspan"); // IE Fix
					}
					thumbLink.removeEvents('mouseenter');
					thumbLink.removeEvents('mouseleave');
				});				
			};
			
			var hideThumbnails = function() {
				$$('#produktepopup ul li a').each(function(thumbLink) {
					var thumbimg = thumbLink.getElement('img');
					if (thumbimg) thumbLink.getElement('img').dispose();
					thumbLink.getParent('li').removeClass("hasthumb");
					thumbLink.getElement('span').removeClass("tspan"); // IE Fix
					
					var li = thumbLink.getParent('li');
					thumbLink.addEvent('mouseenter', function(evt) {
						li.addClass('mover');
					});
					thumbLink.addEvent('mouseleave', function(evt) {
						li.removeClass('mover');
					});					
				});
			};
			
			// Produkte Suchfeld
			var searchInp = $('productsearch');
			searchInp.addEvent('keyup', function(e){
				var v = searchInp.value.toLowerCase();				
				//v = v.replace(/ /g, "&nbsp;");
				//console.log("V: " + v);
				var productAs = $$('#produktepopup .scrollbox_content ul li a');        
				if (v.length > 0) {					
					productAs.each(function(a){
						var li = a.getParent('li');
						// var abc = li.getParent('li.abc');
            if (a.get('html').toLowerCase().indexOf(v) == -1) {
              li.setStyle('display','none');											
            }
            else {
              li.setStyle('display','');					
            }
          });
        }
        else {
          productAs.each(function(a){
						var li = a.getParent('li');
            li.setStyle('display','');						
          });
        }        
      });			
			
		// Thumbnails einblenden
		var thumbnailtoggle = $('thumbnailtoggle');
		thumbnailtoggle.addEvent('click', function(evt){
			evt.stop();
			if (thumbnailtoggle.hasClass("thumbs")) {
				thumbnailtoggle.set({
					"class": "list",
					"html" : "Liste"
				});					
				showThumbnails();
			}
			else {
				thumbnailtoggle.set({
					"class": "thumbs",
					"html" : "Thumbnails"
				});
				hideThumbnails();
			}			
		});
			
			
			// Marken Popup
			var markenLinks = $$('#markenpopup ul li a');
			markenLinks.each(function(ulLink) {
				// nach rechts zum Untermenu scrollen und Backbtn einblenden
				var li = ulLink.getParent('li');
				var subUl = li.getElement('ul');
				if ($defined(subUl)) {
					//console.log("subUl: ", subUl);
					li.addEvent('click', function(evt) {
						//evt.stop();
						var scrollbox = $('markenpopup').getElement('div.scrollbox_content');
						var backbtn = $('markenpopup').getElement('a.dkbackbtn');
						var scrollFX = new Fx.Scroll($('markenpopup').getElement('div.scrollbox_main'));
						
						var boxFx = new Fx.Tween(scrollbox, {
							onComplete: function() {
								scrollFX.toTop();
							}
						});					
						var ulFx = new Fx.Morph(subUl);						
						boxFx.start('margin-left', '-235px');		
						ulFx.start({
							'margin-left':'0px',
							'visibility':'visible',
							onComplete: function() {
								backbtn.setStyle('visibility', 'visible');
								backbtn.addEvent('click', function(evt){
								evt.stop();
								boxFx.start('margin-left','0px');		
								ulFx.start({
									'margin-left':'240px',
									'visibility':'hidden',
									onComplete: function() {
										backbtn.setStyle('visibility', 'hidden');
										backbtn.removeEvents();
									}
								});
							 });
							}
						});
						
						var tar = (Browser.Engine.trident ? $(evt.target) : evt.target);
						if(!tar.getParent('li').hasClass('subList2')) {
							evt.stop();
						}		
					});
				} // Ende if ($defined(subUl))
			});
			
			$$('#markenpopup .iconbox a').each(function(icon){
				var deactivate;
				icon.addEvent('click', function(evt) {
					evt.stop();
					var iconImg = icon.getElement('img');
					deactivate = iconImg.get("alt");
					//console.log("deactivate :", deactivate);
					if (iconImg.src.indexOf("_deact") != -1) {
						iconImg.set("src", iconImg.src.replace(/_headerlogo_deact/g, "_headerlogo"));
						markenLinks.each(function(mLink) {
							var img = mLink.getElement('img');
							if ($defined(img) && img.get("alt") == deactivate) {
			  				var li = mLink.getParent('li');
								if (li.style.display == 'none') {
									li.setStyle('display','');
								}
			  			}
						});
					}
					else {
						iconImg.set("src", iconImg.src.replace(/_headerlogo/g, "_headerlogo_deact"));
						markenLinks.each(function(mLink) {
							var img = mLink.getElement('img');
							if ($defined(img) && img.get("alt") == deactivate) {
								mLink.getParent('li').setStyle('display','none');
							}
						});
					}
				});
			});
			
			// Kategorienamen an URL anhängen
			$$('#produktepopup ul ul li a', '#markenpopup ul li a').each(function(tcl){
				var href = tcl.get("href");
				var text = tcl.getElement('span').get("html");
				tcl.set("href", href + '?catname=' + escape(text));
			});

			
		}; // Ende initSZ_Elements
		
		
		fetchCookies();
		initFastAccessPopups();
		armFastAccessLinks();
		initSZ_Elements();

		
	} // Ende Schnellzugriff
	

	// Tagcloud 
	
	tcOpener = $('tagcloudopener');
   tcHolder = $('tagcloudholder');
   tcClose = $('tagcloudclose');    
   /*
   if ($('tcsearchcontainer')) {
   	var inputSearch = document.getElement('#tcsearchcontainer input.tctext');
   	var goBtn = document.getElement('#tcsearchcontainer input[type=image]');
   	
   	 
   	var url = '/portaldata/1/customization/ajaxSearch/ajaxresponsetest.aspx?sprach=' + $('sprache').value;
    	if (parent.frames.length < 2) {
        new Autocompleter.Request.HTML(inputSearch, url, {minLength: 3, maxChoices: 10});
    	} 
   	

	
		inputSearch.addEvents({		
			'focus' : function() {
				inputSearch.setStyle('background', '#dadcdc');
			},
			'blur' : function() {
				if(inputSearch.value == "") {
					inputSearch.setStyles({
						'backgroundColor' : '#ebeced',
						'backgroundImage' : 'url(/portaldata/1/resources/_intern/pix/suchen_bg.gif)',
						'backgroundRepeat' : 'no-repeat',
						'backgroundPosition' : '5px 4px'
					});
				}
				else {
					inputSearch.setStyle('background', '#ebeced');
				}		
		 	}		
		});	
	
		goBtn.addEvents({
			'mouseenter' : function() {
				this.set('src', '/portaldata/1/resources/_intern/pix/suchen_neu_over.gif');
			},
			'mouseleave' : function() {
				this.set('src', '/portaldata/1/resources/_intern/pix/suchen_neu.gif');
			}
		});
		
	}*/
      
   if (tcHolder) {      
      tcOpener.addEvent('mouseover', function() {
         this.set('src', 'portaldata/1/resources/_intern/pix/tagcloudopener_over.gif');
      });
      tcOpener.addEvent('mouseout', function() {
         this.set('src', 'portaldata/1/resources/_intern/pix/tagcloudopener.gif');
      });
      tcOpener.addEvent('click', function(event) {	
      	event.stop();
         if (tcHolder.style.visibility == 'visible') {
           closeTagcloud();
         }
         else {								
           openTagcloud();	
           initClickBodyAndHide();
         }
      });
			$$('.tagcloud1, .tagcloud2, .tagcloud3, .tagcloud4, .tagcloud5, .tagcloud6').each(function(tcl){
				var href = tcl.get("href");
				var text = tcl.get("html");
				tcl.set("href", href + '?catname=' + escape(text));
			});
	}
	
	var catSpan = $('catname');
	var categoryname = GET('catname');
	
	// console.log("categoryname :", categoryname);
	
	if (catSpan) {
		if (categoryname != 'undefined') {
			catSpan.set("html", categoryname);
		}
		else {
			$('tcresultheader').setStyle('display','none');
		}
	}
	
	// Messekalender
	if ($('sz_kalender')) {		
		readEventListItems();
		buildCalendar();
		initCalendarPaging();		
	}	
	
	// Squeezebox initialisieren
	SqueezeBox.assign($$('a.boxed'), {
		parse: 'rel'
	}); 
	
	
	

		
	
}); // Ende domready

var changeLanguageImages = function() {
	if (lang != "") {
		//console.log("LANG: ", lang);
  	myIDs.each(function(id){
			var el = $(id);
			var bgImg = el.style.backgroundImage;
			//console.log("bgImg:",bgImg);
			var langBgImg = bgImg.replace(/\.png/g, "_" + lang + ".png");
			el.setStyle('backgroundImage', langBgImg);
  	});
		
		var allGifs = $$('#schnellzugriff img.h3img', '#schnellzugriff img.popupheader');
		allGifs.each(function(gif) {
			gif.src =gif.src.replace(/\.gif/g, "_" + lang + ".gif");
		});	
  }
};

var changeLanguageStrings = function() {
	if (lang != "") {
		$$('a.dkbackbtn span').each(function(mySpan) {
			if (lang == "en") mySpan.set('html', 'back');
			if (lang == "es") mySpan.set('html', 'back');
			if (lang == "it") mySpan.set('html', 'back');
			if (lang == "ru") mySpan.set('html', 'back');
			if (lang == "zh") mySpan.set('html', 'back');			
		});
	}
};



function closeTagcloud() {
  tcHolder.setStyles({
	 'visibility': 'hidden'
  });
  tcClose.setStyles({
	 'visibility': 'hidden'
  });
  /*
  $$('.tagcloud1, .tagcloud2, .tagcloud3, .tagcloud4, .tagcloud5, .tagcloud6').setStyles({
	 'visibility': 'hidden'
  });
  */
  if($('flashcontent')) {     		
		var so = new SWFObject("/portaldata/1/resources/flash/slideshow/slideshow.swf", "slideshow", "646", "394", "8", "#444444");
		so.addVariable("path", "/portaldata/1/resources/flash/slideshow/startpage/slideshow_de.xml");
		so.write("flashcontent");
	}
	tagcloudOpen = false;
}

function openTagcloud() {
	tagcloudHideSchnellzugriff();
	if($('flashcontent')) {
		$('flashcontent').set('html', '<img height="394" alt="Horns Rev2" src="Portaldata/1/Resources/_intern/pix/transparent.gif" width="646" />');
		$('flashcontent').setStyles({
			'background': '#ededee url(Portaldata/1/Resources/flash/slideshow/startpage/KeyVisualOnload_HornsRev_de.jpg) no-repeat',
			'position': 'relative'
		});
	}						
  	tcHolder.setStyles({
	 	'visibility': 'visible'
  	});
  	tcClose.setStyles({
	 	'visibility': 'visible'
  	});
  	tcClose.addEvent('click', function(e) {
	 	closeTagcloud();
	 	e.stop();
  	});
  	var tca = $$('div.tagcloud a');
  	var inp = $('tcainput');
  	if (inp.value != '') {
	 	inp.value = '';
	 	tca.each(function(a){
			a.style.visibility = 'visible';
	 	});
  	}						
  	inp.focus();
  	var v = inp.value.toLowerCase();						
     
  	inp.addEvent('keyup', function(e) {
	 	var v = inp.value.toLowerCase();
	 	// console.log("V: " + v);
	 	v = v.replace(/ /g, "&nbsp;");
	 	if (v.length > 0) {
			tca.each(function(a) {
		  		if (a.get('html').toLowerCase().indexOf(v) == -1) {
			 		a.style.visibility = 'hidden';
		  		}
		  		else {
			 		a.style.visibility = 'visible';
		  		}
			});
	 	}
	 	else {
			tca.each(function(a) {
		  		a.style.visibility = 'visible';
			});
	 	}
  	});
  	tagcloudOpen = true;
}

var bodyClickAndHide = function(evt) {
	if (Browser.Engine.trident) {
		var tar = $(evt.target);
	}
	else {
		var tar = evt.target;
	}
	// alert("TAR: " + tar + " - TAR.ID: " + tar.id);	

	if ($('schnellzugriff')) {
		if (popups.indexOf(tar) == -1 && myIDs.indexOf(tar.id) == -1 && !tar.getParent('#branchenpopup') 
			&& !tar.getParent('#produktepopup') && !tar.getParent('#markenpopup')
			&& !tar.getParent('#tagcloudholder') && tar != $('tagcloudopener') &&!tar.getParent('#tagcloudopener')) {	
				// evt.stop();				
				tagcloudHideSchnellzugriff();
				closeTagcloud();
				dBody.removeEvent('click', bodyClickAndHide);
		}
		else {
			if (!tar.getParent('#tagcloudholder') && tar != $('tagcloudopener') &&!tar.getParent('#tagcloudopener')) {
				evt.stop();
				closeTagcloud();
				dBody.removeEvent('click', bodyClickAndHide);
			}
		}
	}
};

// Click außerhalb eines Popups und des dazugeho¨rigen Links schließt alle Popups
var initClickBodyAndHide = function() {
	var body = document.getElement('body').addEvent('click', function(evt) {	
		if (Browser.Engine.trident) {
			var tar = $(evt.target);
		}
		else {
			var tar = evt.target;
		}
		// alert("TAR: " + tar + " - TAR.ID: " + tar.id);	
		if ($('schnellzugriff')) {
			if (popups.indexOf(tar) == -1 && myIDs.indexOf(tar.id) == -1 && !tar.getParent('#branchenpopup') 
				&& !tar.getParent('#produktepopup') && !tar.getParent('#markenpopup')
				&& !tar.getParent('#tagcloudholder') && tar != $('tagcloudopener') &&!tar.getParent('#tagcloudopener')) {					
					tagcloudHideSchnellzugriff();
					closeTagcloud();
					body.removeEvents('click');
				}
			}
			else {
				if (!tar.getParent('#tagcloudholder') && tar != $('tagcloudopener') &&!tar.getParent('#tagcloudopener')) {					
					closeTagcloud();
					body.removeEvents('click');
				}
			}
	});
};


var initFlashReplacement = function() {
	//alert("init flashIsActive: " + flashIsActive);
	//if (flashIsActive == true) {
	if ($('flashcontent')) {
  		$('flashcontent').set('html', '<img height="394" alt="" src="portaldata/1/resources/_intern/pix/transparent.gif" width="646" />');
  		$('flashcontent').setStyles({
  			'background': '#ededee url(Portaldata/1/Resources/flash/slideshow/startpage/KeyVisualOnload_HornsRev_en.jpg) no-repeat',
  			'position': 'relative'
  		});
  		flashIsActive = false;
  }
}

var undoFlashReplacement = function() {
	//alert("undo flashIsActive: " + flashIsActive);
	//if (flashIsActive == false) {
	if ($('flashcontent')) {
  		var so = new SWFObject("portaldata/1/resources/flash/slideshow/slideshow.swf", "slideshow", "646", "394", "8", "#444444");
  		so.addVariable("path", "portaldata/1/resources/flash/slideshow/slideshow_de.xml");
  		so.write("flashcontent");
  		flashIsActive = true;
   }
};

// alle Popups einfahren, wenn Tagcloud o¨ffnet
var tagcloudHideSchnellzugriff = function() {
	if ($defined(popups)) {
		popups.each(function(popup) {
			popup.morph({ height: 0, opacity: 0 });
		});
		szLinks.each(function(szLink) {
			szLink.removeClass("aktiv");
			var activeBgImg = szLink.style.backgroundImage;
			var normalBgImg = activeBgImg.replace(/_aktiv\.png/g, ".png");
			szLink.setStyle('backgroundImage', normalBgImg);
		});	
	}
	schnellzugriffOpen = false;
};	

var popupHidetagcloud = function() {
	tcHolder.setStyles({
		'visibility': 'hidden'
	});
	tcClose.setStyles({
		'visibility': 'hidden'
	});
	tagcloudOpen = false;
};

var dotStringToDate = function(s) {
	var dA = s.split(".");
	return new Date(dA[2], dA[1]-1, dA[0]);
};


var showHideEventItems = function() {
	var eItems = $$('.productcategory table.messe');
	//console.log(eItems.length);
	eItems.each(function(tb) {
		var spacer = tb.getPrevious('div.messeSpacer');
		//console.log("SPACER", spacer);
		var tbDate = tb.getElement('th.date').get('html');
		//console.log("tbDate", tbDate);		
		tbDateArr = tbDate.split(" - ");
		
		tbDateArr[0] = convertToGermanDateFormat(tbDateArr[0]);
		tbDateArr[1] = convertToGermanDateFormat(tbDateArr[1]);
		
		var tbStartMonth = tbDateArr[0].substr(3, 2).toInt() - 1;		
		var tbEndMonth = tbDateArr[1].substr(3, 2).toInt() - 1;		
		var tbStartYear = tbDateArr[0].substr(6, 4).toInt();
		var tbEndYear = tbDateArr[1].substr(6, 4).toInt();
		
		//console.log("curYear :", curYear, " - tbStartYear: ", tbStartYear, " - tbEndYear: ", tbEndYear);		
		if ((tbStartMonth == curMonth || tbEndMonth == curMonth) && (tbStartYear == curYear || tbEndYear == curYear)) {
			//console.log("TB", tb);
			tb.setStyle('display', '');
			spacer.setStyle('display' , '');
		}
		else {
			tb.setStyle('display', 'none');
			spacer.setStyle('display' , 'none');
		}
	});
};


var showHideEventItemsWithDateFromUrl = function() {
	var dateFromURL = GET("d");
	//console.log("dateFromURL:", dateFromURL);
	var dateFromQuery = dotStringToDate(dateFromURL);
	//console.log("dateFromQuery:", dateFromQuery);	
	
	var eItems = $$('.productcategory table.messe');
	//console.log(eItems.length);
	
	eItems.each(function(tb) {
		var spacer = tb.getPrevious('div.messeSpacer');
		//console.log("SPACER", spacer);
		var tbDate = tb.getElement('th.date').get('html');
		//console.log("tbDate", tbDate);
		tbDateArr = tbDate.split(" - ");
		
		tbDateArr[0] = convertToGermanDateFormat(tbDateArr[0]);
		tbDateArr[1] = convertToGermanDateFormat(tbDateArr[1]);
		//console.log("tbDateArr", tbDateArr);
		
		var eventStartDate = dotStringToDate(tbDateArr[0]);
		var eventEndDate = dotStringToDate(tbDateArr[1]);
		//console.log("eventStartDate :", eventStartDate);
		//console.log("eventEndDate :", eventEndDate);
	
		if (eventStartDate <= dateFromQuery && eventEndDate >= dateFromQuery) {
			//console.log("TB", tb.getElement('th.title').get('html'));
			tb.setStyle('display', '');
			spacer.setStyle('display' , '');
		}
		else {
			//console.log("TB", tb.getElement('th.title').get('html'));
			tb.setStyle('display', 'none');
			spacer.setStyle('display' , 'none');
		}
	});
};




var readEventListItems = function() {
	var items = $$('div#sz_kalender .eventlistitem');
	//console.log("items.length", items.length);
	items.each(function(it) {
		var fromDate = convertToGermanDateFormat(it.getElement('span.from').get('html'));
		//console.log("fromDate :", fromDate);
		var toDate = convertToGermanDateFormat(it.getElement('span.to').get('html'));
		//console.log("toDate :", toDate);
		var moreLink = it.getElement('span.morelink').get('html');
		var title = it.getElement('span.title').get('html');
		var preview = it.getElement('span.preview').get('html');
		// console.log("fromDate", fromDate, "toDate", toDate, "moreLink", moreLink, "title", title, "preview", preview);
		cEvents[fromDate] = [toDate, moreLink, title, preview];
		// console.log("cEvents[fromDate]", cEvents[fromDate]);
	});
};


var buildCalendar = function(cMonth, cYear) {
	// console.log("ANKOMMEND: ", cMonth, cYear);
	cList = $('sz_eventlist');
	cCalendar = $('sz_kalender');
	lang = getLangString();
	switch (lang) {
		case "en": var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
							 break;
		
		case "es": var months = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];
							 break;
							 
		case "it": var months = ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'];
							 break;
							 
		case "ru": var months = ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'];
							 break;
							 
		case "zh": var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
							 break;
						
		default: var months = ['Januar', 'Februar', 'M&auml;rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
							 break;
	}
	
	var dim = [31,0,31,30,31,30,31,31,30,31,30,31];
	
	if (!$defined(cMonth)) {
		var oD = new Date();
	}
	else {
		var oD = new Date(cYear, cMonth, 1);
	}
	curMonth = oD.getMonth();
	curYear = oD.getFullYear();
	// console.log(oD.getMonth(), oD.getFullYear());
	dim[1] = (((curYear%100 != 0) && (curYear%4 == 0))||(curYear%400 == 0)) ? 29 : 28;	
	var cnt = dim[curMonth];
	$('monthyear').set('html', months[curMonth] + " " + curYear);
	
	var oldUl = cList.getElement('ul');	
	if (oldUl) {
		oldUl.dispose();
	}	
	
	var ul = new Element('ul');
	for (var i = 1; i <= cnt; i++) {
		var li = new Element('li');		
		curDate = buildDate(i, curMonth+1, curYear);
		//console.log("cEvents[curDate]", cEvents[curDate]);
		if ($defined(cEvents[curDate])) {
			// "04.06.2010", "desktopdefault.aspx/tabid-1003/1113_read-3/date-3/", "MesseTest", "TestVorschau"
			var myTitle = cEvents[curDate][2] + '::'+ cEvents[curDate][3] + '<br/>' + curDate + (cEvents[curDate][0] == '' ? '' : ' - ' +  cEvents[curDate][0]);
			
			var eventLink = new Element('a' , {
				'href' : 'desktopdefault.aspx/tabid-1003?d='+curDate,
				//'href' : '/rhinternet/messen.html?d='+curDate,
				'class' : 'caltip',
				'title' : myTitle,
				'events' : {
					//mouseenter : function(evt) {	this.tween('font-size', '16px'); },		
					//mouseleave : function(evt) {	this.tween('font-size', '10px'); }
				}			
			});
			var dSpan = new Element('span', {
				'html' : i
			}).inject(eventLink);
			eventLink.inject(li);
			li.inject(ul);
		}
		else {
			li.set('html', i).inject(ul);
		}
	}
	ul.inject(cList);
	setupCalendarTips();
	showHideEventItemsWithDateFromUrl();
	//console.log("showAllMonth :", showAllMonth);
	if(showAllMonth === true) {
		showHideEventItems();
	}	
};

var convertToGermanDateFormat = function(d) {
	// mögliche Formate 29.08.2010, 29/08/2010, 2010/8/29
	if (d.indexOf(".") != -1) return d; //passt scho
	if (d.indexOf("/") != -1) {
		var dA = d.split("/");
		if (dA[0].length == 4) {
			return buildDate(dA[2], dA[1], dA[0]);
		}
		else {
			return buildDate(dA[0], dA[1], dA[2]);
		}
	}
};


var buildDate = function(d, m, y) {
	d = d.toInt();
	m = m.toInt();
	var dString = '';
	dString += (d < 10 ? '0'+d : d)+'.'+(m < 10 ? '0'+m : m)+'.'+y;
	return dString;
};


var initCalendarPaging = function() {
	cPrev = cCalendar.getElement('#prevmonth');
	cNext = cCalendar.getElement('#nextmonth');
	cPrev.addEvent('click', function(evt) {
		evt.stop();			
		showAllMonth = true;
		var prevMonth = curMonth - 1;
		var prevYear = curYear;		
		if (prevMonth == 0) {
			prevMonth = 12;
			prevYear = curYear -1;
		}
		buildCalendar(prevMonth, prevYear);		
	});
	
	cNext.addEvent('click', function(evt) {
		evt.stop();			
		showAllMonth = true;
		var nextMonth = curMonth + 1;
		var nextYear = curYear;		
		if (nextMonth == 13) {
			prevMonth = 1;
			nextYear = curYear + 1;
		}
		buildCalendar(nextMonth, nextYear);		
	});
};


var setupCalendarTips = function() {	
	var calTipz = $$('.caltip');
	if (calTipz.length > 0) {
		calTipz.each(function(element,index) {
			var title = element.get("title");
			if ($chk(title)) {
				var content = title.split('::');
				element.store('tip:title', content[0]);
				element.store('tip:text', content[1]);
			}			
		});			
	}	
	var myTips = new Tips('.caltip',{
		text : 'rel',
		className: 'calendartip',
		fixed: true,
		offsets: {'x': 18, 'y': -64}
	});
};


var GET = function(k) {
	var strGET = document.location.search.substr(1,document.location.search.length);
	var myArr = [];
	if (strGET != '') {
		var gArr = strGET.split('&');
		for(i=0; i<gArr.length; ++i) {
	    var v = '';
	    var vArr = gArr[i].split('=');
	    if (vArr.length > 1){
	    	v = vArr[1];
	    }			
	    myArr[unescape(vArr[0])] = unescape(v);			
	  }
	}
	if (!myArr[k]) {
		return 'undefined';
	}
	else {
		return myArr[k];
	}	
};

var getLangString = function() {
	//console.log("Location:", document.location.pathname);
	var pathname = document.location.pathname;
	if (pathname.indexOf("/de/") != -1) return "";
	if (pathname.indexOf("/es/") != -1) return "es";
	if (pathname.indexOf("/it/") != -1) return "it";
	if (pathname.indexOf("/zh/") != -1) return "zh";
	if (pathname.indexOf("/ru/") != -1) return "ru";
	return "en";
};






