function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} 

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} 
return strTemp;

} 

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} 
return strTemp;
} 



var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz"
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var whitespace = " \t\n\r";

var decimalPointDelimiter = "."

var phoneNumberDelimiters = "()- ";

var validUSPhoneChars = digits + phoneNumberDelimiters;

var validWorldPhoneChars = digits + phoneNumberDelimiters + "+";

var SSNDelimiters = "- ";

var validSSNChars = digits + SSNDelimiters;

var digitsInSocialSecurityNumber = 9;

var digitsInUSPhoneNumber = 10;

var ZIPCodeDelimiters = "-";

var ZIPCodeDelimeter = "-"

var validZIPCodeChars = digits + ZIPCodeDelimiters

var digitsInZIPCode1 = 5
var digitsInZIPCode2 = 9

var creditCardDelimiters = " "

function isOkBag (s, bag)

{   var i;
    var returnString = "";

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) return false;
    }
    return true;
}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isWhiteSpace (s)
{   var i;

    if (isEmpty(s)) return true;

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    return true;
}

function stripCharsInBag (s, bag)

{   var i;
    var returnString = "";

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}

function stripCharsNotInBag (s, bag)

{   var i;
    var returnString = "";

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }

    return returnString;
}

function stripWhitespace (s)

{   return stripCharsInBag (s, whitespace)
}

function charInString (c, s)
{   for (i = 0; i < s.length; i++)
    {   if (s.charAt(i) == c) return true;
    }
    return false
}

function stripInitialWhitespace (s)

{   var i = 0;

    while ((i < s.length) && charInString (s.charAt(i), whitespace))
       i++;
    
    return s.substring (i, s.length);
}

function isLetter (c)
{   return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) )
}

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

function isLetterOrDigit (c)
{   return (isLetter(c) || isDigit(c))
}



function isInteger (s)

{   var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);


    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    return true;
}

function isSignedInteger (s)

{   if (isEmpty(s)) 
       if (isSignedInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedInteger.arguments[1] == true);

    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;

        if (isSignedInteger.arguments.length > 1)
            secondArg = isSignedInteger.arguments[1];

        if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") )
           startPos = 1;    
        return (isInteger(s.substring(startPos, s.length), secondArg))
    }
}

function isPositiveInteger (s)
{   var secondArg = defaultEmptyOK;

    if (isPositiveInteger.arguments.length > 1)
        secondArg = isPositiveInteger.arguments[1];

    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) > 0) ) );
}

function isNonnegativeInteger (s)
{   var secondArg = defaultEmptyOK;

    if (isNonnegativeInteger.arguments.length > 1)
        secondArg = isNonnegativeInteger.arguments[1];

    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) >= 0) ) );
}


function isNegativeInteger (s)
{   var secondArg = defaultEmptyOK;

    if (isNegativeInteger.arguments.length > 1)
        secondArg = isNegativeInteger.arguments[1];

    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) < 0) ) );
}


function isNonpositiveInteger (s)
{   var secondArg = defaultEmptyOK;

    if (isNonpositiveInteger.arguments.length > 1)
        secondArg = isNonpositiveInteger.arguments[1];

    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (parseInt (s) <= 0) ) );
}


function isFloat (s)

{   var i;
    var seenDecimalPoint = false;

    if (isEmpty(s)) 
       if (isFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isFloat.arguments[1] == true);

    if (s == decimalPointDelimiter) return false;


    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if ((c == decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint = true;
        else if (!isDigit(c)) return false;
    }

    return true;
}


function isSignedFloat (s)

{   if (isEmpty(s)) 
       if (isSignedFloat.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedFloat.arguments[1] == true);

    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;

        if (isSignedFloat.arguments.length > 1)
            secondArg = isSignedFloat.arguments[1];

        if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") )
           startPos = 1;    
        return (isFloat(s.substring(startPos, s.length), secondArg))
    }
}


function isAlphabetic (s)

{   var i;

    if (isEmpty(s)) 
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (!isLetter(c))
        return false;
    }

    return true;
}

function isAlphanumeric (s)

{   var i;

    if (isEmpty(s)) 
       if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);

        if (! (isLetter(c) || isDigit(c) ) )
        return false;
    }

    return true;
}

function reformat (s)

{   var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) resultString += arg;
       else {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}

function reformatZIPCode (ZIPString)
{   if (ZIPString.length == 5) return ZIPString;
    else return (reformat (ZIPString, "", 5, "-", 4));
}

function reformatUSPhone (USPhone)
{   return (reformat (USPhone, "(", 3, ") ", 3, "-", 4))
}

