<!-- functionsJava.js  -->

var f;

// STARTS JAVASCRIPT VALIDATION FUNCTIONS

function IsBlank( str ) {
	for(var i = 0; i < str.length; i++)
	{
		var c = str.charAt(i); if( (c!=' ') && (c!='\n') && (c!='\t') ) return false;
	}
	return true;
}

function IsValidChars(str) {
	if( (str == null) || (str == '') || IsBlank(str) ) return false; //empty and required

	return true;
}

function IsNumeric(str) {
	var validchar = "0123456789. ";
	var strchar;
	var result = true;
	for (i = 0; i < str.length && result == true; i++)
		{
		strchar = str.charAt(i);
		if (validchar.indexOf(strchar) == -1)
			{
			result = false;
			}
		}

	return result;
}

function IsInteger(str) {
	var validchar = "0123456789";
	var strchar;
	var result = true;
	for (i = 0; i < str.length && result == true; i++)
		{
		strchar = str.charAt(i);
		if (validchar.indexOf(strchar) == -1)
			{
			result = false;
			}
		}

	return result;
}

function IsFilteredOK(str,filterset) {
	var validchar = filterset;
	var strchar;
	var result = true;
	for (i = 0; i < str.length && result == true; i++)
		{
		strchar = str.charAt(i);
		if (validchar.indexOf(strchar) == -1)
			{
			result = false;
			}
		}

	return result;
}


function ValidateNames(str, required) {

	var auxstr,validset;

	if( IsValidChars(str)==false )	
	{
		if(required==true)
			return "is blank";
		else
			return "";
	}
	else
	{
		auxstr = str.toUpperCase();
		validset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ .'-";
		
		if( IsFilteredOK(auxstr, validset)==false )	
			return "contains invalid characters";
	}	
	return "";
}

function ValidEmail(str, AtStart, DotDiff, EndChars)
   {
   // The AtStart is the position where we want the "@" to be.
   // The DotDiff is the number of characters that need to be between the "@" and the "."
   // The EndChars determines the number of characters that end the email.
   var At = str.indexOf('@');
   var Dot = str.indexOf('.', At);
   var returnValue = true;
   
   if (At < AtStart || (Dot - At - 1) < DotDiff || (str.length - Dot - 1) < EndChars)
      {
      returnValue = false;
      }
   return returnValue;
   }

function ValidateEmail(str, required, alternate) {
	
		//Function parameters:
		//str: email string to be validated
		//required: true will provoke an error message to be returned if email is found blank
		//alternate: input string to be used as alternate value, for example "NA". If not needed, leave it as "" 
		
		var straux,strchar,strInvalids;
		var lastdotpos;
		var result = true;
		var state = 0;
		var filter;
		
		//These Regular Expressions failed when validating number of characters after last dot
		//They also admitted the sequence .@ which may indicate something is missing
		//filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		//filter  = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
					
		if (IsValidChars(str)==false) {
			if (required==true)
				return "is blank";
			else
				return "";
		}
		else {
			straux = str.toUpperCase();
			if(straux == alternate)
				return "";
			else{
				//Starts email validation
				for (i=0; i < straux.length; i++) {
					strchar = straux.charAt(i);
					if (strchar==" ") {
						return "invalid space character";
					}
					switch (state)
					{
						case 0:		//First character
								filter  = /^([a-zA-Z0-9])$/;
								if (filter.test(strchar)) 
									state = 1;
								else
									return "invalid starting character";
								break	
						case 1:		// After first character and before @ appearance
								filter  = /^([a-zA-Z0-9_\.\-\@])$/;
								if (!(filter.test(strchar))) 
									return "invalid character before @";
								else if (strchar == "@")
										if(straux.charAt(i-1)==".")
											return "invalid .@ sequence";
										else
											state = 2;
								break
								
						case 2:	// After @ appearance and before appearance of first dot
								filter  = /^([a-zA-Z0-9\.\-\@])$/;
								if (!(filter.test(strchar))) 
									return "invalid character after @";
								if (strchar == "@")
									return "multiple @ occurrence";
								else
									if(strchar == ".") {
										lastdotpos = i;
										if (straux.charAt(i-1)=="@")
											return "invalid @. occurrence";
										else
											state = 3;	
									}			
								break	
								
						case 3:	// After appearance of first dot
								filter  = /^([a-zA-Z0-9\.\-\@])$/;
								if (!(filter.test(strchar))) 
									return "invalid character after first dot";
								if (strchar == "@")
									return "multiple @ occurrence";
								else
									if(strchar == ".") {
										lastdotpos = i;
										if (straux.charAt(i-1)==".")
											return "invalid .. occurrence";
										else if (straux.charAt(i-1)=="@")
											return "invalid @. occurrence";
									}			
								break	
						}	//Switch
				} //For
				
				if (state<2)
					return "missing @";
				else if (state==2)
						return "missing dot after @";	
				else if (((straux.length - lastdotpos - 1) < 2 ) || ((straux.length - lastdotpos - 1) > 3 ))
						return "invalid number of characters after last dot";	
				
				//Ends email validation
			}
		}
		return "";
	}

