/***************************************************
 Phone validation: Allows digits and Spaces
****************************************************/
function isPhone(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value
	if(str!="")
	{
		var flag="Y";
		str1="0123456789 ()-/+";  
		for(i=0;i<len;i++)
		{
			if((str1.indexOf(str.charAt(i)))==-1)
			{
				flag="N";
				break;
	 		}
		}
		if(flag=="N")
		{
			alert("Please enter valid phone number");
			form1.select();
			form1.focus();
			return false;
		}
		return true;
	}
}

/******************************************************
Fax Validation: Allows digits and -(hyphen)
*******************************************************/
function isFax(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value
	if(str!="")
	{
		var flag="Y";
		str1="0123456789 ()-/+";  
		for(i=0;i<len;i++)
		{
			if((str1.indexOf(str.charAt(i)))==-1)
			{
				flag="N";
				break;
	 		}
		}
		if(flag=="N")
		{
			alert("Please enter valid fax number");
			form1.select();
			form1.focus();
			return false;
		}
		return true;
	}	
}
/******************************************************
Sales Agent Name Validation: Allows digits and -(hyphen)
*******************************************************/
function isValidAgentName(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value

    str1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-,.&'()/ ";  
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1)
		{
    	   alert("Enter valid Sales Agent Name.")
		   form1.select();
		   form1.focus();
	       return false;
		}
	}
	return true;
}
/**************************************************************
Maximum Characters Check: Checks for maximum characters entered
**************************************************************/
function CheckMaximumLength(strCtrl,CtrlLength)
{
	var ctlId = strCtrl.id;
	var ctlValue = document.getElementById(ctlId).value;
	var len = ctlValue.length;
	if(len >= CtrlLength)
	{
		alert('Maximum '+CtrlLength+' charaters allowed');
		return false;
	}
	return true;
}
/********************************************************
Field like: Checks for entered phrase in the name field.
********************************************************/
function isFieldLike(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value

    str1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %";  
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1)
		{
    		alert("Enter alphabets only")
			form1.select();
			form1.focus();
			return false;
		}
	}
	return true;
}

/********************************************************
Address Check: Checks for entered addressin the field.
********************************************************/
function isAddress(form)
{
	var len,str,str1,i;
	len=form.value.length
	str=form.value

    str1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-,.&!'#%():/ \n";  
	for(i=0;i<len;i++)
	{
		
		if((str1.indexOf(str.charAt(i)))==-1)
		{
    		alert("Enter correct address.");
    		form.select();
    		form.focus();
			return false;
		}
	}
	return true;
}

//Check  Gsa Name format
function isAmount(form1)
{
	var len,str,str1,i;
	len=form1.value.length;
	str=form1.value;
	
	str1="0123456789.";
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1)
		{
			alert("Enter digits only"); 	                
 	        form1.select();
 	        form1.focus();
			return false;
		}
	}
	var arr = new Array();
	arr = str.split(".");
	if (arr.length > 2)
	{
		alert("Invalid Amount");
		form1.select();
		form1.focus();
		return false;
	}
	return true
}

function isGsa(Gsa)
{
	var str=Gsa.value;
	if(str!="")
	{
		if(str.substring(0,4)!="GSA-")
		{
			alert("Invalid GSA ID\n(Ex: GSA-Tcs-USA)");
			Gsa.select();
			Gsa.focus();
		}
		return true;
	}
}

//Check  Dsa Name format
function isDsa(Dsa)
{
	var str=Dsa.value;
	
	if(str!="")
	{
		if(str.substring(0,4)!="DSA-")
		{
			alert("Invalid DSA ID\n(Ex: DSA-Tcs-IN)");
			Dsa.select();
			Dsa.focus();
		}
		return true;
	}
}

//Check  whether GSA or DSA
function isDsaOrDsa(Id)
{
	var str=Id.value;
	if(str!="")
	{
		if((str.substring(0,4)!="DSA-") && (str.substring(0,4)!="GSA-"))
		{
			alert("Invalid ID\n(Ex: GSA / DSA-CompanyName-CountryName)");
			Id.select();
			Id.focus();
		}
		return true;
	}
}


function isEmail(mail)
{
	if(mail.value!="")
	{
		email=mail.value
		len=mail.value.length-1
		s='@'
		p='.'
		s1=email.indexOf(s)
		s2=email.indexOf(p)
		if((s1<1)||(s1==len)||((s2-s1)==1)||(s2==len))
		{
  			alert("Please Enter valid Email ID ")
			mail.select();
			mail.focus();
		    return false;
		}
	}
	return true;
}

