/********************************************************
**  Creates XMLHttpRequest Object to be Used for AJAX  **
********************************************************/

function createHRO() {
   var hro = null;
   if (window.XMLHttpRequest) {
      // JavaScript native object available in
      // Firefox, Opera, Safari, et al.
      // Also in IE for version 7.
      hro = new XMLHttpRequest();
   }
   else {
      // Check for ActiveX object - two versions.
      try {
         // Newer Microsoft version - IE 6.
         hro = new ActiveXObject('Microsoft.XMLHTTP');
      }
      catch (e) {
         try {
            // Older Microsoft version - IE 5.
            hro = new ActiveXObject('MSXML2.XMLHTTP');
         }
         catch (e) {
            // Just in case.
         }
      }
   }
   return hro;
}         

/**************************************************************************************
** Process Request:  method = post method, scrCall = script to call to process data  **
**  processFunc = JS method to call                                                  **
**************************************************************************************/

function initSendRec(method, svrCall, processFunc, sendData) {
   hro = createHRO();
   if (hro != null) {
      // Initialise our hro object.
      hro.onreadystatechange = processFunc;	  	 	  
      hro.open(method, svrCall);
	  hro.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	  hro.send(sendData);
   }
   else {
      // Alert error messsage.
      alert('Could not create XMLHttpRequest object');
      return null;
   }
}     

/***********************************
**  JS to execute by event below  **
***********************************/

function messageSend(){
	if (hro.readyState == 4) {
       var ourData = hro.responseText;
	   //ourData = ourData.split('|');
	   //if(ourData.length>2){
	   	  document.getElementsByName('name')[0].value = '';
	      document.getElementsByName('tel')[0].value = '';
	      document.getElementsByName('email')[0].value = '';
	      document.getElementsByName('comments')[0].value = '';
	      //document.getElementsByName('code')[0].value = '';  
		  document.getElementById('mail_response').style.display = 'block';
		  document.getElementById('mail_response').innerHTML = '<p><b>Mail Sent.</b></p>';
	   //}
	   /*else{
	   	  alert('The validation code you typed is incorrect. Please try again with the new code below.');   
	   }*/
	   document.getElementById('mail_response').innerHTML = ourData;
	   /*document.getElementById('mail_response').innerHTML = "<p>"+ourData[0]+"</p>";
	   document.getElementById('captcha').src = "/inc/img.php?regen=y&amp;"+ourData[1]+"";*/
	}
}

function messageSendUrl(){
	if (hro.readyState == 4) {
       var ourData = hro.responseText;
	   //ourData = ourData.split('|');
	   //if(ourData.length>2){
	   	document.getElementsByName('namesender')[0].value = '';
	   	document.getElementsByName('email')[0].value = '';
	   	document.getElementsByName('sendto')[0].value = '';
	   	document.getElementsByName('comments')[0].value = '';
	   	//document.getElementsByName('code')[0].value = '';
	   //}
	   document.getElementById('message').innerHTML = "<p>"+ourData+"</p>";
	   //document.getElementById('captcha').src = "/inc/img.php?regen=y&amp;"+ourData[1]+"";
	}
}

function messageSendContact(){
	if (hro.readyState == 4) {
       var ourData = hro.responseText;
	   //ourData = ourData.split('|');
	   //if(ourData.length>2){
	     document.getElementsByName('name')[0].value = '';
	     document.getElementsByName('email')[0].value = '';
	     document.getElementsByName('phone')[0].value = '';
	     document.getElementsByName('comments')[0].value = '';
	     //document.getElementsByName('code')[0].value = '';
	   //}
	   document.getElementById('message').innerHTML = "<p>"+ourData+"</p>";
	   //document.getElementById('captcha').src = "/inc/img.php?regen=y&amp;"+ourData[1]+"";
	}
}

function showDocs(){
	if (hro.readyState == 4) {
		var ourData = hro.responseText;
		if(ourData=='done'){
			document.getElementById('doc_list').style.display = "";
			document.getElementById('doc_form').style.display = "none";
			document.getElementById('message').innerHTML = "";
		}
		if(ourData=='revalidate'){
			document.getElementById('message').innerHTML = "<p>Invalid verification code</p>";
		}
	}
}

/********************************
**  JS called by event in HTML **
********************************/

