//This function only allow alphabets only onblur event
function validatealphaBlur(val)
{
		result=validateAllCase(val,"/[~`!@#$%^&*{}()+=:;<>?^,0-9'/\\[\\]\"]/");
		if(result==false)
		{
		    alert("Enter alphabets only");
			val.focus();
		}
		return result;
}

function afterdecimal(amtvalue)
{
 var amount= amtvalue.value.split(".");
 if(amtvalue.value.indexOf(".")!=-1)
 {
	   if(amount[1].length>2)
	   {
		alert("After decimal only 2 digits allowed");
		amtvalue.focus()
		return false;
		}
		if(amount[1].length==0)
		{
		alert("After decimal 2 digits allowed");
		}
 }
  
}

function afterdecimal1(amtvalue)
{
 var amount= amtvalue.value.split(".");
 if(amtvalue.value.indexOf(".")!=-1)
 {
	   if(amount[1].length>3)
	   {
		alert("After decimal only 3 digits allowed");
		amtvalue.focus()
		return false;
		}
		if(amount[1].length==0)
		{
		alert("After decimal 3 digits allowed");
		amtvalue.focus()
		return false;
		}
 }
 
  
}

function checkfirstchar(amtvalue)
{

if(!amtvalue.value=="")
{
var charval=amtvalue.value.charAt(0);
if(!(charval=='+' ||charval=='-'))
{
alert("First Character sholud be + or - sign");
		amtvalue.focus()
		 return false;
}

var amtlength=amtvalue.value.length;
for(i=1;i<amtlength;i++)
{
var charval=amtvalue.value.charAt(i);
if(charval=='+' ||charval=='-')
{
alert("Allow only single + or - sign");
		amtvalue.focus()
		 return false;
}
}
}

}

function checkfirstcharDS(amtvalue)
{

if(!amtvalue.value=="")
{
var charval=amtvalue.value.charAt(0);
if(!(charval=='+' ||charval=='-'))
{
alert("First Character sholud be + or - sign or Word DS");
		amtvalue.focus()
		 return false;
}

var amtlength=amtvalue.value.length;
for(i=1;i<amtlength;i++)
{
var charval=amtvalue.value.charAt(i);
if(charval=='+' ||charval=='-')
{
alert("Allow only single + or - sign");
		amtvalue.focus()
		 return false;
}
}
}

}


function validateotherstxtalphaBlur(val)
{
		result=validateAllCase(val,"/[~`!@#$%^*{}+=:;<>?^0-9'/\\[\\]\"]/");
		if(result==false)
		{
		    alert("Enter alphabets only");
			val.focus();
		}
		return result;
}

 function validateaddressBlur(val)
{
		result=validateAllCase(val,"/[~`!@$%^&*{}()+=:;<>?^'/\\[\\]\"]/");
		if(result==false)
		{
		    alert("Enter valid address");
			val.focus();
		}
		return result;
}
//This function used to validate password onblur event
function validatepasswordBlur(val)
{
		result=validateAllCase(val,"/[,'\"]/");
		if(result==false)
		{
		    alert("Special symbols not allowed");
			val.focus();
		}
		return result;
}
//This function only allow integer only onblur event
function validateintBlur(val)
{
		result=validateAllCase(val,"/[^0-9\\.\\s]/");
		if(result==false)
		{
		    alert("Enter digits only");
			val.focus();
		}
		return result;
}

//This function only allow integer only onblur event with plus(+) and minus(-) symbol : APM Allow Plus Minus
function validateintBlurAPM(val)
{
		result=validateAllCase(val,"/[^0-9\\.\\s\+\-]/");
		if(result==false)
		{
		    alert("Enter digits only ");
			val.focus();
		}
		return result;
}


