var n = 1;
var changed_mbd = 0;
var changed_mba = 0;
var changed_mbi = 0;

function checkAndSubmitBEZ(){
    var sError = "";
    if (document.getElementById('name').value == "") {
        sError += "Name\n";
    }
    if (document.getElementById('vorname').value == "") {
        sError += "Vorname\n";
    }
    if (document.getElementById('strasse').value == "") {
        sError += "Straße\n";
    }
    if (document.getElementById('plzort').value == "") {
        sError += "PLZ, Ort\n";
    }
    if (document.getElementById('email').value == "") {
        sError += "E-Mail\n";
    }
    if (document.getElementById('telefon').value == "") {
        sError += "Telefon\n";
    }
    if (document.getElementById('kredit').value == "") {
        sError += "Kreditinstitut\n";
    }
    if (document.getElementById('kontoih').value == "") {
        sError += "Kontoinhaber\n";
    }
    if (document.getElementById('blz').value == "") {
        sError += "Bankleitzahl\n";
    }
    if (document.getElementById('konto').value == "") {
        sError += "Kontonummer\n";
    }
    
    if (sError.length > 0) {
        alert("Folgende Felder müssen noch ausgefüllt werden:\n\n" + sError);
        return false;
    }
    else {
        unlock();
    }
}

function unlock() {
	var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
            var messy = ajaxRequest.responseText;
		    displayMessage(messy);
			alert(messy);
			//document.getElementById('centercm').innerHTML = ajaxRequest.responseText;
        }
    }
    var name = document.getElementById('name').value;
	var vorname = document.getElementById('vorname').value;
    var strasse = document.getElementById('strasse').value;
	var plzort = document.getElementById('plzort').value;
	var email = document.getElementById('email').value;
	var telefon = document.getElementById('telefon').value;
	var kredit = document.getElementById('kredit').value;
	var kontoih = document.getElementById('kontoih').value;
	var blz = document.getElementById('blz').value;
	var konto = document.getElementById('konto').value;
	var lang = document.getElementById('ajaxLang').value;
	var unlockkey = document.getElementById('unlockkey').value;
    var queryString = "?name=" + name + "&lang=" + lang + "&vorname=" + vorname + "&strasse=" + strasse + "&plzort=" + plzort + "&email=" + 
	email + "&telefon=" + telefon + "&kredit=" + kredit + "&kontoih=" + kontoih + "&blz=" + blz + "&konto=" + konto + "&unlockkey=" + unlockkey;
    ajaxRequest.open("GET", "ajax/unlock.php" + queryString, true);
    ajaxRequest.send(null);
}

function getFreeUsername(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
            var sResult = ajaxRequest.responseText;
            var aResult = sResult.split("[#]");
            document.getElementById('ajaxLoginMessage').innerHTML = aResult[0];
            if (aResult[1] == 0) {
                document.getElementById('register').disabled = true;
            }
            else {
                document.getElementById('register').disabled = false;
            }
        }
    }
    var uname = document.getElementById('ajaxUsername').value;
    var lang = document.getElementById('ajaxLang').value;
    var queryString = "?username=" + uname + "&lang=" + lang;
    ajaxRequest.open("GET", "ajax/checkUsername.php" + queryString, true);
    ajaxRequest.send(null);
}

function checkEmail(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
            var result = ajaxRequest.responseText;
            aResult = result.split("[#]");
            if (aResult[1] == 1) {
                doRegister();
            }
            else {
                setMessage('registerFailed')
            }
            document.getElementById('ajaxEmailMessage').innerHTML = aResult[0];
        }
    }
    var user = document.getElementById('ajaxUsername').value;
    var pass = document.getElementById('ajaxPW').value;
    var email = document.getElementById('ajaxEmail').value;
	var timestamp = document.getElementById('timestamp').value;
    var lang = document.getElementById('ajaxLang').value;
    var method = document.getElementById('ajaxMethod').value;
    
    var queryString = "?email=" + email + "&lang=" + lang + "&user=" + user + "&pass=" + pass + "&method=" + method + "&timestamp=" + timestamp;
    ajaxRequest.open("GET", "ajax/checkEmail.php" + queryString, true);
    ajaxRequest.send(null);
}


