/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

// Language definitions
var einfachesuche = 'Einfache Suche';
var erweitertesuche = 'Erweiterte Suche';

function validateDelete(user) {
    var validator = confirm("Sind Sie sicher, dass sie folgenden User löschen möchten:\n\n"+user);
    return validator;
}

function validateDeleteArticle(articel) {
    var validator = confirm("Sind Sie sicher, dass sie diesen Artikel löschen möchten:\n\n"+articel);
    return validator;
}

function validateDeleteRecherche(articel) {
    var validator = confirm("Sind Sie sicher, dass sie diese Recherche löschen möchten:\n\n"+articel);
    return validator;
}

function validateDeleteArticles() {
    var validator = confirm("Sind Sie sicher, dass sie die markierten Artikel löschen möchten?");
    return validator;
}

function validateKontakt(){
    var error = 0;
    var errorText = "";
    document.getElementById("vorname").style.backgroundColor = "#ffffff";
    document.getElementById("name").style.backgroundColor = "#ffffff";
    document.getElementById("email").style.backgroundColor = "#ffffff";

    if(document.userdata.vorname.value == null || document.userdata.vorname.value == ""){
        error = 1;
        errorText = errorText + "Vorname: Bitte geben Sie einen Vornamen an.\n";
        document.getElementById("vorname").style.backgroundColor = "#ffbdbd";
	}

    if(document.userdata.name.value == null || document.userdata.name.value == ""){
        error = 1;
        errorText = errorText + "Name: Bitte geben Sie einen Namen an.\n";
        document.getElementById("name").style.backgroundColor = "#ffbdbd";
	}

    if(checkCharakterForEmail(document.userdata.email.value) != 2){
            error = 1;
            errorText = errorText + "Email: Die Emailadresse ist nicht gültig.\n";
            document.getElementById("email").style.backgroundColor = "#ffbdbd";
    }

    if(error != 0) {
        alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
        return false;
    } else {
        return true;
    }
}

function validateKredit(){    
    var error = 0;
    var errorText = "";
    document.getElementById("vorname").style.backgroundColor = "#ffffff";
    document.getElementById("name").style.backgroundColor = "#ffffff";
    document.getElementById("username").style.backgroundColor = "#ffffff";
    document.getElementById("email").style.backgroundColor = "#ffffff";

    if(document.userdata.vorname.value == null || document.userdata.vorname.value == ""){
        error = 1;
        errorText = errorText + "Vorname: Bitte geben Sie einen Vornamen an.\n";
        document.getElementById("vorname").style.backgroundColor = "#ffbdbd";
	}

    if(document.userdata.name.value == null || document.userdata.name.value == ""){
        error = 1;
        errorText = errorText + "Name: Bitte geben Sie einen Namen an.\n";
        document.getElementById("name").style.backgroundColor = "#ffbdbd";
	}

    if(document.userdata.username.value == null || document.userdata.username.value == ""){
        error = 1;
        errorText = errorText + "Benutzername: Bitte geben Sie einen Benutzernamen an.\n";
        document.getElementById("username").style.backgroundColor = "#ffbdbd";
    }

    if(!checkCharakterWithoutspecialChairs(document.userdata.username.value)){
        error = 1;
        errorText = errorText + "Benutzername: Ein unerlaubtes Zeichen wurde verwendet.\n";
        document.getElementById("username").style.backgroundColor = "#ffbdbd";
    }

    if(checkCharakterForEmail(document.userdata.email.value) != 2){
            error = 1;
            errorText = errorText + "Email: Die Emailadresse ist nicht gültig.\n";
            document.getElementById("email").style.backgroundColor = "#ffbdbd";
    }

    if(!document.userdata.agb.checked){
        error = 1;
        errorText = errorText + "Bitte lesen und akzeptieren Sie die Allgemeinen Geschäftsbedingungen der Swissdox AG."        
    }

    if(error != 0) {
        alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
        return false;
    } else {
        return true;
    }
}


