// Add user check
function checkRequiredTrainingInfoFields(input) {
	var requiredFields = new Array("company_info", "contactname_info", "email_info", "phone_info");
	var fieldNames = new Array("Company", "Contact Name", "Email Address", "Telephone number");
	
	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_info.value))
		{
			alert("Invalid email address")
			return false
		}
		
		// Check for training date
		var	dateChoice = input.date_info_phoenix.selectedIndex
	
		if (input.date_info_phoenix.options[dateChoice].value == "")
		{
			alert ("Please select a training date");
			return false;
		}

		return true;
	}
	else {
		alert(fieldsNeeded);
		return false;
	}
}




// Add user check
function checkAddFields(input) {
	var requiredFields = new Array("userid", "password", "name", "surname", "email", "phone");
	var fieldNames = new Array("User ID", "Password", "First Name", "Surname", "Email Address", "Phone number");
	
	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
		}
		
		// Check for company name and distributor
		var	companyChoice = input.newcompany.selectedIndex
		var	companyidChoice = input.companyid.selectedIndex
	
		if (input.newcompany.options[companyChoice].value == "Yes")
		{
			if (input.company_name.value == "")
			{
				alert ("Please enter a company name");
				return false;
			}
		}
		else {
			if (input.companyid.options[companyidChoice].value == "")
			{
				alert ("Please select a company name from the list");
				return false;
			}
		}
		return true;
	}
	else {
		alert(fieldsNeeded);
		return false;
	}
}

