
var bNS = (navigator.appName.indexOf("Netscape") > -1)? true:false;
var bIE = navigator.appName.indexOf("Microsoft") != -1;
var msExplorer = (navigator.appName == "Microsoft Internet Explorer");
var ie4UP = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4));

//###################################################
// Load image into cache
function loadImage( path ) 
{ 
	var image = new Image();
	image.src = path;
}
//###################################################
// Opens a page in the parent window and if close is
// true then closes the current window.
function openParent( url, close ) {

	opener.location.href = url;
	opener.focus();
	
	if ( close == 'true' ) 
		window.close();
}

//###################################################
// Image mouse over functions
function imageOut( imageName ){ document.images[imageName].src  = imageName+"_off.gif"; }
function imageOver( imageName ){ document.images[imageName].src  = imageName+"_on.gif"; }

//###################################################
// Popup mini window..
function popWin( name, height, width, resizable, scroll, location, X, Y, menu) 
{
	if( typeof(height) == 'undefined' ){height = 500;}
	if( typeof(width) == 'undefined' ){width = 400;}
	if( typeof(location) == 'undefined' ){location = 'no';}
	if( typeof(X) == 'undefined' ){X = 5;}
	if( typeof(Y) == 'undefined' ){Y = 5;}
	if( typeof(menu) == 'undefined' ){menu = 'no';}
	var size = "height="+height+",width="+width;
	attrbts = size + ",resizable="+resizable+",screenX="+X+",screenY="+Y+",left="+X+",top="+Y+",toolbar=no,alwaysRaised=yes,dependent=yes,location="+location+",directories=no,status=yes,menubar="+menu+",scrollbars="+scroll+"";
	var pop = window.open(name, "CyberU", attrbts);
	pop.focus();
}

//###################################################
// Popup mini to another location but ask first...
function popWinAsk(name, height, width, resizable, scroll, location, message ) 
{
	if( confirm( message ) )
		popWin(name, height, width, resizable, scroll, location );
}

//###################################################
// Refresh or load new url in an Iframe..
function setIframeSrc( Iframename, src )
{
	document[Iframename].location = src;	
}

//###################################################
// Function for paging dropdown
function changePage( pageName, formName ) 
{
	document.forms[formName].action = pageName;
	document.forms[formName].submit();
}
//###################################################
// Function for paging dropdown
function confirmRedirect( message, url ) 
{
	var message = new String( message );
		var confirmation = confirm( message ); 
	if( confirmation )
		document.location = url;

}
//###################################################
// Redirect a parent window from a popup and close
// the popup..
function gotoParent( url )
{
  opener.location.href = url ;
  window.close();
}
//###################################################
// Function for paging dropdown
function submitPageForm( formName, action )
{
	if( typeof( action ) != 'undefined' )
		document.forms[formName].action = action;
	document.forms[formName].submit();
}

//###################################################
// Error check, then submit user registration
function submitEnrollment( serverName )
{
	var registerCheckBoxes = document.forms[ "frmLoStatus" ].elements[ "registerLO" ];
	var registerLOs = "";
	var doSubmit = false;
	document.forms[ "frmLoStatus" ].method = "POST";
	// iterate through collection and check to see if at least one is checked..
	if( typeof( registerCheckBoxes.length ) != 'undefined' )
	{
		for( var i=0; i<registerCheckBoxes.length; i++)
			if( registerCheckBoxes[i].checked == true ) {
				if(i>0)
					registerLOs += "&";
				registerLOs += "registerLO="+registerCheckBoxes[i].value;
				doSubmit = true;
			}
	}
	else if( registerCheckBoxes.checked == true )
			doSubmit = true;
			
	if( doSubmit )
	{
		document.forms[ "frmLoStatus" ].action = "https://"+serverName+"/user_purchase_info.asp?"+registerLOs;
		document.forms[ "frmLoStatus" ].submit();
	}
	else
		alert( 'Please select at least one course to register for.' );
}

//###################################################
// Submit transaction
function submitTransaction( serverName )
{
	var transForm = document.forms[ "frmCC" ];
	transForm.action = "https://"+serverName+"/user_purchase_payment.asp?doCharge=true";
	transForm.submit();
}
//###################################################
// Error check, then submit user credit card information
function submitPurchaseInfo( serverName )
{
	var purchaseForm = document.forms[ "frmCC" ];
	var ccAddress = purchaseForm.elements[ "ccAddress" ].value;
	var ccNumber = purchaseForm.elements[ "ccNumber" ].value;
	var ccZip = purchaseForm.elements[ "ccZip" ].value;
	var ccHolder = purchaseForm.elements[ "ccHolder" ].value;
		
	if( ccAddress == '' )
		alert( 'Address is a required field' );
	else if( ccNumber == '' )
		alert( 'Credit Number is a required field' );
	else if( ccZip == '' )
		alert( 'Zip code is a required field' );
	else if( ccHolder == '' )
		alert( 'Credit Holder Name is a required field' );
	else 
	{
		purchaseForm.action = "https://"+serverName+"/user_purchase_payment.asp";
		purchaseForm.submit();

	}
}

