
/************************************************************************************************
Modification History
Version.  	Modified By    		Modified Date  		Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.01        Kalyan              18/04/2011          US1342 - Email format validation 
1.02        Kalyan              25/04/2011          DE1226 - Email format validation 
************************************************************************************************/
function isEmpty(field)
{
	if(typeof(field)=="object")
	str1=field.value;
	else
	str1=field;

  	if(str1.length>0)
    	return false;
   	else
	{
		if(typeof(field)=="object")
			field.focus();
		return true;
	}
}
function trim(TextString)
{

	if (typeof(TextString)=="object")
	{
		TextString=TextString.value+'';
	}
	else
	{
		TextString=TextString+'';
	}

	for (i=0;i<TextString.length;i++)
	{
		if (TextString.charAt(i) != " ")
		{
			startIndex = i;
			break;
		}
	}

	TextString=TextString.substring(i, TextString.length);

	var i;
	var startIndex = 0;
	var endIndex;
	if(isEmpty(TextString))
	{
		return "";
	}
	endIndex = TextString.length;
	for (i=startIndex;i<endIndex;i++)
	{
		if (TextString.charAt(i) != " ")
		{
			startIndex = i;
			break;
		}
	}
	for (i=endIndex-1; i >= startIndex;i--)
	{
		if (TextString.charAt(i) != " ")
		{
			endIndex = i;
			break;
		}
	}

	return TextString.substring(startIndex, endIndex+1);
}

var dtCh= "/";
function ValidDate(dtStr)
{
	if (dtStr == "")
	{
		return;
	}
	var daysInMonth = DaysArray(12);
	var pos1	= dtStr.indexOf(dtCh);

	var pos2		= dtStr.indexOf(dtCh,pos1+1);
	var strMonth	= dtStr.substring(0,pos1);
	var strDay		= dtStr.substring(pos1+1,pos2);
	var strYear		= dtStr.substring(pos2+1);
	strYr			= strYear;
	if (strDay.charAt(0)=="0" && strDay.length>1)
		strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1)
		strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++)
	{
		if (strYr.charAt(0)=="0" && strYr.length>1)
			strYr=strYr.substring(1);
	}
	month	= Math.round(strMonth);
	day		= Math.round(strDay);
	year	= Math.round(strYr);

	if (pos1==-1 || pos2==-1)
	{
		alert("The date format should be : mm/dd/yyyy"); 
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
	{
		alert("Please enter a valid day"); 
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12)
	{
		alert("Please enter a valid month");
		return false;
	}
	if (strYear.length != 4 || year==0 )
	{
		 alert("Please enter a valid 4 digit year");
		return false
	}
	if (year < 1753 )
	{
		alert("Please enter a year greater than 1752"); 
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(isInStr(dtStr, dtCh))==false)
	{
		alert("Please enter a valid date. Date format should be MM/DD/YYYY");
		return false;
	}
return true;
}

function isNumeric(TextString)
{

	var i;
    var seenDecimalPoint = false;
    TextString = trim(TextString);

    if(TextString.charAt(0) == "-")
    {
		TextString = TextString.substring(1, TextString.length)
    }
    if (isEmpty(TextString))
       return false;
    if (TextString == ".") return false;
    for (i = 0; i < TextString.length; i++)
    {
        var Digit = TextString.charAt(i);

         if ((Digit == ".") && !seenDecimalPoint) seenDecimalPoint = true;
         else if (!isInteger(Digit)) return false;
    }
    return true;
}

function isAlphaNum(strObj , splChars)
{
	var strValue = trim(strObj.value)
	var valid_char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	valid_char = valid_char + splChars;
	for (i = 0; i < strValue.length; i++)
	{
		var where = valid_char.indexOf(strValue.charAt(i)) + 1;
	if(where == 0)
		{
		return false;
		}
	}
	return true;
}	