function setMessage(messId){
    var tw = 300;
    var h = 85;
    var w = document.body.offsetWidth / 2 - (tw / 2);
    //TagToTip(''+messId+'',FADEIN,'500',FADEOUT,'500',FIX,[w,h],BORDERCOLOR,'#ffb901', BGCOLOR,'#ffffff',WIDTH,tw);
    document.getElementById(messId).style.display = 'block';
    document.getElementById(messId).style.top = '85px';
    document.getElementById(messId).style.left = w + 'px';
    document.getElementById(messId).style.width = tw + 'px';
    var str = document.getElementById(messId).innerHTML;
    var len = str.length;
    var ttr = len * 50;
    window.setTimeout("getMessage('" + messId + "')", ttr);
}

function displayMessage(message){
    if (message.length > 0) {
        var tw = 300;
        var h = 85;
        var w = document.body.offsetWidth / 2 - (tw / 2);
        
        document.getElementById('centercm').style.display = 'block';
        document.getElementById('centercm').style.top = '85px';
        document.getElementById('centercm').style.left = w + 'px';
        document.getElementById('centercm').style.width = tw + 'px';
        document.getElementById('centercm').innerHTML = message;
        var str = document.getElementById('centercm').innerHTML;
        var len = str.length;
        var ttr = len * 50;
        if (ttr < 2000) {
            ttr = 2000;
        }
        window.setTimeout("getMessage('centercm')", ttr);
    }
}

function getMessage(messId){
    document.getElementById(messId).style.display = 'none';
}

function getMonthByDays(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 1;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
            var sToDisplay = ajaxRequest.responseText;
            var aToDisplay = sToDisplay.split("###");
            document.getElementById('monthbydaystable').innerHTML = aToDisplay[0];
            document.getElementById('kpi').innerHTML = aToDisplay[1];
            document.getElementById('pg').style.display = 'none';
            document.getElementById('ajaxPlace').value = 'mbd';
            document.getElementById('period[from]').value = document.getElementById('mbd_from').value;
            document.getElementById('period[to]').value = document.getElementById('mbd_to').value;
        }
    }
    
    var queryString = "";
    ajaxRequest.open("GET", "ajax/getMonthByDays.php" + queryString, true);
    ajaxRequest.send(null);
}

function getMonthByAccounts(from, to, username, fromDisplay, toDisplay){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 1;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
            //alle ausschalten
            //document.getElementById('centercontent').innerHTML = '';
            document.getElementById('monthbyaccounts').innerHTML = ajaxRequest.responseText;
            document.getElementById('pg').style.display = 'none';
            document.getElementById('ajaxPlace').value = 'mba';
            document.getElementById('period[from]').value = document.getElementById('mba_from').value;
            document.getElementById('period[to]').value = document.getElementById('mba_to').value;
        }
    }
    
    var queryString = "";
    ajaxRequest.open("GET", "ajax/getMonthByAccounts.php" + queryString, true);
    ajaxRequest.send(null);
}

function getMonthByIssuer(from, to, username, fromDisplay, toDisplay){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 1;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
            document.getElementById('monthbyissuer').innerHTML = ajaxRequest.responseText;
            document.getElementById('pg').style.display = 'none';
            document.getElementById('ajaxPlace').value = 'mbi';
            document.getElementById('period[from]').value = document.getElementById('mbi_from').value;
            document.getElementById('period[to]').value = document.getElementById('mbi_to').value;
        }
    }
    
    var queryString = "";
    ajaxRequest.open("GET", "ajax/getMonthByIssuer.php" + queryString, true);
    ajaxRequest.send(null);
}

function savePeriod(action){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    var place = document.getElementById('ajaxPlace').value;
    if (place == '') {
        place = 'cur';
    }
    var placeIdFrom = place + '_from';
    var placeIdTo = place + '_to';
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            //document.getElementById('centercontent').innerHTML = ajaxRequest.responseText;
            document.getElementById('pg').style.display = 'none';
            
            
            //werte in die hidden felder setzte, damit diese ausgelesen werden kÃ¶nnen
            document.getElementById(placeIdFrom).value = document.getElementById('period[from]').value;
            document.getElementById(placeIdTo).value = document.getElementById('period[to]').value;
            
            switch (place) {
                case "mbd":
                    getMonthByDays();
                    showForm('monthbydays');
                    break;
                case "mba":
                    getMonthByAccounts();
                    showForm('monthbyaccounts');
                    break;
                case "mbi":
                    getMonthByIssuer();
                    showForm('monthbyissuer');
                    break;
                case "cur":
                    getSlipsSaved();
                    break;
            }
        }
    }
    
    var from = document.getElementById('period[from]').value;
    var to = document.getElementById('period[to]').value;
    var action = action;
    var queryString = "?from=" + from + "&to=" + to + "&place=" + place + "&action=" + action;
    ajaxRequest.open("GET", "ajax/savePeriod.php" + queryString, true);
    ajaxRequest.send(null);
}

