﻿// Page Validation Script File

/*
	FUNCTION FIELD EMPTY VALIDATION	
	Usage -> EmptyFieldValidation(Object Name,Error Message)
*/
function EmptyFieldValidation(object,errMsg)
{
    if (alltrim(object.value) == "")
	{
		alert(errMsg);
		object.focus();
		return false;
	}
	else
	{		
        return true;
    }
}


/*
	FUNCTION FIELD EMAIL VALIDATION	
	Usage -> EmailFieldValidation(Object Name,Error Message)
*/
function EmailFieldValidation(object,errMsg)
{
    if (alltrim(object.value) == "")
	{
		alert(errMsg);
		object.focus();
		return false;
	}
	else
	{	
	    if (!checkEmail(object.value))
	    {
			object.focus();
		    return false;    
	    }
	    else
	    {	
            return true;
        }
    }
}


/*
	FUNCTION SELECT DROP DOWN SELECT VALIDATION
	Usage -> DropDownSelectValidation(Object Name,Error Message)
*/
function DropDownSelectValidation(object,errMsg)
{
   if(alltrim(object.value)== 0)
	{
		//alert(errMsg);
		object.focus();
		return false;
	}
	else
	{		
        return true;
    }
}


/*
	FUNCTION COMPARE TWO FIELD VALIDATION	
	Usage -> CompareTwoFieldValidation(First Object Name,Second Object Name,Error Message)
*/
function CompareTwoFieldValidation(object1,object2,errMsg)
{
    if (alltrim(object1.value)!= alltrim(object2.value))
	{
		alert(errMsg);
		object2.focus();
		return false;
	}
	else
	{	
        return true;
    }
}



/*
	FUNCTION CONFIRM CHECK BOX ACTIVE INACTIVE VALIDATION
	Usage -> ConfirmCheckBoxActiveInactiveValidation(Object Name,ConfirmMsg,strURL)
*/
function ConfirmCheckBoxActiveInactiveValidation(object,ConfirmMsg,strURL,getStatus)
{
    if(confirm(ConfirmMsg))
	{
		location.href = strURL;
	}
	else
	{
        if (getStatus == 1)
        {
           object.checked = false;
        }
        else
        {
            object.checked = true;
        }
	}
		
}

/*
	FUNCTION CONFIRM DELETION
	Usage -> ConfirmDelete(ConfirmMsg,strURL)
*/
function ConfirmDelete(ConfirmMsg,strURL)
{
    if(confirm(ConfirmMsg))
	{
		location.href = strURL;
	}
}


/*
	NUMERIC FIELD VALIDATION	
	Usage -> NumericFieldValidation(Object Name)
*/
function NumericFieldValidation(object)
{
    
    if (isDigit(alltrim(object.value)) == false)
	{
		object.focus();
		return false;
	}
	else
	{		
        return true;
    }
}

/*
	UPLOAD IMAGE FIELD VALIDATION	
	Usage -> UploadImageFieldValidation(Object Name)
*/
function UploadImageFieldValidation(object)
{
    var extension,x,blank;	
	blank = 0;
	extension = "";
	
	x = eval(object);
	
	for(var i=3;i>0;i--)
	{
		extension = extension+x.value.charAt(x.value.length-i);
	}
						
	if(extension.toUpperCase()!="JPG" && extension.toUpperCase()!="GIF")
	{
		alert("Please Choose only JPG and GIF File");
		x.focus();
		return false;						 
	}
	else
	{		
        return true;
    }    
}


/*
	Resize Image Window	
	Usage -> ResizeWindow(Object Name)
*/
function ResizeWindow(object)
{
    window.resizeTo((parseInt(object.width)+100),(parseInt(object.height)+150));
}


/*
    Validate Start Date Must Be Less Than Greater Than End Date
    Usege -> ValidateStartDateLessThanEndDate(Start Date, End Date, Error Massage)
*/

function ValidateStartDateLessThanEndDate(StartDateValue, EndDateValue, errorMsg)
{
	var SDate = alltrim(StartDateValue);
	var EDate = alltrim(EndDateValue);
	
	startdate = Date.parse(SDate);
	enddate   = Date.parse(EDate);
		
	if ((startdate - enddate) > 0)
	{
		alert(errorMsg);
		return false;
	}
	else
	{		
        return true;
    }  
}

/*
###################################################################################################################
    FUNCTION USE FOR DIV
##################################################################################################################

*/

function FullClearErrorMessage(divName)
{
   document.getElementById(divName).innerHTML = "";
   return true; 
}

function ClearErrorMessage(divName)
{
   document.getElementById(divName).innerHTML = "";
   document.getElementById(divName).innerHTML = "*";
   return true; 
}

