// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
function calcBore() {
	psig = parseFloat($('air_pressure').value).toFixed(3);
	force = parseFloat($('force_required').value).toFixed(3);
	safety = parseFloat($('safety_factor').value).toFixed(3);
	
	if($('calc_units').value == '1')
	{	
		if(psig < 0 || psig > 250 || safety < 1 || safety > 4) {
			alert('Error: Please check your input and try again.');
			return false;
		}
		
		calcUnits = 'in'
	}
	else
	{
		if(psig < 0 || psig > 10 || safety < 1 || safety > 4) {
			alert('Error: Please check your input and try again.');
			return false;
		}		
		
		calcUnits = 'mm'
	}
	
	bore = (Math.sqrt((force/psig)*(4/3.14))*safety).toFixed(3);
	$('calculation').innerHTML = "Minimum Bore Required (" + calcUnits + "): " + bore;
	
	return false;
}

function calcForce() {
	psig = parseFloat($('air_pressure').value).toFixed(3);
	boresize = parseFloat($('bore_size').value).toFixed(3);
	rodsize = parseFloat($('rod_size').value).toFixed(3);
		
	if($('calc_units').value == '1')
	{	
		if(psig < 0 || psig > 250) {
			alert('Error: Please check your input and try again.');
			return false;
		}
		
		calcUnits = 'LBF'
	}
	else
	{
		if(psig < 0 || psig > 10) {
			alert('Error: Please check your input and try again.');
			return false;
		}		
		
		calcUnits = 'mm'
	}
	
	push_force = psig * ((3.14*Math.pow(boresize, 2))/4);
	pull_force = psig * (((3.14*Math.pow(boresize, 2))/4)-((3.14*Math.pow(rodsize, 2))/4));
	
	$('calculation').innerHTML = "Push Force (" + calcUnits + "): " + push_force + "<br />Pull Force ("+ calcUnits +"): " + pull_force;
	
	return false;
}

function calcPressure() {
	pushforce = parseFloat($('push_force').value).toFixed(3);
	boresize = parseFloat($('bore_size').value).toFixed(3);
		
	if($('calc_units').value == '1') { calcUnits = 'PSI' }
	else { calcUnits = 'Bar' }
	
	pressure = pushforce/((3.14*Math.pow(boresize, 2))/4)
	$('calculation').innerHTML = "Required Pressure (" + calcUnits + "): " + pressure;
	
	return true;	
}
	
function reset_slide(event)
{
	var element = Event.findElement(event, 'a');
	var controls = $('my-glider').getElementsBySelector('div.controls a');
	controls.each(function(element){element.className='';});
}

function myChangeSlide(element) {
	controls = $('my-glider').getElementsBySelector('div.controls a');
	controls.each(function(element){element.removeClassName("active_slide_control");});
	element.addClassName("active_slide_control");
}

function startScroll(outer_id, inner_id, effect_duration) {
	dimensions = Element.getDimensions($(inner_id));
	function runScroll(effect) {
		new Effect.SmoothScroll(outer_id, {duration:(effect_duration), x:(dimensions.width-330), y:(0),transition: Effect.Transitions.linear , afterFinishInternal:resetScroll});
	}
	function resetScroll(effect) {
		new Effect.SmoothScroll(outer_id, {duration:0.0, x:(-(dimensions.width-330)), y:(0), afterFinishInternal:runScroll});
	};
	runScroll(true);
}