// initializes the script

function addLoadEvent(intitializeEmailClient) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = intitializeEmailClient;
  } else {
    window.onload = function() {
      oldonload();
      intitializeEmailClient();
    }
  }
}

addLoadEvent(intitializeEmailClient);




// getXMLHttpRequest object
function getXMLHttpRequestObject(){
	var xmlobj;
    // check for existing requests
    if(xmlobj!=null&&xmlobj.readyState!=0&&xmlobj.readyState!=4){
        xmlobj.abort();
    }
    try{
        // instantiate object for Mozilla, Nestcape, etc.
        xmlobj=new XMLHttpRequest();
    }
    catch(e){
        try{
            // instantiate object for Internet Explorer
            xmlobj=new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch(e){
            // Ajax is not supported by the browser
            xmlobj=null;
            return false;
        }
    }
	return xmlobj;
}
// request 'sendmail.php' file - sends email message
function sendEmailRequest(){
	var botschaft=document.getElementsByTagName('form')[0].elements['mitteilung'].value;
	if(botschaft.length>1000){botschaft=botschaft.substring(0,1000)};
	// open socket connection
	emailXMLHttpObj.open('POST','http://www.guesthouse-ferienwohnung-berlin-kreuzberg.de/wp-content/themes/960bc/anfrage.php',true);
	// set form http header
	emailXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
	// get form values and send http request
   	emailXMLHttpObj.send(getFormValues(document.getElementsByTagName('form')[0]));
	emailXMLHttpObj.onreadystatechange=emailStatusChecker;
}
// check status of email requester object
function emailStatusChecker(){
    // if mail request is completed
    if(emailXMLHttpObj.readyState==4){
        if(emailXMLHttpObj.status==200){
			// if status == 200 display server response
			displayServerResponse();
        }
        else{
            alert('Failed to get response :'+emailXMLHttpObj.statusText);
        }
    }
}
// display server response
function displayServerResponse(){
	var status=document.getElementsByTagName('h6')[0].firstChild;
	if(!status){return};
	// display messages by <h1> header
	status.data=emailXMLHttpObj.responseText;	
}
// get form values
function getFormValues(fobj){
    var str='';
    for(var i=0;i< fobj.elements.length;i++){
        str+=fobj.elements[i].name+'='+ escape(fobj.elements[i].value)+'&';
    }
    str=str.substr(0,(str.length-1));
    return str;
}	



function CheckInput () {
  for (i = 0; i < document.getElementsByTagName('form')[0].elements.length; ++i)
  	if (document.getElementsByTagName('form')[0].elements['name'].value == "Ihr Name *") {
        document.getElementsByTagName('form')[0].elements['name'].focus();
        return false;
    }
  	if (document.getElementsByTagName('form')[0].elements['email'].value == "Ihre Email Adresse *") {
        document.getElementsByTagName('form')[0].elements['email'].focus();
        return false;
    }
    
   	if (document.getElementsByTagName('form')[0].elements['termin'].value == "Ihre Buchungszeit: TT.MM. - TT.MM. *") {
        document.getElementsByTagName('form')[0].elements['termin'].focus();
        return false;
    }
    
    if (document.getElementsByTagName('form')[0].elements['mitteilung'].value == "Teilen Sie uns Ihre Anregungen oder Fragen mit.") {
       	document.getElementsByTagName('form')[0].elements['mitteilung'].value = " " ;
  		return false;
  	}
  	
  	
  	
  
    
   	/*if (document.getElementsByTagName('form')[0].elements['equipment'].value == "") {
        document.getElementsByTagName('form')[0].elements['equipment'].focus();
        return false;
    }
    	if (document.getElementsByTagName('form')[0].elements['telefon'].value == "") {
        document.getElementsByTagName('form')[0].elements['telefon'].focus();
      	return false;
    }
   
    if (document.getElementsByTagName('form')[0].elements['fax'].value == "") {
      document.getElementsByTagName('form')[0].elements['fax'].focus();
      return false;
    }
    
    if (document.getElementsByTagName('form')[0].elements['botschaft'].value == "") {
      document.getElementsByTagName('form')[0].elements['botschaft'].focus();
      return false;
    }
  */
    document.getElementsByTagName('form')[0].reset();
  	return false;
}



// initialize email client 
function intitializeEmailClient(){
	if(document.getElementById&&document.getElementsByTagName&&document.createElement){
		var sendbtn=document.getElementsByTagName('form')[0].elements['send'];
		
		
  	
		if(!sendbtn){return};
		
		
		// assign 'onlick' event handler to 'send' button
		sendbtn.onclick=function(){
			// display message
			
        	
			document.getElementsByTagName('h6')[0].firstChild.data='Ihre Email wird gesendet...';
			
			
        	
			// send email request
			sendEmailRequest();	
			
			setTimeout('CheckInput()', 1500);
		}
		
	}
}
// instantiate email XMLHttpRequest object
var emailXMLHttpObj=getXMLHttpRequestObject();
// instantiate contact XMLHttpRequest object

var insertXMLHttpObj=getXMLHttpRequestObject();


/*function cursor()
{
document.formfelder.name.focus();

}*/


/**
*
*  UTF-8 data encode / decode
*  http://www.webtoolkit.info/
*
**/

var Utf8 = {

	// public method for url encoding
	encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	},

	// public method for url decoding
	decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}

}