function ValidateZipCode(str) {

	if( IsValidChars(str)==false )	
		return "is blank";
	else
	{
		if( IsInteger(str)==false )	
			return "contains invalid characters";
		else
		{
			if( str.length != 5 )	
				return "must be a 5-digits code";
		}		
	}	
	return "";
}


function CleanPhoneValue(instr) {

	var str = "";
	var strchar;
	var validchar = "0123456789";
		
	for (i = 0; i < instr.length; i++)
		{
		strchar = instr.charAt(i);
		if (validchar.indexOf(strchar) != -1)
			{
				str = str + strchar;
			}
		}
	return str;
}


function ValidatePhoneWithDelims(instr) {

	var str = CleanPhoneValue(instr);
	
	if( IsValidChars(str)==false )	
		return "no digit was found";
	else
	{
		if( str.length != 10 )	
				return "must contain 10 digits";
	}	
	return "";
}


function ValidateIntegerRange(str, LowerLimit, UpperLimit){
	
		var aux;

		if( IsValidChars(str)==false )	
			return "is blank";	
		else {
			aux = parseInt(str,10);
			if (str!=aux)
				return "contains invalid characters";
			else {
				diff= aux - UpperLimit;
				if (diff>0)
					return ("is higher than " + UpperLimit);
				else{
					diff= LowerLimit - aux;
					if (diff>0)
						return ("is lower than " + LowerLimit);
				}	
			}
		}	
		return "";
}

	
function ValidateFloatRange(str, LowerLimit, UpperLimit){
	
		var aux;

		if( IsValidChars(str)==false )	
			return "is blank";	
		else {
			aux = parseFloat(str);
			if (str!=aux)
				return "contains invalid characters";
			else {
				diff= aux - UpperLimit;
				if (diff>0)
					return ("is higher than " + UpperLimit);
				else{
					diff= LowerLimit - aux;
					if (diff>0)
						return ("is lower than " + LowerLimit);
				}	
			}
		}	
		return "";
}


function ValidateMoneyRange(str, LowerLimit, UpperLimit){

	var res, aux;
	
	res = ValidateFloatRange(str, LowerLimit, UpperLimit)

	if( res != "" )
		return res; 
	else {
		aux = str.indexOf(".");
		if(( aux!= -1 ) && ((str.length - aux -1) > 2 )) 
			return "must have a maximum of two decimal positions";
	}
	return "";
}


function IsDateFormat(str) {
	var validchar = "0123456789/ ";
	var strchar;
	var result = true;
		for (i = 0; i < str.length && result == true; i++)
			{
			strchar = str.charAt(i);
			if (validchar.indexOf(strchar) == -1)
				{
				result = false;
				}
			}

		return result;
}