function reformatSSN (SSN)
{   return (reformat (SSN, "", 3, "-", 2, "-", 4))
}

function isLeapYear(argYear) {
	return ((argYear % 4 == 0) && (argYear % 100 != 0)) || (argYear % 400 == 0) 
}

function daysInMonth(argMonth, argYear) {
	switch (Number(argMonth)) {
		case 1:		// Jan
		case 3:		// Mar
		case 5:		// May
		case 7:		// Jul
		case 8:		// Aug
		case 10:		// Oct
		case 12:		// Dec
			return 31;
			break;
		
		case 4:		// Apr
		case 6:		// Jun
		case 9:		// Sep
		case 11:		// Nov
			return 30;
			break;
		
		case 2:		// Feb
			if (isLeapYear(argYear))
				return 29
			else
				return 28
			break;
		
		default:
			return 0;
	}
}

function getDateSeparator(argDate) {
	if ((argDate.indexOf('-') > 0) && (argDate.indexOf('/') > 0))
		return ' '

	if (argDate.indexOf('-') > 0)
		return '-'
	else
		if (argDate.indexOf('/') > 0)
			return '/'
		else
			return ' '
}

function getYear(argDate) {
	var dateSep = getDateSeparator(argDate)
	
	if (dateSep == ' ')
		return 0

	if(argDate.split(dateSep).length == 3)
		return argDate.split(dateSep)[2]
	else
		return 0
}

function getMonth(argDate) {
	var dateSep = getDateSeparator(argDate)
	
	if (dateSep == ' ')
		return 0

	if(argDate.split(dateSep).length == 3)
		return argDate.split(dateSep)[0]
	else
		return 0
}

function getDay(argDate) {
	var dateSep = getDateSeparator(argDate)
	
	if (dateSep == ' ')
		return 0

	if(argDate.split(dateSep).length == 3)
		return argDate.split(dateSep)[1]
	else
		return 0
}

function isProperDay(argDay, argMonth, argYear) {
	if ((isWhiteSpace(argDay)) || (argDay == 0))
		return false

	if ((argDay > 0) && (argDay < daysInMonth(argMonth, argYear) + 1))
		return true
	else 
		return false
}

function isProperMonth(argMonth) {
	if ((isWhiteSpace(argMonth)) || (argMonth == 0))
		return false
	
	if ((argMonth > 0) && (argMonth < 13))
		return true
	else
		return false
}

function isProperYear(argYear) {
	if ((isWhiteSpace(argYear)) || (argYear.toString().length > 4) || (argYear.toString().length == 3))
		return false
	
	switch (argYear.toString().length) {
		case 1:
			if (argYear >=0 && argYear < 10)
				return true
			else
				return false
			
		case 2:
			if (argYear >=0 && argYear < 100)
				return true
			else
				return false
			
		case 4:
			if (((argYear >=1900) || (argYear >=2000)) && ((argYear < 3000) || (argYear < 2000)))
				return true
			else
				return false
		
		default:
			return false
	}
}

function isProperDate(argDate) {
	var tmpDay = getDay(argDate)
	var tmpMon = getMonth(argDate)
	var tmpYear = getYear(argDate)

	return isProperDay(tmpDay, tmpMon, tmpYear) && isProperMonth(tmpMon) && isProperYear(tmpYear)
}

function charOccurences(argString, argChar) {
	var intCt = 0

	for(var intI=0; intI < argString.length; intI++)
		if (argString.charAt(intI) == argChar)
			intCt++
	
	return intCt
}

function isProperEmail(argEmail) {
	if (charOccurences(argEmail, '@') + charOccurences(argEmail, '.') < 2)
		return false

	var atPos = argEmail.indexOf('@')
	var dotPos = argEmail.indexOf('.')

	if((atPos == 0) || (atPos == (argEmail.length - 1)))
		return false

	if((dotPos == 0) || (dotPos == (argEmail.length - 1)))
		return false
	
	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 + ")";
 
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
 
 
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
 
 
 
	var matchArray=argEmail.match(emailPat);
 
	if (matchArray==null)
		{
		return false;
		}
	var user=matchArray[1];
	var domain=matchArray[2];
 
	for (i=0; i<user.length; i++)
		{
		if (user.charCodeAt(i)>127)
			{
			return false;
			}
		}
	for (i=0; i<domain.length; i++)
		{
		if (domain.charCodeAt(i)>127)
			{
			return false;
			}
		}
 
	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 atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++)
		{
		if (domArr[i].search(atomPat)==-1)
			{
			return false;
			}
		}
 
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
		{
		return false;
		}
 
	if (len<2)
		{
		return false;
		}
 
	return true;
}

