var tempArrayVal = new Array();
var tempArrayLabel = new Array();
var validateflag=false;  // variables defined for alphanumeric field check
var UP      = 1;
var multi   = 2
var WS      = 4;
var WSWC    = 8;
var NSC     = 16;
var NSCWC   = 32
var WSNSC   = 64;
var WSNSCWC = 128;
var CODE    = 256;
var SIGNED  = 512;
var TABOUT  = 1024;
var dateError = "";
var timeError = "";
var DTEND = 2048;
var scriptTagFlag = 0;
var dateSapertorChar='-';
if(dateFormatFlip){
   dateSapertorChar='/';
}

function alphaNumericFieldCheck(objCurrent, type)
{   if(flagVar == 'true')
	{
    var char_numStr    = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var splChar_String = "~!@#$^*()-=/?.>,<:;+ŁĄ€'";
    var spcChar_Str    = " ";
    var wildCard_Str   = "%_";
    var numStr         = "0123456789";
	var phStr		   = "0123456789- ";
    var dot			   = ".";
	var phStr		   = "0123456789- ";
	var addStr         = "/_- ,.&#";
    var strCompanySplcChar ="()-.&':@";   //Added by Arunim
	var charStr			= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var identifier_Str = "+/\\";
    var charString;
    var strObjValue = objCurrent.value;
    if(strObjValue.charAt(strObjValue.length-1)==' '){
          strObjValue= removeTrailingSpaces(objCurrent);
    }
    if(strObjValue.charAt(0)==' '){
         strObjValue=removeLeadingSpaces(objCurrent);
    }
    if(!type){
      type='Other';
    }
    switch(type)
    {
      case 'Other'    :
        charString     = char_numStr + splChar_String + spcChar_Str;
        break;
      case 'multi'    :
        charString     = char_numStr + splChar_String + spcChar_Str + wildCard_Str;
        break;
      case 'WS'       :
        charString     = char_numStr + splChar_String ;
        break;
      case 'WSWC'     :
        charString     = char_numStr + splChar_String + wildCard_Str;
        break;
      case 'NSC'      :
        charString     = char_numStr + spcChar_Str;
        break;
      case 'NSCWC'    :
        charString     = char_numStr + spcChar_Str + wildCard_Str;
        break;
      case 'WSNSC'    :
        charString     = char_numStr ;
        break;
      case 'WSNSCWC'  :
        charString     = char_numStr + wildCard_Str;
        break;
	  case 'NUMWC'    : 
			charString     = numStr + wildCard_Str;
        break;
	  case 'NUM'    :
		 charString     = numStr;
		break;
	  case 'ALPHA' : 
			charString     = char_numStr;
		break;
      case 'PH'    : 
        charString     = phStr;
		break;
	  case 'ADD'	 :	   
        charString     = char_numStr + addStr;       
		break;
	  case 'PH'    : 
        charString     = phStr;
        break;
      case 'NSCWCNMS'    :
        charString     = char_numStr + spcChar_Str + strCompanySplcChar; //Changed by arunim
        break;
 	  case 'ALPHASPC'	:           
		 charString = spcChar_Str + charStr;   //V. NERELLA - START
        break;
	  case 'ALPHASPCDOT'	:
		  charString = spcChar_Str + charStr+dot;
       		 break;		//V. NERELLA - END
	  case 'IDSTR' :
		 charString     = char_numStr + identifier_Str;	
		 break;
     }
    for ( i=0; i<strObjValue.length; i++)
  	{
  	  thisChar = strObjValue.charAt(i);
      //alert(thisChar);
      if (charString.indexOf( thisChar ) == -1)
      { 
      	//alert(thisChar);
        var objectName =  getObjectLabel(objCurrent.id,objCurrent);
		var str ="";
		if(objCurrent.type == "password")
		  str = COM00059+"password field";
		else
          str = COM00059+objectName;
        setError(str);
        return false;
  	  }
  	}
  	if(type == 'NSCWCNMS') 
  	{
  	 	var vFirstValue = strObjValue.substring(0,strObjValue.indexOf(" "));
  		var vDotCount=0;
  		var objectName =  getObjectLabel(objCurrent.id,objCurrent);
  		if(strObjValue.indexOf(" ")!=-1)
  		{ 
		   		for(var i=0;i<strObjValue.length - 1;i++)
		   		{
		   			if(strObjValue.charAt(i) == " ")
		   			{
		   				if(strObjValue.charAt(i+1) == " ")
						{
							str = "Multi spaces in "+objectName;
							setError(str); 
							if(error_arr.length==1 && firstErrorField=="")
							{
								firstErrorField = objCurrent.getAttribute('name');
							}
							return false;
						}
		   			}		   			
		   		}
  	   		}
	  }  	   		
	}
return true;
}
function mandatoryFieldCheck(objForm)
{
 if(flagVar == 'true')
 {
 	var blnFlag=true; // This flag if true then error is set in a stack
    var errFlag=false;
    if(document.getElementById)
    {
      var len = objForm.length;
      for(var i=0; i<len; i++)
      {
        blnFlag=true;
        var objElement=objForm.elements[i];
        if (objElement.id.substring(0,4)=='reqd') // check for mandatory
        {
         if(objElement.value.charAt(0)==' ')//remove leading spaces
            objElement.value= removeLeadingSpaces(objElement);           // checks if objElement value is blank then set boolean flag
          if(((objElement.type=='password' || objElement.type=='text'||objElement.type=='textarea')&&objElement.value=='')||
            (objElement.type.toString().charAt(0)=='S' && objElement.selectedIndex==0)||
            (objElement.type=='checkbox' && objElement.checked==false))
          {
            blnFlag=false;
            errFlag = true;
          }
        }
        if (!blnFlag)
        {
          var elementFieldId=getObjectLabel(objElement.id,objElement); //objElement.id.substring(4).toUpperCase();
          var str = elementFieldId+COM00004;
          setError(str);
        }
      }
      if(errFlag)
      {
        return false;        //stripMethod();
      }
    }
  }
  else
    return true;
}
function alphabeticFieldCheck(objCurrent)
{
  if(flagVar == 'true')
  {
    var strObjValue = objCurrent.value;    // remove trailing spaces
    if(strObjValue.charAt(strObjValue.length-1)==' ')
      strObjValue= removeTrailingSpaces(objCurrent);    // remive leading spaces
    if(strObjValue.charAt(0)==' ')
      strObjValue=removeLeadingSpaces(objCurrent);
    var len = strObjValue.length;
    for (var i=0; i<len; i++)
    {
      var charObject = strObjValue.charAt(i);      // if character no bet between [a-z] or [A-Z] then raise error
      if(!(((charObject >= 'a') && (charObject <= 'z')) || ((charObject >= 'A') && (charObject <= 'Z'))))
      {
        var objectName =  getObjectLabel(objCurrent.id,objCurrent);
        var str = COM00058+objectName;
        setError(str);
        return false;
      }
    }
  }
  return true;
}
function numericFieldCheck(objCurrent)
{
  if(flagVar=='true')
  {
    var strObjValue = objCurrent.value;
    var strAllowedValues = '0123456789';
    var blnFlag = true;
    if(strObjValue.charAt(strObjValue.length-1)==' ')
      strObjValue= removeTrailingSpaces(objCurrent);

    if(strObjValue.charAt(0)==' ')
      strObjValue= joaRemoveLeadingSpaces(objCurrent);

    for (var i = 0; i<strObjValue.length; i++)
    {
      var ch = strObjValue.charAt(i);
      for (var j = 0; j<strAllowedValues.length; j++)
      {
        if (ch == strAllowedValues.charAt(j))
        break;
      }
      if (j == strAllowedValues.length)
      {
        blnFlag = false;
        break;
      }
    }
    if (!blnFlag)
    {
      var objectName = getObjectLabel(objCurrent.id,objCurrent);
      var str = objectName+COM00038;
      setError(str);
	  if(error_arr.length==1 && firstErrorField=="")
		{
			firstErrorField = objCurrent.getAttribute('name');
		}
      return false;
    }
    return blnFlag;
  }
  return true;
}
function getObjectLabel(objId,fieldObj)
{
  var label=  "&nbsp;"+ "["+trim(getObjectName(objId,fieldObj))+"]"+"&nbsp;";
  return label;
}
function getObjectName(objId,fieldObj)
{
  len =  objId.length;
  lastChar = objId.charAt(len-1);
  if(checkDataType(lastChar,"N"))
  {
    objId = objId.substring(0,len-1);
  }
  var labelObjId = objId+"_lbl";
  labelObj = document.getElementById(labelObjId); //get the object with the given id.
  var preSib = null;
  var prePreSib = null;
  var  length   = 0;
  var  label    =null;
  if(null==labelObj)
  {
    preSib    = fieldObj.previousSibling;
    if(preSib.nodeName=='A')
    {
      parentEle    = preSib.parentElement;
      preParentSib = parentEle.previousSibling;
      mainEle      = preParentSib.previousSibling;
      labelObj     = mainEle;
      length       =  labelObj.childNodes.length;
      if(length==2)
      {
        label = labelObj.childNodes[1].data+"Time";
      }
      else
      {
        label = labelObj.childNodes[0].data+"Time";
      }
    }
  }
  else
  {
    length =  labelObj.childNodes.length;    // check if field is mandatory or optional then accordingly get the label name.
    if(length==2)
    {
      label = labelObj.childNodes[1].data
    }
    else
    {
      label = labelObj.childNodes[0].data
    }
  }
  var labelTime=null;
  if(label.indexOf(":")!=-1)
  {
    var labelIndex = label.indexOf(":"); // remove the ":" at the end of the label.
    label          = label.substring(0,labelIndex-1);
  }

  if((fieldObj.type!='select-one' && fieldObj.value =='')||
     (fieldObj.type=='select-one' && fieldObj.value =='98')||
	  (fieldObj.type=='password'))
  {
    return label; // return label
  }
  else
  {
    return (label+" : "+fieldObj.value); // return label
  }
}
function getObjName(objId)
{
  var fieldObj = document.getElementById(objId);
  len =  objId.length;
  lastChar = objId.charAt(len-1);
  if(checkDataType(lastChar,"N"))
  {
    objId = objId.substring(0,len-1);
  }
  var labelObjId = objId+"_lbl";
  labelObj = document.getElementById(labelObjId); //get the object with the given id.
  var preSib = null;
  var prePreSib = null;
  var  length   = 0;
  var  label    =null;
  if(null==labelObj)
  {
    preSib    = fieldObj.previousSibling;
    if(preSib.nodeName=='A')
    {
      parentEle    = preSib.parentElement;
      preParentSib = parentEle.previousSibling;
      mainEle      = preParentSib.previousSibling;
      labelObj     = mainEle;
      length       =  labelObj.childNodes.length;
      if(length==2)
      {
        label = labelObj.childNodes[1].data+"Time";
      }
      else
      {
        label = labelObj.childNodes[0].data+"Time";
      }
    }
  }
  else
  {
    length =  labelObj.childNodes.length;    // check if field is mandatory or optional then accordingly get the label name.
    if(length==2)
    {
      label = labelObj.childNodes[1].data
    }
    else
    {
      label = labelObj.childNodes[0].data
    }
  }
  if(label.indexOf(":")!=-1)
  {
    var labelIndex = label.indexOf(":"); // remove the ":" at the end of the label.
    label   = label.substring(0,labelIndex);
  }
  label = trim(label); // trim spaces from label.
  return label; // return label
}
function mandatoryFieldCheck()
{
  var tableObj;
  var tableId;
  var errFlag = false;
  if(flagVar == 'true')
  {
    for(blockCounter=1;;blockCounter++)
    {
      tableId  = "DataBlock"+blockCounter;
      tableObj = document.getElementById(tableId);
      if(tableObj!=null)
      {
      	if(!blockMandatoryFieldCheck(tableObj))
      	{
      		errFlag=true;
      	}
      }
      else
      {
        break;
      }
    }
    for(tableCounter=1;;tableCounter++)
    {
      tableId  = "list"+tableCounter;
      tableObj = document.getElementById(tableId);
      if(tableObj!=null)
      {
        if(!eval("document.forms[0].rowModified_"+tableId))
        {
          continue;
        }
      	if(!listMandatoryFieldCheck(tableId, tableObj))
      	{
      		errFlag=true;
      	}
      }
      else
      {
        break;
      }
    }
    if(errFlag)
    {
      stripMethod();
      return false;
    }
  }
  else
  {
    return true;
  }
}
function blockMandatoryFieldCheck(tableObj)
{
  var errFlag;
  inputElements  = tableObj.getElementsByTagName("INPUT");
  
  for(counterInput = 0; counterInput < inputElements.length; counterInput++)
  {
    htmlObj = inputElements[counterInput];
    if (htmlObj.id.substring(0,4)=='reqd')
    {
      if(htmlObj.value.charAt(0)==' ')
      {
        htmlObj.value= removeLeadingSpaces(htmlObj);
      }
      if((htmlObj.type=='text' ||htmlObj.type=='password'|| htmlObj.type=='file')&& htmlObj.value=='')
      {
        var elementFieldId=getObjectLabel(htmlObj.id,htmlObj); //objElement.id.substring(4).toUpperCase();
        var str = elementFieldId+COM00004;
        setError(str);
        errFlag = true;
      }
    }
  }
  selectElements = tableObj.getElementsByTagName("SELECT");
  for(counterSelect = 0; counterSelect < selectElements.length; counterSelect++)
  {
    htmlObj = selectElements[counterSelect];
    if (htmlObj.id.substring(0,4)=='reqd')
    {
      if(htmlObj.value.charAt(0)==' ')
      {
        htmlObj.value= removeLeadingSpaces(htmlObj);
      }
      if(htmlObj.type.toString().charAt(0)=='s')
      {
        var index = htmlObj.selectedIndex;
        if(htmlObj.selectedIndex==0)
        {
          var elementFieldId=getObjectLabel(htmlObj.id,htmlObj); //objElement.id.substring(4).toUpperCase();
          var str = elementFieldId+COM00004;
          setError(str);
          errFlag = true;
        }
      }
    }
  }
  
  selectElements = tableObj.getElementsByTagName("textarea");
  for(counterSelect = 0; counterSelect < selectElements.length; counterSelect++)
  {
  	htmlObj = selectElements[counterSelect];
   if (htmlObj.id.substring(0,4)=='reqd')
    {
      if(htmlObj.value.charAt(0)==' ')
      {
        htmlObj.value= removeLeadingSpaces(htmlObj);
      }
      if(htmlObj.value=='')
      {
        var elementFieldId=getObjectLabel(htmlObj.id,htmlObj); //objElement.id.substring(4).toUpperCase();
        var str = elementFieldId+COM00004;
        setError(str);
        errFlag = true;
      }
    }
  }
  if(errFlag)
  {
  	return false;
  }
  else
  {
  	return true;
  }
}
function listMandatoryFieldCheck(tableId,tableObj)
{
  var rowModifiedObj;
  var errFlag;
  rows = tableObj.getElementsByTagName('tr');
  for(i = 1; i < rows.length ; i++ )
  {
    rowModifiedObj = eval("document.forms[0].rowModified_"+tableId)[i-1];
    if(rowModifiedObj && (rowModifiedObj.value=='' || rowModifiedObj.value=='Deleted'))
    {
    	continue;
    }    cols= rows[i].getElementsByTagName('td');
    for(ind = 0; ind < cols.length ; ind++ )
    {
      col = cols[ind];
      if(col.childNodes[0])
      {
        htmlObj = col.childNodes[0];
        switch(htmlObj.nodeName)
        {
          case 'INPUT'  :
            if (htmlObj.id.substring(0,4)=='reqd')
            {
              if(htmlObj.value.charAt(0)==' ')
              {
                htmlObj.value= removeLeadingSpaces(htmlObj);
              }
              if(htmlObj.type=='text'&& htmlObj.value=='')
              {
                var elementFieldId=getObjectLabel(htmlObj.id,htmlObj); //objElement.id.substring(4).toUpperCase();
                var str = elementFieldId+COM00004+ "for  Row["+i+"]";
                setError(str);
                errFlag = true;
              }
            }
            break;
          case 'SELECT' :
            if (htmlObj.id.substring(0,4)=='reqd')
            {
              if(htmlObj.value.charAt(0)==' ')
              {
                htmlObj.value= removeLeadingSpaces(htmlObj);
              }
              if(htmlObj.type.toString().charAt(0)=='s' &&
                        (htmlObj.selectedIndex==0 || htmlObj.selectedIndex==-1))
              {
                var elementFieldId=getObjectLabel(htmlObj.id,htmlObj); //objElement.id.substring(4).toUpperCase();
                var str = elementFieldId+COM00004+ " for Row["+i+"]";
                setError(str);
                errFlag = true;
              }
            }
            break;
          default       :
            break;
        }
      }
    }
	}
	if(errFlag)
  {
  	return false;
  }
  else
  {
  	return true;
  }
}
function checkMinLength(objCurrent,objMinLength)
{
  if(flagVar=='true')
  {
    var objValue = objCurrent.value;
    objValue     = trim(objValue);
    if(objValue && objValue.length < objMinLength)
    {
      var objectName = getObjectLabel(objCurrent.id, objCurrent);
      var str = 'Enter atleast '+objMinLength+ ' character for '+ objectName;
      setError(str);
      return false;
    }
  }
  return true;
}
//Added for Track Payment Status
function isSRNValid(objCurrent)
{
	if(flagVar == 'true')
	{
		var strSRN=objCurrent.value;
		if(strSRN!="")
		{
			var patternSRN=/^[A-Z]\d{8}$/;
			var result=strSRN.match(patternSRN);
			if(result !=null)
			{
				return true;
			}
			var objectName =  getObjectLabel(objCurrent.id,objCurrent);
			setError(URS00002+ objectName);
			if(error_arr.length==1 && firstErrorField=="")
				{
					firstErrorField = objCurrent.getAttribute('name');
				}
			return false;
		}
	}
	return true;
}
//Added for Track Transaction Status
function checkGreaterDate(date1,date2)
{
  if(flagVar=='true')
  {
    var fromdt=null;
    var todt  =null;
    if(typeof(date1)=='object' && typeof(date2)=='object')
    {
      fromdt = date1.value;
      todt	 = date2.value;
    }
    else if(typeof(date1)=='string' && typeof(date2)=='string')
    {
      fromdt = date1;
      todt	 = date2;
    }
    else
    {
       var str = "Wrong usage of the function";
       setError(str);
       return false;
    }
    if( (fromdt=="") && (todt==""))
    {
      return true;
    }
    if( ((fromdt!="") && (todt=="") ) || ((fromdt=="") && (todt!="") ))
    {
	    if(typeof(date1)=='object' && typeof(date2)=='object')
	    {
	      var date1Name = getObjectLabel(date1.id,date1);
	      var date2Name = getObjectLabel(date2.id,date2);
      	  var str = 'Invalid Entry: Enter both '+date1Name+' and '+date2Name;
	      setError(str);
	    }
	    return false;
    }
	if(validateflag==true)
    {
    	return false;
    }
    if(validateflag==false)
	 {
	    if(!chkDate(date1))
	    {
	      return false;
	    }
	    if(!chkDate(date2))
	    {
	      return false;
	    }
	}
    var firstslash=fromdt.indexOf(dateSapertorChar);
    var lastslash	=fromdt.lastIndexOf(dateSapertorChar);
    var yearfrom	=convertStringToNumber(fromdt.substr(lastslash+1));
    var monfrom		=convertStringToNumber(fromdt.substring(firstslash+1,lastslash));
    var dayfrom		=convertStringToNumber(fromdt.substr(0,firstslash));
	if(fromdt.indexOf(dateSapertorChar) == -1 )
	{
		return false;
	}
	if(todt.indexOf(dateSapertorChar) == -1 )
	{
		return false;
	}
    firstslash=todt.indexOf(dateSapertorChar);
    lastslash	=todt.lastIndexOf(dateSapertorChar);
    var yearto=convertStringToNumber(todt.substr(lastslash+1));
    var monto	=convertStringToNumber(todt.substring(firstslash+1,lastslash));
    var dayto	=convertStringToNumber(todt.substr(0,firstslash));
    var diffYear  = yearto - yearfrom;
    var diffMonth = (monto  - monfrom );
    var diffDay   = (dayto  - dayfrom );
    if(diffYear > 0)
    {
      return true;
    }
    else if(typeof(date1)=='object' && typeof(date2)=='object' && diffYear < 0)
    {
      date1Label = getObjectLabel(date1.id,date1);
      date2Label = getObjectLabel(date2.id,date2);
      var str    = date1Label +COM00052+ date2Label;
      setError(str);
      return false;
    }
    else if(typeof(date1)=='string' && typeof(date2)=='string' && diffYear < 0)
    {
      return false;
    }
    else
    {
      if(diffMonth > 0)
      {
        return true;
      }
      else if(typeof(date1)=='object' && typeof(date2)=='object' && diffMonth < 0)
      {
        date1Label = getObjectLabel(date1.id,date1);
        date2Label = getObjectLabel(date2.id,date2);
        var str = date1Label +COM00052+ date2Label;
        setError(str);
        return false;
      }
      else if(typeof(date1)=='string' && typeof(date2)=='string' && diffMonth < 0)
      {
        return false;
      }
      else
      {
         if(typeof(date1)=='object' && typeof(date2)=='object' && diffDay< 0)
         {
           date1Label = getObjectLabel(date1.id,date1);
           date2Label = getObjectLabel(date2.id,date2);
           var str = date1Label +COM00052+ date2Label;
           setError(str);
           return false;
         }
         else if(typeof(date1)=='string' && typeof(date2)=='string' && diffDay< 0)
         {
           return false;
         }
         else
         {
            return true;
         }
      }
    }
  }
  else
  {
	  return true;
	}
}
function chkDate(objCurrent)
{
  if(flagVar=='true') // enable validation only on submit
  {
    var blnFlag = true;    // variable arrDays specifies number of days according to the month.
    var arrDays = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var arrMonths = new Array ('','JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC');
    var objVal = null;
    if(typeof(objCurrent)=='object')
    {
      objVal = trim(objCurrent.value);
    }
    else if(typeof(objCurrent)=='string')
    {
      objVal = trim(objCurrent);
    }
    if(objVal == undefined)
    return true;
    if(objVal == format && typeof(objCurrent)=='object')
    {
      objCurrent.value="";
    }
    else if(objVal == format && typeof(objCurrent)=='string')
    {
      return true;
    }
    var format="dd-mm-yyyy";
    if(dateFormatFlip){
   		format="dd/mm/yyyy";
   	}
    var objElements    = objVal.split(dateSapertorChar); // splits the date
    var formatElements = format.split(dateSapertorChar) ;
    blnFlag = (objElements.length == 3);
     if(blnFlag)
     {
       var day   = getDay(objElements,formatElements);
       var month = getMonth(objElements,formatElements);
       var year  = getYear(objElements,formatElements);
       blnFlag = (!isNaN(month) && (month > 0) && (month < 13) &&
                 !isNaN(day) && (day > 0) && (day < 32) &&
                 !isNaN(year) && (objElements[2].length == 4 ));
       if(day.length!=undefined && day.length==1)
        blnFlag = false;
       if(month.length!=undefined && month.length==1)
        blnFlag = false;
       if (((year % 4 == 0) && (year%100 != 0)) ||(year % 400 == 0))
            arrDays[1] = 29;
       if(month.toString().charAt(1)=='.' ||day.toString().charAt(1)=='.')
          blnFlag=false;
       if(day > arrDays[month-1])
       {
         if(typeof(objCurrent)=='object')
         {
		   var objectName =  getObjectLabel(objCurrent.id,objCurrent);
           var str=objectName + COM00063+day+ ' days.';
           setError(str);
		   if(error_arr.length==1 && firstErrorField=="")
			{
				firstErrorField = objCurrent.getAttribute('name');
			}
			validateflag=true;
		   return false;
         }
         else if(typeof(objCurrent)=='string')
         {
           dateError=objCurrent+COM00063+day+ ' days. ';
			validateflag=true;
           return false;
         }
	   }
	  if(day > 12 && month > 12)
	   {
		 if(typeof(objCurrent)=='object')
		 {
			 var objectName =  getObjectLabel(objCurrent.id,objCurrent);
		   var str= objectName +'Invalid number of months.';
		   if(error_arr.length==1 && firstErrorField=="")
			{
				firstErrorField = objCurrent.getAttribute('name');
			}
		   setError(str);
		   validateflag=true;
			return false;
		 }
		 else if(typeof(objCurrent)=='string')
		 {
		   dateError=objCurrent +'Invalid number of months.';
		   validateflag=true;
		   return false;
		 }
      }
    }  // end of if(blnFlag)
    if (!blnFlag && typeof(objCurrent)=='object')
    {
     var labelName = getObjectLabel(objCurrent.id,objCurrent);
     var str = labelName+COM00006+format;
     setError(str);
	 if(error_arr.length==1 && firstErrorField=="")
	{
		firstErrorField = objCurrent.getAttribute('name');
	}
     validateflag=true;
    }
    else if(!blnFlag && typeof(objCurrent)=='string')
    {
      dateError = COM00006;
	  validateflag=true;
      return false;
    }
   return blnFlag;
  }
  else
  return true;
 }