function validateintBlurAPMDS(val)
{

var var_value=val.value;

if(var_value.length>0)
{
		if(var_value.toUpperCase()!="DS")
		{
		
		result=validateAllCase(val,"/[^0-9\\.\\s\+\-]/");
		if(result==false)
		{
		    alert("Enter digits or word DS ");
			val.focus();
		}
		if(result)
		result=checkfirstcharDS(val);
		
		return result;
		}
		
}
}
function validateintHyphenBlur(val)
{
		result=validateAllCase(val,"/[^0-9\\.\\s\\-]/");
		if(result==false)
		{
		    alert("Enter digits only");
			val.focus();
		}
		return result;
}
//This function only allow both alphabets and integer onblur event
function validatebothBlur(val)
{
		result=validateAllCase(val,"/[~`!@#$%^&*{}()+=:;<>?^,'/\\[\\]\"]/");
		
		if(result==false)
		{
		    alert("Special Symbols Not Allowed");
			val.focus();
		}
		
		return result;
}
//This function only allow both alphabets and integer onblur event (and allows Comma)
function validatebothBlurwithComma(val)
{
		result=validateAllCase(val,"/[~`!@#$%^&*{}()+=:;<>?^'/\\[\\]\"]/");
		
		if(result==false)
		{
		    alert("Special symbols not allowed");
			val.focus();
		}
		
		return result;
}
//This function only allow alphabets only onkeypress event
function validatealphaPress1(val)
{
		result=validatefunction(val,"/[~`!@#$%^&*{}()+=:;<>?^,0-9'/\\[\\]\"]/");
		if(result==false)
		{
			val.focus();
		}
		return result;
}
//This function only allow alphabets only onkeypress event
function validateaddressPress(val)
{
		result=validatefunction(val,"/[~`!@$%^&*{}()+=:;<>?^'/\\[\\]\"]/");
		if(result==false)
		{
			val.focus();
		}
		return result;
}  
//This function only allow alphabets only onkeypress event
function validatealphaPress(val)
{
		 validatealphaPress1(val);
}
//This function only allow integer only onkeypress event
function validateintPress(val)
{
		result=validatefunction(val,"/[^0-9\\.\\s]/");
		if(result==false)
		{
			val.focus();
		}
		return result;
}

function validateintHyphenPress(val)
{
		result=validatefunction(val,"/[^0-9\\.\\s\\-]/");
		if(result==false)
		{
			val.focus();
		}
		return result;
}

//This function only allow both alphabets and integer onkeypress event
function validatebothPress(val)
{
		result=validatefunction(val,"/[~`!@#$%^&*{}()+=:;<>?^,'/\\[\\]\"]/");
		if(result==false)
		{
		
			val.focus();
		}
		else
		{
			result=validatefunction(val,"/[|\\\\]/");
			if(result==false)
			{
				val.focus();
			}			
		}

		return result;
}
//This function only allow both alphabets and integer onkeypress event(and allows Comma)
function validatebothPresswithComma(val)
{
		result=validatefunction(val,"/[~`!@#$%^&*{}()+=:;<>?^'/\\[\\]\"]/");
		if(result==false)
		{
		
			val.focus();
		}
		else
		{
			result=validatefunction(val,"/[|\\\\]/");
			if(result==false)
			{
				val.focus();
			}			
		}

		return result;
}
//This function used for password characters on onkeypress event
function validatepasswordPress(val)
{
		result=validatefunction(val,"/[,'\"]/");
		
		if(result==false)
		{
			val.focus();
		}
		return result;
}
function validateAllCase(val,arg)
{

    var str = eval(arg);		
	var validChar = str;
	
	if(validChar.test(val.value)){
		val.focus();
		return false;
	}
	return true;
}

function validatefunction(val,arg)
{
    frmObj = document.forms[0];
    var str = eval(arg);		
	var validChar = str;
	var tempR="";
	if(tempR !=""){
		tempR=val.value;
	}else
		tempR+=val.value;
	if(validChar.test(val.value)){
			var temp3=tempR.substring(0,tempR.length-1);
			val.value=temp3;
		val.focus();
		return false;
	}
	return true;
}



function validateIntranetaddressBlur(val)
{
		result=validateAllCase(val,"/[~`!@$%^*{}_+=:;<>?^'\"]/");
		if(result==false)
		{
		    alert("Enter valid address");
			val.focus();
		}
		return result;
}

function validateIntranetaddressPress(val)
{
		result=validateAllCase(val,"/[~`!@%^*{}_+=:;<>?^'\"]/");
		if(result==false)
		{
		    alert("Enter valid address");
			val.focus();
		}
		return result;
}
function validateRemarkaddressPress(val)
{
		
		result=validatefunction(val,"/[~`!@$%^&*{}()+=:;<>?^'/\\[\\]\"]/");
		if(result==false)
		{
			val.focus();
		}
		return result;
}

