
//Array which holds formName, inputName1, inputName2, labelTxt, validationType, validationErrorMessageTxt


//*****************************************************************************
// Validator constructor.
//*****************************************************************************


function Validator(formName) 
{
	this.name = formName;
    this.formObj = document.getElementById(formName);

	//Array which holds array of active, inputName1, inputName2, labelTxt, validationType, validationErrorMessageTxt
	this.validatorArray = new Array;
	this.errors = "";
	this.firstErrorColumn="";
	this.validate = Validator_validate;
	this.hasErrors = Validator_hasErrors;
	this.alertErrors = Validator_alertErrors;
	this.addItem = Validator_addItem;
	this.removeItem = Validator_removeItem;
	this.showErrorsYN = 1;
	this.addItemsFromXML = Validator_addItemsFromXML;
	this.clearItems = Validator_clearItems;
//	this.validateSubForm = Validator_validateSubForm;
    this.validateSubForm = Validator_validate;

}
	

//*****************************************************************************
// Validator methods.
//*****************************************************************************
function Validator_validate______OLD() 
{

	//clear current errors
	this.errors="";
	this.firstErrorColumn="";
	var err="";
	var errBlankMsg="Data will be erased for all records in the following field(s) \n";
	var errBlank="";
	var ubound = this.validatorArray.length;
	var fieldValues;
	for (var i=0;i<ubound;i++)
	{
		if (this.validatorArray[i][0])
		{
			if( document.getElementById('alldisabledfields') )
			{
				
				fieldValues = new String(document.forms[0].alldisabledfields.value);
				if(fieldValues.indexOf(this.validatorArray[i][1]) == -1)
				{
					switch (this.validatorArray[i][4])
					{
						
						case "SIGNS":
							err = Validation_SIGNS(this.formObj, this.validatorArray[i][5]);
							break;
						case "STARTENDDATE":
							if(document.getElementById(this.validatorArray[i][1]))
							{
							err = Validation_STARTENDDATE(this.formObj, document.getElementById(this.validatorArray[i][1]), document.getElementById(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "STARTDUEDATE":
							if(document.getElementById(this.validatorArray[i][1]))
							{ 
							err = Validation_STARTDUEDATE(this.formObj, document.getElementById(this.validatorArray[i][1]), document.getElementById(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);	
							}
							break;
						case "PASSWORD":
							if(document.getElementById(this.validatorArray[i][1]))
							{
							err = Validation_PASSWORD(this.formObj, document.getElementById(this.validatorArray[i][1]), document.getElementById(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "URL":
							if(document.getElementById(this.validatorArray[i][1]))
							{
							err = Validation_URL(this.formObj, document.getElementById(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "DATE":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_DATE(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);	
							}
							break;
						case "TIME":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_TIME(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "DECIMAL":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_DECIMAL(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							 }
							break;
						case "DECIMAL184":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_DECIMAL184(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							 }
							break;
						case "CURRENCY":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_CURRENCY(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							 }
							break;
						case "INTEGER":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_INTEGER(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "INTEGERS":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_INTEGERS(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
			  		 	case "BIGINTEGER":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_BIGINTEGER(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "NEGATIVEINTEGER":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_NEGATIVEINTEGER(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
					    case "PHONE":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{	
							err = Validation_PHONE(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "Validation_REQUIREDCHECKACTIVESTATUS":
							if(document.getElementById(this.validatorArray[i][1]))
							{ 
							err = Validation_REQUIREDCHECKACTIVESTATUS(this.formObj, document.getElementById(this.validatorArray[i][1]), document.getElementsByName(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "REQUIRED":
							if(document.getElementById(this.validatorArray[i][1]))
							{	
							err = Validation_REQUIRED(this.formObj, document.getElementById(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "BLANK":
							if(document.getElementById(this.validatorArray[i][1]))
							{

							errBlank = errBlank + Validation_BLANK(this.formObj, document.getElementById(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}					
							break;
						default: break;
					}
				}
			}
			else
			{
				switch (this.validatorArray[i][4])
				{
					
					case "SIGNS":
						err = Validation_SIGNS(this.formObj, this.validatorArray[i][5]);
						break;
					case "STARTENDDATE":
						if(document.getElementById(this.validatorArray[i][1]))
						{
						err = Validation_STARTENDDATE(this.formObj, document.getElementById(this.validatorArray[i][1]), document.getElementById(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "STARTDUEDATE":
						if(document.getElementById(this.validatorArray[i][1]))
						{ 
						err = Validation_STARTDUEDATE(this.formObj, document.getElementById(this.validatorArray[i][1]), document.getElementById(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);	
						}
						break;
					case "PASSWORD":
						if(document.getElementById(this.validatorArray[i][1]))
						{
						err = Validation_PASSWORD(this.formObj, document.getElementById(this.validatorArray[i][1]), document.getElementById(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "URL":
						if(document.getElementById(this.validatorArray[i][1]))
						{
						err = Validation_URL(this.formObj, document.getElementById(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "DATE":
						if(document.getElementsByName(this.validatorArray[i][1]))
						{
						err = Validation_DATE(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);	
						}
						break;
					case "TIME":
						if(document.getElementsByName(this.validatorArray[i][1]))
						{
						err = Validation_TIME(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "DECIMAL":
						if(document.getElementsByName(this.validatorArray[i][1]))
						{
						err = Validation_DECIMAL(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "DECIMAL184":
						if(document.getElementsByName(this.validatorArray[i][1]))
						{
						err = Validation_DECIMAL184(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "CURRENCY":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_CURRENCY(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							 }
							break;
					case "INTEGER":
						if(document.getElementsByName(this.validatorArray[i][1]))
						{
						err = Validation_INTEGER(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
				     case "INTEGERS":
							if(document.getElementsByName(this.validatorArray[i][1]))
							{
							err = Validation_INTEGERS(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
			  		 case "BIGINTEGER":
						if(document.getElementsByName(this.validatorArray[i][1]))
						{
						err = Validation_BIGINTEGER(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "NEGATIVEINTEGER":
						if(document.getElementsByName(this.validatorArray[i][1]))
						{
						err = Validation_NEGATIVEINTEGER(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "PHONE":
						if(document.getElementsByName(this.validatorArray[i][1]))
						{	
						err = Validation_PHONE(this.formObj, document.getElementsByName(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "Validation_REQUIREDCHECKACTIVESTATUS":
						if(document.getElementById(this.validatorArray[i][1]))
						{ 
						err = Validation_REQUIREDCHECKACTIVESTATUS(this.formObj, document.getElementById(this.validatorArray[i][1]), document.getElementsByName(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "REQUIRED":
						if(document.getElementById(this.validatorArray[i][1]))
						{	
						err = Validation_REQUIRED(this.formObj, document.getElementById(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "BLANK":
						if(document.getElementById(this.validatorArray[i][1]))
						{

						errBlank = errBlank + Validation_BLANK(this.formObj, document.getElementById(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}					
						break;
					default: break;
				}
			}

			if (this.firstErrorColumn == "" && err > "")
				this.firstErrorColumn = this.validatorArray[i][1];
		}

		if(err > " ")
		{
			this.errors += err;
			err = "";
			
		}

	}


   if(errBlank > " ")
   {
	
	this.errors += errBlankMsg + errBlank + "Please remove fields from the form if you do not wish to update these fields.";

   }
   if (this.hasErrors())
   {
		this.alertErrors();
		return false;
   }
	else
	return true; 	


}

function Validator_hasErrors()
{
	
	if (this.errors != "")
		return true;
	else
		return false;
}

function Validator_alertErrors()
{
	var errorMessage = "The following errors were found on your form:\n\n"
	if (this.showErrorsYN) {
		errorMessage += this.errors;
		alert(errorMessage);
		//if ( this.firstErrorColumn > " ")
		//	document.getElementById(this.firstErrorColumn).focus();
	}
}

function Validator_addItem(inputName1, inputName2, labelTxt, validationType, validationErrorMessageTxt)
{
	this.validatorArray.push(new Array(1, inputName1, inputName2, labelTxt, validationType, validationErrorMessageTxt));
}

function Validator_removeItem(inputName1, validationType)
{
	var ubound = this.validatorArray.length;
	for (var i=0;i<ubound;i++)
	{
		if (this.validatorArray[i][0] && this.validatorArray[i][1]==inputName1 && this.validatorArray[i][4]==validationType)
			this.validatorArray[i][0] = 0;
	}
}

//add validator items from an xml doc
function Validator_addItemsFromXML(xmlDOC)
{
    //for each ITEM in the ValidationXML addItem
    var vItem;
    for(var i=0;i<xmlDOC.getElementsByTagName("ITEM").length;i++)
    {
        vItem = xmlDOC.getElementsByTagName("ITEM").item(i);
        this.addItem(vItem.getElementsByTagName("inputName1").item(0).text,vItem.getElementsByTagName("inputName2").item(0).text, vItem.getElementsByTagName("labelTxt").item(0).text, vItem.getElementsByTagName("validationType").item(0).text, vItem.getElementsByTagName("validationErrorMessageTxt").item(0).text); 
    }
    
}

//Clear ValidatorArray to start over
function Validator_clearItems()
{
    this.validatorArray = new Array;
}
//---------------------------------------------------------------------------------------------------------------------------//

function Validation_SIGNS(formObj, validationErrorMessageTxt)
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* You can only choose a listing or property. Please choose one only.\n";
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
			
	if (formObj.Signs__TransID.value != "" && formObj.Signs__PropertyID.value !="")
		return validationErrorMessageTxt;
}

function Validation_STARTENDDATE(formObj, startinputObj, endinputObj, labelTxt, validationErrorMessageTxt)
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt + " is an invalid date format \n";
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
    var vErrorMessage="";
	if (startinputObj.length != endinputObj.length) {
	    vErrorMessage += "* Mismatch in number of Start Date and End Date fields.";
	    return vErrorMessage;
	}

	var lngth = startinputObj.length;
	var startDate, endDate;
	
	if (lngth == null){
        startDate = startinputObj.value;
        endDate = endinputObj.value;		
        vErrorMessage += StartEndDateValidation(startDate, endDate, labelTxt, validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
            startDate = startinputObj[i].value;
            endDate = endinputObj[i].value;		
            vErrorMessage += StartEndDateValidation(startDate, endDate, labelTxt, validationErrorMessageTxt);
		}
	}			

	return vErrorMessage;
}


function Validation_STARTDUEDATE(formObj, startinputObj, endinputObj, labelTxt, validationErrorMessageTxt)
{
	return Validation_STARTENDDATE(formObj, startinputObj, endinputObj, labelTxt, validationErrorMessageTxt);

}


function Validation_STARTENDDATETIME(formObj, startinputObj, endinputObj, labelTxt, validationErrorMessageTxt)
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt + " is an invalid datetime format \n";
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
    var vErrorMessage="";
	if (startinputObj.length != endinputObj.length) {
	    vErrorMessage += "* Mismatch in number of Start DateTime and End DateTime fields.";
	    return vErrorMessage;
	}

	var lngth = startinputObj.length;
	var startDateTime, endDateTime;
	
	if (lngth == null){
        startDateTime = startinputObj.value;
        endDateTime = endinputObj.value;		
        vErrorMessage += StartEndDateTimeValidation(startDateTime, endDateTime, labelTxt, validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
            startDateTime = startinputObj[i].value;
            endDateTime = endinputObj[i].value;		
            vErrorMessage += StartEndDateTimeValidation(startDateTime, endDateTime, labelTxt, validationErrorMessageTxt);
		}
	}			

	return vErrorMessage;
}


function Validation_PASSWORD(formObj, pwdinputObj, verifyinputObj, labelTxt, validationErrorMessageTxt)
{			
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* Your new password was not verified. Please re-enter your password.\n";
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
		
    var vErrorMessage="";
	if (pwdinputObj.length != verifyinputObj.length) {
	    vErrorMessage += "* Mismatch in number of Password and Verify Password fields.";
	    return vErrorMessage;
	}

	var lngth = pwdinputObj.length;
	var pwdStr, verifypwdStr;
	
	if (lngth == null){
        pwdStr = pwdinputObj.value;
        verifypwdStr = verifyinputObj.value;		
        vErrorMessage += PasswordValidation(pwdStr, verifypwdStr, validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
            pwdStr = pwdinputObj[i].value;
            verifypwdStr = verifyinputObj[i].value;			
            vErrorMessage += PasswordValidation(pwdStr, verifypwdStr, validationErrorMessageTxt);
        }
	}			

	return vErrorMessage;
	
}



function Validation_URL(formObj, inputObj, labelTxt, validationErrorMessageTxt)
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt + " is an invalid url format, add http:// to make this a valid url. \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";

	var lngth = inputObj.length;
	var vErrorMessage = "";
	var urlStr;
	
	if (lngth == null){
		urlStr = inputObj.value;
        vErrorMessage += UrlValidation(urlStr, validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			urlStr = inputObj[i].value;
			vErrorMessage += UrlValidation(urlStr, validationErrorMessageTxt);
		}
	}			
	
	return vErrorMessage;	
	
}

function Validation_DATETIME(formObj, inputObj, labelTxt, validationErrorMessageTxt)
{
	var vErrorMessage="";
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is an invalid datetime format \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
	var lngth = inputObj.length;

	var datetimeStr;
	var vErrorMessage="";
	if (lngth == null){
		datetimeStr = inputObj.value;
		vErrorMessage += DateTimeValidation(datetimeStr,labelTxt,validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			datetimeStr = inputObj[i].value;
			vErrorMessage += DateTimeValidation(datetimeStr,labelTxt,validationErrorMessageTxt);
		}
	}
		
	return vErrorMessage;	
}

function Validation_DATE(formObj, inputObj, labelTxt, validationErrorMessageTxt)
{
	var vErrorMessage="";
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is an invalid date format \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
			
	var lngth = inputObj.length;

	var dateStr;
	var vErrorMessage="";
	if (lngth == null){
		dateStr = inputObj.value;
		vErrorMessage += DateValidation(dateStr,labelTxt,validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			dateStr = inputObj[i].value;
			vErrorMessage += DateValidation(dateStr,labelTxt,validationErrorMessageTxt);
		}
	}
		
	return vErrorMessage;	
}


function Validation_TIME(formObj, inputObj, labelTxt, validationErrorMessageTxt)
{
	var vErrorMessage="";
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is an invalid time format. (ex: 7:00 PM) \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
	var lngth = inputObj.length;
	var timeStr;
	var vErrorMessage="";
	if (lngth == null){
		timeStr = inputObj.value;
		vErrorMessage += TimeValidation(timeStr,labelTxt,validationErrorMessageTxt)
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			timeStr = inputObj[i].value;
			vErrorMessage += TimeValidation(timeStr,labelTxt,validationErrorMessageTxt)
		}
	}
		
	return vErrorMessage;		
		
}	
		

function Validation_DECIMAL(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is an invalid number format \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
	 
	var valid = "+-0123456789.";
	var lngth = inputObj.length;
	var numStr;
	var vErrorMessage="";
	if (lngth == null){
		numStr = inputObj.value;
		vErrorMessage += NumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,null)
 	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			numStr = inputObj[i].value;
			vErrorMessage += NumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,i)
	 	 	}
	}
		
	return vErrorMessage;	
}
function Validation_DECIMAL184(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is an invalid number format \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
	 
	var valid = "+-0123456789.";
	var lngth = inputObj.length;
	var numStr;
	var vErrorMessage="";
	if (lngth == null){
		numStr = inputObj.value;
		vErrorMessage += BNumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,null)
 	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			numStr = inputObj[i].value;
			vErrorMessage += BNumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,i)
	 	 	}
	}
		
	return vErrorMessage;	
}

function Validation_CURRENCY(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is an invalid number format \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
	 
	var valid = "+-0123456789.";
	var lngth = inputObj.length;
	var numStr;
	var vErrorMessage="";
	if (lngth == null){
		numStr = inputObj.value;
		vErrorMessage += BNumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,null)
 	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			numStr = inputObj[i].value;
			vErrorMessage += BNumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,i)
	 	 	}
	}
		
	return vErrorMessage;	
}		
		
function Validation_INTEGER(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	
	if(inputObj)
	{
		if (validationErrorMessageTxt == "") 
			validationErrorMessageTxt = "* " + labelTxt +  " is an invalid integer format \n"
		else
			validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
			
		var valid = "0123456789";
		var lngth = inputObj.length;
		var numStr;
		var vErrorMessage="";
		if (lngth == null){
			numStr = inputObj.value;
			vErrorMessage += NumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,null )
		}
		else /*if (lngth != null)*/{
			for (var i=0; i<lngth; i++) {
				numStr = inputObj[i].value;
				vErrorMessage += NumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,i )
			}
		}
		
		return vErrorMessage;	
	}
	else
	{
		return "";
	}
}
function Validation_INTEGERS(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	if(inputObj) 
	{
        // this validation is for multiples integers values enter
        if (validationErrorMessageTxt == "") 
	        validationErrorMessageTxt = "* " + labelTxt +  " is an invalid integers list format \n"
        else
	        validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";

        var valid = "0123456789";
        var lngth = inputObj.length;
        var vErrorMessage="";
        var valStr;
        if (lngth == null){
            valStr = inputObj.value;
            vErrorMessage += IntegersValidation(valStr, valid, validationErrorMessageTxt, inputObj, null);
        }
        else /*if (lngth != null)*/{
            for (var i=0; i<lngth; i++) {
                valStr = inputObj[i].value;
                vErrorMessage += IntegersValidation(valStr, valid, validationErrorMessageTxt, inputObj, i);
	        }
        }

        return vErrorMessage;	
    }
    else 
    {
        return "";
    }        
}

function Validation_BIGINTEGER(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	
	if(inputObj)
	{
		if (validationErrorMessageTxt == "") 
			validationErrorMessageTxt = "* " + labelTxt +  " is an invalid integer format \n"
		else
			validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
			
		var valid = "0123456789";
		var lngth =  inputObj.length; 
		var numStr;
		var vErrorMessage="";
		if (lngth == null){
			numStr = inputObj.value;
			vErrorMessage += BNumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,null )
		}
		else /*if (lngth != null)*/{
			for (var i=0; i<lngth; i++) {
				numStr = inputObj[i].value;
				vErrorMessage += BNumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,i )
			}
		}
		
		return vErrorMessage;	
	}
	else
	{
		return "";
	}
}
function Validation_NEGATIVEINTEGER(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	
	if(inputObj)
	{
		if (validationErrorMessageTxt == "") 
			validationErrorMessageTxt = "* " + labelTxt +  " is an invalid integer format \n"
		else
			validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
			
		var valid = "-0123456789";
		var lngth = inputObj.length;
		var numStr;
		var vErrorMessage="";
		if (lngth == null){
			numStr = inputObj.value;
			vErrorMessage += NumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,null )
		}
		else /*if (lngth != null)*/{
			for (var i=0; i<lngth; i++) {
				numStr = inputObj[i].value;
				vErrorMessage += NumberValidation(numStr,valid,validationErrorMessageTxt,inputObj,i )
			}
		}
		
		return vErrorMessage;	
	}
	else
	{
		return "";
	}
}
function Validation_PHONE(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is an invalid phone format \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
    //field = <%= formname %>.<%= InputName %>.value

    var lngth = inputObj.length;
    var vErrorMessage="";
    var phoneStr;
	
    if (lngth == null){
	    phoneStr = inputObj.value;
	    vErrorMessage += PhoneValidation(phoneStr, validationErrorMessageTxt, inputObj);
    }
    else /*if (lngth != null)*/{
	    for (var i=0; i<lngth; i++) {
		    phoneStr = inputObj[i].value;
    	    vErrorMessage += PhoneValidation(phoneStr, validationErrorMessageTxt, inputObj[i]);
	    }
    }		
    
    return vErrorMessage;

}


//This was added for INTG Pipeline, should be converted into generic field check when technology is available
function Validation_REQUIREDCHECKACTIVESTATUS(formObj, inputObj, statusinputObj, labelTxt, validationErrorMessageTxt)	
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is a required field \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
    var vErrorMessage="";
	if (inputObj.length != statusinputObj.length) {
	    vErrorMessage += "* Mismatch in number of Input and Status Input fields.";
	    return vErrorMessage;
	}

	var lngth = inputObj.length;
	var valStr, statusStr;
	
	if (lngth == null){
        valStr = inputObj.value;
        statusStr = statusinputObj.value;		
        vErrorMessage += RequiredCheckActiveStatusValidation(valStr, statusStr, validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
            valStr = inputObj[i].value;
            statusStr = statusinputObj[i].value;		
            vErrorMessage += RequiredCheckActiveStatusValidation(valStr, statusStr, validationErrorMessageTxt);
        }
	}			

	return vErrorMessage;

}


function Validation_REQUIRED(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{
	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt +  " is a required field \n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
		
	var lngth = inputObj.length;
	var vErrorMessage = "";		
	var valStr;

	if (lngth == null || inputObj.tagName.toUpperCase() == "SELECT"){
		valStr = inputObj.value;
		vErrorMessage += RequiredValidation(valStr, validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			valStr = inputObj[i].value;
			vErrorMessage += RequiredValidation(valStr, validationErrorMessageTxt);
		}
	}		

	return vErrorMessage;
}


function Validation_BLANK(formObj, inputObj, labelTxt, validationErrorMessageTxt)	
{

	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt + "\n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
	var lngth = inputObj.length;
	var vErrorMessage = "";		
	var valStr;
	
	if (lngth == null){
		valStr = inputObj.value;
		vErrorMessage += BlankValidation(valStr, validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			valStr = inputObj[i].value;
			vErrorMessage += BlankValidation(valStr, validationErrorMessageTxt);
		}
	}		

	return vErrorMessage;		

}
//-----------------------------------------------------------------------------------------------------------------------------------//


function DateValidation(dateStr,labelTxt,ValidMsg)
{
	var vErrorMessage=""
	if (dateStr!="") {
		// Checks for the following valid date formats:
		// MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
		// Also separates date into month, day, and year variables

		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
		
		// Use the following line to require a 4-digit year
		// var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;

		var matchArray = dateStr.match(datePat); // is the format ok?
		if (matchArray == null) {			
			vErrorMessage += ValidMsg		
		}
		else {
			month = matchArray[1]; // parse date into variables
			day = matchArray[3];
			year = matchArray[4];
			if (month < 1 || month > 12) { // check month range
				vErrorMessage += "* " + labelTxt +  " month must be between 1 and 12.\n";
			}

			if (day < 1 || day > 31) {
				vErrorMessage += "* " + labelTxt +  " day must be between 1 and 31.\n";
			}

			if ((month==4 || month==6 || month==9 || month==11) && day==31) {
				vErrorMessage += "* " + labelTxt + " month " + month + " doesn't have 31 days!\n";
			}

			if (month == 2) { // check for february 29th
				var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
				if (day>29 || (day==29 && !isleap)) {
					vErrorMessage += "* " + labelTxt + " February" + year + " doesn't have " + day + " days!\n";
				}
			}
			if (year  < 1753 && year > 99) {
					vErrorMessage += "* " + labelTxt + " Year " + year + " it is not a valid year!\n";
			}	
										
		}
	}
	return vErrorMessage
}


function CheckFullYear(checkDate) 
{

	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var dateObj = new Date(checkDate);	
	
	var matchArray = checkDate.match(datePat); // is the format 2 number year?
	if (matchArray == null) {		
			dateObj.setYear(dateObj.getFullYear()+100);
			//alert("cd" + dateObj + "|"+ checkDate);
			return dateObj;
	} else {
		//alert(dateObj + "|"+ checkDate);
		return dateObj;
	}
}
	
	
	
function NumberValidation(numStr, valid, ValidMsg, objectinput, inputindex ) 
{
 	var ok;	
	var temp;
	var temp2;	
	var newvalue;
	if (numStr.length > 28) {
		ok = "no";
	}
	else
	{
	 newvalue="";
       for (var i=0; i<numStr.length; i++) {
			temp =  numStr.substring(i, i+1);
			newvalue = newvalue + temp;
			if (valid.indexOf(temp) == "-1")
			 { ok = "no" }
			if (( ok != "no") && ( temp == "$" || temp == "%" || temp =="-" || temp =="+")   && (i>0))
			 {ok="no" }
       }
	}
    if (newvalue != ""  || ok !="no") 
    {/*if (inputindex==null)
       objectinput.value=newvalue
     else
       objectinput[inputindex].value=newvalue
       */
    }
                
	if (numStr > 2000000000) {
		ok = "no";		
	}
	
	if (ok == "no") 
		return ValidMsg;
	else
	 	return ""
	 
}

function BNumberValidation(numStr, valid, ValidMsg, objectinput, inputindex ) 
{
 	var ok;	
	var temp;
	var temp2;	
	var newvalue;
	if (numStr.length > 28) {
		ok = "no";
	}
	else
	{
	 newvalue="";
        for (var i=0; i<numStr.length; i++) {
			temp =  numStr.substring(i, i+1);
			newvalue = newvalue + temp;
			if (valid.indexOf(temp) == "-1")
			 { ok = "no" }
			if (( ok != "no") && ( temp == "$" || temp == "%" || temp =="-" || temp =="+")   && (i>0))
			 {ok="no" }
       }
	}
    if (newvalue != ""  || ok !="no") 
    {/*if (inputindex==null)
       objectinput.value=newvalue
     else
       objectinput[inputindex].value=newvalue
       */
    }
                
 	if (numStr > 9999999999999999) {
		ok = "no";		
	}

	if (ok == "no") 
		return ValidMsg;
	else
	 	return ""
	 
}
function PNumberValidation(numStr, valid, ValidMsg, objectinput, inputindex ) 
{
 	var ok;	
	var temp;
	var temp2;	
	var newvalue;
	if (numStr.length > 28) {
		ok = "no";
	}
	else
	{
	 newvalue="";
       for (var i=0; i<numStr.length; i++) {
			temp =  numStr.substring(i, i+1);
			newvalue = newvalue + temp;
			if (valid.indexOf(temp) == "-1")
			 { ok = "no" }
			if (( ok != "no") && ( temp == "$" || temp == "%" || temp =="-" )   && (i>0))
			 {ok="no" }
       }
	}
    if (newvalue != ""  || ok !="no") 
    {/*if (inputindex==null)
       objectinput.value=newvalue
     else
       objectinput[inputindex].value=newvalue
       */
    }
                
    if (numStr != "" && numStr < 1) {
		ok = "no";
	}
	if (numStr > 2000000000) {
		ok = "no";		
	}

	if (ok == "no") 
		return ValidMsg;
	else
	 	return ""
	 
}

function TimeValidation(timeStr,labelTxt,ValidMsg) 
{
	var vErrorMessage=""
	if (timeStr!="") {
		// Checks if time is in HH:MM:SS AM/PM format.
		//var timePat = /^(\d{1,2}):?(\d{0,2})(\s?(AM|am|PM|pm))?$/;
		//var timePat = /^(\d{1,2})(\s?(:))?(\d{0,2})(\s?(AM|am|Am|aM|PM|pm|Pm|pM))?$/;
        var timePat = /^(\d{1,2})(\s?(:))?(\d{0,2})(\s?(:))?(\d{0,2})(\s?(AM|am|Am|aM|PM|pm|Pm|pM))?$/;

		var matchArray = timeStr.match(timePat);
		if (matchArray == null) {
			vErrorMessage += ValidMsg;
		}
		else {

			var hour = matchArray[1];
			var dble_1 = matchArray[3];
			var minute = matchArray[4];
			var dble_2 = matchArray[6];
			var second = matchArray[7];			
			var ampm = matchArray[9];



			if (ampm==""){
					ampm = null;
			}
			if (dble_1==""){
					dble_1 = null;
			}
			if (minute==""){
					minute = null;
			}
			if (dble_2==""){
					dble_2 = null;
			}

			if (second==""){
					second = null;
			}			
			if (hour < 0  || hour > 12) {
				vErrorMessage += "* " + labelTxt +  " hours must be between 1 and 12.\n";
			}
			if (ampm == null) {
				vErrorMessage += "* " + labelTxt +  " needs AM or PM.\n";
			}
			if (minute < 0 || minute > 59) {
				vErrorMessage += "* " + labelTxt +  " minutes must be between 0 and 59.\n";
			}
			if (second < 0 || second > 59) {
				vErrorMessage += "* " + labelTxt +  " second must be between 0 and 59.\n";
			}			

			if (dble_1 != null &&  minute == null) {
				vErrorMessage += ValidMsg;
			}
			if (dble_2 != null &&  second == null) {
				vErrorMessage += ValidMsg;
			}			
		}
	}
	return vErrorMessage;

}


/***-------------------------------------------------------------------------------***/
//New functions: adapted flat code from existing functions 
//while updating all validation functions to be compatible with use of ".all()"
//Created By: NAGESH CHOPRA
//Created Date: March 28, 2007

function PhoneValidation(phoneStr, ValidMsg, inputObj) {
	var ok="yes";
	var temp, p1, p2, p3;    
    if (phoneStr.length == 12){
        p1 = phoneStr.substring(0,3);
        p2 = phoneStr.substring(4,7);
        p3 = phoneStr.substring(8,12);
        temp = p1 + p2 + p3;
        phoneStr = temp;
        inputObj.value = temp;
    }		

    if (phoneStr != ""){
        if (phoneStr.length < 10){
            ok = "no";
        }
    }			
    
	if (ok == "no") 
		return ValidMsg;
	else
	 	return ""    
}


function IntegersValidation(valStr, valid, ValidMsg, inputObj, inputIndex) {

    var vErrorMessage = "";
    
	var numStr = "";
	var strarray = valStr.split(",")
	var cols = strarray.length ;
	for (var i=0; i<cols; i++) {
	    numStr = strarray[i]  ;
	    numStr = numStr.replace(/^\s+/,'');
	    numStr = numStr.replace(/\s+$/,'');

	    vErrorMessage += NumberValidation(numStr,valid,ValidMsg,inputObj,inputIndex)
	}    
     
    if (vErrorMessage != "") {
        vErrorMessage = ValidMsg;
    }
    else {
        vErrorMessage = "";
    }
     
    return vErrorMessage;
}


function RequiredCheckActiveStatusValidation(valStr, statusStr, ValidMsg) {
    if (valStr == "" && statusStr =="Open"){
	    return ValidMsg;
    }
    else {
        return "";
    }
}


function PasswordValidation(pwdStr, verifypwdStr, ValidMsg) {

    if (pwdStr != verifypwdStr){
	    return ValidMsg;
	}
	else {
	    return "";
	}
}

		
function StartEndDateValidation(startDate, endDate, labelTxt, ValidMsg) {

    var vErrorMessage = "";
    vErrorMessage += DateValidation(startDate,labelTxt,ValidMsg);
    vErrorMessage += DateValidation(endDate,labelTxt,ValidMsg);
    var vStartDate = CheckFullYear(startDate);
    var vEndDate = CheckFullYear(endDate);

    //alert("|" + vstartdate + "|" + venddate + "|")
    if (vEndDate != "")	{
	    if  (vStartDate > vEndDate) 
		    vErrorMessage += "* Start Date cannot be after End Date\n";
    }	
    
    return vErrorMessage;	
	
}


function StartEndDateTimeValidation(startDateTime, endDateTime, labelTxt, ValidMsg) {

    var vErrorMessage = "";
    vErrorMessage += DateTimeValidation(startDateTime,labelTxt,ValidMsg);
//    vErrorMessage += DateTimeValidation(endDateTime,labelTxt,ValidMsg);
/*Nagesh Chopra - Sept 10, 2007::Commented endDateTime validation from here (with startDateTime), since it produced duplicte error messages. Also it resulted in an error message saying startDateTime not valid, when actually endDateTime failed validation. EndDateTime can be exclusively validated for correct format by using "DATETIME" validation on the endDateTime field.*/

    var vStartDateTime = CheckFullYear(startDateTime);
    var vEndDateTime = CheckFullYear(endDateTime);

    //alert("|" + vstartdate + "|" + venddate + "|")
    if (vEndDateTime != "")	{
	    if  (vStartDateTime > vEndDateTime) 
		    vErrorMessage += "* Start DateTime cannot be after End DateTime\n";
    }	
    
    return vErrorMessage;	
	
}


function DateTimeValidation(datetimeStr, labelTxt, ValidMsg) {

    var vErrorMessage = "";
    var arrDateParts, dateStr, timeStr;
    
    datetimeStr = datetimeStr.trim();
    if (datetimeStr != "")
    {
        /*replace first occurance of a blank space with ~|*/
        datetimeStr = datetimeStr.replace(/\s/,"~|"); 
        /*split the datetimeStr to get date & time parts separately.*/
        arrDateParts = datetimeStr.split("~|");
        
        if (arrDateParts.length != 2) 
        {
            vErrorMessage += "* ";
        }
        
        else
        {
            dateStr = arrDateParts[0].trim(); /*first part of datetimeStr is date*/
            timeStr = arrDateParts[1].trim(); /*second part of datetimeStr is time*/
            vErrorMessage += DateValidation(dateStr,labelTxt,ValidMsg);
            vErrorMessage += TimeValidation(timeStr,labelTxt,ValidMsg);
        }
        
        if (vErrorMessage != "")
        {
            vErrorMessage = ValidMsg;
        }
    }

    return vErrorMessage;	
	
}


function BlankValidation(valStr, ValidMsg) {

    if (valStr == ""){
	    return ValidMsg;
    }
    else {
        return "";
    }

}		
		

function RequiredValidation(valStr, ValidMsg) {

    if (valStr == ""){
	    return ValidMsg;
    }
    else {
        return "";
    }
	
}		
		
		
function UrlValidation(urlStr, ValidMsg) {

	var ok="yes";
	var ckhttp = urlStr.substring(0,5);
	var ckhttps = urlStr.substring(0,6);
	var ckslash = urlStr.substring(0,1);
 
    if (urlStr != ""){
		if ((ckhttp != "http:") && (ckhttps != "https:")) {
			if (ckslash != "/"){
				ok = "no";
			}
		}
	}
	
	if (ok == "no") 
		return ValidMsg;
	else
	 	return ""	

}		

function Validation_LENGTH(formObj, inputObj, labelTxt, valStrlen, validationErrorMessageTxt)	
{

	if (validationErrorMessageTxt == "") 
		validationErrorMessageTxt = "* " + labelTxt + "\n"
	else
		validationErrorMessageTxt = "* "  + validationErrorMessageTxt + "\n";
		
	var lngth = inputObj.length;
	var vErrorMessage = "";		
	var valStr;
	
	if (lngth == null){
		valStr = inputObj.value;
		vErrorMessage += LENGTHValidation(valStr, valStrlen, validationErrorMessageTxt);
	}
	else /*if (lngth != null)*/{
		for (var i=0; i<lngth; i++) {
			valStr = inputObj[i].value;
			vErrorMessage += LENGTHValidation(valStr, valStrlen, validationErrorMessageTxt);
		}
	}		

	return vErrorMessage;		

}

function LENGTHValidation(valStr,valStrlen , ValidMsg) {
    var strlngth = valStr.length;
      if (strlngth > valStrlen){
	    return ValidMsg;
    }
    else {
        return "";
    }
	
}	

/***-------------------------------------------------------------------------------***/










//-------------------------------------------------------------------------------//
//---------ADD items from XML---------------------------------------------------//
//-----------------------------------------------------------------------------//



/*** 
Description: This new function is a duplicate of "Validator_validate" and uses the formObj reference for validation rather than the whole "document". Replaced each usage of ".getElementById" and ".getElementsByName" with "formObj.all". Also, added the feature of passing "oSrcForm" that refers to the form to be validated. This oSrcForm reference is assigned to the "this.formObj" property of the Validator object.
This new function was earlier named "Validator_validateSubForm"
The original "Validator_validate" funtion is named to "Validator_validate______OLD" for a backup

Created By: NAGESH CHOPRA

***/
/////function Validator_validateSubForm(oSrcForm) 
function Validator_validate(oSrcForm) 
{
    
    if (oSrcForm != null && typeof(oSrcForm) == "object") {
        this.formObj = oSrcForm;
    } 

/*
    if (this.formObj == null || typeof(this.formObj) != "object" || typeof(this.formObj.all) != "object") {
        this.errors = "* Implementation Error: Form Submission is trying to validate the form but Validation Object is not defined";
        this.alertErrors();
        return false;
    }    
*/

    try {
        if (this.formObj == null || typeof(this.formObj.all) != "object") {
            this.formObj = document.getElementById(this.name); 
            if (typeof(this.formObj.all) != "object") {   
                throw "";
            }
        }
    }
    catch (e) {
        ////////this.formObj = document;
        
        this.errors = '* Implementation Error: Form Submission is trying to validate the "' + this.name + '" form but Form Object is not defined';
        this.alertErrors();
        return false;    
    }    
    
	//clear current errors
	this.errors="";
	this.firstErrorColumn="";
	var err="";
	var errBlankMsg="Data will be erased for all records in the following field(s) \n";
	var errBlank="";
	var ubound = this.validatorArray.length;
	var fieldValues;
	for (var i=0;i<ubound;i++)
	{
		if (this.validatorArray[i][0])
		{
			if( this.formObj.all('alldisabledfields') )
			{
				
				//fieldValues = new String(document.forms[0].alldisabledfields.value);
				fieldValues = new String(this.formObj.all("alldisabledfields").value);
				if(fieldValues.indexOf(this.validatorArray[i][1]) == -1)
				{

					switch (this.validatorArray[i][4])
					{
						
						case "SIGNS":
							err = Validation_SIGNS(this.formObj, this.validatorArray[i][5]);
							break;
						case "STARTENDDATE":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_STARTENDDATE(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "STARTDUEDATE":
							if(this.formObj.all(this.validatorArray[i][1]))
							{ 
							err = Validation_STARTDUEDATE(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);	
							}
							break;
						case "PASSWORD":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_PASSWORD(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "URL":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_URL(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "DATE":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_DATE(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);	
							}
							break;
						case "TIME":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_TIME(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "DATETIME":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_DATETIME(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);	
							}
							break;							
						case "STARTENDDATETIME":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_STARTENDDATETIME(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;							
						case "DECIMAL":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_DECIMAL(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							 }
							break;
						case "INTEGER":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_INTEGER(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "INTEGERS":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_INTEGERS(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
			  		 	case "BIGINTEGER":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_BIGINTEGER(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "NEGATIVEINTEGER":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_NEGATIVEINTEGER(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
					    case "PHONE":
							if(this.formObj.all(this.validatorArray[i][1]))
							{	
							err = Validation_PHONE(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "Validation_REQUIREDCHECKACTIVESTATUS":
							if(this.formObj.all(this.validatorArray[i][1]))
							{ 
							err = Validation_REQUIREDCHECKACTIVESTATUS(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "REQUIRED":
							if(this.formObj.all(this.validatorArray[i][1]))
							{	
							err = Validation_REQUIRED(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
						case "BLANK":
							if(this.formObj.all(this.validatorArray[i][1]))
							{

							errBlank = errBlank + Validation_BLANK(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}					
							break;
						case "LENGTH":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_LENGTH(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][2], this.validatorArray[i][5]);
					    	}					
							break;
				        default: break;
					}
				}
			}
			else
			{
				switch (this.validatorArray[i][4])
				{
					
					case "SIGNS":
						err = Validation_SIGNS(this.formObj, this.validatorArray[i][5]);
						break;
					case "STARTENDDATE":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_STARTENDDATE(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "STARTDUEDATE":
						if(this.formObj.all(this.validatorArray[i][1]))
						{ 
						err = Validation_STARTDUEDATE(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);	
						}
						break;
					case "PASSWORD":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_PASSWORD(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "URL":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_URL(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "DATE":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_DATE(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);	
						}
						break;
					case "TIME":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_TIME(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "DECIMAL":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_DECIMAL(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "INTEGER":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_INTEGER(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
				     case "INTEGERS":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_INTEGERS(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
							}
							break;
			  		 case "BIGINTEGER":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_BIGINTEGER(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "NEGATIVEINTEGER":
						if(this.formObj.all(this.validatorArray[i][1]))
						{
						err = Validation_NEGATIVEINTEGER(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "PHONE":
						if(this.formObj.all(this.validatorArray[i][1]))
						{	
						err = Validation_PHONE(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "Validation_REQUIREDCHECKACTIVESTATUS":
						if(this.formObj.all(this.validatorArray[i][1]))
						{ 
						err = Validation_REQUIREDCHECKACTIVESTATUS(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.formObj.all(this.validatorArray[i][2]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "REQUIRED":
						if(this.formObj.all(this.validatorArray[i][1]))
						{	
						err = Validation_REQUIRED(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}
						break;
					case "BLANK":
						if(this.formObj.all(this.validatorArray[i][1]))
						{

						errBlank = errBlank + Validation_BLANK(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][5]);
						}					
						break;
					case "LENGTH":
							if(this.formObj.all(this.validatorArray[i][1]))
							{
							err = Validation_LENGTH(this.formObj, this.formObj.all(this.validatorArray[i][1]), this.validatorArray[i][3], this.validatorArray[i][2], this.validatorArray[i][5]);
					    	}					
							break;	
					default: break;
				}
			}

			if (this.firstErrorColumn == "" && err > "")
				this.firstErrorColumn = this.validatorArray[i][1];
		}

		if(err > " ")
		{
			this.errors += err;
			err = "";
		}

	}


   if(errBlank > " ")
   {
	
	this.errors += errBlankMsg + errBlank + "Please remove fields from the form if you do not wish to update these fields.";

   }
   if (this.hasErrors())
   {
		this.alertErrors();
		return false;
   }
	else
	return true; 	


}