﻿var idListRegExp = /^\d{1,8}(\,\d{1,8})*$/;
var allowAllRegExp = /^.*$/;
var allowAlphaNumeric = /^[a-zA-Z0-9]*$/;
var dateRegExp = /^((((0[13578])|(1[02]))[\/](([0-2][0-9])|(3[01])))|(((0[469])|(11))[\/](([0-2][0-9])|(30)))|(02[\/][0-2][0-9]))[\/]\d{4}$/;
var decimalRegExp = /^-?((\d{1,6}(\.\d{1,3})?)|\.\d{1,3})$/;
var decimalRegExp2 = /^-?(((\d+(\.\d{1,5})?)|((\d*\.)?\d{1,5})))$/;
var decimalRegExpNotNeg = /^((\d{1,6}(\.\d{1,3})?)|\.\d{1,3})$/;
var emailRegExp = /^[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*@([a-zA-Z0-9_\-]+\.)+([a-zA-Z]{2,6})$/;
var emailListRegExp = /((^|(([a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*@([a-zA-Z0-9_\-]+\.)+([a-zA-Z]{2,6}))+\s?(,|;)\s?))[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*@([a-zA-Z0-9_\-]+\.)+([a-zA-Z]{2,6}))+$/;
var hexColorRegExp = /^\#[a-fA-F0-9]{6}$/;
var integerRegExp = /(^[0]$)|(^-?[1-9](\d{1,8})?$)/;
var integerRegExpNotNeg = /^\d+$/;
var leaveNumbersRegExp = /\D/g;
var numbersRegExp = /^\d+$/;
var phoneRegExp = /^[1-9]{1}\d{6}$/;
var areaCodeRegExp = /^[1-9]{1}\d{2}$/;
var rmvEmAdnEnDashes = /\u2012|\u2013|\u2014|\u2015/g;
var rmvEllipsis = /\u2026|\u2025/g;
var rmvSglQuotes = /\u0027|\u2018|\u2019/g;
var rmvDblQuotes = /\u201C|\u201D|\u0022/g;
var rmvPrePstSpcs = /^(\s*)([\W\w]*)(\b\s*$)/;
var rmvAllSpacesRegExp = /\s/;
var rmvSpacesRegExp = /^(\s*)$/;
var smallIntRegExp = /(^[0]$)|(^-?[1-9]{1}(\d{1,3})?$)|(^-?[1-2]{1}\d{4}$)|(^-?[3]{1}[0-1]{1}\d{3}$)|(^-?[3]{1}[2]{1}[0-6]{1}\d{2}$)|(^-?[3]{1}[2]{1}[7]{1}[0-5]{1}\d{1}$)|(^-?[3]{1}[2]{1}[7]{1}[6]{1}[0-7]{1}$)/;
var timeRegExp = /^(((0|1){1}\d{1})|(2{1}[0-3]{1}))\:{1}[0-5]{1}\d{1}$/;
var tinyIntRegExp = /(^[0]$)|(^[1-9]{1}(\d{1})?$)|(^[1]{1}(\d{1,2})?$)|(^[2]{1}[0-4]{1}\d{1}$)|(^[2]{1}[5]{1}[0-5]{1}$)/;
var urlRegExp = /^(ht|f)tp(s?)\:\/\/[a-zA-Z0-9\-\._]+(\.[a-zA-Z0-9\-\._]+){2,}(\/?)([a-zA-Z0-9\-\.\=\?\,\@\'\/\\\+&%\$#_]*)?$/;
var findHTMLRegExp =  /<\/?(html|head|body|form|table|tr|td|script|javascript|input|select)/i;
var findHTMLBrochuresRegExp =  /<\/?(html|head|body|form|script|javascript|input|select)/i;
var findAllHTMLTags = /<\/?(a|abbr|acronym|address|applet|area|b|base|basefont|bdo|big|blockquote|body|br|button|caption|center|cite|code|col|colgroup|dd|del|dir|div|dfn|dl|dt|em|fieldset|font|form|frame|frameset|h[1-6]|head|hr|html|i|iframe|img|input|ins|isindex|kbd|label|legend|li|link|map|menu|meta|noframes|noscript|object|ol|optgroup|option|p|param|pre|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|ul|var|xmp){1}(\s(\"[^\"]*\"*|[^>])*)*>/i;
var ipRegExp = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
var fileRegExp = /^[\w][\w.-]{1,100}$/i;
var passwordRegExp = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{1,20}$/;
var alphabeticSpaceRegExp = /^[a-zA-Z ]+$/;
var percentRegExp = /^[1-9]{1}([0-9]{1})?$/;
var decimalRegExp3 = /^-?((([1-9]{1}(\d{1,5})?)(\.\d{1,3})?)|\.\d{1,3})$/;

var msgError = 0;
var tabError = 0;
var formFocus = '';
var checkExpand = '';
var date1Check = 0;
var date2Check = 0;
var textOk = 0;

function trim(origStr) {
	noNbspStr = convertNbspsToSps(origStr);
	fnlStr = noNbspStr.replace(rmvPrePstSpcs, '$2');
	return fnlStr;
}

function convertNbspsToSps(origStr) {
	noNbspStr = '';
	for (iChr = 0; iChr < origStr.length; iChr++) {
		if (origStr.charCodeAt(iChr) == '160')
			noNbspStr = noNbspStr + ' ';
		else
			noNbspStr = noNbspStr + origStr.charAt(iChr);
	}

	return noNbspStr;
}

function trimExtraSpaces(origStr) {
	trimedStr = trim(origStr);
	cleanStr = '';
	prevChar = trimedStr.charAt(0);
	for (jChr = 0; jChr < trimedStr.length; jChr++) {
		if (!(trimedStr.charAt(jChr) == ' ' && prevChar == ' ')) {
			cleanStr = cleanStr + trimedStr.charAt(jChr);
			prevChar = trimedStr.charAt(jChr);
		}
	}

	return cleanStr;
}

function phoneFormat(str) {
	if ((trimNNChars(str.value)).length == 10) {
		sTemp = "(" + sTemp.substring(0, 3) + ") " + sTemp.substring(3, 6) + "-" + sTemp.substring(6, 10);str.value = sTemp;
		return true;
	}

	return false;
}

// Date validation
function validateDate(inputStr) {
	var delim1 = inputStr.indexOf("/");
	var delim2 = inputStr.lastIndexOf("/");
	var mm = parseInt(inputStr.substring(0,delim1),10);
	var dd = parseInt(inputStr.substring(delim1 + 1,delim2),10);
	var yyyy = parseInt(inputStr.substring(delim2 + 1, inputStr.length),10);

	if (mm == 2) {
		if (yyyy % 4 > 0 && dd > 28) {
			return false;
		} else if (dd > 29) {
			return false;
		}
	} if (dd < 1 || yyyy < 1900) {
		return false;
	} else {
		return true;
	}
}

function trimAll(strValue){return strValue.replace(rmvSpacesRegExp, '');}

function rplcEmAndEnDash(strValue){return strValue.replace(rmvEmAdnEnDashes, '-');}

function rplcDblQuotes(strValue){return strValue.replace(rmvDblQuotes, '&quot;');}

function rplcSnglQuotesOld(strValue){return strValue.replace(rmvSglQuotes, '`');}

function rplcDblQuotesOld(strValue){return strValue.replace(rmvDblQuotes, '"');}

function trimNNChars(strValue){return strValue.replace(leaveNumbersRegExp, '');}

function rplcEllipsis(strValue){return strValue.replace(rmvEllipsis, '...');}

function replaceSpecialChars(str) {
	//str.value = rplcSnglQuotes(str.value);
	//str.value = rplcDblQuotes(str.value);
	str.value = rplcEmAndEnDash(str.value);
	str.value = trimExtraSpaces(str.value);
	str.value = rplcEllipsis(str.value);
}

function isProper(string) {
	var tmpStr = string.toLowerCase();
			
	tmpStr = tmpStr.replace(/(\d+)([a-z]{3,})/gi, "$1 $2"); // add space after numbers when 3+ alphachars follow
	tmpStr = tmpStr.replace(/\,/g, " "); // delete commas - replace by space (essential!)
	tmpStr = tmpStr.replace(/(\d+)([.{2,}$])/gi, " $1$2"); // add 4 spaces before numbers not at end of string
	tmpStr = tmpStr.replace(/(\S*)\"(\D+)\"(\S*)/g, '$1 "$2" $3'); // put spaces around "string" (force uppercase)
	tmpStr = tmpStr.replace(/o\'/gi, "O' "); // change o' to O'+space (O' Reilly) (force uppercase)
	tmpStr = tmpStr.replace(/(\s|\.)(mc)([a-z])/g, "$1mc $3"); // add space after Mc (force uppercase)
	tmpStr = tmpStr.replace(/(\D)\./g, "$1. "); // add space after literal . (B. M. Smith > uppercase)
	tmpStr = tmpStr.replace(/\-([a-z])/g, " - $1"); // add spaces around hyphens (force uppercase)
	tmpStr = tmpStr.replace(/(^\s+)/, ""); // remove spaces at start of string
	tmpStr = tmpStr.replace(/\s{4,}/g, " "); // remove excessive spaces > 4
	
	if ((/fpo\b/.test(tmpStr)) || (/fpo\d/.test(tmpStr))) {
		tmpStr = tmpStr.toUpperCase(); 
		tmpStr = tmpStr.replace (/([A-Z])(\s{2,})/g, "$1 "); // remove spaces >1 between A-Z and A-Z/0-9 (not converse)
	}
	
	var SplitStuff = tmpStr.split(" ");
	var ArrLen = SplitStuff.length;

	for (var k = 0; k < ArrLen; k++) {
		if(SplitStuff[k] != ''){
			var word = SplitStuff[k];
			var wordLen = word.length;
			var posn = word.search(/[a-zA-Z0-9]/); 
			var firstChars = word.substring(0, posn+1).toUpperCase();
			var postString = word.substring(posn+1,wordLen);
			word = firstChars + postString;
			word = word.replace( /C\/O\b/g, "C\/o" );
			word = word.replace( /Po\b/g, "PO" );
			word = word.replace(/\'a/, "'A"); // De'Ath and D'Arcy!
			SplitStuff[k] = word;
		}
	}
	/* post fixes */
	var newline = SplitStuff.join(" ");
	//alert(newline);
	newline = newline.replace (/\.\s/g, "."); // re-format names B. M. Smith > B.M.Smith
	newline = newline.replace(/\s{2,}/g, " "); // remove excessive spaces > 2

	/* Recall that "Replace()" is case sensitive */
	newline = newline.replace(" Of ", " of ");
	newline = newline.replace(" And ", " and ");
	newline = newline.replace("'S ", "'s " );
	newline = newline.replace(" At ", " at ");
	newline = newline.replace(" The ", " the ");
	newline = newline.replace(" For ", " for ");
	newline = newline.replace(" De ", " de ");
	newline = newline.replace(" Y ", " y ");
	newline = newline.replace(" In ", " in ");
	newline = newline.replace("Ã¥", "Ã…");

	/* roman numerals */
	newline = newline.replace(" Iii", " III");
	newline = newline.replace(" Ii", " II");

	/* specific cases of acronyms */
	newline = newline.replace("Abc ", "ABC ");
	newline = newline.replace("Abcd", "ABCD ");
	newline = newline.replace("Aaa ", "AAA ");
	newline = newline.replace("Cbe ", "CBE ");
	newline = newline.replace("Cei ", "CEI ");
	newline = newline.replace("Itt ", "ITT ");
	newline = newline.replace("Mbti ", "MBTI ");
	newline = newline.replace("Cuny ", "CUNY ");
	newline = newline.replace("Suny ", "SUNY ");
	newline = newline.replace("Mta ", "MTA ");
	newline = newline.replace("Mti ", "MTI ");
	newline = newline.replace("Qpe ", "QPE ");
	newline = newline.replace(" Ogc ", " OGC ");
	newline = newline.replace("Tci ", "TCI ");
	newline = newline.replace("The Cdl ", "The CDL ");
	newline = newline.replace("The Mbf ", "The MBF");
	newline = newline.replace("Lpn", "LPN");
	newline = newline.replace("Cvph ", "CVPH ");
	newline = newline.replace("Dch ", "DCH ");
	newline = newline.replace("Bmr ", "BMR ");
	newline = newline.replace("Isim ", "ISIM ");

	/* contractions */
	newline = newline.replace(" Mgt", " Management");
	newline = newline.replace("Trng", "Training");
	newline = newline.replace("Xray", "X-Ray");
	newline = newline.replace(" Sch ", " School ");
	newline = newline.replace(" Dba ", " dba ");

	/* specific names with special case */
	newline = newline.replace("Mcc", "McC");
	newline = newline.replace("Mcd", "McD");
	newline = newline.replace("Mch", "McH");
	newline = newline.replace("Mcg", "McG");
	newline = newline.replace("Mci", "McI");
	newline = newline.replace("Mck", "McK");
	newline = newline.replace("Mcl", "McL");
	newline = newline.replace("Mcm", "McM");
	newline = newline.replace("Mcn", "McN");
	newline = newline.replace("Mcp", "McP");
	newline = newline.replace("Larock", "LaRock");
	newline = newline.replace("Lefevre", "LeFevre");
	newline = newline.replace("Vanvors", "VanVors");

	/* adding punctuation */
	newline = newline.replace(" Inc", ", Inc");
	newline = newline.replace("Ft ", "Ft. ");
	newline = newline.replace("St ", "St. ");
	newline = newline.replace("Mt ", "Mt. ");

	/* U.S. state abbreviations */
	newline = newline.replace(" Ak ", " AK ");
	newline = newline.replace(" As ", " AS ");
	newline = newline.replace(" Az ", " AZ ");
	newline = newline.replace(" Ar ", " AR ");
	newline = newline.replace(" Ca ", " CA ");
	newline = newline.replace(" Co ", " CO ");
	newline = newline.replace(" Ct ", " CT ");
	newline = newline.replace(" De ", " DE ");
	newline = newline.replace(" Dc ", " DC ");
	newline = newline.replace(" Fl ", " FL ");
	newline = newline.replace(" Ga ", " GA ");
	newline = newline.replace(" Gu ", " GU ");
	newline = newline.replace(" Hi ", " HI ");
	newline = newline.replace(" Id ", " ID ");
	newline = newline.replace(" Il ", " IL ");
	newline = newline.replace(" In ", " IN ");
	newline = newline.replace(" Ia ", " IA ");
	newline = newline.replace(" Ks ", " KS ");
	newline = newline.replace(" Ky ", " KY ");
	newline = newline.replace(" La ", " LA ");
	newline = newline.replace(" Me ", " ME ");
	newline = newline.replace(" Md ", " MD ");
	newline = newline.replace(" Mh ", " MH ");
	newline = newline.replace(" Ma ", " MA ");
	newline = newline.replace(" Mi ", " MI ");
	newline = newline.replace(" Fm ", " FM ");
	newline = newline.replace(" Mn ", " MN ");
	newline = newline.replace(" Ms ", " MS ");
	newline = newline.replace(" Mo ", " MO ");
	newline = newline.replace(" Mt ", " MT ");
	newline = newline.replace(" Ne ", " NE ");
	newline = newline.replace(" Nv ", " NV ");
	newline = newline.replace(" Nh ", " NH ");
	newline = newline.replace(" Nj ", " NJ ");
	newline = newline.replace(" Nm ", " NM ");
	newline = newline.replace(" Ny ", " NY ");
	newline = newline.replace(" Nc ", " NC ");
	newline = newline.replace(" Nd ", " ND ");
	newline = newline.replace(" Mp ", " MP ");
	newline = newline.replace(" Oh ", " OH ");
	newline = newline.replace(" Ok ", " OK ");
	newline = newline.replace(" Or ", " OR ");
	newline = newline.replace(" Pw ", " PW ");
	newline = newline.replace(" Pa ", " PA ");
	newline = newline.replace(" Pr ", " PR ");
	newline = newline.replace(" Ri ", " RI ");
	newline = newline.replace(" Sc ", " SC ");
	newline = newline.replace(" Sd ", " SD ");
	newline = newline.replace(" Tn ", " TN ");
	newline = newline.replace(" Tx ", " TX ");
	newline = newline.replace(" Ut ", " UT ");
	newline = newline.replace(" Vt ", " VT ");
	newline = newline.replace(" Va ", " VA ");
	newline = newline.replace(" Vi ", " VI ");
	newline = newline.replace(" Wa ", " WA ");
	newline = newline.replace(" Wv ", " WV ");
	newline = newline.replace(" Wi ", " WI ");
	newline = newline.replace(" Wy ", " WY ");
	newline = newline.replace(/\s{2,}/g, " "); // remove excessive spaces > 2

	return newline;
}

function validate(str, regx, req, properTitleCase, formChecked, str2, toolFormName, portal) {
/*
		Firefox can't get object field when we use ajax+javascript
		var objCollection = document.getElementsByName($(str).attr("name"))
		var str = objCollection.namedItem($(str).attr("name"));
*/
	if(formChecked) {
		// form field background-color = white
		str.style.borderColor="#a99d9d";
		str.style.background="#FFFFFF";
		str2.style.borderColor="#a99d9d";
		str2.style.background="#FFFFFF";
	
		var imgName = str2.name + 'Img';
		if(!toolFormName)
			var formName = str2.form.name;
		else
			var formName = toolFormName;

		// If exist, remove error image
		if($('#img > img#' + formName + '-' + imgName))
			$('#img > img#' + formName + '-' + imgName).remove();

		return str.checked;
	}

	if(!portal) {
		// form field background-color = white
		str.style.borderColor="#a99d9d";
		str.style.background="#FFFFFF";
	}

	var imgName = str.name + 'Img';
	// If it isn't a tooltip form
	if(!toolFormName) {
		var formName = str.form.name;
	} else {
		var formName = toolFormName;
	}

	// If exist, remove error image
	if($('#img > img#' + formName + '-' + imgName))
		$('#img > img#' + formName + '-' + imgName).remove();

	if ((trimAll(str.value)).length == 0) {
		str.value = '';
		if (req == '1') {
			return false;
		}
		return true;
	}

	if (regx == 'phoneRegExp' || regx == 'areaCodeRegExp'){
		str.value = str.value.replace(rmvAllSpacesRegExp, '');
		str.value = str.value.replace(/-/g, '');
	}

	if(regx == 'decimalRegExp' || regx == 'decimalRegExp2' || regx == 'integerRegExp' || regx == 'integerRegExpNotNeg' || regx == 'smallIntRegExp' || regx == 'tinyIntRegExp') {
		// remove all commas
		str.value = str.value.replace(",", "");
	}

	result = eval(regx).test(str.value); 
	replaceSpecialChars(str);

	if (regx == 'dateRegExp' && req == '0' && str.value == 'mm/dd/yyyy') {
		return true;
	}
	if (regx == 'dateRegExp' && result) {
		return validateDate(str.value);
	}

	if(regx == 'allowAllRegExp' && properTitleCase == '1') {
		str.value = isProper(str.value);
	}
	return result;
}

function validateTxtLen(str, maxLen, req, toolFormName) {
/*
	Firefox can't get object field when we use ajax+javascript
	var objCollection = document.getElementsByName($(str).attr("name"))
	var str = objCollection.namedItem($(str).attr("name"));
*/
	// form field background-color = white
	str.style.borderColor="#a99d9d";
	str.style.background="#FFFFFF";

	var imgName = str.name + 'Img';
	if(str.form) {
		// If it isn't a tooltip form
		if(!toolFormName) {
			var formName = str.form.name;
		} else {
			var formName = toolFormName;
		}
	} else {
		// Firefox doesn't like this sintaxe str.form
		var formName = 'form';
	}

	// If exist, remove error image
	if($('#img > img#' + formName + '-' + imgName))
		$('#img > img#' + formName + '-' + imgName).remove();

	if ((trimAll(str.value)).length == 0) {
		if (req == '1')
			return false;

		str.value = '';
		return true;
	}
	if (str.value.length > maxLen) {
		return false;
	}
	replaceSpecialChars(str);
	return true;
}

function oneIsChecked(object) {
	if(object.length) {
		for (iChk2 = 0; iChk2 < object.length; iChk2++) {
			// form field background-color = white
			object[iChk2].style.borderColor="#a99d9d";
			object[iChk2].style.background="#FFFFFF";
		}
		// Get checkbox name
		var imgName = object[0].name + 'Img';
		// Get form Name
		if(object[0].form)
			var formName = object[0].form.name;
		else
			// Firefox doesn't like this sintaxe str.form.name
			var formName = 'form';
	} else {
		// form field background-color = white
		object.style.borderColor="#a99d9d";
		object.style.background="#FFFFFF";
		var imgName = object.name + 'Img';
		var formName = object.form.name;
	}

	/* If exist, remove error image */
	if($('#img > img#' + formName + '-' + imgName))
		$('#img > img#' + formName + '-' + imgName).remove();

	if (object.length) {
		for (iChk = 0; iChk < object.length; iChk++) {
			if (object[iChk].checked)
				return true;
		}
	} else {
		if (object.checked)
			return true;
	}

	return false;
}

function oneIsSelected(object, toolFormName) {
	// form field background-color = white
	object.style.borderColor="#a99d9d";
	object.style.background="#FFFFFF";

	var imgName = object.name + 'Img';
	// If it is a tooltip form
	if(toolFormName)
		var formName = toolFormName;
	else
		var formName = object.form.name;
	
	if (object.selectedIndex != '-1') {
		/* If exist, remove error image */
		if($('#img > img#' + formName + '-' + imgName))
			$('#img > img#' + formName + '-' + imgName).remove();

		return true;
	}
	return false;
}

function oneIsSelectedReports(object) {
	if (object.selectedIndex != '-1')
		return true;

	return false;
}

function checkFileExt(str, regx, req, toolFormName) {
	// form field background-color = white
	str.style.borderColor="#a99d9d";
	str.style.background="#FFFFFF";

	var imgName = str.name + 'Img';
	// If it is a tooltip form
	if(toolFormName)
		var formName = toolFormName;
	else
		var formName = str.form.name;

	/* If exist, remove error image */
	if($('#img > img#' + formName + '-' + imgName))
		$('#img > img#' + formName + '-' + imgName).remove();

	if((trimAll(str.value)).length == 0) {
		if (req == '1')
			return false;

		str.value = '';
		return true;
	}

	if (str.value.lastIndexOf('.')) {
		lastDot = str.value.lastIndexOf('.') + 1;
		fileExt = str.value.substring(lastDot, str.value.length);
		return eval(regx).test(fileExt.toLowerCase());
	}
	return false;
}

function checkFile(str, regx, req, toolFormName) {
	// form field background-color = white
	str.style.borderColor="#a99d9d";
	str.style.background="#FFFFFF";

	var imgName = str.name + 'Img';
	// If it is a tooltip form
	if(toolFormName)
		var formName = toolFormName;
	else
		var formName = str.form.name;

	/* If exist, remove error image */
	if($('#img > img#' + formName + '-' + imgName))
		$('#img > img#' + formName + '-' + imgName).remove();

	if ((trimAll(str.value)).length == 0) {
		if (req == '1')
			return false;

		str.value = '';
		return true;
	}

	if (str.value.lastIndexOf('\\')) {
		lastSlash = str.value.lastIndexOf('\\') + 1;
		fileName = str.value.substring(lastSlash, str.value.length);
		return eval(regx).test(fileName);
	}

	return false;
}

function compareDates(date1, date2, regx, toolFormName) {
	/* form field background-color = white */
	date1.style.borderColor="#a99d9d";
	date1.style.background="#FFFFFF";
	date2.style.borderColor="#a99d9d";
	date2.style.background="#FFFFFF";

	var imgName1 = date1.name + 'Img';
	var imgName2 = date2.name + 'Img';

	// If it is a tooltip form
	if(toolFormName) {
		var formName1 = toolFormName;
		var formName2 = toolFormName;
	} else {
		var formName1 = date1.form.name;
		var formName2 = date2.form.name;
	}

	var result = '0';
	if(toolFormName) {
		if (validate(date1, 'dateRegExp', '1', null, null, null, toolFormName) && validate(date2, 'dateRegExp', '1', null, null, null, toolFormName)) {
			var delim11 = date1.value.indexOf("/");
			var delim12 = date1.value.lastIndexOf("/");
			var delim21 = date2.value.indexOf("/");
			var delim22 = date2.value.lastIndexOf("/");
			var mm1 = parseInt(date1.value.substring(0,delim11),10);
			var dd1 = parseInt(date1.value.substring(delim11 + 1,delim12),10);
			var yyyy1 = parseInt(date1.value.substring(delim12 + 1, date1.value.length),10);
			var mm2 = parseInt(date2.value.substring(0,delim21),10);
			var dd2 = parseInt(date2.value.substring(delim21 + 1,delim22),10);
			var yyyy2 = parseInt(date2.value.substring(delim22 + 1, date2.value.length),10);

			if (yyyy2 < yyyy1) {
				result = '1';
			} else if (yyyy2 > yyyy1) {
				result = '2';
			} else if (mm2 < mm1) {
				result = '1';
			} else if (mm2 > mm1) {
				result = '2';
			} else if (dd2 < dd1) {
				result = '1';
			} else if (dd2 > dd1) {
				result = '2';
			}
		} else {
			result = '3';
		}
	} else {
		if (validate(date1, 'dateRegExp', '1') && validate(date2, 'dateRegExp', '1')) {
			var delim11 = date1.value.indexOf("/");
			var delim12 = date1.value.lastIndexOf("/");
			var delim21 = date2.value.indexOf("/");
			var delim22 = date2.value.lastIndexOf("/");
			var mm1 = parseInt(date1.value.substring(0,delim11),10);
			var dd1 = parseInt(date1.value.substring(delim11 + 1,delim12),10);
			var yyyy1 = parseInt(date1.value.substring(delim12 + 1, date1.value.length),10);
			var mm2 = parseInt(date2.value.substring(0,delim21),10);
			var dd2 = parseInt(date2.value.substring(delim21 + 1,delim22),10);
			var yyyy2 = parseInt(date2.value.substring(delim22 + 1, date2.value.length),10);
	
			if (yyyy2 < yyyy1) {
				result = '1';
			} else if (yyyy2 > yyyy1) {
				result = '2';
			} else if (mm2 < mm1) {
				result = '1';
			} else if (mm2 > mm1) {
				result = '2';
			} else if (dd2 < dd1) {
				result = '1';
			} else if (dd2 > dd1) {
				result = '2';
			}
		} else {
			result = '3';
		}
	}

	/* If exist, remove error image 1 */
	if($('#img > img#' + formName1 + '-' + imgName1))
		$('#img > img#' + formName1 + '-' + imgName1).remove();
	/* If exist, remove error image 2 */
	if($('#img > img#' + formName2 + '-' + imgName2))
		$('#img > img#' + formName2 + '-' + imgName2).remove();

	return eval(regx).test(result);
}

// Function to reset flags
function resetVars(type) {
	if(type == 'date') {
		date1Check = 0;
		date2Check = 0;
	} else if(type == 'text') {
		textOk = 0;
	}
}

// Function to clear all error decoration from this form fields
function resetFieldsDecor(decorArray) {
	var formDecorName = '';
	var imgDecor = 'Img';

	if(decorArray.length > 0) {
		for(var i = 0; i < decorArray.length; i++) {
			/* form field background-color = white */
			decorArray[i].style.borderColor="#a99d9d";
			decorArray[i].style.background="#FFFFFF";
			formDecorName = decorArray[i].form.name;

			/* If exist, remove error image */
			if($('#img > img#' + formDecorName + '-' + decorArray[i].name + imgDecor)) {
				$('#img > img#' + formDecorName + '-' + decorArray[i].name + imgDecor).remove();
			}
		}
	}
}

// If exist errors, display the message
function inputTextareaHide(elementoInput, elementoTextarea) {
	var table = '';
	var imgExpand = '';

	// Check if the form field it is in a open fieldset
	// Compare All Input Fields
	$(elementoInput).each(function() {
		// If this name equal to field name that need to focus
		if(this.name == checkExpand.name) {
			table = $(this).parents('legend + table').attr('id');
			if(table) {
				imgExpand = $(this).parents('legend + img');
				var objTable = document.getElementById(table);
				// If fieldset is closed
				if(objTable.style.display == 'none') {
					var objDuplic = document.getElementById(objTable.id.substring(0, objTable.id.length - 1) + '2');
					// If we are in a duplicate/merge page, display de duplicate fieldset
					if(objDuplic) {
						if(objDuplic.style.display == 'none') {
							expand(objDuplic);
						}
					}
					expand(objTable, imgExpand);
					return false;
				}
			}
		}
	});
	// Compare All Textareas Fields
	$(elementoTextarea).each(function() {
		// If this name equal to field name that need to focus
		if(this.name == checkExpand.name) {
			table = $(this).parents('legend + table').attr('id');
			if(table) {
				imgExpand = $(this).parents('legend + img');
				var objTable = document.getElementById(table);
				// If fieldset is closed
				if(objTable.style.display == 'none') {
					var objDuplic = document.getElementById(objTable.id.substring(0, objTable.id.length - 1) + '2');
					// If we are in a duplicate/merge page, display de duplicate fieldset
					if(objDuplic) {
						if(objDuplic.style.display == 'none') {
							expand(objDuplic);
						}
					}
					expand(objTable, imgExpand);
					return false;
				}
			}
		}
	});
}

/**

	@msg (String) 			- message to display when to users (do not use \n and "" or '' at the message, use <br> to \n or &quot to "" or '');
	@firstField (Object) 	- formfield that needs to be validated;
	@secondField (Object) 	- formfield that needs to be validated (only use this, if we need to validate two form fields at same time);
	@fieldType (Integer) 		- when we need to positionate the image error in a different location, because the different form field types:
	
				Options:
						1 - Textarea, error image move 17px to the left;
						2 - Everythin and need to indicate the coordinates (left and top);
						3 - One or more checkbox with the same name and need to indicate the coordinates (left and top);
	
	@thirdField (Object) 	- formfield that needs to be validate (only use this, if we need to validate three formfields at same time);
	@span (String) 			- Span Id;
	@spanName (String)		- Input Name;
	@spanForm (String)		- Form Name;
	@leftPos (String)		- Simbol and value (ex: '+_21' or '-_33' or if we don't want move in this orientation '*_0');
	@topPos (String)		- Simbol and value (ex: '+_5' or '-_14' or if we don't want move in this orientation '*_0');
	@toolFormName (String)	- Tooltip Form Name;
	@onlyOneImage (String)	- One error image for diferents checkbox;

**/

function dspError(msg, firstField, secondField, fieldType, thirdField, span, spanName, spanForm, leftPos, topPos, toolFormName, onlyOneImage) {
/*
		Firefox can't get object field when we use ajax+javascript
		var objCollection = document.getElementsByName($(firstField).attr("name"))
		firstField = objCollection.namedItem($(firstField).attr("name"));
*/
	// Define the image width
	var imageWidth = 13;
	var moreLeft = 0;
	var moreLeftSgn = '*';
	var moreTop = 0;
	var moreTopSgn = '*';

	if(fieldType && (fieldType == '3')) {
		if(secondField) {
			if(secondField.length)
				checkExpand = secondField[0];
			else
				checkExpand = secondField;
		} else {
			if(firstField.length)
				checkExpand = firstField[0];
			else
				checkExpand = firstField;
		}
	} else {
		if(thirdField)
			checkExpand = thirdField;
		else if(secondField)
			checkExpand = secondField;
		else
			checkExpand = firstField;
	}

	var inputs = document.getElementsByTagName('input');
	var textareas = document.getElementsByTagName('textarea');
	//check if exist any formfield or textarea in a fieldset, to open this fieldset and display the errors
	inputTextareaHide(inputs, textareas);

	// If validate a form field into a other page
	if(span) {
		spanArea = document.getElementById(span);
		spanArea.style.backgroundColor = "#FFEEFF";

		moreLeft = 11;
		moreLeftSgn = '+';
		moreTop = 2;
		moreTopSgn = '-';
		// Get the left and top coordinates
		var left = $(spanArea).offset().left + 11;
		var top = $(spanArea).offset().top - 2;
		// Get the form field width
		var width = $(spanArea).width();

		var imgName = spanName + 'Img';
		var formName = spanForm;

	// Else, validate the form fields
	} else {
		// Form field background-color = pink
		if(firstField.name == 'docFile') {
			firstField.style.background="#FFEEFF";
		} else if(fieldType == 3) {
			var brochureChecks = document.getElementsByTagName('input');
			$(brochureChecks).each(function() {
				if(firstField.length) {
					if(this.name == firstField[0].name) {
						this.style.borderColor="#8B0000";
						this.style.background="#FFEEFF";
					}
				} else {
					if(this.name == firstField.name) {
						this.style.borderColor="#8B0000";
						this.style.background="#FFEEFF";
					}
				}
			});
		} else {
			firstField.style.borderColor="#8B0000";
			firstField.style.background="#FFEEFF";
		}

		// If is Area Code + Phone
		if(secondField) {
			secondField.style.borderColor="#8B0000";
			secondField.style.background="#FFEEFF";
		}
		// If is Area Code + Phone + Extension
		if(thirdField) {
			thirdField.style.borderColor="#8B0000";
			thirdField.style.background="#FFEEFF";
		}

		if(fieldType) {
			// If is textarea, move 17px to the left
			if(fieldType == 1) {
				if(toolFormName)
					moreLeft = 0;
				else
					moreLeft = 17;
				moreLeftSgn = '-';
				moreTop = 0;
				moreTopSgn = '*';
				// Get the left and top coordinates
				if(toolFormName)
					var left = $(firstField).offset().left - 0;
				else
					var left = $(firstField).offset().left - 17;
				var top = $(firstField).offset().top;
				// Get the form field width
				var width = $(firstField).width();
			// If we need to positionate the error image in another location
			} else if(fieldType == 2) {
				// Get the left and top coordinates
				var left = 0;
				moreLeftSgn = '*';
				var top = 0;
				moreTopSgn = '*';
				var leftPos = leftPos.split('_');
				var topPos = topPos.split('_');
				moreLeft = leftPos[1];
				moreLeftSgn = leftPos[0];
				moreTop = topPos[1];
				moreTopSgn = topPos[0];
				// Get the left and top coordinates
				if(leftPos[0] == '-')
					left = parseInt($(firstField).offset().left) - parseInt(leftPos[1]);
				else
					left = parseInt($(firstField).offset().left) + parseInt(leftPos[1]);
				if(topPos[0] == '-')
					top = parseInt($(firstField).offset().top) - parseInt(topPos[1]);
				else
					top = parseInt($(firstField).offset().top) + parseInt(topPos[1]);
				// Get the form field width
				var width = $(firstField).width();
			// This verification is for the Brochure Requests New
			} else if(fieldType == 3) {
				// Get the left and top coordinates
				var left = 0;
				moreLeftSgn = '*';
				var top = 0;
				moreTopSgn = '*';
				var leftPos = leftPos.split('_');
				var topPos = topPos.split('_');
				moreLeft = leftPos[1];
				moreLeftSgn = leftPos[0];
				moreTop = topPos[1];
				moreTopSgn = topPos[0];
				// If Exist more than 1 radio field
				if(firstField.length) {
					if(leftPos[0] == '-')
						left = parseInt($(firstField[0]).offset().left) - parseInt(leftPos[1]);
					else
						left = parseInt($(firstField[0]).offset().left) + parseInt(leftPos[1]);
					if(topPos[0] == '-')
						top = parseInt($(firstField[0]).offset().top) - parseInt(topPos[1]);
					else
						top = parseInt($(firstField[0]).offset().top) + parseInt(topPos[1]);
					// Get the form field width
					var width = $(firstField[0]).width();
				} else {
					if(leftPos[0] == '-')
						left = parseInt($(firstField).offset().left) - parseInt(leftPos[1]);
					else
						left = parseInt($(firstField).offset().left) + parseInt(leftPos[1]);
					if(topPos[0] == '-')
						top = parseInt($(firstField).offset().top) - parseInt(topPos[1]);
					else
						top = parseInt($(firstField).offset().top) + parseInt(topPos[1]);
					// Get the form field width
					var width = $(firstField).width();
				}
			}
		// If is Area Code + Phone + Extension
		} else if(thirdField) {
			// Get the left and top Extension Phone coordinates
			var left = $(thirdField).offset().left;
			var top = $(thirdField).offset().top;
			// Get the form field Phone width
			var width = $(thirdField).width();
		// If is Area Code + Phone
		} else if(secondField) {
			// Get the left and top Phone coordinates
			var left = $(secondField).offset().left;
			var top = $(secondField).offset().top;
			// Get the form field Phone width
			var width = $(secondField).width();
		} else {
			// Get the left and top coordinates
			var left = $(firstField).offset().left;
			var top = $(firstField).offset().top;
			// Get the form field width
			var width = $(firstField).width();
		}
		// For several select boxes with the same name
		if(fieldType && (fieldType == '3')) {
			if(firstField.length) {
				var imgName = firstField[0].name + 'Img';

				if(!toolFormName)
					var formName = firstField[0].form.name;
				else
					var formName = toolFormName;
			} else {
				var imgName = firstField.name + 'Img';
				if(!toolFormName)
					var formName = firstField.form.name;
				else
					var formName = toolFormName;
			}
		} else if(fieldType && (fieldType == '2')) {
			if(firstField) {
				var imgName = firstField.name + 'Img';
				if(!toolFormName)
					var formName = firstField.form.name;
				else
					var formName = toolFormName;
			} else if(secondField) {
				var imgName = secondField.name + 'Img';
				if(!toolFormName)
					var formName = secondField.form.name;
				else
					var formName = toolFormName;
			} else if(thirdField) {
				var imgName = thirdField.name + 'Img';
				if(!toolFormName)
					var formName = thirdField.form.name;
				else
					var formName = toolFormName;
			}
		} else {
			if(thirdField)
				var imgName = thirdField.name + 'Img';
			else if(secondField)
				var imgName = secondField.name + 'Img';
			else
				var imgName = firstField.name + 'Img';
			if(!toolFormName) {
				if(firstField.form)
					var formName = firstField.form.name;
				else
					// Firefox + JS + Ajax = (firstField.form.name) doesnt work
					var formName = 'form';
			} else {
				var formName = toolFormName;
			}
		}
	}

	var variable = formName + '-' + imgName;
	var exists = 0;

	// Calculate the left & top positions
	left = left + width;
	left = left - (imageWidth - 1);
	top = top + 3;

	var images = $('#img > img');

	$(images).each(function() {
		if(this.id == variable)
			exists = 1;
	});

	if(!toolFormName)
		var zIndex = 1;
	else
		var zIndex = func_getTopZIndexTooltip() + 1;

	// If we need only one error image, for different checkboxes
	if(onlyOneImage) {
		if(onlyOneImage == formName + '-' + imgName) {
			var img = '';
			// If exist, remove image
			if(exists == 0) {
				if(toolFormName) {
					img += '<IMG SRC="../Intranet/images/alert.png" CLASS="' + moreLeftSgn + '_' + moreLeft + '_' + moreTopSgn + '_' + moreTop + '" ID="' + formName + '-' + imgName + '" NAME="' + formName + '-' + imgName + '" WIDTH="' + imageWidth + '" BORDER="0" STYLE="position: absolute; left: ' + left + 'px; top: ' + top + 'px; z-index: ' + zIndex + '; display: block; cursor: pointer;" BORDER="0" ALT="Message Error" onClick="alert(';
					img += "'";
					img += msg;
					img += "', ";
					img += 'this);">';
				} else {
					img += '<IMG SRC="../Intranet/images/alert.png" CLASS="' + moreLeftSgn + '_' + moreLeft + '_' + moreTopSgn + '_' + moreTop + '" ID="' + formName + '-' + imgName + '" NAME="' + formName + '-' + imgName + '" WIDTH="' + imageWidth + '" BORDER="0" STYLE="position: absolute; left: ' + left + 'px; top: ' + top + 'px; z-index: ' + zIndex + '; display: block; cursor: pointer;" BORDER="0" ALT="Message Error" onClick="displayMsgErrorToolTip(';
					img += "'";
					img += msg;
					img += "', ";
					img += 'this);">';
				}
				$("#img").append(img);
			}
		}
	} else {
		var img = '';
		// If exist, remove image
		if(exists == 0) {
			if(toolFormName) {
				img += '<IMG SRC="../Intranet/images/alert.png" CLASS="' + moreLeftSgn + '_' + moreLeft + '_' + moreTopSgn + '_' + moreTop + '" ID="' + formName + '-' + imgName + '" NAME="' + formName + '-' + imgName + '" WIDTH="' + imageWidth + '" BORDER="0" STYLE="position: absolute; left: ' + left + 'px; top: ' + top + 'px; z-index: ' + zIndex + '; display: block; cursor: pointer;" BORDER="0" ALT="Message Error" onClick="alert(';
				img += "'";
				img += msg;
				img += "', ";
				img += 'this);">';
			} else {
				img += '<IMG SRC="../Intranet/images/alert.png" CLASS="' + moreLeftSgn + '_' + moreLeft + '_' + moreTopSgn + '_' + moreTop + '" ID="' + formName + '-' + imgName + '" NAME="' + formName + '-' + imgName + '" WIDTH="' + imageWidth + '" BORDER="0" STYLE="position: absolute; left: ' + left + 'px; top: ' + top + 'px; z-index: ' + zIndex + '; display: block; cursor: pointer;" BORDER="0" ALT="Message Error" onClick="displayMsgErrorToolTip(';
				img += "'";
				img += msg;
				img += "', ";
				img += 'this);">';
			}
			$("#img").append(img);
		}
	}
	// This verification is for the Brochure Requests New
	if(fieldType && (fieldType == '3')) {
		if(firstField.length) {
			if(formFocus == '')
				formFocus = firstField[0];
		} else {
			if(formFocus == '')
				formFocus = firstField;
		}
	} else {
		if(formFocus == '')
			formFocus = firstField;
	}

	msgError = 1;
	return false;
}

// Get current div obj zindex
function func_getTopZIndexTooltip() {
	var topZIndex = 0;
	var el = document.getElementsByTagName("*");
	var elLen = el.length;

	for(var i = 0; i < elLen; i++) {
		if(el[i].style.zIndex) {
			if(el[i].style.zIndex > topZIndex) {
				topZIndex = el[i].style.zIndex;
			}
		}
	}
	return topZIndex;
}

function rplcSnglQuotes(frmName){
	if(frmName.elements && frmName.elements.length){
		for (currFF = 0; currFF < frmName.elements.length; currFF++) {
			if ((frmName.elements[currFF].type == "text" || frmName.elements[currFF].type == "textarea") && !frmName.elements[currFF].disabled && frmName.elements[currFF].style.visibility != "hidden" && frmName.elements[currFF].style.display != "none" && frmName.elements[currFF].value != "") {
				strValue = frmName.elements[currFF].value;
				strValue = strValue.replace(rmvSglQuotes, '`');
				// strValue = strValue.replace(rmvDblQuotes, '`');
				frmName.elements[currFF].value = strValue;
			}
		}
	}
}

function phoneFocus(areaFld, phoneFld){
	areaFldLen = areaFld.value.length;
	if(areaFldLen == 3){
		phoneFld.focus();
	}
}

function validatePhone(areaCode, phoneCode, toolFormName, portal){
	if(!portal) {
		/* form field background-color = white */
		areaCode.style.borderColor="#a99d9d";
		areaCode.style.background="#FFFFFF";
		phoneCode.style.borderColor="#a99d9d";
		phoneCode.style.background="#FFFFFF";
	}

	var imgName = phoneCode.name + 'Img';
	if(toolFormName)
		var formName = toolFormName;
	else
		var formName = phoneCode.form.name;

	if(((areaCode.value.length > 0) && (phoneCode.value.length > 0)) || ((areaCode.value.length == 0) && (phoneCode.value.length == 0))){
		/* If exist, remove error image */
		if($('#img > img#' + formName + '-' + imgName))
			$('#img > img#' + formName + '-' + imgName).remove();
		return true;
	}
}

function validatePhoneExt(areaCode, phoneCode, extCode, toolFormName){
	/* form field background-color = white */
	areaCode.style.borderColor="#a99d9d";
	areaCode.style.background="#FFFFFF";
	phoneCode.style.borderColor="#a99d9d";
	phoneCode.style.background="#FFFFFF";
	extCode.style.borderColor="#a99d9d";
	extCode.style.background="#FFFFFF";

	var imgName = extCode.name + 'Img';
	if(toolFormName)
		var formName = toolFormName;
	else
		var formName = extCode.form.name;

	if(extCode.value.length > 0){
		if((areaCode.value.length > 0) && (phoneCode.value.length > 0)){
			/* If exist, remove error image */
			if($('#img > img#' + formName + '-' + imgName))
				$('#img > img#' + formName + '-' + imgName).remove();
			return true;
		}
	} else if(((areaCode.value.length > 0) && (phoneCode.value.length > 0)) || ((areaCode.value.length == 0) && (phoneCode.value.length == 0))){
		/* If exist, remove error image */
		if($('#img > img#' + formName + '-' + imgName))
			$('#img > img#' + formName + '-' + imgName).remove();
		return true;
	}
}

function valCompleteHomeAddress(company, address1, city, country, zip) {
	if(country.selectedIndex != -1){
		return (!(company.value.length > 0 || country.options[country.selectedIndex].value != 0 || address1.value.length > 0 || city.value.length > 0 || zip.value.length > 0));
	}else{
		return true;
	}
}

function valHomeAddressWOCompany(address1, city, country, zip) {
	if(country.selectedIndex != 0){
		return (!(country.options[country.selectedIndex].value != 0 || address1.value.length > 0 || city.value.length > 0 || zip.value.length > 0));
	}else{
		return true;
	}
}

function valCompleteOtherAddress(address1, city, country, zip) {
	if(country.selectedIndex != 0){
		return (!(country.options[country.selectedIndex].value != 0 || address1.value.length > 0 || city.value.length > 0 || zip.value.length > 0));
	}else{
		return true;
	}
}
function validateSpan(field, spanId, inputId, spanForm) {
	var imgName = inputId + 'Img';
	var formName = spanForm;
	var span = document.getElementById(spanId);
	span.style.backgroundColor = "#FFFFFF";

	if(field.value == 0) {
		return false;
	} else {
		/* If exist, remove error image */
		if($('#img > img#' + formName + '-' + imgName))
			$('#img > img#' + formName + '-' + imgName).remove();
		return true;
	}
}

function validateTinyInt(currObj, req, toolFormName){
	var tinyIntRegEx = /(^[0]$)|(^[1-9]{1}(\d{1})?$)|(^[1]{1}(\d{1,2})?$)|(^[2]{1}[0-4]{1}\d{1}$)|(^[2]{1}[5]{1}[0-5]{1}$)/;
	var currValue = currObj.value;
	// form field background-color = white
	currObj.style.borderColor="#a99d9d";
	currObj.style.background="#FFFFFF";

	var imgName = currObj.name + 'Img';
	if(toolFormName)
		var formName = toolFormName;
	else
		var formName = currObj.form.name;

	/* If exist, remove error image */
	if($('#img > img#' + formName + '-' + imgName))
		$('#img > img#' + formName + '-' + imgName).remove();

	if ((trimAll(currObj.value)).length == 0) {
		if (req == '1')
			return false;

		currObj.value = '';
		return true;
	}

	result = tinyIntRegEx.test(currValue);
	return result;
}
		
function validateDecimal(currObj, req, toolFormName){
	var decimalRegEx = /^-?((\d{1,6}(\.\d{1,3})?)|\.\d{1,3})$/;
	var currValue = currObj.value;
	// form field background-color = white
	currObj.style.borderColor="#a99d9d";
	currObj.style.background="#FFFFFF";

	var imgName = currObj.name + 'Img';
	if(toolFormName)
		var formName = toolFormName;
	else
		var formName = currObj.form.name;

	/* If exist, remove error image */
	if($('#img > img#' + formName + '-' + imgName))
		$('#img > img#' + formName + '-' + imgName).remove();

	if ((trimAll(currObj.value)).length == 0) {
		if (req == '1')
			return false;

		currObj.value = '';
		return true;
	}

	result = decimalRegEx.test(currValue);
	return result;
}

function validateDeadLine(currObj, req, toolFormName){
	var integerRegExpNotNeg = /^\d+$/;
	var currValue = currObj;
	// form field background-color = white
	currObj.style.borderColor="#a99d9d";
	currObj.style.background="#FFFFFF";

	var imgName = currObj.name + 'Img';
	if(toolFormName)
		var formName = toolFormName;
	else
		var formName = currObj.form.name;

	/* If exist, remove error image */
	if($('#img > img#' + formName + '-' + imgName))
		$('#img > img#' + formName + '-' + imgName).remove();

	if ((trimAll(currObj.value)).length == 0) {
		if (req == '1')
			return false;

		currObj.value = '';
		return true;
	}

	result = integerRegExpNotNeg.test(currValue.value);
	return result;
}

function cleanAllFormFields(){
	if($('#img[name*="form"],#img[name*="Form"]'))
		$('img[name*="form"],img[name*="Form"]').remove();
	$(':input').css("backgroundColor","white");
	$(':input').css("borderColor","#a99d9d");
}

// When tool tip is closed with error imgs eraise them
function closeAllValImgs(frmName) {
	var spanImgs = document.getElementsByTagName('span');
	var spanImgsLen = spanImgs.length;
	var frmNameLocal = frmName.name;
	var frmNameLen = frmNameLocal.length;
	var spanParent = '';

	// Loop around span that contains error imgs
	for(var i = 0; i < spanImgsLen; i++) {
		if(spanImgs[i] && spanImgs[i].id) {
			// If formName is detected inside span name delete from document
			if(spanImgs[i].id.indexOf(frmNameLocal) > -1) {
				spanImgs[i].innerHTML = '';
				spanParent = spanImgs[i].parentNode;
				spanParent.removeChild(spanImgs[i]);
			}
		}
	}
	// Clear global container of error imgs
	document.getElementById('img').innerHTML = '';
	
	// Clear all fields decorations
	var inputs = document.getElementsByTagName('input');
	var inputsLen = inputs.length;
	var decorArray = [];
	
	for(var i = 0; i < inputsLen; i++) {
		if(inputs[i].form.name == frmNameLocal) {
			decorArray[decorArray.length] = inputs[i];
		}
	}

	resetFieldsDecor(decorArray);

	return true;
}
