var mode = 0;
function postData(url,FormData) {
	this.url = url;
	var self = this;
	if (window.XMLHttpRequest) 	{ 	/* branch for native XMLHttpRequest object */
		this.req = new XMLHttpRequest ();		
		this.req.onreadystatechange = function (){	ProcessXML (self);}
		this.req.open("POST",url,true);
		this.req.setRequestHeader("content-length",FormData.length); 
		this.req.setRequestHeader("content-type","application/x-www-form-urlencoded"); 
		this.req.send(FormData);
	} else if (window.ActiveXObject) { 	/* branch for IE/Windows ActiveX version */
		this.req = new ActiveXObject ("Microsoft.XMLHTTP");
		if (this.req) 	{
			this.req.onreadystatechange = function (){	ProcessXML (self);}
			this.req.open("POST",url,true);
			this.req.setRequestHeader("content-length",FormData.length); 
			this.req.setRequestHeader("content-type","application/x-www-form-urlencoded"); 
			this.req.send(FormData);
		}
	}
}


function ProcessXML(self){
	if(!(self.req.readyState==4 && self.req.status==200)) return;
	var response=self.req.responseText;
	if (mode==0){	
		if (response!="SAVE OK"){
			alert(response);
			var fBtn=document.getElementById("commSendBtn");
			fBtn.disabled=false;
		} else {
		  alert("Your comments we have recevied!Please wait for approve!");
		  var fForm=document.getElementById("commForm");
		  fForm.aid.value ="";
		  fForm.name.value ="";
		  fForm.email.value ="";
		  fForm.site.value ="";
		  fForm.comments.value ="";
		  fForm.code.value="";
		  var fBtn=document.getElementById("commSendBtn");
		  fBtn.value="Comments received";
		}
	}else if (mode==1){ //Get Ð£Ñécode
	  	var fHum=document.getElementById("humanTxt");
		fHum.innerHTML = response;
	}
}

function URLEncode(plaintext ){
	var SAFECHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()";
	var HEX = "0123456789ABCDEF";
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ )	{
		var ch = plaintext.charAt(i);
	    if (ch == " ")  {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1)	{
		    encoded += ch;
		}else{
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255)	{
				encoded += "+";	// substitute a space
			}else{
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for
	return encoded;
}

function CheckForm(){
	var fForm=document.getElementById("commForm");
	fid = fForm.aid.value;
	fname=fForm.name.value;
	femail = fForm.email.value;
	fsite = fForm.site.value;
	fctx = fForm.comments.value;
	fcode = fForm.code.value;
	var l=/(\S)+[@]{1}(\S)+[.]{1}(\w)+/; //email verify RegEx
	var errTxt = "";
	if (fname=="") errTxt ="Please input your full name!";
	if (!l.test(femail)) errTxt +="\nYour input email is blank or format error! Please input correct email address!";
	if (fsite=="") errTxt +="\nPlease input your website!";
	if (fctx=="") errTxt +="\nPlease input your comments!";

	if (errTxt) {alert(errTxt);return };

	fname = URLEncode(fname);
	femail = URLEncode(femail);
	fsite = URLEncode(fsite);
	fctx = URLEncode(fctx);
	fcode = URLEncode(fcode);
   
	psData= "cmd=comm&id="+fid+"&name="+fname+"&email="+femail+"&site="+fsite+"&ctx="+fctx+"&code="+fcode;
	var fBtn=document.getElementById("commSendBtn");
	fBtn.disabled=true;
	var host = window.location.host;
	mode = 0;
	postData("http://"+host+"/comments.php",psData);	
}


function getCode(){
  	var fHum=document.getElementById("humanTxt");
	fHum.innerHTML =" Wait...";
	mode = 1;
	psData= "cmd=comm&id=-1";
	var host = window.location.host;
	postData("http://"+host+"/comments.php",psData);	
}


