function Validator(elementId,contextId){
	this.messageKey = "default.validation.message";
	//this.messagePlaceHolderReference = "";
	this.validate = function(contextObjectOrId){
	///////alert('contextObjectOrId inside validate='+contextObjectOrId);
		var elementObj = this.getElementObject(contextObjectOrId);
		var validationResult = true;
		if(elementObj != null && !elementObj.disabled){
			validationResult = this.validateMe(elementObj);
		}
		return validationResult;
	}
	
	this.validateMe = function(contextId){
		alert("implement me__________________validateMe method");
	}
	
	this.getElementObject = function(contextObjectOrId){
		var contextObject = null;
		//////alert('contextObjectOrId inside getElementObject='+contextObjectOrId);
		if(contextObjectOrId != null){
			if(contextObjectOrId.constructor == String){
			///////alert('String');
				contextObject = document.getElementById(contextObjectOrId);
			}else{
			///////alert('Object');
				contextObject = contextObjectOrId;
			}
		}
		
		var elementObj = null;
		
//
		if(elementObj == null){
			elementObj = contextObject[this.elementId];
		}
		
		return elementObj;
	}

	this.setArgs = function(argArr,offset){
		offset = offset || 2;
		if(argArr != null && argArr.length > offset){
			for(var i=offset;i < argArr.length;i++){
				this.args.push(argArr[i]);
			}
		}
	}

	this.getMessage = function(){
		var msg = "";
		if(this.defaultMessage != null && this.defaultMessage != ""){
			msg = this.defaultMessage;
		}else{
			var msgTemplate = MessageResources[this.messageKey];
			if(this.args != null && this.args.length > 0){
				var arr = msgTemplate.match(/\{\d\}/g);
				if(arr != null && arr.length > 0){
					for(var i=0;i< arr.length;i++){
						var intVal = getIntValue(arr[i]);
						if(intVal < 0)continue;
						msgTemplate = msgTemplate.replace(arr[i],this.args[intVal-1]);
					}
				}
			}else{
				msgTemplate = msgTemplate.replace(/\{(\d)\}/g,'');
			}
			msg = msgTemplate;
		}
		return msg;
	}

	this.renderMessage = function(formNode){
		var myElement = null;
		var noBrFlag = false;
		if(this.messagePlaceHolderReference != null && this.messagePlaceHolderReference != ""){
			myElement = document.getElementById(this.messagePlaceHolderReference);
			noBrFlag = true;
		}else{
			myElement = document.getElementById(this.elementId);
			if(myElement == null){
				myElement = formNode[this.elementId];
			}
		}
//////alert('elementId='+this.elementId);
		var myMsgSpan = createSpanWithMessage(this.elementId,this.getMessage(),"",noBrFlag);
///////alert('message=='+myMsgSpan);
            var msgDiv = document.getElementById("messages");
            msgDiv.innerHTML =msgDiv.innerHTML +  myMsgSpan ;
           // alert(this.elementId);
document.getElementById(this.elementId).className= 'red_big';
		/*var messageDiv = document.getElementById(this.elementId+"_validationmsgdiv");
		if(messageDiv == null){
			var msgDiv = createSpanForMessageContainer(this.elementId);
			$(msgDiv).insertAfter(myElement);
		}
		messageDiv = document.getElementById(this.elementId+"_validationmsgdiv");
		$(messageDiv).append(myMsgSpan);*/
	}

	function createSpanForMessageContainer(elemId){
		var spanId = elemId+"_validationmsgdiv";
		//keep this class name 'validationMessageContainerSpan'; it is used to refer the validation msg container while removing the messages
		var x = "<span class='validationMessageContainerSpan' id='"+spanId+"' name='"+spanId+"'></span>";
		return x;
	}

	function createSpanWithMessage(elemId,msg,cssClass,noBr){
		var spanId = elemId+"_validationmsg";
		
		//cssClass = cssClass || "errorMessageSpan";
		cssClass = "red_big";
		var x = "<span class='"+cssClass+"' id='"+spanId+"' name='"+spanId+"'>"+msg+"</span>";
		if(!noBr){
			x = "<br/>"+x;
		}
		return x;
	}
	
}

