var nextfield='agtel1';
var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;
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;
         }
      }
   return IsNumber;

   }


	function isInteger(s)
	{   var i;
	    for (i = 0; i < s.length; i++)
	    {
	        var c = s.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }
	    return true;
	}

	function stripCharsInBag(s, bag)
	{   var i;
	    var returnString = "";
	    for (i = 0; i < s.length; i++)
	    {
	        var c = s.charAt(i);
	        if (bag.indexOf(c) == -1) returnString += c;
	    }
	    return returnString;
	}

	function checkInternationalPhone(strPhone)
	{
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	}




function check_Phone()
{
var flag=1;
var Phone=document.smartform.agtel1;

	if(Phone.value.length!=10)
	{
	alert("Please Enter a Valid 10 digit Phone Number e.g. 4164848144")
		flag=0;
		Phone.value="";
		Phone.focus();
		return;
	}
	else if (checkInternationalPhone(Phone.value)==false)
	{
		alert("Please Enter a Valid Phone Number")
		flag=0;
		Phone.value="";
		Phone.focus();
		return;
	}

	return flag;
}





function check_validity()

{
var flag=1;
		if (document.smartform.vcode.value=="")
		{
			document.smartform.vcode.focus();
			alert("Vendor code can not be left blank");
			flag=0;
			return ;
		}
		if (document.smartform.vcode.value!="")
		{
			var vcodet=document.smartform.vcode;

			if (IsNumeric(vcodet.value)==false)
			{
			document.smartform.vcode.value=""
			alert("Vendor code should be numeric only;");
			document.smartform.vcode.focus();
			flag=0;
			return ;
			}
		}

		flag=check_Phone();
		if (flag==1)
		{
			var clcode=getclientCode(document.smartform.agtel1.value);
			if(clcode=='No')
			{
			flag=0;
			alert("Phone Number does not exists in our Records")
			document.smartform.agtel1.focus();
			}
			else if(clcode=='0')
			{
			flag=0;
			}
			else
			{
			document.smartform.clcode.value=clcode;
			}
			
		}
		
		if (document.smartform.Uname.value=="")
		{

			alert("Login field can not be left blank");
			document.smartform.Uname.focus();
			flag=0;
			return;

		}

		if (document.smartform.Uname.value.length<2 || document.smartform.Uname.value.length>10 )
			{
			alert("Login field length should be between 2 and 10!");
			document.smartform.Uname.value="";
			document.smartform.Uname.focus();
			flag=0;
			return;
			}


	if (document.smartform.PWD.value=="")
		{

			alert("Password can not be left blank");
			document.smartform.PWD.focus();
			flag=0;
			return;

		}

	if (document.smartform.PWD.value!="")
	{
		if (document.smartform.PWD.value.length<6 || document.smartform.PWD.value.length>10 )
		{
		alert("password length should be between 6 and 10!");
		document.smartform.PWD.value="";
		document.smartform.PWD.focus();
		flag=0;
		return;
		}
	}

	if (flag==1)
	{
		document.smartform.submit();
	}

}


function enterKey(evt)
{
  var evt = (evt) ? evt : event
  var charCode = (evt.which) ? evt.which : evt.keyCode
  if (charCode == 13)
  {

	if (nextfield == 'Search')
		check_validity();
	else
		eval('document.smartform.' + nextfield + '.focus()');

  }
}

function getclientCode(phone)
{
	var URL=window.location.href;
	var vclcode ='0';
	if (window.XMLHttpRequest)
	{
	
	var oXMLHTTP = new XMLHttpRequest();
	if (URL.indexOf("localhost") == -1)
	var sURL = "http://booking.sunspotsholidays.com/b2b/phonetoclientcode.asp?agtel1="+ phone
	else
	var sURL = "http://localhost/airbooking.sunspotsholidays/b2b/phonetoclientcode.asp?agtel1="+ phone
		try 
		{
			//netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
			oXMLHTTP.open( "POST", sURL, false );
			oXMLHTTP.send(null);
			vclcode=oXMLHTTP.responseText;
		}
		catch (e)
		{
			alert("Could not validate Agency Phone at this time.");
			document.smartform.agtel1.focus();
		}

	
	}
	else if (window.ActiveXObject)
	{
	var oXMLHTTP = new ActiveXObject( "Microsoft.XMLHTTP" );
	if (URL.indexOf("localhost") == -1)
	var sURL = "http://booking.sunspotsholidays.com/b2b/phonetoclientcode.asp?agtel1="+ phone
	else
	var sURL = "http://localhost/airbooking.sunspotsholidays/b2b/phonetoclientcode.asp?agtel1="+ phone
	
			try 
			{
				oXMLHTTP.open( "POST", sURL, false );
				oXMLHTTP.send();
				vclcode=oXMLHTTP.responseText;
			}
			catch (e)
			{
				alert("Could not validate Agency Phone at this time.");
				document.smartform.agtel1.focus();
			}
	}
	
	return vclcode;
}