/*
	FUNCTION FIELD EMPTY VALIDATION FOR DIV
	Usage -> DivEmptyFieldValidation(Object Name,Error Message, Div Name)
*/
function DivEmptyFieldValidation(object,errMsg,divName)
{
   if (alltrim(object.value) == "")
	{
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;                    
		return false; 
	}
	else
	{		
        return true;
    }
}


/*
	FUNCTION FIELD EMAIL VALIDATION	FOR DIV
	Usage -> DivEmailFieldValidation(Object Name,Error Message, Div Name)
*/
function DivEmailFieldValidation(object,errMsg,divName)
{
    if (alltrim(object.value) == "")
	{
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;                    
		
		return false;
	}
	else
	{	
	    if (!DivcheckEmail(object.value,divName))
	    {
		    return false;    
	    }
	    else
	    {	
            return true;
        }
    }
}


/*	FUNCTION CHECKEMAIL	*/
/*	Usage -> DivcheckEmail(string, div name)	*/

function DivcheckEmail (emailStr,divName) 
{
    var errMsg;
    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) 
    {
        errMsg = "Email address seems incorrect (check @ and .'s)";
   		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;  

	    return false;
    }
    
    var user=matchArray[1];
    var domain=matchArray[2];

    if (user.match(userPat)==null) 
    {
        errMsg = "The email address doesn't seem to be valid.";
	    document.getElementById(divName).innerHTML = "";
	    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;  
	        
        return false;
    }

    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) 
    {
	  for (var i=1;i<=4;i++) 
	  {
	    if (IPArray[i]>255) 
	    {
            errMsg = "Destination IP address is invalid!";
   		    document.getElementById(divName).innerHTML = "";
		    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;  
	        
		    return false;
	    }
      }
    
      return true;
    }

    var domainArray=domain.match(domainPat);
    if (domainArray==null) 
    {
        errMsg = "The domain name doesn't seem to be valid.";
   		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;  
            	
        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) 
    {
        errMsg = "The address must end in a three-letter domain, or two letter country.";
   		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;  
                
        return false;
    }

    if (len<2) 
    {
        errMsg = "This address is missing a hostname!";
   		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;  
        
        return false;
    }

    return true;
}



/*
	FUNCTION SELECT DROP DOWN SELECT VALIDATION FOR DIV
	Usage -> DivDropDownSelectValidation(Object Name,Error Message, Div Name)
*/
function DivDropDownSelectValidation(object,errMsg,divName)
{

   if(alltrim(object.value)== 0)
	{
	
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;                    
		
		return false;
	}
	else
	{		
        return true;
    }
}


/*
	FUNCTION COMPARE TWO FIELD VALIDATION FOR DIV	
	Usage -> DivCompareTwoFieldValidation(First Object Name,Second Object Name,Error Message, Div Name)
*/
function DivCompareTwoFieldValidation(object1,object2,errMsg,divName)
{
    if (alltrim(object1.value)!= alltrim(object2.value))
	{
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;                    
		
		return false;
	}
	else
	{	
        return true;
    }
}


function DivCompareStartDateGreaterThanEndDate(object1, object2, divName)
{
        var startdate = new Date();
		var enddate = new Date();
					
        var SDate = alltrim(object1.value) + " 00:00:00 AM";
	    var EDate = alltrim(object2.value) + " 00:00:00 AM";
    			
    	startdate = Date.parse(SDate);
    	enddate   = Date.parse(EDate);
				
        if ((startdate - enddate) > 0)
	    {
		    document.getElementById(divName).innerHTML = "";
		    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;Please Make Sure That End Date is Greater Than the Start Date";                    
		
		    return false;
	    }
	    else
	    {	
            return true;
        }					
}


function DivCheckFirstFieldGreaterThanSecondFieldValidation(object1,object2,errMsg,divName)
{  
    if (parseFloat(object2.value) <= parseFloat(object1.value))
	{
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;                    
		
		return false;
	}
	else
	{	
        return true;
    }
}


function DivNumericFieldValidation(object1,errMsg,divName)
{   
    if (isDivDigit(alltrim(object1.value),divName) == false)
	{
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;                    
		
		return false;
	}
	else
	{		
        return true;
    }
}


function DivNumberFieldValidation(object1,errMsg,divName)
{   
    if (IsDivNumeric(alltrim(object1.value),divName) == false)
	{
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;                    
		
		return false;
	}
	else
	{		
        return true;
    }
}

function DivZeroFieldValidation(object1,errMsg,divName)
{    
    if (alltrim(object1.value)== 0)
	{
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;" + errMsg;                    
		
		return false;
	}
	else
	{		
        return true;
    }
}


