function validate(parentElement){
	inputs = document.getElementById(parentElement).getElementsByTagName('INPUT');
	inputCount = inputs.length;
	retVal = true;
	
	for(i=0; i<inputCount; i++){
		if(inputs[i].className.indexOf('required') >= 0){
			if(inputs[i].value == ""){
				inputs[i].className = 'required error';
				retVal = false;
			}else{
				inputs[i].className = 'required';
			}
		}
	}
	
	return retVal;
}

function closeGuideForEver(){
	setCookie('webguide_display', 'none', null, (new Date((new Date()).getTime() + 1000 * 3600 * 24 * 10)).toGMTString(), "/");
	$('webGuide').style.display = "none";
}

function nextQuestion(answer, questionIndex) {
	var nextIndex = questions[questionIndex].getNext(answer);
	if(questionIndex == 13){
		// Umfrage abschicken
		document.getElementById('webGuideUmfrageForm').submit();
		document.getElementById('webGuideUmfrageForm').reset();
	}
	
	if (nextIndex == questions.length) { 
		document.getElementById("question"+(questions.length-1).toString()).style.display = "none";
		document.getElementById("end").style.display = "block";
		// Verlosung abschicken
		document.getElementById("webGuideUmfrageType").value = "Verlosung";
		document.getElementById('webGuideUmfrageForm').submit();
	}else{ 
		document.getElementById("question"+questionIndex).style.display = "none";
		document.getElementById("question"+nextIndex).style.display = "block";
	}
}

function viewport(){
	var e = window, a = 'inner';
	if ( !( 'innerWidth' in window )){
		a = 'client';
		e = document.documentElement || document.body;
	}
	return { width : e[ a+'Width' ] , height : e[ a+'Height' ] }
}


function load_style( url ) {
  a = document.createElement('link');
  a.setAttribute('rel','stylesheet');
  a.setAttribute('href',url);
  document.getElementsByTagName('head')[0].appendChild(a);
}

function load_script( url ){
	var script = document.createElement('script');
	script.setAttribute('src', url ); //URL zuweisen
	script.setAttribute('type','text/javascript');
	script.setAttribute('language','javascript');
	document.getElementsByTagName('head')[0].appendChild(script);
	
}

function setCookie(name, wert, domain, expires, path, secure) {
	var cook = (name) ? (name + "=" + unescape(wert)) : ("name=" + unescape(wert));
	cook += (domain) ? "; domain=" + domain : "";
	cook += (expires) ? "; expires=" + expires : "";
	cook += (path) ? "; path=" + path : "/;";
	cook += (secure) ? "; secure " : "";
	document.cookie = cook;
}

function getCookie(name) {
	var i = 0 //Suchposition im Cookie
	var suche = name + "="
	while (i < document.cookie.length) {
		if (document.cookie.substring(i, i + suche.length) == suche) {
			var ende = document.cookie.indexOf(";", i + suche.length)
			ende = (ende > -1) ? ende : document.cookie.length
			var cook = document.cookie.substring(i + suche.length, ende)
			return unescape(cook)
		}
		i++
	}
	return ""
}

function initWebguide(host_ip){
	load_style(host_ip + "/webguide.css");
		
	var GuideRahmen = new Array(0, viewport().width-310, 0, viewport().height-424); // Begrenzungsrahmen
	var webguide_verhalten = {
		'#webGuide': function (div) {
			new Draggable(div, {
				handle: 'dragBar',
				starteffect: false,
				endeffect: false,
				snap: function (x, y) {
					// Begrenzungsrahmen
					var xMin = GuideRahmen[0];
					var xMax = GuideRahmen[1];
					var yMin = GuideRahmen[2];
					var yMax = GuideRahmen[3];
					// Posotion im Begrenzungsrahmen \u00FCberpr\u00FCfen
					x = x < xMin ? xMin : x;
					x = x > xMax ? xMax : x;
					y = y < yMin ? yMin : y;
					y = y > yMax ? yMax : y;
					return [x, y];
				},
				onEnd: function () {
					setCookie('webguide_left', $('webGuide').style.left, null, (new Date((new Date()).getTime() + 1000 * 3600 * 24 * 10)).toGMTString(), "/");
					setCookie('webguide_top', $('webGuide').style.top, null, (new Date((new Date()).getTime() + 1000 * 3600 * 24 * 10)).toGMTString(), "/");
					setCookie('webguide_state', $('webGuideContent').visible(), null, (new Date((new Date()).getTime() + 1000 * 3600 * 24 * 10)).toGMTString(), "/");
				}
			});
		}
	};
	Behaviour.register(webguide_verhalten);
	
	var balkenrules = {
		'div.balken div.balkenelement' : function(element){
			element.onclick = function(){
				// alle Balken auf inaktiv setzen
				var elementSiblings = element.parentNode.childNodes;
				var elementSiblingCount = elementSiblings.length;
				for(var i = 0; i < elementSiblingCount; i++){
					if(elementSiblings[i].tagName == "DIV"){
						elementSiblings[i].className = "balkenelement";
					}
				}
				// aktuellen Balken auf aktiv setzen
				if(this.className == "balkenelement"){
					this.className = "balkenelement active";
				}else{
					this.className = "balkenelement";					
				}				
				// Daten in das entsprechende Feld schreiben
				$(this.id.split("#")[0]).value = this.id.split("#")[1];
			}
			element.onfocus = function() {
				if (this.blur) this.blur();
			}
		}
		
	};
	Behaviour.register( balkenrules );
	
	// Webguide zentral platzieren bzw. an alter Position
	if(getCookie('webguide_left') != ""){
		$('webGuide').style.left = getCookie('webguide_left');
	}else{
		$('webGuide').style.left = Math.round((viewport().width-310)/2)+"px";
	}
	if(getCookie('webguide_top') != ""){
		$('webGuide').style.top = getCookie('webguide_top');
	}else{
		$('webGuide').style.top = Math.round((viewport().height-424)/2)+"px";
	}
	if(getCookie('webguide_display') != ""){
		$('webGuide').style.display = "none";
	}
}