function saveSlip(action){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            //            document.getElementById('centercontent').innerHTML = ajaxRequest.responseText;
            document.getElementById('pg').style.display = 'none';
            if (document.getElementById('slips[slipsplitt]').checked) {
                getSlipPoses();
            }
            getSlipsSaved();
            document.getElementById('slippos[editid]').value = '';
            document.getElementById('slippos[use_1]').value = 'Einkauf';
            document.getElementById('slippos[ammount]').value = '0,00';
            changed_mbd++;
            changed_mba++;
            changed_mbi++;
        }
    }
    
    var slips_date = document.getElementById('slips[date]').value;
    var slips_issuer = document.getElementById('slips[store]').value;
    var slips_paymenttype = document.getElementById('slips[paymenttype]').value;
    var slippos_editid = document.getElementById('slippos[editid]').value;
    var slippos_use_1 = document.getElementById('slippos[use_1]').value;
    var slippos_account = document.getElementById('slippos[account]').value;
    var slippos_quantity = document.getElementById('slippos[quantity]').value;
    var slippos_ammount = document.getElementById('slippos[ammount]').value;
    
    var queryString = "?action=" + action + "&slippos_editid=" + slippos_editid + "&slippos_use_1=" + slippos_use_1 + "&slippos_account=" + slippos_account + "&slippos_quantity=" + slippos_quantity + "&slippos_ammount=" + slippos_ammount + "&slips_date=" + slips_date + "&slips_issuer=" + slips_issuer + "&slips_paymenttype=" + slips_paymenttype;
    ajaxRequest.open("GET", "ajax/slips.php" + queryString, true);
    ajaxRequest.send(null);
}

function delSlip(delId){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            //document.getElementById('centercontent').innerHTML = ajaxRequest.responseText;
            document.getElementById('pg').style.display = 'none';
            getSlipsSaved();
            changed_mbd++;
            changed_mba++;
            changed_mbi++;
        }
    }
    
    var action = 'delSlip';
    var queryString = "?action=" + action + "&delId=" + delId;
    ajaxRequest.open("GET", "ajax/slips.php" + queryString, true);
    ajaxRequest.send(null);
}

function getSlipPoses(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            var sSlipPosesAndSumme = ajaxRequest.responseText;
            aSLPAS = sSlipPosesAndSumme.split("[#]");
            document.getElementById('currentSlipPoses').innerHTML = aSLPAS[0];
            document.getElementById('slipSumme').innerHTML = aSLPAS[1];
            document.getElementById('pg').style.display = 'none';
        }
    }
    var action = "php_getSlipPoses";
    var queryString = "?action=" + action;
    ajaxRequest.open("GET", "ajax/slips.php" + queryString, true);
    ajaxRequest.send(null);
}

function getSlipPos(spi){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            slippos = ajaxRequest.responseText;
            var aSlipPos = slippos.split("#");
            document.getElementById('slippos[editid]').value = spi;
            document.getElementById('slippos[use_1]').value = aSlipPos[0];
            document.getElementById('slippos[account]').value = aSlipPos[1];
            document.getElementById('slippos[ammount]').value = aSlipPos[3];
            document.getElementById('pg').style.display = 'none';
        }
    }
    var action = "php_getSlipPos";
    var queryString = "?action=" + action + "&posId=" + spi;
    ajaxRequest.open("GET", "ajax/slips.php" + queryString, true);
    ajaxRequest.send(null);
}

function delSlipPos(spi){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            //slippos = ajaxRequest.responseText;
            getSlipPoses();
            document.getElementById('pg').style.display = 'none';
        }
    }
    var action = "php_delSlipPos";
    var queryString = "?action=" + action + "&posId=" + spi;
    ajaxRequest.open("GET", "ajax/slips.php" + queryString, true);
    ajaxRequest.send(null);
}