//Validate Null values

function isNull(e)
{
	if((e.value=="")||(e.selectedIndex==0))
	{
		return true;
	}
}

/**
* The function isAlphaNumeric checks for the validity of the entered fields
* which should alphanumeric only. Other wise it alerts for proper valid data.
*/
function isAlphaNumeric(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value

    str1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-,.&!'#%():/ \n";  
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1 && str.charCodeAt(i) != 13)
		{
    	    alert("Enter Alphabets or Numbers in the field");
    	    form1.select();
    	    form1.focus();
	        return false;
		}
	}
	return true;
}



function isAlphaNumerics(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value

    str1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";  
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1)
		{
    	    alert("Enter Alphabets or Numbers in the field")
			form1.select();
			form1.focus();
	        return false;
		}
	}
	return true;
}

function isPhoneNumber(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value
	if(str!="")
	{
		var flag="Y";
		str1="0123456789- ,()/";
		for(i=0;i<len;i++)
		{
			if((str1.indexOf(str.charAt(i)))==-1)
			{
				flag="N";
				break;
	 		}
		}
		if(flag=="N")
		{
			alert("Please enter valid phone number");
			form1.select();
			form1.focus();
		}
		return true;
	}
}

/* This function allows numbers and comma */
function isPhoneNumbers(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value
	if(str!="")
	{
        var flag="Y";
        str1="0123456789- ,()/";  
		for(i=0;i<len;i++)
		{
			if((str1.indexOf(str.charAt(i)))==-1)
			{
    			var flag="N";
    			break;
			}
		}
		if(flag == "N")
		{
			alert("Invalid phone no(s)\nEx: 040-76357(5678) 040-76889(7868)");
    		form1.select();
    		form1.focus();
    	}
		return true
	}
}

/**
* The function isNumeric checks for the validity of the entered fields
* which should numeric only. Other wise it alerts for proper valid data.
*/

function isNumeric(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value
	
	str1="0123456789"
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1)
		{
			alert("Enter digits only"); 	                
 	        form1.select();
 	        form1.focus();
			return false;
		}
	}
	return true
}

/* Zip Validation */
function isZip(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value
	
	str1="0123456789"
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1)
		{
			alert("Please enter valid zip Code"); 	                
 	        form1.select();
 	        form1.focus();
			return false;
		}
	}
	return true
}
/***********************************************/

/**
* The function isAlpha checks for the validity of the entered fields
* which should characters only. Other wise it alerts for proper valid data.
*/
function isAlpha(form1)
{
	var len,str,str1,i
	
	str=form1.value
	len=form1.value.length
	str=form1.value
        str1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-,.\n "
            
	for(i=0;i<len;i++) 
        {
	    if((str1.indexOf(str.charAt(i)))==-1)
	    {
    	    alert("Enter only alphabets in this field")
			form1.select();
			form1.focus();
			return false
	    }
	}
	return true
}

function isWhitespace(s)
{   var i;
    // whitespace characters
    var whitespace = " \t\n\r";	

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }
    // All characters are whitespace.
    return true;
}

//Validate empty space
function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

//Validate Name fields
function valName(k)                   //  Form level validation
{
	var a,s,flag;
	a=k.value;
	s=a.length;
	for( var i=0;i<s;i++)
	{
		if("1234567890!~`@#%$%^*;+-=/\|".indexOf(a.charAt(i))!=-1)
			flag=1;
	}
	if(flag==1)
	{
		alert("Invalid name");
		k.select();
		k.focus();
	}
	return true; 
}

function valCountry(k)                   //  Form level validation
{
  var a,s,flag;
	a=k.value;
	s=a.length;
	for(var i=0;i<s;i++)
	{
		if ("1234567890!~`@#%?&$%^*();+-=/\.|".indexOf(a.charAt(i))!=-1)
		flag=1;
	}
	if(flag==1)
	{
		alert("Invalid name");
		k.select();
		k.focus();
	}
	return true; 
}

function isAlphabets(k)                   //  Form level validation
{
	var a,s,flag;
	a=k.value;
	s=a.length;
	for( var i=0;i<s;i++)
	{
		if("1234567890!~`@#%?&$%^*();<>+-=/\.|".indexOf(a.charAt(i))!=-1)
			flag=1;
	}
	if(flag==1)
	{
		alert("Enter only alphabets");
		k.select();
		k.focus();
	}
	return true; 
}