/*	FUNCTION ISDIGIT	*/
/*	Usage -> isDivDigit(string,div name)	*/
function isDivDigit(para,divName) 
{
	var validchars = "0123456789";
		
	var parsed = true;
	for (var i=0; i < para.length; i++) 
	{
		var letter = para.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1)
			continue;
						
		parsed = false;
		break;
	}	
	
	return parsed;
}

//FUNCTION IsNumeric
//Uses -> IsNumeric(strString,div name)
function IsDivNumeric(strString,divName)
{
       var strValidChars = "0123456789.";
       var strChar;
       var blnResult = true;

      if (strString.length == 0) return false;

      //  test strString consists of valid characters listed above
      for (i = 0; i < strString.length && blnResult == true; i++)
      {
         strChar = strString.charAt(i);
         
         if (strValidChars.indexOf(strChar) == -1)
         {
             blnResult = false;
         }
      }
      
      return blnResult;
}	

/*	FUNCTION chkDecimal 	                */
/*	Usage -> chkDecimal(txtField,div name)	*/

 function chkDivDecimal(objval,divName)
 {
 	var word,chr,nDecimal,decPos,intlength;

	if(IsDivNumeric(objval.value,divName) == false)
	{
	    document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;Please Enter Numeric Value only !";                    
			
		return false;
	}
	else
	{
	    word = eval(objval).value;
	    	    
	    nDecimal  = 0;
	    for (i=0;i<word.length;i++)
	    {
		    chr = word.substr(i, 1);				
		    if (chr=="." )		
			    nDecimal = nDecimal + 1; 
	    }	    
	    
	    if(nDecimal > 1)
	    {	
	        document.getElementById(divName).innerHTML = "";
		    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;You have entered more then one decimal point!\nPlease only enter one!";                    
    			
		    return false;
	    } 			
    	
	    if(nDecimal == 1)
	    {
		    decPos = (intlength - 1) - word.indexOf(".");
		    if(decPos > 2)
		    {
	            document.getElementById(divName).innerHTML = "";
		        document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;The decimal point you entered is not in the correct position!";                    

			    return false;
		    }
	    } 	
	 }
	
 }


/*
	FUNCTION FIELD SOW GENERAL INFORMATION FOR DIV
	Usage -> DivShowGeneralInfo(Object Name,Error Message, Div Name)
*/
function DivShowGeneralInfo(object,errMsg,divName)
{
    if (alltrim(object.value) == "")
	{
		document.getElementById(divName).innerHTML = "";
		document.getElementById(divName).innerHTML = "<img src='images/info_icon.gif' border='0' alt='baal'>&nbsp;&nbsp;" + errMsg;                    
		return false; 
	}
	else
	{		
        return true;
    }
}

function DivShowMessage(errMsg,divName)
{
	 document.getElementById(divName).innerHTML = "";
	 document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt='baal'>&nbsp;&nbsp;" + errMsg;                    
	 return false; 
}

function DivFileUploadValidation(object,divName)
{
   if(object.value != "")
	{
	    
		var fileType;
		fileType = getExtention(object.value).toLowerCase();
		
		if (fileType != ".gif" && fileType != ".jpg" && fileType != ".bmp")
	    {		    
   		    document.getElementById(divName).innerHTML = "";
		    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;You Can Upload Only .gif, .jpg & .bmp Files";                    
    
		    object.focus();
		    return false;
	    }
}
  
	else
	{
		document.getElementById(divName).innerHTML = "";
	    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;Please Select File To Upload";                    

		object.focus();
		return false;
	}
	
	
	return true;
}

function WithOutEmptyDivFileUploadValidation(object,divName)
{
   if(object.value != "")
	{
	    
		var fileType;
		fileType = getExtention(object.value).toLowerCase();
		
		if (fileType != ".gif" && fileType != ".jpg" && fileType != ".bmp")
	    {		    
   		    document.getElementById(divName).innerHTML = "";
		    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;You Can Upload Only .gif, .jpg & .bmp Files";                    
    
		    object.focus();
		    return false;
	    }
}	
	return true;
}

function DivFileUploadValidationTextFile(object,divName)
{
  
 
     if(object.value != "")
	{
	    
		var fileType;
		fileType = getExtention(object.value).toLowerCase();
		
		if (fileType != ".doc" && fileType != ".txt" )
	    {		    
   		    document.getElementById(divName).innerHTML = "";
		    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;You Can Upload Only .doc & .txt Files";                    
           
		    object.focus();
		    return false;
	    }
	}
	else
	{
		document.getElementById(divName).innerHTML = "";
	    document.getElementById(divName).innerHTML = "<img src='images/warning.gif' border='0' alt=''>&nbsp;&nbsp;Please Select File To Upload";                    

	    object.focus();
		return false;
	}
	
	return true;
}

function getExtention(fname)
{
	var pos = fname.lastIndexOf(".");
	
	return fname.substring(pos,pos+4);
}