function getIntValue(str){
	if(str == null || str ==""){
		return -1;
	}
	str = str.replace(/\{|\}/,'');
	return parseInt(str);
}

function FormValidator(formId){
	this.formId = formId;
	this.fieldValidators = new Array();
	this.addValidator = function(validator){
		if(validator.constructor != Validator){
			alert("You can add object of Validator type only");
			return false;
		}
		this.fieldValidators.push(validator);
	}
	this.validateMe = function(){
		//clear all previous validation message
		//_validationmsgdiv
		////////alert('144');
		//$("span").remove(".validationMessageContainerSpan");
  var msgDiv = document.getElementById("messages");
            msgDiv.innerHTML ="" ;
//document.getElementById(this.elementId).style.color= "black";

		var isValidFlag = true;
		//////alert('after isValidFlag = true');
		if(this.fieldValidators != null){
			var frm = document.getElementById(this.formId);
			///////alert('frm='+frm);
			for(var i=0;i<this.fieldValidators.length;i++){
				var result = this.fieldValidators[i].validate(frm);
				if(!result){
					this.fieldValidators[i].renderMessage(frm);
					isValidFlag = false;
				}
                       
                    
			}
		}
		return isValidFlag;
	}

}

function trim(str){
	try{
		str = str.replace(/^\s*|\s*$/g,'');
	}catch(e){}
	return str;
}

function getValueOfElement(htmlElement){
	if(htmlElement == null)return "";
	if(htmlElement.length && htmlElement.length > 0){
		var sample = htmlElement[0];
		if(sample.type == 'radio'){
			for(var i=0;i<htmlElement.length;i++){
				var elem = htmlElement[i];
				if(elem.checked){
					return elem.value;
				}
			}
			return "";	
		}
		
	}
	if(htmlElement.type == "checkbox"){
		return htmlElement.checked;
	}else if(htmlElement.type == "text"){
		return htmlElement.value;
	}else if(htmlElement.type == "password"){
		return htmlElement.value;
	}else if(htmlElement.type == "textarea"){
		return htmlElement.value;
	}else if(htmlElement.type == "radio"){
		return htmlElement.value;
	}else if(htmlElement.type == "hidden"){
		return htmlElement.value;
	}else if(htmlElement.type == "select-multiple"){
		var selected = new Array();
		for (var i = 0; i < htmlElement.options.length; i++){
			if (htmlElement.options[ i ].selected){
				if(htmlElement.options[ i ].value != "" && htmlElement.options[ i ].value != -1)
					selected.push(htmlElement.options[ i ].value);
			}
		}
		return selected;
	}else if(htmlElement.type == "select-one"){
		return htmlElement.options[htmlElement.options.selectedIndex].value;
		
	}
}

RequiredFieldValidator.prototype = new Validator();
function RequiredFieldValidator(elementId,defaultMessage,args){
	
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "required_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		var retValue = true;
		if(myValue == null){
			return false;
		}if(myValue.constructor == Boolean){
			if(myValue === false)
				retValue =  false;
		}else if(myValue.constructor === Array){
			if(myValue == null || myValue.length < 1)
				retValue =  false;
		}else{
			myValue = trim(myValue);
			if(myValue == null || myValue == "" || myValue == "Select State" || myValue == "Select Country" )
				retValue =  false;
		}
		return retValue;
	}
	this.setArgs(RequiredFieldValidator.arguments);
}


RequiredEmailFieldValidator.prototype = new Validator();
function RequiredEmailFieldValidator(elementId,defaultMessage,args){
	
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "required_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		var retValue = true;
		if(myValue == null){
			return false;
		}if(myValue.constructor == Boolean){
			if(myValue === false)
				retValue =  false;
		}else if(myValue.constructor === Array){
			if(myValue == null || myValue.length < 1)
				retValue =  false;
		}else{
			myValue = trim(myValue);
			if(myValue == null || myValue == "" || myValue == "Enter your email address" || myValue == "Enter recipients email address")
				retValue =  false;
		}
		return retValue;
	}
	this.setArgs(RequiredEmailFieldValidator.arguments);
}


IntegerValidator.prototype = new Validator();
function IntegerValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "integer_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "")return true;
		var isIntegerRegexp = /^\d+$/;
		var result = isIntegerRegexp.test(myValue);
		return result;
	}
	this.setArgs(IntegerValidator.arguments);
}

