var sTrmText
function isCreditCard(st)     // function to check validity of credit card according to law
{
	// Encoding only works on cards with less than 19 digits
	if (st.length > 19)
		return false;

	if (st == 0)
		return false;

	sum = 0; mul = 1; l = st.length;
	for (i = 0; i < l; i++) 
	{
		digit = st.substring(l-i-1,l-i);
		tproduct = parseInt(digit ,10)*mul;

		if (tproduct >= 10)
			sum += (tproduct % 10) + 1;
		else
			sum += tproduct;

		if (mul == 1)
			mul++;
		else
			mul--;
	}
	if ((sum % 10) != 0)
		return false;
	else
		return true
} // END FUNCTION isCreditCard()

function cardval(s) 
{
	// remove non-numerics
	var v = "0123456789";
	var w = "";
	for (i=0; i < s.length; i++) 
	{
		x = s.charAt(i);
		if (v.indexOf(x,0) != -1)
		w += x;
	}

	// validate number

	j = w.length / 2;
	if (j < 6.5 || j > 8 || j == 7) return false;
	k = Math.floor(j);
	m = Math.ceil(j) - k;
	c = 0;
	for (i=0; i<k; i++) 
	{
		a = w.charAt(i*2+m) * 2;
		c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}
	for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
}

function ShowWindow(loc,h,w)
{
var cname=escape(loc);
winfeatures = "dependent= yes,height="+h+",width="+w+",scrollbars=1,resizable=yes,left=0,top=0,toolbar=no,menubar=no";
var ah = screen.availHeight - 20;
var aw = screen.availWidth - 10;
var xc = (aw - 700) / 2;
var yc = (ah - 500) / 2;
winfeatures += ",left=" + xc + ",screenX=" + xc;
winfeatures += ",top=" + yc + ",screenY=" + yc;
wind = window.open(loc,"Info",winfeatures);
}

function alertMessage(obj,msg)
{
	alert(msg);
	obj.focus();
	return false;
}

function Tarea(obj,len)
{ 
	if (obj.value.length>len)
		obj.value= obj.value.substring(0,len)
}
function validate_onlyNumbers(ob)
{	   
	var str	   	
	s=ob.value
	str=""

	bag="0123456789"
	for (i = 0; i < s.length; i++)
	{   
    	c = s.charAt(i)
	    if (bag.indexOf(c) == -1) 
			str=1
	}
	if(str==1)
	{
		ob.focus()			
		return false
	}
	else
		return true
}

function Trimcr(ob)
{
	sTrmText=ob.value
	var bFirstTime = "T";
	var sSpace = "";
	var sCurrChar = "";
	var sRtnString = "";

	for(nI=0; nI<sTrmText.length;nI++) 
	{
		sCurrChar=sTrmText.charAt(nI);
		if(sCurrChar=="\n" || sCurrChar=="\r")
		{
			sSpace=sSpace+" ";
		}
		else
		{
			if (bFirstTime=="T")
			{
				sRtnString=sCurrChar;
				bFirstTime="F";
			}
			else
			{
				sRtnString=sRtnString+sSpace+sCurrChar;
			}
			sSpace="";
		}
	}
	ob.value=sRtnString
	return sRtnString;
}

function isOnlyZero(obj)
{
	var str = obj.value.toString();

	len = str.length;

	for ( i = 0 ; i < len ; i++ )
	{
         if ( str.charAt(i) != '0')
             return false ;
    }
}

function Trimzero(ob)
{
	if(isOnlyZero(ob)==true)
	{
		ob.value="";
		return false;
	}
}

function Trim(obj)
{
	var sTrmText=obj.value;

	var bFirstTime = "T";
	var sSpace = "";
	var sCurrChar = "";
	var sRtnString = "";

	for(nI=0;nI<sTrmText.length;nI++) 
	{
		sCurrChar=sTrmText.charAt(nI);
		if (sCurrChar==" ")
		{
			sSpace=sSpace+" ";
		}
		else
		{
			if (bFirstTime=="T")
			{
				sRtnString=sCurrChar;
				bFirstTime="F";
			}
			else
			{
				sRtnString=sRtnString+sSpace+sCurrChar;
			}
			sSpace="";
		}
	}
	obj.value=sRtnString
	return sRtnString;
}

function validate_int(ob)
{	  
	var str	   	
	s=ob.value
	str=""
	bag="0123456789-() "
	for (i = 0; i < s.length; i++)
	{   
    	c = s.charAt(i)
	    if (bag.indexOf(c) == -1)
	    str=1
	}
	if(str==1)
	{
		ob.focus()			
		return false
	}
}

