

// 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;
}
// Rotate partners
partnerImages = new Array("/images/partners/p0.gif","/images/partners/p1.gif","/images/partners/p2.gif","/images/partners/p3.gif");
partnerURL = new Array("www.avnet.com","www.hp.com","www.sun.com","www.ibm.com");

thisPartner = 0;
imgCt = partnerImages.length

function rotatePartners() {
	if (document.images) {
		if (document.partnerBanner.complete) {
			thisPartner++
			if (thisPartner == imgCt) {
				thisPartner = 0
			}
			document.partnerBanner.src=partnerImages[thisPartner]
		}
		setTimeout("rotatePartners()", 3 * 1000)
 	}
}

function newLocation() {
	document.location.href = "http://" + partnerURL[thisPartner]
}


// Rotate customers
customerImages = new Array("/images/customers/customers0.gif","/images/customers/customers1.gif","/images/customers/customers2.gif");

thisCustomer = 0;
imgCt2 = customerImages.length

function rotateCustomers() {
	if (document.images) {
		if (document.customerBanner.complete) {
			thisCustomer++
			if (thisCustomer == imgCt2) {
				thisCustomer = 0
			}
			document.customerBanner.src=customerImages[thisCustomer]
		}
		setTimeout("rotateCustomers()", 4 * 1000)
 	}
}


function checkRequiredTestDriveFields(input)
{
    var requiredFields = new Array("name",
								   "company",
                                   "phone",
                                   "email");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Name",
                               "Company",
			       			   "Phone",
                               "Email");

    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
		}

		// CHECK THAT THEY HAVE CHOSEN A ROLE
		var	roleChoice = input.role.selectedIndex
		if (input.role.options[roleChoice].value == "")
		{
			alert ("Please select a role within your organization");
			return false;
		}

		// CHECK THAT THEY HAVE CHOSEN A BACKEND
		var	backendChoice = input.backend.selectedIndex
		if (input.backend.options[backendChoice].value == "")
		{
			alert ("Please select a backend server");
			return false;
		}


		// CHECK THAT THEY HAVE CHOSEN A CICS LEVEL
		var	cicsChoice = input.cics.selectedIndex
		if (input.cics.options[cicsChoice].value == "")
		{
			alert ("Please select a level of CICS (if any)");
			return false;
		}

		// CHECK THAT THEY HAVE CHOSEN A SOURCE
		var	sourceChoice = input.source.selectedIndex
		if (input.source.options[sourceChoice].value == "")
		{
			alert ("How did you hear about Clerity ?");
			return false;
		}

        return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}



function checkRequiredDownloadFields(input)
{
    var requiredFields = new Array("userid",
                                   "password",
								   "firstname",
								   "lastname",
								   "company",
                                   "phone",
                                   "email");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Userid",
							   "Password",
							   "First Name",
							   "Last Name",
                               "Company",
			       			   "Phone",
                               "Email");

    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 (input.userid.value.length<6) {
			alert("ERROR: Userid must be greater than 6 characters");
			input.userid.focus();
			return false;
		}	
		
		if (input.password.value.length<6) {
			alert("ERROR: Password must be greater than 6 characters");
			input.password.focus();
			return false;
		}	
	
		// VALIDATE EMAIL ADDRESS MORE
		if (!validEmail(input.email.value))
		{
			alert("Invalid email address")
			return false
		}

		// CHECK THAT THEY HAVE CHOSEN A ROLE
		var	roleChoice = input.role.selectedIndex
		if (input.role.options[roleChoice].value == "")
		{
			alert ("Please select a role within your organization");
			return false;
		}

		// CHECK THAT THEY HAVE CHOSEN A BACKEND
		var	backendChoice = input.backend.selectedIndex
		if (input.backend.options[backendChoice].value == "")
		{
			alert ("Please select a backend server");
			return false;
		}


		// CHECK THAT THEY HAVE CHOSEN A CICS LEVEL
		var	cicsChoice = input.cics.selectedIndex
		if (input.cics.options[cicsChoice].value == "")
		{
			alert ("Please select a level of CICS (if any)");
			return false;
		}

		// CHECK THAT THEY HAVE CHOSEN A SOURCE
		var	sourceChoice = input.source.selectedIndex
		if (input.source.options[sourceChoice].value == "")
		{
			alert ("How did you hear about Clerity ?");
			return false;
		}

        return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}


function checkCommunityFields(input)
{
    var requiredFields = new Array("email_address");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("");

    var fieldCheck   = true;
    var fieldsNeeded = "\nPlease enter an email address";

    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_address.value))
		{
			alert("Invalid email address")
			return false
		}

        return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}