DateValidator.prototype = new Validator();
function DateValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "date_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue == null || myValue == ""){
			return true;
		}
		pattern=/^(\d{1,2})\/(\d{1,2})\/(\d{2}|\d{4})$/;
		myValue = trim(myValue);
		var result = pattern.test(myValue);
		if(!result)return result;
		if(result){
			var month = RegExp.$1;
			var day = RegExp.$2;
			var year = RegExp.$3;
			var maxDayOfMonth = monthDaysArray[month];
			if(month <1 || month > 12){
				result = false;
			}else if(day < 1 || day > maxDayOfMonth){
				result = false;
			}else if(!checkLeapYear(year) && month ==2 && day == 29){
				result = false;
			}
		}
		return result;
	}
	this.setArgs(DateValidator.arguments);
}



function checkLeapYear(year) {	
	return (((year % 400) == 0) ? true :((year % 100) == 0) ? false :((year % 4)   == 0) ? true : false);
}
var monthDaysArray = new Array();
monthDaysArray[1]=31;
monthDaysArray[2]=29;
monthDaysArray[3]=31;
monthDaysArray[4]=30;
monthDaysArray[5]=31;
monthDaysArray[6]=30;
monthDaysArray[7]=31;
monthDaysArray[8]=31;
monthDaysArray[9]=30;
monthDaysArray[10]=31;
monthDaysArray[11]=30;
monthDaysArray[12]=31;

DateValidatorMM_YYYY.prototype = new Validator();
function DateValidatorMM_YYYY(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "date_field_message_mm_yyyy";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue == null || myValue == ""){
			return true;
		}
		pattern=  /^(\d{1,2})\/(\d{4})$/;
		myValue = trim(myValue);
		var result = pattern.test(myValue);
		if(!result)return result;
		if(result){
			var month = RegExp.$1;
			var year = RegExp.$2;
			var maxDayOfMonth = monthDaysArray[month];
			if(month <1 || month > 12){
				result = false;
			}
		}
		return result;
	}
	this.setArgs(DateValidatorMM_YYYY.arguments);
}


NumericValidator.prototype = new Validator();
function NumericValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "numeric_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "" || myValue=="Enter phone number")return true;
		var isNumberRegexp = /^\d+(\.)?\d+$/;
		var result = isNumberRegexp.test(myValue);
		return result;
	}
	this.setArgs(NumericValidator.arguments);
}

AlphanumericValidator.prototype = new Validator();
function AlphanumericValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "alphanumeric_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "")return true;
		var isAlphaNumberRegexp = /^[a-zA-Z0-9_\-\s]+$/;
		var result = isAlphaNumberRegexp.test(myValue);
		return result;
	}
	this.setArgs(AlphanumericValidator.arguments);
}

EmailValidator.prototype = new Validator();
function EmailValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "email_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "" || myValue == "Enter your email address" || myValue=="Enter recipients email address")return true;
		var isEmailRegexp = /^[a-zA-z0-9_\-\.]+@[a-zA-z0-9_\-\.]+\.[a-zA-z0-9_\-\.]+$/;
		var result = isEmailRegexp.test(myValue);
		return result;
	}
	this.setArgs(EmailValidator.arguments);
}



EmailNumberValidator.prototype = new Validator();
function EmailNumberValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "email_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		//if(myValue ==null || myValue == "" || myValue == "Enter your email id" || myValue=="Enter recipients email address")return true;
		
		var idArray=myValue.split(",");

		if(idArray.length > 20){
		
		this.messageKey = "email_number_message";
		return false;
		}
		
		for(var i=0;i<idArray.length;i++){
		var id = trim(idArray[i]);
		if(id ==null || id == "" || id == "Enter your email address" || id=="Enter recipients email address")return true;
		var isEmailRegexp = /^[a-zA-z0-9_\-\.]+@[a-zA-z0-9_\-\.]+\.[a-zA-z0-9_\-\.]+$/;
		var result = isEmailRegexp.test(id);
		
		if(result == false)
		  return result;
		}
		return result;
	}
	this.setArgs(EmailNumberValidator.arguments);
}




