function callMeBooking(){
	if (document.getElementById("txtBRegnNo").value == "" || trim(document.getElementById("txtBRegnNo").value).length == 0) {
		alert("Enter Registration no");
		document.getElementById("txtBRegnNo").focus();
		return false;
	}
	if (document.getElementById("selCentre").value == 0) {
		alert("Select preferred service centre");
		document.getElementById("selCentre").focus();
		return false;
	}
	if (document.getElementById("selSerDD").value > 0  && document.getElementById("selSerMM").value > 0 && document.getElementById("txtSerYY").value > 0){
	d=document.getElementById("selSerDD").value;
	m=document.getElementById("selSerMM").value;
	y=document.getElementById("txtSerYY").value;
	dob=d + "-" + m + "-" +y;
		if(y<1900)
		{
			alert("Enter valid preferred date of service");
			document.getElementById("selSerDD").focus();				
			return false;
		}
		switch(m)
		{
			case '4':
			case '6':
			case '9':
			case '11':
				nodays=30;
				break;
			case '2':
				if(y%4==0)
					nodays=29;
			else
				nodays=28;
				break;
			default :
				nodays=31;
		}
		if(d>nodays)
		{
			alert("Enter valid preferred date of service");
			document.getElementById("selSerDD").focus();				
			return false;
		}
		// check for future dates
		var seldate = new Date();
		seldate = seldate.getTime();
		
		var lastdate = new Date();
		lastdate.setFullYear(y);
		lastdate.setMonth(m-1);	
		lastdate.setDate(d);
		lastdate = lastdate.getTime();
		
		if (lastdate < seldate) {
			alert("You can't select past dates");
			document.getElementById("selSerDD").focus();				
			return false;
		}		
		
	}else{
			alert("Enter valid preferred date of service");
		document.getElementById("selSerDD").focus();				
		return false;
	}
	return true;
}
var opt;
var inSel;
var outSel;
function callMeSignUp(){
	if (document.getElementById("txtName").value == "" || trim(document.getElementById("txtName").value).length == 0) {
		alert("Enter your Name");
        document.getElementById("txtName").focus();
		return false;
	}
	if (document.getElementById("txtEmail").value == "" || trim(document.getElementById("txtEmail").value).length == 0) {
       document.getElementById("txtEmail").focus();
		alert("Enter your Email");
		return false;
	}else{
		if (!isEmail(document.getElementById("txtEmail").value))
		{
       		document.getElementById("txtEmail").focus();
			alert("Invalid Email ID")
			return false;
		}	
	}
	if (document.getElementById("txtCEmail").value == "" || trim(document.getElementById("txtCEmail").value).length == 0) {
       document.getElementById("txtCEmail").focus();
		alert("Enter Confirmation Email");
		return false;
	}else{
		if (!(document.getElementById("txtEmail").value == document.getElementById("txtCEmail").value)){
       		document.getElementById("txtCEmail").focus();
			alert("Email and Confirmation email do not match");
			return false;
		}
	}
	if ((document.getElementById("txtMobile").value == "" || trim(document.getElementById("txtMobile").value).length == 0) && (document.getElementById("txtTel2").value == "" || trim(document.getElementById("txtTel2").value).length == 0)) {
       document.getElementById("txtMobile").focus();
		alert("Enter any one contact number");
		return false;
	}
	if (trim(document.getElementById("txtTel2").value).length > 0 && trim(document.getElementById("txtTel1").value).length == 0) {
       document.getElementById("txtTel1").focus();
		alert("Enter the STD code also");
		return false;
	}
	if (document.getElementById("selState").value == 0) {
		alert("Select your city");
		return false;
	}
	if (document.getElementById("selState").value > 0 && document.getElementById("selCity").value==0 && trim(document.getElementById("txtCity").value).length == 0) {
       document.getElementById("txtCity").focus();
		alert("Select your city or type if not in the list");
		return false;
	}

	//if (document.getElementById("txtAddress").value == "" || trim(document.getElementById("txtAddress").value).length == 0) {
//       document.getElementById("txtAddress").focus();
//		alert("Enter Address");
//		return false;
//	}
//	if (document.getElementById("txtArea").value == "" || trim(document.getElementById("txtArea").value).length == 0) {
//       document.getElementById("txtArea").focus();
//		alert("Enter Area");
//		return false;
//	}
//	if (document.getElementById("txtPin").value == "" || trim(document.getElementById("txtPin").value).length == 0) {
//       document.getElementById("txtPin").focus();
//		alert("Enter Pin code");
//		return false;
//	}
	return true;
}

