// VARIABLENDEFINITIONEN

var projektseite_menu_selectedIndex = 0;
var kunden_menu_selectedIndex = 0;
var KeepSessionAlive_counter = 0;
var KeepSessionAlive_max = 0;
var KeepSessionAlive_res;
var a = new Date();



// FUNKTIONEN

function jsBetrag(pTextField) {
    pTextField.value = pTextField.value.replace (/([^0-9_,€])/g, "");
}

function restrictstr (str) {
    return str.replace (/([^0-9a-z_.])/g, "");
}

function XMLHttp_Save(tabelle, id, feld, wert)
{
    XMLHttp_Request("action=feldspeichern&tabelle=" + tabelle + "&id=" + id + "&feld=" + feld + "&wert=" + wert, "hidden_response");
}

var TIMER_ID;

function zeiterfassung_anzeige(num, startzeit, stundensatz)
{
    clearTimeout(TIMER_ID);

    var date = new Date();

    // AKTUELLE UHRZEIT
    stunden1 = date.getHours();
    minuten1 = date.getMinutes();
    if(stunden1 < 10) { stunden1 = "0" + stunden1; }
    if(minuten1 < 10) { minuten1 = "0" + minuten1; }
    
    // ZEITDIFFERENZ			
    timestamp = date.getTime();
    diff = Math.round(timestamp/1000) - startzeit;

    stunden2 = Math.floor(diff / 3600);
    minuten2 = Math.floor((diff % 3600) / 60)
    if(stunden2 < 10) { stunden2 = "0" + stunden2; }
    if(minuten2 < 10) { minuten2 = "0" + minuten2; }

    // BETRAG
    betrag = diff / 3600 * stundensatz;
    betrag = betrag.toFixed(2) + "&nbsp;€";
    betrag = betrag.replace(/\./g, ",");
    
    document.getElementById("zeitanzeige_uhr" + num).innerHTML = stunden1 + ":" + minuten1;
    document.getElementById("zeitanzeige_diff" + num).innerHTML = stunden2 + ":" + minuten2;
    document.getElementById("zeitanzeige_betrag" + num).innerHTML = betrag;
    TIMER_ID = setTimeout("zeiterfassung_anzeige(" + num + ", " + startzeit + ", " + stundensatz + ");", 500);	
}

function navSelect(action, doxmlhttp)
{

    if(doxmlhttp == undefined)
    { doxmlhttp = true; }

    if(action == 'uebersicht')
    { menu_selector_left = 402; }
    else if(action == 'projekt_manager')
    { menu_selector_left = 473; }
    else if(action == 'kunden_manager')
    { menu_selector_left = 537; }
    else if(action == 'gesamtbuchhaltung')
    { menu_selector_left = 617; }
    else if(action == 'einstellungen')
    { menu_selector_left = 707; }

    document.getElementById('menu_selector').style.left = menu_selector_left + "px";
    
    if(doxmlhttp == true)
    { XMLHttp_Request("action=" + action, "content"); }

}

function doregister()
{
    var benutzer_login 		= encodeURIComponent(document.getElementById('benutzer_login').value);
    var benutzer_email 		= encodeURIComponent(document.getElementById('benutzer_email').value);
    var benutzer_vorname 	= encodeURIComponent(document.getElementById('benutzer_vorname').value);
    var benutzer_nachname 	= encodeURIComponent(document.getElementById('benutzer_nachname').value);
    var benutzer_firma 		= encodeURIComponent(document.getElementById('benutzer_firma').value);
    var s_result 			= encodeURIComponent(document.getElementById('s_result').value);
    var s_md5	 			= encodeURIComponent(document.getElementById('s_md5').value);
    
    var par = "benutzer_login=" + benutzer_login + "&benutzer_email=" + benutzer_email + "&benutzer_vorname=" + benutzer_vorname + "&benutzer_nachname=" + benutzer_nachname + "&benutzer_firma=" + benutzer_firma + "&s_result=" + s_result + "&s_md5=" + s_md5;
    XMLHttp_Request("action=anmeldung_doregister&" + par, "box_anmeldung");
}

function AnimateSavedIcon()
{
    new Effect.Opacity('saved', { from: 0, to: 1, duration:0, afterFinish:AnimateSavedIconOut }); 
}
function AnimateSavedIconOut()
{
    new Effect.Opacity('saved', { from: 1, to: 0, duration:3 }); 
}
		

function KeepSessionAlive(mins) {
	KeepSessionAlive_max++;
	KeepSessionAliveIntervalAction();
	KeepSessionAlive_res = setInterval("KeepSessionAliveIntervalAction();", 60000);
}

function KeepSessionAliveIntervalAction() {

	XMLHttp_Request('action=keepsessionalive', ''); 
	KeepSessionAlive_counter++; 

	var KeepSessionAlive_minsRemaining = (KeepSessionAlive_max - KeepSessionAlive_counter);
	
	$('autologout_counter').innerHTML = "Zu Ihrer Sicherheit erfolgt eine automatische Abmeldung nach " + (KeepSessionAlive_max-1) + " Min Inaktivität (" + KeepSessionAlive_minsRemaining + " Min verbleibend).";
	if(KeepSessionAlive_minsRemaining <= 0) { // 24, weil session.gc_maxlifetime = 1440
		clearInterval(KeepSessionAlive_res);
		document.location.href = root_url + '/index.php?page=autologout';
	}
}
