var xmlHttp;

///////////////----------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 validData(e,field) {
	var key;
	var keychar;
	
	if (window.event) {
		key = window.event.keyCode;
	}
	else if (e) {
		key = e.which;
	}
	else {
		return true;
	}
	keychar = String.fromCharCode(key);
 //characters which are allowed 
	switch(field)
	{
		case "name":
			chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'. "
			break;	
		case "email":
			chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890@_."
			break;	
			
		case "city":
			chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "
			break;	
		case "image":
			chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
			break;
		case "num":
			chars = "0123456789";
			break;
		case "nameSpl":
			chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'.@$&(),[]# "
			break;	
		case "phone":
			chars = "1234567890-+"
			break;	
	}
	// Control keys (no @#$% "magic numbers")
	if (
	(key == KEY_NULL) || 
	(key == KEY_NONE) || 
	(key == KEY_BCKSPC) || 
	(key == KEY_TAB) || 
	(key == KEY_ENTER) || 
	(key == KEY_ESC) || 
	((chars).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;
}

//////////////----------OnKeyPress Event code to restrinct Kayboard input ends----------//////////


function emailvalid(sText)
{
	var IsNumber=true;
	var pattern1=/[._]$/;
	var pattern2=/\._|_\./;
    if(sText.indexOf("__")!==-1)
    {4
	IsNumber = "false";  
    }else if(sText.indexOf("..")!==-1)
    {
    IsNumber = "false";  
    }else if(sText.match(pattern1)!==null)
    {
    IsNumber = "false";  
    }else if(sText.match(pattern2)!==null)
    {
    IsNumber = "false";  
    }else if(sText.indexOf("--")!==-1)
    {
    IsNumber = "false";  
    }
        
    return IsNumber;
}
//==========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=================

function CheckZero(sText)
{
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if(i==0)
		{
			if(Char==0)
			{
			    IsNumber = "false";
			}
		}
	}
	return IsNumber;   
}//number validation

function CheckStartNo(sText)
{
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if(i==0)
		{
			if(Char==0 || Char==1 || Char==2 || Char==3 || Char==4 || Char==5 || Char==6 || Char==7 || Char==8 || Char==9)
			{
			    IsNumber = "false";
			}
		}
	}
	return IsNumber;   
}

function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;
    elements.push(element);
  }

  return elements;
}


function limitText(limitField, limitCount, limitNum) 
        {
            if (limitField.value.length > limitNum) 
            {
                limitField.value = limitField.value.substring(0, limitNum);
            }
            else 
            {
                limitCount.value = limitNum - limitField.value.length;
            }
        }

