// JavaScript Document
/////////////////////////////////////////// Scroller functions ////////////////////////////////
function check_scrolldiv()
{
	if(document.getElementById("content_all") == null)
	{
		var div = "content_right";
	}
	else 
	{
		var div = "content_all";
	}
	
	return div;
}

/* check if the content text is highter than the higth of the site */
function resize() {

	var div = "content_scroll"
	var cheight = document.getElementById(div).offsetHeight;
	if(cheight > 305)
	{
		document.getElementById('scrollbar').style.display = "block";
	}
}


/* Scroll funktion bei mausrad */
function handle(delta) {
	if (delta < 0)
	{
		  scroller2("dn");
	}
	else
	{
		scroller2("up");
	}
	
}
function wheel(event){
	var delta = 0;
	if (!event) event = window.event;
	if (event.wheelDelta) {
		delta = event.wheelDelta/120; 
		if (window.opera) delta = -delta;
	} else if (event.detail) {
		delta = -event.detail/3;
	}
	if (delta)
		handle(delta);
        if (event.preventDefault)
                event.preventDefault();
        event.returnValue = false;
}

/* Initialization code. */
if (window.addEventListener)
	window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;

var hzuxbux = 1;
function scroller2(direction)
{
	/* find div to scroll */
	var div = check_scrolldiv();
	if(direction == "dn")
	{
		document.getElementById(div).scrollTop+=30;
	
	}
	else
	{
		document.getElementById(div).scrollTop-=30;
	}
	if(hzuxbux < 3)
	{
		setTimeout("scroller2()", 10);
		hzuxbux++;
	}
}
/* END Scroll funktion bei mausrad */
/* scroll event content*/
var d=document;
var mode = "still";
var speed = 20; // in Millisekunden
var step_size = 4; // Schrittweite

function scroll(aNum,div) {
    
    // alert ("Ref= "+ref);
    switch(aNum) {
        case 1: // scroll up
            mode = "scroll_up";
            break;
            
        case -1: // scroll down
            mode = "scroll_down";
            break;
            
        case 0: // stop scrolling
            mode = "still";
            break;
    }
    do_scroll(div);
}

function do_scroll() {
	
	/* find div to scroll */
	var div = check_scrolldiv();
    var ref = d.getElementById(div);
    
    switch (mode) {
        case "still": // nothing
            break;
        
        case "scroll_up":
            ref.scrollTop-=step_size;
            window.setTimeout("do_scroll('"+div+"')", speed);
            break;
            
        case "scroll_down":
            ref.scrollTop+=step_size;
            window.setTimeout("do_scroll('"+div+"')", speed);
            break;
    }
}





///////////////////////// Div in oberer Navigation verkleinern /////////////////////////////////
function mindiv(id, dir) {
	if(dir == "up")
	{
		for(x=1;x<5;x++)
		{
			document.getElementById("topnav_"+x).style.height = "95px";
			document.getElementById("snavbox_"+x).style.display = "none";
			document.getElementById("toplink_"+x).className = "navoben_"+x;	
		}
		document.getElementById("topnav_"+id).style.height = "65px";
		if(id != 5)
		{
			document.getElementById("snavbox_"+id).style.display = "block";
			document.getElementById("toplink_"+id).className = "navoben_"+id+"_act";
		}
		
		
	}
	else
	{
		document.getElementById("topnav_"+id).style.height = "95px";
		if(id != 5)
		{	
			document.getElementById("snavbox_"+id).style.display = "none";
			document.getElementById("toplink_"+id).className = "navoben_"+id;
		}
		 
	}
	
}

//////////////////////////////////////////// Überprüfung Kontakt Form///////////////////////////////////

function kontaktformcheck(){
	if (document.kontakt.vname.value == "") {
		var text = "Bitte geben Sie Ihren Vornamen an."
		document.getElementById("info").innerHTML = text;
		document.kontakt.vname.focus()
		return false
	}
	if (document.kontakt.name.value == "") {
		var text = "Bitte geben Sie Ihren Namen an."
		document.getElementById("info").innerHTML = text;
		document.kontakt.name.focus()
		return false
	}
		if (document.kontakt.adr.value == "") {
		var text = "Bitte geben Sie Ihre Adresse an."
		document.getElementById("info").innerHTML = text;
		document.kontakt.adr.focus()
		return false
	}
	if (document.kontakt.plz.value == "") {
		var text = "Bitte geben Sie Ihre Postleitzahl und Ort an."
		document.getElementById("info").innerHTML = text;
		document.kontakt.plz.focus()
		return false
	}
	var Phone=document.kontakt.tel
	if (Phone.value == "") {
		var text = "Bitte geben Sie eine Telefonnummer an."
		document.getElementById("info").innerHTML = text;
		document.kontakt.tel.focus()
		return false
	}
	else {
		if (checkInternationalPhone(Phone.value)==false){
			var text = "Die angegebene Telefonnummer erscheint ung&uuml;ltig."
			document.getElementById("info").innerHTML = text;
			Phone.value=""
			Phone.focus()
			return false
		}
	}
	var emailID=document.kontakt.mail
	if ((emailID.value==null)||(emailID.value=="")){
		var text = "Bitte geben Sie Ihre Email Adresse an."
		document.getElementById("info").innerHTML = text;
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
}
//Email-Adresse berprfung
function echeck(str) {
		
		var falschemail = "Die angegebene Email Adresse scheint ung&uuml;ltig zu sein."
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   document.getElementById("info").innerHTML = falschemail;
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   document.getElementById("info").innerHTML = falschemail;
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		     document.getElementById("info").innerHTML = falschemail;
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    document.getElementById("info").innerHTML = falschemail;
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    document.getElementById("info").innerHTML = falschemail;
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    document.getElementById("info").innerHTML = falschemail;
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    document.getElementById("info").innerHTML = falschemail;
		    return false
		 }

 		 return true					
	}
	
	
// Telefonnummerberprfung

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()-/ ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
