
//-----------------------------------------
// build bolted fault values array
//-----------------------------------------

bf_max		= 100;
bf_r		= 100;

bf_value	= new Array(10,25,42,65);

/* [FOR LATER USE , LOG-LOG]

bf_value[0] = 0.1;

for(i=1;i<=300;i++)
{
	if		(bf_value[i-1]<1.0)		bf_value[i] = Math.round((bf_value[i-1] + .01)	*bf_r)/bf_r;
	else if	(bf_value[i-1]<10)		bf_value[i] = Math.round((bf_value[i-1] + .1)	*bf_r)/bf_r;
	else if	(bf_value[i-1]<bf_max)	bf_value[i] = Math.round((bf_value[i-1] + 1)	*bf_r)/bf_r;
}

*/

//--------------------------------------
// build trip time values array
//--------------------------------------

tt_max		= 1500;
tt_r		= 100000;

tt_value	= new Array(0.01,0.05,0.19,0.33,0.5,1.0,2.0);

/* [FOR LATER USE , LOG-LOG]

tt_value[0] = .01;

for(i=1;i<=500;i++)
{
	if		(tt_value[i-1]< 0.1)	tt_value[i] = Math.round((tt_value[i-1] + .001)	*tt_r)/tt_r;
	else if	(tt_value[i-1]<1.0)		tt_value[i] = Math.round((tt_value[i-1] + .01)	*tt_r)/tt_r;
	else if	(tt_value[i-1]<10)		tt_value[i] = Math.round((tt_value[i-1] + .1)	*tt_r)/tt_r;
	else if	(tt_value[i-1]<100)		tt_value[i] = Math.round((tt_value[i-1] + 1)	*tt_r)/tt_r;
	else if	(tt_value[i-1]<tt_max)	tt_value[i] = Math.round((tt_value[i-1] + 10)	*tt_r)/tt_r;
}

*/

//-----------------------------------------
// build bus kv ratio values array
//-----------------------------------------

bs_max		= 1500;
bs_r		= 100000;

bs_value	= new Array();
bs_value[0] = .1;

/* [FOR LATER USE , LOG-LOG]

for(i=1;i<=500;i++)
{
	if		(bs_value[i-1]<1.0)		bs_value[i] = Math.round((bs_value[i-1] + .01)	*bs_r)/bs_r;
	else if	(bs_value[i-1]<10)		bs_value[i] = Math.round((bs_value[i-1] + .1)	*bs_r)/bs_r;
	else if	(bs_value[i-1]<100)		bs_value[i] = Math.round((bs_value[i-1] + 1)	*bs_r)/bs_r;
	else if	(bs_value[i-1]<bs_max)	bs_value[i] = Math.round((bs_value[i-1] + 10)	*bs_r)/bs_r;
}

*/

//-------------------------------------------
// build working distance values array
//-------------------------------------------

wd_value = new Array(18,24,36);

// [old values] (18,24,36,39,43,48,54,60,63,70,76,102,120,132,135,150,175);

//-------------------------------------------
// build system voltage values array
//-------------------------------------------

sv_value = new Array(0.208,0.480,12.47,13.8);

// [old values] (0.208,0.240,0.480,0.6,2.4,4.16,6.9,12.0,13.8);

//------------------
// slider functions
//------------------

function changeSliderBF(slider_value)
{
	//----------------------------------------------------
	// bolted fault slider function
	// outputs to #bolted_fault textbox
	// minumum value = .1
	// maximum value = 100
	// increments by = fed from array bf_value
	//----------------------------------------------------
	
	var bf_output		= document.afc_calculator.bolted_fault;		// where to output the value (form)
	var bf_disp			= document.getElementById('bf_display');	// where to display bolted fault values
	var bf_size			= bf_value.length;							// determine size of bf_value array
	var bf_key			= parseInt((bf_size-1)*slider_value);		// convert to integer

	bf_output.value		= bf_value[bf_key];
	bf_disp.innerHTML	= bf_value[bf_key]+' kA<br>';
	
	// save position
	
	document.afc_calculator.bf_pos.value = slider_value;
}

