	var radioKeep = new Array();
	var checkKeep = new Array();
	var count = 0
	var radioCount = 0
	var checkCount = 0
	var eNumLen = ""
	var eNum = ""
	var req = ""
	var fieldCount = 0

function val() {
	count = 0;
	radioCount = 0;
	checkCount = 0;
	eNumLen = document.form_val.elements.length;
	eNum = document.form_val.elements;
	req = ""
	reqOmni = ""
	fieldCount = 0

	for(count=0;count<eNumLen;count++) {
	re = /^(\w+)\-?\-?\w*\-\-req\-?\-?\w*$/;

		if (re.test(eNum[count].name)) {
			findVal();
		}
	}

function findVal() {

		if (eNum[count].type == "text" || eNum[count].type == "password") {
			text(RegExp.$1);
		}
		else if (eNum[count].type == "radio" || eNum[count].type == "checkbox") {
			radio(RegExp.$1, radioKeep, radioCount, count);
		}
		else if (eNum[count].selectedIndex == 0) {
			menu(RegExp.$1);
		}
		else if (eNum[count].type == "textarea") {
			textarea(RegExp.$1);
		}
		else{}

	}

	function text(re1) {
		if (eNum[count].value == "") {
			fieldCount++
			req+= fieldCount + ".  " + properCap(re1) + "\n<br>";
			reqOmni+= properCap(re1) + ", ";
		}
	}

	function textarea(re1) {
		if (eNum[count].value == "") {
			fieldCount++
			req+= fieldCount + ".  " + properCap(re1) + "\n<br>";
			reqOmni+= properCap(re1) + ", ";
		}
	}

	function menu(re1) {
			fieldCount++
			req+= fieldCount + ".  " + properCap(re1) + "\n<br>";
			reqOmni+= properCap(re1) + ", ";
	}

	function radio(re1,rk,rc,c) {
	
		if (eNum[count].checked || rk[rc] == re1) {
			if (rk[rc] != re1) {
			rk[rc] = re1;
			rc++;
			}
		}
		else{
			var thisRad = eNum[count].name;
			c++;
			var nextRad = eNum[c].name;
			c--;
				if (thisRad != nextRad) {
				fieldCount++
				req+= fieldCount + ".  " + properCap(re1) + "\n<br>";
				reqOmni+= properCap(re1) + ", ";
				}
				else{}
		}
	}

if (req>"") {

//alert(req);
//alert('e, ' + thisPageName + ', ' + document.form_val.name + ', ' + reqOmni)

var reqOmniArray = new Array();
reqOmniArray = reqOmni.split(",");
for(m=0;m<reqOmniArray.length-1;m++){
	s.sendFormEvent('e', thisPageName, document.form_val.name, reqOmniArray[m]);
}
var formID = document.form_val.title;
if(formID == ''){ formID = thisPageName; }
s.eVar8 = formID;
errorWin = window.open('/form_error.htm','error_win','width=420,height=400,scrollbars=1')
errorWin.err = req

}
else{
s.sendFormEvent('s', thisPageName, document.form_val.name);
document.form_val.submit();
//errorWin.close();
}

}

function properCap(eName) {

var splitter = new Array();
splitter = eName.split("_");
var zz = ""

for(i=0;i<splitter.length;i++) {		
	if (splitter[i].length > 1 || splitter[i] == "i") {
	var a = splitter[i];
	zz += a.charAt(0).toUpperCase();
	zz += a.substring(1,splitter[i].length) + " ";
	}
	else{zz += splitter[i] + " "}

}

return zz;

}

function menuFill() {

count = 0;
eNumLen = document.form_val.elements.length;
eNum = document.form_val.elements;

while (count<eNumLen) {
rState = /\-\-state/;
rProvince = /\-\-province/;
rNum = /\-\-num(\d+)/;
rNumZero = /\-\-numzero(\d+)/;
rNumSet = /\-\-numset(\d+)\-(\d+)/;
rstateProvince = /\-\-stateProvince/;
rImprint = /\-\-imprint/;
rProduct = /\-\-product/;
rInstitution = /\-\-institution/;
rCountry = /\-\-country/;

if (rState.test(eNum[count].name)) {	
	regNum = parseInt(RegExp.$1) + 1;
	state();
}
if (rProvince.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1) + 1;
	province();
}
if (rNum.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1) + 1;
	num(regNum);
}
if (rNumZero.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1) + 1;
	numZero(regNum);
}
if (rNumSet.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1);
	regSet = parseInt(RegExp.$2);
	regNum = regNum / regSet;
	numSet(regNum,regSet);
}
if (rstateProvince.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1) + 1;
	stateProvince();
}
if (rImprint.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1) + 1;
	imprint();
}
if (rProduct.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1) + 1;
	product();
}
if (rInstitution.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1) + 1;
	institution();
}
if (rCountry.test(eNum[count].name)) {
	regNum = parseInt(RegExp.$1) + 1;
	country();
}

	count++;
}

