function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

// Set the Date
var dayName = new Array("Sun,", "Mon,", "Tues,", "Wed,", "Thurs,", "Fri,", "Sat,");
var monName = new Array("Jan", "Feb", "March", "April", "May", "June", "July", "Aug", "Sept",  "Oct", "Nov", "Dec");
var now = new Date();
var Year = takeYear(now);

function takeYear(theDate)
{
	x = theDate.getYear();
	var y = x % 100;
	y += (y < 38) ? 2000 : 1900;
	return y;
}

// Check login information
function checkLoginFields(input) {

	var requiredFields = new Array("userid", "password");
	var fieldNames = new Array("User ID", "Password");
	
	var fieldCheck = true;
	var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";
	
	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
		if ((input.elements[requiredFields[fieldNum]].value == " ") ||
		   (input.elements[requiredFields[fieldNum]].value == "")) {
			fieldsNeeded += fieldNames[fieldNum] + "\n\t";
			fieldCheck = false;
		}
	}

	// Some fields are missing
	if (fieldCheck == true) {
		return true;
	}
	else {
		alert(fieldsNeeded);
		return false;
	}
}

// Check login information
function checkResetPasswordField(input) {

	var requiredFields = new Array("userid");
	var fieldNames = new Array("Userid");
	
	var fieldCheck = true;
	var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";
	
	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
		if ((input.elements[requiredFields[fieldNum]].value == " ") ||
		   (input.elements[requiredFields[fieldNum]].value == "")) {
			fieldsNeeded += fieldNames[fieldNum] + "\n\t";
			fieldCheck = false;
		}
	}

	// Some fields are missing
	if (fieldCheck == true) {
		return true;
	}
	else {
		alert(fieldsNeeded);
		return false;
	}
}


// Contact form
function checkAnniSurveyFields(input)
{
	var requiredFields = new Array("firstname", 
								   "lastname",
								   "Company",
								   "Email",
                                   "Phone");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("First Name",
							   "Last Name",
						       "Company",
							   "Email address",
							   "Phone No.");
    var fieldCheck   = true;
    var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";
    for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
        if ((input.elements[requiredFields[fieldNum]].value == " ") ||
            (input.elements[requiredFields[fieldNum]].value == "")) {
            fieldsNeeded += fieldNames[fieldNum] + "\n\t";
            fieldCheck = false;
        }
    }

    // ALL REQUIRED FIELDS HAVE BEEN ENTERED
    if (fieldCheck == true)
    {
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	



// Check login information
function checkRegisterFields(input) {

	//var requiredFields = new Array("company_name", "name", "surname", "email", "phone", "address", "city", "stateid", "zip", "wsp_code");
	//var fieldNames = new Array("Company Name", "First Name", "Surname", "Email address", "Phone Number", "Address", "City", "State/Region", "Zip/Postal Code", "SPAM Prevention Code");
	
	var requiredFields = new Array("company_name", "name", "surname", "email", "phone", "address", "city", "stateid", "zip");
	var fieldNames = new Array("Company Name", "First Name", "Surname", "Email address", "Phone Number", "Address", "City", "State/Region", "Zip/Postal Code");
	
	var fieldCheck = true;
	var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";
	
	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
		if ((input.elements[requiredFields[fieldNum]].value == " ") ||
		   (input.elements[requiredFields[fieldNum]].value == "")) {
			fieldsNeeded += fieldNames[fieldNum] + "\n\t";
			fieldCheck = false;
		}
	}

	// Some fields are missing
	if (fieldCheck == true) {
		return true;
	}
	else {
		alert(fieldsNeeded);
		return false;
	}
}


// Check contest information
function checkContestRegisterFields(input) {

	var requiredFields = new Array("company_name", "name", "surname", "email", "phone", "address", "city", "stateid", "zip", "wsp_code");
	var fieldNames = new Array("Company Name", "First Name", "Surname", "Email address", "Phone Number", "Address", "City", "State/Region", "Zip/Postal Code", "SPAM Prevention Code");
	
	var fieldCheck = true;
	var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";
	
	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
		if ((input.elements[requiredFields[fieldNum]].value == " ") ||
		   (input.elements[requiredFields[fieldNum]].value == "")) {
			fieldsNeeded += fieldNames[fieldNum] + "\n\t";
			fieldCheck = false;
		}
	}

	// Some fields are missing
	if (fieldCheck == true) {
		
		var	osChoice = input.os.selectedIndex
		if (input.os.options[osChoice].value == "")
		{
			alert ("Please select a deployment operating system");
			return false;
		}	
		
		agreeOption = -1
		for (i=0; i < input.evalagree.length; i++)
		{
			if (input.evalagree[i].checked) 
			{
				agreeOption = i
			}
		}
		
		if (agreeOption == -1) 
		{
			alert("You must choose to accept or decline the evaluation agreement");
			return false;
		}
		
		if (input.evalagree[1].checked) 
		{
			alert("We are unable to process this license request because the agreement was not accepted. If you have any questions about the terms of the agreement, please contact your Veryant contact or email us at info@veryant.com. Otherwise please resubmit after accepting the agreement.");
			return false;
		}
		
		return true;
	}
	else {
		alert(fieldsNeeded);
		return false;
	}
}