function validate_phone(ob)
{	  
	var str	   	
	s=ob.value
	str=0
	bag="0123456789"
	for (i = 0; i < s.length; i++)
	{   
    	c = s.charAt(i)
        if (bag.indexOf(c) == -1)
	    str=1
	}
	if(str==1)
	{
		ob.focus()			
		return false
	}
	return true
}



//CODE FOR VALID NAMES
	
function validate_char(ob)
{
	var s=ob.value
	dstr=""
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ. &" 
		
	for (i=0;i<s.length;i++)
	{   
     	c = s.charAt(i)
		if (bag.indexOf(c)==-1) 
			str=1		  
		if(s.charAt(i)=="." && s.charAt(i+1)==".")
			str=1		
	}	
	if(str==1)
		return false;
}	

function validate_char_sq(ob)
{
	var s=ob.value
	dstr=""
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ. &'`" 
		
	for (i=0;i<s.length;i++)
	{   
     	c = s.charAt(i)
		if (bag.indexOf(c)==-1) 
			str=1		  
		if(s.charAt(i)=="." && s.charAt(i+1)==".")
			str=1		
	}	
	if(str==1)
		return false;
}	


function validate_url(ob)
{
	s=ob.value
	dstr=""
	var str
	bag="0987654321abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./:" 
		
	for (i = 0;i < s.length; i++)
	    {   
     	 	c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			str=1		  
		if(s.charAt(i)=="." && s.charAt(i+1)==".")
			str=1
	   	}	

	if(str==1)
		return false;
}	

function validate_charwithspaces(ob)
{
	s=ob.value
	dstr=""
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,.'-/* " 
	for (i=0;i<s.length;i++)
	    {   
     	 	c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			str=1		  
		if(s.charAt(i)=="."&&s.charAt(i+1)==".")
			str=1
	   	}	

	if(str==1)
		return false;
}	


//CODE FOR VALID E-Mail Id


function validate_email(ob) 
{
	emailad=ob.value
	var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	var check=/@[\w\-]+\./;
	var checkend=/\.[a-zA-Z]{2,4}$/;

	if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1))
		return false;
	else 
		return null;


/*	
FOLLOWING IS CODE WE USED EARLIER,NOW WE ARE USING ABOVE CODE

emailad=ob.value
	if(emailad.length>0)
	{
		var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
		var check=/@[\w\-]+\./;
		var checkend=/\.[a-zA-Z]{2,3}$/;

		if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1))
			return false;
	
		pattern=/[^@_\.\w\d]|@@|\.\.|__|^@|^\.|^_|@$|\.$|_$|@\.|\.@|@_|_@|\._|_\.|(@)[^@]*\1/g; 
	
		if((((emailad.match(/@/)) && (emailad.match(/\./))) == null) || (emailad.match(pattern) != null))
			return false;
	}
	return null
*/
}

//code for valid username
 
function validate_username(ob)
{		
	s=ob.value
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_"
	for (i = 0; i < s.length; i++)
	{   
     	c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			str=1
	}	
	if(str==1)
		return false;
	else
		return true
}


function validate_personname(ob)
{		
	s=ob.value
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
	for (i = 0; i < s.length; i++)
	{   
     	c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			str=1
	}	
	if(str==1)
		return false;
	else
		return true
}

function validate_personname_sq(ob)
{		
	s=ob.value
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'` "
	for (i = 0; i < s.length; i++)
	{   
     	c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			str=1
	}	
	if(str==1)
		return false;
	else
		return true
}


function validate_passportno(ob)
{		

	s=ob.value
	var str
	bag1="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	char1=s.charAt(0)
	bag="1234567890"
	if(bag1.indexOf(char1)==-1)
		return false

	else
	{
		for (i = 1; i < s.length; i++)
		{   
	     	c = s.charAt(i)
			if (bag.indexOf(c) == -1) 
				str=1
		}
	}	
	if(str==1)
		return false;
}
// code for valid address

function validate_address(ob)
{		
	s=ob.value
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-#/_,. &()[]{}"
	for (i = 0; i < s.length; i++)
	{   
		if((s.charCodeAt(i) != 13) && (s.charCodeAt(i) != 10))
		{
		c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			str=1
		}
	}	
	if(str==1)
		return false
	else
		return true
}


function validate_address_sq(ob)
{		
	s=ob.value
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-#/_,. &()[]{}'`"	
	for (i = 0; i < s.length; i++)
	{   
		if((s.charCodeAt(i) != 13) && (s.charCodeAt(i) != 10))
		{
		c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			str=1
		}
	}	
	if(str==1)
		return false
	else
		return true
}


