var $j = jQuery.noConflict();

// Navi hover Effect
var subnavduration = 100;
var subnavtimer = new Array();
function subnav_checkover (index) {
	$j('.subnav').eq(index).css("display", "none");
	$j('.nav_table2 TD').eq(index).find("A").removeClass("aktiv");
}

// Geschaeftsbereiche hover Effect
var gbereicheduration = 200;
var gbereichetimer = new Array();
function gbereiche_checkover (index) {
	$j('.i_gbereiche_box').eq(index).css("display", "none");
}

$j(document).ready(function(){
	// Storage
	$j('#vertragsdauer, #vertragsbeginn, .i_site_performance input:radio').change(function() {
		$j('#pruefen').after('<input type="hidden" name="tx_wpstorage_pi1[laden_performance]" value="1" />');
		$j('#performance_form').submit();
	});
	
	// Main Navi
	$j('.nav_table2 TD').hover(function() {
		var index = $j("td").index(this);
		xposition = $j(this).offset().left;
		mywidth = $j(this).width() - 1;
		mySubwidth = $j('.subnav').eq(index).width() + 1;
		if (navigator.userAgent.indexOf("MSIE 6.0") == -1) {
			$j('.subnav').eq(index).css("min-width", mywidth + "px");
		} else {
			$j('.subnav').eq(index).css("width", mywidth + "px");
		}
		if ($j(this).hasClass("letzter")) {
			$j('.subnav').eq(index).css("left", xposition - (mySubwidth-mywidth) + "px");
		} else {
			$j('.subnav').eq(index).css("left", xposition + "px");
		}
		$j('.subnav').eq(index).css("display", "block");
		$j(this).find("A").addClass("aktiv");
		clearTimeout(subnavtimer[index]);
	}, function() {
		var index = $j("td").index(this);
		subnavtimer[index] = setTimeout('subnav_checkover(' + index + ')', subnavduration);
	});
	
	// Sub Navi
	$j('.subnav').hover(function() {
		var index = $j(".subnav").index(this);
		clearTimeout(subnavtimer[index]);
	}, function() {
		var index = $j(".subnav").index(this);
		subnavtimer[index] = setTimeout('subnav_checkover(' + index + ')', subnavduration);
	});
	
	// Geschaeftsbereiche
	$j('.i_gbereiche AREA').hover(function(e) {
		var index = $j(".i_gbereiche AREA").index(this);
		pos = new Array();
		pos[0] = new Array(171,129);
		pos[1] = new Array(256,195);
		pos[2] = new Array(310,155);
		pos[3] = new Array(118,237);
		pos[4] = new Array(420,107);
		$j('.i_gbereiche_box').eq(index).css("left", pos[index][0] + "px");
		$j('.i_gbereiche_box').eq(index).css("top", pos[index][1] + "px");
		$j('.i_gbereiche_box').eq(index).css("display", "block");
	}, function() {
		var index = $j(".i_gbereiche AREA").index(this);
		gbereichetimer[index] = setTimeout('gbereiche_checkover(' + index + ')', gbereicheduration);
		//$j('.i_gbereiche_box').eq(index).css("display", "none");
	});
	
	// Geschaeftsbereiche Layer
	$j('.i_gbereiche_box').hover(function() {
		var index = $j(".i_gbereiche_box").index(this);
		clearTimeout(gbereichetimer[index]);
	}, function() {
		var index = $j(".i_gbereiche_box").index(this);
		gbereichetimer[index] = setTimeout('gbereiche_checkover(' + index + ')', gbereicheduration);
	});
	
	// Home Slideshow
	$j("#homepage #themenbild .de #themenbild_slide").after('<img alt="" src="fileadmin/templates/img/topbild.gif" class="topbild_transparent" />');
	$j("#homepage #themenbild .de #themenbild_slide IMG").after('<img alt="" src="fileadmin/bilder/topbilder/startbild2.jpg" style="display: none;" />');
	$j("#homepage #themenbild .en #themenbild_slide").after('<img alt="" src="fileadmin/templates/img/topbild.gif" class="topbild_transparent" />');
	$j("#homepage #themenbild .en #themenbild_slide IMG").after('<img alt="" src="fileadmin/bilder/topbilder/startbild2_engl.jpg" style="display: none;" />');
	$j('#homepage #themenbild_slide IMG').css("position", "absolute");
	imageInterval = window.setInterval("changeImage();", 6000);
	currentImage = 0;
	fadeInterval = 3000;
	
	// LI Elemente neben Float-Bildern
	$j(".i_bildtext_text UL LI").each(function(){
		$j(this).html( "<span class=\"li\">" + $j(this).html() + "</span>" );
	});

});