function CheckTextAreaTextLength(elmnt, AlertPercent, BkgCol, TextCol, AlertBkgCol, AlertTextCol){

	// Examples:
	// AlertPercent = "70"
	// BkgCol = "#FFFFFF", 	TextCol = "#24708b"
	// AlertBkgCol = "#FF0000", AlertTextCol = "#FFFFFF"
	
	var FilledRate = elmnt.value.length / elmnt.maxlength
	
	if (elmnt.value.length > elmnt.maxlength)
		elmnt.value = elmnt.value.substr(0, elmnt.maxlength)
	
	if (FilledRate > AlertPercent/100){
		elmnt.style.background = AlertBkgCol
		elmnt.style.color = AlertTextCol
	}
	else
	{
		elmnt.style.background = BkgCol
		elmnt.style.color = TextCol
	}
	
}


function replaceall(instr, toberep, repwith){


	var tempIn = instr;
	var tempOut = "";
	var i = tempIn.indexOf(toberep);

	while(i > -1)
	{
		tempOut = tempOut + tempIn.substr(0, i) + repwith;
		tempIn = tempIn.substr(i + toberep.length)
		i = tempIn.indexOf(toberep);			
	}
	
	tempOut = tempOut + tempIn;
	

	return tempOut;

}


function openWin(URL, w, h, scroll, size) {

	  tb = "no"  //toolbars
	  mb = "no"  //menubars
	  sb = "yes" //scrollbars
	  st = "yes"  //status
	  var winl = (screen.availWidth - w)/2;
	  var wint = (screen.availHeight - h)/2;
	  
	  strWindow = "width="+w+",height="+h+",top="+wint+",left="+winl;
	  strWindow = strWindow+",toolbar="+tb+",menubar="+mb+",scrollbars="+sb;
	  strWindow = strWindow+",status="+st;
	  
	  var win = window.open(URL,"_blank",strWindow);	
	  //alert(URL);
	  //alert(strWindow);
	  //alert(win);
	  if (win.opener == null) win.opener = window; // make sure the new window can use 'opener' to access this parent
	  win.opener.name = "opener"; // this is so action commands can use opener as a target object
	  
}
// ENDS JAVASCRIPT VALIDATION FUNCTIONS

/*
function changeon(e) { event.srcElement.style.backgroundColor = '#ffffe0'; } //#f5f5f9
function changeoff(e) { event.srcElement.style.backgroundColor = '#ffffff'; }


NEVER USED
 USED for Medical Services
function IsValidCharsLength(str) {
	if ( str.length < 5 ) return false; //empty and required

	return true;
}

function IsNineChars(str) {
	if ( str.length != 9 ) return false; //empty and required

	return true;
}

function IsNumber(str) {
	var validchar = "0123456789";
	var strchar;
	var result = true;
	for (i = 0; i < str.length && result == true; i++)
		{
		strchar = str.charAt(i);
		if (validchar.indexOf(strchar) == -1)
			{
			result = false;
			}
		}

	return result;
}*/


var DHTML = (document.getElementById || document.all || document.layers);

function getObj(name)	{
	  if (document.getElementById)	{    	// DOM level 1 browsers: IE 5+, NN 6+
	  	this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	  }
	  else if (document.all)	{  			// IE 4
		this.obj = document.all[name];
		this.style = document.all[name].style;
	  }
	  else if (document.layers)  { 			// NN 4
	   	this.obj = document.layers[name];
	   	this.style = document.layers[name];
	  }
}

// this function makes the image visible
function showpic(visiblechunk) {
		if (!DHTML){
		 alert ('Sorry, your browser can\'t handle DHTML!');
		 return;
		}
		var displayedpic = new getObj(visiblechunk);

		displayedpic.style.visibility = 'visible';
	}

// this function makes the image invisible
function hidepic(invisiblechunk) {
		if (!DHTML){
		 alert ('Sorry, your browser can\'t handle DHTML!');
		 return;
		}

		var hiddenpic = new getObj(invisiblechunk);

		hiddenpic.style.visibility = 'hidden';
	}


function CopySelectContent(Source, Dest) {
		// Empty destination options
	
		var i;
		var DestSize = Dest.options.length;
		
		for(i = 0; i < DestSize; i++)
		{
			Dest.remove(i);
		}
		
		// Copy Options
		var SourceSize = Source.options.length;
		for(i = 0; i < SourceSize; i++)
		{
			Dest.options[i] =  new Option();
			Dest.options[i].value = Source.options[i].value;
			Dest.options[i].text = Source.options[i].text;
			Dest.options(i).selected = Source.options(i).selected;
		}
	}
	
