/**********************************************************************************
     
   Name:           	ProcessSessionVariable

   Description:    	This function takes in the value of the fields passed and 
   					redirects to the calculator page with any new parameters

   Assumptions:    
				
   Author:         	
   
   Revised By:		Aarti Mehta
   
   Date:			July 3rd, 2001

**********************************************************************************/
	function ProcessSessionVariable(sFieldName)
      {
	  		var now = new Date();
	  		var myForm = document.form1;
			var Dir = myForm.CallingDir.value;
			var currentYear = now.getYear();
			var CalcType = myForm.CalculatorType.value;
			var myTime = myForm.TimeRange.options[myForm.TimeRange.selectedIndex].value;
			//var myFundOne = myForm.FundOne.options[myForm.FundOne.selectedIndex].value;
			var CarryForward;
			if	( sFieldName == "TimeRange" )
				{var NameValue = myForm.TimeRange.options[myForm.TimeRange.selectedIndex].value;
				}
			if	( sFieldName == "FundOne" )
				{var NameValue = myForm.FundOne.options[myForm.FundOne.selectedIndex].value;
				 }
			if	( sFieldName == "FundTwo" )
				{var NameValue = myForm.FundTwo.options[myForm.FundTwo.selectedIndex].value;
				}
			if	( sFieldName == "IndexFund" )
				{var NameValue = myForm.IndexFund.options[myForm.IndexFund.selectedIndex].value;
				}
			if	( sFieldName == "TimeRange" ) 
			{
				if (NameValue ==5) 
					{
					//CarryForward = "X&" + sFieldName +"=" + NameValue + "&FundOne=" + myFundOne + "&CalculatorType=" + CalcType + "&GraphFlag=N#TimeFrame";
					CarryForward = "X&" + sFieldName +"=" + NameValue + "&CalculatorType=" + CalcType + "&GraphFlag=N#TimeFrame";
					myForm.action = Dir + 'v_CalcGrowthCalculator.asp?CF=' + CarryForward;
			   		myForm.submit();
					} 
				else 
					{
						switch (NameValue) 
						{
							case '1':	myForm.ConStartDateYear.value = currentYear  - 1; break;
							case '2':	myForm.ConStartDateYear.value = currentYear  - 3; break;
							case '3':   myForm.ConStartDateYear.value = currentYear  - 5; break;
							case '4':	myForm.ConStartDateYear.value = currentYear  - 10; break;
						}
						//CarryForward = "X&" + sFieldName +"=" + NameValue + "&CalculatorType=" + CalcType + "&FundOne=" + myFundOne;
						CarryForward = "X&" + sFieldName +"=" + NameValue + "&CalculatorType=" + CalcType + "#TimeFrame";
						myForm.action = Dir + 'v_CalcGrowthCalculator.asp?CF=' + CarryForward;
				   		myForm.submit();
					}
			} 
			else 
			{
				CarryForward = "X&" + sFieldName +"=" + NameValue + "&TimeRange=" + myTime + "&CalculatorType=" + CalcType;
				myForm.action = Dir + 'v_CalcGrowthCalculator.asp?CF=' + CarryForward;
				myForm.submit();
				// location.href = "p_GraphingTools.asp?" + sFieldName +"=" + NameValue + "&CalculatorType=" + CalcType + "&GraphFlag=#TimeFrame";
			}
      }
	  