EmailOneNumberValidator.prototype = new Validator();
function EmailOneNumberValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "email_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		//if(myValue ==null || myValue == "" || myValue == "Enter your email id" || myValue=="Enter recipients email address")return true;
		
		var idArray=myValue.split(",");


            if(idArray.length >1){
            this.messageKey = "email_one_message";
		return false;

            }

		

		
		for(var i=0;i<idArray.length;i++){
		var id = trim(idArray[i]);
		if(id ==null || id == "" || id == "Enter your email address" || id=="Enter recipients email address")return true;
		var isEmailRegexp = /^[a-zA-z0-9_\-\.]+@[a-zA-z0-9_\-\.]+\.[a-zA-z0-9_\-\.]+$/;
		var result = isEmailRegexp.test(id);
		
		if(result == false)
		  return result;
		}
		return result;
	}
	this.setArgs(EmailOneNumberValidator.arguments);
}






MinLengthValidator.prototype = new Validator();
function MinLengthValidator(elementId,minlength,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "minlength_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "")return true;
		var result = myValue.length >= minlength
		return result;
	}
	this.setArgs(MinLengthValidator.arguments,3);
}

MaxLengthValidator.prototype = new Validator();
function MaxLengthValidator(elementId,maxlength,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "maxlength_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "")return true;
		var result = myValue.length <= maxlength
		return result;
	}
	this.setArgs(MaxLengthValidator.arguments,3);
}

RangeLengthValidator.prototype = new Validator();

function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

function RangeLengthValidator(elementId,maxlength,minlength,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "rangelength_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "")return true;
		var result = myValue.length <= maxlength && myValue.length >=minlength && IsNumeric(myValue);
		return result;
	}
	this.setArgs(MaxLengthValidator.arguments,3);
}

NoWhiteSpaceInBetweenValidator.prototype = new Validator();
function NoWhiteSpaceInBetweenValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "nowhitespaceinbetween_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "")return true;
		var noWhiteSpaceInBetweenRegexp = /^[^\s]+$/;
		var result = noWhiteSpaceInBetweenRegexp.test(myValue);
		return result;
	}
	this.setArgs(NoWhiteSpaceInBetweenValidator.arguments);
}

AlphaValidator.prototype = new Validator();
function AlphaValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "alpha_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "")return true;
		var isAlphaRegexp = /^[a-zA-Z\s]+$/;
		var result = isAlphaRegexp.test(myValue);
		return result;
	}
	this.setArgs(AlphaValidator.arguments);
}

ZipcodeValidator.prototype = new Validator();
function ZipcodeValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "zipcode_field_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		if(myValue ==null || myValue == "")return true;
		var zipcodeRegexp = /^\d{5}(\-\d{4})?$/;
		var result = zipcodeRegexp.test(myValue);
		return result;
	}
	this.setArgs(ZipcodeValidator.arguments);
}

SpecificValueValidator.prototype = new Validator();
function SpecificValueValidator(elementId,defaultMessage,args,targetValue){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "specific_value_field_message";
	this.targetValue = targetValue;
	this.validateMe = function(elementObj){
	        
		var myValue = getValueOfElement(elementObj);
		myValue = trim(myValue);
		var result =  myValue == this.targetValue;
		return result;
	}
	this.setArgs(SpecificValueValidator.arguments);
}

function validateFormNode(formNode,page){

     
	var validationResult = true;
	
	
	if(formNode != null && formNode.id != null){

		var formId = formNode.getAttribute("name");
//alert(formId);
		if(formId == null || trim(formId) == ""){
			formId = formNode.getAttribute("id");
		}
		
		var myFormValidator = getFormValidator(formId);
		if(myFormValidator != null){
//alert(myFormValidator );
			validationResult = myFormValidator.validateMe();
			//alert('Result = '+validationResult);
		}
	}
	//alert(validationResult);
      /**if(validationResult == false){
        if(page == "home"){
         alert('nooo');
           clearHomeSubmit();
        }
        else{
         alert('nooo');
           clearSubmit();
        }

      }
      else{
         if(page == "home"){
           alert('nooo');
           return doHomeSubmit();
        }
        else{
           alert('nooo');
           return doSubmit();
        }
      }*/
          // alert(validationResult);
	return validationResult;
}
RequiredCheckValidator.prototype = new Validator();
function RequiredCheckValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "required_check_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
		
