var spriteEntryHight = 34;
var aConsumptionOekostromValues = new Array("1.500","2.500","3.000","4.000","5.000","7.000","10.000","50.000");
var aLivingspaceNaturgasValues = new Array("30","35","40","45","50","55","60","65","70","75","80","85","90","95","100","105","110","115","120","125","130","135","140","145","150","155","160","165","170","175","180","185","190","195","200");

$j(document).ready(function()
{
	initOekostrom();
	initNaturgas();

	//check if accordion rechner exists
	if ( ($j("#strom_head").length > 0) && ($j("#gas_head").length > 0) )
	{	
		$j("#accordion_rechner").accordion({
			active: 1,
			autoHeight: false
		});
		$j('#accordion_rechner').bind('accordionchange', function(event, ui) {
			$j("#strom_head").toggleClass("closed");
		});
	}
	
	// only for testing purposes
	$j("#strom_zip").bind("blur", function(event){
		if(this.value == "00000")
		{
			showZipError("strom");
		}
		else if(this.value == "12345")
		{
			showCityError("strom");
		}
	});
	
	// only for testing purposes
	$j("#gas_zip").bind("blur", function(event){
		if(this.value == "00000")
		{
			showZipError("gas");
		}
		else if(this.value == "12345")
		{
			showCityError("gas");
		}
	});
});

function showOtherError(errorSrc)
{
	//hide any previous error-msg
	hideErrors();

	if(errorSrc == "strom")
	{
		$j("#strom_zip_denied_error").css("display","block");
		$j("#strom_zip").next(".error_mark").css("display", "block");
	}
	else if(errorSrc == "gas")
	{
		$j("#gas_not_avail_error").css("display","block");
		$j("#gas_zip").next(".error_mark").css("display", "block");
	}
}

function showZipError(errorSrc)
{
	//hide any previous error-msg
	hideErrors();

	if(errorSrc == "strom")
	{
		$j("#strom_zip_error").css("display","block");
		$j("#strom_zip").next(".error_mark").css("display", "block");
	}
	else if(errorSrc == "gas")
	{
		$j("#gas_zip_error").css("display","block");
		$j("#gas_zip").next(".error_mark").css("display", "block");
	}
}

function showCityError(errorSrc)
{
	//hide any previous error-msg
	hideErrors();

	if(errorSrc == "strom")
	{
		$j("#strom_error").css("display","block");
		$j("#strom_city_error").css("display","block");
	}
	else if(errorSrc == "gas")
	{
		$j("#gas_error").css("display","block");
		$j("#gas_city_error").css("display","block");
	}
}

function hideErrors()
{
	$j("#strom_zip_error").css("display","none");
	$j("#strom_zip").next(".error_mark").css("display", "none");
	
	$j("#gas_zip_error").css("display","none");
	$j("#gas_zip").next(".error_mark").css("display", "none");
	
	$j("#strom_error").css("display","none");
	$j("#gas_error").css("display","none");
	
	$j("#strom_city_error").css("display","none");
	$j("#gas_city_error").css("display","none");
}

function initOekostrom()
{
	if ( $j("#slider_oekostrom").length > 0 )
	{	
		$j('#slider_oekostrom').slider({
			range: "min",
			min: 1,
			max: 10
		});
		$j('#slider_oekostrom').bind('slidechange', function(event, ui) {
			var icons=$j("#slider_sprite li");
			icons.removeClass("active");
			for(i=0;i<ui.value;i++) {
				$j(icons[i]).addClass("active");
			}
			
			$j("#oeko_consumption").css("color", "#044291");
			$j("#oeko_consumption").attr("value", aConsumptionOekostromValues[(ui.value - 1)]);
		});
		
		$j('#slider_oekostrom').bind('slide', function(event, ui) {
			var icons=$j("#slider_sprite li");
			icons.removeClass("active");
			for(i=0;i<ui.value;i++) {
				$j(icons[i]).addClass("active");
			}

			$j("#oeko_consumption").css("color", "#044291");
			$j("#oeko_consumption").attr("value", aConsumptionOekostromValues[(ui.value - 1)]);
		});
		
		// check if user clicks the icons
		$j("#slider_sprite li").bind('click', function(event){
			var value = parseInt($j(this).contents().html().replace("Personen",""));
			
			if(!isNaN(value))
			{
				$j('#slider_oekostrom').slider('value', value);
			}
		});
		
		// set color if user enters a zip
		$j("#strom_zip").bind('blur', function(event){
			if(this.value != "PLZ")
			{
				$j("#strom_zip").css("color", "#044291");
			}
		});
	}
}

function initNaturgas()
{
	var iRatioLt100 = 117;
	var iRatioGt100 = 164;

	if ( $j("#slider_naturgas").length > 0 )
	{
		$j('#slider_naturgas').slider({
			range: "min",
			min: 1,
			max: 35
		});
		$j('#slider_naturgas').bind('slide', function(event, ui) {
			var iProduct = 0;
			if(aLivingspaceNaturgasValues[(ui.value - 1)] <= 100)
				iProduct = iRatioLt100;
			else
				iProduct = iRatioGt100;
		
			$j("#gas_living_space").css("color", "#602e59");
			$j("#gas_consumption").css("color", "#602e59");
			$j("#gas_living_space").attr("value", aLivingspaceNaturgasValues[(ui.value - 1)] );
			$j("#gas_consumption").attr("value", aLivingspaceNaturgasValues[(ui.value - 1)] * iProduct);		
		});
		
		// calculate the consumption
		$j("#gas_living_space").bind('blur', function(event){
			var value=parseInt(this.value);
			
			if(!isNaN(value))
			{
				var iProduct = 0;
				if(this.value <= 100)
					iProduct = iRatioLt100;
				else
					iProduct = iRatioGt100;

				$j("#gas_living_space").css("color", "#602e59");
				$j("#gas_consumption").css("color", "#602e59");
				$j("#gas_consumption").attr("value", this.value * iProduct);
			}
		});
		
		// set color if user enters a zip
		$j("#gas_zip").bind('blur', function(event){
			if(this.value != "PLZ")
			{
				$j("#gas_zip").css("color", "#602e59");
			}
		});
	}
}

	
	