function validateRemarkaddressBlur(val)
{
		
		result=validatefunction(val,"/[~`!@$%^&*{}()+=:;<>?^'/\\[\\]\"]/");
		if(result==false)
		{
			val.focus();
		}
		return result;
}
/*


//This function only allow alphabets only onkeypress event
function validateaddressPress(val)
{
		 result=validatefunction(val,"/[~`!@$%^&*{}()+=:;<>?^'/\\[\\]\"]/");
		if(result==false)
		{
			val.focus();
		}
		return result; 
		
		New:
		result=validateAllCase(val,"/[~`!@$%^*{}_+=:;<>?^'\"]/");
		if(result==false)
		{
		    alert("Enter valid Address");
			val.focus();
		}
		return result;
}


function validateaddressBlur(val)
{
		result=validateAllCase(val,"/[~`!@$%^&*{}()+=:;<>?^'/\\[\\]\"]/");
		if(result==false)
		{
		    alert("Enter valid Address");
			val.focus();
		}
		return result;
		
		new:
		result=validateAllCase(val,"/[~`!@$%^*{}_+=:;<>?^'\"]/");
		if(result==false)
		{
		    alert("Enter valid Address");
			val.focus();
		}
		return result;
}*/




//This function used for checking noof contineous dots 
function checkPoints(strControl,maxNo)
{
	var strValue=strControl.value;
	var printMax=maxNo;
	maxNo=maxNo+1;
	var strCount=strValue.split(".");
	if(strCount.length>maxNo)
		{
			
			if(printMax==0|| printMax=="0")
			{
				alert("Decimals not allowed");
			}
			else if(printMax==1|| printMax=="1")
			{
				alert("More than one decimal not allowed");
			}
			else
			{
				alert("More than one decimal not allowed");
			}	
			strControl.focus();
			return false;
		}
		return true;
}
//This function used for checking noof contineous hyphen 
function checkHyphen(strControl,maxNo)
{
	var strValue=strControl.value;
	var printMax=maxNo;
	maxNo=maxNo+1;
	var strCount=strValue.split("-");
	if(strCount.length>maxNo)
		{
			
			if(printMax==0|| printMax=="0")
			{
				alert("Decimals not allowed");
			}
			else if(printMax==1|| printMax=="1")
			{
				alert("More than one decimal not allowed");
			}
			else
			{
				alert("More than one decimal not allowed"+" "+printMax);
			}	
			strControl.focus();
			return false;
		}
		return true;
}
function checkContiHyphen(strControl)
{
var strValue=strControl.value;
	var regEx = new RegExp (' ', 'gi') ;
	strValue = strValue.replace( regEx, '' )

	if(strValue.indexOf("__")!=-1)
	  {
			alert("Continuous hyphens are not allowed");
			strControl.focus();
			return false;
	  }
	  else
	  {
			return true;
	  }
}
//This function used for checking  contineous hyphen ,dots and underscore
function checkContiPoints(strControl)
{
var strValue=strControl.value;
	var regEx = new RegExp (' ', 'gi') ;
	strValue = strValue.replace( regEx, '' )

	if(strValue.indexOf("..")!=-1)
	  {
			alert("Continuous dots are not allowed");
			strControl.focus();
			return false;
	  }
	 else if(strValue.indexOf("__")!=-1)
	  {
			alert("Continuous underscore are not allowed");
			strControl.focus();
			return false;
	  }
	   else if(strValue.indexOf("--")!=-1)
	  {
			alert("Continuous hyphens are not allowed");
			strControl.focus();
			return false;
	  }
	  
	  else
	  {
			return true;
	  }
}

// Validating the Size OF remarks..
// You have to inclide this variable in the Jsp Page.......
// var remSize= <%=Utility.getSizeText()%>;
// onblur="remarkValidateBlur(this)" onkeyup="remarkValidateKeyPress(this)"
// var comRemSize='<bean:message key="General.Remark.Size.Check"/>';

function remarkValidateKeyPress(strControl)
{
validatebothPress(strControl);
var frmObj = document.forms[0];
var temp="";
	if(temp !=""){
		temp=strControl.value;
	}else
		temp+=strControl.value;
	if(temp.length>=remSize){
			//alert(comRemSize);
			var convertValue=temp.substring(0,remSize-1);					
			strControl.value=convertValue;
			return false;		
	}
	return true;
}

