var focuscounter = 0;


var preloads = new Array();

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
  var i, x, a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; 
  document.MM_sr=new Array; 
  for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){
  	document.MM_sr[j++]=x; 
	if (!x.oSrc) x.oSrc=x.src; 
	x.src=a[i+2];
  }
}

function toggleSub(id) {
	if ($('.sub'+id+':visible').length > 0) { 		
		$('.sub'+id+':visible').slideToggle('fast');
		$('.main'+id).css('background-image', 'url(/shared/pics/navi/pfeil_right.gif)');
	} else {
		$('.sub'+id).slideToggle('fast');
		$('.main'+id).css('background-image', 'url(/shared/pics/navi/pfeil_down.gif)');
	}
}

function fillPraemie(kaution) {
	var praemie = parseFloat(kaution.replace(/[^\d\,]/g, "").replace(/\,/g, "."));
	praemie = Math.round(praemie * 100) / 100;
	
	var beitraege = calcPraemie(praemie);

	$('#jahresbeitrag').html(beitraege[0]);
	$('#monatsbeitrag').html(beitraege[1]);
}

function landingPraemie(kaution) {
	var praemie = parseFloat(kaution.replace(/[^\d\,]/g, "").replace(/\,/g, "."));
	praemie = Math.round(praemie * 100) / 100;
	var beitraege = calcPraemie(praemie);
	
	$('#landing_jaehrlich').html(beitraege[0]);
	$('#landing_monatlich').html(beitraege[1]);
}

function calcPraemie(praemie) {
	var beitraege = new Array();
	
	if (chapter == 'busi') {
		if (praemie > 0 && praemie <= 5000) {
			beitraege[0] = '299,00';
			beitraege[1] = '24,92';
		} else if (praemie > 5000 && praemie <= 10000) {
			beitraege[0] = '499,00';
			beitraege[1] = '41,58';
		} else if (praemie > 10000 && praemie <= 15000) {
			beitraege[0] = '699,00';
			beitraege[1] = '58,25';
		} else if (praemie > 15000 && praemie <= 20000) {
			beitraege[0] = '899,00';
			beitraege[1] = '74,92';
		} else if (praemie > 20000 && praemie <= 25000) {
			beitraege[0] = '1.099,00';
			beitraege[1] = '91,58';
		} else if (praemie > 25000 && praemie <= 30000) {
			beitraege[0] = '1299,00';
			beitraege[1] = '108,25';
		} else if (praemie > 30000) {
			beitraege[0] = '<em style="color:red">-/-</em>';
			beitraege[1] = '<em style="color:red">-/-</em>';
		}
	} else {
		if (praemie < 500) {
			beitraege[0] = '<em style="color:red">-/-</em>';
			beitraege[1] = '<em style="color:red">-/-</em>';
		} else if (praemie >= 500 && praemie <= 1000) {
			if (readCookie('partner') == '511270') {
				beitraege[0] = '69,00';
				beitraege[1] = '5,75';
			} else if (readCookie('partner') == 'ggw') {
				beitraege[0] = '64,00';
				beitraege[1] = '5,33';
			} else if (readCookie('partner') == 'kwk' || readCookie('partner') == 'is24advent') {
				beitraege[0] = '59,00';
				beitraege[1] = '4,92';
			} else {
				beitraege[0] = '69,00';
				beitraege[1] = '5,75';
			}
		} else if (praemie > 1000 && praemie <= 1500) {
			if (readCookie('partner') == 'ggw') {
				beitraege[0] = '84,00';
				beitraege[1] = '7,00';
			} else if (readCookie('partner') == 'kwk' || readCookie('partner') == 'is24advent') {
				beitraege[0] = '79,00';
				beitraege[1] = '6,58';
			} else {
				beitraege[0] = '89,00';
				beitraege[1] = '7,42';
			}
		} else if (praemie > 1500 && praemie <= 2000) {
			if (readCookie('partner') == 'kwk' || readCookie('partner') == 'is24advent') {
				beitraege[0] = '99,00';
				beitraege[1] = '8,25';
			} else {
				beitraege[0] = '109,00';
				beitraege[1] = '9,08';
			}
		} else if (praemie > 2000 && praemie <= 2500) {
			if (readCookie('partner') == 'kwk' || readCookie('partner') == 'is24advent') {
				beitraege[0] = '119,00';
				beitraege[1] = '9,92';
			} else {
				beitraege[0] = '129,00';
				beitraege[1] = '10,75';
			}
		} else if (praemie > 2500 && praemie <= 3000) {
			if (readCookie('partner') == 'kwk' || readCookie('partner') == 'is24advent') {
				beitraege[0] = '139,00';
				beitraege[1] = '11,58';
			} else {
				beitraege[0] = '149,00';
				beitraege[1] = '12,42';
			}
		} else if (praemie > 3000 && praemie <= 5000) {
			if (readCookie('partner') == 'kwk' || readCookie('partner') == 'is24advent') {
				beitraege[0] = '219,00';
				beitraege[1] = '18,25';
			} else {
				beitraege[0] = '229,00';
				beitraege[1] = '19,08';
			}
		} else if (praemie > 5000 && praemie <= 7000) {
			if (readCookie('partner') == 'kwk' || readCookie('partner') == 'is24advent') {
				beitraege[0] = '309,00';
				beitraege[1] = '25,75';
			} else {
				beitraege[0] = '319,00';
				beitraege[1] = '26,58';
			}
		} else if (praemie > 7000 && praemie <= 10000) {
			if (readCookie('partner') == 'kwk' || readCookie('partner') == 'is24advent') {
				beitraege[0] = '389,00';
				beitraege[1] = '32,42';
			} else {
				beitraege[0] = '399,00';
				beitraege[1] = '33,25';
			}
		} else if (praemie > 10000) {
			beitraege[0] = '<em style="color:red">-/-</em>';
			beitraege[1] = '<em style="color:red">-/-</em>';
		}
	}
	
	return beitraege;
}

