/**
 * @author kramaric
 */
/*
 * Error Handling
 */
var oe=function(Fehler,Datei,Zeile){alert('Es ist der JS- Fehler: '+Fehler+', in der Datei: '+Datei+', in der Zeile: '+Zeile+'Aufgetreten.');};
var oe2=function(){return true;};
window.onerror=oe;
/*
 * on Doument Ready
 */
$(function(){
	$('a,input[type=image],input[type=submit]').each(function(){/* http://www.tomislav.net/gestrichelte-linie-um-link-verstecken.htm *//* made with jQuery */
		this.onmousedown = function(){
			this.onfocus = function(){this.blur();};
		};
		this.onmouseup = function(){
			this.onfocus = function(){};
		};
		this.onmouseout = this.onmouseup;
	});
	var pos = null;
	var tmr = null;
	$('.rundgang img').css('margin-left','0');
	var pos3 = 0;
	var img = $('.rundgang img:first');
	var dly = 30;
	$('.rundgang').mousemove(function(event){
		pos = (event.pageX-$('#content').offset().left -184)/-80;
		if(tmr==null)tmr = setInterval(function(){
			img.css('margin-left',(pos3-=pos)+'px');
			if((pos3<=-745)||(pos3>=0)){
				if(pos3>0)pos3=0;
				if(pos3<-745)pos3=-745;
				clearInterval(tmr);
				tmr = null;
			}
		},dly);
	});
	$('#subnavi,#whole_content').mouseenter(function(event){
		clearInterval(tmr);
		tmr = null;
	});
	if($('#scroll_cont').height()>$('#content').height()){
		var diff = $('#scroll_cont').height()-$('#content').height();
		$('#scroller').show();
		$('#scroll_cont').mousewheel(function(event,delta){
			delta*=5;
			var diff2 = $(this).offset().top-$('#content').offset().top;
			if(delta<0){
				if(-diff<diff2){
					if(-diff>(diff2 + delta))$(this).css('margin-top',(-diff)+'px');
					else $(this).css('margin-top',(diff2 + delta)+'px');
				}
			}
			else{
				if(diff2<0){
					if((diff2 + delta)>0)$(this).css('margin-top','0');
					else $(this).css('margin-top',(diff2 + delta)+'px');
				}
			}
			$('div#scroll_img').css('top',((97/diff*-diff2)+8)+'px');
		});
		$("div#scroll_img").mousedown(function(event){
			$(this).attr('title','scroll');
		});
		$("body").mouseup(function(event){
			$("div#scroll_img").removeAttr('title');
			snap = -1;
			curr = 0;
			scrl_top = -1;
		});
		var snap = -1;
		var curr = 0;
		var scrl_top = -1;
		$('body').mousemove(function(event){
			if($("div#scroll_img").attr('title')=='scroll'){
				snap = snap==-1 ? event.pageY : snap;
				scrl_top = scrl_top==-1 ? parseFloat($('div#scroll_img').css('top')) : scrl_top;
				curr = event.pageY-snap + scrl_top;
				curr = curr <= 8  ?  8 : curr;
				curr = curr >= 105 ? 105 : curr;
				$('div#scroll_img').css('top',curr + 'px');
				var curr_layer_top = (diff/97 * (curr-8));
				curr_layer_top = curr_layer_top<=0.5 ? 0 : curr_layer_top;
				curr_layer_top = curr_layer_top >= (diff-0.5) ? diff : curr_layer_top;
				$('#scroll_cont').css('margin-top',-curr_layer_top+'px');
			}
		});
	}
});

function formCheck_de(formobj){
	// name of mandatory fields
	var fieldRequired = Array("Unternehmen", "Vorname", "Name", "Email", "Nachricht");
	// field description to appear in the dialog box
	var fieldDescription = Array("Unternehmen", "Vorname", "Nachname", "E-Mail", "Nachricht");
	// dialog message
	var alertMsg = "Bitte füllen Sie die folgenden Felder aus:\n";

	var l_Msg = alertMsg.length;

	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function formCheck_en(formobj){
	// name of mandatory fields
	var fieldRequired = Array("Unternehmen", "Vorname", "Name", "Email", "Nachricht");
	// field description to appear in the dialog box
	var fieldDescription = Array("Company", "First Name", "Last Name", "E-Mail", "Message");
	// dialog message
	var alertMsg = "Please complete the following fields:\n";

	var l_Msg = alertMsg.length;

	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function formCheck_es(formobj){
	// name of mandatory fields
	var fieldRequired = Array("Unternehmen", "Vorname", "Name", "Email", "Nachricht");
	// field description to appear in the dialog box
	var fieldDescription = Array("Empresa", "Sección", "Nombre", "E-Mail", "Mensaje");
	// dialog message
	var alertMsg = "Por favor, complete los siguientes campos:\n";

	var l_Msg = alertMsg.length;

	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}

function formCheck_dk(formobj){
	// name of mandatory fields
	var fieldRequired = Array("Unternehmen", "Vorname", "Name", "Email", "Nachricht");
	// field description to appear in the dialog box
	var fieldDescription = Array("Firma", "Fornavn", "Efternavn", "E-Mail", "Besked – Tilbage");
	// dialog message
	var alertMsg = "Venligst udfyld følgende felter:\n";

	var l_Msg = alertMsg.length;

	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
			if (obj.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
			}
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
}



