var bonitaetsabhaengig = 0;
var berechnungsgrundlage = 0;

function hideRechnerLayer() {
	if(jQuery('input[name=berechnungsgrundlage]').length != 0) {
		if (bonitaetsabhaengig==0 || bonitaetsabhaengig=='false') {
			jQuery('#bonitaet_container').hide();
		} else {
			jQuery('#bonitaet_container').show();
		}

		if (berechnungsgrundlage==0) {
			jQuery('#laufzeit_container').show();
			jQuery('#rate_container').hide();
		} else {
			jQuery('#rate_container').show();
			jQuery('#laufzeit_container').hide();
		}
	}
}


function toggleRechner() {
	if (jQuery('#rechner_toolbar').is(':hidden')) {
		jQuery('#rechner_toolbar').show();
		jQuery('#rechner_standard').hide();
	} else {
		jQuery('#rechner_toolbar').hide();
		jQuery('#rechner_standard').show();
	}
}


var currentShownInfobox = null;
var currentClickedButton = null;

function showInfobox(button) {
	hideInfobox();
	toggleInfobutton(button);
	infobox = button.next('div.infobox_container');
	ysize = 501;
//	xsize= 480;
	var body = document.documentElement;
//	var half_doc_width = (body.clientWidth / 2) + body.scrollLeft;
	var half_doc_height = (body.clientHeight / 2) + body.scrollTop;
//	var lay_pos_x = half_doc_width - xsize/2;
	var lay_pos_x = button.offset().left + 20;
	var lay_pos_y = half_doc_height - ysize/2;
	infobox.css('top', lay_pos_y+'px');
	infobox.css('left', lay_pos_x+'px');
	infobox.effect('fold', { horizFirst: true, mode: 'show' } , 300, function() {
		jQuery(this).find('h3:first').click();
	});

	currentShownInfobox = infobox;
}


function hideInfobox() {
	if(currentShownInfobox != null) {
		jQuery(currentShownInfobox).find('h3.ui-state-active').click();
		currentShownInfobox.hide();
		currentShownInfobox = null;
		toggleInfobutton();
	}
}

function toggleInfobutton(button) {
	if(currentClickedButton == null) {
		button.css('background-image', 'url('+ infoButtonUpImageSrc +')');
		currentClickedButton = button;
	} else {
		currentClickedButton.css('background-image', 'url('+ infoButtonDownImageSrc +')');
		currentClickedButton = null;
	}
}


/**************************************************************/  
/*********************** document.ready ***********************/  
/**************************************************************/  

jQuery(document).ready(function(jQuery){
	
	hideRechnerLayer();
	
	jQuery(document).click(function() {
		hideInfobox();
	});
    
	var buttonClicked = false;
	jQuery('div.infobox_container').click(function() {
		if(buttonClicked) {
			buttonClicked = false;
			return true;
		} else {
			return false;
		}
	});
	jQuery('.button_big_hlcolor').click(function() {
		buttonClicked = true;
	});
	
	
	jQuery('div.accordion').accordion({
		active: false,
		collapsible: false,
		autoHeight: false,
		change: function(event, ui) {
			jQuery(ui.oldHeader).children('img').attr('src', dropdownButtonDownImageSrc);
		}
	});
	jQuery('h3').click(function(){
		if(jQuery(this).children('img').attr('src') == dropdownButtonUpImageSrc && jQuery(this).next('div').is(':hidden')) {
			jQuery(this).children('img').attr('src', dropdownButtonDownImageSrc);
		} else {
			jQuery(this).children('img').attr('src', dropdownButtonUpImageSrc);
		}
	});

	jQuery('h3').css('outline', 'none');

	
	// Ergebnisliste formatieren
	restoreAltRow = function() {
		var lastWasAltRow = false;
		jQuery('#ergebnisliste tbody tr').each( function(count) {
			if(jQuery(this).hasClass('hidden')) {
				return;
			}
	        jQuery(this).removeClass('altRow');
	        if(!lastWasAltRow) {
	        	jQuery(this).addClass('altRow');
	        }
        	lastWasAltRow = !lastWasAltRow;
		});
	};
	restoreAltRow();
	
	// Tooltips für Auszeichnungs-Bilder
	pimg();


	
	String.prototype.stripHTML = function() {
	        var matchTag = /<(?:.|\s)*?>/g;
	        return this.replace(matchTag, "");
	};	
	String.prototype.trim = function() {
        return this.replace (/^\s+/, '').replace (/\s+$/, '');
	};

	// Tabelle sortierbar machen
	jQuery("table.ergebnisliste").tablesorter({
			cssAsc: "sortedASC", cssDesc: "sortedDESC" , headers: sortFields ,
	        textExtraction: function(node) {
				var ret = node.innerHTML.trim().stripHTML();
				ret = ret.replace(",", ".");
				ret = ret.replace(" ", "");
				ret = ret.replace(/[€%]|&euro;/, "");
				return ret;
	    	} 		
			
	}).bind("sortEnd",function() { 
		restoreAltRow();
	});
	
	// onclick-Events hinzufügen
	jQuery('li.toolbar-detail-open').click(function() {
		toggleRechner();
	});
	jQuery('li.toolbar-detail-close').click(function() {
		toggleRechner();
	});



	jQuery('a.info_button_link').click(function(){
		var button = jQuery(this);
		if(currentShownInfobox == null) {
			showInfobox(button);
		} else {
			hideInfobox();
		}
		return false;
	});
	jQuery('a.button_close').click(function(){
		hideInfobox();
		return false;
	});


	jQuery('a.linkshowall').click(function(){
		jQuery('tr.additional').removeClass('hidden');
		restoreAltRow();
		jQuery(this).hide();
		jQuery('a.linknotshowall').show();
		return false;
	});
	jQuery('a.linknotshowall').click(function(){
		jQuery('tr.additional').addClass('hidden');
		restoreAltRow();
		jQuery(this).hide();
		jQuery('a.linkshowall').show();
		return false;
	});

	if(jQuery('input[name=berechnungsgrundlage]').length != 0) {
		jQuery('input[name=berechnungsgrundlage]:eq(0)').click(function() { jQuery('#rate_container').hide(); jQuery('#laufzeit_container').show(); } );
		jQuery('input[name=berechnungsgrundlage]:eq(1)').click(function() { jQuery('#rate_container').show(); jQuery('#laufzeit_container').hide(); } );
		jQuery('input[name=bonitaetsabhaengig]:eq(0)').click(function() { jQuery('#bonitaet_container').show(); } );
		jQuery('input[name=bonitaetsabhaengig]:eq(1)').click(function() { jQuery('#bonitaet_container').hide(); } );
	}


	// mouseover-Events hinzufügen
	jQuery('div.rechner-detail-info-row').each(function(nr) {
		jQuery(this).mouseover(function(){
			jQuery('li.rechner-detail-info').children().hide();
			jQuery('li.rechner-detail-info div.help-container:eq('+nr+')').show();
			return false;
		});
	});

    // fix fuer durchscheinende selects im ie6
    jQuery('.infobox_container').bgiframe();
});