function isInteger(s)
{
	var i;
    for (i = 0; i < s.length; i++){
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}


function isMaxLen(field, maxlimit)
{

	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
}

function isSplChar(strValue,splChars)
{
	var index;
	for (i = 0; i < trim(splChars).length; i++)
	{
	   index = strValue.indexOf(trim(splChars).charAt(i)) + 1;
	   if(index > 0)
		{
		  return true;
		}
	}
	return false;
}

function isAlphaWithSplChar(strValue,sEmptyparam)
{

	var valid_char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,'";	
	for (i = 0; i < strValue.length; i++)
	{
	   var where = valid_char.indexOf(strValue.charAt(i)) + 1;
	   if(where == 0)
		{
		  return false;
		}
	} 
	return true;
}
function isValidSurname(strValue)
{
	strValue = trim(strValue);
	var valid_char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz- '";	
	for (i = 0; i < strValue.length; i++)
	{
	   var where = valid_char.indexOf(strValue.charAt(i)) + 1;
	   if(where == 0)
		{
		  return false;
		}
	} 
	return true;
}
function isValidZip(strValue)
 {
	var objRegExp  = /(^\d{3}\d{3}$)|(^\d{4}\d{3}$)/;
	return objRegExp.test(strValue.value);
}

function CommonLengthCheck(sControlvalue,sLength)
{
	if(sLength.length>1)
	{
		var str1 = sControlvalue.substring(0,1);
		var str2 = sControlvalue.substring(2,3);
		if(sControlvalue.length!=str1 || sControlvalue.length!=str2)
			return false;
	}
	else if(sControlvalue.length!=sLength)
	{
	return false;
	}
return true;
}

function IsValidMDUNumber(strToCheck)
{
	strToCheck = trim(strToCheck);
	var FDigit =false;
    var LDigit=false;
    strToCheck = trim(strToCheck);
    if(strToCheck.length<7)
			return false;
    FDigit = isInteger(strToCheck.substring(0, strToCheck.length-1));
    LDigit = isMDUAlphabet(strToCheck.substring(strToCheck.length-1, strToCheck.length));

		if (FDigit && LDigit)
        return true;
        else
		return false;
        
}

function IsValidMDUNumberSearch(strCheck)
{
	var FDigit =false;
    var LDigit=false; 
   
	if(strCheck.length == 7)
	{
		FDigit = isInteger(strCheck.substring(0, strCheck.length-1));
		LDigit = isMDUAlphabet(strCheck.substring(strCheck.length-1, strCheck.length));

		if (FDigit && LDigit)
        return true;
        else
		return false;
	}
	else
	{
		FDigit = isInteger(strCheck.substring(0, strCheck.length-1));
		LDigit = isMDUAlphabet(strCheck.substring(strCheck.length-1, strCheck.length));
		if (!MDUAlphabetSearch(strCheck))
		{
			return false;
		}
		if (FDigit || LDigit)
        return true;
        else
		return false;
	}   
}

function isMDUAlphabet(strValue)
{
	var valid_char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	for (var i =0;i<1;i++)
	{
		var where = valid_char.indexOf(strValue.charAt(i));
	}
	if(where ==-1)
		{
		return false;
		}
	return true;
}

function MDUAlphabetSearch(strValue)
{
	var valid_char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var count = 0;
	for (var i =0;i<strValue.length;i++)
	{
		if (!isInteger(strValue.charAt(i)))
		{
			var where = valid_char.indexOf(strValue.charAt(i));
			if(where != -1)
			{
				count = count + 1;		
			}
			else 
			{
				count = -1;
			}
		}		
		else
		{
			count = 0;
		}
	}
	if (count != 0 && count != 1)
	{
		return false
	}
	else
		return true;
}

function inRange(TextString, From, To)
{
	if (isEmpty(TextString))
	return false;
    var iTextString =0;
    iTextString	   = eval(TextString);
    var intFrom	   = parseInt(From);
    var intTo	   = parseInt(To);
    if((iTextString >= intFrom) && (iTextString <= intTo))
    {
		return true;
    }
    else
    {
		return false;
    }
}

//Version 1.01 
function checkEmail(sEmail)
{  
   var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,10}$/;  		//Version 1.02
   return emailPattern.test(sEmail);  
 }  

function isAllZero(TextString)
{
	if (isEmpty(TextString))
       return false;
	   var startIndex = 0;
       var i;
       for (i=0;i<TextString.length;i++)
		{
		if (TextString.charAt(i)==0)
				startIndex = startIndex+1;
		}
		if(TextString.length==startIndex)
			return false;
		else
			return true;	

	}      

function wait(delay)
{
	string="pauseforalert("+delay+");";
	setTimeout(string,delay);
}
function pauseforalert(delay)
{
	alert("Ok "+delay/1000+" seconds have elapsed");
}
	
function CloseButtonClick()
{

	if((window.event.clientX<0) && (window.event.clientY<0) || (window.event.clientX>0) && (window.event.clientY>0))
	{
			ClearSession(); 
			wait(4000);
	}
}
	
var sminutes = "";
var seconds = 59;
var VTime = "Minutes";
var vMinutes = "";
var vSeconds = "";
var  time = "";

history.forward();


function GetObj (sObjId)
{
	return document.getElementById (sObjId);
}

function fnTrimAll(sValue)
{
    return sValue.replace(/\s/g, "")
}

function isValidPostcode(toCheck) 
{     
  var alpha1 = "[abcdefghijklmnoprstuwyz]";                      
  var alpha2 = "[abcdefghklmnopqrstuvwxy]";                      
  var alpha3 = "[abcdefghjkstuw]";                               
  var alpha4 = "[abehmnprvwxy]";                                 
  var alpha5 = "[abdefghjlnpqrstuwxyz]";                         
  
  var pcexp = new Array ();

  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));

  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  pcexp.push (/^(GIR)(\s*)(0AA)$/i);
  
  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);
  
  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);
  
  pcexp.push (/^([A-Z]{4})(\s*)(1ZZ)$/i);

  var postCode = toCheck;

  var valid = false;
  
  for ( var i=0; i<pcexp.length; i++) {
    if (pcexp[i].test(postCode)) {
    
      pcexp[i].exec(postCode);
      
      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
      
      postCode = postCode.replace (/C\/O\s*/,"c/o ");
      
      valid = true;
      
      break;
    }
  }
  
  if (valid) {return postCode;} else return false;

}

