var whitespace =" \t\n\r ";

function jsIsNull(obj,objname)	{   ///    Abhishek
	if (trim(obj.value) == "" || trim(obj.value) == " ")	{
			display('EMPTY_TEXT',objname);
			//if(obj.type != 'textarea')
			try{
				document.frm[obj.name].focus();
			   }
			   catch (e) { }
			return true;
	}
			return false;
}

function isEmpty(str) {  
	return ((str == null) || (str.length == 0) || (str == " "));
}

function isWhitespace(str) {
	var i;
	var flag
	if (isEmpty(str)) return true;		
	for (i = 0; i < str.length; i++) {   
		var c = str.charAt(i);
		if (whitespace.indexOf(c) == -1)
		return false
	}	
		return true;
}


/*function jsHasBackSlash_DoubleQuote(obj,objname)	{    /// Abhishek
	alert("in");
	if (obj.value.indexOf ("\\") > -1 ||  obj.value.indexOf ("\"")> -1) 	{		
			//output = display('BACKSLASH_DOUBLEQUOTE',objname);
			//obj.style.backgroundColor = _ERROR_COLOR_;
		return false;
	}
	return true;
} */


function jsHasBackSlash_DoubleQuote(obj,objname)	{    /// Abhishek
	if (obj.value.indexOf ("\\") > -1 ||  obj.value.indexOf ("\"")> -1) 	{		
			output = display('BACKSLASH_DOUBLEQUOTE',objname);
			//obj.style.backgroundColor = _ERROR_COLOR_;
		return output;
	}
	return;
}

// function for checking if inputed value is a valid number

function isAllNumeric(objValue) {	
	lTempLength = objValue.length
	lTempCounter = 0 
	lTempString = trim(objValue)
	flag = false

	do	{
		if(lTempString.charAt(lTempCounter) == " " || lTempString.lastIndexOf('.')!= lTempString.indexOf('.')) {
			flag = false
			break
		}
		else if(lTempString.charAt(lTempCounter) > 0 || lTempString.charAt(lTempCounter) < 9 || lTempString.charAt(lTempCounter) == ".")
			flag = true
		else {
			flag = false
			break
		}
		lTempCounter = lTempCounter + 1
	}

	while(lTempCounter <= lTempLength)			
	if(flag == true)
		return true
	else
		return false
}


function backslash_doublequote(obj)
{
      objValue=obj.value;
//      var characters='\"\\'
	   var characters="\\"
      var tmp
      var lTag
      lTag = 0
      temp = (objValue.length)
         for (var i=0;i<temp;i++)
         {
            tmp=objValue.substring(i,i+1)
            if (characters.indexOf(tmp)!=-1)
            {
              lTag = 1
             }
         }
         
		 if(lTag == 1)
            return false
         else
           return true
}



function validateURL(obj)
{
	var objValue=obj.value;
	//var characters="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZáéíóñúüæoå'#!¤ Å^ Æüæå»«øØ.-#:\\_()&%$@?=^~.+/ "
	var characters="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZáéíóñúüæoå#!¤Å^Æüæå»«øØ.-#:\_()&%$@?=^~.+/"
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
			tmp=objValue.substring(i,i+1)
			if (characters.indexOf(tmp)==-1)
			{
					lTag = 1
			}
	}
	if(lTag == 1)
		//alert("Invalid website url");
		//	document.frm[obj.name].focus();		
			return false
	else
			return true
						
} 

function validateNumber(obj)
{
	var objValue=obj.value;
	var characters="0123456789"
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
			tmp=objValue.substring(i,i+1)
			if (characters.indexOf(tmp)==-1)
			{
					lTag = 1
			}
	}
	if(lTag == 1)
			return false
	else
			return true
						
} 

function backslash(obj)
{
  objValue=obj.value;
                var characters='\\'
                var tmp
                var lTag
                lTag = 0
                temp = (objValue.length)
                for (var i=0;i<temp;i++)
                {
                        tmp=objValue.substring(i,i+1)
                        if (characters.indexOf(tmp)!=-1)
                        {
                                lTag = 1
                        }
                }
                if(lTag == 1)
                        return false
                else
                        return true
}

// function to check valid email
function IsEmail(InString) {
  //alert(InString)
	var left, right;
	if(InString.length==0) return(false);
	for(Count=0;Count<InString.length;Count++) {
		TempChar = InString.substring(Count,Count + 1);
		if("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.@_-".indexOf(TempChar,0)==-1) return(false); 
	}
	if(InString.indexOf('@')< 1) return(false);
	if(InString.lastIndexOf('@')!= InString.indexOf('@')) return(false);
	left = InString.substring(0,InString.indexOf('@'));
	right = InString.substring(InString.indexOf('@') + 1,InString.length);
	if((!isDotExpression(left,0))||(!isDotExpression(right,1))) return(false);
	return(true);
}

