// JavaScript Document

actStepNum = 1;
var headerText = new Array(
"Personal Info",
"Set Reminders",
"Education Information",
"Employment",
"Student Questions",
"Uploads",
"Review Application" );

var formElements = new Array(
"pi_givnam",
"pi_midnam",
"pi_lastnam",
"pi_address",
"pi_city",
"pi_pcode",
"pi_hphone",
"pi_cphone",
"pi_wphone",
"pi_email",
"pi_fax",
"pi_howlong",
"pi_birth",
"pi_sin",
"remactiv1",
"remind1",
"remindunit1",
"remindtext1",
"remactiv2",
"remind2",
"remindunit2",
"remindtext2",
"ed_hischoolnam",
"ed_city",
"ed_phone",
"ed_yeargrad",
"ed_file_accletter",
"ed_name",
"ed_address",
"ed_pcode",
"ed_progr",
"em_question",
"sq_question1",
"sq_question2",
"sq_question3",
"sq_question4",
"up_file_recletter1",
"up_file_recletter2",
"up_file_letter" );

var infoElements = new Array(
"em_question_count",
"sq_question1_count",
"sq_question2_count",
"sq_question3_count",
"sq_question4_count" );


function hideElements()
{
	for( i = 0; i < formElements.length; i++ )
	{
		document.getElementById( formElements[i] ).style.display = "none";
	}
	for( i = 0; i < infoElements.length; i++ )
	{
		document.getElementById( infoElements[i] ).style.display = "none";
		document.getElementById( infoElements[i]+"_lbl" ).style.display = "none";
	}
}

function unhideElements()
{
	for( i = 0; i < formElements.length; i++ )
	{
		document.getElementById( formElements[i] ).style.display = "inline";
	}
}

function actButtons( action )
{
	for( i = 1; i < 7; i++ )
	{
		if( action == "hide" )
		{
			document.getElementById( "submit"+i ).style.display = "none";
			document.getElementById( "save_only"+i ).style.display = "none";

			document.getElementById( "submit"+i+"_lbl" ).style.display = "none";
			document.getElementById( "save_only"+i+"_lbl" ).style.display = "none";
		}
		else
		{
			document.getElementById( "submit"+i ).style.display = "inline";
			document.getElementById( "save_only"+i ).style.display = "inline";

			document.getElementById( "submit"+i+"_lbl" ).style.display = "inline";
			document.getElementById( "save_only"+i+"_lbl" ).style.display = "inline";
		}
	}
}

function checkState( obj )
{
	if( obj.checked )
	{
		obj.value = "ON";
	}
	else
	{
		obj.value = "OFF";
	}
}

function actFilledValues( action )
{
	reminder1 = "";
	reminder2 = "";
	for( i = 0; i < formElements.length; i++ )
	{
		if( formElements[i] == "remind1" )
		{
			reminder1 = document.getElementById( formElements[i] ).value + " " + document.getElementById( formElements[i+1] ).value;
			if( action == "hide" )
			{
				document.getElementById( "hid_" + formElements[i] ).innerHTML = "";
				document.getElementById( "hid_" + formElements[i] ).className = "";
			}
			else
			{
				document.getElementById( "hid_" + formElements[i] ).innerHTML = reminder1;
				document.getElementById( "hid_" + formElements[i] ).className = "hidden_span";
			}
			i += 2;
		}
		if( formElements[i] == "remind2" )
		{
			reminder2 = document.getElementById( formElements[i] ).value + " " + document.getElementById( formElements[i+1] ).value;
			if( action == "hide" )
			{
				document.getElementById( "hid_" + formElements[i] ).innerHTML = "";
				document.getElementById( "hid_" + formElements[i] ).className = "";
			}
			else
			{
				document.getElementById( "hid_" + formElements[i] ).innerHTML = reminder2;
				document.getElementById( "hid_" + formElements[i] ).className = "hidden_span";
			}
			i += 2;
		}

		if( action == "hide" )
		{
			document.getElementById( "hid_" + formElements[i] ).innerHTML = "";
			document.getElementById( "hid_" + formElements[i] ).className = "";
		}
		else
		{
			document.getElementById( "hid_" + formElements[i] ).innerHTML = document.getElementById( formElements[i] ).value;
			document.getElementById( "hid_" + formElements[i] ).className = "hidden_span";
		}
	}
}


function unhideSteps()
{
	for( i = 1; i < 7; i++ )
	{
		document.getElementById( "step"+i ).style.display = "inline";
	}
}