function germanPrice(price) {
	price = String(price).replace(/\./g, ",");
	price = price.split(',')
		
	if (price[1]) {
		if (price[1].length == 1) {
			price = price[0] + ',' + price[1] + '0';
		} else {
			price = price[0] + ',' + price[1];
		}
	} else {
		price = price[0]
	}
	return price
}

function isEmail(string) {
	if (!string) {
		return false
	}
  if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
    return true;
  else
    return false;
}

function submitKontakt(){
	frm = document.forms['kontakt'];
	
	var err = '';
	
	if (frm.name.value == '') { err += "\nName"; }
	if (frm.vorname.value == '') { err += "\nVorname"; }
	if (frm.email.value == '' || !(isEmail(frm.email.value))) { err += "\nMailadresse"; }
	
	if(frm.kontaktart.value == 'makler_partner' || frm.kontaktart.value == 'vermieter_partner') {
		if (frm.strasse.value == '') { err += unescape("\nStra%DFe"); }
		if (frm.hausnr.value == '') { err += unescape("\nHausnummer"); }
		if (frm.plz.value == '') { err += unescape("\nPLZ"); }
		if (frm.ort.value == '') { err += unescape("\nOrt"); }
	}
	
	if (err == '') {
		frm.submit();
	} else {
		alert(unescape('Bitte f%FCllen Sie die folgenden Felder aus:' + err));
	}
}

function togglexy(partner) {
	var obj;
	if (partner) {
		fillVermieterAS();
	}
	obj = document.getElementById('ansprcheck');
	if (obj) {
		vis = obj.checked;
		
		obj2 = document.getElementById('ansprechpartner');
		if (obj2) {
			if (vis) {
				obj2.style.display = 'block';
			} else {
				obj2.style.display = 'none';
			}
		}		
	}
}

function submitBewerbung(){
	frm = document.forms['bewerbung'];
	
	var err = '';
	
	if (frm.Name.value == '') { err += "\nName"; }
	if (frm.Vorname.value == '') { err += "\nVorname"; }
	if (frm.Vorname.value == '') { err += "\nTelefon"; }
	if (frm.Upload.value == '') { err += "\nBewerbungsunterlagen"; }
	if (frm.EMail.value == '' || !(isEmail(frm.EMail.value))) { err += "\nE-Mail"; }
	
	if (err == '') {
		frm.submit();
	} else {
		alert(unescape('Bitte f%FCllen Sie die folgenden Felder aus:' + err));
	}
}

$(document).ready(function(){
	$('#plogin_user_guest').keypress(function (event) {
		if(event.keyCode == 13) {$('#plogin_pw_guest').focus()}
	});
	$('#plogin_pw_guest').keypress(function (event) {
		if(event.keyCode == 13) {partnerlogin('guest', true)}
	});
	$('#plogin_user_pers').keypress(function (event) {
		if(event.keyCode == 13) {$('#plogin_pw_pers').focus()}
	});
	$('#plogin_pw_pers').keypress(function (event) {
		if(event.keyCode == 13) {partnerlogin('pers', false)}
	});
	
	var cat = readCookie('cat');
	if (typeof(cat) == "string") {
		cat = cat.charAt(0).toUpperCase() + cat.substr(1);
		$('#mieter_'+cat).show();
		$('.mieter_'+cat).show();
	}
	
	$('a').bind('click', function () {					
		this.blur();
	});
	$('input[name="kautionsrechner"]').bind('keyup', function () {
		if($('input[name="kautionsrechner"]').val() == '' ) {
			$('#result').slideUp('normal');
		} else {
			$('#result').slideDown('normal');
		}
		fillPraemie($('input[name="kautionsrechner"]').val());
	});
	$('input[name="kautionsrechner"]').bind('focus', function () {
		if (focuscounter == 0) {
			$('input[name="kautionsrechner"]').val('')
			focuscounter++;
		}
	});
	$('#send_business_reservation').bind('click', function () {					
		sendBusinessReservation();
	});
});

function showCallBack() {
	$('#callbackbutton').hide();
	$('#callbackform').show();
}

function sendCallBack(type) {
	if($('#telefonnr').val() != '') {		
		$.post("/callback", { telefon: $('#telefonnr').val(), uhrzeit: $('#time').val(), art: type }, function(data){ }, "json");
		$('#callbackform').slideUp('fast');
		$('#callbackdanke').slideDown('slow');
	} else {
		alert('Bitte geben Sie eine Telefonnummer an.')
	}
}