//###################################################
// Confirm age minimum by date from form values
function checkDate ( formName, minAge )
{   
	var thisForm = document.forms[formName];
	var month = thisForm.elements[ "month" ].value;
	var day = thisForm.elements[ "day" ].value;
	var year = thisForm.elements[ "year" ].value;
	// Date values
	var today = new Date();
	var selectedDate = new Date ( month + "/" + day + "/" + year )
	
	// Calculate age minimum number
	var lowDate = new Date("1/01/1992");
	if( typeof( minAge ) == 'undefined' )
		minAge = 13;
	var highDateYear = minAge + 1992;
	var highDate = new Date( "1/01/"+highDateYear );
	                                                  
	if( ( today.valueOf() - selectedDate.valueOf() ) < ( highDate.valueOf() - lowDate.valueOf() ))
	{
		// See if the age check has failed once
		var ageHasFailed = thisForm.elements[ "ageFailedOnce" ].value;
		if ( ageHasFailed == "no" )
		{
			thisForm.elements[ "ageFailedOnce" ].value = "yes";
			alert( 'For verification purposes please re-enter your birthday' );
		}
		else
		{
			alert( 'We are unable to register you at this time. Thank you for visiting www.cyberu.com' );
			window.location = "http://www.google.com";
		}
	}
	else
		document.forms[ formName ].submit();
}

//###################################################
// Confirm age minimum by age from form values
function checkAge ( formName, minAge )
{   
	var thisForm = document.forms[formName];
	var age = thisForm.elements[ "age" ].value;

	if( typeof(minAge) == 'undefined' )
		minAge = 13;

	if( age < minAge )
	{
		// See if the age check hs failed once
		var ageHasFailed = thisForm.elements[ "ageFailedOnce" ].value;
		if ( ageHasFailed == "no" )
		{
			thisForm.elements[ "ageFailedOnce" ].value = "yes";
			alert( 'For verification purposes please re-enter your age' );
		}
		else
		{
			alert( 'We are unable to register you at this time. Thank you for visiting www.cyberu.com' );
			window.location = "http://www.google.com";
		}
	}
	else
		document.forms[ formName ].submit();
}

//###################################################
// Returns a the date to a parent form field
function returnDate(formName, monthField, dayField, yearField, monthValue, dayValue, yearValue) 
{
	window.opener.document.forms[formName].elements[monthField].options[monthValue].selected = true;
	window.opener.document.forms[formName].elements[dayField].options[dayValue].selected = true;
	window.opener.document.forms[formName].elements[yearField].value = yearValue;
	window.close();
}

function returnDate2(formName, elementName, monthValue, dayValue, yearValue ) 
{
	window.opener.document.forms[formName].elements[elementName].value = monthValue + '/' + dayValue + '/' + yearValue
	window.close();
}

//###################################################
// Goto promotion page
function gotoPromotion()
{
	var frmPromo = document.forms[ "frmPromo" ];
	var frmValues = document.forms[ "frmValues" ];
	var serverName = frmValues.elements[ "serverName" ].value;
	
	var promoAction = frmPromo.action;
	frmPromo.action = "https://" + serverName + "/" + promoAction;
	frmPromo.submit();
}

//###################################################
// Submit promotions
function submitPromotion()
{
	var frmPromo = document.forms[ "frmPromotion" ];
	
	// Check field values with no validation
	var aryFieldsNoValidation = new Array( 'fname|First Name', 'lname|Last Name',
	'email|Email', 'ccHolder|Credit Card Holder', 'ccNumber|Credit Card Number',
	'ccAddress|Credit Card Address', 'ccZip|Credit Card Zip' );
	
	var errorString = checkFieldForValue( "frmPromotion", aryFieldsNoValidation )
	
	// Confirm password
	var password = frmPromo.elements[ "password" ].value;
	var confirm = frmPromo.elements[ "confirm" ].value;
		
	if( password != confirm )
		errorString += "Both password and confirmation must be entered and match";
	
	if( errorString == "" )
		checkDate ( "frmPromotion" , 13 );
	else
		alert( errorString );
}

//###################################################
// Check form fields for values..
function checkFieldForValue( formName, aryFields )
{
	var frmObject = document.forms[ formName ];
	var fieldString, aryField;
	var errorString = "";
	for( e in aryFields )
	{
		fieldString = new String( aryFields[e] );
		aryField = fieldString.split( "|" ) ;
				
		var fieldValue = frmObject.elements[ aryField[0] ].value;
		if(fieldValue == null || typeof( fieldValue ) == 'undefined' || fieldValue == "" )
			errorString += aryField[1] + " is a required field \n";
	}
	return errorString;
}
// Check enter key press for forms
function checkEnter( event, formName )
{ 	
	var code = 0;
	
	if (bNS)
		code = event.which;
	else
		code = event.keyCode;
	if (code==13)
		document.forms[ formName ].submit();
}
// Check enter key press for user registration form
function checkRegistrationEnter( event ) 
{ 	
	var code = 0;
	
	if (bNS)
		code = event.which;
	else
		code = event.keyCode;
	if (code==13)
		checkDate ( 'frmRegister', 13 );
}

// Check enter key press for user promotion form
function checkPromotionEnter( event ) 
{ 	
	var code = 0;
	
	if ( bNS )
		code = event.which;
	else
		code = event.keyCode;
	if ( code==13 )
		submitPromotion();
}

// Send user password
function getPassword( serverName )
{
	var thisForm = document.forms[ "frmLogin" ];
	var email = thisForm.elements[ "email" ].value;
	
	if( email == 'undefined' || email == "" )
	alert( "Please enter you email address in the field provided for logging in" );
	else
		window.location = "https://"+serverName+"/user_processing.asp?action=mailpassword&email="+email;
}


// Send user password
function getAonPassword( serverName )
{
	var thisForm = document.forms[ "frmLogin" ];
	var email = thisForm.elements[ "email" ].value;
	
	if( email == 'undefined' || email == "" )
		alert( "Please enter you email address in the field provided for logging in" );
	else
		window.location = "https://"+serverName+"/user_processing.asp?action=mailAonpassword&email="+email;
		
}