// Home Slideshow
function changeImage() {
	if (currentImage == 0) {
		$j("#homepage #themenbild #themenbild_slide IMG:eq(0)").fadeOut(fadeInterval);
		$j("#homepage #themenbild #themenbild_slide IMG:eq(1)").fadeIn(fadeInterval);
		currentImage = 1;
	} else {
		$j("#homepage #themenbild #themenbild_slide IMG:eq(1)").fadeOut(fadeInterval);
		$j("#homepage #themenbild #themenbild_slide IMG:eq(0)").fadeIn(fadeInterval);
		currentImage = 0;
	}
}

// Tarifrechner:
function BerechneVolumen(Mindestleistung, Leistungseinheit) {
	// Eingabe erfolgte in MW:
	if (Leistungseinheit == "MW") {
		//alert('MW1'); 
		var Ergebnis = (Mindestleistung * 70 *24);
		return Ergebnis;
	// Eingabe erfolgte in m3/h:
	} else {
		var Ergebnis = Mindestleistung * 70 *24;
		return Ergebnis;
	}
}

function BerechneGesamtbetrag (Mindestdauer, Mindestleistung, Leistungseinheit) {
	// Eingabe erfolgte in MW
	if (Leistungseinheit == "MW") {
		//alert('MW2'); 
//		var Ergebnis = (12.76 * 12 * Mindestleistung * Mindestdauer * 1000) / 11.14;
		var Ergebnis = (159 * Mindestleistung * Mindestdauer * 1000) / 11.19;
		return Ergebnis;
	// Eingabe erfolgte in m3/h
	} else {
//		var Ergebnis = 12.76 * 12 * Mindestleistung * Mindestdauer;
		var Ergebnis = 159 * Mindestleistung * Mindestdauer;
		return Ergebnis;
	}
}

function BerechneMonatsbetrag (Mindestdauer, Mindestleistung, Leistungseinheit) {
	// Eingabe erfolgte in MW
	if (Leistungseinheit == "MW") {
		//alert('MW3');
//		var Ergebnis = ((12.76 * 12 * Mindestleistung * Mindestdauer * 1000) / 11.14) / 36;
		var Ergebnis = ((159 * Mindestleistung * 1000) / 11.19) / 12.00;
		return Ergebnis;
	// Eingabe erfolgte in m3/h
	} else {
//		var Ergebnis = (12.76 * 12 * Mindestleistung * Mindestdauer) / 36;
		var Ergebnis = (159 * Mindestleistung) / 12.00;
		return Ergebnis;
	}
}

function SchreibeVolumeneinheit (Leistungseinheit) {
	if (Leistungseinheit == "MW") {
		var Einheit = ' MWh:';
		return Einheit;
	} else {
		var Einheit = ' m3:';
		return Einheit;
	}
}

function Trenner(number) {
	number = '' + number;
	if (number.length > 3) {
		var mod = number.length % 3;
		var output = (mod > 0 ? (number.substring(0,mod)) : '');
		for (i=0 ; i < Math.floor(number.length / 3); i++) {
			if ((mod == 0) && (i == 0))
				output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
			else
				// hier wird das Trennzeichen festgelegt mit ' '
				output+= ' ' + number.substring(mod + 3 * i, mod + 3 * i + 3);
		}
		return (output);
	}
	else return number;
}

function SchreibeErgebnis(Mindestdauer, Mindestleistung, Leistungseinheit) {
	var Volumenergebnis = BerechneVolumen(Mindestleistung, Leistungseinheit);
	var Gesamtbetragsergebnis = BerechneGesamtbetrag(Mindestdauer, Mindestleistung, Leistungseinheit);
	var Monatsbetragsergebnis = BerechneMonatsbetrag(Mindestdauer, Mindestleistung, Leistungseinheit);
	var Volumeneinheit = SchreibeVolumeneinheit(Leistungseinheit);
	document.getElementById('Volumen').value = Trenner(Volumenergebnis.toFixed(0));
	/*document.getElementById('Volumen').value = Volumenergebnis.toFixed(0);*/
	document.getElementById('VolEinheit').value = Volumeneinheit;
	document.getElementById('Gesamtbetrag').value = Trenner(Gesamtbetragsergebnis.toFixed(0));
	document.getElementById('Monatsbetrag').value = Trenner(Monatsbetragsergebnis.toFixed(0));
}