function getCashAccounts(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            document.getElementById('cashaccounts').innerHTML = ajaxRequest.responseText;
            document.getElementById('pg').style.display = 'none';
        }
    }
    var action = "php_getCashAccounts";
    var queryString = "?action=" + action;
    ajaxRequest.open("GET", "ajax/cashaccount.php" + queryString, true);
    ajaxRequest.send(null);
}

function delTransfer(delId){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            // document.getElementById('cashaccounts').innerHTML = ajaxRequest.responseText;
            getCashAccounts();
            document.getElementById('pg').style.display = 'none';
            changed_mbd++;
            changed_mba++;
            changed_mbi++;
            
        }
    }
    var action = "php_delTransfer";
    var queryString = "?action=" + action + "&delId=" + delId;
    ajaxRequest.open("GET", "ajax/cashaccount.php" + queryString, true);
    ajaxRequest.send(null);
}

function transfer(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            // document.getElementById('cashaccounts').innerHTML = ajaxRequest.responseText;
            getCashAccounts();
            document.getElementById('pg').style.display = 'none';
            changed_mbd++;
            changed_mba++;
            changed_mbi++;
            
        }
    }
    var action = "php_transfer";
    var date = document.getElementById('cashaccount[date]').value;
    var sum = document.getElementById('cashaccount[sum]').value;
    var from = document.getElementById('cashaccount[from]').value;
    var to = document.getElementById('cashaccount[to]').value;
    var use = document.getElementById('cashaccount[use]').value;
    
    var queryString = "?action=" + action + "&date=" + date + "&sum=" + sum + "&from=" + from + "&to=" + to + "&use=" + use;
    ajaxRequest.open("GET", "ajax/cashaccount.php" + queryString, true);
    ajaxRequest.send(null);
}

function saveBudget(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            //document.getElementById('centercontent').innerHTML = ajaxRequest.responseText;
            document.getElementById('pg').style.display = 'none';
            getbudgets();
            document.getElementById('budget[0][bid]').value = '';
            document.getElementById('budget[0][date]').value = '';
            document.getElementById('budget[0][dateend]').value = '';
            document.getElementById('budget[0][use_1]').value = '';
            document.getElementById('budget[0][ammount]').value = '';
            document.getElementById('budget[0][account]').value = 0;
            document.getElementById('budget[0][period]').value = 0;
            document.getElementById('budget[0][periodperiod]').value = 0;
            changed_mbd++;
            changed_mba++;
            changed_mbi++;
        }
    }
    
    //Variableninhalte aus den feldern holen
    var bid = document.getElementById('budget[0][bid]').value;
    var date = document.getElementById('budget[0][date]').value;
    var dateend = document.getElementById('budget[0][dateend]').value;
    var use_1 = document.getElementById('budget[0][use_1]').value;
    var ammount = document.getElementById('budget[0][ammount]').value;
    var account = document.getElementById('budget[0][account]').value;
    var period = document.getElementById('budget[0][period]').value;
    var periodperiod = document.getElementById('budget[0][periodperiod]').value;
    var save = document.getElementById('budget[0][save]').value;
    var queryString = "?bid=" + bid + "&date=" + date + "&dateend=" + dateend + "&use_1=" + use_1 + "&ammount=" + ammount + "&account=" + account + "&period=" + period + "&periodperiod=" + periodperiod + "&save=" + save;
    ajaxRequest.open("GET", "ajax/budget.php" + queryString, true);
    ajaxRequest.send(null);
}

function getBudget(getId){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            // document.getElementById('centercontent').innerHTML = ajaxRequest.responseText;
            var sBudget = ajaxRequest.responseText;
            var aBudget = sBudget.split("#");
            document.getElementById('budget[0][bid]').value = aBudget[10];
            document.getElementById('budget[0][date]').value = aBudget[2];
            document.getElementById('budget[0][dateend]').value = aBudget[3];
            document.getElementById('budget[0][use_1]').value = aBudget[4];
            document.getElementById('budget[0][ammount]').value = aBudget[5];
            document.getElementById('budget[0][account]').value = aBudget[6];
            document.getElementById('budget[0][period]').value = aBudget[7];
            document.getElementById('budget[0][periodperiod]').value = aBudget[8];
            
            document.getElementById('pg').style.display = 'none';
            window.location.href = '#oben';
        }
    }
    
    //Variableninhalte aus den feldern holen
    var budgetid = getId;
    var action = 'get';
    var queryString = "?getid=" + budgetid + "&action=" + action;
    ajaxRequest.open("GET", "ajax/budget.php" + queryString, true);
    ajaxRequest.send(null);
}

