var letters=' ABCÇDEFGHIJKLMNÑOPQRSTUVWXYZabcçdefghijklmnñopqrstuvwxyzàáÀÁéèÈÉíìÍÌïÏóòÓÒúùÚÙüÜ';
var numbers='1234567890';
var signs='.';
var mathsigns='+-=()*/';
var custom='<>#$%&?¿';
function onKeyPress(e,allow){
	
	var k;
	k=document.all?parseInt(e.keyCode): parseInt(e.which);
	return (allow.indexOf(String.fromCharCode(k))!=-1);
}

function onlyNumbers(evt)
{
	var e = event || evt; // for trans-browser compatibility
	var charCode = e.which || e.keyCode;

	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;

	return true;

}


function goLite(button) {
button.style.border = "#00F4F4";
button.style.color = "#000000";
}

function goDim(button) {
button.style.border = "";
button.style.color = "";
}

function select_all(anInput)
{
	var text_val=eval("anInput");
	text_val.focus();
	text_val.select();
}

function changeBox(div1,div2,password) 
{
  document.getElementById(div1).style.display='none';
  document.getElementById(div2).style.display='';
  document.getElementById(password).focus();
}

function clearForm(elem) 
{
	document.getElementById(elem).value = "";
	document.getElementById(elem).style.color= "#000000";
}

function restore(elem,variable)
{
	if(document.getElementById(elem).value == ""){
	    document.getElementById(elem).style.color= "#6C6C6C";
		document.getElementById(elem).value = variable;
	}

}

function restoreBox(password,div1,div2) 
{
	if(document.getElementById(password).value=='')
	{
	  document.getElementById(div1).style.display='';
	  document.getElementById(div2).style.display='none';
	}
}

function checkJavaScriptValidity()
{
	if(document.getElementById("jsEnabled")){
		document.getElementById("jsEnabled").style.display = 'block';
	}
	if(document.getElementById("jsDisabled")){
		document.getElementById("jsDisabled").style.display = 'none';
	}
	if(document.getElementById("javascript_disabled_go_back")){
		document.getElementById("javascript_disabled_go_back").style.display = 'none';
		document.getElementById("javascript_enabled_go_back").style.display = 'block';
	}
	if(document.getElementById("jsDisabled_all"))
		document.getElementById("jsDisabled_all").style.display = 'none';
	
}
	function toggle_visibility(id) {
	   var w = document.slideForm.bulbs.selectedIndex;
	   var selected_text = document.slideForm.bulbs.options[w].value;
	   //alert();
	   var stringAt = selected_text.indexOf("_");
	   
	   var voltage = selected_text.substring(0,stringAt); //voltage
	   var wattage = selected_text.substring(stringAt+1); //voltage
	   document.getElementById('watt_age').innerHTML=wattage;
	   document.getElementById('volt_age').innerHTML=voltage;
	   //alert(wattage);
       var e = document.getElementById(id);
       if(selected_text != ''){
          e.style.display = 'block';
       }else{
         e.style.display = 'none';
		}
    }
	
	
	
		function SetupSlider(sliderId, minimumValue, maximumValue, inStepsOf, inputControlClass){		
		$(sliderId).slider({			
			min: minimumValue,
			max: maximumValue,
			step: inStepsOf,
			slide: function(event, ui) {
				$(inputControlClass).val(ui.value);
			}
		});	
		$(inputControlClass).numeric()
		$(inputControlClass).val($(sliderId).slider("value"));		
	}
	
	function SetSliderValue(sliderId, textBoxControl) {
		var amount = textBoxControl.value;
		var minimum = $(sliderId).slider("min")
		var maximum = $(sliderId).slider("max")
		
		if (amount > minimum || amount < maximum){
			$(sliderId).slider('option', 'value', amount);
		}		
	}	
	