function sendContactCH() {
	var errtext = 'Folgende Felder m%FCssen noch ausgef%FCllt werden:\n';
	var noerr = true;
	if ($('#anrede').val() == '') 	{ errtext += '- Anrede\n'; 	noerr = false; }
	if ($('#name').val() == '') 		{ errtext += '- Name\n'; 		noerr = false; }
	if ($('#telefon').val() == '') 	{ errtext += '- Telefon\n';	noerr = false; }
	if ($('#email').val() == '') 		{ errtext += '- E-Mail-Adresse\n';	noerr = false; }
	
	if (!noerr) {
		alert(unescape(errtext));
	} else {		
		$.post('http://www.eurokaution.ch/cgi/engine.pl/schweizkontakt', { 	mieter: $('#mieter').val(),
																 	vermieter: $('#vermieter').val(),
					 												anrede: $('#anrede').val(), 
																	vorname: $('#vorname').val(),
																	name: $('#name').val(),
																	email: $('#email').val(),
																	telefon: $('#telefon').val(),
																	nachricht: $('#nachricht').val() }, 
		function(){ }, 'json');
		$('#schweizkontakt').fadeOut('slow', function () { $('#schweizdanke').fadeIn('slow') });
	}
}

function gup(strParamName){
	var strReturn = "";
	var strHref = window.location.href;
	if ( strHref.indexOf("?") > -1 ){
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
	    var aQueryString = strQueryString.split("&");
	    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
	    	if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
	    		var aParam = aQueryString[iParam].split("=");
	    		strReturn = aParam[1];
	    		break;
	    	}
	    }
	}
	return unescape(strReturn);
} 

function readCookie(name) {
	if (name == "") return ""; // Ohne Name gibt es auch keinen Wert
	var dc = document.cookie;
	
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return ""; // Wenn der Name (Prefix) ohne vorgestelltes ; nicht am Zeilenanfang steht, dann ist er Teil eines anderen Cookies und somit nicht was wir suchen.
	} else {
		begin += 2 // Plus 2 damit der Index nicht mehr auf dem ; steht
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) { // Wenn kein ; vorhanden ist, dann handelt es sich um den letzten Wert im Cookie-String. Somit ist das Ende des Cookie-Strings auch gleich das ende des gesuchten Wertes.
		end = dc.length;
	}
	var value = unescape(dc.substring(begin + prefix.length, end)); // Der Wert des gesuchten Cookies wird als Teilstring aus dem gesamten Cookie-Strings extrahiert.

	if (value == ";") { // bug with IE
		return ""
	}
	
	return value;
}

function service_box_toggle(open_time){

    if($('.service_center_box_act').is(':visible')){
  	  $('.service_center_box_act').animate({
				 right: '-=304px'
	  		 }, 500, function() {
			    $('.service_center_box_in').show(); 
	      	 	$('.service_center_box_act').hide(); 
	      	 	
	      });
  	
	  }else{
	  	
		$('.service_center_box_in').hide();
		$('.service_center_box_act').show();  
	   	$('.service_center_box_act').animate({
			 	right: '+=304px'
		  	}, 500, function() {
		  		if(open_time && open_time > 0){
		      	 	   setTimeout('service_box_toggle()',open_time);
		      	 	}
			
	    	});
	  }
}

function toggleLogin() {
	if ($('#plogin_in').css('display') == 'none') {
		$('#plogin_act').hide();
		$('#plogin_in').show();
		$('.plogin').slideUp('normal');
	} else {
		$('#plogin_in').hide();
		$('#plogin_act').show();
		$('.plogin').slideDown('normal');	
	}
}

function showSD () {
    if (!$('#shadowdiv').length) {
        $(document.body).prepend('<div id="shadowdiv"></div>');
    }
    $('#shadowdiv').height($(document).height());
    $('#shadowdiv').show();
}

function hideSD () {
    $('#shadowdiv').hide();
}



function partnerlogin(suffix, can_be_guest) {
	var error = false;
	if ($('#plogin_user_' + suffix).val() == '') {
		error = true;
		$('#plogin_user_' + suffix).css('background-color', '#fe9a9a');
	} else {
		$('#plogin_user_' + suffix).css('background-color', '#FFFFFF');
	}
	if ($('#plogin_pw_' + suffix).val() == '') {
		error = true;
		$('#plogin_pw_' + suffix).css('background-color', '#fe9a9a');
	} else {
		$('#plogin_pw_' + suffix).css('background-color', '#FFFFFF');
	}
	
	if (!error) {
	   var expectation = can_be_guest ? 'gast' : 'mitarbeiter';
	   
	   // Shadow und Ladensymbol anzeigen
	   showSD();
	   
	   var login_error = function (error) {
	       alert(unescape(error));
	       // Fehlermeldung anzeigen
	       // nach bestätigung vom User Fehlermeldung und Schatten ausblenden
           hideSD();
	   }
	   
        jQuery.ajax({
            url: "/partner/login",
            dataType: "json",
            type: "POST",
            cache: false,
            data: {
                user: $('#plogin_user_' + suffix).val(),
                pass: $('#plogin_pw_' + suffix).val(),
                expectation: expectation,
                rand: Math.random()
            },
            success: function (data) {
                if (data && data.success == 1) {
                    hideSD();
                    update_pp_visibility()
                    if (data.level == 'mitarbeiter') {
                        document.location.href = '/privat/partner-portal-intern/';
                    } else {
                        document.location.href = '/privat/partner-portal/';
                    }
                } else {
                    var error = "unknown error";
                    if (data && data.error != "")
                        error = data.error;
                    login_error(error);
                }
            },
            error: function (xhr, error) {
                login_error(error);
            }
        });
	}
}

