
/* This is javaScript function Library which contains following functions:

		Function name :		isEmail()
				
					trim() 
					
					isNumber()

					isDate()
					 
					isPhone()
					 
					isPIN()

					isAlpha()
					
					isAlphaNumeric()
				
					IsBlank()

					fLookup(arg1,arg2,arg3)
					
					roundAmount(n)

*/


/***************************************
Function to Check for valid Email ID

***************************************/

	function isEmail(src)
	{
		var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
		var regex = new RegExp(emailReg);
		return regex.test(src);
	}


/***********************************************************************************
This function removes the unwanted spaces from left and right of the passed value
and returns the resultant value

***********************************************************************************/

	function trim (arg)
	{
		var s = arg.value
		var i = 0
		var j = s.length - 1;
		var ret
	
		while (i < s.length) {
			var c = s.charAt (i)
			if ((c==' ') || (c == '\t'))
				i++;
			else
				break;
		}
		
		while (j >= 0) {
			var c = s.charAt (j)
			if ((c==' ') || (c == '\t'))
				j--;
			else
				break;
		}
	
		if (i == s.length)
			var ret = ""
		else 
			ret = s.substring (i, j+1);
			return ret;
	}


/******************************************************************************
If the passsed parameter i is 1 this function checks for integer values else it
checks for float values and returns true/false 	

******************************************************************************/

	function isNumber(arg, i)
	{
		var s = arg.value; 
		if ((s == null) || (s.length == 0) || (s == ""))	
		{
			return false;
		}
	

		if (i == 1) {
			for (var i=0; i < s.length; i++) {
				var c = s.charAt (i);
				if (!((c >= "0") && (c <= "9"))) {
					//alert ("Invalid Integer");
					return true;
				}
			}
		}
		else {
			for (var i=0; i < s.length; i++) {
				var c = s.charAt (i);
				if (!(((c >= "0") && (c <= "9")) || (c == '.'))) {
					//alert ("Invalid number");
					return true;
				}
			}
		}
	}

/**************************************************************************************
Function to Check for a valid Date value (includes forward slash)

**************************************************************************************/
	
	function isDate(checkStr)
	{
		var flag;
		flag=true;
		var checkOK="1234567890/";
		for(idx=0;idx<checkStr.length;idx++){
			ch = checkStr.charAt(idx);
			for(ctr=0;ctr<checkOK.length;ctr++)
				if (ch==checkOK.charAt(ctr)){
					flag=true;
					break;
				}     
		 	if(ctr==checkOK.length){
		 		flag= false;
		 		break;
		 	}
		 }
	 	 if(flag)
		    return true;
		 else 
		    return false; 
	} 
	

/**************************************************************************************
Function to Check for a valid Telephone number value (includes space and hyphen)

**************************************************************************************/
	
	function isPhone(checkStr)
	{
		var flag;
		flag=true;
		var checkOK="1234567890 -";
		for(idx=0;idx<checkStr.length;idx++){
			ch = checkStr.charAt(idx);
			for(ctr=0;ctr<checkOK.length;ctr++)
				if (ch==checkOK.charAt(ctr)){
					flag=true;
					break;
				}     
		 	if(ctr==checkOK.length){
		 		flag= false;
		 		break;
		 	}
		 }
	 	 if(flag)
			{
			alert("test");	 	 
		    return true;
		    }
		 else 
		 {
		    alert("test1");
		    return false; 
		    }
	} 
	

/******************************************************************************
Function to Check for a valid PIn for address (length 6 and chars form 0 to 9)

******************************************************************************/

	function isPIN(arg)
	{
		var s = arg.value; 

		if (s.length != 6)	
		{
			return false;
		}
	

		for (var i=0; i < s.length; i++) {
			var c = s.charAt (i);
			if ((c >= "0") && (c <= "9")) {
				return true;
			}
		}
	}

/**************************************************************************************
Function to Check for a pure Alphabetic String (includes whitespace, full-stop and 
single quotation mark)

**************************************************************************************/
	
	function isAlpha(checkStr)
	{
		var flag;
		flag=true;
		var checkOK="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz.'";
		for(idx=0;idx<checkStr.length;idx++){
			ch = checkStr.charAt(idx);
			for(ctr=0;ctr<checkOK.length;ctr++)
				if (ch==checkOK.charAt(ctr)){
					flag=true;
					break;
				}     
		 	if(ctr==checkOK.length){
		 		flag= false;
		 		break;
		 	}
		 }
	 	 if(flag)
		    return true;
		 else 
		    return false; 
	} 
	

