﻿// JavaScript Document

window.addEvent('domready', function() {

	// function von p.d.
	//berechnung der breiten einzelner submenü div's
	//und max-höhen berechnung der submenü ul's
	//zur korrekten darstellung des hauptmenüs
	var subMenuElements = $('tyrMainMenu').getElements('div.subitems');
	for (i=0;i<subMenuElements.length;i++){
		var subUls = subMenuElements[i].getElements('ul');
		var maxHeight = 0;
		subMenuElements[i].style.display = "block";
		for(j=0;j<subUls.length;j++){
			maxHeight = Math.max(maxHeight, subUls[j].getSize().y);
		}
		for(j=0;j<subUls.length;j++){
			subUls[j].setStyle('height',maxHeight);
		}
		subMenuElements[i].style.display = "";
		subMenuElements[i].setStyle('width',subUls.length*161-1);
	}

									 
	 if ($('tyrSecMain')){
		// function von p.d.
		// added click-behaviour zu den "more"p's der beschreibungen,
		// passt die height information an, blendet den p aus und die info ein
		var moreElements = $('tyrSecMain').getElements('p.showmore');
		for (var i=0; i<moreElements.length;i++){
			moreElements[i].addEvent('click', function(){
			   this.getNext('div.moreinfotext').setStyle('display','block');
			   this.setStyle('display','none');
			   this.getNext('p.hidemore').setStyle('display','block');
			   var theElement = this.getParent('.element');
			   if(theElement != null){
				   theElement.setStyle('height','auto');
				   theElement.setStyle('height',theElement.getSize().y);
			   }
		   });
		}
		// function von p.d.
		// added click-behaviour zu den "less"p's der beschreibungen,
		// passt die height information an, blendet den p und die info aus
		var lessElements = $('tyrSecMain').getElements('p.hidemore');
		for (var i=0; i<lessElements.length;i++){
			lessElements[i].addEvent('click', function(){
			   this.getNext('div.moreinfotext').setStyle('display','none');
			   this.setStyle('display','none');
			   this.getPrevious('p.showmore').setStyle('display','block');
			   var theElement = this.getParent('.element');
			   if(theElement != null){
				   theElement.setStyle('height','auto');
				   theElement.setStyle('height',theElement.getSize().y);
			   }
		   });
		}

		// function von p.d.
		// added click-behaviour zu den listeneintragen der rubrikmenüs,
		// passt die height informationen an und speichert den height-wert des div.elements für korrektes accordion
		var infoElements = $('tyrSecMain').getElements('a.showinfo');
		for (var i=0; i<infoElements.length;i++){
			infoElements[i].addEvent('click', function(){
			   if(Browser.Engine.trident){
				   this.getParent('.menu').setStyle('position','relative');
				}
			   var theInfo = this.getNext();
			   this.getParent('.sectmenu').setStyle('height','0');
			   theInfo.setStyle('display','block');
			   this.getParent('.menuholder').setStyle('height',theInfo.getStyle('height').toInt()+10);
			   var theElement = this.getParent('.element');
			   theElement.setStyle('height','auto');
			   theElement.setStyle('height',theElement.getSize().y);
		   });
		}
	
		// function von p.d.
		// added click-behaviour zu den closebuttons der detailinfos,
		// passt die height informationen an und restored den height-wert des div.elements für korrektes accordion
		var closeElements = $('tyrSecMain').getElements('a.closeinfo');
		for (var i=0; i<closeElements.length;i++){
			closeElements[i].addEvent('click', function(){
			   if(Browser.Engine.trident){
				   this.getParent('.menu').setStyle('position','static');
				}
			   this.getParent('.menuholder').setStyle('height','auto');
			   this.getParent('.sectmenu').setStyle('height','auto');
			   this.getParent('.detailinfo').setStyle('display','none');
			   var theElement = this.getParent('.element');
			   theElement.setStyle('height','auto');
			   theElement.setStyle('height',theElement.getSize().y);
		   });
		}
	 }

	// function von p.d.
	// merken offenes accordion je ID per cookie
	var accOpen = -1;
	if (window.location.search.indexOf('vpath=produkte') != -1){
		var checkCookieUrl = window.location.search.split('&');
		var prodGenId = 0;
		for (i=1;i<checkCookieUrl.length;i++){
			if(checkCookieUrl[i].indexOf('genericpageid')!=-1){
				prodGenId = parseInt(checkCookieUrl[i].split('=')[1]);
			}
		}
		
		if (readCookie('tyrolitsect'+prodGenId) == null){
			createCookie('tyrolitsect'+prodGenId,-1);
		} else {
			accOpen = readCookie('tyrolitsect'+prodGenId).toInt();
		}
	}

	// function von p.d.
	// auslesen URL Parameter zum direkten öffnen eines accordions
	var checkCatOpen = window.location.search.split('&');
	//var accOpen = -1;
	for (i=1;i<checkCatOpen.length;i++){
		if(checkCatOpen[i].indexOf('showCat')!=-1){
			accOpen = parseInt(checkCatOpen[i].split('=')[1]);
		}
	}
	// implement accordion function
	var myAccordion = new Fx.Accordion('h3.toggler', 'div.element', {
		opacity: false,
		display: -1,
		show:accOpen,
		alwaysHide: true,
		onActive: function(toggler, element){
			toggler.setStyle('color', '#008BD2');
			toggler.style.backgroundPosition = '706px -24px';
			createCookie('tyrolitsect' + prodGenId,toggler.id.substr(3)-1);
			/* Accordion in den Bereichsansichten: Beim Öffnen soll der Suchassistent bereinigt werden! */
			var xhr = vxJS.xhr(
				{ uri: "/modules/communication/suchassistent.cfc?method=reset"},
					null,
					null,
					{ }
			).submit();
			var elements = $$('li.suchassistentkategorie');
			for (j = 0; j < elements.length; ++j) {
				vxJS.dom.removeClassName(elements[j],'selected');
				vxJS.dom.removeClassName(elements[j],'disabled');
				vxJS.dom.addClassName(elements[j],'enabled');
			}
			if(typeof resetSuchassistentResult == "function") resetSuchassistentResult();
			/* // Accordion in den Bereichsansichten: Beim Öffnen soll der Suchassistent bereinigt werden! */
		},
		onBackground: function(toggler, element){
			toggler.setStyle('color', '#564B47');
			toggler.style.backgroundPosition = '706px 6px';
		}
	});
	
	
	// Auto-Suggest
	var autosuggestProduct = document.getElementById('autosuggestProduct');
	var autosuggestKey = document.getElementById('autosuggestKey');
	if(autosuggestProduct && autosuggestKey){
		
		var suggest = vxJS.widget.autoSuggest(
			autosuggestProduct,
			{
				uri: "modules/communication/autosuggest.cfc?method=suggestproducts",
				command: "",
				timeout: 30000
			},
			{
				maxEntries: 15,
				searchMode: true,
				keyElem: autosuggestKey
			}
		);
		
		suggest.show = function() { vxJS.element.register(this).fx("fade", { to: 1, duration: 1.3}) };
		suggest.hide = function() { vxJS.element.register(this).fx("fade", { to: 0, duration: 1.3 }) };

		vxJS.event.addListener(autosuggestProduct, "hide",	function() {
			return function() {
				suggest.hide();
			};
		}(i));
		vxJS.event.addListener(suggest, "choose", function() {
			return function() {
				document.getElementById('tyrProdSucheForm').submit();
			};
		}(i));
		
		/*
		vxJS.event.addListener(suggest, "entryPick", function() {
			return function() {
				var picked = this.getEntryPicked();
				autosuggestKey.value = picked.key;
				this.hide();
			};
		}(i));
		*/

		/*
		vxJS.event.addListener(suggest, 'hide', function() {
			productSelected(suggest);
		});
		*/
	}
	
	/*
	function productSelected(suggest){
		var key = document.getElementById('suggestKey').value;
	}
	*/
	
});