function partnerlogout() {

       showSD();

       var logout_error = function (error) {
           alert(unescape(error));
           // Fehlermeldung anzeigen
           // nach bestätigung vom User Fehlermeldung und Schatten ausblenden
           hideSD();
       }

       jQuery.ajax({
            url: "/partner/logout",
            dataType: "json",
            type: "POST",
            cache: false,
            data: { rand: Math.random() },
            success: function (data) {
                if (data && data.success == 1) {
                    hideSD();
                    update_pp_visibility()
                    document.location.href = '/';
                } else {
                    var error = "unknown error";
                    if (data && data.error != "")
                        error = data.error;
                    logout_error(error);
                }
            },
            error: function (xhr, error) {
                logout_error(error);
            }
        });
}

function update_pp_visibility() {
    var list = (""+decodeURIComponent(readCookie('ppsession'))).split(/#/);
    if (list && list.length > 1 && list[1] != "") {
        if (list[1] == 'mitarbeiter') {
            $('#partner_intern_login').hide();
            $('#partner_werden').hide();
            $('#partner_gast_navi').show();
            $('#partner_intern_navi').show();
        } else {
            $('#partner_intern_navi').hide();
            $('#partner_gast_navi').show();
            $('#partner_intern_login').show();
            $('#partner_werden').show();
        }
        var name = "Gast";
        if (list.length > 2)
            name = list[2];
        $('#plogin_full_name').text(name);
        $('#plogin_loginform').hide();
        $('#plogin_logoutform').show();
        if (list.length > 3 && list[3]) {
            $('#partner_edit_link').show();
        } else {
            $('#partner_edit_link').hide();
        }
    } else {
        $('#partner_gast_navi').hide();
        $('#partner_intern_navi').hide();
        $('#partner_intern_login').hide();
        $('#plogin_logoutform').hide();
        $('#plogin_loginform').show();
        $('#partner_edit_link').hide();
        $('#partner_werden').show();
    }
}

function portalVertragssuche () {
    var data = {
        filter_begriff:     $('input[name="filter_begriff"]').val(),
        filter_laufende:    $('input[name="filter_laufende"]:checked').val()
    };
    if ($('select[name="filter_mitarbeiter"]').length) {
        data['filter_mitarbeiter'] = $('select[name="filter_mitarbeiter"]').val()
    }

    document.vertragsdaten_geladen = {};
    $('#vertragssucheergebnis').html('<div style="padding:20px 0 20px 300px;"><img src="/shared/pics/portal/loader_ring_big.gif" width="66" height="66"></div>');
    $('#vertragssucheergebnis').load('/partner/vertragssuche', data);
}

function toggleVertrag(id) {
    if (!document.vertragsdaten_geladen)
        document.vertragsdaten_geladen = {};
        
    var line    = $('#ergebnisline_'+id);
    var content = $('#ergebniscontent_'+id);
        if (line.hasClass('ergebnisline-act')) {
            line.removeClass('ergebnisline-act').addClass('ergebnisline');
            content.slideUp('fast');
        } else {
            line.addClass('ergebnisline-act').removeClass('ergebnisline');
            content.slideDown('fast');
            if (!document.vertragsdaten_geladen[id]) {
                document.vertragsdaten_geladen[id] = 1;
                content.html('<div style="padding:6px 0 6px 286px;"><img src="/shared/pics/portal/loader_ring_big.gif" width="66" height="66"></div>');
                content.load("/partner/vertragsdaten", { vertragsdaten_id: id });
            }
        }
}

function toggleVerKat(object) {
    var label = $(object);
    var content = $('#'+(""+label.attr('id')).replace('label','content'));
    
    if (label.hasClass('active')) {
        label.removeClass('active');
        content.slideUp('fast');
    } else {
        label.addClass('active');
        content.slideDown('fast');
    }
}

function sendPortalKontakt() {
	var error = false;
	var formfields = $('#feedbackformular').children('input, select[name=anrede], textarea');
	
	$.each(formfields, function(index, value) {
		if ($(value).val() == '') {
			error = true;
			$(value).css('background-color', '#f3b8b8');
		} else {
			$(value).css('background-color', '#FFFFFF');
		}
		if ($(value).attr('name') == 'email') {
			if (!isEmail($(value).val())) {
				error = true;
				$(value).css('background-color', '#f3b8b8');
			}
		}
	});
	
	if (!error) {
		formfields = formfields.add('select[name=thema], select[name=titel]');
		$.ajax({
	  	type: "GET",
	   	url: '/portalkontakt',
	   	data: formfields.serialize(),
	   	success: function(msg){
	   		$('#formular').fadeOut('normal', function(){
	   			$('#danke').fadeIn('normal');
	   		});
	   	}
	 	});
	}
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function scrollTo(id) {
	if ($("#"+id+'_answer').offset()) {
		$('html, body').animate({
			scrollTop: $("#"+id+'_answer').offset().top
		}, 1000);
	}
}

function scrollBack() {
	$('html, body').animate({
		scrollTop: $("#anchors").offset().top
	}, 1000);
}

function cookieLink(link, val) {
	document.cookie = "cat="+val+";path=/";
	document.location.href = link;
}

function jumpToLetter(letter) {
	if ($("#letter_"+letter).offset()) {
		$('html, body').animate({
			scrollTop: $("#letter_"+letter).offset().top
		}, 1000);
	}
}

function sendPersDaten() {
    var data = $('form[name=persdaten]').serialize() + "&rand=" + Math.random();
    $('#persdatenformular').html('<div style="padding:6px 0 6px 230px;"><img src="/shared/pics/portal/loader_ring_big.gif" width="66" height="66"></div>');
    $('#persdatenformular').load('/partner/persdaten/process', data);
}

function sendPartDaten() {
    var data = $('form[name=partdaten]').serialize() + "&rand=" + Math.random();
    $('#partdatenformular').html('<div style="padding:6px 0 6px 230px;"><img src="/shared/pics/portal/loader_ring_big.gif" width="66" height="66"></div>');
    $('#partdatenformular').load('/partner/partdaten/process', data);
}

document.current_loaded_blz = null;
document.current_pbankstamm_id = null;
document.pbankstamm_request = null;
function load_partner_bankstammdaten() {
    var blz = ("" + $('input[name=bankleitzahl]').val()).replace(/[^\d]+/g, '');
    $('input[name=bankleitzahl]').val(blz);
    
    if (document.current_loaded_blz == blz)
        return;
    
    var select = $('select[name=bankstammdaten_id]');
    select.attr('selectedIndex', -1);
    select.html('');
    select.attr('disabled', true);
    document.current_loaded_blz = null;
    
    if (document.pbankstamm_request) {
        document.pbankstamm_request.abort();
        document.pbankstamm_request = null;
    }
    
    if (blz.match(/^\d{8}$/)) {
        select.append('<option>loading ...</option>');
        select.attr('selectedIndex', 0);
        document.current_loaded_blz = blz;
        document.pbankstamm_request = $.ajax({
            url: '/partner/load_bankstammdaten_by_blz',
            data: { blz: blz },
            dataType: 'json',
            method: 'POST',
            success: function (data) {
                select.html('');
                document.pbankstamm_request = null;
                if (data.unbekannte_blz) {
                    alert('Unbekannte Bankleitzahl: ' + blz);
                }
                if (data.bankstammdaten) {
                    $.each(data.bankstammdaten, function (index, bsd) {
                        select.append('<option value="'+bsd.id+'">'+bsd.bankname+' ('+bsd.postleitzahl+' '+bsd.ort+')</option>');
                        if (bsd.id == document.current_pbankstamm_id) {
                            select.attr('selectedIndex', index);
                        }
                    });
                    if (data.bankstammdaten.length > 0) {
                        select.attr('disabled', false);
                    }
                }
            },
            error: function (xml, error) {
                select.html('');
                document.pbankstamm_request = null;
                alert(unescape(error));
            }
        });
    }
}

function check_partner_passwort () {
    var ok = true;
   var pass = $("input[name=passwort]").val();
   var sonder = pass.replace(/[\w\d\s]/g,'').length;
   if (pass.match(/[a-zA-Z]/)) {
       $('#check_abc').removeClass("check-fail").addClass("check-ok");
   } else {
       $('#check_abc').removeClass("check-ok").addClass("check-fail");
       ok = false;
   }
   if (pass.match(/[_\-]/) || sonder) {
       $('#check_sonder').removeClass("check-fail").addClass("check-ok");
   } else {
       $('#check_sonder').removeClass("check-ok").addClass("check-fail");
       ok = false;
   }
   if (pass.match(/\d/)) {
       $('#check_zahl').removeClass("check-fail").addClass("check-ok");
   } else {
       $('#check_zahl').removeClass("check-ok").addClass("check-fail");
       ok = false;
   }
   if (pass.length >= 8) {
       $('#check_lng').removeClass("check-fail").addClass("check-ok");
   } else {
       $('#check_lng').removeClass("check-ok").addClass("check-fail");
       ok = false;
   }
   
   return ok;
}

function sendPartnerPasswort() {
    if ($('input[name=passwort]').val() != $('input[name=passwort_w]').val()) {
        alert("Das neue Passwort und die Wiederholung stimmen nicht überein.");
    } else if (!check_partner_passwort()) {
        alert("Das neue Passwort erfüllt nicht alle Kriterien für ein sicheres Passwort.");
    } else {
        var data = $('form[name=passwortdaten]').serialize() + "&rand=" + Math.random();
        $('#passwortformular').html('<div style="padding:6px 0 6px 230px;"><img src="/shared/pics/portal/loader_ring_big.gif" width="66" height="66"></div>');
        $('#passwortformular').load('/partner/passwort/process', data);
    }
}

$(document).ready(function() {
    document.zanpid = gup('zanpid');
    if (document.zanpid.length > 0) {
        $('a').each(function (index, anchor) {
            anchor = $(anchor);
            var href = anchor.attr('href');
            if (href && !href.match(/javascript:|mailto:/)) {
	            if (!href.match(/\?/)) {
	                href += '?';
	            }
	            if (href.match(/[^\?\&]$/)) {
	                href += '&';
	            }
	            href += 'zanpid='+document.zanpid;
	            anchor.attr('href', href);
	        }
        })
    }
    studiTeaser();
});


function geheZu(url) {
    if (document.zanpid) {
        if (!url.match(/\?/)) {
            url += '?';
        }
        if (url.match(/[^\?\&]$/)) {
            url += '&';
        }
        url += 'zanpid='+document.zanpid;
    }
    window.location.href = url;
}

$.fn.idle = function(time) {
	var o = $(this);
    o.queue(function() {
    	setTimeout(function() {
        	o.dequeue();
    	}, time);
    });
    return this;
}

function studiTeaser() {
	$('#kaution_zahlen_ist_out').fadeIn('normal').idle(4000).fadeOut('normal', function () {
		$('#jetzt_neu_studikaution').fadeIn('normal').idle(4000).fadeOut('normal', function () {
			studiTeaser();
		});
	});
}

function Freund(nr) {
	var self = this;
	this.nr = nr;
	this.vorname 	= new Field('input[name=vorname_'+nr+']');
	this.nachname 	= new Field('input[name=nachname_'+nr+']');
	this.email 		= new Field('input[name=email_'+nr+']');
	
	this.geworben_von_hash = gup('kunde');
	this.error = false;
	this.validate();
}

function Field(selector) {
	var self = this;
	this.jq = $(selector);
	this.error = false;
	this.val = this.jq.val();
	this.fail = function () {
		self.jq.css('background-color', '#ff8c8c');
		self.error = true;
	}
	this.noFail = function () {
		self.jq.css('background-color', '#FFFFFF');
		self.error = false;
	}
}

Freund.prototype.validate = function() {
	var leercounter = 0;
	if (this.vorname.jq.val() == '') {
		this.error = true;
		this.vorname.fail();
		leercounter++;
	} else {
		this.vorname.noFail();
	}
	if (this.nachname.jq.val() == '') {
		this.error = true;
		this.nachname.fail();
		leercounter++;
	} else {
		this.nachname.noFail();
	}
	if (!isEmail(this.email.jq.val()) && !this.email.jq.val() == '') {
		this.error = true;
		this.email.fail();
	} else if (this.email.jq.val() == '') {
		this.error = true;
		this.email.fail();
		leercounter++;
	} else {
		this.email.noFail();
	}
	
	if (leercounter == 3) {
		this.error = false;
		freund--;
	}
}

Freund.prototype.writeErrors = function (errors) {
	if (errors.vorname != undefined) {
		this.vorname.fail();
	}
	if (errors.nachname != undefined) {
		this.nachname.fail();
	}
	if (errors.email != undefined) {
		this.email.fail();
	}
}

var freund = 0;
function weiterenFreund() {
	freund++;
	$('.kwk_nr'+freund).slideDown('normal', function () {
		if (freund == 4) {
			$('#kwk_weitere').slideUp('fast');
		}
	});
}

function get_kwk_name(kwk_hash) {      
  var data = new Array();
	data = {kwk_hash : kwk_hash};
		
  $.ajax({
	   		type: "POST",
	   		url: "/ajax/kwk_name",
	   		data: $.toJSON(data),
	   		dataType: "json",
	   		cache: false,
	   		success: function(msg){
	     		if (msg.success == 1) {
	     			$("#kwk_name").html(" "+msg.kwk_name);
	     			$("#kwk_kunde_name").html(" "+msg.kwk_kunde_name);
	     		  if (msg.kwk_kunde_name == '') {
	     		    $(".kwk_info").hide();
	     		  }
	     		} else if (msg.success == 0) {
	     			$(".kwk_info").hide();
	     		}
	     		$("#contentcontainer").show();
	     		$("#ajaxloader").hide();
	   		},
	   		error: function () {
	   			$("#ajaxloader").hide();
	   			alert('Leider gibt es zur Zeit ein technisches Problem. Bitte versuchen Sie es zu einem späteren Zeitpunkt noch einmal.');
	   		}
		});
}

function sendFreunde() {
	var freunde = new Array();
	var versand = new Array();
	var i = 0;
	var freunde_offen = freund;
	while (i <= freund) {
		freunde.push(new Freund(i));
		i++;
	}
	
	i = 0;
	var error = false;
	while (i < freunde.length) {
		versand.push({
			vorname 			: freunde[i].vorname.val,
			nachname 			: freunde[i].nachname.val,
			email 				: freunde[i].email.val,
			geworben_von_hash	: freunde[i].geworben_von_hash
		});
		if (freunde[i].error) {
			error = true;
		}
		i++;
	}
	while (freunde_offen > freund) {
		versand.pop();
		freunde_offen--;
	}
	
	if (!$('input[name=agb]').attr('checked')) {
		alert(unescape('Bitte akzeptieren Sie die Gesch%E4ftsbedingungen'));
		error = true;
	}
	
	if (!error) {
		var i = 1;
		var data = new Array();
		data = {json : versand};
		$.ajax({
	   		type: "POST",
	   		url: "/ajax/kwk",
	   		data: { json: $.toJSON(data) },
	   		dataType: "json",
	   		cache: false,
	   		success: function(msg){
	   			message = msg;
	     		if (msg.success == 1) {
	     			$('#kwk_start').fadeOut('fast', function () {
	     				$('#kwk_danke').fadeIn('fast');
	     			});
	     		} else if (msg.success == 0) {
	     			var i = 0;
	     			if (msg.errors[0]['geworben_von_hash']) {
	     				alert(msg.errors[0]['geworben_von_hash']);
	     			} else {
						while (i < msg.errors.length) {
							var errorfreund = new Freund(i);
							errorfreund.writeErrors(msg.errors[i]);
							i++;
						}
					}
	     		}
	   		},
	   		error: function () {
	   			alert('Leider gibt es zur Zeit ein technisches Problem. Bitte versuchen Sie es zu einem späteren Zeitpunkt noch einmal.');
	   		}
		});
	}
}

var message;

function freundeErrorHandler(obj) {

}


(function($){$.toJSON=function(o)
{if(typeof(JSON)=='object'&&JSON.stringify)
return JSON.stringify(o);var type=typeof(o);if(o===null)
return"null";if(type=="undefined")
return undefined;if(type=="number"||type=="boolean")
return o+"";if(type=="string")
return $.quoteString(o);if(type=='object')
{if(typeof o.toJSON=="function")
return $.toJSON(o.toJSON());if(o.constructor===Date)
{var month=o.getUTCMonth()+1;if(month<10)month='0'+month;var day=o.getUTCDate();if(day<10)day='0'+day;var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10)hours='0'+hours;var minutes=o.getUTCMinutes();if(minutes<10)minutes='0'+minutes;var seconds=o.getUTCSeconds();if(seconds<10)seconds='0'+seconds;var milli=o.getUTCMilliseconds();if(milli<100)milli='0'+milli;if(milli<10)milli='0'+milli;return'"'+year+'-'+month+'-'+day+'T'+
hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
if(o.constructor===Array)
{var ret=[];for(var i=0;i<o.length;i++)
ret.push($.toJSON(o[i])||"null");return"["+ret.join(",")+"]";}
var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;if(typeof o[k]=="function")
continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);}
return"{"+pairs.join(", ")+"}";}};$.evalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);return eval("("+src+")");};$.secureEvalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
return eval("("+src+")");else
throw new SyntaxError("Error parsing JSON, source is not valid.");};
$.quoteString=function(string){
  if(string.match(_escapeable)) {
    return'"'+string.replace(_escapeable,function(a) {
      var c=_meta[a];
       if(typeof c==='string') return c;
       c=a.charCodeAt();
       return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);
    })+'"';
  }
  return'"'+string+'"';};
  var _escapeable=/[\"\\\x00-\x1f\x7f-\x9f]/g;
  var _meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};
})(jQuery);