function CheckToJump(elmnt,dest) {

		if(elmnt.value.length == elmnt.maxLength)
			document.getElementById(dest).focus();
}


/************************************* Credit Card and Expiration Date Validation ****************************/
function ValidateCCnum(Obj)
   {
   var CCNumber = Obj.value;
   if (CCMod10(CCNumber) || CCNumber == '')
      {
      return true;
      }
   else
      {
      alert('Invalid Card Number');
      Obj.focus();
      return false;
      }
   }


function CCMod10(CCard)
{
var ReturnResult = true;
var CcLength;
var Weight = 1;
var Acum = 0;
var CurrentDigit;
if (IsInteger(CCard))
   {
   CcLength = CCard.length;
   if (
      (CCard.substr(0, 1) == '4' && (CcLength == 13 || CcLength == 16)) ||   // Visa
      (+(CCard.substr(0, 2)) >= 51 && +(CCard.substr(0, 2)) <= 55 && CcLength == 16) ||  // Mastercard
      ((CCard.substr(0, 2) == '34' || CCard.substr(0, 2) == '37') && CcLength == 15) ||  // Amex
      (CCard.substr(0, 4) == '6011' && CcLength == 16)  // Discover
      )
      {
      for (i = CcLength - 1; i >= 0; i--)
         {
         CurrentDigit = (+CCard.substr(i, 1));
         Acum += parseInt((CurrentDigit*Weight)/10) + (CurrentDigit*Weight)%10;
         Weight = Weight == 1 ? 2 : 1;
         }
      ReturnResult = Acum % 10 == 0;
      }
   else
      ReturnResult = false;
   }
else
   ReturnResult = false;
return ReturnResult;
}


function ValidateExpDate(expMonthFieldName, expYearFieldName, ForceCompare)
   {
   var returnValue = true;
   var ObjYear = document.getElementById(expYearFieldName);
   var theYear = document.getElementById(expYearFieldName).value;
   var theMonth = document.getElementById(expMonthFieldName).value;
   var IsExpired
   
   // This piece forms the YYYYMM value from today's date
   var today = new Date();
   var todayMonth = (today.getMonth() + 1);
   var todayMM = todayMonth;
   var todayYYYY = (today.getFullYear());
   var todayYYYYMM;
   
   todayMM = (todayMM.toString.length < 2 ? '0' : '') + todayMM;
   todayYYYYMM = todayYYYY + todayMM;
   
   IsExpired = (theYear + theMonth < todayYYYYMM)
   if (ForceCompare && IsExpired)
      {
      returnValue = false;
      }
   else if (theYear != '' && theMonth != ''
            && IsExpired)
         {
         alert('Invalid Expiration Date');
         ObjYear.focus();
         returnValue = false;
         }
   return returnValue;
   }
/********************************************************************************************************/

/************************************* ACH Routing Number Validation ************************************/
function ACHMod10(AchRt)
   {
   var Acum
   Acum = 3*AchRt.substr(0,1) + 3*AchRt.substr(3,1) + 3*AchRt.substr(6,1) + 
          7*AchRt.substr(1,1) + 7*AchRt.substr(4,1) + 7*AchRt.substr(7,1) + 
          1*AchRt.substr(2,1) + 1*AchRt.substr(5,1) + 1*AchRt.substr(8,1);
   return ((Acum % 10) == 0);
   }


function ValidateAchRt(Obj)
   {
   var RouteNumber = Obj.value;
   if (ValidACHRNumber(RouteNumber) || RouteNumber == '')
      {
      return true;
      }
   else
      {
      alert('Invalid Routing Number');
      Obj.focus();
      return false;
      }
   }