function state() {
	eNum[count].length = 53
	stateLen = eNum[count].length

	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	var stateVals = new Array("","N/A","Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "District of Colombia", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming")
	var stateTexts = new Array("","N/A","Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "District of Colombia", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming")
		
	for(sCount=1;sCount<stateLen;sCount++) {
		eNum[count].options[sCount].value = stateVals[sCount]
		eNum[count].options[sCount].text = stateTexts[sCount]
	}


}

function stateProvince() {
	eNum[count].length = 66
	stateProvinceLen = eNum[count].length

	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	var stateProvVals = new Array("","Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "District of Colombia", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming", "", "Alberta", "British Columbia", "Manitoba", "New Brunswick", "Northwest Territory", "Nova Scotia", "Nunavut", "Ontario", "Prince Edward Island", "Quebec", "Saskatchewan", "Yukon", "Other")
	var stateProvTexts = new Array("","Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "District of Colombia", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming", "--Provinces--", "Alberta", "British Columbia", "Manitoba", "New Brunswick", "Northwest Territory", "Nova Scotia", "Nunavut", "Ontario", "Prince Edward Island", "Quebec", "Saskatchewan", "Yukon", "Other")		
	
	for(sCount=1;sCount<stateProvinceLen;sCount++) {
		eNum[count].options[sCount].value = stateProvVals[sCount]
		eNum[count].options[sCount].text = stateProvTexts[sCount]
	}

}

function imprint() {
	eNum[count].length = 23
	imprintLen = eNum[count].length

	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	var imprintVals = new Array("","blackbirch", "scribners", "fivestar", "gale", "gkhall", "graham", "greenhaven", "kidhaven", "kgsaur", "largePrint", "lucent", "macmillan", "oceano", "psm", "stjames", "schirmer", "sleepin_beer", "taft", "thorndike", "twayne", "uxl", "wheeler")
	var imprintTexts = new Array("","Blackbirch Press", "Charles Scribners Sons", "Five Star", "Gale", "G.K. Hall & Co.", "Graham & Whiteside", "Greenhaven Press", "KidHaven Press", "K.G. Saur", "Large Print Press", "Lucent Print Press", "Macmillan Reference USA", "Oceano", "Primary Source Microfilm", "St. James Press", "Schirmer Reference", "Sleeping Bear Press", "The Taft Group", "Thorndike Press", "Twayne Publishers", "UXL", "Wheeler Publishing")
	
	for(sCount=1;sCount<imprintLen;sCount++) {
		eNum[count].options[sCount].value = imprintVals[sCount]
		eNum[count].options[sCount].text = imprintTexts[sCount]
	}

}

function product() {
	eNum[count].length = 17
	productLen = eNum[count].length

	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	var productVals = new Array("","ancestryPlus", "brc", "bcrc", "consulta", "discoveringCollection", "hwrc", "hrc:modern world", "hrc: US", "itCustomNews", "itOneFile", "TotalAccess", "lrc", "ovrc", "src", "gales_tech", "times")
	var productTexts = new Array("","Ancestry Plus", "Biography Resource Center", "Business & Company Resource Center", "Consulta", "Discovering Collection", "Health & Wellness Resource Center", "History Resource Center: Modern World", "History Resource Center: US", "InfoTrac CustomNews", "InfoTrac OneFile", "InfoTrac Total Access", "Literature Resource Center", "Opposing Viewpoints", "Student Resource Center", "Gale's Technology", "Times Digital Archive")	
	for(sCount=1;sCount<productLen;sCount++) {
		eNum[count].options[sCount].value = productVals[sCount]
		eNum[count].options[sCount].text = productTexts[sCount]
	}

}