function sendQuelle() {
	var data = new Array();
	data = {quelle : $('input[name=quelle]:checked').val()};
		
  	$.ajax({
   		type: "POST",
   		url: "/ajax/quelle",
   		data: { json: $.toJSON(data) },
   		dataType: "json",
   		cache: false,
   		success: function (msg) {
 			$('#quellen').fadeOut('fast', function (){
 				$("#quellen_success").fadeIn('fast');
 			});
   		},
   		error: function () {
   			alert('Leider gibt es zur Zeit ein technisches Problem. Bitte versuchen Sie es zu einem späteren Zeitpunkt noch einmal.');
   		}
	});
}

function initSlider(max, min, step, value, value_string, calcFunction, subfactor) {
	$( "#slider" ).slider({
		max : max,
		min : min,
		orientation : 'horizontal',
		step : step,
		value : value,
		animate: true,
		slide: function(event, ui) {
			$('#subslider').css('margin-right', (520-(ui.value/subfactor))+'px');
			calcFunction(ui.value);
		}
	});
	$('#slider a').text(value_string);
	calcFunction(value);
}

function slidePraemie(praemie) {
	var beitraege = new Array();
	if (praemie > 0 && praemie <= 1000) {
		beitraege[0] = '69,00 €';
		beitraege[1] = '5,75 €';
	} else if (praemie > 1000 && praemie <= 1500) {
		beitraege[0] = '89,00 €';
		beitraege[1] = '7,42 €';
	} else if (praemie > 1500 && praemie <= 2000) {
		beitraege[0] = '109,00 €';
		beitraege[1] = '9,08 €';
	} else if (praemie > 2000 && praemie <= 2500) {
		beitraege[0] = '129,00 €';
		beitraege[1] = '10,75 €';
	} else if (praemie > 2500 && praemie <= 3000) {
		beitraege[0] = '149,00 €';
		beitraege[1] = '12,42 €';
	} else if (praemie > 3000 && praemie <= 5000) {
		beitraege[0] = '229,00 €';
		beitraege[1] = '19,08 €';
	} else if (praemie > 5000 && praemie <= 7000) {
		beitraege[0] = '319,00 €';
		beitraege[1] = '26,58 €';
	} else if (praemie > 7000 && praemie <= 10000) {
		beitraege[0] = '399,00 €';
		beitraege[1] = '33,25 €';
	} else if (praemie > 10000) {
		beitraege[0] = '<em style="color:red">-/-</em>';
		beitraege[1] = '<em style="color:red">-/-</em>';
	}
	$('#beitrag_pro_monat_value').text(beitraege[1]);
	$('#beitrag_pro_jahr_value').text(beitraege[0]);
	$('.ui-slider-handle').html('Ihre Kaution<br/>'+trenner(praemie)+' €');
}