function checkValues( stepNum )
{
	var stepIntro = new Array( "pi", "re", "ed", "em", "sq", "up" )
	var contrStr = new String;
	var contrClass = new String;
	returnVal = true;
	for( i = 0; i < formElements.length; i++ )
	{
		contrStr = formElements[i];
		if( stepIntro[stepNum-1] == contrStr.substring(0,2) )
		{
			obj = document.getElementById( formElements[i] );
			if( obj.value == "" || obj.value == " " )
			{
				contrClass = obj.className;
				if( contrClass.search( "red_border" ) == -1 )
				{
					obj.className += " red_border";
				}
				returnVal = false;
			}
			else
			{
				contrClass = obj.className;
				if( contrClass.search( "red_border" ) != -1 )
				{
					obj.className = contrClass.replace( "red_border", "" );
				}
			}
		}
	}
	
	if( stepNum == 7 )
	{
		for( i = 0; i < formElements.length; i++ )
		{
			obj = document.getElementById( formElements[i] );
			if( obj.value == "" || obj.value == " " )
			{
				objLabel = document.getElementById( formElements[i]+"_lbl" );
				objLabel.className = "red_text";	
				returnVal = false;
			}
			else
			{
				objLabel = document.getElementById( formElements[i]+"_lbl" );
				if( objLabel != null )
				{
					objLabel.className = "";
				}
			}
		}
	}
	
	return returnVal;
}

function unHideStep( nStepNum, mode )
{
/*	if( nStepNum == 2 )
	{
		email = document.getElementById( "pi_email" ).value;
		rememail1 = document.getElementById( "remindemail1" );
		rememail2 = document.getElementById( "remindemail2" );
		if( rememail1.value == "" || rememail1.value == " " )
		{
			rememail1.value = email;
		}
		if( rememail2.value == "" || rememail2.value == " " )
		{
			rememail2.value = email;
		}
	}
*/
	if( mode == "next" )
	{
		if( checkValues( nStepNum-1 ) == false )
		{
			response = confirm( "Some required fields are not filled in. They must be filled but You can do that later.\r\n\r\nWould You like to fill the fields later and continue aplication?" );
			if( !response )
			{
				return;
			}
		}
	}
	else
	{
		checkValues( nStepNum );
	}
	if( !mode && (actStepNum < nStepNum) )
	{
		return;//nStepNum = actStepNum;
	}
	if( mode && (actStepNum < nStepNum) )
	{
		actStepNum = nStepNum;
	}
	for( i = 1; i <= 7; i++ )
	{
//		alert( "i="+i );
		if( i <= actStepNum )
		{
//			alert(actStepNum + " " + i);
			obj = document.getElementById( "steps"+i );
			stepsClass = obj.className;
//			obj.className = stepsClass + " active";
			obj.className = "step no"+ i +" imgr active";
		}
		if( i == ( nStepNum ) )
		{
			document.getElementById( "step"+i ).style.display = "inline";
		}
		else
		{
			document.getElementById( "step"+i ).style.display = "none";
		}
	}
	
	objBanner = document.getElementById( "appformbanner" );
	objHeader = document.getElementById( "appformheader" );
	image = "url(img/banner_big"+nStepNum+".gif)";
//	alert(image);
//	objBanner.style.setProperty('background-image',image, null);
	objBanner.style.backgroundImage = image;
	objHeader.innerHTML = headerText[nStepNum];
	
	if( actStepNum == 7 && nStepNum == 7 )
	{
		hideElements();
		actButtons( "hide" );
		actFilledValues( "show" );
		checkValues( 7 );
		unhideSteps();
	}
	else
	{
		unhideElements();
		actButtons( "show" );
		actFilledValues( "hide" );
	}
	
}

function generaterefnum()
{
   var now = new Date();
   var f = new String;
   var num = now.getTime();
   f += num;
   return( "AP-" + f.substring(1) );
}

function fillReferenceNumber()
{
	document.getElementById( "refnum" ).value = generaterefnum();
}

function changeSubmit( value )
{
	document.getElementById( "submit_button" ).value = value;
}

function changeReminderText( reminderId )
{
	var strText = new String;
	strText = "This is a reminder e-mail. You have ... until your application for the ManCap Foundation Legacy Education Grants is due. Don't miss your chance for $3,000.";
	obj = document.getElementById( "remindtext" + reminderId );
	obj.value = strText.replace( "...", document.getElementById( "remind" + reminderId ).value + " " + document.getElementById( "remindunit" + reminderId ).value );
}

// counter
function countChars( obj )
{
	actNumOfChars = obj.value.length;
	if( actNumOfChars > 2000 )
	{
		obj.value = obj.value.substring(0,2000);
		alert('Sorry, maximum number of characters exceeded! Your message will be cut to 2000 characters.');
	}
	document.getElementById( obj.name + "_count" ).innerHTML = 'You wrote <strong>'+actNumOfChars+'</strong> characters of 2000 allowed.';
}

