	function validate_mail(formName){
		if(formName.email){
			if (formName.email.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1){
				alert("E-Mail Adresse unzulässig.");
				return false;
			} else if (formName.email.value == 'E-Mail@domain.de'){
				alert("E-Mail Adresse unzulässig.");
				return false;
			}
		} else {
			alert("Keine E-Mail Adresse angegeben.");
			return false;
		}
	}
	
	function toggleLayer(whichLayer) {
        if (document.getElementById) {
            // this is the way the standards work
            var style2 = document.getElementById(whichLayer).style;
            style2.display = style2.display? "":"block";
        } else if (document.all) {
            // this is the way old msie versions work
            var style2 = document.all[whichLayer].style;
            style2.display = style2.display? "":"block";
        } else if (document.layers) {
            // this is the way nn4 works
            var style2 = document.layers[whichLayer].style;
            style2.display = style2.display? "":"block";
        }
    }

    var W3CDOM = (document.createElement && document.getElementsByTagName);
    
    function initFileUpload() {
	   if (!W3CDOM) return;
	   var fakeFileUpload = document.createElement('div');
	   fakeFileUpload.className = 'fakefile';
	   fakeFileUpload.appendChild(document.createElement('input'));
	   var image = document.createElement('img');
	   image.src='http://businesskurier.de/_relaunch/images/button_xs.gif';
	   fakeFileUpload.appendChild(image);
	   var x = document.getElementsByTagName('input');
	   for (var i=0;i<x.length;i++) {
	       if (x[i].type != 'file') continue;
	       if (x[i].getAttribute('noscript')) continue;
	       if (x[i].parentNode.className != 'fileinputs') continue;
	       x[i].className = 'file hidden';
	       var clone = fakeFileUpload.cloneNode(true);
	       x[i].parentNode.appendChild(clone);
	       x[i].relatedElement = clone.getElementsByTagName('input')[0];
	       if (x[i].value)
	       x[i].onchange();
	       x[i].onchange = x[i].onmouseout = function () {
	       this.relatedElement.value = this.value;
	       }
	   }
    }
    
    window.onload = function () {
	   if (self.initFileUpload) initFileUpload();
    }

    function SubmitKontaktForm() {
        
        var message = document.kontakt.message.value;
        var name = document.kontakt.name.value;
        var mail = document.kontakt.mail_address.value;
        var phone = document.kontakt.phone.value;
        var website = document.kontakt.website.value;
        
        if (!message) {
            alert("Ihre Nachricht fehlt!");
            document.kontakt.message.focus();
            return false;
        }
        
        if (!name) {
            alert('Bitte geben Sie Ihren Namen an!');
            document.kontakt.name.focus();
            return false;
        }
             
        if (echeck(mail)==false){
            alert('Die angegebene Mailadresse ist fehlerhaft!');
            document.kontakt.mail_address.focus();
            return false;
        }
        
        if (!checkNumber(phone) && (phone)) {
            alert('Die Telefonnummer enthält fehlerhafte Zeichen');
            document.kontakt.phone.focus();
            return false;
        }
        
        if (!isUrl(website) && (website)) {
            alert('Bitte überprüfen Sie die Eingabe der Webseite.');
            document.kontakt.website.focus();
            return false;
        }
        
        document.kontakt.submit();
        
    }
    
    function keepDigits(str) {
        return str.replace(/[^0-9]/, "" );
    }

    function checkNumber(inputString) {
        if (inputString != '') {
            if (inputString.match(/^\d{4,20}$/)) {
                return true;
            }
        }
        return false;
    }
    
    function checkNumbersmall(inputString) {
        if (inputString != '') {
            if (inputString.match(/^\d{1,6}$/)) {
                return true;
            }
        }
        return false;
    }

    function echeck(str) {
        var at="@";
        var dot=".";
        var lat=str.indexOf(at);
        var lstr=str.length;
        var ldot=str.indexOf(dot);
        if (str.indexOf(at)==-1){
           return false;
        }
        if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
           return false;
        }
        if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
            return false;
        }
         if (str.indexOf(at,(lat+1))!=-1){
            return false;
         }
         if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
            return false;
         }
         if (str.indexOf(dot,(lat+2))==-1){
            return false;
         }
         if (str.indexOf(" ")!=-1){
            return false;
         }
         return true;		
    }

	function isDate(dateStr) {
	
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
		var matchArray = dateStr.match(datePat); // is the format ok?

		month = matchArray[1]; 
		day = matchArray[3];
		year = matchArray[5];

		// check month range
		if (month < 1 || month > 12) { 
			alert(unescape("Das Geburtsdatum ist ung%FCltig%21 Bitte geben Sie einen g%FCltigen Monat an!"));
			return false;
		}

		if (day < 1 || day > 31) {
			alert(unescape("Das Geburtsdatum ist ung%FCltig%21 Bitte geben Sie einen g%FCltigen Tag an!"));
			return false;
		}

		if ((month==4 || month==6 || month==9 || month==11) && day==31) {
			alert(unescape("Der Monat " + month + " hat keine 31 Tage! Bitte geben Sie einen g%FCltigen Monat an."));
			return false;
		}
		
		// check for february 29th
		if (month == 2) { 
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day > 29 || (day==29 && !isleap)) 
			{
				alert(unescape("Das Geburtsdatum ist ung%FCltig%21 Februar " + year + " hat keine " + day + " Tage!"));
				return false;
			}
		}
		
		return true; // date is valid
	}
	
	function isUrl(s) {
        var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
        return regexp.test(s);
    }