function remarkValidateBlur(strControl)
{
validatebothBlur(strControl);
var frmObj = document.forms[0];
var temp="";
	if(temp !=""){
		temp=strControl.value;
	}else
		temp+=strControl.value;
	if(temp.length>=remSize){
			alert(comRemSize+" "+remSize);
			var convertValue=temp.substring(0,remSize-1);					
			strControl.value=convertValue;
			return false;		
	}
	return true;
}



//<script type="text/javascript" src="scripts/itempage.js"></script>
//How To Use
// For alphabets - onblur="validatealphaBlur(this)" onkeypress="validatealphaPress(this);" onkeyup="validatealphaPress(this);"
// For Digits    - onblur="validateintBlur(this)" onkeypress="validateintPress(this);"  onkeyup="validateintPress(this);"
// For Boyh      - onblur="validatebothBlur(this)" onkeypress="validatebothPress(this);" onkeyup="validatebothPress(this);"
//
//	 var comDecNotAllow= 'Decimals Not Allowed';
// var comDecAllowed= 'More than One Decimal Not Allowed';
// var comContiDots='Continuous Dots are Not Allowed';
// var genAlpha='<bean:message key="General.Enter.Alphabets"/>';
// var genInteger='<bean:message key="General.Enter.Digits"/>';
// var genSpecialSymbol='Special Symbols Not Allowed';
// var remSize= <%=Utility.getSizeText()%>;
// var comRemSize='<bean:message key="General.Remark.Size.Check"/>';


function checkForDeleteAll(tableId,fieldName,unCount)
{

	var tbl = document.getElementById(tableId);
	var rows=tbl.rows.length;
	var count=0;
	var rowCount=rows-unCount;
	var currentValue = eval("document.forms[0]."+fieldName);
	for(var i=0;i<rowCount;i++)
	  {
			  var field=fieldName;
				  if(isArray(currentValue))
				    {
				    	field=field+'['+i+']'
				    }
			    var fieldVal=eval("document.forms[0]."+field);
				  	if(fieldVal.checked==true)
				  	  {
				  	  	count=count+1;
				  	  }
	  }
	  if(count==rowCount)
	    {
	    	return false;
	    }
	   else
	     {
	     	return true;
	     }

}

function checkEmail(emailStr) {
               if (emailStr.length == 0) {
                   return true;
               }
               var emailPat=/^(.+)@(.+)$/;
               var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
               var validChars="\[^\\s" + specialChars + "\]";
               var quotedUser="(\"[^\"]*\")";
               var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
               var atom=validChars + '+';
               var word="(" + atom + "|" + quotedUser + ")";
               var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
               var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
               var matchArray=emailStr.match(emailPat);
               if (matchArray == null) {
                   return false;
               }
               var user=matchArray[1];
               var domain=matchArray[2];
               if (user.match(userPat) == null) {
                   return false;
               }
               var IPArray = domain.match(ipDomainPat);
               if (IPArray != null) {
                   for (var i = 1; i <= 4; i++) {
                      if (IPArray[i] > 255) {
                         return false;
                      }
                   }
                   return true;
               }
               var domainArray=domain.match(domainPat);
               if (domainArray == null) {
                   return false;
               }
               var atomPat=new RegExp(atom,"g");
               var domArr=domain.match(atomPat);
               var len=domArr.length;
               if ((domArr[domArr.length-1].length < 2) ||
                   (domArr[domArr.length-1].length > 3)) {
                   return false;
               }
               if (len < 2) {
                   return false;
               }
               return true;
            }



function validatebothBluremail(val)
{
		result=validateAllCase(val,"/[~`!#$%^&*{}()+=:;<>?^,'/\\[\\]\"]/");
		
		if(result==false)
		{
		    alert("Please enter valid E-Mail address");
			val.focus();
		}
		return result;
}
function validatebothPressemail(val)
{
		result=validatefunction(val,"/[~`!#$%^&*{}()+=:;<>?^,'/\\[\\]\"]/");
		
		if(result==false)
		{
			val.focus();
		}
		return result;
}
function  uppercaseOnKeyPress()
{
  key = window.event.keyCode;
  if ((key > 0x60) && (key < 0x7B))
    window.event.keyCode = key-0x20;
}
function uppercaseOnBlur( obj )
{ 
	obj.value = obj.value.toUpperCase( ); 
}