function isAlphaNumeric(strObj ,valid_char, splChars)
{
	var regex = new RegExp("^[0-9]+$");
	
	var strValue = trim(strObj.value)
	if(regex.test(strValue))
	{
		return false;
	}
	else
	{
		valid_char = valid_char + splChars;
		for (i = 0; i < strValue.length; i++)
		{
			var where = valid_char.indexOf(strValue.charAt(i)) + 1;
			if(where == 0)
			{
				return false;
			}
		}
		return true;
	}
}
function IsPasswordsSame(password,repeatpassword)
{
	
	if (password==repeatpassword) 
	{	
		return true;
	}
	else
	{
		return false;
	}
			
}
function convertCase(sMduNumber)
{
	var isValidMduNum=IsValidMDUNumber(sMduNumber);
	if(isValidMduNum)
	{
		var str  = sMduNumber;
		var iLen = str.length;
		str.substring(iLen, iLen - 1).toUpperCase();
		sMduNumber =str.substring(iLen-1, iLen - 7)+str.substring(iLen, iLen - 1).toUpperCase() 
	}
	return sMduNumber;
}
function validateSpecialChars(myStringID)
{      
	var illegalChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";    
	     
 for (var i = 0; i < myStringID.length; i++)     
  {  	
	if (illegalChars.indexOf(myStringID.charAt(i)) != -1)      
	{
  	   return false;  	
  	  }     
  }
}
function isValidUserName(sUserName)
{
	sUserName = trim(sUserName);
	var regexUserName = /^[\w\!\.\_\-]+$/;
	return regexUserName.test(sUserName);
}
function isValidPassword(sPassword)
{
	var regexPassword = /^[\dA-Za-z]*(?:[A-Za-z][\dA-Za-z]*\d|\d[\dA-Za-z]*[A-Za-z])[\dA-Za-z]*$/;
	return regexPassword.test(sPassword);
}

function isValidDescription(sDescription)
{
	sDescription = trim(sDescription);
	var regexDescription = /^[\w\s]+$/;
	return regexDescription.test(sDescription);
}

function IsNumberWithSpace(sPhonenumber)
{
	sPhonenumber = trim(sPhonenumber);
    var regex = /^[\s\t\d]+$/;
   	return regex.test(sPhonenumber);
}

sessiontimeouturl = "SessionTimeOut.asp";
sessiontimeout = 20;
sessionwarning = 15;
function fnCountDown()
{
    sec--;      
    if (sec == -1)
    { 
        sec = 59; min--; 
    }
   
    if (min == 0 && sec == 0) 
    {
		window.location.href = sessiontimeouturl;
	}
    else down = setTimeout("fnCountDown()", 1000);
}

function fnWarningTimer() 
{
    min = sessionwarning;
    sec = 0;
    fnCountDown();
}

function fnLogoutTimer(timeoutvalue) 
{	
	sessiontimeouturl = "../include/_sessionabandon.asp";
    min = timeoutvalue;
    sec = 0;
    fnCountDown();
}

function checkDate(datevalue)
{ 
	if (DateCheck(datevalue,0)) 
		return true;
	else 
		return false; 
}

function DateCheck(s,f) 
{   
	var arrayslash=s.split("/"); 
	var arrayhyphen=s.split("-"); 
	var validvalue=true; 
	if ((arrayslash.length!=3) && (arrayhyphen.length!=3)) 
	{ 
		validvalue=false; 
	} 
	else 
	{
		if (arrayslash.length==3) 
		var datearray=arrayslash; 
		if (arrayhyphen.length==3) 
		var datearray=arrayhyphen; 
		if (CheckPositiveInteger(datearray[0]) && CheckPositiveInteger(datearray[1]) && CheckPositiveInteger(datearray[2])) 
		{
			if (f==1) 
			{
				var d=datearray[1],m=datearray[0]; 
			} 
			else 
			{
				var d=datearray[0],m=datearray[1]; 
			} 
			var y=datearray[2]; 
			if (((validvalue) && (y<1900)||y.length>4)) 
				validvalue=false; 
			if (validvalue) 
			{ 
				v=new Date(m+"/"+d+"/"+y); 
				if (v.getMonth()!=m-1) 
					validvalue=false; 
			} 
		} 
		else 
		{ 
			validvalue=false; 
		} 
	} 
	return validvalue; 
} 

function CheckPositiveInteger(theString) 
{ 
	var theData = new String(theString); 

	if (!CheckDigit(theData.charAt(0))) 
		if (!(theData.charAt(0)== '+')) 
			return false; 

	for (var i = 1; i < theData.length; i++) 
		if (!CheckDigit(theData.charAt(i))) 
			return false; 
	return true; 
}

function CheckDigit(theDigit) 
{ 
	var digitArray = new Array('0','1','2','3','4','5','6','7','8','9'),i; 

	for (i = 0; i < digitArray.length; i++) 
	{
		if (theDigit == digitArray[i]) 
			return true; 
	} 
	return false;
} 

