/*
		$$__HQMatics__$$
	
		Modified: 2010.12.29 11:04:38
		
		Class: none
		File: zechsalmain.js
		
		Description: main classes and functions for zechsal webshop
*/

var ZechsalDesignFitter = Class.create();

ZechsalDesignFitter.prototype = {
	initialize: function() {
		this.startfunctions();
	},
	
	startfunctions: function() {
		this.fitdesign();
	},
	
	fitdesign: function() {
		// find text box
		var topdiv = $('topdiv');
		if (topdiv != undefined) {
			//alert('element present');
			var sidebar = $$('.col-left.sidebar');
			sidebar.each(function(side) {
				//side.style.margins.top = topdiv.height + 15;
				side.style.marginTop = topdiv.getHeight() + 15 + 'px';
			});
		}
	}
};

var ZechsalFaq = Class.create({
	questions: Array,
	answers: Array,
	initialize: function(faqlist) {
		this.questions = $$('#'+faqlist+' dt');
		this.answers = $$('#'+faqlist+' dd');
		
		// hide answers
		for (i = 0; i < this.answers.size(); i++) {
			this.answers[i].hide();
		}
		
		// observe questions
		for (i = 0; i < this.questions.size(); i++) {
			this.questions[i].observe('click', this.questionClicked);
			this.questions[i].style.cursor = 'pointer';
			this.questions[i].onselectstart = function(){ return false; };
            if (this.questions[i].style.setProperty) {
                this.questions[i].style.setProperty('-moz-user-select', 'none', '');
                this.questions[i].style.setProperty('-webkit-user-select', 'none', '');
            }
		}
	},
	questionClicked: function(event) {
		var answer = this.next('dd');
		if (answer != undefined) {
			if (answer.style.display == '') {
				new Effect.BlindUp(answer, { duration: 0.2, queue: { position: 'end', scope: answer.identify(), limit: 1 } });
			}
			else {
				//answer.show();
				new Effect.BlindDown(answer, { duration: 0.2, queue: { position: 'end', scope: answer.identify(), limit: 1 } });
			}
		}
	}
});

var ZechsalSubmenu = Class.create({
	initialize: function() {
		// find submenus
		var submenus = $$('.block-main li.sub');
		var subcontent;
		var rel;
		var currenturl = window.location.href;
		for (i = 0; i < submenus.size(); i++) {
			// observe menu click
			subcontent = submenus[i].firstDescendant();
			if (subcontent != undefined) {
				subcontent.observe('click', this.menuClicked);
				subcontent.style.cursor = 'pointer';
				subcontent.onselectstart = function(){ return false; };
				if (subcontent.style.setProperty) {
					subcontent.style.setProperty('-moz-user-select', 'none', '');
					subcontent.style.setProperty('-webkit-user-select', 'none', '');
				}
			}
			
			subcontent = submenus[i].down().next('ul');
			if (subcontent != undefined) {
				// read rel
				rel = submenus[i].readAttribute('rel');
				if (currenturl.search(rel) >= 0) {
					submenus[i].addClassName('expanded');
				}
				else {
					subcontent.hide();
				}
			}
			else {
				subcontent.hide();
			}
		}
	},
	menuClicked: function(event) {
		var subcontent = this.next('ul');
		if (subcontent != undefined) {
			if (subcontent.style.display == '') {
				this.up().removeClassName('expanded');
				new Effect.BlindUp(subcontent, { duration: 0.2, queue: { position: 'end', scope: subcontent.identify(), limit: 1 } });
			}
			else {
				this.up().addClassName('expanded');
				new Effect.BlindDown(subcontent, { duration: 0.2, queue: { position: 'end', scope: subcontent.identify(), limit: 1 } });
			}
		}
		event.stop();
	}
});


document.observe('dom:loaded', function() {
	new ZechsalDesignFitter();
	new ZechsalSubmenu();
});