// Contact form code
// Check Contact us information
function checkRequiredContactRequestFields(input) {

	//var requiredFields = new Array("FirstName", "LastName", "Company", "Email", "Phone", "wsp_code");
	//var fieldNames = new Array("First Name", "Last Name", "Company", "Email address", "Phone no.", "SPAM Prevention Code");
	
	var requiredFields = new Array("FirstName", "LastName", "Company", "Email", "Phone");
	var fieldNames = new Array("First Name", "Last Name", "Company", "Email address", "Phone no.");
		
	var fieldCheck = true;
	var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";
	
	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
		if ((input.elements[requiredFields[fieldNum]].value == " ") ||
		   (input.elements[requiredFields[fieldNum]].value == "")) {
			fieldsNeeded += fieldNames[fieldNum] + "\n\t";
			fieldCheck = false;
		}
	}

	// Some fields are missing
	if (fieldCheck == true) {
			
		// VALIDATE EMAIL ADDRESS MORE
		if (!validEmail(input.Email.value))
		{
			alert("Invalid email address")
			return false
		}
		return true;
	}
		
	else {
		alert(fieldsNeeded);
		return false;
	}
}


// Check Contact us information
function checkRequiredTechBriefingRequestFields(input) {

	var requiredFields = new Array("firstname", "lastname", "Company", "Email", "Phone", "wsp_code");
	var fieldNames = new Array("First Name", "Last Name", "Company", "Email address", "Phone no.", "SPAM Prevention Code");
	
	var fieldCheck = true;
	var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";
	
	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
		if ((input.elements[requiredFields[fieldNum]].value == " ") ||
		   (input.elements[requiredFields[fieldNum]].value == "")) {
			fieldsNeeded += fieldNames[fieldNum] + "\n\t";
			fieldCheck = false;
		}
	}

	// Some fields are missing
	if (fieldCheck == true) {
			
		// VALIDATE EMAIL ADDRESS MORE
		if (!validEmail(input.Email.value))
		{
			alert("Invalid email address")
			return false
		}
		return true;howdy
	}
		
	else {
		alert(fieldsNeeded);
		return false;
	}
}




// Quickfit form code
function checkQuickfitFields(input) {

	var requiredFields = new Array("firstname", "lastname", "email", "company", "wsp_code");
	var fieldNames = new Array("First Name", "Last Name", "Email address", "Company", "SPAM Prevention Code");
	
	var fieldCheck = true;
	var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";
	
	for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
		if ((input.elements[requiredFields[fieldNum]].value == " ") ||
		   (input.elements[requiredFields[fieldNum]].value == "")) {
			fieldsNeeded += fieldNames[fieldNum] + "\n\t";
			fieldCheck = false;
		}
	}

	// Some fields are missing
	if (fieldCheck == true) {
			
		// VALIDATE EMAIL ADDRESS MORE
		if (!validEmail(input.email.value))
		{
			alert("Invalid email address")
			return false
		}
		return true;
	}
		
	else {
		alert(fieldsNeeded);
		return false;
	}
}


function checkRegisterFields(input)
{
    var requiredFields = new Array("FirstName",
								   "LastName",
								   "Email",
                                   "wsp_code");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("First Name",
							   "Last Name",
                               "Email",
							   "SPAM Verification Code");

    var fieldCheck   = true;
    var fieldsNeeded = "\nA value must be entered in the following field(s):\n\n\t";

    for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
        if ((input.elements[requiredFields[fieldNum]].value == " ") ||
            (input.elements[requiredFields[fieldNum]].value == "")) {
            fieldsNeeded += fieldNames[fieldNum] + "\n\t";
            fieldCheck = false;
        }
    }

    // ALL REQUIRED FIELDS HAVE BEEN ENTERED
    if (fieldCheck == true)
    {
		// VALIDATE EMAIL ADDRESS MORE
		if (!validEmail(input.Email.value))
		{
			alert("Invalid email address")
			return false
		}
		
		return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}







function validEmail(bnpemail)
{
	invalidChars = " /:,;"
	
	if (bnpemail == "") 
	{ 
		return false
	}
	
	for (i=0; i<invalidChars.length;i++)
	{
		badChar = invalidChars.charAt(i)
		if (bnpemail.indexOf(badChar,0) > -1)
		{
			return false
		}
	}
	
	atPos = bnpemail.indexOf("@",1)
	if (atPos == -1)
	{
		return false
	}
	
	if (bnpemail.indexOf("@",atPos+1) != -1)
	{
		return false
	}
	
	periodPos = bnpemail.indexOf(".",atPos)
	if (periodPos == -1)
	{
		return false
	}
	
	if (periodPos+3 > bnpemail.length)
	{
		return false
	}
	
	return true
}	