function convertStringToNumber(fieldValue)
{
  if(fieldValue=="" || fieldValue==undefined)
  {
    return 0;
  }
	var n = 0;
	var wholeNum = 0;
	var d = 0.0;
	var decNum = 0.0;
	var zeroASCII ='0';
	var lengthUptoDecimal = 0;
	var lengthAfterDecimal = 0;
	var indexOfDecimal = 0;
	if (fieldValue.indexOf(".") > 0)
	{
		indexOfDecimal = fieldValue.indexOf(".");
		lengthUptoDecimal = fieldValue.substring(0,indexOfDecimal).length;
		lengthAfterDecimal = fieldValue.substring(indexOfDecimal + 1,fieldValue.length).length;
	}
	else
	{
		lengthUptoDecimal = fieldValue.length;
	}
	for (var i = 0; i < lengthUptoDecimal; i++)
	{
		n = fieldValue.substring(i,i+1) - zeroASCII;
		wholeNum = 10 * wholeNum + n;
	}
	if (indexOfDecimal > 0)
	{
		for (var i = 0; i < lengthAfterDecimal; i++)
		{
			var k = fieldValue.indexOf(".") + i + 1;
			if (k >= fieldValue.length)
			{
				break;
			}
			d = (fieldValue.substring(k,k+1) - zeroASCII) * 0.1;
			decNum = decNum + Math.pow(0.1,i) * d;
		}
	}

	if (indexOfDecimal > 0)
	{
		return ((wholeNum * 1.0) + decNum);
	}
	else
	{
		return wholeNum;
	}
}
function getDay(objDate,formatMask)
{
  if(formatMask[0]=='DD' || formatMask[0]=='dd')
  return objDate[0];
  else if(formatMask[1]=='DD' || formatMask[1]=='dd')
  return objDate[1];
  else
  return objDate[2];
}
function getMonth(objDate,formatMask)
{
  if(formatMask[0]=='MM' || formatMask[0]=='mm')
  return objDate[0];
  else if(formatMask[1]=='MM' || formatMask[1]=='mm')
  return objDate[1];
  else
  return objDate[2];
}
function getYear(objDate,formatMask)
{
  if(formatMask[0]=='YYYY' || formatMask[0]=='yyyy')
  return objDate[0];
  else if(formatMask[1]=='YYYY' || formatMask[1]=='yyyy')
  return objDate[1];
  else
  return objDate[2];
}
 function checkGreaterThanSysDate(date)
{
  if(flagVar=='true')
  {
	if(validateflag==true)
    {
    	return ;
    }
	 if(validateflag==false)
	 {
	    if(chkDate(date))
	    {
	    	if(dateFormatFlip){
		    	businessDate=businessDate.replace("-","/");
		    	businessDate=businessDate.replace("-","/");
		    }
	    	
			if(date.value!=null && date.value!='' && !checkGreaterDate(date.value,businessDate) 
				&& date.readOnly !=true && (!date.disabled))
			{
				var dateLabel = getObjectLabel(date.id,date);			
				setError(dateLabel + COM00136);	
			}
		}
	 }
  }		
}
function checkLesserThanSysDate(date)
{
  if(flagVar=='true')
  {
	if(validateflag==true)
    {
    	return ;
    }
	 if(validateflag==false)
	 {
	    if(chkDate(date))
	    {
	    	if(dateFormatFlip){
		    	businessDate=businessDate.replace("-","/");
		    	businessDate=businessDate.replace("-","/");
		    }
	    	
			if(date.value!=null && date.value!='' && !checkGreaterDate(businessDate,date.value)
				&& date.readOnly !=true && (!date.disabled))
			{
				var dateLabel = getObjectLabel(date.id,date);			
				setError(dateLabel + COM00137);	
			}
		}
	 }
  }		
}
//Added for user registration
function validateEmail(field)
{
	if(flagVar == 'true')
	{
		var field_value=field.value;
		if(field_value!="")
		{
			var email = field_value.split(',');
			for (var k = 0; k < email.length; k++) 
			{
				var addr = email[k];
				if (!emailCheck(email[k],field)) 
				{
					if(error_arr.length==1 && firstErrorField=="")
					{
						firstErrorField = field.getAttribute('name');
					}
					return false;
				}
			}
		}
	}
	else
	return true;
}
function emailCheck (emailStr,field) 
{
	var emailLabel = getObjectLabel(field.id,field);			
	var checkTLD=1;
	var knownDomsPat=/^(COM|NET|ORG|EDU|INT|MIL|GOV|ARPA|BIZ|AERO|NAME|COOP|INFO|PRO|MUSEUM)$/;
	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 + ")";// The following pattern describes the structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) 
	{
		setError(emailLabel+"seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];	// Start by checking that only basic ASCII characters are in the strings (0-127).
	for (i=0; i<user.length; i++) 
	{
		if (user.charCodeAt(i)>127) 
		{
			setError(emailLabel+"The username contains invalid characters.");
			return false;
		}
	}
	for (i=0; i<domain.length; i++) 
	{
		if (domain.charCodeAt(i)>127) 
		{
			setError(emailLabel+"The domain name contains invalid characters.");
			return false;
		}
	}	// See if "user" is valid 
	if (user.match(userPat)==null) 
	{
		setError(emailLabel+"The username doesn't seem to be valid.");		// user is not valid
		return false;
	}	/* if the e-mail address is at an IP address (as opposed to a symbolic host name) make sure the IP address is valid. */
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
	for (var i=1;i<=4;i++) 		// this is an IP address
		{
			if (IPArray[i]>255) 
			{
				setError(emailLabel+"The Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}	// Domain is symbolic name.  Check if it's valid.
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) 
	{
		if (domArr[i].search(atomPat)==-1) 
		{
			setError(emailLabel+"The domain name does not seem to be valid.");
			return false;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && 
	domArr[domArr.length-1].toUpperCase().search(knownDomsPat)==-1) 
	{
		setError(emailLabel+"must end in a well-known domain or two letter " + "country.");
		return false;
	}
	if (len<2) 
	{
		setError(emailLabel+"is missing a hostname!");
		return false;
	}	// If we've gotten this far, everything's valid!
	return true;
}
//Added for Search CIN
function isCINValid(objCurrent)
{
	if(flagVar == 'true')
	{
		var strCIN=objCurrent.value;
		if(strCIN!="")
		{
			var patternCIN=/^[UL]\d{5}[A-Z]{2}\d{4}[A-Z]{3}\d{6}$/;
			var result=strCIN.match(patternCIN);
			if(result !=null)
			{
				return true;
			}
			var objectName =  getObjectLabel(objCurrent.id,objCurrent);
			setError(URS00001+ objectName);
			if(error_arr.length==1 && firstErrorField=="")
				{
					firstErrorField = objCurrent.getAttribute('name');
				}
			return false;
		}
	}
	return true;
}

//for CSS

function validchars(objCurrent)
{


var input=objCurrent.value;
var startindex=input.indexOf("<");



	if(startindex!= -1)
	{
		var endindex=input.indexOf(">");

		if(endindex!= -1)
		{
	
	
		var objectName =  getObjName(objCurrent.id);
	
	
		if(scriptTagFlag==1) 
		{
        setError("Invalid characters have been entered in "+objectName);
	    var strChar=objCurrent.value;
	    objCurrent.value='';
		scriptTagFlag=0;
		
		}
		else
		{ 
		 error_arr.length=0;
         setError("Invalid characters have been entered in "+objectName);
         objCurrent.value='';
	     showErrors();
		 error_arr.length=0;
		 } 
		
		
		}

	}


}