function slidePraemieBusiness(praemie) {
	var beitraege = new Array();
	if (praemie > 0 && praemie <= 5000) {
		beitraege[0] = '299,00 €';
		beitraege[1] = '24,92 €';
	} else if (praemie > 5000 && praemie <= 10000) {
		beitraege[0] = '499,00 €';
		beitraege[1] = '41,58 €';
	} else if (praemie > 10000 && praemie <= 15000) {
		beitraege[0] = '699,00 €';
		beitraege[1] = '58,25 €';
	} else if (praemie > 15000 && praemie <= 20000) {
		beitraege[0] = '899,00 €';
		beitraege[1] = '74,92 €';
	} else if (praemie > 20000 && praemie <= 25000) {
		beitraege[0] = '1.099,00 €';
		beitraege[1] = '91,58 €';
	} else if (praemie > 25000 && praemie <= 30000) {
		beitraege[0] = '1.299,00 €';
		beitraege[1] = '108,25 €';
	} else if (praemie > 30000) {
		beitraege[0] = '<em style="color:red">-/-</em>';
		beitraege[1] = '<em style="color:red">-/-</em>';
	}
	$('#beitrag_pro_monat_value').text(beitraege[1]);
	$('#beitrag_pro_jahr_value').text(beitraege[0]);
	$('.ui-slider-handle').html('Ihre Kaution<br/>'+trenner(praemie)+' €');
}