function isAlphabets(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value

        str1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \n";  
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1)
		{
			alert("Enter Alphabets only")
			form1.select();
			form1.focus();
	        return false
		}
	}
	return true
}

// Validate Email ID.
function CheckEmail(email)
 {
		
		var str=email.value;
		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		if ( lstr != 0 )
		{
			if (str.indexOf(at)==-1)
			{
			alert("Invalid E-mail ID");
			email.select();
			email.focus();
			return false
			}

			if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
			{
			alert("Invalid E-mail ID")
			email.select();
			email.focus();
			return false
			}

			if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
			{
				alert("Invalid E-mail ID")
				email.select();
				email.focus();
				return false
			}

			if (str.indexOf(at,(lat+1))!=-1)
			{
				alert("Invalid E-mail ID")
				email.select();
				email.focus();
				return false
			}

			if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
			{
				alert("Invalid E-mail ID")
				email.select();
				email.focus();
				return false
			}

			if (str.indexOf(dot,(lat+2))==-1)
			{
				alert("Invalid E-mail ID")
				email.select();
				email.focus();
				return false
			}
			
			if (str.indexOf(" ")!=-1)
			{
				alert("Invalid E-mail ID")
				email.select();
				email.focus();
				return false
			}
		}
 		return true					
	}
	
function isFloat(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value

        str1="0123456789.";  
	for(i=0;i<len;i++)
	{
		if((str1.indexOf(str.charAt(i)))==-1)
		{
    	   alert("Enter the correct value.")
		   form1.select();
		   form1.focus();
	       return false
		}
	}
	return true
}

function ValidatingControls(strctrls,strctrldescs,boolctrlemptychks,boolctrlzerochks)
{
	var strctrl = new Array();
	var strctrldesc = new Array();
	var boolctrlemptychk = new Array();
	var boolctrlzerochk = new Array();
	var strMsg = "",strFocusCtrl = "";
	
	strctrl = strctrls;
	strctrldesc = strctrldescs;
	boolctrlemptychk = boolctrlemptychks;
	boolctrlzerochk = boolctrlzerochks;
	for(var i = 0; i <= strctrl.length - 1;i++)
	{
		if (strctrl[i].substr(0,3) == "txt")
		{
			if(boolctrlemptychk[i] == true && document.getElementById(strctrl[i]).value == "")
			{
				strMsg += "Enter " + strctrldesc[i] +"\n";
				if (strFocusCtrl == "") strFocusCtrl = strctrl[i];
			}
			else if (boolctrlzerochk[i] == true)
			{
				if(parseInt(document.getElementById(strctrl[i]).value) == 0)
				{
					strMsg += strctrldesc[i] +" cannot be zero\n";
					if (strFocusCtrl == "") strFocusCtrl = strctrl[i];
				}
			}
		}
		else if (strctrl[i].substr(0,3) == "ddl")
		{
			if(document.getElementById(strctrl[i]).selectedIndex <= 0)
			{
				strMsg += "Select " + strctrldesc[i] +"\n";
				if (strFocusCtrl == "") strFocusCtrl = strctrl[i];
			}
		}
	}
	if(strMsg != "")
	{
		alert(strMsg);
		document.getElementById(strFocusCtrl).focus();
		return false;
	}
	else
		return true;
}
function setfocus(ctrlId)
{
	document.getElementById(ctrlId).focus();
	if(ctrlId.substring(0,3) == "txt")
		document.getElementById(ctrlId).select();
}