function checkRegisterVideoFields(input)
{
    var requiredFields = new Array("FirstName",
								   "LastName",
								   "Email");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("First Name",
							   "Last 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;
        }
    }

    // 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 checkRegisterFields(input)
{
    var requiredFields = new Array("FirstName", "LastName", "Email", "Company", "password1", "password2", "challengeanswer", "wsp_code");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("First Name",
							   "Last Name",
                               "Email",
							   "Company Name",
							   "Desired Password",
							   "Repeat Password",
							   "Password Reset Answer",
							   "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
		}
		
		if (document.register.password1.value.length<6) {
			alert("ERROR: Password must be greater than 6 characters");
			document.register.password1.focus();
			return false;
		}
		
		if (document.register.password1.value != document.register.password2.value) 
		{
			alert("ERROR: Passwords don't match");
			document.register.password2.focus();
			return false;
		}
		
		// CHECK THAT THEY HAVE CHOSEN A PASSWORD RESET QUESTION
		var	passwordQuestionChoice = input.challengepassword.selectedIndex

		if (input.challengepassword.options[passwordQuestionChoice].value == "")
		{
			alert ("You must select a challenge reset question");
			return false;
		}
		
		return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}

// Check login information
function checkResetFields(input) {

	var requiredFields = new Array("challengeanswer", "password1", "password2");
	var fieldNames = new Array("Challenge Answer", "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;
		}
	}

	// Some fields are missing
	if (fieldCheck == true) {
		
		if (document.register.password1.value.length<6) {
			alert("ERROR: Password must be greater than 6 characters");
			document.register.password1.focus();
			return false;
		}
		
		if (document.register.password1.value != document.register.password2.value) 
		{
			alert("ERROR: Passwords don't match");
			document.register.password2.focus();
			return false;
		}
		
		return true;
	}
	else {
		alert(fieldsNeeded);
		return false;
	}
}



function checkResetPasswordFields(input)
{
    var requiredFields = new Array("username");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("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)
    {
		// VALIDATE EMAIL ADDRESS MORE
		if (!validEmail(input.username.value))
		{
			alert("Invalid email address")
			return false
		}
			
		return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}





// Check login information
function checkContentLoginFields(input) {

	var requiredFields = new Array("username", "password");
	var fieldNames = new Array("Email Address", "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;
	}
}


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
}


// Doc password field
function checkDocFields(input)
{
    var requiredFields = new Array("loginid", "password");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Userid", "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)
    {
        return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}



// Doc request password fields
function checkRequestDocFields(input)
{
    var requiredFields = new Array("firstname", "lastname", "email", "phone", "company");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("First Name", "Last Name", "Email", "Phone", "Company");

    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;
    }

}








// Doc request password fields
function checkRequiredCUUGCFields(input)
{
    var requiredFields = new Array("firstname", "surname", "title", "email", "phone", "company");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("First Name", "Last Name", "Title", "Email", "Phone", "Company");

    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
		}

		window.document.form.submit.disabled = 'true';			
        return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}


// Doc request password fields
function checkRequiredShareStoryFields(input)
{
    var requiredFields = new Array("contactname", "company", "email", "story", "wsp_code");

    // TEXT TO DISPLAY THAT DESCRIBES THE MISSING FIELD(S) TO THE USER
    var fieldNames = new Array("Name", "Company", "Email Address", "Your Story", "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)
    {
        return true;
    }

    // SOME REQUIRED FIELDS ARE MISSING VALUES
	else
    {
        alert(fieldsNeeded);
        return false;
    }

}



// Check login information
function checkPathwayLoginFields(input) {

	var requiredFields = new Array("userid", "password");
	var fieldNames = new Array("Userid", "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;
	}
}


// Show/Hide layers on training registration form
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 == "register"){
	    	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 == "info"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
}

// Show/Hide layers on training registration form
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 == "location"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
} 

// Show/Hide layers on training registration form
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 == "date_site"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
} 

// Show/Hide layers on training registration form
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 == "date_phoenix"){
	    	document.getElementsByTagName("*").item(i).style.display=disp;
	     	document.getElementsByTagName("*").item(i).style.zIndex=zi;
    	}
	}
} 

// Check type on training registration form
function checkType()
{
	var Index = document.getElementById("type").selectedIndex;
    	
    if (document.getElementById("type").options[Index].value == "info")
	{
		showhide1(0);
		showhide2(1);
	}
	else if (document.getElementById("type").options[Index].value == "register") {
		showhide1(1);
		showhide2(0);
	}
}



// Check location of training
function checkLocation()
{
	var Index = document.getElementById("location_info").selectedIndex;
    	
    if (document.getElementById("location_info").options[Index].value == "clerityphoenix")
	{
		showhide3(0);
		showhide4(0);
		showhide5(1);
	}
	else if (document.getElementById("location_info").options[Index].value == "customerlocation") {
		showhide3(1);
		showhide4(1);
		showhide5(0);
	}
}



function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

//
// UniKix 11.0 Doc links
//
function launchUniKix11Doc(url,access)
{
	newUrl = "/support/signedin/launchdoc.php?doc=" + url + "&access=" + access; 
	window.open(newUrl, 'UniKix_11_Doc', 'toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,menubar=no');
}