function trenner(nr) {
	nr = nr+'';
	var i;
   	var j=0;
   	var trenner="";

   	i=nr.length-1;
   	while (i >= 0) {
    	trenner=nr.substr(i,1)+trenner;
      	j++;
      	if (j==3) {
         	trenner="."+trenner;
         	j=0;
      	}
      	i--;
   	}
   	if (trenner.substr(0,1) == '.') {
   		trenner = trenner.substr(1, trenner.length-1);
   	}
   	return trenner;
}


function sendBusinessReservation() {
	var mandatories = $('.mandatory');
	var error = false;
	
	$.each(mandatories, function (index,value) {
		if ($(value).val() == '') {
			$(value).addClass('fail');
			error = true;
		} else {
			$(value).removeClass('fail');
		}
	});
	
	if ($('#postleitzahl').val().length != 5) {
		$('#postleitzahl').addClass('fail');
		error = true;
	} else {
		$('#postleitzahl').removeClass('fail');
	}
	
	if (!isEmail($('#email').val())) {
		$('#email').addClass('fail');
		error = true;
	} else {
		$('#email').removeClass('fail');
	}
	
	if (!error) {
		$('#business_reservation, #business_reservation_text').fadeOut('normal', function (){
			$('.br_loader').fadeIn('nromal');
		});
		
		var data = new Object();
		$.each($('#business_reservation').serializeArray(), function (index, value) { 
			data[value.name] = value.value;
		});
		
		$('[name=telefonart]').val() == 'festnetz' ? data['telefon'] = $('#telefon').val() : data['mobilnummer'] = $('#telefon').val(); 
		$.ajax({
            url: "/business/reservation",
            dataType: "json",
            type: "POST",
            cache: false,
            data: {json : $.toJSON(data)},
            success: function (data) {
            	$('.br_loader').fadeOut('normal', function (){
        			$('#business_reservation_danke').fadeIn('nromal');
        		});
            },
            error: function (xhr, error) {
                alert(error);
            }
        });
	}
}

