//------------------------------------------------------------------------------------------------------------------------------------
// Function to validate for emailaddress
//------------------------------------------------------------------------------------------------------------------------------------
function isEmail( formName, fieldName, message ) {
	var string = eval("document." + formName + "." + fieldName + ".value");
	var re = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/

	//if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) {	
    if (re.test( string )) {
        return true;
	} else {
		alert ("Please enter valid email address in " + message);
		eval("document." + formName + "." + fieldName + ".focus()");		
        return false;
	}
}

//------------------------------------------------------------------------------------------------------------------------------------

// Function to validate for NULLS

//------------------------------------------------------------------------------------------------------------------------------------

function validateForNull (formName, fieldName, message)

{

	var variableToTest = evaluateValue ( formName, fieldName );

	if ( variableToTest == null || variableToTest == '' )

	{

		alert( "Must Enter value in " + message );

		eval("document." + formName + "." + fieldName + ".focus()");

		return false;	

	}

	return true;

}

//------------------------------------------------------------------------------------------------------------------------------------

// Function to validate for NULLS in LISTBOX

//------------------------------------------------------------------------------------------------------------------------------------

function validateForNullListBox (formName, fieldName, message)

{

	var variableToTest = evaluateSelectedValue ( formName, fieldName );

	if ( variableToTest == null || variableToTest == '' )

	{

		alert( "Must Enter value in " + message );

		eval("document." + formName + "." + fieldName + ".focus()");

		return false;	

	}

	return true;

}

//------------------------------------------------------------------------------------------------------------------------------------

// Function to Evaluate Dropdown Selected Values.

//------------------------------------------------------------------------------------------------------------------------------------

function evaluateSelectedValue( formName, fieldName ) {

	var listValue = eval("document." + formName + "." + fieldName + "[document." + formName + "." + fieldName + ".selectedIndex].value");

	return listValue;

}

//------------------------------------------------------------------------------------------------------------------------------------

// Function to Evaluate Field Values

//------------------------------------------------------------------------------------------------------------------------------------

function evaluateValue( formName, fieldName ) {

	var fieldValue = eval("document." + formName + "." + fieldName + ".value");

	return fieldValue;

}



//------------------------------------------------------------------------------------------------------------------------------------

// Function to Validate For Decimal/Money Fields

//------------------------------------------------------------------------------------------------------------------------------------

function validateForDecimal( formName, fieldName, msgFieldName ){

	var fieldValue = eval("parseFloat(document." + formName + "." + fieldName + ".value)");

	if ( isNaN(fieldValue)){

		eval("document." + formName + "." + fieldName + ".value ='" + round(0) + "'");

		eval("document." + formName + "." + fieldName + ".focus()");

		alert ( msgFieldName + " Must be a Money Type");

	} else {

		eval("document." + formName + "." + fieldName + ".value='" + round(parseFloat(fieldValue)) + "'");

	}

	return true;

}



//------------------------------------------------------------------------------------------------------------------------------------

// Function to Validate For Integer Fields

//------------------------------------------------------------------------------------------------------------------------------------

function validateForInteger( formName, fieldName, msgFieldName ){

	var fieldValue = eval("round(parseFloat(document." + formName + "." + fieldName + ".value))");

	if ( isNaN(fieldValue)){

		eval("document." + formName + "." + fieldName + ".value = '0'");

		eval("document." + formName + "." + fieldName + ".focus()");

		alert ( msgFieldName + " Must be a Number");

	} else {

		eval("document." + formName + "." + fieldName + ".value='" + parseInt(fieldValue)+ "'");

	}

	return true;

}



//------------------------------------------------------------------------------------------------------------------------------------

// Function to round numbers to nearest decimal.

//------------------------------------------------------------------------------------------------------------------------------------

function round(number) {

	// rounds number to X decimal places, defaults to 2

    X = 2;

    number = Math.round(number*Math.pow(10,X))/Math.pow(10,X);

    number -= 0;

    return (number == Math.floor(number)) ? number + '.00' : (  (number*10 == Math.floor(number*10)) ? number + '0' : number);

}