//		if(document.forms["creditCardInfoForm"].elements["no"].checked)
//		return false;
		return myValue;
	}
	this.setArgs(RequiredCheckValidator.arguments,3);
}



var checkId = ["whitePapers","caseStudy","companyNews","featuredInsight","pressReleases"];
MyRequiredCheckValidator.prototype = new Validator();
function MyRequiredCheckValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "required_check_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
    //var flag = true;
    for(var i =0;i<checkId.length;i++){
      if(document.getElementById(checkId[i]).checked)
          return true;
  
  }
  return false;


		
//		if(document.forms["creditCardInfoForm"].elements["no"].checked)
//		return false;
		return myValue;
	}
	this.setArgs(MyRequiredCheckValidator.arguments,3);
}



var checkIds = ["modeOfContact1","modeOfContact2"];
var vIds = ["phone1","emailAddress1"];


RequiredPhoneRadioValidator.prototype = new Validator();
function RequiredPhoneRadioValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "required_phone_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
            
             
      if(document.getElementById(checkIds[0]).checked){
          if(document.getElementById(vIds[0]).value == 'Enter phone number')
             //this.messageKey = "required_phone_message";
                return false;
      }
else return true;

		
		return myValue;
	}
	this.setArgs(RequiredPhoneRadioValidator.arguments,3);
}


RequiredEmailRadioValidator.prototype = new Validator();
function RequiredEmailRadioValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	this.messageKey = "required_email_message";
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
            
             
      if(document.getElementById(checkIds[1]).checked){
               if(document.getElementById(vIds[1]).value == 'Enter your email address')
                 // this.messageKey = "required_email_message";
                    return false;

      }
else return true;

		
		return myValue;
	}
	this.setArgs(RequiredEmailRadioValidator.arguments,3);
}












/*RequiredRadioValidator.prototype = new Validator();
function RequiredRadioValidator(elementId,defaultMessage,args){
	this.elementId = elementId;
	this.args = new Array();
	this.defaultMessage = defaultMessage;
	
	this.validateMe = function(elementObj){
		var myValue = getValueOfElement(elementObj);
    //var flag = true;
    //for(var i =0;i<checkIds.length;i++){
      if(document.getElementById(checkIds[0]).checked){
          if(document.getElementById(vIds[0]).value == 'Eneter Phone Number')
             this.messageKey = "required_phone_message";
                return false;
      }
      else  if(document.getElementById(checkIds[1]).checked){
               if(document.getElementById(vIds[1]).value == 'Enter your email address')
                  this.messageKey = "required_email_message";
                    return false;
      }
      else
         return true;


  
  //}
  return false;


		
//		if(document.forms["creditCardInfoForm"].elements["no"].checked)
//		return false;
		return myValue;
	}
	this.setArgs(RequiredRadioValidator.arguments,3);
}*/



var MessageResources = new Array();

MessageResources["email_one_message"] = "You may only enter one email address in the Enter your<BR/> email address field";
MessageResources["required_phone_message"] = "Phone Number is required";
MessageResources["required_email_message"] = "Email Address is required";


MessageResources["email_number_message"] = "You may enter maximum 20 email addresses in the Enter recipients email address field";
MessageResources["required_check_message"] = "Topics of interest is required";
MessageResources["required_field_message"] = "{1} is required";
MessageResources["numeric_field_message"] = "{1} must be numeric";
MessageResources["date_field_message"] = "{1} must be valid date";
MessageResources["date_field_message_mm_yyyy"] = "{1} must be valid date(mm/yyyy)";
MessageResources["integer_field_message"] = "{1} must be Integer";
MessageResources["alphanumeric_field_message"] = "{1} must be alpha numeric";
MessageResources["email_field_message"] = "{1} must be valid email address";
MessageResources["minlength_field_message"] = "{1} must be longer than {2}";
MessageResources["maxlength_field_message"] = "{1} must be shorter than {2} characters";
MessageResources["rangelength_field_message"] = "The length of {1} must be between {2} and {3}";
MessageResources["nowhitespaceinbetween_field_message"] = "{1} must not contain whitespace in between";
MessageResources["alpha_field_message"] = "{1} must contains letters only";
MessageResources["zipcode_field_message"] = "{1} must be in zipcode format";
MessageResources["specific_value_field_message"] = "{1} must be equal to {2}";