function getDataForSelects() {
	$.ajax({
        url: "/business/getDataFromCRM",
        dataType: "json",
        type: "POST",
        cache: false,
        success: function (msg) {
        	var i = 0;
       		var options = '<option></option>';
       		if (msg.branchen != null) {
				while (i < msg.branchen.length) {
					if (msg.branchen[i]['id'] != 59) {
						if(msg.branchen[i]) {
							options += '<option value="'+msg.branchen[i]['id']+'">'+msg.branchen[i]['name']+'</option>';
						}
					}
					i++;
				}
				options += '<option value="59">Sonstiges</option>';
				$('select:[name="branchen_id"]').html(options);
			}
       		
       		i = 0;
       		options = '<option></option>';
			while (i < msg.cbi_crefo_rechtsformen.length) {
				if(msg.cbi_crefo_rechtsformen[i]) {
					options += '<option value="'+msg.cbi_crefo_rechtsformen[i]['id']+'">'+msg.cbi_crefo_rechtsformen[i]['name']+'</option>';
				}
				i++;
			}
			$('select:[name="cbi_crefo_rechtsformen_id"]').html(options);
			
			i = 0;
	   		options = '<option></option>';
	   		$.each(msg.titel_list_key, function (index, value) {
				options += '<option value="'+msg.titel_list_value[i]+'">'+value+'</option>';
				i++;
			});
			$('select:[name="titel_id"]').html(options);
			
			$('.br_loader').fadeOut('normal', function () {
				$('#business_reservation').fadeIn('normal');
			});
			
			i = 0;
	   		options = '<option></option>';
			while (i < msg.nutzung.length) {
				if(msg.nutzung[i]) {
					options += '<option value="'+msg.nutzung[i]['id']+'">'+msg.nutzung[i]['name']+'</option>';
				}
				i++;
			}
			$('select:[name="nutzung_id"]').html(options);
			
        },
        error: function (xhr, error) {
            
        }
    });
}