function isProperNumber(argNumber) {
	var numberValue = Number(argNumber)
	
	if (isNaN(numberValue)) 
		return false
	else
		return !isWhiteSpace(argNumber)
}

function isProperAlphabetic(argString) {
	var alphabets = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"

	for(var intI=0; intI<argString.length; intI++)
		if (alphabets.indexOf(argString.charAt(intI)) == -1)
			return false
	
	return true
}

function objectValue(argFrm, argElem) {
	var intI
	var objElem = null

	for (intI=0; intI<argFrm.length; intI++)
		if (argFrm[intI].name == argElem) 
			objElem = argFrm[intI]

	switch (objElem.type) {
		case 'text':
		case 'hidden':
		case 'password':
			return objElem.value
			break;
		
		case 'select-one':
			if (objElem.length == 0)
				return ''
			else 
				return objElem.options[objElem.selectedIndex].value
			break;
		
		case 'radio':
			for (intI=0; intI<argFrm.length; intI++)
				if (argFrm[intI].name == argElem) 
					if (argFrm[intI].checked)
						return argFrm[intI].value

			return ''
			break;
	}
}

function objectFocus(argFrm, argElem) {
	var intI
	var objElem = null
	for (intI=0; intI<argFrm.length; intI++)
		if (argFrm[intI].name == argElem) 
			objElem = argFrm[intI]
	objElem.focus();
}

function isProperZip(argZip) {
	if ((argZip.length == 5) || (argZip.length == 9))
		return isProperNumber(argZip)
	
	if (argZip.length == 10)
		return (isProperNumber(argZip.substr(0, 5)) && isProperNumber(argZip.substr(6, 4)) & (argZip.charAt(5) == '-'))
}

function isProperUSPhone (argPhone)
{
	var argPhone2 = stripCharsNotInBag(argPhone,"0123456789")
    return (isOkBag(argPhone,"01234567890 -().") && isInteger(argPhone2) && argPhone2.length==digitsInUSPhoneNumber)
}

function isProperUSSSN(argSSN) {
	var argSSN2 = stripCharsNotInBag(argSSN,"0123456789")
    return (isOkBag(argSSN,"01234567890-") && isInteger(argSSN2) && argSSN2.length==11)
}

function actionFields(argActions) {
	this.email			= (argActions.indexOf('[email]') > -1)
	this.required		= (argActions.indexOf('[req]') > -1)
	this.checkDate		= (argActions.indexOf('[date]') > -1)
	this.checkZip		= (argActions.indexOf('[zip]') > -1)
	this.checkNumber	= (argActions.indexOf('[number]') > -1)
	this.checkAlphabetic= (argActions.indexOf('[alpha]') > -1)
	this.checkUSPhone	= (argActions.indexOf('[usphone]') > -1)
	this.checkUSSSN		= (argActions.indexOf('[usssn]') > -1)

	if (argActions.indexOf('[len=') > -1) {
		this.checkLength = true

		var lenToCheck = ''
		var bolCont = true

		for (var intI=(argActions.indexOf('[len=') +  5);((intI < argActions.length) && bolCont); intI++)
			if (argActions.charAt(intI) != ']')
				lenToCheck += argActions.charAt(intI)
			else
				bolCont = false
		this.lengthToCheck = lenToCheck
	}
	else
		this.checkLength = false

	if (argActions.indexOf('[blankalert=') > -1) {
		this.blankAlert = true

		var alertString = ''
		var bolCont = true

		for (var intI=(argActions.indexOf('[blankalert=') +  12);((intI < argActions.length) && bolCont); intI++)
			if (argActions.charAt(intI) != ']')
				alertString += argActions.charAt(intI)
			else
				bolCont = false
		this.blankAlertMessage = alertString
	}
	else
		this.blankAlert = false
	
	if (argActions.indexOf('[invalidalert=') > -1) {
		this.invalidAlert = true

		var alertString = ''
		var bolCont = true

		for (var intI=(argActions.indexOf('[invalidalert=') +  14);((intI < argActions.length) && bolCont); intI++)
			if (argActions.charAt(intI) != ']')
				alertString += argActions.charAt(intI)
			else
				bolCont = false
		this.invalidAlertMessage = alertString
	}
	else
		this.invalidAlert = false

	if (argActions.indexOf('[equals=') > -1) {
		this.shouldEqual = true

		var equalsString = ''
		var bolCont = true

		for (var intI=(argActions.indexOf('[equals=') +  8);((intI < argActions.length) && bolCont); intI++)
			if (argActions.charAt(intI) != ']')
				equalsString += argActions.charAt(intI)
			else
				bolCont = false
		this.shouldEqualString = equalsString
	}
	else
		this.shouldEqual = false

}