function getFormValidator(formId){
//alert('haiiiiiiiiii');
	var myFormValidator = new FormValidator(formId);
	if('emailThisPageForm' == formId){


		myFormValidator.addValidator(new RequiredEmailFieldValidator("recipientEmailAddresses",null,"Recipient's Email Address"));
		//myFormValidator.addValidator(new MaxLengthValidator("recipientEmailAddresses",50,null,"Recipient's Email Address","50"));
		myFormValidator.addValidator(new EmailNumberValidator("recipientEmailAddresses",null,"Recipient's Email Address"));
		document.getElementById("recipientEmailAddresses").className= 'blue_big';
		//alert('haiiiiiiiiii');
		myFormValidator.addValidator(new RequiredEmailFieldValidator("fromEmailAddress",null,"Your Email Address"));
		myFormValidator.addValidator(new EmailOneNumberValidator("fromEmailAddress",null,"Your Email Address"));

		myFormValidator.addValidator(new MaxLengthValidator("personalMessage",200,null,"Personal Message","200"));
		//myFormValidator.addValidator(new EmailValidator("myEmailAddress",null,"Your Email Address"));
		//document.getElementById("fromEmailAddress").className= 'blue_big';
		document.getElementById("fromEmailAddress").className= 'logintext_box';
		document.getElementById("personalMessage").className= 'blue_big';
		
		
		
		


		
	}else if('helpForm' == formId){
	//alert('haii');
myFormValidator.addValidator(new RequiredFieldValidator("question",null,"Question"));
myFormValidator.addValidator(new RequiredPhoneRadioValidator("phone",null,"Phone"));
myFormValidator.addValidator(new RequiredEmailRadioValidator("emailAddress",null,"emailAddress"));


	         myFormValidator.addValidator(new AlphanumericValidator("phone",null,"Phone"));
myFormValidator.addValidator(new EmailOneNumberValidator("emailAddress",null,"Your Email Address"));

	         //myFormValidator.addValidator(new EmailValidator("emailAddress",null,"Email Address"));
	         myFormValidator.addValidator(new MaxLengthValidator("question",150,null,"Question","150"));
	         document.getElementById("emailAddress").className= 'blue_big';
	         document.getElementById("phone").className= 'blue_big';
	         document.getElementById("question").className= 'blue_big';
	         
	         
	        
		
	}else if('createAlertForm' == formId){
	myFormValidator.addValidator(new RequiredEmailFieldValidator("emailAddress",null,"Email Address"));
		//myFormValidator.addValidator(new EmailValidator("emailAddress",null,"Email Address"));
            myFormValidator.addValidator(new EmailOneNumberValidator("emailAddress",null,"Email Address"));

            myFormValidator.addValidator(new MyRequiredCheckValidator("pressReleases",null,"pressReleases"));

		document.getElementById("emailAddress").className= 'blue_big';
document.getElementById("pressReleases").className= 'blue_big';

	
	}else if('contactOnlineForm' == formId){
	myFormValidator.addValidator(new RequiredFieldValidator("firstName",null,"First Name"));
 myFormValidator.addValidator(new MaxLengthValidator("firstName",100,null,"First Name","100"));

myFormValidator.addValidator(new RequiredFieldValidator("initial",null,"Initial"));
 myFormValidator.addValidator(new MaxLengthValidator("initial",5,null,"Initial","5"));

myFormValidator.addValidator(new RequiredFieldValidator("lastName",null,"Last Name"));
 myFormValidator.addValidator(new MaxLengthValidator("lastName",150,null,"Last Name","150"));

myFormValidator.addValidator(new MaxLengthValidator("company",150,null,"Company","150"));

myFormValidator.addValidator(new MaxLengthValidator("title",150,null,"Title","150"));

myFormValidator.addValidator(new MaxLengthValidator("address1",150,null,"Address","150"));
//myFormValidator.addValidator(new MaxLengthValidator("address2",150,null,"address2","150"));
myFormValidator.addValidator(new RequiredFieldValidator("address1",null,"Address"));
//myFormValidator.addValidator(new RequiredFieldValidator("address2",null,"address2"));


myFormValidator.addValidator(new RequiredFieldValidator("city",null,"City"));
myFormValidator.addValidator(new MaxLengthValidator("city",150,null,"City","150"));


myFormValidator.addValidator(new RequiredFieldValidator("state",null,"State"));

myFormValidator.addValidator(new RequiredFieldValidator("zipCode",null,"Zip Code"));
myFormValidator.addValidator(new MaxLengthValidator("zipCode",8,null,"Zip Code","8"));

myFormValidator.addValidator(new RequiredFieldValidator("country",null,"Country"));


myFormValidator.addValidator(new EmailNumberValidator("emailAddress",null,"Email Address"));
myFormValidator.addValidator(new MaxLengthValidator("additionalComments",500,null,"Additional Comments","500"));


		
document.getElementById("initial").className= 'boldtext';
document.getElementById("firstName").className= 'boldtext';
document.getElementById("lastName").className= 'boldtext';
document.getElementById("address1").className= 'boldtext';
document.getElementById("company").className= 'boldtext';
document.getElementById("title").className= 'boldtext';
document.getElementById("city").className= 'boldtext';
document.getElementById("additionalComments").className= 'boldtext';
document.getElementById("emailAddress").className= 'boldtext';
document.getElementById("zipCode").className= 'boldtext';
document.getElementById("additionalComments").className= 'boldtext';
document.getElementById("country").className= 'boldtext';
document.getElementById("state").className= 'boldtext';




	
	}

	else{
		myFormValidator = null;
	}
	return myFormValidator;
}