function callMeSignUp1(){
	if (document.getElementById("txtName").value == "" || trim(document.getElementById("txtName").value).length == 0) {
		alert("Enter your Name");
        document.getElementById("txtName").focus();
		return false;
	}
	if (document.getElementById("txtEmail").value == "" || trim(document.getElementById("txtEmail").value).length == 0) {
       document.getElementById("txtEmail").focus();
		alert("Enter your Email");
		return false;
	}else{
		if (!isEmail(document.getElementById("txtEmail").value))
		{
       		document.getElementById("txtEmail").focus();
			alert("Invalid Email ID")
			return false;
		}	
	}
	if (document.getElementById("txtCEmail").value == "" || trim(document.getElementById("txtCEmail").value).length == 0) {
       document.getElementById("txtCEmail").focus();
		alert("Enter Confirmation Email");
		return false;
	}else{
		if (!(document.getElementById("txtEmail").value == document.getElementById("txtCEmail").value)){
       		document.getElementById("txtCEmail").focus();
			alert("Email and Confirmation email do not match");
			return false;
		}
	}
	if ((document.getElementById("txtMobile").value == "" || trim(document.getElementById("txtMobile").value).length == 0) && (document.getElementById("txtTel2").value == "" || trim(document.getElementById("txtTel2").value).length == 0)) {
       document.getElementById("txtMobile").focus();
		alert("Enter any one contact number");
		return false;
	}
	if (trim(document.getElementById("txtTel2").value).length > 0 && trim(document.getElementById("txtTel1").value).length == 0) {
       document.getElementById("txtTel1").focus();
		alert("Enter the STD code also");
		return false;
	}
	return true;
}



function callMeLogin(){
	if (document.getElementById("txtUName").value == "" || trim(document.getElementById("txtUName").value).length == 0) {
       document.getElementById("txtUName").focus();
		alert("Enter your Email");
		return false;
	}else{
		if (!isEmail(document.getElementById("txtUName").value))
		{
       		document.getElementById("txtUName").focus();
			alert("Enter correct email address")
			return false;
		}	
	}
	if (document.getElementById("txtUPass").value == "" || trim(document.getElementById("txtUPass").value).length == 0) {
       document.getElementById("txtUPass").focus();
		alert("Enter your Password");
		return false;
	}else{
		if (notValidData(document.getElementById("txtUPass").value))
		{
		   document.getElementById("txtUPass").focus();
			alert("Illegal characters not allowed in Password.");
			return false;
		}
	 }
	return true;
}
function hideme(selopt){
	if (selopt=="Login"){
		document.getElementById("imgLogin").className = 'over';
		document.getElementById("imgSignup").className = '';
		document.getElementById("dSignup").style.display = 'block'; 
		document.getElementById("dLogin").style.display = 'none'; 
		document.getElementById("dSubmit").style.display = 'block'; 
		document.getElementById("txtNew").value = 'S'; 				
	}else{
		document.getElementById("imgSignup").className = 'over';
		document.getElementById("imgLogin").className = '';
		document.getElementById("dSignup").style.display = 'none'; 
		document.getElementById("dLogin").style.display = 'block'; 
		document.getElementById("dSubmit").style.display = 'block'; 		
		document.getElementById("txtNew").value = 'L'; 				
	}
}

function isEmail(str)
{
    var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
    return regex.test(str);	
}
function notValidData(strng)
	{
	var errmsg;
	var illegalChars = /[\W]/; // allow only letters and numbers
    if (illegalChars.test(strng))
	{
      return true;
	  }
    else
	  {return false;}
	}