function validateForm(argForm)
	{
	var frmElements = argForm.elements
	var elemName
	var elemObj

	submitonce(argForm);

	for (var intI=0; intI < frmElements.length; intI++) {// *
		elemObj = frmElements[intI]
		elemName = elemObj.name

		if ((elemObj.type == 'hidden') && (elemName.length > 5))
			if (elemName.substr(elemName.length - 5).toLowerCase() == '_vldt') {// **
				var objAction = new actionFields(objectValue(frmElements, elemName))
				var actElem = elemName.substr(0, elemName.length - 5)
				
				if (objAction.required) {
					if (isWhiteSpace(objectValue(frmElements, actElem))) {// ***
						alert (objAction.blankAlert?objAction.blankAlertMessage:actElem + ' cannot be left blank')
						objectFocus(frmElements, actElem);
						submitenabled(argForm);
						return false
					} // ***
				}
				
				if ((objectValue(frmElements, actElem) > '') && (!isWhiteSpace(objectValue(frmElements, actElem)))){// ***
					if (objAction.checkDate)
						if (!isProperDate(objectValue(frmElements, actElem))) {// ****
							alert (objAction.invalidAlert?objAction.invalidAlertMessage:actElem + ' cannot have an invalid date')
							objectFocus(frmElements, actElem);
							submitenabled(argForm);
							return false
						} // ****

					if (objAction.checkNumber)
						if (!isProperNumber(objectValue(frmElements, actElem))) {// ****
							alert (objAction.invalidAlert?objAction.invalidAlertMessage:actElem + ' cannot have an invalid number')
							objectFocus(frmElements, actElem);
							submitenabled(argForm);
							return false
						} // ****

					if (objAction.checkZip)
						if (!isProperZip(objectValue(frmElements, actElem))) {// ****
							alert (objAction.invalidAlert?objAction.invalidAlertMessage:actElem + ' cannot have an invalid zipcode')
							objectFocus(frmElements, actElem);
							submitenabled(argForm);
							return false
						} // ****

					if (objAction.checkAlphabetic)
						if (!isProperAlphabetic(objectValue(frmElements, actElem))) {// ****
							alert (objAction.invalidAlert?objAction.invalidAlertMessage:actElem + ' cannot have invalid characters')
							objectFocus(frmElements, actElem);
							submitenabled(argForm);
							return false
						} // ****

					if (objAction.checkUSPhone)
						if (!isProperUSPhone(objectValue(frmElements, actElem))) {// ****
							alert (objAction.invalidAlert?objAction.invalidAlertMessage:actElem + ' cannot have invalid characters')
							objectFocus(frmElements, actElem);
							submitenabled(argForm);
							return false
						} // ****

					if (objAction.checkUSSSN)
						if (!isProperUSSSN(objectValue(frmElements, actElem))) {// ****
							alert (objAction.invalidAlert?objAction.invalidAlertMessage:actElem + ' cannot have invalid characters')
							objectFocus(frmElements, actElem);
							submitenabled(argForm);
							return false
						} // ****

					if (objAction.email)
						if (!isProperEmail(objectValue(frmElements, actElem))) {// ****
							alert (objAction.invalidAlert?objAction.invalidAlertMessage:actElem + ' cannot have invalid characters')
							objectFocus(frmElements, actElem);
							submitenabled(argForm);
							return false
						} // ****

					if (objAction.checkLength)
						if (objectValue(frmElements, actElem).length < objAction.lengthToCheck) {// ****
							alert (objAction.invalidAlert?objAction.invalidAlertMessage:actElem + ' must be at least ' + objAction.lengthToCheck + ' characters long')
							objectFocus(frmElements, actElem);
							submitenabled(argForm);
							return false
						} // ****
				} // ***
			} // **
	} // *
		
	return true
}


function submitenabled(theform)
	{
	if (document.all||document.getElementById)
		{
		for (i=0;i<theform.length;i++)
			{
			var tempobj=theform.elements[i];
			if(tempobj.type.toLowerCase()=="submit" || tempobj.type.toLowerCase()=="reset")
				tempobj.disabled=false;
			}
		}
	}


function submitonce(theform)
	{
	if (document.all||document.getElementById)
		{
		for (i=0;i<theform.length;i++)
			{
			var tempobj=theform.elements[i];
			if(tempobj.type.toLowerCase()=="submit" || tempobj.type.toLowerCase()=="reset")
				tempobj.disabled=true;
			}
		}
	}
