var xmlHttp
// Code Updated on 31/07/2009 by Rohit Ayare 
//////////////----------OnKeyPress Event code to restrinct Kayboard input starts----------//////////
var KEY_NULL = null;
var KEY_NONE = 0;
var KEY_BCKSPC = 8;
var KEY_TAB = 9;
var KEY_ENTER = 13;
var KEY_ESC = 27;
 
function charsonly(e,e1) {
	var key;
	var keychar;
	
	if (window.event) {
		key = window.event.keyCode;
	}
	else if (e) {
		key = e.which;
	}
	else {
		return true;
	}
	keychar = String.fromCharCode(key);
 
	// Control keys (no @#$% "magic numbers")
	if (
	(key == KEY_NULL) || 
	(key == KEY_NONE) || 
	(key == KEY_BCKSPC) || 
	(key == KEY_TAB) || 
	(key == KEY_ENTER) || 
	(key == KEY_ESC) || 
	(("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ").indexOf(keychar) > -1)
	 ) {
		return true;
	}
	else if (e1 == 'dec') { // Decimal point allowed
		if (keychar == '.') {
			if (this.value.indexOf('.') == -1) { // Can only have a single decimal point
				return true;
			}
		}
	} 
	return false;
}



function numbersonly(e,e1) {
	var key;
	var keychar;
	
	if (window.event) {
		key = window.event.keyCode;
	}
	else if (e) {
		key = e.which;
	}
	else {
		return true;
	}
	keychar = String.fromCharCode(key);
 
	// Control keys (no @#$% "magic numbers")
	if (
	(key == KEY_NULL) || 
	(key == KEY_NONE) || 
	(key == KEY_BCKSPC) || 
	(key == KEY_TAB) || 
	(key == KEY_ENTER) || 
	(key == KEY_ESC) || 
	(("0123456789.-+ ").indexOf(keychar) > -1)
	 ) {
		return true;
	}
	else if (e1 == 'dec') { // Decimal point allowed
		if (keychar == '.') {
			if (this.value.indexOf('.') == -1) { // Can only have a single decimal point
				return true;
			}
		}
	} 
	return false;
}

//==========TRIM=================
function trim(str)
{
   return str.replace(/^\s+|\s+$/g,'');
}
function CheckTrim(str)
{  while(str.charAt(0) == (" ") )
  {  str = str.substring(1);
  }
  while(str.charAt(str.length-1) == " " )
  {  str = str.substring(0,str.length-1);
  }
  return str;
}
//==========TRIM=================

// Code Updated on 31/07/2009 by Rohit Ayare 

//////////////----------OnKeyPress Event code to restrinct Kayboard input ends----------//////////
////////// Phone number validation start///////////////////////////////////////
function counthifen(str)
{
 var count = 0;
 var words = str.split("-");
 for (i=0 ; i < words.length ; i++)
 {
  if (words[i] != "-")
  count += 1;
 }
 count -= 1;
 return count;
}
function countplus(str)
{
 var count = 0;
 var words = str.split("+");
 for (i=0 ; i < words.length ; i++)
 {
  if (words[i] != "+")
  count += 1;
 }
 count -= 1;
 return count;
}
// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()-";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 5;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
/*function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}*/
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
//strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
//if(strPhone.indexOf("-")>2) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

///////// phone number validation ends ////////////////////////////////////////
function IsNumeric(sText)
{
	var ValidChars = "0123456789#&@*_-+/|!$%:.;`^<>[]{}=?)(,~'\\\ ";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < sText.length && IsNumber == true; i++) 
		{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) != -1) 
		{
		IsNumber = "false";
		//alert ("Please enter characters only.");						
		}
	}
	return IsNumber;   
}//character validation

function IsNumericdesg(sText)
{
	var ValidChars = "0123456789#&@*_-+/|!$%:;`^<>[]{}=?~'\\\)(.";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < sText.length && IsNumber == true; i++) 
		{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) != -1) 
		{
		IsNumber = "false";
		//alert ("Please enter characters only.");						
		}
	}
	return IsNumber;   
}//character validation
//only special char

function IsSpecialextra(sText)
{
	var ValidChars = "#&@*_\\/|!$%:;`-+^<>[]{}=?~'\\\)(.";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < sText.length && IsNumber == true; i++) 
		{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) != -1) 
		{
		IsNumber = "false";
		//alert ("Please enter characters only.");						
		}
	}
	return IsNumber;   
}//character validation