function delBudget(deleteId){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            //document.getElementById('centercontent').innerHTML = ajaxRequest.responseText;
            getbudgets();
            document.getElementById('pg').style.display = 'none';
            changed_mbd++;
            changed_mba++;
            changed_mbi++;
        }
    }
    
    //Variableninhalte aus den feldern holen
    var delid = deleteId;
    var action = 'del';
    var queryString = "?delid=" + delid + "&action=" + action;
    ajaxRequest.open("GET", "ajax/budget.php" + queryString, true);
    ajaxRequest.send(null);
}

function getSlipsSaved(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            document.getElementById('slipssaved').innerHTML = ajaxRequest.responseText;
            
            document.getElementById('pg').style.display = 'none';
        }
    }
    
    //Variableninhalte aus den feldern holen
    var start = document.getElementById('cur_from').value;
    var end = document.getElementById('cur_to').value;
    var action = 'getSlipsSaved';
    var queryString = "?start=" + start + "&end=" + end + "&action=" + action;
    ajaxRequest.open("GET", "ajax/slips.php" + queryString, true);
    ajaxRequest.send(null);
}

function showForm(formId){
    var aBoxes = new Array();
    aBoxes[0] = 'budgetform';
    aBoxes[1] = 'homebox';
    aBoxes[2] = 'slipsform';
    aBoxes[3] = 'cashaccountform';
    aBoxes[4] = 'monthbydays';
    aBoxes[5] = 'monthbyaccounts';
    aBoxes[6] = 'monthbyissuer';
    aBoxes[7] = 'contactform';
    aBoxes[8] = 'impressum';
    aBoxes[9] = 'configureform';
    aBoxes[10] = 'accountsform';
    aBoxes[11] = 'issuerform';
    
    var aPlaces = new Array();
    aPlaces[0] = 'cur';
    aPlaces[1] = 'cur';
    aPlaces[2] = 'cur';
    aPlaces[3] = 'cur';
    aPlaces[4] = 'mbd';
    aPlaces[5] = 'mba';
    aPlaces[6] = 'mbi';
    aPlaces[7] = 'cur';
    aPlaces[8] = 'cur';
    aPlaces[9] = 'cur';
    aPlaces[10] = 'cur';
    aPlaces[11] = 'cur';
    
    switch (formId) {
        case "monthbydays":
            if (changed_mbd > 0) {
                getMonthByDays();
                changed_mbd = 0;
            }
            
            break;
        case "monthbyaccounts":
            if (changed_mba > 0) {
                getMonthByAccounts();
                changed_mba = 0;
            }
            break;
        case "monthbyissuer":
            if (changed_mbi > 0) {
                getMonthByIssuer();
                changed_mbi = 0;
            }
            break;
    }
    
    for (i = 0; i < aBoxes.length; i++) {
        if (aBoxes[i] == formId) {
            if (document.getElementById(aBoxes[i]).style.display = 'none') {
                document.getElementById(aBoxes[i]).style.display = 'block';
                document.getElementById('ajaxPlace').value = aPlaces[i];
                document.getElementById('period[from]').value = document.getElementById(aPlaces[i] + '_from').value;
                document.getElementById('period[to]').value = document.getElementById(aPlaces[i] + '_to').value;
                trackIt(aBoxes[i]);
            }
            
        }
        else {
        
            if (document.getElementById(aBoxes[i]).style.display == 'block') {
                document.getElementById(aBoxes[i]).style.display = 'none';
            }
            
        }
    }
    
    
}