function validate_address_special_char(ob)
{		
	s=ob.value
	
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-#/_,. &()[]'`!@$%^*+=~|;:?"
	for (i = 0; i < s.length; i++)
	{   
		if((s.charCodeAt(i) != 13) && (s.charCodeAt(i) != 10))
		{
		c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			str=1
		}
	}	
	if(str==1)
		return false
	else
		return true
}



//code for valid username
 
function validate_companyname(ob)
{		
	s=ob.value
	var str
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-'_()&., "
	for (i = 0; i < s.length; i++)
	{   
     	c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
		str=1
	}	
	if(str==1)
		return false;
	else
		return true;
}


var flag=0
function validate_productname(ob)
{
	flag=0
	s=ob.value
	var str
str=0
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 -_/."
	for (i = 0; i < s.length; i++)
	{   
     	c = s.charAt(i)
		if (bag.indexOf(c) == -1) 
			return false;
	}	
	if(str==1)
		return false;
	else
		return true
}

function validate_zipcode(ob)
{	 
	s=ob.value
	str=""
	var str1 = 0;
	bag="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890- "
	for (i = 0;i<s.length;i++)
	{   
    	c = s.charAt(i)
	    if (bag.indexOf(c) == -1) 
			str=1
		if ((isNaN(c) == true) || (c==" "))
			str1++;
	}
	if(str==1)
		return false;
}	

function confirmpassword(ob)
{
	if((ob.value!=document.form1.password.value)&&(flag==0))
	{
		ob.value=""
		alert("PASSWORD and CONFIRM PASSWORD do not match")
		document.form1.password.focus()
		return false
	}
}


function isOnlySpaces( obj )
{
    var str = obj.value.toString();
    len = str.length;
    for (i=0;i<len;i++)
    {
       if (str.charAt(i)!=' ')
          return false ;
    }
}


// END OF BOOLEAN FUNCTION

function validate_salary(ob)
{	   
	var str	   	
	s=ob.value
	str=""
	bag="0123456789-,=$.:"
	for (i = 0; i < s.length; i++)
	{   
    	c = s.charAt(i)
	    if (bag.indexOf(c) == -1) 
			str=1
	}
	if(str==1)
		return false
}

function validate_time(ob)
{	   
	var str	   	
	s=ob.value
	str=""
	bag="0123456789.:"
	for (i = 0; i < s.length; i++)
	{   
    	c = s.charAt(i)
	    if (bag.indexOf(c) == -1) 
			str=1
	}
	if(str==1)
		return false
}

function mail(which)
{
	var str=which.value;
	var filter=/^.+@.+\..{2,3}$/;
	
	if (!filter.test(str))
		return false;
}

function getMonthName(mon)
{
	var mname = new Array(12);
	mname[0] = "Jan";
	mname[1] = "Feb";
	mname[2] = "Mar";
	mname[3] = "Apr";
	mname[4] = "May";
	mname[5] = "Jun";
	mname[6] = "Jul";
	mname[7] = "Aug";
	mname[8] = "Sep";
	mname[9] = "Oct";
	mname[10] = "Nov";
	mname[11] = "Dec";
	for(i=0;i<mname.length;i++)
	{
		if(mon == mname[i])
		{
			return i+1;
			break;
		}
	}
}
function checkdate(mm,dd,yy)
{
	if((mm.length!=0) || (dd!=0) || (yy!=0))
	{
		mm = getMonthName(mm);
		dd = parseInt(dd);
		yy = parseInt(yy);
		if ((mm==4) || (mm==6) || (mm==9) || (mm==11))
		{
			if (dd >= 31)
				return false;
		}
		if ( mm==2 )
		{
			if( (yy%4==0 && yy%100 != 0) || (yy%400==0) )
			{
				if (dd>29)
					return false;
			}
			else
			{
				if (dd>28)
					return false;	
			}
		}
	}
	return true;
}

function checkBlank(ob)
{
	ob.value = Trim(ob);
	if (ob.value=="")
		return false;
	else
		return true;
}

function validate_NumSplChars(ob)
{	   
	   	var str	   	
	 	s=ob.value
	 	str=""
	 	if (s.length >4)
	 		str=1
	 		
		bag="0123456789-.,=$:/#()"
		for (i = 0; i < s.length; i++)
	    {   
        	c = s.charAt(i)
	        if (bag.indexOf(c) == -1) 
				str=1
		}
		if(str==1)
		{
			ob.focus()			
			return false
		}
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