function validateAbonnement(){
    var error = 0;
    var errorText = "";
    document.getElementById("vorname").style.backgroundColor = "#ffffff";
    document.getElementById("name").style.backgroundColor = "#ffffff";
    document.getElementById("strasse").style.backgroundColor = "#ffffff";
    document.getElementById("plz").style.backgroundColor = "#ffffff";
    document.getElementById("ort").style.backgroundColor = "#ffffff";
    document.getElementById("email").style.backgroundColor = "#ffffff";
    document.getElementById("username").style.backgroundColor = "#ffffff";

    if(document.userdata.vorname.value == null || document.userdata.vorname.value == ""){
        error = 1;
        errorText = errorText + "Vorname: Bitte geben Sie einen Vornamen an.\n";
        document.getElementById("vorname").style.backgroundColor = "#ffbdbd";
	}

    if(document.userdata.name.value == null || document.userdata.name.value == ""){
        error = 1;
        errorText = errorText + "Name: Bitte geben Sie einen Namen an.\n";
        document.getElementById("name").style.backgroundColor = "#ffbdbd";
	}

    if(document.userdata.strasse.value == null || document.userdata.strasse.value == ""){
        error = 1;
        errorText = errorText + "Adresse: Bitte geben Sie eine Strasse an.\n";
        document.getElementById("strasse").style.backgroundColor = "#ffbdbd";
	}

    if(document.userdata.plz.value == null || document.userdata.plz.value == ""){
        error = 1;
        errorText = errorText + "Adresse: Bitte geben Sie eine Postleizahl an.\n";
        document.getElementById("plz").style.backgroundColor = "#ffbdbd";
	}

    if(document.userdata.ort.value == null || document.userdata.ort.value == ""){
        error = 1;
        errorText = errorText + "Adresse: Bitte geben Sie einen Ort an.\n";
        document.getElementById("ort").style.backgroundColor = "#ffbdbd";
	}

    if(checkCharakterForEmail(document.userdata.email.value) != 2){
            error = 1;
            errorText = errorText + "Email: Die Emailadresse ist nicht gültig.\n";
            document.getElementById("email").style.backgroundColor = "#ffbdbd";
    }

    if(document.userdata.username.value == null || document.userdata.username.value == ""){
        error = 1;
        errorText = errorText + "Username: Bitte geben Sie einen Benutzernamen an.\n";
        document.getElementById("username").style.backgroundColor = "#ffbdbd";
    }

    if(!checkCharakterWithoutspecialChairs(document.userdata.username.value)){
        error = 1;
        errorText = errorText + "Benutzername: Ein unerlaubtes Zeichen wurde verwendet.\n";
        document.getElementById("username").style.backgroundColor = "#ffbdbd";
    }

    if(!document.userdata.agb.checked){
        error = 1;
        errorText = errorText + "Bitte lesen und akzeptieren Sie die Allgemeinen Geschäftsbedingungen der Swissdox AG."
    }

    if(error != 0) {
        alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
        return false;
    } else {
        return true;
    }
}

function validateUserData() {    
    var error = 0;
    var errorText = "";
    document.getElementById("email").style.backgroundColor = "#ffffff";
    document.getElementById("plz").style.backgroundColor = "#ffffff";

    if(checkCharakterForEmail(document.userdata.email.value) != 2){
            error = 1;
            errorText = errorText + "Email: Ein unerlaubtes Zeichen wurde verwendet.\n";
            document.getElementById("email").style.backgroundColor = "#ffbdbd";
    }

    if(checkNummer(document.userdata.plz.value) != 2){
            error = 1;
            errorText = errorText + "PLZ: Sie können hier nur Zahlen verwenden.\n";
            document.getElementById("plz").style.backgroundColor = "#ffbdbd";
    }   

    if(error != 0) {
        alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
        return false;
    } else {
        return true;
    }
}

function validateUserDataFull() {    
    var error = 0;
    var errorText = "";
    document.getElementById("email").style.backgroundColor = "#ffffff";
    document.getElementById("plz").style.backgroundColor = "#ffffff";

    if(checkCharakterForEmail(document.userdata.email.value) != 2){
            error = 1;
            errorText = errorText + "Email: Ein unerlaubtes Zeichen wurde verwendet.\n";
            document.getElementById("email").style.backgroundColor = "#ffbdbd";
    }
    
    if(checkNummer(document.userdata.plz.value) != 2){
            error = 1;
            errorText = errorText + "PLZ: Sie können hier nur Zahlen verwenden.\n";
            document.getElementById("plz").style.backgroundColor = "#ffbdbd";
    }
    
    if(document.userdata.staff.value == 1 && (document.userdata.adresse.value == null || document.userdata.adresse.value == "")){
        error = 1;
        errorText = errorText + "Adresse: Bitte geben Sie eine Strasse an.\n";
        document.getElementById("adresse").style.backgroundColor = "#ffbdbd";
    }
    
    if(document.userdata.staff.value == 1 && (document.userdata.plz.value == null || document.userdata.plz.value == "")){
        error = 1;
        errorText = errorText + "Adresse: Bitte geben Sie eine Postleizahl an.\n";
        document.getElementById("plz").style.backgroundColor = "#ffbdbd";
    }

    if(document.userdata.staff.value == 1 && (document.userdata.ort.value == null || document.userdata.ort.value == "")){
        error = 1;
        errorText = errorText + "Adresse: Bitte geben Sie einen Ort an.\n";
        document.getElementById("ort").style.backgroundColor = "#ffbdbd";
    }
    
    if(error != 0) {
        alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
        return false;
    } else {
        return true;
    }
}