function getPPeriod(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
        
            //document.getElementById('centercontent').innerHTML = ajaxRequest.responseText;
            //Selectbox mit Namen wuensche2 leeren
            document.getElementById('budget[0][periodperiod]').length = 0;
            //Antwort vom Server ist eine Kommagetrente Liste
            //Daraus ein Array machen und in elems speichern
            var str = ajaxRequest.responseText;
            var aOptionen = str.split("##");
            //Aus jedem Element des Arrays eine neue Option machen und an die Box anfÃ¼gen
            for (var i = 0; i < aOptionen.length; i++) {
                var aValueTexte = aOptionen[i].split("$$");
                neu = new Option(aValueTexte[1], aValueTexte[0], false, false);
                document.getElementById('budget[0][periodperiod]').options[document.getElementById('budget[0][periodperiod]').length] = neu;
            }
            //Neue Select-Box sichtbar machen
            //document.getElementById("select2").style.display="block";
            document.getElementById('pg').style.display = 'none';
            
        }
    }
    
    //Variableninhalte aus den feldern holen
    var period = document.getElementById('budget[0][period]').value;
    var queryString = "?action=getPPeriods&period=" + period;
    ajaxRequest.open("GET", "ajax/budget.php" + queryString, true);
    ajaxRequest.send(null);
}

function getbudgets(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    n = 10;
    document.getElementById('pg').style.display = 'block';
    progressBar();
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            document.getElementById('budgetssaved').innerHTML = ajaxRequest.responseText;
            document.getElementById('pg').style.display = 'none';
        }
    }
    
    //Variableninhalte aus den feldern holen
    var queryString = "?action=getBudgets";
    ajaxRequest.open("GET", "ajax/budget.php" + queryString, true);
    ajaxRequest.send(null);
}

function saveKW(start, end){
    document.getElementById('period[from]').value = start;
    document.getElementById('period[to]').value = end;
    savePeriod();
}

function addSubPeriod(action, lang){
    var dateFormat = Array(13);
    dateFormat[0] = "12";
    dateFormat[1] = "01";
    dateFormat[2] = "02";
    dateFormat[3] = "03";
    dateFormat[4] = "04";
    dateFormat[5] = "05";
    dateFormat[6] = "06";
    dateFormat[7] = "07";
    dateFormat[8] = "08";
    dateFormat[9] = "09";
    dateFormat[10] = "10";
    dateFormat[11] = "11";
    dateFormat[12] = "12";
    
    var from = document.getElementById('period[from]').value;
    var to = document.getElementById('period[to]').value;
    var monthF;
    var monthT;
    
    
    //Datum fÃ¼r das Addieren zubereiten
    switch (lang) {
        case "de":
            //in Array splitten
            var aDateFrom = from.split(".");
            var aDateTo = to.split(".");
            
            //ins offizielle Format umwandeln YYYY-MM-DD
            var aOffDateFrom = [aDateFrom[2], aDateFrom[1], aDateFrom[0]];
            var aOffDateTo = [aDateTo[2], aDateTo[1], aDateTo[0]];
            
            break;
    }
    
    var dateF = new Date(aDateFrom[2], aDateFrom[1], aDateFrom[0]);
    var dateT = new Date(aDateTo[2], aDateTo[1], aDateTo[0]);
    var yearF = dateF.getFullYear();
    var yearT = dateT.getFullYear();
    
    
    switch (action) {
        case "omf":
            monthF = dateF.getMonth() + 1;
            monthT = dateT.getMonth() + 1;
            break;
        case "omb":
            monthF = dateF.getMonth() - 1;
            monthT = dateT.getMonth() - 1;
            break;
    }
    
    if (monthF < 1) {
        monthF = monthF + 12;
        //	aDateFrom[2] = aDateFrom[2] - 1;
    }
    
    if (monthT < 1) {
        monthT = monthT + 12;
        //	aDateTo[2] = aDateTo[2] -1 ;
    }
    
    
    document.getElementById('period[from]').value = aDateFrom[0] + '.' + dateFormat[monthF] + '.' + aDateFrom[2];
    document.getElementById('period[to]').value = aDateTo[0] + '.' + dateFormat[monthT] + '.' + aDateTo[2];
    
    //abspeichern
    savePeriod();
}

function trackIt(site){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
    
        if (ajaxRequest.readyState == 4) {
            document.getElementById('tracker').innerHTML = ajaxRequest.responseText;
        }
    }
    
    var queryString = "";
    ajaxRequest.open("GET", "tracker/" + site + ".html" + queryString, true);
    ajaxRequest.send(null);
}

function advertise(){

    var height = document.body.offsetHeight;
    var width = document.body.offsetWidth;
    var posx = (document.body.offsetWidth / 2) - (336 / 2);
    var posy = (document.body.offsetHeight / 2) - 280;
    
    //           	document.getElementById('advertiser').style.display = 'block';
    //				document.getElementById('advertiser').style.width = width;
    //				document.getElementById('advertiser').style.height = height;
    //				document.getElementById('googleadd').style.left = posx;
    //				document.getElementById('googleadd').style.top = posy;
    TagToTip('advertise', STICKY, true, CLOSEBTN, true, OFFSETX, posx, OFFSETY, posy);
    //document.getElementById('advertiser').innerHTML = ajaxRequest.responseText;
}

