/*
    Created on : 24.03.2010, 16:00:57
    Author     : lee
    Description:
    Basis Java Functions
*/

v=location.search.substring(1, location.search.length).split('&');
getVars = new Array();

for(var xVars in v){
 var temp = v[xVars].split('=');

 getVars[temp[0]] = temp[1];
}

function formRed(field, text){
    $('#'+field).addClass('formRed');
    $('#'+text).addClass('boldRed');
}//END formRed

function formWhite(field, text){
    $('#'+field).removeClass('formRed');
    $('#'+text).removeClass('boldRed');
}//END formWhite

/* Datums Feld */
function openDateField(name){
    //Monat / Jahr ausfindig machen
    var year = "";
    var month = "";
    var datumSQL = $('#'+name).val();
    datumSQL = datumSQL.substring(0, 10);
    if(datumSQL != '0000-00-00' && datumSQL != ''){
        var datum = datumSQL;
        year = datum.substr(0, 4);
        month = datum.substr(5, 2);
    }else{
        var cTime = new Date();
        year = cTime.getFullYear();
        month = cTime.getMonth()+1;
    }
    $('.dateDiv').remove();
    $('#'+name).parent('span').append('<div class="dateDiv"></div>');
    $('#'+name+' ~ a').attr('href', 'javascript:closeDateField(\''+name+'\')');
    $('#'+name+' ~ div.dateDiv').load('php/calendar.php?name='+name+'&month='+month+'&year='+year);
}//END openDateField

function closeDateField(name){
    $('#'+name+' ~ a').attr('href', 'javascript:openDateField(\''+name+'\')');
    $('#'+name+' ~ div.dateDiv').remove();
}

function showDateInfo(name){
    if($('#dateInfoBox'+name).is('*')){
        $('.dateInfoBox').remove();
    }else{
        var box = '<div class="dateInfoBox" id="dateInfoBox'+name+'">'
                  +'<table><tbody>'
                  +'<tr><td class="boldDate">Manuelle Eingaben</td><td class="boldDate">Beispiel</td><tr>'
                  +'<tr><td class="formErklarung">YYYY-MM-DD HH:MM:SS</td><td class="formErklarung">2011-01-01 09:05:03</td></tr>'
                  +'<tr><td class="formErklarung">YYYY-MM-DD</td><td class="formErklarung">2011-01-01</td></tr>'
                  +'<tr><td class="formErklarung">DD.MM.YYYY</td><td class="formErklarung">01.01.2011</td></tr>'
                  +'</tbody></table>'
                  +'</div>';
        $('.dateInfoBox').remove();
        $('#infoDate'+name).append(box)
    }
}

function loadCalendarMonth(month, year, name){
    $('#'+name+' ~ div.dateDiv').load('php/calendar.php?month='+month+'&year='+year+'&name='+name);
}

function setDateTo(date, name){
    $('#'+name).val(date);
    $('#'+name+' ~ div.dateDiv').remove();
}


/* Für Input Felder */
function forceInt(feld){
    var input = feld.value;
    input = input.replace(/[^0-9]/g, "");
    if(input.length > 15){
        input = input.substring(0, 15);
    }
    feld.value = input;
}

function forceDecimal(feld){
    var input = feld.value;
    input = input.replace(/[^0-9\.]/g, "");
    if(input.length > 15){
        input = input.substring(0, 15);
    }
    feld.value = input;
}

function forceEmail(ziel){
    var inputText = ziel.value;
    inputText = inputText.replace(/[^a-zA-Z0-9\.|-|\-\_äöü@]/g, "");
    if(inputText.length > 150){
        inputText = inputText.substring(0, 95);
    }
    ziel.value = inputText;
}

function forceTime(ziel){
    var inputText = ziel.value;
    inputText = inputText.replace(/[^0-9:]/g, "");
    if(inputText.length > 5){
        inputText = inputText.substring(0,5);
    }
    ziel.value = inputText;
}

function regTime(ziel){
    var filter = /^(([01][0-9])|(2[0-3])):[0-5][0-9]$/;
    if(filter.test(ziel)){
       return true;
    }else{     
       return false;
    }
}

function regEmail(email){
    var filter = /^([a-zA-Z0-9_.-äöü])+@(([a-zA-Z0-9-äöü])+.)+([a-zA-Z0-9äöü]{2,6})+$/;
    if (filter.test(email)) {
        return true;
    }else{
        return false;
    }
}