/********************************************************************************************
Function to Check for Alphanumeric String (includes whitespace, full-stop, comma, percent,
hash, question mark, hyphen, exclamation and single quotation mark)

********************************************************************************************/

	function isAlphaNumeric(checkStr)
	{
		var flag;
		 var checkOK="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz1234567890.,%#?-!/'&";
		 for(idx=0;idx<checkStr.length;idx++){
			ch = checkStr.charAt(idx);
			for(ctr=0;ctr<checkOK.length;ctr++)
				if (ch==checkOK.charAt(ctr)){
					flag=true;
					break;
				}     
		 	if(ctr==checkOK.length){
		 		flag= false;
		 		break;
		 	}
		 }
	 	 if(flag)
		    return true;
		 else 
		    return false; 
	} 


/***************************************
This function checks for blank field

***************************************/

	function IsBlank(fieldName)
	{
		if (trim(fieldName)=='')
		
			return true;
		else
		 return false; 
	}


/***************************************************************************************
This function opens a help lookup window to select a value from the results obtained 

***************************************************************************************/


	function fLookup(arg1)
	{
		var lookup=window.open("../Support/HSCodeLookup.aspx?strSql="+arg1,"Lookup","scrollbars,left=100,width=400,height=400;")
		
	}
	
	function fLookup1(arg1,arg2)
	{
		var lookup=window.open("../Support/HSCodeLookup.aspx?strSql="+arg1 + "&dispfld="+arg2,"Lookup","scrollbars,left=100,width=400,height=400;")
		
	}
	
	function fLookup2(arg1,arg2,arg3)
	{
		var lookup=window.open("../Support/Lookup2.aspx?strSql="+arg1+"&cName="+arg2+"&dispfld="+arg3,"Lookup","scrollbars,left=100,width=400,height=400;")
		
	}
	
	
	function fLookup3(arg1,arg2,arg3,arg4)
	{
		var lookup=window.open("../Support/Lookup3.aspx?strSql="+arg1+"&cName="+arg2+"&hdnid="+arg3+"&dispfld="+arg4,"Lookup","scrollbars,left=100,width=400,height=400;")
		
	}
	
	function fLookup4(arg1,arg2,arg3,arg4,arg5)
	{
		var lookup=window.open("../Support/Lookup4.aspx?strSql="+arg1+"&cName="+arg2+"&hdnid="+arg3+"&dispfld="+arg4+"&dispfld2="+arg5,"Lookup","scrollbars,left=100,width=400,height=400;")
		
	}
	
	function fLookup5(arg1,arg2,arg3,arg4,arg5,arg6)
	{
		var lookup=window.open("../Support/Lookup5.aspx?strSql="+arg1+"&cName="+arg2+"&hdnid="+arg3+"&dispfld="+arg4+"&dispfld2="+arg5+"&dispfld3="+arg6,"Lookup","scrollbars,left=100,width=400,height=400;")
		
	}
	
	function fLookup7(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
	{
		var lookup=window.open("../Support/Lookup7.aspx?strSql="+arg1+"&cName="+arg2+"&hdnid="+arg3+"&dispfld="+arg4+"&dispfld2="+arg5+"&dispfld3="+arg6+"&dispfld4="+arg7+"&dispfld5="+arg8,"Lookup","scrollbars,left=100,width=400,height=400;")
		
	}
	
	function chkMaxLen(field, maxlimit)
	{
		if (field.value.length > maxlimit)
		{
			field.value = field.value.substring(0, maxlimit);
			alert('The value can only be ' + maxlimit +' characters in length.');
			return false;
		}
	}

	
/***************************************************************************************
This function rounds of a number passed.

***************************************************************************************/
	
	function roundAmount(n)
	{
		if (n.value.length !=  0)
		{
			var s = "" + Math.round(parseFloat(n.value) * 100) / 100 ;
			var i = s.indexOf('.');
			if (i < 0) 
			{
				n.value = s + ".00";
				return false;
			}
			var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3);
			if (i + 2 == s.length) 
			{
				t += "0";					
			}
			n.value = t;
		}		
	}
	
	
function ValidateDate(source ,arguments) 
{
	var dateStr= arguments.Value;
	
	var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/;
    var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
 
     if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) 
    { 
	    arguments.IsValid=false;
	 //   source.Enabled=true;  
	 //   source.Visible=true;
	  //  source.focus();
    }
    var parts = dateStr.split(RegExp.$1); 
    var dd = parts[0];
    var mm = parts[1];
    var yy = parts[2];
    
    if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
    if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
 
    var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
    if (parseFloat(dd) != dt.getDate()) 
    {  
		arguments.IsValid =false;
     }   
    if (parseFloat(mm)-1 != dt.getMonth()) 
    { 
		arguments.IsValid=false; 
    }  
    arguments.Isvalid=true;
}