//Validierung  
function CheckFormular() {
	if (document.getElementById('Mindestleistung').value == "") {
		alert(error_leer);
		document.getElementById('Mindestleistung').focus();
		return false;
	}
	var chkZ = 1;
	for (i = 0; i < document.getElementById('Mindestleistung').value.length; ++i)
		if (document.getElementById('Mindestleistung').value.charAt(i) < "0" ||
		document.getElementById('Mindestleistung').value.charAt(i) > "9")
		chkZ = -1;
		if (chkZ == -1) {
			alert(error_ganzzahl);
			document.getElementById('Mindestleistung').focus();
			return false;
		}
		if (document.getElementById('Leistungseinheit').value == "MW" &&
		document.getElementById('Mindestleistung').value < 10) {
			alert(error_mw);
			document.getElementById('Mindestleistung').focus();
			return false;
		}
		if (document.getElementById('Leistungseinheit').value == "2" &&
		document.getElementById('Mindestleistung').value < 894) {
			alert(error_m3h);
			document.getElementById('Mindestleistung').focus();
			return false;
		}
	SchreibeErgebnis(document.getElementById('Mindestdauer').value,document.getElementById('Mindestleistung').value,document.getElementById('Leistungseinheit').value);               
}


function number_format (number, decimals, dec_point, thousands_sep) { 
// Formats a number with grouped thousands 
// 
// version: 906.1806 
// discuss at: http://phpjs.org/functions/number_format 
// +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) 
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 
// +     bugfix by: Michael White (http://getsprink.com) 
// +     bugfix by: Benjamin Lupton 
// +     bugfix by: Allan Jensen (http://www.winternet.no) 
// +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com) 
// +     bugfix by: Howard Yeend 
// +    revised by: Luke Smith (http://lucassmith.name) 
// +     bugfix by: Diogo Resende 
// +     bugfix by: Rival 
// +     input by: Kheang Hok Chin (http://www.distantia.ca/) 
// +     improved by: davook 
// +     improved by: Brett Zamir (http://brett-zamir.me) 
// +     input by: Jay Klehr 
// +     improved by: Brett Zamir (http://brett-zamir.me) 
// +     input by: Amir Habibi (http://www.residence-mixte.com/) 
// +     bugfix by: Brett Zamir (http://brett-zamir.me) 
// *     example 1: number_format(1234.56); 
// *     returns 1: '1,235' 
// *     example 2: number_format(1234.56, 2, ',', ' '); 
// *     returns 2: '1 234,56' 
// *     example 3: number_format(1234.5678, 2, '.', ''); 
// *     returns 3: '1234.57' 
// *     example 4: number_format(67, 2, ',', '.'); 
// *     returns 4: '67,00' 
// *     example 5: number_format(1000); 
// *     returns 5: '1,000' 
// *     example 6: number_format(67.311, 2); 
// *     returns 6: '67.31' 
// *     example 7: number_format(1000.55, 1); 
// *     returns 7: '1,000.6' 
// *     example 8: number_format(67000, 5, ',', '.'); 
// *     returns 8: '67.000,00000' 
// *     example 9: number_format(0.9, 0); 
// *     returns 9: '1' 
// *     example 10: number_format('1.20', 2); 
// *     returns 10: '1.20' 
// *     example 11: number_format('1.20', 4); 
// *     returns 11: '1.2000' 
// *     example 12: number_format('1.2000', 3); 
// *     returns 12: '1.200' 
var n = number, prec = decimals; 
var toFixedFix = function (n,prec) { 
    var k = Math.pow(10,prec); 
    return (Math.round(n*k)/k).toString(); 
}; 
n = !isFinite(+n) ? 0 : +n; 
prec = !isFinite(+prec) ? 0 : Math.abs(prec); 
var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep; 
var dec = (typeof dec_point === 'undefined') ? '.' : dec_point; 
var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0; 
var abs = toFixedFix(Math.abs(n), prec); 
var _, i; 
if (abs >= 1000) { 
    _ = abs.split(/\D/); 
    i = _[0].length % 3 || 3; 
    _[0] = s.slice(0,i + (n < 0)) + 
          _[0].slice(i).replace(/(\d{3})/g, sep+'$1'); 
    s = _.join(dec); 
} else { 
    s = s.replace('.', dec); 
} 
var decPos = s.indexOf(dec); 
if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) { 
    s += new Array(prec-(s.length-decPos-1)).join(0)+'0'; 
} 
else if (prec >= 1 && decPos === -1) { 
    s += dec+new Array(prec).join(0)+'0'; 
} 
return s;
}