function ProcessTimeRange(prevTimeRange) {

	now = new Date();
	myForm = document.form1;
	dir = myForm.CallingDir.value;
	currentYear = now.getYear();
	calcType = myForm.CalculatorType.value;
	
	selectedTimeRange = myForm.TimeRange.options[myForm.TimeRange.selectedIndex].value;
	
	if (prevTimeRange < 5) {
	
		if (selectedTimeRange == 5)	{
			carryForward = "X&TimeRange=" + selectedTimeRange + "&CalculatorType=" + calcType + "&GraphFlag=N#TimeFrame";
			myForm.action = dir + 'v_CalcGrowthCalculator.asp?CF=' + carryForward;
			myForm.submit();
		} 
		
	} else if (prevTimeRange == 5) {
		
		switch (selectedTimeRange) {
			case '1':	myForm.ConStartDateYear.value = currentYear  - 1; break;
			case '2':	myForm.ConStartDateYear.value = currentYear  - 3; break;
			case '3':   myForm.ConStartDateYear.value = currentYear  - 5; break;
			case '4':	myForm.ConStartDateYear.value = currentYear  - 10; break;
		}
		carryForward = "X&TimeRange=" + selectedTimeRange + "&CalculatorType=" + calcType + "#TimeFrame";
		myForm.action = dir + 'v_CalcGrowthCalculator.asp?CF=' + carryForward;
  		myForm.submit();

	}
}	  	  
  /**********************************************************************************
     
   Name:           	Process

   Description:    	This function validates the differnt values entered on the form
   Assumptions:    
				
   Author:         	
   
   Revised By:		Aarti Mehta
                    Kristin Thai - Display error message if contribution value 
					               contains +/- signs. (Sept 14/01)
   
   Date:			July 3rd, 2001

**********************************************************************************/
   function TempProcess(Form1)
      {
  		var myForm = document.form1;
		var Dir = myForm.CallingDir.value;
	  	form1.action = Dir + 'v_CalcGrowthCalculator.asp?Temp=Y';
	   	form1.submit();
	  }
	  
	  
 /**********************************************************************************
     
   Name:           	Process

   Description:    	This function validates the differnt values entered on the form
   Assumptions:    
				
   Author:         	
   
   Revised By:		Aarti Mehta
                    Kristin Thai - Display error message if contribution value 
					               contains +/- signs. (Sept 14/01)
   
   Date:			July 3rd, 2001

**********************************************************************************/
   function Process(Form1) { 
   
   		var myForm = document.form1;
		var Dir = myForm.CallingDir.value;
		var Language = myForm.Lang.value;
        DoNotSubmit = false;
        
		//Error: No fund selected
		if (Form1.Card.value == "Y") {}
		else {
		 	if (!DoNotSubmit && (Form1.FundOne.options[Form1.FundOne.selectedIndex].value == "-99" || Form1.FundOne.options[Form1.FundOne.selectedIndex].value == "" )) {
            	if (Language == "F") {
					alert ("Veuillez choisir un fonds");
				} else {
					alert ("Please select a Fund.");
				}
              	DoNotSubmit = true;
              	Form1.FundOne.focus();
			  	return;
           	}   
		}
		   
		//Error: Initial Investment value is non-numerical OR Initial Investment value contains +/- signs
		if ((!DoNotSubmit && isNaN(Form1.InitialInvestment.value)) || Form1.InitialInvestment.value.charAt(0) == "+" || Form1.InitialInvestment.value.charAt(0) == "-") {
			if  (Language == "F") {
				alert ("Veuillez entrer un numéro dans le champ « Placement initial »");
			}
	       	else { 
				alert ("Please use numbers only in the Initial Investment field.");
			}
            DoNotSubmit = true;
            Form1.InitialInvestment.focus();
			return;
     	} else {
			if (parseInt(Form1.InitialInvestment.value) > 100000000) {
				if (Language == "F") {
					alert ("Le placement initial est limité à 100 000 000 $.");
				} else {
					alert ("Maximum initial investment is $100,000,000.");
				}
             	DoNotSubmit = true;
		        Form1.InitialInvestment.focus();
				return;
			}
	   	}
		
		//Error: Contribution value is non-numerical OR Contribution value contains +/- signs
		if ((!DoNotSubmit && isNaN(Form1.Contribution.value)) || Form1.Contribution.value.charAt(0) == "+" || Form1.Contribution.value.charAt(0) == "-") {
			if  (Language == "F") {
				alert ("Veuillez entrer un numéro dans le champ « Contribution »");
			} else {
				alert ("Please use numbers only in the Contribution/Withdrawal field.");
			}
           	DoNotSubmit = true;
           	Form1.Contribution.focus();
		   	return;
		} else {
			if (parseInt(Form1.Contribution.value) > 1000000) {
				if (Language == "F") {
					alert ("Le montant de la cotisation ou du retrait est limité à 1 000 000 $.");
				} else {
					alert ("Maximum contribution/withdrawal is $1,000,000");
				}
             	DoNotSubmit = true;
		        Form1.Contribution.focus();
				return;
			}
	  	}
		
		//Error: Initial Investment is 0 and Contribution is 0
		if ((parseInt(Form1.InitialInvestment.value) == 0 && parseInt(Form1.Contribution.value) == 0) || parseInt(Form1.InitialInvestment.value) < 0) { 
		   	if  (Language == "F") {
				alert ("Veuillez entrer une valeur supérieure à 0 \n dans le champ Placement initial.");
			} else {
				alert ("Please enter a value greater than 0 \nin the Initial Investment field.");
			}
           	DoNotSubmit = true;
           	Form1.InitialInvestment.focus();
		   	return;
		}  		
		
		//Error: Date is invalid
        if (!DoNotSubmit && Form1.TimeRange.options[Form1.TimeRange.selectedIndex].value == "5") {
			if( isNaN(Form1.startYear.value) || Form1.startYear.value.length != "4") {
            	if (Language == "F") {
					alert ("Veuillez entrer 4 chiffres dans le champ «Date débutant le ».");
				} else {
					alert ("Please enter a 4 digital number in Start Year.");
				}
              	DoNotSubmit = true;
              	Form1.startYear.focus();
          	}
            if( isNaN(Form1.endYear.value) || Form1.endYear.value.length != "4") {
            	if (Language == "F") {
					alert ("Veuillez entrer 4 chiffres dans le champ « Date terminant le ».");
				} else {
					alert ("Please enter a 4 digital number in End Year.");
				}
              	DoNotSubmit = true;
              	Form1.endYear.focus();
         	} 
            if ((!isNaN(Form1.startYear.value)) && (Form1.startYear.value.length == "4") &&  (!isNaN(Form1.endYear.value)) && (Form1.endYear.value.length == "4")) {
				
				istartDate = new Date(Form1.startYear.value,Form1.startMonth.options[Form1.startMonth.selectedIndex].value-1,Form1.startDay.value,0,0,0,0);
              	iendDate = new Date(Form1.endYear.value,Form1.endMonth.options[Form1.endMonth.selectedIndex].value-1,Form1.endDay.value,0,0,0,0);
              	iToday = new Date();
				if (istartDate > iendDate ) {
					if  (Language == "F") {
						alert ("Le champ « Date débutant le » doit être inférieur au champ  « Date terminant le ».");
					} else {
						alert ("Start Date must be earlier than End Date.");
					}
				 	DoNotSubmit = true;
				 	Form1.startYear.focus();
			 	}
				if (istartDate > iToday ) {
					if (Language == "F") {
						alert ("Vous ne pouvez pas selectionner une future date.");
					} else {
						alert ("You cannot select a future Date");
					}
				 	DoNotSubmit = true;
				 	Form1.startYear.focus();
			 	}
				if (iendDate > iToday ) {
					if  (Language == "F") {
						alert ("Vous ne pouvez pas selectionner une future date.");
					} else {
						alert ("You cannot select a future Date.");
					}
				 	DoNotSubmit = true;
				 	Form1.endYear.focus();
		 		}
				
				var holdDate = new Date(Form1.startYear.value,Form1.startMonth.options[Form1.startMonth.selectedIndex].value-1,Form1.startDay.value,0,0,0,0)
				var newMonth = holdDate.getUTCMonth();

				if (!DoNotSubmit && Form1.startMonth.options[Form1.startMonth.selectedIndex].value != newMonth+1) {
				  	if (Language == "F") {
						alert ("Date début non valide. Recommencez.");
					} else {
						alert ("Invalid Start Day. Please re-enter.");
					}
					DoNotSubmit = true;
				 	Form1.endYear.focus();
		 		}
				
				var holdDate = new Date(Form1.endYear.value,Form1.endMonth.options[Form1.endMonth.selectedIndex].value-1,Form1.endDay.value,0,0,0,0)
				var newMonth = holdDate.getUTCMonth();
				
				if (!DoNotSubmit && Form1.endMonth.options[Form1.endMonth.selectedIndex].value != newMonth+1){
				  	if (Language == "F") {
						alert ("Date fin non valide. Recommencez.");
					} else {
						alert ('Invalid End Day. Please re-enter.');
					}
					DoNotSubmit = true;
				 	Form1.endYear.focus();
		 		}
				
				var holdDate = new Date(Form1.ConStartDateYear.value,Form1.ConStartDateMonth.options[Form1.ConStartDateMonth.selectedIndex].value-1,Form1.ConStartDateDay.value,0,0,0,0)
				var newMonth = holdDate.getUTCMonth();

				if (!DoNotSubmit && Form1.ConStartDateMonth.options[Form1.ConStartDateMonth.selectedIndex].value != newMonth+1) {
				  	if (Language == "F") {
						alert ("Date de cotisation/retrait non valide. Recommencez.");
					} else {
						alert ('Invalid Contribution/Withdawal day. Please re-enter.');
					}
					DoNotSubmit = true;
              		Form1.ConStartDateDay.focus();
		  		}			  
       		}
     	}  
         
        if (!DoNotSubmit) {
			if (isNaN(Form1.ConStartDateYear.value) || Form1.ConStartDateYear.value.length != "4") {
            	if (Language == "F") {
					alert ("Veuillez entrer 4 chiffres dans le champ « Année débutant ».");
				} else {
					alert ("Please enter a 4 digital number in Start On Year.");
				}
              	DoNotSubmit = true;
              	Form1.ConStartDateYear.focus();
           	}
     	}            
		
        if (!DoNotSubmit) {
			 Form1.action = 'v_CalcGrowthCalculator.asp';
             Form1.submit();
		}
 	}
	  
	  
	  
 /**********************************************************************************
     
   Name:           	ResetParameter

   Description:    	This function resets all the parameters on the form
   Assumptions:    
				
   Author:         	
   
   Revised By:		Aarti Mehta
   
   Date:			July 3rd, 2001

**********************************************************************************/


      function ResetParameter(form1, SiteID)
      {
	  	var myForm = document.form1;
		var Dir = myForm.CallingDir.value;
		var file = myForm.CallingForm.value;
		var tab = myForm.Card.value;
		
		if (tab =="Y")
	        {window.location = file + '?ResetFlag=Y&TAB=PRICE&SI=' + SiteID + '&#graph' ;}
		else
			{window.location = file + '?ResetFlag=Y' ;}
      }