// Typoersetzung mittels cufon
Cufon.replace('p.picsub');
Cufon.replace('#bfcMainMenu p.main',{hover:true});


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split('; ');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i].trim();
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) {
			return c.substring(nameEQ.length,c.length);
			console.log(myAccordion);
		}
	}
	return null;
}



/*

function changeList(none,block){
	
	document.getElementById(none).style.display = "none";
	document.getElementById(block).style.display = "block";
	
}

window.addEvent('domready', function(){


	if($('elementSubBeschrExit1a')) $('elementSubBeschrExit1a').addEvent('click', function(){changeList('elementSubBeschr1a','elementSubCatMainMenu1')});
	if($('elementSubBeschrExit1b')) $('elementSubBeschrExit1b').addEvent('click', function(){changeList('elementSubBeschr1b','elementSubCatMainMenu1')});
	if($('elementSubBeschrExit1c')) $('elementSubBeschrExit1c').addEvent('click', function(){changeList('elementSubBeschr1c','elementSubCatMainMenu1')});
	
	if($('elementSubBeschrExit2a')) $('elementSubBeschrExit2a').addEvent('click', function(){changeList('elementSubBeschr2a','elementSubCatMainMenu2')});
	if($('elementSubBeschrExit2b')) $('elementSubBeschrExit2b').addEvent('click', function(){changeList('elementSubBeschr2b','elementSubCatMainMenu2')});
	if($('elementSubBeschrExit2c')) $('elementSubBeschrExit2c').addEvent('click', function(){changeList('elementSubBeschr2c','elementSubCatMainMenu2')});
	
	if($('elementSubBeschrExit3a')) $('elementSubBeschrExit3a').addEvent('click', function(){changeList('elementSubBeschr3a','elementSubCatMainMenu3')});
	if($('elementSubBeschrExit3b')) $('elementSubBeschrExit3b').addEvent('click', function(){changeList('elementSubBeschr3b','elementSubCatMainMenu3')});
	if($('elementSubBeschrExit3c')) $('elementSubBeschrExit3c').addEvent('click', function(){changeList('elementSubBeschr3c','elementSubCatMainMenu3')});
	
	
	if ($$('.elementSubCatButtonMenu1')){
		aBoxMenu = $$('.elementSubCatButtonMenu1');
		if(aBoxMenu){
			for(var i = 0; i < 2; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu1','elementSubBeschr1a')});
			}
			for(var i = 2; i < 4; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu1','elementSubBeschr1b')});
			}
			for(var i = 4; i < aBoxMenu.length; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu1','elementSubBeschr1c')});
			}
		}
	}
	
	if ($$('.elementSubCatButtonMenu2')){
		aBoxMenu = $$('.elementSubCatButtonMenu2');
		if(aBoxMenu){
			for(var i = 0; i < 2; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu2','elementSubBeschr2a')});
			}
			for(var i = 2; i < 4; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu2','elementSubBeschr2b')});
			}
			for(var i = 4; i < aBoxMenu.length; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu2','elementSubBeschr2b')});
			}
		}
	}
	
	if ($$('.elementSubCatButtonMenu3')){
		aBoxMenu = $$('.elementSubCatButtonMenu3');
		if(aBoxMenu){
			for(var i = 0; i < 2; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu3','elementSubBeschr3a')});
			}
			for(var i = 2; i < 4; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu3','elementSubBeschr3b')});
			}
			for(var i = 2; i < aBoxMenu.length; i++){
				aBoxMenu[i].addEvent('click', function(){changeList('elementSubCatMainMenu3','elementSubBeschr3b')});
			}
		}
	}
});

*/