function getDetails(vopt, objinput, objoutput, objoutput2,objoutput3) 
{	

	opt = vopt;
	//alert(vopt);
	inSel = objinput;
	outSel = objoutput;
	//alert(opt);
//alert(inSel);
//alert(outSel);
	outSel2 = objoutput2;
	outSel3= objoutput3
	//alert(outSel3);
	if (opt == "compare"){
		input = document.getElementById(inSel).value;
		if (input != "") 
		{
			url  = 'getDetails.asp?get=compare&utype=' + input +'&dummy='+ new Date().getTime();
			loadXMLDoc_boat(url);
		}
	}	
	if (opt == "cities"){
		input = document.getElementById(inSel).value;
		if (input != "") 
		{
			url  = 'getDetails.asp?get=cities&utype=' + input +'&dummy='+ new Date().getTime();
			
			loadXMLDoc_boat(url);
		}
	}
	if (opt == "makemodel"){
		input = document.getElementById(inSel).value;
		if (input != "") 
		{
			url  = 'getDetails.asp?get=makemodel&utype=' + input +'&dummy='+ new Date().getTime();
			loadXMLDoc_boat(url);
		}
	}
	
	if (opt == "model"){
		
		input = document.getElementById(inSel).value;
		//alert(input);
		if (input != "") 
		{
			url  = 'getDetails.asp?get=model&utype=' + input +'&dummy='+ new Date().getTime();
			loadXMLDoc_boat(url);
		}
		else
		{
			alert("Select a Make");
			return false;
		}
	}
	if (opt == "version"){
		input = document.getElementById(inSel).value;
		if (input != "") 
		{
			url  = 'getDetails.asp?get=version&utype=' + input +'&dummy='+ new Date().getTime();
			loadXMLDoc_boat(url);
		}
		else
		{
			alert("Select a Model");
			return false;
		}
	}
}
function loadXMLDoc_boat(url) 
{	//alert(url);
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) 
	{   //alert(url);
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange_boat;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    }
	else if (window.ActiveXObject) 
	{
        req = new ActiveXObject("Microsoft.XMLHTTP");
     if (req) 
	 {
        	//alert(url);
			req.onreadystatechange = processReqChange_boat;
            req.open("GET", url, true);
            req.send();
     }
    }
}
function processReqChange_boat() 
{
    if (req.readyState == 4) 
	{
        if (req.status == 200) 
		{  //alert(req.responseText);
			if (opt=="model" || opt=="version" || opt=="cities" || opt=="makemodel"){
				var xmlDoc = req.responseXML;
				//var currNode;var oOption;
				ln = xmlDoc.documentElement.childNodes.length;
				//var root  = xmlDoc.documentElement;
				if (document.getElementById(outSel).length >0) document.getElementById(outSel).length = 0;
				select1 = document.getElementById(outSel);
				items = req.responseXML.getElementsByTagName("Category");
				if(items.length>0)
				{
					for (var i = 0; i < items.length; i++)
					{
					  id = getElementTextNS("", "catId", items[i], 0);
					  name = getElementTextNS("", "catname", items[i], 0);
					  appendToSelect(select1, document.createTextNode(name),id,'False');
					}
				}
			}
			if (opt=="compare"){
				var xmlDoc = req.responseXML;
				//var currNode;var oOption;
				ln = xmlDoc.documentElement.childNodes.length;
				//var root  = xmlDoc.documentElement;
				//alert(outSel);
				if (document.getElementById(outSel).length >0) document.getElementById(outSel).length = 0;
				select1 = document.getElementById(outSel);
				items = req.responseXML.getElementsByTagName("Category");
				if(items.length>0)
				{
					for (var i = 0; i < items.length; i++)
					{
					  id = getElementTextNS("", "catId", items[i], 0);
					  name = getElementTextNS("", "catname", items[i], 0);
					  appendToSelect(select1, document.createTextNode(name),id,'False');
					}
				}
				//alert(outSel2);
				if (document.getElementById(outSel2).length >0) document.getElementById(outSel2).length = 0;
				select1 = document.getElementById(outSel2);
				items = req.responseXML.getElementsByTagName("Category");
				if(items.length>0)
				{
					for (var i = 0; i < items.length; i++)
					{
					  id = getElementTextNS("", "catId", items[i], 0);
					  name = getElementTextNS("", "catname", items[i], 0);
					  appendToSelect(select1, document.createTextNode(name),id,'False');
					}
				}
				if (document.getElementById(outSel3).length >0) document.getElementById(outSel3).length = 0;
				select1 = document.getElementById(outSel3);
				items = req.responseXML.getElementsByTagName("Category");
				if(items.length>0)
				{
					for (var i = 0; i < items.length; i++)
					{
					  id = getElementTextNS("", "catId", items[i], 0);
					  name = getElementTextNS("", "catname", items[i], 0);
					  appendToSelect(select1, document.createTextNode(name),id,'False');
					}
				}
			}
		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}

function getElementTextNS(prefix, local, parentElem, index) 
{
    var result = "";
    if (prefix && isIE) 
	{
        result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
    }else{
        result = parentElem.getElementsByTagName(local)[index];
    }
    if (result) {
        if (result.childNodes.length > 1) {
           return result.childNodes[1].nodeValue;
        }else{
			if (result.childNodes.length == 0)
			{
				return "";
			}else{
				return result.firstChild.nodeValue;
			}
        }
   }else{
		return "" ;
   }
}

function appendToSelect(select, value, id, def) 
{
    opt = document.createElement("OPTION");
	opt.value = id;
	//alert(select);
    opt.appendChild(value);
    select.appendChild(opt);
}

function extractNumbers(str) {
  	numcheck = /^((\d*))$/;
	val = str;
	if (numcheck.test(val)) {
		return val;
	} else {
		return "0";
	}

}
function kp_numeric(e) {
	
	if(window.event) {
		// for IE, e.keyCode or window.event.keyCode can be used
		keynum = e.keyCode; 
	}
	else if(e.which) {
		// netscape
		keynum = e.which; 
	}
	else {
		// no event, so pass through
		return true;
	}

     if ((keynum != 46) && (keynum < 48 || keynum > 57))
         return false;
     if (keynum == 46) {
             return false;
	}
 }
function trim(str)
{
    return str.replace(/^\s+|\s+$/g,'');
}
