//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
 if (window.XMLHttpRequest) {
    return new XMLHttpRequest(); //Mozilla, Safari ...
 } else if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP"); //IE
 } else {
    //Display our error message
    alert("Your browser doesn't support the XmlHttpRequest object.");
 }
}

//Our XmlHttpRequest object
var receiveReq = getXmlHttpRequestObject();
var formsubmit = false;
var namevalid = true;
var mailvalid = true;
var textvalid = true;

//Initiate the AJAX request
function makeRequest(url, param) {
//If our readystate is either not started or finished, initiate a new request
 if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
   //Set up the connection to captcha_test.html. True sets the request to asyncronous(default) 
   receiveReq.open("POST", url, true);
   //Set the function that will be called when the XmlHttpRequest objects state changes
   receiveReq.onreadystatechange = updatePage; 

   //Add HTTP headers to the request
   receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   receiveReq.setRequestHeader("Content-length", param.length);
   receiveReq.setRequestHeader("Connection", "close");

   //Make the request
   receiveReq.send(param);
 }   
}

//Called every time our XmlHttpRequest objects state changes
function updatePage() {
 //Check if our response is ready
 if (receiveReq.readyState == 4) { 
 	if (receiveReq.responseText == "false") { 
   //Set the content of the DIV element with the response text
   document.getElementById('captcharesult').innerHTML = "Sicherheitscode ung&uuml;ltig";
   document.getElementById('captcha').value = "";
   document.getElementById('captcha').className = "inputerror";
   //Get a reference to CAPTCHA image
   var img = document.getElementById('captchaimg'); 
   //Change the image
   img.src = 'index.php?module=comments&action=captcha&time=' + Math.random();
   document.getElementById('formsubmit').disabled = false;
   document.getElementById('loading').className= "";
	} else {
		if (namevalid && mailvalid && textvalid) {
			//document.posting.submit();
			
			var mySlide = new Fx.Slide('formcontainer', {duration: 2000});		
			
			var info = document.getElementById('info');
			info.innerHTML = 'Vielen Dank f&uuml;r Ihren Eintrag.';
			
			if (receiveReq.responseText == "mod") {
				info.innerHTML += ' Bevor ihr Eintrag erscheint, muss dieser zun&auml;chst freigegeben werden.';	
			} else {
				var box = document.getElementById('newentry');
				box.innerHTML = receiveReq.responseText;
			}
			
			//var mySlide2 = new Fx.Slide('newentry').hide();
			
			//window.scrollTo(0,0);
			var scroll = new Fx.Scroll(Window, {
				wait: false,
				duration: 1000,
				offset: {'x': 0, 'y': 0},
				transition: Fx.Transitions.Quad.easeInOut
			   });

			 mySlide.slideOut().chain((function(){scroll.toElement('info')})); //.chain((function(){mySlide2.slideIn()}));			 
			
		} else {
			document.getElementById('formsubmit').disabled = false;
			document.getElementById('loading').className= "";
		}
	}
 }
}

//Called every time when form is perfomed
function getParam(theForm) {

 // disable submit button
 document.getElementById('formsubmit').disabled = true;	
 
 // loading icon
 document.getElementById('loading').className= "loading";
	
 // clean
 document.getElementById('captcharesult').innerHTML = "";
 document.getElementById('captcha').className = "";
 document.getElementById('nameresult').innerHTML = "";
 document.getElementById('formname').className = "";
 document.getElementById('mailresult').innerHTML = "";
 document.getElementById('formmail').className = "";
 document.getElementById('textresult').innerHTML = "";
 document.getElementById('formtext').className = "";
 
 // init
 namevalid = true;
 mailvalid = true;
 textvalid = true; 
 
 if (theForm.name.value == "") {
 	document.getElementById('formname').className = "inputerror";
 	document.getElementById('nameresult').innerHTML = "Namen eingeben";	
 	namevalid = false;
 }
 
 if (theForm.mail.value == "") {
 	document.getElementById('formmail').className = "inputerror";
 	document.getElementById('mailresult').innerHTML = "E-Mail eingeben";
 	mailvalid = false;	
 }
 
 if (theForm.text.value == "") {
 	document.getElementById('formtext').className = "inputerror";
 	document.getElementById('textresult').innerHTML = "Nachricht eingeben";
 	textvalid = false;
 }
 
 //Set the URL
 var url = 'index.php';
 //Set up the parameters of our AJAX call
 var postStr = "module=pinboard&action=captchavalidation&" + theForm.captcha.name + "=" + theForm.captcha.value + "&name=" + theForm.name.value + "&mail=" + theForm.mail.value + "&text=" + theForm.text.value;
 //Call the function that initiate the AJAX request
 makeRequest(url, postStr);
 
 return false;
}

// Captcha Realoading

var captchareloadcount = 1;

function reloadcaptcha() {
	
	var img = document.getElementById('captchaimg');
	img.src = 'index.php?module=comments&action=captcha&time=' +  captchareloadcount;
	captchareloadcount = captchareloadcount + 1;
}