// Show/Hide layers on Add user and keyenable page
function showhide_partners(sh){
	if(sh) {
   		disp="inline";
 		zi=100;
 	} else{
 		disp="none";
 		zi=-10;
 	}
  
	for (i=0; i<document.getElementsByTagName("*").length; i++) {
	    if (document.getElementsByTagName("*").item(i).className == "partners"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
} 


function showhide1(sh){
	if(sh) {
   		disp="inline";
 		zi=100;
 	} else{
 		disp="none";
 		zi=-10;
 	}
  
	for (i=0; i<document.getElementsByTagName("*").length; i++) {
	    if (document.getElementsByTagName("*").item(i).className == "existing"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
} 

function showhide2(sh){
	if(sh) {
   		disp="inline";
 		zi=100;
 	} else{
 		disp="none";
 		zi=-10;
 	}
  
	for (i=0; i<document.getElementsByTagName("*").length; i++) {
	    if (document.getElementsByTagName("*").item(i).className == "new"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
}

function showhide3(sh){
	if(sh) {
   		disp="inline";
 		zi=100;
 	} else{
 		disp="none";
 		zi=-10;
 	}
  
	for (i=0; i<document.getElementsByTagName("*").length; i++) {
	    if (document.getElementsByTagName("*").item(i).className == "newdistributor"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
} 

function showhide4(sh){
	if(sh) {
   		disp="inline";
 		zi=100;
 	} else{
 		disp="none";
 		zi=-10;
 	}
  
	for (i=0; i<document.getElementsByTagName("*").length; i++) {
	    if (document.getElementsByTagName("*").item(i).className == "usedistributor"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
}

function showhide5(sh){
	if(sh) {
   		disp="inline";
 		zi=100;
 	} else{
 		disp="none";
 		zi=-10;
 	}
  
	for (i=0; i<document.getElementsByTagName("*").length; i++) {
	    if (document.getElementsByTagName("*").item(i).className == "surveycontact"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
} 

function showhide6(sh){
	if(sh) {
   		disp="inline";
 		zi=100;
 	} else{
 		disp="none";
 		zi=-10;
 	}
  
	for (i=0; i<document.getElementsByTagName("*").length; i++) {
	    if (document.getElementsByTagName("*").item(i).className == "newfile"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
} 


// used on Add user page
function checkCompany()
{
	var Index = document.getElementById("newcompany").selectedIndex;
    	
    if (document.getElementById("newcompany").options[Index].value == "Yes")
	{
		showhide1(0);
		showhide2(1);
		showhide3(1);
		//showhide4(1);
	}
	else if (document.getElementById("newcompany").options[Index].value == "No") {
		showhide1(1);
		showhide2(0);
		showhide3(0);
		//showhide4(0);
	}
}

// used on Add user page
function checkAccessLevel()
{
	var Index = document.getElementById("company_accesslevel").selectedIndex;
    	
    if (document.getElementById("company_accesslevel").options[Index].value == "5")
	{
		showhide3(0);
	}
	else if (document.getElementById("company_accesslevel").options[Index].value != "5") 
	{
		showhide3(1);
	}
}

// used on Add user page
function checkUserAccessLevel()
{
	var Index = document.getElementById("accesslevel").selectedIndex;
    	
    if (document.getElementById("accesslevel").options[Index].value == "7")
	{
		showhide5(1);
	}
	else if (document.getElementById("accesslevel").options[Index].value != "7") 
	{
		showhide5(0);
	}
}


// used on update software page
function showUpdate()
{
	var Index = document.getElementById("updatefile").selectedIndex;
    	
    if (document.getElementById("updatefile").options[Index].value == "yes")
	{
		showhide6(1);
	}
	else {
		showhide6(0);
	}
}

// used on Key Enable page
function showPartners()
{
	var Index = document.getElementById("distributorid").selectedIndex;
		
    if (document.getElementById("distributorid").options[Index].value == "Other")
	{
		showhide_partners(1);
	}
	else if (document.getElementById("distributorid").options[Index].value != "Other")
	{
		showhide_partners(0);
	}
}








// Update check
function checkUpdateFields(input) {
	var requiredFields = new Array("userid", "name", "surname", "email", "phone");
	var fieldNames = new Array("User ID", "Name", "Surname", "Email Address", "Phone number");
	
	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;
	}
}


// Update company check
function checkUpdateCompanyFields(input) {
	var requiredFields = new Array("companyname", "email");
	var fieldNames = new Array("Company Name", "Email Address");
	
	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;
	}
}




// Update details
function checkPasswordFields(input)
{
	var requiredFields = new Array("newpassword1",
                                   "newpassword2");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("New password",
							   "Repeat new 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;
        }
    }

    // ALL REQUIRED FIELDS HAVE BEEN ENTERED
    if (fieldCheck == true)
    {
		
		if (document.updateform.newpassword1.value.length<6) {
			alert("ERROR: Password must be greater than 6 characters");
			document.updateform.newpassword1.focus();
			return false;
		}
		
		if (document.updateform.newpassword1.value != document.updateform.newpassword2.value) 
		{
			alert("ERROR: Passwords don't match");
			document.updateform.newpassword2.focus();
			return false;
		}

		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	


function checkPass()
{
	if (document.updateform.newpassword1.value.length<6) {
			alert("ERROR: Password must be greater than 6 characters");
			document.updateform.newpassword1.focus();
			return false;
	}
	
	if (document.updateform.newpassword1.value != document.updateform.newpassword2.value) 
	{
		alert("ERROR: Passwords don't match");
		document.updateform.newpassword2.focus();
		return false;
	}
}


// Technical Inquiry (Report a problem) form
function checkProblemFields(input)
{
	var requiredFields = new Array("company", 
                                   "submitter",
								   "email",
                                   "phone",
								   "relatedversion",
								   "problemsubject",
								   "problem");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Company Name",
                               "Your Name (Submitter)",
						       "Email address",
							   "Phone No.",
							   "Version",
							   "Subject",
							   "Description");
    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)
    {
	
		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		var	hardwareChoice = input.hardware.selectedIndex

		if (input.hardware.options[hardwareChoice].value == "")
		{
			alert ("You must select a hardware platform");
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		var	solutionChoice = input.relatedsolution.selectedIndex

		if (input.relatedsolution.options[solutionChoice].value == "")
		{
			alert ("You must select a product");
			return false;
		}
		
		
		// CHECK THAT THEY HAVE CHOSEN A PRIORITY
		var	priorityChoice = input.priority.selectedIndex

		if (input.priority.options[priorityChoice].value == "")
		{
			alert ("You must choose a priority for this problem");
			return false;
		}
		
		window.document.form.subButton.value = 'Submitting Problem/Inquiry...';		
		window.document.form.subButton.disabled = 'true';			
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	



// Accept a problem form
function checkAcceptProblemFields(input)
{
	var requiredFields = new Array("acceptedby",
								   "acceptedemail");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Your Name",
						       "Your Email address");
    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;
    }
}	


// Update a problem ID
function checkManageProblemFields(input)
{
	var requiredFields = new Array("problemid");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Problem ID");
    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;
    }
}	




// Contact form
function checkContactFields(input)
{
	var requiredFields = new Array("company", 
                                   "submitter",
								   "email",
                                   "phone",
								   "problemsubject",
								   "problem");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Company Name",
                               "Your Name (Submitter)",
						       "Email address",
							   "Phone No.",
							   "Overview/Title",
							   "Description");
    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)
    {
		window.document.form.subButton.value = 'Submitting...';		
		window.document.form.subButton.disabled = 'true';			
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	



// Send App Survey form
function checkSendEmailFields(input)
{
	var requiredFields = new Array("firstname", 
								   "surname",
								   "email");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("First Name",
							   "Surname",
							   "Email address");
    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)
    {
		window.document.form.subButton.value = 'Sending...';		
		window.document.form.subButton.disabled = 'true';			
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	




// Send App Survey form
function checkAddEmailFields(input)
{
	var requiredFields = new Array("subjecttype",
								   "emailsubjecttitle", 
								   "fromname",
								   "fromemail");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Subject Type",
							   "Subject Title",
							   "From Name",
							   "From Email address");
    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)
    {
		window.document.form.subButton.value = 'Adding...';		
		window.document.form.subButton.disabled = 'true';			
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	




// Upload check
function checkUploadFields(input)
{
	var requiredFields = new Array("veryantfile");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("");
    var fieldCheck   = true;
    var fieldsNeeded = "\nPlease select a file to upload\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)
    {
		window.document.upload.subButton.value = 'Uploading...';
		window.document.upload.subButton.disabled = 'true';
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	


// Upload check
function checkUploadAdminFields(input)
{
	var requiredFields = new Array("name", "surname", "email", "veryantfile");	
    var fieldNames = new Array("First Name",
							   "Surname",
						       "Email address",
							   "File to upload");
	var fieldCheck = true;
	
    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
	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)
    {
		window.document.upload.subButton.value = 'Uploading...';
		window.document.upload.subButton.disabled = 'true';
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	


// Checks add software fields
function checkAddSoftwareFields(input)
{
	var requiredFields = new Array("relatedversion");
    var fieldNames = new Array("Version");
	
    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    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)
    {
	
		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		var	platformChoice = input.platform.selectedIndex

		if (input.platform.options[platformChoice].value == "")
		{
			alert ("You must select a platform");
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		var	productChoice = input.relatedsolution.selectedIndex

		if (input.relatedsolution.options[productChoice].value == "")
		{
			alert ("You must select a product");
			return false;
		}
		
		
		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		//var	filetypeChoice = input.filetype.selectedIndex

		//if (input.filetype.options[filetypeChoice].value == "")
		//{
		//	alert ("You must select a file type");
		//	return false;
		//}
		
		window.document.form.subButton.value = 'Uploading...';	
		window.document.form.subButton.disabled = 'true';
	return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	




// Checks add software fields
function checkUpdateSoftwareFields(input)
{
	var requiredFields = new Array("relatedversion");
    var fieldNames = new Array("Version");
	
    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    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)
    {
	
		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		var	platformChoice = input.platform.selectedIndex

		if (input.platform.options[platformChoice].value == "")
		{
			alert ("You must select a platform");
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		var	productChoice = input.relatedsolution.selectedIndex

		if (input.relatedsolution.options[productChoice].value == "")
		{
			alert ("You must select a product");
			return false;
		}
		
		
		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		//var	filetypeChoice = input.filetype.selectedIndex

		//if (input.filetype.options[filetypeChoice].value == "")
		//{
		//	alert ("You must select a file type");
		//	return false;
		//}
		
		window.document.form.subButton.value = 'Uploading...';	
		window.document.form.subButton.disabled = 'true';
	return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	



// Checks add FAQ fields
function checkAddFAQFields(input)
{
   
    var requiredFields = new Array("question", "answer");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Question", "Answer");

    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;
    }
}


// Checks add Knowledgebase entry fields
function checkAddKBaseEntryFields(input)
{
   
    var requiredFields = new Array("topic", "question", "answer");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Topic", "Question", "Answer");

    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;
    }
}


// Checks add documentation fields
function checkAddDocumentationFields(input)
{
	var requiredFields = new Array("title", "veryantfile");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Title", "File to upload");
    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)
    {
	

		// CHECK THAT THEY HAVE CHOSEN RELATED SOLUTION
		var	productChoice = input.relatedsolution.selectedIndex

		if (input.relatedsolution.options[productChoice].value == "")
		{
			alert ("You must select a product");
			return false;
		}
	
		window.document.form.subButton.value = 'Uploading...';
		window.document.form.subButton.disabled = 'true';
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	




// Key Request form
function checkKeyFields(input)
{
	var requiredFields = new Array("company", "submitter", "email", "phone", "address", "city", "stateid", "zip", "users");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Company Name", "Your Name (Submitter)", "Email address", "Phone No.", "Address", "City", "State/Region", "Zip/Postal Code", "No. of Users");
    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)
    {
	
		// CHECK THAT THEY HAVE CHOSEN A DISTRIBUTOR
		var	distChoice = input.distributorid.selectedIndex

		if (input.distributorid.options[distChoice].value == "")
		{
			alert ("Please select a Veryant Distributor/Reseller/Partner");
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN A PLATFORM
		var	platformChoice = input.platform.selectedIndex

		if (input.platform.options[platformChoice].value == "")
		{
			alert ("Please select a platform");
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN A PRODUCT
		var	productChoice = input.product.selectedIndex

		if (input.product.options[productChoice].value == "")
		{
			alert ("Please select a product");
			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;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	


// Key Request form
function checkPermKeyFields(input)
{
	var requiredFields = new Array("company", "submitter", "email", "phone", "address", "city", "stateid", "zip");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Company Name", "Your Name (Submitter)", "Email address", "Phone No.", "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;
        }
    }

    // ALL REQUIRED FIELDS HAVE BEEN ENTERED
    if (fieldCheck == true)
    {
	
		// CHECK THAT THEY HAVE CHOSEN A DISTRIBUTOR
		var	distChoice = input.distributorid.selectedIndex

		if (input.distributorid.options[distChoice].value == "")
		{
			alert ("Please select a Veryant Distributor/Reseller/Partner");
			return false;
		}
		
		/* CHECK THAT THEY HAVE CHOSEN A PLATFORM
		var	devplatformChoice = input.dev-platform.selectedIndex

		if (input.dev-platform.options[devplatformChoice].value == "")
		{
			alert ("Please select a development platform");
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN A PRODUCT
		var	devproductChoice = input.dev-product.selectedIndex

		if (input.dev-product.options[devproductChoice].value == "")
		{
			alert ("Please select a development product");
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN A PLATFORM
		var	deployplatformChoice = input.deploy-platform.selectedIndex

		if (input.deploy-platform.options[deployplatformChoice].value == "")
		{
			alert ("Please select a deployment platform");
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN A PRODUCT
		var	deployproductChoice = input.deploy-product.selectedIndex

		if (input.deploy-product.options[deployproductChoice].value == "")
		{
			alert ("Please select a deployment product");
			return false;
		}
		*/
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    else
    {
	   alert(fieldsNeeded);
       return false;
    }
}	



// Copy functions
function copyEmail(value)
{
	document.form.email.value = value;
}

function copyAddress(value)
{
	document.form.address.value = value;
}

function copyCity(value)
{
	document.form.city.value = value;
}

function copyState(value)
{
	document.form.stateid.value = value;
}

function copyZip(value)
{
	document.form.zip.value = value;
}

function copyCountry(value)
{
	document.form.country.selectedIndex = value;
}


// Deletes a file with confirmation
function confirm_email_delete(url) { 
  if (confirm("Are you sure you want to delete this ?")==1){
    location.href = eval('\"'+url+'\"');
  }
}

// Deletes a file with confirmation
function confirm_delete(url) { 
  if (confirm("Are you sure you want to remove this file?")==1){
    location.href = eval('\"'+url+'\"');
  }
}

// Deletes a problem with confirmation
function confirm_problem_delete(url) { 
  if (confirm("Are you sure you want to delete this problem?")==1){
    location.href = eval('\"'+url+'\"');
  }
}

// Deletes a pending registration with confirmation
function confirm_registration_delete(url) { 
  if (confirm("Are you sure you want to delete this pending registration?")==1){
    location.href = eval('\"'+url+'\"');
  }
}

// Deletes a key request with confirmation
function confirm_keyrequest_delete(url) { 
  if (confirm("Are you sure you want to delete this key request?")==1){
    location.href = eval('\"'+url+'\"');
  }
}

// Deletes a knowledgebase entry with confirmation
function confirm_delete(url) { 
  if (confirm("Are you sure you want to delete this entry?")==1){
    location.href = eval('\"'+url+'\"');
  }
}


// Email checked
function validEmail(email)
{
	invalidChars = " /:,;"
	
	if (email == "") 
	{ 
		return false
	}
	
	for (i=0; i<invalidChars.length;i++)
	{
		badChar = invalidChars.charAt(i)
		if (email.indexOf(badChar,0) > -1)
		{
			return false
		}
	}
	
	atPos = email.indexOf("@",1)
	if (atPos == -1)
	{
		return false
	}
	
	if (email.indexOf("@",atPos+1) != -1)
	{
		return false
	}
	
	periodPos = email.indexOf(".",atPos)
	if (periodPos == -1)
	{
		return false
	}
	
	if (periodPos+3 > email.length)
	{
		return false
	}
	
	return true
}

// Check for priority type
function checkPriority()
{
	var Index = document.getElementById("priority").selectedIndex;
    	
    if ((document.getElementById("priority").options[Index].value == "Priority 3") || (document.getElementById("priority").options[Index].value == "Priority 4"))
	{
		toggleBox('pri3div',1);
		return false;
	}
	
	else {
		toggleBox('pri3div',0);
	
		return false;
	}
}

function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
   var obj = document.layers ? document.layers[szDivID] :
   document.getElementById ?  document.getElementById(szDivID).style :
   document.all[szDivID].style;
   obj.visibility = document.layers ? (iState ? "show" : "hide") :
   (iState ? "visible" : "hidden");
}

function clearBox(field)
{
	field.value = "";
}

//
// Veryant Doc links
//
function launchDoc(url)
{
	newUrl = "/support/signedin/documentation/isCOBOL2008/" + url; 
	window.open(newUrl, 'Veryant_Doc', 'toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,menubar=no,fullscreen=yes');
}

function getDoc(url)
{
	getUrl = "/support/signedin/documentation/isCOBOL/" + url;
	window.open(getUrl);
}




//
// New Webworks isCOBOL Doc links
//
function launchisCOBOLDoc(url)
{
	newUrl = "/support/signedin/launchdoc.php?doc=" + url; 
	window.open(newUrl, 'isCOBOL_Doc', 'toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,menubar=no,fullscreen=no');
}

// Upload check
function checkUploadContentFields(input)
{
	var requiredFields = new Array("title");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("");
    var fieldCheck   = true;
    var fieldsNeeded = "\nPlease enter a title or URL. If uploading a file, please remember to select a file to upload\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)
    {
		window.document.upload.subButton.value = 'Uploading...';
		return true;	
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
    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;
    }
}	

function checkGenKeyFields(input)
{
   
    var requiredFields = new Array("users");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Number of Users");

    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)
    {		
		// Check the date
		var expireCheckSelected = false;
		var yy = input.expiredate_yyyy.value;
		var mm = input.expiredate_mm.value-1;
		var dd = input.expiredate_dd.value;
		
		var expireDate=new Date();
		expireDate.setFullYear(yy,mm,dd);
		var today = new Date();

		// Only check expiration date if permanent license not checked
		if (input.expiredate_none.checked)
		{
			expireCheckSelected = true;
		}
		
		if (!expireCheckSelected) {
			if (expireDate<today)
  			{
  				alert("Expiration date is before today's date");
				return (false);
  			}
		}
	
		// Require that at least one product checkbox be checked
		// Not the prettiest way of handling this... but it'll do for a hack
		var prod1CheckSelected = false;
		var prod2CheckSelected = false;
		var prod3CheckSelected = false;
		var prod4CheckSelected = false;
		var prod5CheckSelected = false;
		var prod6CheckSelected = false;
		var prod7CheckSelected = false;
		
		if (input.prod_1.checked) prod1CheckSelected = true;
		if (input.prod_2.checked) prod1CheckSelected = true;
		if (input.prod_3.checked) prod1CheckSelected = true;
		if (input.prod_4.checked) prod1CheckSelected = true;
		if (input.prod_5.checked) prod1CheckSelected = true;
		if (input.prod_6.checked) prod1CheckSelected = true;
		if (input.prod_7.checked) prod1CheckSelected = true;
		
		if ((!prod1CheckSelected) && (!prod2CheckSelected) && (!prod3CheckSelected) && (!prod4CheckSelected) && (!prod5CheckSelected) && (!prod6CheckSelected) && (!prod7CheckSelected))
		{
			alert("Please select at least one product");
			return (false);
		}
	
		return true;
    }
    // SOME REQUIRED FIELDS ARE MISSING VALUES

    else
    {
        alert(fieldsNeeded);
        return false;
    }
}