function isValidEmail(email)
{ 
    var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/ 
    if(RegExp.test(email))
	{ 
        return true; 
    }
	else
	{ 
        return false; 
    } 
}
function checkField(){ 
    var DetailForm = document.DetailForm, error = ""; 
    if(!isValidEmail(DetailForm.email.value)){ 
        error += 'Please enter a valid E-mail\n'; 
    } 
    if(error != ""){ 
        alert(error); 
        return false; 
    }else{ 
        return true; 
    } 
} 
function IsSpecialMob(sText)
{
	var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ#&@*_\\/|!$%:;`-+.,^<>[]{}=?)(~'\\\"";
	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 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 IsNumericAddress(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;   
}



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 IsSpecial(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 IsSpecialenq(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;   
  

}
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;   
}//enquiry 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 counter(sText,charTest)
{
	var aposcnt;
	var cnt=0;
	var ch1;
	aposcnt="true";
	ch1=sText.charAt(0);
	if(ch1==charTest)
	{
		aposcnt="false";
	}
	for(i=0;i<sText.length;i++)
	{
		ch1=sText.charAt(i);
		if(ch1==charTest)
		{
			cnt ++;
		}
	}
	if(cnt>2)
	{
		aposcnt="false";
	}
	return aposcnt;
}//apostrophe and hypen validation for text and contact field

		
function reset1()
{
	$("alt_name").innerHTML="";	
	$("alt_city").innerHTML="";
	$("alt_mobile").innerHTML="";		
	$("alt_email").innerHTML="";	
	$("alt_date").innerHTML="";	
	$("alt_img").innerHTML="";
}
function alt_null()
{
	$("alt_name").innerHTML="";	
	$("alt_city").innerHTML="";
	$("alt_mobile").innerHTML="";		
	$("alt_email").innerHTML="";	
	$("alt_date").innerHTML="";	
	$("alt_img").innerHTML="";
}


function valid()
{
	
	if (document.DetailForm.name.value=="Name")
	{
		alt_null();
        $("alt_name").innerHTML="<div><span>Please enter your Name.</span></div>";
		document.DetailForm.name.focus()
		return false;
	}
	else if(document.DetailForm.name.value!="")
	{
		var mytext=trim(document.DetailForm.name.value);
		pop=document.DetailForm.name.value;
			//validation for space
			var ValidChars = " ";
			Char = pop.charAt(0);
			if (ValidChars.indexOf(Char) != -1) 
			{
				alt_null();
				$("alt_name").innerHTML="<div><span>Please enter valid Name.</span></div>";					
				document.DetailForm.name.focus();
				document.DetailForm.name.select();
				return false;
			}//validchars.indexof
			//validation for space
		
		var char1=counter(mytext,"'");
		if (char1=="false")
		{
			alt_null();
            $("alt_name").innerHTML="<div><span>Enter valid Name.</span></div>";
		    document.DetailForm.name.focus();
			document.DetailForm.name.select();
	        return false;
		}
         var char1=counter(mytext,".");
		if (char1=="false")
		{
			alt_null();
            $("alt_name").innerHTML="<div><span>Enter valid Name.</span></div>";
		    document.DetailForm.name.focus();
			document.DetailForm.name.select();
	        return false;
		}
		var mytext=trim(document.DetailForm.name.value);
		
		if(mytext=="")
    	{
    		alt_null();
            $("alt_name").innerHTML="<div><span>Please enter Your Name.</span></div>";
    		document.DetailForm.name.focus()
    		return false;
    	}
        var strcnt2=mytext.length;
        if(strcnt2<4 || strcnt2>50)
    	{
            alt_null();
            $("alt_name").innerHTML="<div><span>Name accept 4-50 characters only.</span></div>";
			document.DetailForm.name.value="";
	        document.DetailForm.name.focus();
			document.DetailForm.name.select();
	        return false;
        }
	}//name validation
	// city validation
	if (document.DetailForm.city.value=="City")
	{
		alt_null();
        $("alt_city").innerHTML="<div><span>Please enter your City.</span></div>";
		document.DetailForm.city.focus()
		return false;
	}
	else if(document.DetailForm.city.value!="")
	{
		var mytext=trim(document.DetailForm.city.value);
		pop=document.DetailForm.city.value;
			//validation for space
			var ValidChars = " ";
			Char = pop.charAt(0);
			if (ValidChars.indexOf(Char) != -1) 
			{
				alt_null();
				$("alt_city").innerHTML="<div><span>Please enter valid City.</span></div>";					
				document.DetailForm.city.focus();
				document.DetailForm.city.select();
				return false;
			}//validchars.indexof
			//validation for space
		
		var char2=counter(mytext,"'");
		if (char2=="false")
		{
			alt_null();
            $("alt_city").innerHTML="<div><span>Enter valid City.</span></div>";
		    document.DetailForm.city.focus();
			document.DetailForm.city.select();
	        return false;
		}
       var char2=counter(mytext,".");
		if (char2=="false")
		{
			alt_null();
            $("alt_city").innerHTML="<div><span>Enter valid City.</span></div>";
		    document.DetailForm.city.focus();
			document.DetailForm.city.select();
	        return false;
		}
		var mytext=trim(document.DetailForm.city.value);
		
        if(mytext=="")
    	{
    		alt_null();
            $("alt_city").innerHTML="<div><span>Please enter Your City.</span></div>";
    		document.DetailForm.city.focus()
    		return false;
    	}
        var strcnt2=mytext.length;
        if(strcnt2<4 || strcnt2>50)
    	{
            alt_null();
            $("alt_city").innerHTML="<div><span>City accept 4-50 characters only.</span></div>";
			document.DetailForm.city.value="";
	        document.DetailForm.city.focus();
			document.DetailForm.city.select();
	        return false;
        }
	} //city Validation
	//Mobile validation
	if (document.DetailForm.mobile.value=="Mobile")
		    {
				 alt_null();
				 document.getElementById("alt_mobile").innerHTML="<div><span>Please enter Mobile Number.</span></div>";
				document.DetailForm.mobile.focus();
		        return false;
		    }
		    if (document.DetailForm.mobile.value!="")
		    {
		       var mytext=trim(document.DetailForm.mobile.value);
		        var number=IsChar(mytext);
		        if (number=="false")
		        {
                    alt_null();
                    document.getElementById("alt_mobile").innerHTML="<div><span>Mobile Number accept digits & hyphen only.</span></div>";
		       		document.DetailForm.mobile.focus();
		            document.DetailForm.mobile.select();
		            return false;
		        }
		        var char3=counter(mytext,"-");
		        if (char3=="false")
		         {
		            alt_null();
		            document.getElementById("alt_mobile").innerHTML="<div><span>Enter valid Mobile Number.</span></div>";
	                document.DetailForm.mobile.focus();
					document.DetailForm.mobile.select();
		            return false;
		          }
		        if (mytext=="")
		          {
		              alt_null();
		              document.getElementById("alt_mobile").innerHTML="<div><span>Please enter Mobile Number.</span></div>";
		              document.DetailForm.mobile.focus();
		              return false;
		            }
		        if (document.DetailForm.mobile.value=="")
		          {
		             alt_null();
		             document.getElementById("alt_mobile").innerHTML="<div><span>Please enter Mobile Number.</span></div>";
		 			 document.DetailForm.mobile.focus();
		             return false;
		          }
		         var strcnt2=mytext.length;
		         if(strcnt2<8 || strcnt2>16)
		          {
		            alt_null();
		            document.getElementById("alt_mobile").innerHTML="<div><span>Mobile Number accept 8-16 digits only.</span></div>";
		            document.DetailForm.mobile.focus();
		            document.DetailForm.mobile.select();
		             return false;
		        }
		
		    }
		
		            
		
		            //validation of phone number
    if(document.DetailForm.email.value=="E-mail")
	{
		alt_null();
        $("alt_email").innerHTML="<div><span>Please specify your E-mail.</span></div>";
		document.DetailForm.email.value="";
		document.DetailForm.email.focus();
		ok=false
		return ok
	}
	if(document.DetailForm.email.value!="")
	{
		var str =/[-a-zA-Z0-9_\.]+@[-a-zA-Z0-9]+\.[-a-zA-Z\.]+/;
		var eflag = document.DetailForm.email.value.match(str);
		if(eflag!=document.DetailForm.email.value)
		{
			alt_null();
            $("alt_email").innerHTML="<div><span>Please enter a valid E-mail.</span></div>";
            document.DetailForm.email.value="";
			document.DetailForm.email.select();
			document.DetailForm.email.focus();
			return false;
		}
        var string1=document.DetailForm.email.value;
        if(string1!="")
        {
            var number=emailvalid(string1);
            if (number=="false")
            {
                alt_null();
                document.getElementById("alt_email").innerHTML="<div><span><span>Please enter a valid E-mail.</span></div>";
	            document.DetailForm.email.select();
	            document.DetailForm.email.focus();
	            return false;
            }
        }
        var mytext = trim(document.DetailForm.email.value);
        if(mytext=="")
        {
            alt_null();
            document.getElementById("alt_email").innerHTML="<div><span>Please enter E-mail.</span></div>";
	        document.DetailForm.email.focus();
            document.DetailForm.email.value="";
	        return false;
        }        
	}//email validation
	
	// calender vaildation
		if(document.DetailForm.date.value=="Expected Delivery Date") 
		{
			 alt_null();
			 document.getElementById("alt_date").innerHTML="<div><span>Please select Expected Date.</span></div>";
			//alert("Please select Event Date.")
			document.DetailForm.date.focus();
			return false;
		}
		
		if(document.DetailForm.date.value!="")
        {
            //function for logic of date
			//------------Code for validate Date------------------
                alt_null();
				var tdt=document.DetailForm.date.value;
                //alert (tdt);
                var dt11=tdt;
                var dt12=dt11.split("/");
                dt13=dt12[0];
                dt14=dt12[1];
                dt15=dt12[2];        
                //dt16=dt14+"/"+dt13+"/"+dt15
                dt16=dt13+"/"+dt14+"/"+dt15
                //alert (dt16);
                var myDate=new Date(dt16)
                var today=new Date()
				
				
				var	today =	new	Date();
				var	dateNow	 = today.getDate();
				var	monthNow = today.getMonth()+1;				
				var	yearNow	 = today.getYear();
				if (monthNow<10)
				{
					monthNow='0'+monthNow;
				}
				if (dateNow<10)
				{
					dateNow='0'+dateNow;
				}
				var curday=monthNow+"/"+dateNow+"/"+yearNow;
				//alert (dt16);
				//alert (curday);
				if (curday!=dt16)
				{
					
					if ((myDate > today))
	                {
						//alert(myDate);
						
	                }				
	                else
	                {
	                    //alert("Please select valid date");
						alt_null();
						document.getElementById("alt_date").innerHTML="<div><span>Please select valid Expected date</span></div>";
						document.DetailForm.date.value="";
	              		  document.DetailForm.date.focus();
	                    return false;
	                }
					
				}                     
		}
		else
		{
			 document.getElementById("alt_date").innerHTML="";
		}
	//image verfication
		if(trim(document.DetailForm.sub_code.value)=="")
		{
			alt_null();
			document.getElementById("alt_img").innerHTML="<div><span>Please enter Secure Image Code.</span></div>";
			document.DetailForm.sub_code.focus();
			document.DetailForm.sub_code.select();
			return false;
		}
	
	xmlHttp=GetXmlHttp();
	if(xmlHttp==null)
	{
		alert("Your Browser does not support this method.");
		return false;
	}
	img_code=escape(document.DetailForm.sub_code.value);
	name=escape(document.DetailForm.name.value);
	city=escape(document.DetailForm.city.value);
	mobile=escape(document.DetailForm.mobile.value);
	email=escape(document.DetailForm.email.value);
	date=escape(document.DetailForm.date.value);
	var url="submit.php";
	xmlHttp.open("POST",url,true);
	xmlHttp.onreadystatechange=statechange
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	param="sub_code="+img_code;
	param=param+"&name="+name;
	param=param+"&city="+city;
	param=param+"&mobile="+mobile;
	param=param+"&email="+email;
	param=param+"&date="+date;
	xmlHttp.send(param);
}//form validation


function statechange()
{
	if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		//alert(xmlHttp.responseText);
		if(xmlHttp.responseText=="false")
		{			
			if(document.getElementById("alt_img"))
			{				
				document.getElementById("alt_img").innerHTML="<div style='float:left;color:#FF0000;font-family:arial;font-size:12px;'>Please enter a valid Secure Image Code.</div>";	
				document.getElementById("secureimg").src="image-verification/securimage_show.php?sid=<? php echo md5(uniqid(time()));?>";				
			}			
		}		
		else
		{			
			location.href='thank-you.php';
			return false;
		}
	}
}
function GetXmlHttp()
{
	var objxmlhttp=null;
	if(window.XMLHttpRequest)
	{
		objxmlhttp=new XMLHttpRequest();
	}
	if(window.ActiveXObject)
	{
		objxmlhttp=new ActiveXObject("microsoft.XMLHTTP");
	}
	return objxmlhttp;
}
