/**
 * jQuery-Plugin "clearField"
 * 
 * @version: 1.0, 31.07.2009
 * 
 * @author: Stijn Van Minnebruggen stijn@donotfold.be http://www.donotfold.be
 * 
 * @example: $('selector').clearField();
 * @example: $('selector').clearField({ blurClass: 'myBlurredClass',
 *           activeClass: 'myActiveClass' });
 * 
 */

(function($) {

	jQuery.fn.clearField = function(settings) {

		/**
		 * Settings
		 * 
		 */

		settings = jQuery.extend( {
			blurClass : 'clearFieldBlurred',
			activeClass : 'clearFieldActive'
		}, settings);

		/**
		 * loop each element
		 * 
		 */

		jQuery(this).each(
				function() {

					/**
					 * Set element
					 * 
					 */

					var el = jQuery(this);

					/**
					 * Add rel attribute
					 * 
					 */

					if (el.attr('rel') == undefined) {
						el.attr('rel', el.val()).addClass(settings.blurClass);
					}

					/**
					 * Set focus action
					 * 
					 */

					el.focus(function() {

						if (el.val() == el.attr('rel')) {
							el.val('').removeClass(settings.blurClass)
									.addClass(settings.activeClass);
						}

					});

					/**
					 * Set blur action
					 * 
					 */

					el.blur(function() {

						if (el.val() == '') {
							el.val(el.attr('rel')).removeClass(
									settings.activeClass).addClass(
									settings.blurClass);
						}

					});

				});

		return jQuery;

	};

})(jQuery);

/* ------
SLIPPAGE/HORSEPOWER CALCULATOR
*/

//Populate performance formula with data from tables
var source = $(source);
var target = $(target);
var data = $(data);
function popFormula(source, target, data) {
	$(source).click(function() {
		var str = $(this).text();
		$(target).val(str);

		// check for .active, remove and add to current td
			if ($(source).hasClass('active')) {
				$(source).removeClass().addClass('data_' + data)
			}
			$(this).addClass('active');
		});
}

function IsNumeric(sText){
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++){ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) IsNumber = false;
	}
	return IsNumber;   
}
function formula1() {
	var form = document.rate;
	var errorFound=new Array();
	var Qr, Nd, Nr, Fs, Pd, result, res;
	
	if(!IsNumeric(form.rated_gpm.value)) errorFound.push(form.rated_gpm);
	if(!IsNumeric(form.rated_rpm.value)) errorFound.push(form.rated_rpm);
	if(!IsNumeric(form.slippage.value)) errorFound.push(form.slippage);
	if(!IsNumeric(form.diff_pressure.value)) errorFound.push(form.diff_pressure);
	if(!IsNumeric(form.actual_rpm.value)) errorFound.push(form.actual_rpm);
	
	if(errorFound.length==0){
		$('.error').removeClass('error');
		$('#formula1error').fadeOut(600);
		Qr = parseFloat(form.rated_gpm.value);
		Nd = parseFloat(form.actual_rpm.value);
		Nr = parseFloat(form.rated_rpm.value);
		Fs = parseFloat(form.slippage.value);
		Pd = parseFloat(form.diff_pressure.value);

		res = Qr * (Nd / Nr - (Fs * Pd));
		sum = res.toFixed(2);
		form.result.value = sum;

		document.horsepower.rated_gpm.value = document.rate.rated_gpm.value;
		document.horsepower.actual_rpm.value = document.rate.actual_rpm.value;
		document.horsepower.rated_rpm.value = document.rate.rated_rpm.value;
		document.horsepower.diff_pressure.value = document.rate.diff_pressure.value;
	} else {
		for ( var i in errorFound ){
			$(errorFound[i]).addClass('error').fadeOut().fadeIn();
			$('#formula1error').fadeIn(600);
		}
	}
}

function formula2() {
	var form = document.horsepower;
	var errorFound=new Array();
	var Nd, Qr, Nr, Pd, result, res;

	if(!IsNumeric(form.actual_rpm.value)) errorFound.push(form.actual_rpm);
	if(!IsNumeric(form.rated_gpm.value)) errorFound.push(form.rated_gpm);
	if(!IsNumeric(form.rated_rpm.value)) errorFound.push(form.rated_rpm);
	if(!IsNumeric(form.diff_pressure.value)) errorFound.push(form.diff_pressure);
	
	if(errorFound.length==0){
		$('.error').removeClass('error');
		$('#formula2error').fadeOut(600);
		Nd = parseFloat(form.actual_rpm.value);
		Qr = parseFloat(form.rated_gpm.value);
		Nr = parseFloat(form.rated_rpm.value);
		Pd = parseFloat(form.diff_pressure.value);

		res = ((8.5 * Nd * Qr) / Nr) * .0001 * (10 + Pd);
		sum = res.toFixed(2);
		form.result.value = sum;
	} else {
		for ( var i in errorFound ){
			$(errorFound[i]).addClass('error').fadeOut().fadeIn();
			$('#formula2error').fadeIn(600);
		}
	}
}
/*----SLIPPAGE/HORSEPOWER CALCULATOR*/

/* ------
 KEY LIST
 */
var def = $(def);
function defShow(def) {
	$('.defs span').hide();
	$(def).fadeIn('fast');
}
/*----END KEY LIST*/

/* ------
PUMP OVERLAY
*/
var overlay = $(overlay);
function overlayShow(overlay) {
$("#shower").click(function () {
		$(overlay).fadeIn("slow");
		});
	$("#closer").click(function () {
		$(overlay).fadeOut("slow");
		});
}