function regDate(field){
    var date = field.value;
    var filter = /^[12]{1}[09]{1}[0-9]{2}\-(0[0-9]{1}|1[012]{1})\-([012]{1}[0-9]|3[01]{1})$/;
    var filterFull = /^[12]{1}[09]{1}[0-9]{2}\-(0[0-9]{1}|1[012]{1})\-([012]{1}[0-9]|3[01]{1}) ([01]{1}[0-9]{1}|2[0123]{1}):[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/;
    if(filter.test(date) || filterFull.test(date)){
        return true;
    }
    var filterEuroDate = /^([012]{1}[0-9]|3[01]{1}).(0[0-9]{1}|1[012]{1}).[12]{1}[09]{1}[0-9]{2}$/;
    if(filterEuroDate.test(date)){
        var day = date.substring(0, 2);
        var month = date.substring(3, 5);
        var year = date.substring(6, 10);
        field.value = year+'-'+month+'-'+day;
        return true;
    }
    field.value = '';
    return false;
}

function delCheck(msg, url, span){
    if(confirm(msg)){
        $('#'+span).load(url, function(){fadeOuts();});
    }
}//END delCheck

function mysqlTimeStampToDate(timestamp) {
    //function parses mysql datetime string and returns javascript Date object
    //input has to be in this format: 2007-06-05 15:26:02
    var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
    var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
    return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}//END mysqlTimeStampToDate

function formatDate(sqlDate){
    var monate = new Array('', 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember');
    var jahr = sqlDate.substring(0, 4);
    var monatNr = parseInt(sqlDate.substring(5, 7));
    var monat = monate[monatNr];
    var tag = sqlDate.substring(8, 10);
    return tag+'. '+monat+' '+jahr;
}//END formatDate

function taLimitCheck(name, max){
    var text = $('#'+name).val();
    var left = max - text.length;
    if(text.length > max){
        text = text.substr(0, max);
        $('#'+name).val(text); 
    }
    $('#'+name+'taLimitCounter').val(left);
}//END taLimitCheck

function clearField(obj){
    obj.value = '';
}//END clearField

function makeModal(content){
    $('body').append('<div id="modalContent">'+content+'</div><div id="modal"></div>');
    //Get the screen height and width
    var maskHeight = $(document).height();
    var maskWidth = $(window).width();

    //Set height and width to mask to fill up the whole screen
    $('#modal').css({'width':maskWidth,'height':maskHeight});
    //Set the popup window to center
    var winH = $(window).height();
    var winW = $(window).width();
   /* $('#modalContent').css('position',  'fixed');*/
    $('#modalContent').css('top', '50px');
    $(document).scrollTop(0);
    $('#modalContent').css('left', winW/2-$('#modalContent').width()/2);
    //transition effect
    $('#modal').fadeIn("fast");
    $('#modal').click(function(){stopModal();});
}

function stopModal(){
    $('#modalContent').remove();
    $('#modal').remove();
}

function fadeOuts(){
    $('.confirm').fadeOut(3000);
    $('.deny').fadeOut(3000);
    $('.info').fadeOut(3000);
    $('.confirmSmall').fadeOut(3000);
    $('.denySmall').fadeOut(3000);
    window.setTimeout("fadeOuts()", 6000);
}

$(document).ready(function(){
    window.setTimeout("fadeOuts()", 6000);
    $('.emailDecode').each(function(){
        var string = $(this).html();        
        var n=0;
        var r="";
        for(var i=0;i<string.length;i++) {
            n=string.charCodeAt(i);
            if (n>=8364) {n = 128;}
            r += String.fromCharCode(n-(3));
        }
        $(this).html(r);       
    });
});

function mailEncrypt(string) {
    var n=0;
    var r="";
    for(var i=0;i<string.length;i++) {
    n=string.charCodeAt(i);
    if (n>=8364) {n = 128;}
    r += String.fromCharCode(n-(3));
    }
    return r;
}

function mailToUncrypt(string) {
    location.href=mailEncrypt(string);
}

function mailDecrypt(string){
    var n=0;
    var r="";
    for(var i=0;i<string.length;i++) {
    n=string.charCodeAt(i);
    if (n>=8367) {n = 128;}
    r += String.fromCharCode(n+(3));
    }
    alert(r);
}