//------------------------------------------------------------------------------------------------------------------------------------

// Function to clear forms

//------------------------------------------------------------------------------------------------------------------------------------

function clearForm( formName ) {

	eval("document." + formName + ".reset()");

}



//------------------------------------------------------------------------------------------------------------------------------------

// Function to set form value for dates.

//------------------------------------------------------------------------------------------------------------------------------------

function setFormValue(formName, fieldName, dateName){

	var yearName = "year" + dateName;

	var monthName = "month" + dateName;

	var dayName = "day" + dateName;

	

 	var yearToStore = evaluateSelectedValue( formName, yearName);

	var monthToStore = evaluateSelectedValue( formName, monthName );

	var dayToStore = evaluateSelectedValue( formName, dayName );

	

	eval("document." + formName + "." + fieldName + ".value='" + monthToStore + " " + dayToStore + " " + yearToStore + "'");



}



//------------------------------------------------------------------------------------------------------------------------------------

// Function to set year to be y2k.

//------------------------------------------------------------------------------------------------------------------------------------

function y2k(number) { return (number < 1000) ? number + 1900 : number; }



//------------------------------------------------------------------------------------------------------------------------------------

// Function to split dates into 3 textbox

//------------------------------------------------------------------------------------------------------------------------------------

function displaySplitDates(formName, fieldName, dateName)

{

	var dayDisplay = '1';

	var mothDisplay = '1';

	var yearDisplay = '2001';

	var fieldValue = evaluateValue( formName, fieldName );



	if (fieldValue != null || fieldValue != ''){

		var yearDisplay = fieldValue.substr(0,4);

		var monthDisplay = fieldValue.substr(5,2);

		var dayDisplay = fieldValue.substr(8,2);

	}

	

   	document.write("<SELECT name='day" + dateName + "' onChange=javascript:setFormValue('" + formName + "','" + fieldName + "','" + dateName +  "')>");

	for ( i=1; i<=31; i++ ){

		if (dayDisplay == i){

			document.write("<OPTION value='" + i + "' selected>" + i + "</OPTION>");

		}else {

			document.write("<OPTION value='" + i + "'>" + i + "</OPTION>");

		}

	}

	document.write("</SELECT>");

              	

	document.write("/");

                

	document.write("<SELECT name='month" + dateName + "' onChange=javascript:setFormValue('" + formName + "','" + fieldName + "','" + dateName + "')>");

	var monthNames = new Array(11);

	monthNames[0] = 'January';

	monthNames[1] = 'February';

	monthNames[2] = 'March';

	monthNames[3] = 'April';

	monthNames[4] = 'May';

	monthNames[5] = 'June';

	monthNames[6] = 'July';

	monthNames[7] = 'August';

	monthNames[8] = 'September';

	monthNames[9] = 'October';

	monthNames[10] = 'November';

	monthNames[11] = 'December';								

	for ( i=0; i<=11; i++ ){

		if (monthDisplay == parseInt(i)+1){

			document.write("<OPTION value='" + monthNames[i] + "' selected>" + monthNames[i] + "</OPTION>");

		}else {

			document.write("<OPTION value='" + monthNames[i] + "'>" + monthNames[i] + "</OPTION>");

		}

	}

	document.write("</SELECT>");



	document.write("/");



	document.write("<SELECT name='year" + dateName + "' onChange=javascript:setFormValue('" + formName + "','" + fieldName + "','" + dateName + "')>");

	var todaysDate = new Date();

	var dateYear = todaysDate.getFullYear();

  	for ( i=parseInt(dateYear); i>=parseInt(dateYear)-100; i-- ){

		if (yearDisplay == i){

			document.write("<OPTION value='" + i + "' selected>" + i + "</OPTION>");

		}else {

			document.write("<OPTION value='" + i + "'>" + i + "</OPTION>");

		}

	}

  	document.write("</SELECT>");

}