function validateUserDataTemplate() {
    var error = 0;
    var errorText = "";
    document.getElementById("email").style.backgroundColor = "#ffffff";

    if(checkCharakterForEmail(document.userdata.email.value) != 2){
            error = 1;
            errorText = errorText + "Email: Ein unerlaubtes Zeichen wurde verwendet.\n";
            document.getElementById("email").style.backgroundColor = "#ffbdbd";
    }

    if(error != 0) {
        alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
        return false;
    } else {
        return true;
    }
}

function validatePassword(){
    var error = 0;
    var errorText = "";
    document.getElementById("passwordA").style.backgroundColor = "#ffffff";
    document.getElementById("passwordB").style.backgroundColor = "#ffffff";

    if(!checkCharakterWithoutspecialChairs(document.password.passwordA.value)){
        error = 1;
        errorText = errorText + "Erstes neues Passwort: Ein unerlaubtes Zeichen wurde verwendet.\n";
        document.getElementById("passwordA").style.backgroundColor = "#ffbdbd";
    }

    if(!checkCharakterWithoutspecialChairs(document.password.passwordB.value)){
        error = 1;
        errorText = errorText + "Zweites neues Passwort: Ein unerlaubtes Zeichen wurde verwendet.\n";
        document.getElementById("passwordB").style.backgroundColor = "#ffbdbd";
    }

    if((document.password.passwordB.value != "" && document.password.passwordA.value != "") && (document.password.passwordA.value == document.password.passwordB.value)){

    } else {
        error = 1;
        errorText = errorText + "Die Passwörter stimmen nicht überein.\n";
        document.getElementById("passwordB").style.backgroundColor = "#ffbdbd";
        document.getElementById("passwordA").style.backgroundColor = "#ffbdbd";
    }

    if(error != 0) {
        alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
        return false;
    } else {
        return true;
    }
}

function validateBeobachtungsauftrag(){    
    var error = 0;
    var errorText = "";    
    document.getElementById("beoemailadressen").style.backgroundColor = "#ffffff";
    document.getElementById("zieldossierrech").style.backgroundColor = "#ffffff";

    if(document.beoinsert.dossierName.value == null || document.beoinsert.dossierName.value == ""){
        error = 1;
        errorText = errorText + "Dossiername: Bitte geben Sie einen Dossiernamen an.\n";
        document.getElementById("zieldossierrech").style.backgroundColor = "#ffbdbd";
    }    
    
    if(document.beoinsert.beoemailadressen.value.length > 5 && !document.beoinsert.versand.checked){
        document.beoinsert.versand.checked = true;
    }

    if(document.beoinsert.versand.checked && (document.beoinsert.beoemailadressen.value == null || document.beoinsert.beoemailadressen.value == "" || document.beoinsert.beoemailadressen.value.length < 5)){
        error = 1;
        errorText = errorText + "Email: Bitte geben Sie eine Emailadresse an.\n";
        document.getElementById("beoemailadressen").style.backgroundColor = "#ffbdbd";
    }

    if(document.beoinsert.beoemailadressen.value.length < 5 && !document.beoinsert.versand.checked){
        document.beoinsert.beoemailadressen.value = "";
    }

    if(error != 0) {
        alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
        return false;
    } else {
        return true;
    }
}

