//***********************************************************************
//*	Titel:			VicExtra Feltvalidering			*
//*	Filnavn:		VicExtraCheck.js			*
//*									*
//*	Udvikler:		Knud Winckelmann, Infoturum		*
//*				for TDCMobil, 2001			*
//*	Summary:		Validerer inputfelter inden submít	*
//*				til databasen.				*
//***********************************************************************

//Fejltekster

var txt_aendringer = new Array("Du har foretaget ændringer, som ikke er blevet gemt. Er du sikker op at du vil forlade siden?", "You have made changes that have not been saved. Do you really want to leave the page?", "Du har foretatt endringer som ikke er blitt lagret. Er du sikker på at du vil forlate siden?", "Du har gjort ändringar som inte sparats. Är du säker på att du vill lämna sidan?");
var txt_tomt_felt = new Array("Dette felt må ikke være tomt", "This field cannot be empty", "Dette feltet kan ikke være tomt", "Detta fält måste fyllas i");

var txt_oversigt_rps_bogstaver = new Array("Rækker pr side må kun indeholde cifre", "Rows per page must only include digits", "Rader per side kan kun inneholde sifre", "Antal rader per sida anges i siffror");
var txt_oversigt_rps_nul = new Array("Rækker pr side skal være større end '0'", "Rows per page must be larger than 0", "Rader per side må være større enn '0'", "Antal rader per sida skall vara större än 0");
var txt_oversigt_gaa_bogstaver = new Array("Gå til side må kun indeholde cifre", "Go to page must only include digits", "Gå til side kan kun inneholde sifre", "Funktionen gå till sida anges i siffror");
var txt_oversigt_gaa_forkert_side = new Array("Gå til side eksisterer ikke", "Go to page does not exist", "Gå til side eksisterer ikke", "Sidan som angivits finns inte");

var _changed = false;

//Deklarerer fejlvariable og sætter dem false.
var tlf_error = false;
var text_error = false;
var lokal_error = false;

//Hindrer at siden submitter ved tryk på enter
function noenter()
{
    return !(window.event && window.event.keyCode == 13);
}


//Regexp til check af at der kun er cifre i numrene.
// \D = Non-cifre.
rexp = /\D/;


//Ændrer _changed til true ved ændring i felterne
function changed()
{
    _changed = true;
}

// Åbner windue med help.html eller helpAdm.html alt efter siden requestet kommer fra
function openHelp(usertype, pageId, language)
{
    var url = '../servlet/help?f=help.html#';
    var urlAdm = '../servlet/help?f=helpAdm.html#';

    if (language == 1) {
        url = '../servlet/help?f=help_en.html#';
        urlAdm = '../servlet/help?f=helpAdm_en.html#';
    } else if (language == 2) {
        url = '../servlet/help?f=help_no.html#';
        urlAdm = '../servlet/help?f=helpAdm_no.html#';
    } else if (language == 3) {
        url = '../servlet/help?f=help_sv.html#';
        urlAdm = '../servlet/help?f=helpAdm_sv.html#';
    }

    if (usertype == 'USERTYPE_WEB')  // Type from Const
        window.open(url + pageId, 'helpwin', 'toolbar=1,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=400');
    else
        window.open(urlAdm + pageId, 'helpwin', 'toolbar=1,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=400');
}


function openFc() {
    var url = 'http://www.mobilflex-connect.dk/flexconnect/servlet/MainControllServlet.tdc';

    window.open(url, 'Flexconnect', 'toolbar=1,location=1,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=800,height=600');
}

// Åbner url, hvis self = 0, åbnes linket i det samme browservindue, ellers åbnes et nyt separat vindue
function goTo(url, self, language)
{
    if (_changed)
    {
        var bliv = confirm(txt_aendringer[language]);
        if (!bliv)
        {
            return;
        }
        else
        {
            if (self == 0)
            {
                window.location = url;
            }
            else
            {
                window.open(url);
            }
        }
    }
    else
    {
        if (self == 0)
        {
            window.location = url;
        }
        else
        {
            window.open(url);
        }
    }
}

//Validerer tekstfelter og sørger for at de ikke kan være tomme
function check_text(formnr, feltnr)
{
    var text = document.forms[formnr].elements[feltnr].value;
    if (!text)
    {
        return text_error = true;
    }
    else
    {
        return text_error = false;
    }
}


// Check af oversigt.jsp og oversigtAdm.jsp
function check_oversigt(action, language) {
    // action = 1,      søgning
    // action = 2,      bladre frem/tilbage
    // action = 3,      gå til

    var doSubmit = true;

    if (action == 1) {
        if (document.forms[0].elements[10]) { //if tom søgning => igen felter at checke
            var errorRows = false;

            var rows = document.forms[0].elements[9].value;

            if (check_text(0, 8) == true) {
                errorRows = true;
                alert(txt_tomt_felt[language]);
            } else

                if (rexp.test(rows)) {
                    errorRows = true;
                    alert(txt_oversigt_rps_bogstaver[language]);
                } else

                    if (rows == 0) {
                        errorRows = true;
                        alert(txt_oversigt_rps_nul[language]);
                    }
            if (errorRows) {
                document.forms[0].elements[9].focus();
                document.forms[0].elements[9].select();
                doSubmit = false;
            }
        }
    } else
        if (action == 2) {
            // Gør intet. Hop til, rækker pr side samt søgekriterie ignoreres

        } else
            if (action == 3) {
                var errorGaa = false;
                var lastPageNum = document.forms[0].elements[0].value;
                var gaaTil = document.forms[0].elements[11].value;

                if (check_text(0, 10) == true) {
                    errorGaa = true;
                    alert(txt_tomt_felt[language]);
                } else

                    if (rexp.test(gaaTil)) {
                        errorGaa = true;
                        alert(txt_oversigt_gaa_bogstaver[language]);
                    } else

                        if ((parseInt(gaaTil) > parseInt(lastPageNum)) || (gaaTil == 0)) {
                            errorGaa = true;
                            alert(txt_oversigt_gaa_forkert_side[language]);
                        }
                if (errorGaa) {
                    document.forms[0].elements[11].focus();
                    document.forms[0].elements[11].select();
                    doSubmit = false;
                }
            }
    if (doSubmit) {
        document.forms[0].submit();
    }
    return false;
}