function changeSliderTT(slider_value)
{
	//----------------------------------------------------
	// trip time slider function
	// returns value from array tt_value
	//----------------------------------------------------
	
	var tt_output		= document.afc_calculator.trip_time;		// where to output the value (form)
	var tt_disp			= document.getElementById('tt_display');	// where to display trip time values
	
	var tt_size			= tt_value.length;							// determine size of tt_value array
	var tt_key			= parseInt((tt_size-1)*slider_value);		// convert to integer

	tt_output.value		= tt_value[tt_key];							// assign value to form input
	
	// display trip time value
	
	tt_disp.innerHTML	= tt_value[tt_key]+' sec ['+(tt_value[tt_key]*60)+' cycles]<br>'+'('+tt_info(tt_value[tt_key])+')';				
	
	// save position
	
	document.afc_calculator.tt_pos.value		= slider_value;
}

function changeSliderBS(slider_value)
{
	//----------------------------------------------------
	// bus kv ratio slider function
	// outputs to #bus_ratio textbox
	// minumum value = 0.1
	// maximum value = 1500
	// increments by = log-log
	//----------------------------------------------------
	
	var bs_output	= document.afc_calculator.bus_ratio;		// where to output the value
	var bs_size		= bs_value.length;							// determine size of bs_value array
	var bs_key		= parseInt((bs_size-1)*slider_value);		// convert to integer

	bs_output.value = bs_value[bs_key];
	
	// save position
	
	document.afc_calculator.bs_pos.value = slider_value;
}

function changeSliderWD(slider_value)
{
	//----------------------------------------------------
	// working distance slider function
	// outputs to #system_voltage textbox
	// minumum value = 18
	// maximum value = 175
	// increments by = fed from array wd_value
	//----------------------------------------------------
	
	var wd_output		= document.afc_calculator.working_distance;	// where to output the value
	var wd_disp			= document.getElementById('wd_display');	// where to display working distance values
	var wd_size			= wd_value.length;							// determine size of wd_value array
	var wd_key			= parseInt((wd_size-1)*slider_value);		// convert to integer

	wd_output.value		= wd_value[wd_key];
	wd_disp.innerHTML	= wd_value[wd_key]+' inches';
	
	// save position
	
	document.afc_calculator.wd_pos.value = slider_value;
}

function changeSliderSV(slider_value)
{
	//----------------------------------------------------
	// system voltage slider function
	// outputs to #system_voltage textbox
	// minumum value = 0.208
	// maximum value = 13.8
	// increments by = fed from array sv_value
	//----------------------------------------------------
	
	var sv_output		= document.afc_calculator.system_voltage;	// where to output the value
	var sv_disp			= document.getElementById('sv_display');	// where to system voltage distance values
	var sv_size			= sv_value.length;							// determine size of sv_value array
	var sv_key			= parseInt((sv_size-1)*slider_value);		// convert to integer

	sv_output.value		= sv_value[sv_key];
	sv_disp.innerHTML	= sv_value[sv_key]+' kV';
	
	// save position
	
	document.afc_calculator.sv_pos.value = slider_value;
}

function arr_to_sld(sld_max,arr_key,arr_size)
{
		var sld_val;

        sld_val	= arr_key / (arr_size - 1)
        sld_val	= sld_val * sld_max

        return sld_val;
}

// draws slider handle

function DrawHandle()
{
	document.write("<div class='slider_handle'>");
	document.write("<div class='slider_bord_top'>&nbsp;</div>");
	for(i=1;i<=4;i++)
		document.write("<div class='slider_bot' style='left:"+i+"px;top:0px;'></div>");
	for(i=7;i>=5;i--)
		document.write("<div class='slider_bot' style='left:"+i+"px;top:-4px;'></div>");
	for(i=2;i<=6;i++)
		document.write("<div class='slider_fil' style='left:"+i+"px;top:-"+(5+i)+"px;'></div>");
	for(i=3;i<=5;i++)
		document.write("<div class='slider_fil' style='left:"+i+"px;top:-"+(8+i)+"px;'></div>");
	document.write("<div class='slider_fil' style='left:4px;top:-13px;'>");
	document.write("</div>");
}

function tt_info(tt_val)
{
	switch (tt_val)
	{
		case 0.01: 
			return "Fuse Instantaneous";
			break;
		case 0.05: 
			return "Typical Instantaneous Trip";
			break;
		case 0.19: 
			return "Typical SST Short-Time MIN";
			break;
		case 0.33: 
			return "Typical SST Short-Time INT";
			break;
		case 0.5: 
			return "Typical SST Short-Time MAX";
			break;
		case 1.0: 
			return "Long-Time Delay";
			break;
		case 2.0: 
			return "Long-Time Delay";
			break;
		default: return "";
	}
}