//Written by Ganesh 
//Date : 26/May/2005
//Purpose : Date Validation
function DateValidation(formobj)
{
	var len,DateStr,str,i
	len=formobj.value.length
	DateStr=formobj.value

    str="0123456789/\b\n";  
	for(i=0;i<len;i++)
	{
		if((str.indexOf(DateStr.charAt(i)))==-1)
		{
			alert("Invalid Date")
			setfocus(formobj.id);
	        return false;
		}
	}
	
	if (DateStr.replace(/^\s*|\s*$/g,"") == "") return true;
	
	
	if (DateStr.substr(2,1) != "/" || DateStr.substr(5,1) != "/")
	{	
		alert("Invalid Date")
		setfocus(formobj.id);
	    return false;
	}

	var a = new Array();
	a = DateStr.split("/");
	
	if (DateStr.length != 10 || a.length != 3)
	{
		alert("Invalid Date");
		setfocus(formobj.id);
		return false;					
	}
	var strTemp = 0;
	if (DateStr.substr(0,1) == "0")
		strTemp  = DateStr.substr(1,1)
	else
		strTemp  = DateStr.substr(0,2)
	var day = parseInt(strTemp);

	if (DateStr.substr(3,1) == "0")
		strTemp  = DateStr.substr(4,1)
	else
		strTemp  = DateStr.substr(3,2)
	var month = parseInt(strTemp);
	
	var year = parseInt(DateStr.substr(6));
	
	if (day > 31 || day < 1)
	{
		alert("Invalid Day");
		setfocus(formobj.id);
		return false;
	}
	
	if (month > 12 || month < 1)
	{
		alert("Invalid Month");
		setfocus(formobj.id);
		return false;
	}

	var dt = new Date(month +"/" + day +"/" + year);
	var dtstr1 = dt.getDate() +"/" + dt.getMonth() +"/" + dt.getFullYear();
	var dtstr2 = day +"/" + (parseInt(month) -1) +"/" + year
	if (dtstr1 != dtstr2)
	{	
		alert("Invalid Date")
		setfocus(formobj.id);
		return false
	}
	
	dtstr1 = new Date("01/01/1850")
	
	if (dt < dtstr1)
	{
		alert("Invalid Date");
		setfocus(formobj.id);
		return false;
	}
	
	return true
}

function isTime(form1)
{
	var len,str,str1,i
	len=form1.value.length
	str=form1.value
	if(str!="")
	{
        var flag="Y";
        str1="0123456789:";  
		for(i=0;i<len;i++)
		{
			if((str1.indexOf(str.charAt(i)))==-1)
			{
    		var flag="N";
    		break;
		       
			}
		}
		if(flag == "N")
		{
		alert("Invalid Time (Ex : 08:12)");
		form1.value = "";
    	form1.focus();
    	}
		return true
	}
}



function ValidatingControls(strctrls,strctrldescs,boolctrlemptychks,boolctrlzerochks)
{
	var strctrl = new Array();
	var strctrldesc = new Array();
	var boolctrlemptychk = new Array();
	var boolctrlzerochk = new Array();
	var strMsg = "",strFocusCtrl = "";
	//var strDateCtrl = false;
	
	strctrl = strctrls;
	strctrldesc = strctrldescs;
	boolctrlemptychk = boolctrlemptychks;
	boolctrlzerochk = boolctrlzerochks;
	for(var i = 0; i <= strctrl.length - 1;i++)
	{
		if (strctrl[i].length >= 3)
		{
			if (strctrl[i].substr(0,3) == "txt")
			{
				if(boolctrlemptychk[i] == true && document.getElementById(strctrl[i]).value == "")
				{
					//if (strctrl[i].indexOf("To") >= 0 && strDateCtrl == true)
					//	continue;
					strMsg += "Enter " + strctrldesc[i] +"\n";
					
					if (strFocusCtrl == "") strFocusCtrl = strctrl[i];
					
					//if (strctrl[i].indexOf("From") >= 0)
					//	strDateCtrl = true;
				}
				else if (boolctrlzerochk[i] == true)
				{
					if(parseInt(document.getElementById(strctrl[i]).value) == 0)
					{
						strMsg += strctrldesc[i] +" cannot be zero\n";
						if (strFocusCtrl == "") strFocusCtrl = strctrl[i];
					}
				}
			}
			else if (strctrl[i].substr(0,3) == "ddl")
			{
				if(document.getElementById(strctrl[i]).selectedIndex <= 0)
				{
					strMsg += "Select " + strctrldesc[i] +"\n";
					if (strFocusCtrl == "") strFocusCtrl = strctrl[i];
				}
			}
		}
	}
	if(strMsg != "")
	{
		alert(strMsg);
		setfocus(strFocusCtrl);
		return false;
	}
	else
		return true;
}


//Setting focus to a controls (If TextBox, also selecting the text)
//Written by Ganesh 
//Date : 26/May/2005
function setfocus(objname)
{
	//if (formobj.elements[objname].type == "text")
	if (document.getElementById(objname).type == "text")
		document.getElementById(objname).select();
	document.getElementById(objname).focus();
}

function CheckMaxlength(strCtrl,CtrlLength)
{
	if(strCtrl.length >= CtrlLength)
	{
		alert('Maximum '+ CtrlLength +' charaters allowed');
		return false;
	}
	return true;
}