function institution() {
	eNum[count].length = 14
	institutionLen = eNum[count].length

	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	var institutionVals = new Array("","academicLibrary_2yr", "academicLibrary_4yr", "businessProfessional", "corporateLibrary", "governmentLibrary", "hospital_medical", "k12", "lawLibrary", "museum", "nonProfit", "other", "publicLibrary_main", "publicLibrary_branch")
	var institutionTexts = new Array("","Academic Library 2year", "Academic Library 4year", "Business Professional", "Corporate Library", "Government Library", "Hospital/Medical", "K12", "Law Library", "Museum", "Non Profit", "Other", "Public Library Main", "Public Library Branch")
	
	for(sCount=1;sCount<institutionLen;sCount++) {
		eNum[count].options[sCount].value = institutionVals[sCount]
		eNum[count].options[sCount].text = institutionTexts[sCount]
	}

}


function province() {
	eNum[count].length = 13
	ProvinceLen = eNum[count].length

	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	var provVals = new Array("","Alberta", "British Columbia", "Manitoba", "New Brunswick", "Northwest Territory", "Nova Scotia", "Nunavut", "Ontario", "Prince Edward Island", "Quebec", "Saskatchewan", "Yukon")
	var provTexts = new Array("","Alberta", "British Columbia", "Manitoba", "New Brunswick", "Northwest Territory", "Nova Scotia", "Nunavut", "Ontario", "Prince Edward Island", "Quebec", "Saskatchewan", "Yukon")		
	
	for(sCount=1;sCount<ProvinceLen;sCount++) {
		eNum[count].options[sCount].value = provVals[sCount]
		eNum[count].options[sCount].text = provTexts[sCount]
	}

}

function country() {
	eNum[count].length = 149
	CountryLen = eNum[count].length

	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	var countryVals = new Array("","algeria", "angola", "anguila", "antigua", "argentina", "aruba", "australia", "austria", "azerbaijan", "bahama", "bahrain", "bangladesh", "belgium", "belize", "benin", "bermuda", "bolivia", "bosnia", "brazil", "brunei_darussalam", "birtish_virgin_islands", "bulgaria", "burundi", "cambodia", "cameroon", "canada", "cayman_islands", "central_african_rep", "chile", "china", "colombia", "congo", "costa_rica", "croatia", "cyprus", "czech_rep", "denmark", "dominican", "dominican_rep", "ecuador", "egypt", "el_salvador", "eritrea", "estonia", "ethiopia", "fiji", "finland", "france", "french_antilles", "french_polynesia", "germany", "gibraltar", "greece", "grenada", "guam", "guantanamo_bay", "guatemala", "haiti", "honduras", "hong_kong", "hungary", "iceland", "india", "indonesia", "iran", "iraq", "ireland", "israel", "italy", "ivory_coast", "jamaica", "japan", "jordan", "kenya", "kosovo", "kuwait", "laos", "latvia", "lebanon", "liberia", "libya", "lithuania", "luxembourg", "macau", "macedonia", "malawi", "malaysia", "malta", "mexico", "montserrat", "morocco", "mozambique", "myanmar", "nambia", "nepal", "netherlands", "netherlands_antilles", "nevis", "new_zealand", "nicaragua", "nigeria", "norway", "oman", "pakistan", "panama", "paraguay", "peru", "philippines", "poland", "portugal", "puerto_rico", "qatar", "romania", "russia", "saint_lucia", "saudi_arabia", "senegal", "singapore", "slovakia", "slovenia", "south_africa", "sout_korea", "spain", "sri_lanka", "st_kitts", "st_vincent", "suriname", "sweden", "switzerland", "syria", "taiwan", "tanzania", "thailand", "trinidad_tobago", "tunisia", "turkey", "turks_caicos_islands", "uganda", "ukraine", "united_arab_emirates", "united_kingdom", "us_virgin_islands", "united_states", "uraguay", "venezuela", "vietnam", "yeman", "yugoslavia", "zaire", "zambia", "zimbabwe")
	
	var countryTexts = new Array("","Algeria", "Angola", "Anguila", "Antigua", "Argentina", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahama", "Bahrain", "Bangladesh", "Belgium", "Belize", "Benin", "Bermuda", "Bolivia", "Bosnia", "Brazil", "Brunei Darussalam", "Birtish Virgin Islands", "Bulgaria", "Burundi", "Cambodia", "Cameroon", "Canada", "Cayman Islands", "Central African Republic", "Chile", "China", "Colombia", "Congo", "Costa Rica", "Croatia", "Cyprus", "Czech Republic", "Denmark", "Dominican", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Eritrea", "Estonia", "Ethiopia", "Fiji", "Finland", "France", "French Antilles", "French Polynesia", "Germany", "Gibraltar", "Greece", "Grenada", "Guam", "Guantanamo Bay", "Guatemala", "Haiti", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Ivory_coast", "Jamaica", "Japan", "Jordan", "Kenya", "Kosovo", "Kuwait", "Laos", "Latvia", "Lebanon", "Liberia", "Libya", "Lithuania", "Luxembourg", "Macau", "Macedonia", "Malawi", "MAlaysia", "Malta", "Mexico", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Nambia", "Nepal", "Netherlands", "Netherlands Antilles", "Nvis", "New Zealand", "Nicaragua", "Nigeria", "Norway", "Oman", "Pakistan", "Panama", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Puerto Rico", "Qatar", "Romania", "Russia", "Saint Lucia", "Saudi Arabia", "Senegal", "Singapore", "Slovakia", "Slovenia", "South Africa", "Sout Korea", "Spain", "Sri Lanka", "St Kitts", "St Vincent", "Suriname", "Sweden", "Switzerland", "Syria", "Taiwan", "Tanzania", "Thailand", "Trinidad Tobago", "Tunisia", "Turkey", "Turks Caicos Islands", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "US Virgin Islands", "United States", "Uraguay", "Venezuela", "Vietnam", "Yeman", "Yugoslavia", "Zaire", "Zambia", "Zimbabwe")

	for(sCount=1;sCount<CountryLen;sCount++) {
		eNum[count].options[sCount].value = countryVals[sCount]
		eNum[count].options[sCount].text = countryTexts[sCount]
	}

}

function num(r) {
	eNum[count].length = r
	numLen = eNum[count].length;
	
	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	for(sCount=1;sCount<numLen;sCount++) {
		eNum[count].options[sCount].value = sCount;
		eNum[count].options[sCount].text = sCount;
	}
	
}

function numZero(r) {
	eNum[count].length = r + 1
	numLen = eNum[count].length;
	
	eNum[count].options[0].value = ""
	eNum[count].options[0].text = "Please Select"

	for(sCount=1;sCount<numLen;sCount++) {
		eNum[count].options[sCount].value = sCount-1;
		eNum[count].options[sCount].text = sCount-1;
	}
	
}

function numSet(r,s) {
	
	eNum[count].length = r + 1;
	numLen = eNum[count].length;
	
	eNum[count].options[0].value = "";
	eNum[count].options[0].text = "Please Select";

	for(sCount=1;sCount<numLen;sCount++) {
		eNum[count].options[sCount].value = sCount * s;
		eNum[count].options[sCount].text = sCount * s;
	}

}

}