function sendEmail(name, tel, email, comments, prop_name, mail_type){
	var sendData = "name="+document.getElementsByName(name)[0].value;
	sendData += "&tel="+document.getElementsByName(tel)[0].value;
	sendData += "&email="+document.getElementsByName(email)[0].value;	
	sendData += "&comments="+document.getElementsByName(comments)[0].value;
	//sendData += "&code="+document.getElementsByName(code)[0].value;
	sendData += "&prop_name="+document.getElementsByName(prop_name)[0].value;
	sendData += "&mail_type="+document.getElementsByName(mail_type)[0].value;
	//alert(sendData);
	initSendRec('POST','/mailsend.php',messageSend,sendData);
}

function sendEmailUrl(namesender, email, sendto, comments, url, mail_type){
	var sendData = "namesender="+document.getElementsByName(namesender)[0].value;
	sendData += "&email="+document.getElementsByName(email)[0].value;	
	sendData += "&sendto="+document.getElementsByName(sendto)[0].value;	
	sendData += "&comments="+document.getElementsByName(comments)[0].value;
	sendData += "&url="+document.getElementsByName(url)[0].value;
	//sendData += "&code="+document.getElementsByName(code)[0].value;
	sendData += "&mail_type="+document.getElementsByName(mail_type)[0].value;
	initSendRec('POST','/mailsend.php',messageSendUrl,sendData);
}

function sendEmailContact(name, email, phone, comments, mail_type){
	var sendData = "name="+document.getElementsByName(name)[0].value;
	sendData += "&email="+document.getElementsByName(email)[0].value;	
	sendData += "&phone="+document.getElementsByName(phone)[0].value;	
	sendData += "&comments="+document.getElementsByName(comments)[0].value;
	//sendData += "&code="+document.getElementsByName(code)[0].value;
	sendData += "&mail_type="+document.getElementsByName(mail_type)[0].value;
	initSendRec('POST','/mailsend.php',messageSendContact,sendData);
}

function downloadData(name,email,phone,pid){
	var sendData = "name="+document.getElementsByName(name)[0].value;
	sendData += "&email="+document.getElementsByName(email)[0].value;	
	sendData += "&phone="+document.getElementsByName(phone)[0].value;		
	//sendData += "&code="+document.getElementsByName(code)[0].value;
	sendData += "&pid="+document.getElementsByName(pid)[0].value;
	initSendRec('POST','/downloaddata.php',showDocs,sendData);
}

/*******************
** Validate Email **
*******************/

function checkAllFields(id){
	var loop = document.getElementById(id).getElementsByTagName('input').length;
	var loop2 = document.getElementById(id).getElementsByTagName('textarea').length;
	var err=0;
	for(i=0; i<loop;i++){
		if(document.getElementById(id).getElementsByTagName('input')[i].value==''){
			err++;	
		}
	}
	for(i=0; i<loop2;i++){
		if(document.getElementById(id).getElementsByTagName('textarea')[i].value==''){
			err++;	
		}
	}
	if(err>0){
		alert('Pease fill in all fields');	
		return false;
	}
	else{
		return true;
	}
}
/*
function validStr(id){
	var loop = document.getElementById(id).getElementsByTagName('input').length;
	var loop2 = document.getElementById(id).getElementsByTagName('textarea').length;
	var err=0;
	for(i=0; i<loop;i++){
		var str = document.getElementById(id).getElementsByTagName('input')[i].value;
		if( (str.search(/(<([^>]+)>)/g)<0)&&(str.search(/(<>)/g)<0) ){
			err++;	
		}
	}
	for(i=0; i<loop2;i++){
		var str = document.getElementById(id).getElementsByTagName('textarea')[i].value;
		if( (str.search(/(<([^>]+)>)/g)<0)&&(str.search(/(<>)/g)<0) ){
			err++;	
		}
	}
	if(err>0){
		alert('There are invalid characters in one or some of your fields');	
		return false;
	}
	else{
		return true;
	}
}
*/
function emailVal(email){
	if(email.search(/@/)==-1){
		alert('You have entred an invalid email address');
		return false;
	}
	else{
		return true;
	}
}	

function validateFields(email,elId){
	email = document.getElementsByName(email)[0].value;
	if((checkAllFields(elId)==true) && (emailVal(email)==true)){
		return true;	
	}
	else{
		return false;	
	}	
}

function validateFields2(email,elId,email2){	
	email = document.getElementsByName(email)[0].value;
	email2 = document.getElementsByName(email2)[0].value;
	if((checkAllFields(elId)==true) && (emailVal(email)==true) && (emailVal(email2)==true)){
		return true;	
	}
	else{
		return false;	
	}
}