function IsSpecialeCompany(sText)
{
	var ValidChars = "1234567890#&@*_\\/|!$%:;`-+^<>[]{}=?~\\\)(.,";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < sText.length && IsNumber == true; i++) 
		{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) != -1) 
		{
		IsNumber = "false";
		//alert ("Please enter characters only.");						
		}
	}
	return IsNumber;   
}//character validation

function IsChar(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = "false";
			//alert ("please enter numeric only.");						
		}
	}
	
	return IsNumber;   
}//number validation
	function make_null()
	{
		document.getElementById("frm_vali").innerHTML="";
		document.getElementById("frm_cop").innerHTML="";
		document.getElementById("frm_email").innerHTML="";
		document.getElementById("frm_tel").innerHTML="";
		document.getElementById("frm_contry").innerHTML="";
		document.getElementById("frm_img").innerHTML="";
        document.getElementById("alt_img").innerHTML="";
        document.getElementById("frm_website").innerHTML="";
        document.getElementById("frm_comments").innerHTML="";
        
	}
 
function validate()
{
	//alert();
	
	if(trim(document.frm_phi.name.value)=="")
	{
		
		make_null();
		document.getElementById("frm_vali").innerHTML="Please enter your Name";
		document.frm_phi.name.focus();
        document.frm_phi.name.select();
		return false;
	}
	if(trim(document.frm_phi.name.value)!="")
	{
		make_null();
		var mytext=document.frm_phi.name.value;
		var number=IsSpecialeCompany(mytext);
		if (number=="false")
		{
			document.getElementById("frm_vali").innerHTML="Name field accepts characters only.";
			document.frm_phi.name.value="";
	        document.frm_phi.name.focus();
	        return false;
		}
	}
	
	if(trim(document.frm_phi.company.value)=="")
	{
		make_null();
		document.getElementById("frm_cop").innerHTML="Please enter Company Name.";
		document.frm_phi.company.focus();
        document.frm_phi.company.select();
		return false;
	}
    
    /*if(trim(document.frm_phi.company.value)!="")
	{
		make_null();
		var mytext=document.frm_phi.company.value;
		var number=IsSpecialeCompany(mytext);
		if (number=="false")
		{
			document.getElementById("frm_cop").innerHTML="Company Name field accepts characters only.";
			document.frm_phi.company.value="";
	        document.frm_phi.company.focus();
	        return false;
		}
	}*/
       if(trim(document.frm_phi.email.value)=="")
		{
			make_null();
			document.getElementById("frm_email").innerHTML="Please enter your Email ID.";
			document.frm_phi.email.focus();
            document.frm_phi.email.select();
			return false;
		}
		else
		{
			var str =/[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
			var eflag = document.frm_phi.email.value.match(str);
			if(eflag!=document.frm_phi.email.value)
			{
				make_null();
				document.getElementById("frm_email").innerHTML="Please enter a valid Email ID.";
	            //document.frm_phi.email.value="";
				document.frm_phi.email.select();
				document.frm_phi.email.focus();
				return false;
			}
		}
	     /*************************  Website First Character Blank Validation **************************/
         if(document.frm_phi.website.value!="")
    		{
    			if(trim(document.frm_phi.website.value)=="")
				{
					make_null();
					document.getElementById("frm_website").innerHTML="Please enter valid Website.";
    				document.frm_phi.website.focus();
                	document.frm_phi.website.select();
					return false;
				}
    		}
   /*************************  Website First Character Blank Validation **************************/
		
            var Phone=document.frm_phi.phone_number;		
			if ((Phone.value==null)||(Phone.value==""))
			{	
				make_null();
				//document.orderchkout.chkSame.checked=false;
				document.getElementById("frm_tel").innerHTML="<div><span>Please enter your Contact No.</span></div>";
				document.frm_phi.phone_number.focus();
                document.frm_phi.phone_number.select();
				return false
			}
			var phone1=trim(document.frm_phi.phone_number.value);
			if(phone1=="")
			{
				make_null();
				//document.frm_phi.chkSame.checked=false;
				document.getElementById("frm_tel").innerHTML="<div><span>Please enter your Contact No.</span></div>";
				document.frm_phi.phone_number.focus();
                document.frm_phi.phone_number.select();
				return false
			}
			
			var chkmax=phone1.length;			
			if(chkmax<5)
			{
				make_null();
				document.getElementById("frm_tel").innerHTML="<div><span>Contact No. field accepts 5 - 25 digits only.</span></div>";				
				document.frm_phi.phone_number.focus();
                document.frm_phi.phone_number.select();
				return false
			}
			
			if (checkInternationalPhone(Phone.value)==false)
			{
				//document.frm_phi.chkSame.checked=false;
				make_null();
				document.getElementById("frm_tel").innerHTML="<div><span>Contact No. field does not accept space characters.</span></div>";				
				document.frm_phi.phone_number.focus();
                document.frm_phi.phone_number.select();
				return false
			}
			phone_hifen=counthifen(Phone.value)
			if(phone_hifen>2)
			{
				make_null();
				document.getElementById("frm_tel").innerHTML="<div><span>Contact No. accepts maximum 2 hyphens.</span></div>";				
				document.frm_phi.phone_number.focus();
                document.frm_phi.phone_number.select();
				return false
			}
			
			phone_plus=countplus(Phone.value)			
			if(phone_plus>1)
			{
				make_null();
				document.getElementById("frm_tel").innerHTML="<div><span>Contact No. accepts maximum 1 plus sign.</span></div>";				
				document.frm_phi.phone_number.focus();
                document.frm_phi.phone_number.select();
				return false
			}
			
            
		if(document.frm_phi.country.value=="")
		{
			make_null();
			document.getElementById("frm_contry").innerHTML="Please select Country.";
			document.frm_phi.country.focus();
           // document.frm_phi.country.select();
			return false;
		}
        
		/*************************  Comments First Character Blank Validation **************************/
        
        if(document.frm_phi.comments.value!="")
		{
			if(trim(document.frm_phi.comments.value)=="")
			{
			make_null();
			document.getElementById("frm_comments").innerHTML="Please enter valid Comments.";
			document.frm_phi.comments.focus();
            document.frm_phi.comments.select();
			return false;
			}
		}
        
        /*************************  Comments First Character Blank Validation **************************/
        
		if(trim(document.frm_phi.code.value)=="")
		{
			make_null();
			document.getElementById("frm_img").innerHTML="Please enter Secure Image Code.";
			document.frm_phi.code.focus();
            document.frm_phi.code.select();
			return false;
		}
	    //==========================================
	    xmlHttp=GetXmlHttpObject()
	    if (xmlHttp==null)
	    {
	        alert ("Browser does not support HTTP Request");
	        return
	    }
		
		
		
		var city="";
		if(document.frm_phi.selcityaus.value!="0")
		{
			city=document.frm_phi.selcityaus.value;
		}
		if(document.frm_phi.selcityus.value!="0")
		{
			city=document.frm_phi.selcityus.value;
		}
		if(document.frm_phi.selcityuk.value!="0")
		{
			city=document.frm_phi.selcityuk.value;
		}
		if(document.frm_phi.selcityindia.value!="0")
		{
			city=document.frm_phi.selcityindia.value;
		}
				
	    str=document.frm_phi.code.value;
		var url="submit.php"
	    url=url+"?code="+str
		url=url+"&name="+trim(document.frm_phi.name.value);
		url=url+"&company="+trim(document.frm_phi.company.value);
		url=url+"&email="+trim(document.frm_phi.email.value);
		url=url+"&website="+trim(document.frm_phi.website.value);
		//url=url+"&con_code="+document.frm_phi.con_code.value+"-"+document.frm_phi.contact.value;
		url=url+"&contact="+trim(document.frm_phi.phone_number.value);
		url=url+"&country="+trim(document.frm_phi.country.value);
		url=url+"&city="+city;
		url=url+"&comments="+trim(escape(document.frm_phi.comments.value));
        //alert(url);	    
        xmlHttp.onreadystatechange=stateChangedp2
	    xmlHttp.open("GET",url,true)
	    xmlHttp.send(null)
}
function stateChangedp2()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    { 
		str = xmlHttp.responseText;
        //alert(str);
		str1 = str.split("-");
		str2 = str1[0];
		str3 = str1[1];
		pname = document.frm_phi.name.value;
		if(str2 == "true")
		{
			document.getElementById("emailsend").innerHTML="Dear "+str3+",<br>Thank you for mailing us<br><br><a href='../index.php' class='viewcase'>Click here to go back</a>" 
		}
		else if(str2 == "false")
		{
			make_null();
            document.getElementById("alt_img").innerHTML="Please re-enter secure image code." 
		}
    }
}
function GetXmlHttpObject()
{ 
     var objXMLHttp=null
     if (window.XMLHttpRequest)
     {
          objXMLHttp=new XMLHttpRequest()
     }
     else if (window.ActiveXObject)
     {
          objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
     }
     return objXMLHttp
}