function ValidACHRNumber(RouteNum)
	{
	var returnValue = true;
	if (!IsInteger(RouteNum) ||
	    RouteNum.length != 9 ||
	    RouteNum == '000000000')
	   {
	   returnValue = false;
	   }
	else if (!ACHMod10(RouteNum))
	   {
	   returnValue = false;	   
	   }
	return returnValue;
	}


function ValidateAcctNumber(Obj)
   {
   var AcctNumber = Obj.value;
   if (ValidACHAcctNum(AcctNumber) || AcctNumber == '')
      {
      return true;
      }
   else
      {
      alert('Invalid Account Number');
      Obj.focus();
      return false;
      }
   }


function ValidACHAcctNum(AcctNum)
	{
	var returnValue = true;
	if (!IsInteger(AcctNum) ||
	    AcctNum.length < 4 ||
	    AcctNum.length > 17)
	   {
	   returnValue = false;
	   }
	return returnValue;
	}
/********************************************************************************************************/
   

function CalculateAgeCL()
{
//Parameters to be passed assuming current date as reference:
//xYear, xMonth, xDay
//Parameters to be passed using any reference date:
//xYear, xMonth, xDay, rYear, rMonth, rDay
//Additional Parameter Information:
//xYear, xMonth, xDay are related with the corresponding date of birth
//rYear, rMonth, rDay are related with the corresponding reference date

xYear = arguments[0];
xMonth = arguments[1];
xDay = arguments[2];
rYear = arguments[3]
rMonth = arguments[4]
rDay = arguments[5]

var xsYear = new String(xYear)
var xsMonth = new String(xMonth)
var xsDay = new String(xDay)

var rsYear
var rsMonth
var rsDay


if (arguments[3] == null)
{
    //Assuming current date as reference
    var rNow = new Date()
    rYear	= rNow.getFullYear();
    rMonth	= rNow.getMonth()+1;
    rDay	= rNow.getDate();
}

 rsYear = new String(rYear)
 rsMonth = new String(rMonth)
 rsDay = new String(rDay)


xsMonth = (xsMonth.length < 2) ? "0" + xsMonth: xsMonth;
xsDay= (xsDay.length < 2) ? "0" + xsDay: xsDay;

if(!(rYear>xYear))
   return 0


var xsDateResult = xsMonth + xsDay 


rsMonth= (rsMonth.length < 2) ? "0" + rsMonth: rsMonth;
rsDay= (rsDay.length < 2) ? "0" + rsDay: rsDay;

var rsDateResult =  rsMonth + rsDay 

var CalcAge = rYear - xYear


if ((xsDateResult > rsDateResult) )
    CalcAge = CalcAge - 1



return CalcAge 

}


function valdobdate(vmonth,vday,vyear)
{
var bisy = vyear%4

var d  = new Date()
var dd = (d.getDate().toString().length < 2) ? "0" + d.getDate() : d.getDate();
var mm = ((d.getMonth()+1).toString().length < 2) ? "0" + (d.getMonth()+1) : (d.getMonth()+1);
var yy = d.getFullYear().toString()

var YYYYMM= yy+mm+dd

var dobd  = vyear+ vmonth + vday

	if(YYYYMM < dobd) return false
	
 	if((vmonth == "")||(vday == "")||(vyear==""))return false
 	
	if((vmonth==4)||(vmonth==6)||(vmonth==9)||(vmonth==11))
	{
		if(vday == 31)	return false
	}
	if(vmonth==2 )
	{	
		if((bisy == 0 )&& (vday > 29 )) return false
		
		if((bisy != 0 )&& (vday > 28 )) return false
   }
  	
return true	

}