function isDotExpression(InString,NeedsDot) {
	var dots,index,tmpNeedDot;
	dots=0;
	for(index=0;index<InString.length;index++) {
		if(InString.substring(index,index+1)==".") {
		if((index==0)||(index==InString.length-1)) return(false);
			dots ++;
			if(dots>1)tmpNeedDot=1;
			else tmpNeedDot=0;
			if(!isDotExpression(InString.substring(0,index),tmpNeedDot)) return(false);	
		}      
	}
	if((NeedsDot==1)&&(dots<1)) return (false);
	if(InString.length < dots * 2+1) return (false);
	return (true);
}


// function to check valid phone no
function isPhone(objValue) {	
	var characters="-+0123456789() "
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++) {
	tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1) {
			lTag = 1
		}
	}
	if(lTag == 1)
	return false
	else
	return true
}

// function to check valid zip
function isvalidZip(objValue) {	
	var characters=" 1234567890"
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++) {
	tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1) {
			lTag = 1
		}
	}
	if(lTag == 1)
	return false
	else
	return true
}







// function to check whether date entered should be greater than or equal to today's date
 function isValidFirstDate(firstyr,firstmn,firstdt,secyr,secmn,secdt) {
   if(firstyr < secyr)
   {
     return false;
   }
     else if (firstyr > secyr)
     {
       return true;
     }
     else if (firstyr==secyr)
     {
			if(firstmn<secmn)
			{
			   return false;
			}
			else if (firstmn > secmn)
			{
				return true;
			}
            else
			{
			  if(firstdt < secdt)
			  {
				return false;
			  }
			  else if (firstdt >= secdt)
			  {
				return true;
			  }
        }//same month
    }//else yr same
}//Function To check whether First Greater Than Secojnd Ends Here




 function isValidDate(firstyr,firstmn,firstdt,secyr,secmn,secdt) {
   if(firstyr < secyr)
   {
     return false;
   }
     else if (firstyr > secyr)
     {
       return true;
     }
     else if (firstyr==secyr)
     {
			if(firstmn<secmn)
			{
			   return false;
			}
			else if (firstmn > secmn)
			{
				return true;
			}
            else
			{
			  if(firstdt < secdt)
			  {
				return false;
			  }
			  else if (firstdt > secdt)
			  {
				return true;
			  }
        }//same month
    }//else yr same
}//Function To check whether First Greater Than Secojnd Ends Here




function display(statement,obj_name)	{
	switch (statement)	
	{
		
		case "BACKSLASH_DOUBLEQUOTE":
			statement = "Backslashes and Double Quotes not allowed in "+obj_name+"."
        break;
     
	}//switch
	alert(statement);
}
function trim(pstrString)
{
        var intLoop=0;
	     for(intLoop=0; intLoop<pstrString.length; )
        {
                if(pstrString.charAt(intLoop)==" ")
                        pstrString=pstrString.substring(intLoop+1, pstrString.length);
                else
                        break;
        }

        for(intLoop=pstrString.length-1; intLoop>=0; intLoop=pstrString.length-1)
        {
                if(pstrString.charAt(intLoop)==" ")
                        pstrString=pstrString.substring(0,intLoop);
                else
                        break;
        }
        return pstrString;
}
function jsIsComboSelected(obj,objname)	
{  ////  Abhishek
	if (trim(obj.value) == "" || trim(obj.value) == " " || trim(obj.value) == "0" || trim(obj.value) == 0)	{
			display('UNSELECTED_COMBOBOX',objname);
			document.frm[obj.name].focus();			
			return false;
	}
			return true;
}

function isAlphaNumeric_with_Quotes(objValue)
{
                var characters="', \n abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
                var tmp
                var lTag
                lTag = 0
                temp = (objValue.length)
                for (var i=0;i<temp;i++)
                {
                        tmp=objValue.substring(i,i+1)
                        if (characters.indexOf(tmp)==-1)
                        {
                                lTag = 1
                        }
                }
                if(lTag == 1)
                        return false
                else
                        return true
}

function check()
{
  	var obj=document.frm;

	flag=0;

	if(obj.chkRecord.length == undefined)
		if(!obj.chkRecord.checked)
			flag=1;

	for(i=0;i<obj.chkRecord.length;i++)
		if(!obj.chkRecord[i].checked)
		{
			flag=1;
			break;
		}

	if(flag==0)
	{
		obj.chkCheckAll.checked = true;
	}
	else
	{
		obj.chkCheckAll.checked = false;
	}

}
function isAlphaNumeric(txt)
{
	return ValidString(txt,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789');
}
function ValidString(ChkString,ValidString)
{
	for (i=0; i<ChkString.length; i++)
	{
		if (ValidString.indexOf(ChkString.substring(i,i+1)) == -1) return false;
	}
	return true;
}

function num()
{
	if((event.keyCode<46 || event.keyCode>57) || event.keyCode==47)
	{		
		event.keyCode=0;
	}
	
}
function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.value.length && IsNumber == true; i++) 
      { 
      Char = sText.value.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
		 /* alert("Enter numeric value only");
			sText.focus();*/
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