function changeValue_range(){
		///change slider range....
	 var min_fangle = parseFloat(document.getElementById('field_angle').value);
	 var max_fangle = parseFloat(document.getElementById('field_angle_max').value);
	 var min_bangle = parseFloat(document.getElementById('beam_angle').value);
	 var max_bangle = parseFloat(document.getElementById('beam_angle_max').value);
	 
	 var default_f = (min_fangle == 0 ? max_fangle : min_fangle);
	 var default_b = (min_bangle == 0 ? max_bangle : min_bangle);
	 
	if(min_fangle >= max_fangle && (min_fangle != 0 || max_fangle != 0)){
		getBeamPos();
		if((min_fangle != 0 || max_fangle != 0)){
			alert("Enter an angle that is greater than the max angle");
		}
	}else{
		 var slide_param = get_min_max(min_fangle,max_fangle,min_bangle,max_bangle);
		  document.getElementById('min_angle_value_change').innerHTML = slide_param["min"];
		  document.getElementById('max_angle_value_change').innerHTML = slide_param["max"];
		 
		  $(function() {
			SetupSlider('#sliderMid', slide_param["min"], slide_param["max"], 1, '.midAmount');
			//SetSliderValue('#sliderMid', slide_param["min"]);
		 
			
		  });
		  	 document.getElementById('sliderValue').value = default_f; //set the value of the selected angle equal to the minimum field angle
			 document.getElementById('slider_beam').value = default_b; //set the value of the hidden text field equal to the minimum beam angle
			 
			 if(min_fangle == 0 && max_fangle == 0){
				 document.getElementById('slider_beam').value = 0; //set the value of the hidden text field equal to the minimum beam angle
		  	 	 document.getElementById('sliderValue').value = default_b; //set the value of the selected angle equal to the minimum field angle
			 }
 
		  getBeamPos();
		  SetSliderValue('#sliderMid', document.getElementById('field_angle'));

  }
}
	
	function get_min_max(min_fangle,max_fangle,min_bangle,max_bangle){
		//get which angle is not empty, use it as a value for the slider
		
		if(min_fangle > 0 || max_fangle > 0){
				var min_slideangle = (min_fangle == 0 ? max_fangle:min_fangle); 
				var max_slideangle = (max_fangle == 0 ? min_fangle:max_fangle); 
		}else if(min_bangle > 0 || max_bangle > 0){
				var min_slideangle = (min_bangle == 0 ? max_bangle:min_bangle); 
				var max_slideangle = (max_bangle == 0 ? min_bangle:max_bangle); 
		}
		
		var myArray = new Array(2);
        myArray["min"] = min_slideangle;
        myArray["max"] = max_slideangle;
		
        return myArray;
	}
	
	
 	function getBeamPos(){
		//compute Beam angle position.....
		var min_fangle = parseFloat(document.getElementById('field_angle').value);
		var max_fangle = parseFloat(document.getElementById('field_angle_max').value);
		var min_bangle = parseFloat(document.getElementById('beam_angle').value);
		var max_bangle = parseFloat(document.getElementById('beam_angle_max').value);
		
		//get total range;
		var FA_RANGE = max_fangle - min_fangle;
		var BA_RANGE = max_bangle - min_bangle;
		

		if(min_fangle < max_fangle  && (min_fangle != 0 || max_fangle != 0)){
			//alert('beth');
			var current_posistion = document.getElementById('sliderValue').value;
		//	alert(current_posistion);
			///get field< position
			var FA_POINT   = current_posistion - min_fangle;
			
			//get field< percentage
			var FA_PERCENTAGE = (100 / FA_RANGE) *  FA_POINT;
			
			//get beam< position
			var BA_POINT = (BA_RANGE/100) * FA_PERCENTAGE + min_bangle;
			
			if(FA_RANGE != 0 && min_fangle != 0){
				document.getElementById('slider_beam').value = BA_POINT;
			}
		}else if(min_fangle != 0 && max_fangle != 0){
			
				document.getElementById('slider_beam').value = 0;
		}
		
		
		
		plot_test();
	}