function checkcharacterpressed(e,characterid)
	{
	   if ((event.keyCode > 64) && (event.keyCode < 91) ||(event.keyCode > 96) && (event.keyCode < 123)||(event.keyCode==13))
	   	   { 
		     	return true; 
			} 
			else
			{  
			   if(event.keyCode==45||event.keyCode==32)
			   {
			      return true;
			   }
			   else
			   {
			    return false;
			   }
	 		}
	}
	 
      function checknumerickey(e,numericid)
      {
          if ((event.keyCode > 47) && (event.keyCode < 58) ||(event.keycode==32)||(event.keyCode==13))
		    { 
				    return true; 
		    } 
		    else
		    {
		     
		      return false;
		    }
      }
	function setemailvalue(email)
	{
	  document.getElementById('Emailhidden').value=email.value;
	  return false;
	}
	function emailCheck(emailStr) { 
	
	         emailStr=document.getElementById("Email").value;
	          
	 
					/* The following variable tells the rest of the function whether or not
					to verify that the address ends in a two-letter country or well-known
					TLD.  1 means check it, 0 means don't. */

					var checkTLD=1;

					/* The following is the list of known TLDs that an e-mail address must end with. */

					var knownDomsPat=/^(com|COM|net|NET|org|ORG|edu|EDU|int|INT|mil|MIL|gov|GOV|arpa|ARPA|biz|BIZ|aero|AERO|name|NAME|coop|COOP|info|INFO|pro|PRO|museum|MUSEUM|in|IN)$/;

					/* The following pattern is used to check if the entered e-mail address
					fits the user@domain format.  It also is used to separate the username
					from the domain. */

					var emailPat=/^(.+)@(.+)$/;

					/* The following string represents the pattern for matching all special
					characters.  We don't want to allow special characters in the address. 
					These characters include ( ) < > @ , ; : \ " . [ ] */

					var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

					/* The following string represents the range of characters allowed in a 
					username or domainname.  It really states which chars aren't allowed.*/

					var validChars="\[^\\s" + specialChars + "\]";

					/* The following pattern applies if the "user" is a quoted string (in
					which case, there are no rules about which characters are allowed
					and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
					is a legal e-mail address. */

					var quotedUser="(\"[^\"]*\")";

					/* The following pattern applies for domains that are IP addresses,
					rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
					e-mail address. NOTE: The square brackets are required. */

					var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

					/* The following string represents an atom (basically a series of non-special characters.) */

					var atom=validChars + '+';

					/* The following string represents one word in the typical username.
					For example, in john.doe@somewhere.com, john and doe are words.
					Basically, a word is either an atom or quoted string. */

					var word="(" + atom + "|" + quotedUser + ")";

					// The following pattern describes the structure of the user

					var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

					/* The following pattern describes the structure of a normal symbolic
					domain, as opposed to ipDomainPat, shown above. */

					var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

					/* Finally, let's start trying to figure out if the supplied address is valid. */

					/* Begin with the coarse pattern to simply break up user@domain into
					different pieces that are easy to analyze. */

					var matchArray=emailStr.match(emailPat);
					
					
					
					if (matchArray==null) {
					
					
					

					/* Too many/few @'s or something; basically, this address doesn't
					even fit the general mould of a valid e-mail address. */
					
					//txtid.value="Please correctly fill third alternate email id!";
					
					alert("Email address 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) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					
					alert("Ths username contains invalid characters.");
					
					return false;
					}
					}
					for (i=0; i<domain.length; i++) {
					if (domain.charCodeAt(i)>127) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					alert("Ths domain name contains invalid characters.");
					//txtid.Value="Please enter correct email id...";
					return false;
					}
					}

					// See if "user" is valid 

					if (user.match(userPat)==null) {

					// user is not valid

					//txtid.value="Please correctly fill third alternate email id!";
					alert("The user email doesn't seem to be valid.");
					//txtid.Value="Please enter correct email id...";
					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) {

					// this is an IP address

					for (var i=1;i<=4;i++) {
					if (IPArray[i]>255) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					alert("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) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					alert("The domain name does not seem to be valid.");
					//txtid.Value="Please enter correct email id...";
					return false;
					}
					}

					/* domain name seems valid, but now make sure that it ends in a
					known top-level domain (like com, edu, gov) or a two-letter word,
					representing country (uk, nl), and that there's a hostname preceding 
					the domain or country. */

					if (checkTLD && domArr[domArr.length-1].length!=2 && 
					domArr[domArr.length-1].search(knownDomsPat)==-1) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					alert("The address must end in a well-known domain or two letter " + "country.");
					//txtid.Value="Please enter correct email id...";
					return false;
					}

					// Make sure there's a host name preceding the domain.

					if (len<2) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					alert("This address is missing a hostname!");
					//txtid.Value="Please enter correct email id...";
					return false;
					}

					// If we've gotten this far, everything's valid!
					return true;				 
				}
	function checkblankFields(ids,wrong)
	{ 
	        var errormessage; 
	        var matchcondition;
	        matchcondition=ids.getAttribute("id");
	         
	       
	         switch(matchcondition)
	         {
	           case "FirstName":
	           errormessage="First Name Is";
	           break;
	            case "LastName":
	           errormessage="Last Name Is";
	           break;
	            case "ShippingFirstName":
	           errormessage="First Name Is";
	           break;
	            case "ShippingLastName":
	           errormessage="Last Name Is";
	           break;
	            case "BillingFirstName":
	           errormessage="First Name Is";
	           break;
	            case "BillingLastName":
	           errormessage="Last Name Is";
	           break;
	            case "BillingCompany":
	           errormessage="Billing Company Is";
	           break;
	            case "BillingAddress1":
	           errormessage="Billing Address Is";
	           break;
	            case "BillingCity":
	           errormessage="Billing City  Is";
	           break;
	            case "BillingZip":
	           errormessage="Billing Zip  Is";
	           break; 
	            case "ShippingPhone":
	           errormessage="Shipping Phone  Is";
	           break; 
	            case "BillingZip":
	           errormessage="Billing Zip  Is";
	           break; 
	            case "ShippingCompany":
	           errormessage="Shipping Company  Is";
	           break;
	            case "ShippingAddress1":
	           errormessage="Shipping Address  Is";
	           break; 
	            case "ShippingCity":
	           errormessage="Shipping City  Is";
	           break; 
	            case "ShippingZip":
	           errormessage="Shipping Zip  Is";
	           break;
	         }
	        errormessage=errormessage+" Required"; 
	        var element;
	        if (navigator.appName != 'Netscape')
	        {
	      	    element=wrong.lastChild;
	      	}
	      	else
	      	{
	      	    element=wrong.lastChild.previousSibling;
	      	}
	        
	     	if(ids.value=="")
			{
			  element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>"+errormessage+"</font></span>"
			}
			else
			{
			   
			  element.innerHTML="<img src='skins/skin_1/images/right.jpg' border=0>";
			 
			}
	 
	}
	
	function billingcopyvalidate()
	{
	 
	  var billingFirstName=document.getElementById("billingFirstName");
	 
	  var billingLastName=document.getElementById("billingLastName");
	   
	  var billingPhone=document.getElementById("billingPhone");
	  checkblankFields(billingFirstName,billingfirstnamevalidate);
	  //checkblankFields(billingLastName1,billingLastName);
	  checkblankFields(billingLastName,billinglastnamevalidate);
	  
	  checkPhone(billingPhone,billingphonevalidate);
	  
	 
	}

    function shippingcopyvalidate()
    {
  
      var ShippingFirstName=document.getElementById("ShippingFirstName");
	  var ShippingLastName=document.getElementById("ShippingLastName");
	  var ShippingPhone=document.getElementById("ShippingPhone");
	  var ShippingCompany=document.getElementById("ShippingCompany");
	  var ShippingAddress1=document.getElementById("ShippingAddress1");
	  var ShippingCity=document.getElementById("ShippingCity");
	  var ShippingZip=document.getElementById("ShippingZip");
	  
	  checkblankFields(ShippingFirstName,shippingfirstnamevalidate);
	  checkblankFields(ShippingLastName,shippinglastnamevalidate);
	  checkPhone(ShippingPhone,shippingphonevalidate);
	  checkblankFields(ShippingCompany,shippingcompanyvalidate);
	  checkblankFields(ShippingAddress1,shippingAddress1validate);
	  
	  document.getElementById("ShippingCity").value=document.getElementById("billingCity").value;
	  
	  checkblankFields(ShippingCity,shippingcityvalidate);
	  checkblankFields(ShippingZip,shippingzipvalidate);
    }
	function checkblankFieldss(ids,wrong,errormessage)
	{
	          
	      	 var element=wrong.lastChild;
	     	if(ids.value=="")
			{
			  element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0>"
			}
			else
			{
			  element.innerHTML="<img src='skins/skin_1/images/right.jpg' border=0><span>"+errormessage+"</span>";
			}
	 
	}
	function checkPassword(ids,wrong)
	{
	      	 var element=wrong.lastChild;
	     	if(ids.value=="")
			{
			  element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Password Is Required</font></span>"
			}
			else
			{
			 if(ids.value.length<4)
			   {
			     element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Password cannot be less than 4 characters</font></span>"
			   }
			   else
			   {
			    element.innerHTML="<img src='skins/skin_1/images/right.jpg' border=0>"
			   }
			  
			}
	 
	}
	function checkRetypePassword(ids,wrong)
	{
	        // var password=document.getElementbyId("Password").value;
	        // alert(password);
	      	 var element=wrong.lastChild;
	      	//  alert('Hiiii')
	      	var password=document.getElementById("txtpassword").value;
	     	if(ids.value=="")
			{
			  element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Re-Password Is Required</font></span>"
			}
			else
			{
			   if(ids.value.length<4)
			   {
			     element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Re-Password cannot be less than 4 characters</font></span>"
			   }
			   else
			   {
			   //alert(password)
			  // alert(ids.value)
			    if(ids.value!=password)
			     {
			     // alert('In')
			     element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Does Not Match Original Password</font></span>"
			     }
			     else
			     {
			   //  alert('Hiiii')
			      element.innerHTML="<img src='skins/skin_1/images/right.jpg' border=0>"
			     }			     
			   }			  
			}	 
	}
	function checkPhone(ids,wrong)
	{
	        // var password=document.getElementbyId("Password").value;
	        // alert(password);
	      	 var element=wrong.lastChild;
	     	if(ids.value=="")
			{
			  element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Phone No. Is Required</font></span>"
			}
			else
			{
			   if(ids.value.length<10)
			   {
			     element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Phone No. Cannot have less than 10 digits</font></span>"
			   }
			   else
			   {
			    
			    element.innerHTML="<img src='skins/skin_1/images/right.jpg' border=0>"
			     
			     var value=ids.value;
			     value = value.replace(/\D/g,"");
			     value=value.substr(0,3) + "/" + value.substr(3,3) + "-" + value.substr(6,4);
			     ids.value=value;
			   }
			  
			}
			
	 
	}
	function checkPhone1(ids)
	{   
			     var value=ids.value;
			     value = value.replace(/\D/g,"");
			     value=value.substr(0,3) + "/" + value.substr(3,3) + "-" + value.substr(6,4);
			     ids.value=value;
			
			
	 
	}
	
	
	
	
	
	function checkstatefields(ids,wrong)
	{
			var element=wrong.lastChild;
	      	if(ids.value=="" || ids.value=="0")
			{
			  element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>State/Province Is Required</font></span>"
			}
			else
			 {			    
			    element.innerHTML="<img src='skins/skin_1/images/right.jpg' border=0>"	     
			    
			 }
			 
	}	
	function checkcountryfields(ids,wrong)
	{
			var element=wrong.lastChild;
	      	if(ids.value=="" || ids.value=="0")
			{
			  element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Country Is Required</font></span>"
			}
			else
			 {			    
			    element.innerHTML="<img src='skins/skin_1/images/right.jpg' border=0>"	     
			    
			 }
			 
	}		
	
	function checkemailfield(ids,wrong)
	{
	        // var password=document.getElementbyId("Password").value;
	         
	      	 var element=wrong.lastChild;
	     	if(ids.value=="")
			{
			  element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Email Is Required</font></span>"
			}
			else
			{
			   if(!emailCheck1(ids.value))
			   {
			     element.innerHTML="<img src='skins/skin_1/images/wrong.jpg' border=0><span style='COLOR:red'><font size='1' color='red'>Please Verify Email Format</font></span>"
			   }
			   else
			   {
			     element.innerHTML="<img src='skins/skin_1/images/right.jpg' border=0>"
			   }
			  
			}
	 
	}
	
	
	
	function emailCheck1(emailStr) { 
	
	              
	 
					/* The following variable tells the rest of the function whether or not
					to verify that the address ends in a two-letter country or well-known
					TLD.  1 means check it, 0 means don't. */

					var checkTLD=1;

					/* The following is the list of known TLDs that an e-mail address must end with. */

					var knownDomsPat=/^(com|COM|net|NET|org|ORG|edu|EDU|int|INT|mil|MIL|gov|GOV|arpa|ARPA|biz|BIZ|aero|AERO|name|NAME|coop|COOP|info|INFO|pro|PRO|museum|MUSEUM|in|IN)$/;

					/* The following pattern is used to check if the entered e-mail address
					fits the user@domain format.  It also is used to separate the username
					from the domain. */

					var emailPat=/^(.+)@(.+)$/;

					/* The following string represents the pattern for matching all special
					characters.  We don't want to allow special characters in the address. 
					These characters include ( ) < > @ , ; : \ " . [ ] */

					var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

					/* The following string represents the range of characters allowed in a 
					username or domainname.  It really states which chars aren't allowed.*/

					var validChars="\[^\\s" + specialChars + "\]";

					/* The following pattern applies if the "user" is a quoted string (in
					which case, there are no rules about which characters are allowed
					and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
					is a legal e-mail address. */

					var quotedUser="(\"[^\"]*\")";

					/* The following pattern applies for domains that are IP addresses,
					rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
					e-mail address. NOTE: The square brackets are required. */

					var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

					/* The following string represents an atom (basically a series of non-special characters.) */

					var atom=validChars + '+';

					/* The following string represents one word in the typical username.
					For example, in john.doe@somewhere.com, john and doe are words.
					Basically, a word is either an atom or quoted string. */

					var word="(" + atom + "|" + quotedUser + ")";

					// The following pattern describes the structure of the user

					var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

					/* The following pattern describes the structure of a normal symbolic
					domain, as opposed to ipDomainPat, shown above. */

					var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

					/* Finally, let's start trying to figure out if the supplied address is valid. */

					/* Begin with the coarse pattern to simply break up user@domain into
					different pieces that are easy to analyze. */

					var matchArray=emailStr.match(emailPat);
					
					
					
					if (matchArray==null) {
					
					
					

					/* Too many/few @'s or something; basically, this address doesn't
					even fit the general mould of a valid e-mail address. */
					
					//txtid.value="Please correctly fill third alternate email id!";
					
					//alert("Email address 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) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					
					//alert("Ths username contains invalid characters.");
					
					return false;
					}
					}
					for (i=0; i<domain.length; i++) {
					if (domain.charCodeAt(i)>127) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					//alert("Ths domain name contains invalid characters.");
					//txtid.Value="Please enter correct email id...";
					return false;
					}
					}

					// See if "user" is valid 

					if (user.match(userPat)==null) {

					// user is not valid

					//txtid.value="Please correctly fill third alternate email id!";
					//alert("The user email doesn't seem to be valid.");
					//txtid.Value="Please enter correct email id...";
					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) {

					// this is an IP address

					for (var i=1;i<=4;i++) {
					if (IPArray[i]>255) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					//alert("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) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					//alert("The domain name does not seem to be valid.");
					//txtid.Value="Please enter correct email id...";
					return false;
					}
					}

					/* domain name seems valid, but now make sure that it ends in a
					known top-level domain (like com, edu, gov) or a two-letter word,
					representing country (uk, nl), and that there's a hostname preceding 
					the domain or country. */

					if (checkTLD && domArr[domArr.length-1].length!=2 && 
					domArr[domArr.length-1].search(knownDomsPat)==-1) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					//alert("The address must end in a well-known domain or two letter " + "country.");
					//txtid.Value="Please enter correct email id...";
					return false;
					}

					// Make sure there's a host name preceding the domain.

					if (len<2) {
					
					//txtid.value="Please correctly fill third alternate email id!";
					//alert("This address is missing a hostname!");
					//txtid.Value="Please enter correct email id...";
					return false;
					}

					// If we've gotten this far, everything's valid!
					return true;				 
				}
	
	
	function test1()
    {
     alert('Hi I am in');
     return false;
    }
    
    
   function clickButton(e){ 
//        e.returnValue = false;
//     e.cancelBubble = true;
//     e.keyCode = 0; 
     
      if(e.keyCode==13 && document.getElementById("btnUpdateCart3")){
         document.getElementById("btnUpdateCart3").focus(); 
        }
        
      }
   
//      var bt = document.getElementById("btnUpdateCart3"); 
//      alert(bt);
//      if (typeof bt == 'object'){ 
//             
//            
//                  if (e.keyCode == 13){ 
//                  alert('I am in');
//                        bt.click(); 
//                        return false; 
//                  } 
// 
//      } 
 


function checkblank()
{
    var sz = document.getElementById("ShippingZip");
    if (sz)
    {
        var a = sz.value;
        if (a == "")
        {
            alert ('ZipCode Is Required');
            return false;
        }
    }
}


function Chkvalidate(Agreeterms)
{
//  //  alert(Agreeterms.checked);
// if (Agreeterms.checked == true)
// {
//  //  alert("Thank You");
// //   return false;  
//  }
//  else
//  {
//    alert("You must agree to the Terms & Conditions to continue.");
//    //Agreeterms.checked=true;
//    return false;
//   }      
}

String.prototype.toProperCase = function()
{
  return this.toLowerCase().replace(/^(.)|\s(.)/g, 
      function($1) { return $1.toUpperCase(); });
}