function clearField(fieldId){
    document.getElementById(fieldId).value = '';
}

function changePWType(){
    document.getElementById('ajaxPWv').style.display = "none";
    document.getElementById('ajaxPW').style.display = "block";
    document.getElementById('ajaxPW').focus();
    clearField('ajaxPW');
}

function doRegister(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
            // document.getElementById('ajaxLoginMessage').innerHTML = ajaxRequest.responseText;
            setMessage('registerOk');
            document.getElementById('register').disabled = true;
        }
    }
    var uname = document.getElementById('ajaxUsername').value;
    var pw = document.getElementById('ajaxPW').value;
    var email = document.getElementById('ajaxEmail').value;
    var lang = document.getElementById('ajaxLang').value;
	var timestamp = document.getElementById('timestamp').value;
    var method = document.getElementById('ajaxMethod').value;
    var queryString = "?username=" + uname + "&lang=" + lang + "&password=" + pw + "&email=" + email + "&method=" + method + "&timestamp=" + timestamp;
    ajaxRequest.open("GET", "ajax/register.php" + queryString, true);
    ajaxRequest.send(null);
}

//Fortschritt anzeigen. Wenn fertig, zurÃ¼ck zur Startseite.

function progressBar(){
    if (n == 59) {
        n = 1;
    }
    document.getElementById('pg').style.width = n * 10 + "px";
    setTimeout("if(n<60) progressBar();", 500);
    n++;
}

// decrypt helper function
function decryptCharcode(n, start, end, offset){
    n = n + offset;
    if (offset > 0 && n > end) {
        n = start + (n - end - 1);
    }
    else 
        if (offset < 0 && n < start) {
            n = end - (start - n - 1);
        }
    return String.fromCharCode(n);
}

// decrypt string
function decryptString(enc, offset){
    var dec = "";
    var len = enc.length;
    for (var i = 0; i < len; i++) {
        var n = enc.charCodeAt(i);
        if (n >= 0x2B && n <= 0x3A) {
            dec += decryptCharcode(n, 0x2B, 0x3A, offset); // 0-9 . , - + / :
        }
        else 
            if (n >= 0x40 && n <= 0x5A) {
                dec += decryptCharcode(n, 0x40, 0x5A, offset); // A-Z @
            }
            else 
                if (n >= 0x61 && n <= 0x7A) {
                    dec += decryptCharcode(n, 0x61, 0x7A, offset); // a-z
                }
                else {
                    dec += enc.charAt(i);
                }
    }
    return dec;
}

// decrypt spam-protected emails
function linkTo_UnCryptMailto(s){
    location.href = decryptString(s, 5);
}

function getAjaxIntervallAddopt(sel){

    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
                 // alert(ajaxRequest.responseText);
				  document.getElementById('spanBudgetIntervalAdopt').innerHTML= ajaxRequest.responseText; 
        }
    }
	var firstPeriod = document.getElementById('budgetIntervall').value;
	var queryString = "action=getPeriodPeriod&firstPeriod=" + firstPeriod + "&curSelected=" + sel;

    ajaxRequest.open("POST", "inc/func.php", true);
    ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajaxRequest.send(queryString);
}

function inSession(key,value,rl){

    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
                 //alert(ajaxRequest.responseText);
				 displayMessage(ajaxRequest.responseText);
				  //document.getElementById('spanBudgetIntervalAdopt').innerHTML= ajaxRequest.responseText; 
				  if(rl == 1){
				  	//var z = self.location;
				  	 setTimeout("realoadURL('" + self.location + "');",1000);
				  }
				  
        }
    }
	
	var queryString = "action=inSession&key=" + key + "&value=" + value + "&reload=" + rl;

    ajaxRequest.open("POST", "inc/func.php", true);
    ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajaxRequest.send(queryString);
}

function realoadURL(url){
	//alert(url.substr(url.length-1,url.length));
	if(url.substr(url.length-1,url.length) == "#"){
		url = url.substr(0, url.length-1);
	}
	location.href = url;
	
}

