//---RUN SETUP TO BUILD STARTING CALCULATOR SPECIFICIATIONS
	setup_calculator();

//---FUNCTIONS

	//---SETUP DEFAULT VALUES WHEN PAGE LOADS

		function setup_calculator(){

			if (!calc_form_id)    {calc_form_id = 0}
			if (!calc_indid)      {calc_indid = 1}
			if (!calc_default_p)  {calc_default_p = '$0.00'}
			if (!calc_default_dp) {calc_default_dp = '$0.00'}
			if (!calc_default_i)  {calc_default_i = window.document.forms[calc_form_id].calc_interest_rate.value }
			if (!calc_default_mp) {
				calc_default_mp = '$0.00'
				calc_default_wkly = '$0.00'
				}


			window.document.forms[calc_form_id].calc_price.value = calc_format_value(calc_default_p,'price');
			window.document.forms[calc_form_id].calc_down_payment.value = calc_default_dp;
			window.document.forms[calc_form_id].calc_interest_rate.value = calc_default_i;
			window.document.forms[calc_form_id].calc_monthly_payment.value = calc_default_mp;
			window.document.forms[calc_form_id].calc_wkly_payment.value = calc_default_wkly;


			//if (document.layers) {
			//	document.layers['calc_disclaimer_div'].document.open();
			//	document.layers['calc_disclaimer_div'].document.write(calc_disclaimer);
			//	document.layers['calc_disclaimer_div'].document.close();
			//} else {
			//	window.document.getElementById("calc_disclaimer_div").innerHTML = calc_disclaimer;
			//}

			if (!calc_term_values){
		
				switch (calc_indid){

					case 1:
						calc_term_values = '36,48,60';
						calc_term_text = '3 Years,4 Years,5 Years';
						calc_term_default = '36';
						break;
				
					case 2:
						calc_term_values = '12,24,36,48,60,72,84';
						calc_term_text = '12 Months,24 Months,36 Months,48 Months,60 Months,72 Months,84 Months';
						calc_term_default = '36';		
						break;

					case 3:
						calc_term_values = '12,24,36,48,60,72,84';
						calc_term_text = '12 Months,24 Months,36 Months,48 Months,60 Months,72 Months,84 Months';
						calc_term_default = '36';
						break;				

					case 4:
						calc_term_values = '12,24,36,48,60,72,84';
						calc_term_text = '12 Months,24 Months,36 Months,48 Months,60 Months,72 Months,84 Months';
						calc_term_default = '36';
						break;
						
					case 5:					
						calc_term_values = '12,24,36,48,60,72,84';
						calc_term_text = '12 Months,24 Months,36 Months,48 Months,60 Months,72 Months,84 Months';
						calc_term_default = '36';
						break;
						
					case 6:					
						calc_term_values = '12,24,36,48,60,72,84';
						calc_term_text = '12 Months,24 Months,36 Months,48 Months,60 Months,72 Months,84 Months';
						calc_term_default = '36';
						break;

					case 7:					
						calc_term_values = '12,24,36,48,60,72,84';
						calc_term_text = '12 Months,24 Months,36 Months,48 Months,60 Months,72 Months,84 Months';
						calc_term_default = '36';
						break;

				}			

			}

			calc_build_loan_term(calc_term_values,calc_term_text,calc_term_default);

		}

	//---INSURE DATA IS ALL NUMERIC
		function check_val(vtype){
		
			switch (vtype) {

				case 'p':
					temp_str = calc_clean_num(window.document.forms[calc_form_id].calc_price.value)
					
					if (isNaN(temp_str)){
						window.document.forms[calc_form_id].calc_price.value = calc_default_p;
					} else {
						window.document.forms[calc_form_id].calc_price.value = calc_format_value(temp_str,'price');
					}
					
					break;

				case 'dp':
					temp_str = calc_clean_num(window.document.forms[calc_form_id].calc_down_payment.value)
					
					if (isNaN(temp_str)){
						window.document.forms[calc_form_id].calc_down_payment.value = calc_default_p;
					} else {
						window.document.forms[calc_form_id].calc_down_payment.value = calc_format_value(temp_str,'price');
					}
					
					break;

				case 'i':
					temp_str = calc_clean_num(window.document.forms[calc_form_id].calc_interest_rate.value)
					
					if (isNaN(temp_str)){
						window.document.forms[calc_form_id].calc_interest_rate.value = calc_default_p;
					} else {
						window.document.forms[calc_form_id].calc_interest_rate.value = calc_format_value(temp_str,'percent');
					}
					
					break;

				case 'mp':
					temp_str = calc_clean_num(window.document.forms[calc_form_id].calc_monthly_payment.value)
					if (isNaN(temp_str)){
						window.document.forms[calc_form_id].calc_monthly_payment.value = calc_default_p;
					} else {
						window.document.forms[calc_form_id].calc_monthly_payment.value = calc_format_value(temp_str,'price');
					}
					
					break;

			}

		}


	//---STRIP ALL CHARACTERS EXCEPT NUMBERS
		function calc_clean_num(temp_str) {
		
			var temp_str_length = temp_str.length;
			var c_temp = "";
			
			for (var calc_numloop = 0; calc_numloop < temp_str_length; calc_numloop = calc_numloop + 1){
				if (isNaN(temp_str.substring(calc_numloop,calc_numloop+1))) {} else {c_temp = c_temp + temp_str.substring(calc_numloop,calc_numloop+1);}
				if (temp_str.substring(calc_numloop,calc_numloop+1) == '.') {
					if (calc_numloop!=temp_str_length-1) {c_temp = c_temp + '.';}
				}
			}

			return parseFloat(c_temp);

		}

	//---FORMAT VALUES
		function calc_format_value(fval,ftype){
		
			var calc_t = '';
			fval = fval.toString()
			
			switch (ftype) {

				case 'price':
														
					if(fval.indexOf(".") > -1){
						fval = fval.substring(0,fval.indexOf(".")+3)
					} else {
						fval = fval + '.00';
					}

					var xc = parseInt( (fval.length-4)/3 );
					var calc_leftover = (fval.length-3) % 3
									
					calc_lc = 0
					calc_first_pass = true;
					for (var calc_lp = fval.length; calc_lp > 0; calc_lp = calc_lp - 1){											
						calc_t = fval.substring(calc_lp-1,calc_lp) + calc_t;
						calc_lc = calc_lc + 1;
							
						if (calc_lc == 3) {
							calc_lc = 0;
							if (!calc_first_pass){
								if (calc_lp > 1) {calc_t = ',' + calc_t;}
							} else {
								calc_first_pass = false;
							}
						}
					}

					calc_t = '$' + calc_t
	

					break;


				case 'percent':
				
					if(fval.indexOf(".") > -1){
						var xc = fval.split(".")
						var calc_t = xc[0]
												
						if (xc[1].length < 2) {
							calc_t = calc_t + '.' + xc[1].charAt(0) + '0%'; 
						} else {
							calc_t = calc_t + '.' + xc[1].charAt(0) + xc[1].charAt(1) + '%';
						}
						
					} else {
						var calc_t = fval + '.00%'
					}
					
					break;

			}

			return calc_t.replace('$$','$');

		}

	//---BUILD LOAN TERM DROP DOWN BASED ON COMMA DELIMITED LISTS OF VALUES AND TEXT

	
		function calc_build_loan_term(tval,ttext,selected_value){

			//---SET OBJECTS AND VARIABLES
				var calc_tlist = window.document.forms[calc_form_id].calc_term;
				var calc_array_values = tval.split(",");
				var calc_array_text = ttext.split(",");
				var calc_dindex = 0

			//---CLEAR CURRENT DROPDOWN
				for (var calc_loop = calc_tlist.length; calc_loop > -1; calc_loop--){
					window.document.forms[calc_form_id].calc_term.options[calc_loop] = null;
					//calc_tlist.remove(calc_loop);
				}

			//---BUILD NEW DROPDOWN
				for (var calc_loop = 0; calc_loop < calc_array_values.length; calc_loop++){

					var calc_opt = new Option(calc_array_text[calc_loop],calc_array_values[calc_loop]);
					calc_opt.className = 'calc_value';
					window.document.forms[calc_form_id].calc_term.options[calc_loop] = calc_opt;

					if (selected_value == calc_array_values[calc_loop]) {calc_dindex = calc_loop}

				}

			//---SET DD TO DEFAULT VALUE
				window.document.forms[calc_form_id].calc_term.selectedIndex = calc_dindex;

		}

	//---CALCULATE PAYMENT

		function calculate_payment(){

			var p  = calc_clean_num(window.document.forms[calc_form_id].calc_price.value);
			var dp = calc_clean_num(window.document.forms[calc_form_id].calc_down_payment.value);
			var t  = calc_clean_num(window.document.forms[calc_form_id].calc_term[window.document.forms[calc_form_id].calc_term.selectedIndex].value);
			var i  = calc_clean_num(window.document.forms[calc_form_id].calc_interest_rate.value);

                        if(i == 0){i = 0.01};

			var aa = ((i/100)/12)
			
			if(isNaN(aa)){aa=0}
						
			var bb = Math.pow(1+aa,t)
			var mp = (p-dp)*((aa*bb)/(bb-1))
			var weekly_pmt = (mp/365*12*7);
			window.document.forms[calc_form_id].calc_monthly_payment.value = calc_format_value(mp,'price');
//			if(window.document.forms[calc_form_id].calc_term[window.document.forms[calc_form_id].calc_term.selectedIndex].value=="36")
//			{
//				sam=fval.substring(window.document.forms[calc_form_id].calc_monthly_payment.value-1,window.document.forms[calc_form_id].calc_monthly_payment.value)
//				alert(sam);				
//			}

//alert(window.document.forms[calc_form_id].calc_monthly_payment.value);				
			
			var sam = calc_format_value(weekly_pmt,'price');
			window.document.forms[calc_form_id].calc_wkly_payment.value = sam;
			
					//	alert(sam);
		}

	//---CALCULATE LOAN

		function calculate_loan(i,mp){

			var dp = calc_clean_num(window.document.forms[calc_form_id].calc_down_payment.value);
			
			var t  = calc_clean_num(window.document.forms[calc_form_id].calc_term[window.document.forms[calc_form_id].calc_term.selectedIndex].value);
			var i  = calc_clean_num(window.document.forms[calc_form_id].calc_interest_rate.value);
			var mp = calc_clean_num(window.document.forms[calc_form_id].calc_monthly_payment.value);


			aa = ((i/100)/12);
			bb = Math.pow(1+aa,t);
			p = ((bb-1)/(aa*bb))*mp+dp

			
			window.document.forms[calc_form_id].calc_price.value = calc_format_value(p,'price');

		}