/**********************************************************************************************************************************/
/******************************************************* NEW - FORM VALIDATION (ADDED 01/28/2010) *********************************/
/**********************************************************************************************************************************/

function frmvalidate() {
		
	var count = 0;
	var eNumLen = "";
	var eNum = "";
	var eNumId = "";
	var name = "";
		
	var valMsg = false;
	var errExist = false;
	var reqOmni = "";
	
	eNumLen = document.form_val.elements.length;
	eNum = document.form_val.elements;	
	
	jQuery(function(){
		
		for(count=0; count < eNumLen; count++) {
		
			re = /^(\w+)\-?\-?\w*\-\-req\-?\-?\w*$/;
						
			if (re.test(eNum[count].id)) {
				
				//removing --req 
				name = RegExp.$1;
				
				eNumId = eNum[count].id;	
				
				var errMsg = "";
				var expression = "";
				
				//If the control is E-mail address
				if (eNum[count].id == "email--req")
				{	
					expression = "if (VAL.match(/^[^\\W][a-zA-Z0-9\\_\\-\\.]+([a-zA-Z0-9\\_\\-\\.]+)*\\@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9_]+)*\\.[a-zA-Z]{2,4}$/)) return true; else return false;";
					errMsg = "Please enter a valid E-mail";
					
					setBlurEvent(eNumId, expression, errMsg);
					
					valMsg =  validate_field({
						tid: eNumId,	
						expression: expression,
						message: errMsg
                	});
					
				}
				
				//If the control is Phone
				else if (eNum[count].id == "phone--req")
				{
					expression = "if (isValidPhone(VAL)) return true; else return false;";
					errMsg = "Please enter a valid Phone";
					
					setBlurEvent(eNumId, expression, errMsg);					
					
					valMsg =  validate_field({
						tid: eNumId,	
						expression: expression,
						message: errMsg
					});	
					
				}
				
				else
				{	
					expression = "if (VAL) return true; else return false;";
										
					//If title attr contains the custom error msg
					if ($("#"+eNumId).attr("title") != "")
					{ 
						errMsg = $("#" + eNumId).attr("title");
					}
					else
					{
						errMsg = "Please enter " + properCap(name);
					}									
		
					setBlurEvent(eNumId, expression, errMsg);
					
					valMsg =  validate_field({
						tid: eNumId,	
						expression: expression,
						message: errMsg
						});				
				}
				
				//If error
				if (valMsg == false)
				{
					reqOmni+= properCap(eNumId) + ", ";
				}
				
				//setting error flag
				if (errExist == false && valMsg == false)
				{
					errExist = true;
				}
			}
			
		}			
		
		//If error flag true
		if (errExist)
		{
			//Omniture Code for Form Analysis Report
			var reqOmniArray = new Array();
			reqOmniArray = reqOmni.split(",");
			for(m=0;m<reqOmniArray.length-1;m++){
				s.sendFormEvent('e', thisPageName, document.form_val.name, reqOmniArray[m]);
			}
			var formID = document.form_val.title;
			if(formID == ''){ formID = thisPageName; }
			s.eVar8 = formID;
			//End of Omniture Code for Form Analysis Report
		}
		else
		{
			s.sendFormEvent('s', thisPageName, document.form_val.name);
			document.form_val.submit();
		}
			
	});	
}