// FUNCTION TO VALIDATE DATE 
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	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	= parseInt(strMonth)
	day	= parseInt(strDay)
	year	= parseInt(strYr)
	
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		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 (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

function AllUpper(obj)
   {
   obj.value = obj.value.toUpperCase();
   }


function AllLower(obj)
   {
   obj.value = obj.value.toLowerCase();
   }


function AllProper(obj)
   {
   obj.value = obj.value.substr(0, 1).toUpperCase() + 
               obj.value.substr(1, obj.value.length - 1).toLowerCase();
   }


function RemoveExtraSpaces(str, Spaces2Allow)
{
	var strchar;
	var OutputStr = '';
	var SpaceCount = 0;
	var IncludeChar;
	for (i = 0; i < str.length; i++)
		{
		strchar = str.charAt(i);
      IncludeChar = true;
		if (strchar == ' ')
			{
			++SpaceCount;
			if (SpaceCount > Spaces2Allow)
			   {
            IncludeChar = false;
			   }
			}
      else
         {
         SpaceCount = 0;
         }
      if (IncludeChar)
         {
         OutputStr += strchar;
         }
		}

	return OutputStr;
}

function CleanString(InStr)
   {
   var TmpString = InStr;
   TmpString = TmpString.toUpperCase();
   TmpString = replaceall(TmpString, '/', ' ');
   TmpString = replaceall(TmpString, '\\', ' ');
   TmpString = replaceall(TmpString, "'", ' ');
   TmpString = replaceall(TmpString, "#", ' ');
   TmpString = replaceall(TmpString, "(", ' ');
   TmpString = replaceall(TmpString, ")", ' ');
   TmpString = RemoveExtraSpaces(TmpString, 1);
   
   return TmpString;
   }


function ClipCopy(obj)
   {
   cb = obj.createTextRange();
   cb.execCommand("Copy");
   }


function CheckPlan(PlanType)
   {
   var myString = document.getElementById("strPlan").value
   if (document.getElementById("chkInv" + PlanType).checked)
      myString = myString + PlanType + ",";
   else
      myString = myString.replace(PlanType + ",", "");
   document.getElementById("strPlan").value = myString;
   }


function CheckMenu(MenuId)
   {
   var myString = document.getElementById("strMenu").value
   if (document.getElementById("M" + MenuId).checked)
      myString = myString + MenuId + ",";
   else
      myString = myString.replace(MenuId + ",", "");
   document.getElementById("strMenu").value = myString;
   }


function Dec2Hex(Num)
   {
    var Result = "";
    var Remainder = 0;
    var nn = Num; 
    do
      {
      Remainder = nn % 16 ;
      nn = nn / 16 ;
      switch (Remainder)
         {
         case 10: Result = "A" + Result; break ;
         case 11: Result = "B" + Result; break ;
         case 12: Result = "C" + Result; break ;
         case 13: Result = "D" + Result; break ;
         case 14: Result = "E" + Result; break ;
         case 15: Result = "F" + Result; break ;
         default: Result = Remainder + Result; break ;
         }
      }
   while (nn > 0);
   return Result;
   }

function Hex2Dec(str)
   {
    var Result = 0;
    var StrLength = str.length;
    var HexPower = StrLength - 1;
    var Multiplier;
    var CurrChar;
    var CurrVal;
    for (i = 0; i < StrLength; i++)
      {
      Multiplier = Math.pow(16, HexPower - i);
      CurrChar = str.substr(i, 1).toUpperCase();
      switch (CurrChar)
         {
         case "A": CurrVal = 10; break ;
         case "B": CurrVal = 11; break ;
         case "C": CurrVal = 12; break ;
         case "D": CurrVal = 13; break ;
         case "E": CurrVal = 14; break ;
         case "F": CurrVal = 15; break ;
         default: CurrVal = +CurrChar; break ;
         }
      Result = Result + Multiplier * CurrVal;
      }
   return Result;
   }

function SetScroll(XName, YName)
   {
       document.getElementById(YName).value = document.body.scrollTop;
       document.getElementById(XName).value = document.body.scrollLeft;
   }

function getCookie(Cname)
   {
   if (document.cookie.length>0)
     {
     Cstart=document.cookie.indexOf(Cname + "=")
     if (Cstart != -1)
       { 
       Cstart = Cstart + Cname.length+1 
       Cend=document.cookie.indexOf(";",Cstart)
       if (Cend == -1) Cend=document.cookie.length
       return unescape(document.cookie.substring(Cstart,Cend))
       } 
     }
   return null
   }
   
//END FOR FUNCTION TO VALIDATE DATE

// ENDS JAVASCRIPT UTILITY FUNCTIONS	




