

/*
LAST MODIFIED : 28 Mar 2007
MODIFIED BY : Bertrand
COMMENTS : 
LAST CHANGE : 
*/	



// Sets the section height 
function getSectionHeight(id, sections_total) {
	
		var total_sections_height = sections_total; // total height of other sections
		
		var windowHeight=0;
		if ( typeof( window.innerHeight )=='number' ) {
			windowHeight=window.innerHeight;
			//windowHeight=window.document.body.offsetHeight;
		}
		else {
			if ( document.documentElement && document.documentElement.clientHeight ) {
				windowHeight=document.documentElement.clientHeight;
			}
			else {
				if ( document.body&&document.body.clientHeight ) {
					windowHeight=document.body.clientHeight;
				}
			}
		}

	var section_height = windowHeight - total_sections_height;  

	document.getElementById(id).style.height = section_height + "px";; 

	}
	
	

// validate email address
function Validate_Email( msg, theform ) {
	
	var emailReg = /^[a-z][a-z-_0-9\.]+@[a-z-_=>0-9\.]+\.[a-z]{2,3}$/i
		
	if (emailReg.test(theform.email.value) == false)
	{
		alert( msg );
		theform.email.focus();
		return false;
	}	
	else
	{
		theform.submit();
	}
	
}	



		
// Shows the clicked row of a list. Example : news list
function List_Show_Hide( list_name, total_rows, current_id ) {

 var list_row;
	var i;
	
	for ( i = 1; i <= total_rows; i++ ) {		
		list_row = document.getElementById( list_name + "_" + i );
  if ( i == current_id ) {
		 list_row.style.display='';
		} else { 
		 list_row.style.display='none';
		}
	}

}





function Resize_Height( ele_id , new_height ) {

 document.getElementById( ele_id ).style.height = new_height;
	
}


function Resize_Width( ele_id , new_width ) {

 document.getElementById( ele_id ).style.width = new_width;
	
}


function Get_Window_Height() {
  var myHeight = 0;
  if( typeof( window.innerHeight ) == 'number' ) {
    //Non-IE
    myHeight = window.innerHeight;
  } else if( document.documentElement && document.documentElement.clientHeight ) {
    //IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && document.body.clientHeight ) {
    //IE 4 compatible
    myHeight = document.body.clientHeight;
  }
  
		return myHeight;
}


function Get_Window_Width() {
  var myWidth = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
  } else if( document.documentElement && document.documentElement.clientWidth ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
  } else if( document.body && document.body.clientWidth ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
  }
  
		return myWidth;
}

function validate_form(form_name)
{
	var valid = true;
	
	switch (form_name) {

		case 'frm_distributor':
			var elements = ['company', 'address', 'city', 'state', 'postcode', 'contact', 'phone', 'email'];
			$$('span[id$=error]').setStyle('visibility', 'hidden');
			elements.each(function (id) {
				if (!$(id).value) {
					$(id + '_error').setStyle('visibility', 'visible');
					valid = false;
				}
			});
			if (!valid) {
				$('distributor_form_error').setStyle('display', 'block');
				$('distributor_form_error').setStyle('visibility', 'visible');
			}
			break;
	}
	
	return valid;
}


function toggleCheckBoxes(value)
{
	var elements = ['state_1', 'state_2', 'state_3'];
	elements.each(function (id) {
			if ('state_' + value == id) {
				// Enable this element
				$(id).setStyle('display', 'block');
				$(id).disabled = '';
			} else {
				// Disabled this element
				$(id).setStyle('display', 'none');
				$(id).disabled = 'disabled';
			}
	});
	// This element is always disabled
	$('state_3').disabled = 'disabled';
}

function updateFormulaView()
{
	$('formula_title').set('html', '');
	$$('.formula').setStyle('display', 'none');
	
	if (parseInt($('formula_selector').value) > 0) {
		$$('.calculate_button').setStyle('visibility', 'visible');
		$('formula_' + $('formula_selector').value).setStyle('display', 'block');
		$('formula_title').set('html', $($('formula_selector').options[$('formula_selector').selectedIndex]).get('html'));
	} else {
		$$('.calculate_button').setStyle('visibility', 'hidden');
	}
	$('result').set('html', '');
	
}

var Result = new Class({
	initialize: function(result, unit) {
		this.result = parseFloat(result);
		this.imperial_unit = unit;

		this.metric_result = 0;
		this.metric_unit = '';
	},

	getResult: function() {
		if (this.result > 0) {
			this.toMetric();
			return this.result.round(4);
		} else {
			return 0;
		}
	},
	getMetricResult: function() {
		return this.metric_result.round(4);
	},

	toMetric: $empty
});

function calculate()
{
	var result;
	var unit;
	var variable;
	
	switch(parseInt($('formula_selector').value)) {
		case 1: // Speed of Cutter in Surface Feet per Minute (SFM)
			result = (Math.PI * $('D_1').value * $('RPM_1').value) / 12;
			result = new Result(result, 'Feet per Minute');
			result.toMetric = function() {
				this.metric_unit = 'cm per Minute';
				this.metric_result = this.result * 30.48;
			};
			break;
		case 2: // Revolutions per Minute (RPM)
			result = ($('SFM_2').value * 12) / (Math.PI * $('D_2').value);
			result = new Result(result, 'RPM');
			break;
		case 3: // Feed in Inches per Minute (F)
			result = ($('f_3').value * $('T_3').value * $('RPM_3').value);
			result = new Result(result, 'Inches per Minute');
			result.toMetric = function() {
				this.metric_unit = 'cm per Minute';
				this.metric_result = this.result * 2.54;
			};
			break;
		case 4: // Feed per Tooth in Inches (f)
			result = $('F_4').value / ($('T_4').value * $('RPM_4').value);
			result = new Result(result, 'Inches of Feed per Tooth');
			result.toMetric = function() {
				this.metric_unit = 'cm of Feed per Tooth';
				this.metric_result = this.result * 2.54;
			};
			break;
	}

	var result_html = result.getResult() + ' ' + result.imperial_unit;
	if (result.metric_result) {
		result_html += '<br />(' + result.getMetricResult() + ' ' + result.metric_unit + ')';
	}

	$('result').set('html', result_html);
}