//Validating the field on blur
function setBlurEvent(sId, sExp, sMsg) {
	
	jQuery("#" + sId).bind('blur', function(){						
		validate_field({
		tid: sId,	
		expression: sExp,
		message: sMsg
		});
	
	});
}

//Validating the field and setting the error styles
function validate_field(options){
	
	options = jQuery.extend({
			tid: "",				 
            expression: "return true;",
            message: "",
            error_class: "ValidationErrors",
            error_field_class: "ErrorField",
            live: true
        }, options);			
	 
	var self ="#"+ options['tid'];
	
	var SelfID = jQuery(self).attr("id");	
	
	var expression = 'function Validate(){' + options['expression'].replace(/VAL/g, '$(\'#' + SelfID + '\').val()') + '} Validate()';
			
	var validation_state = eval(expression);		
	
	if (!validation_state) {
		if (jQuery(self).parent().next('.' + options['error_class']).length == 0) {
			
			//Adding error style to the container containing the control
			jQuery(self).parent().addClass(options['error_field_class']);
			
			//Adding error style to the container containing the label
			jQuery(self).parent().prev().addClass(options['error_field_class']);
			
			//Adding error message
			jQuery(self).parent().after('<div class="' + options['error_class'] + '">' + options['message'] + '</div>');
		}	 
	}
	
	//On focus remove error message
	jQuery(self).bind('focus keypress', function(){
															 
		jQuery(self).next('.' + options['error_class']).fadeOut("fast", function(){
                        jQuery(self).remove();
                    });
                    
		//Removing error style to the container containing the control
		jQuery(self).parent().removeClass(options['error_field_class']);
		
		//Removing error style to the container containing the label
		jQuery(self).parent().prev().removeClass(options['error_field_class']);
		
		//Removing error message
		jQuery(self).parent().next('.' + options['error_class']).remove();
	});		
	
	return validation_state;	
}

 /* This functions checks where an entered date is valid or not.
 * It also works for leap year feb 29ths.
 * @year: The Year entered in a date
 * @month: The Month entered in a date
 * @day: The Day entered in a date
 */
function isValidDate(year, month, day){
    var date = new Date(year, (month - 1), day);
    var DateYear = date.getFullYear();
    var DateMonth = date.getMonth();
    var DateDay = date.getDate();
    if (DateYear == year && DateMonth == (month - 1) && DateDay == day) 
        return true;
    else 
        return false;
}

/*
 * This function checks if there is at-least one element checked in a group of check-boxes or radio buttons.
 * @id: The ID of the check-box or radio-button group
 */
function isChecked(id){
    var ReturnVal = false;
    $("#" + id).find('input[type="radio"]').each(function(){
        if ($(this).is(":checked")) 
            ReturnVal = true;
    });
    $("#" + id).find('input[type="checkbox"]').each(function(){
        if ($(this).is(":checked")) 
            ReturnVal = true;
    });
    return ReturnVal;
}

/* Phone number validation.
	Minimum 7 digits
	Allows only Numbers after striping out '.','-','(', ')' and empty spaces
 */
function isValidPhone(phone){
    
	var cl_phone = phone.replace(/[-.\(\)]/g,'')
	
	cl_phone = cl_phone.replace(/ /g,'')
	
	if ((Number(cl_phone)) && (cl_phone.length > 6))
	{       
	   return true;
	}
    else 
        return false;
}