function validateNewUserForm(){
        var error = 0;
        var errorText = "";
        document.getElementById("benutzername").style.backgroundColor = "#ffffff";
        document.getElementById("name").style.backgroundColor = "#ffffff";
        document.getElementById("vorname").style.backgroundColor = "#ffffff";
        document.getElementById("email").style.backgroundColor = "#ffffff";

	if(!checkCharakterWithoutspecialChairs(document.userdata.benutzername.value)){
            error = 1;
            errorText = errorText + "Benutzername: Ein unerlaubtes Zeichen wurde verwendet.\n";
            document.getElementById("benutzername").style.backgroundColor = "#ffbdbd";
	}

        if(document.userdata.benutzername.value == null || document.userdata.benutzername.value == ""){
            error = 1;
            errorText = errorText + "Benutzername: Bitte geben Sie einen Benutzernamen an.\n";
            document.getElementById("benutzername").style.backgroundColor = "#ffbdbd";
	}
        
        if(document.userdata.name.value == null || document.userdata.name.value == ""){
            error = 1;
            errorText = errorText + "Name: Bitte geben Sie einen Namen an.\n";
            document.getElementById("name").style.backgroundColor = "#ffbdbd";
	}

        if(document.userdata.vorname.value == null || document.userdata.vorname.value == ""){
            error = 1;
            errorText = errorText + "Vorname: Bitte geben Sie einen Vornamen an.\n";
            document.getElementById("vorname").style.backgroundColor = "#ffbdbd";
	}

	if(checkCharakterForEmail(document.userdata.email.value) != 2){
            error = 1;
            errorText = errorText + "Email: Ein unerlaubtes Zeichen wurde verwendet.\n";
            document.getElementById("email").style.backgroundColor = "#ffbdbd";
	}
        
        if(document.userdata.email.value == null || document.userdata.email.value == ""){
            error = 1;
            errorText = errorText + "Email: Bitte geben Sie eine Emailadresse an.\n";
            document.getElementById("email").style.backgroundColor = "#ffbdbd";
	}        
        
        if(error != 0) {
            alert("Die rot eingefärbten Felder bitte korrekt ausfüllen.\nDie folgenden Fehler sind aufgetreten:\n\n" + errorText);
            return false;            
        } else {
            return true;
        }    
}

function checkNummer(eingabe){
	var checksum = 0;
	var laenge = eingabe.length;
	if(laenge >= 4 && laenge <= 5){
		checksum = checksum + 1;
	}
        
	if(eingabe.search(/[^0-9]/) == -1){
		checksum = checksum + 1;
	}
	return checksum;
}

function checkCharakterWithoutspecialChairs(eingabe){        
        var okey = false;
        var laenge = eingabe.length;
        
	if(eingabe.search(/[^A-Za-z0-9_\.]/) == -1 && laenge <= 40){
            okey = true;
	}
        
        return okey;
}

function checkCharakterForEmail(eingabe){
	var checksum = 0;
	var laenge = eingabe.length;
        
        var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
        var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid

	if(laenge <= 40){
		checksum = checksum + 1;
	}
        
	if (!reg1.test(eingabe) && reg2.test(eingabe)){
		checksum = checksum + 1;
	}
	return checksum;
}

function windowOpenDok (url,name,relWidth,relHeight) {
    var x = window.open (
        url,
        name,
        "height=" + Math.floor(screen.availHeight * relHeight) + ",width=" + Math.floor(screen.availWidth * relWidth) + ",resizable=yes,scrollbars=yes,toolbar=yes,status=yes",
        false
    );
    return x;
}

function setDateByDropdown(form, select, heuteString){    
    if (0==select.selectedIndex){
        // keine Einschränkung
        form.SEARCH_range_upper_darange.value = "";
        form.SEARCH_range_lower_darange.value = "";
    }
    else if (1==select.selectedIndex){
        // lassen wies ist
    }
    else {
        // echt was machen        
        var heute = heuteString.split("-");
        var delay = select.options[select.selectedIndex].value;
        var endDate = new Date(heute[0],heute[1]-1, heute[2]);
        var startDate = new Date (endDate.getTime() - delay*24*60*60*1000);
        form.SEARCH_range_upper_darange.value = date2str(endDate);
        form.SEARCH_range_lower_darange.value = date2str(startDate);
    }
}

function date2str (datum) {
    // datum (Datum) in string yyyy-MM-dd konvertieren
    if (null==datum){
        return ""; 
    }
    else {
        var s=(datum.getFullYear()*10000 + (1+datum.getMonth())*100 + datum.getDate()).toString();
        return (s.substr(0,4)+"-"+s.substr(4,2)+"-"+s.substr(6,2));
    }
}