function checkBlankText(id,str){
	if(id.value ==""){
	    id.value=str;
		
	}
	
}
function reCheckText(id){
	if(id.value =="Enter an email address" && id.readOnly==false || id.value =="Enter your email address" && id.readOnly==false  || id.value =="Enter phone number" && id.readOnly==false  || id.value =="search our site" && id.readOnly==false || id.value =="seephonenumber@harrisbank.com" && id.readOnly==false || id.value =="Enter your name" && id.readOnly==false){
	    id.value='';
	}
}
function changeClass(id){
if(document.getElementById(id).readOnly==false){
document.getElementById(id).className='logintext_box';
}
}

function changeClassBack(id){
if(document.getElementById(id).value=="Enter an email address" || document.getElementById(id).value=="Enter your email address" || document.getElementById(id).value=="Enter phone number" || document.getElementById(id).value=="search our site" || document.getElementById(id).value=="Enter your name"){
document.getElementById(id).className='logintext_box2';
}
}

/*function doDisable(id){
if(document.getElementById(id).checked){
document.getElementById('nm').disabled=false;
}else{
document.getElementById('nm').disabled=true;
}
}*/

function disableRadio1(id){
var a = document.getElementById('modeOfContact2');
a.checked=false;
//document.getElementById("emailAddress1").disabled=true
var b = document.getElementById('emailAddress1');
b.readOnly=true;
b.value="Enter your email address";
b.className='logintext_box2';
 var c = document.getElementById('phone1');
c.readOnly=false;
}

function disableRadio2(id){
var a = document.getElementById('modeOfContact1');
a.checked=false;
var b = document.getElementById('emailAddress1');
b.readOnly=false;
var c = document.getElementById('phone1')
c.readOnly=true;
c.value="Enter phone number";
c.className='logintext_box2';
}







//************************************error page*************************************************************//
var TimeId;
var TimeHomeId;
function doSubmit(frm) {
if(!validateFormNode(document.getElementById(frm))){
return false;
}
 TimeId = window.setTimeout(handleTimeout, 20000);
	return true;
       }
function handleTimeout() {
//	top.location.href="../harrismycfoprefix/0,4854,52776115_55103310,00.html";
	if(window.parent.ajaxwin){
		window.parent.ajaxwin.load("iframe","../harrismycfoprefix/0,4854,52776115_55103310,00.html");
	} else {
		openRequestTimeoutPage();
//		window.location.reload();
	}
}
function clearSubmit() {
window.clearTimeout(TimeId);
}
//************************************error page end*************************************************************//



