// +-----------------------------------------------------------------------------+
// | Author:         niklas hultgren                                             |
// | Date:           2006-04-29                                                  |
// | Contact:        niklas.hultgren@litchi.se                                   |
// +-----------------------------------------------------------------------------+
    
    
    //Function for validating forms
    function validateForm(form, validate_this){
        var inputError      = false;
        var errorMessage    = "";

        //-- FORM | CONTACT | START
        if(validate_this == "contact"){
            var name = trim(form.name.value);
            if(name.length == 0){
                inputError = true;
                errorMessage += "Namn är en obligatorisk uppgift.\n";
            }

            var emailaddress = trim(form.emailaddress.value);
            if(emailaddress.length == 0){
                inputError = true;
                errorMessage += "E-postadress är en obligatorisk uppgift.\n";
            }else{
                if(!echeck(emailaddress)){
                    inputError = true;
                    errorMessage += "Den e-postadress du angivigt är inkorrekt.\n";
                }
            }

            var phone = trim(form.phone.value);
            if(phone.length == 0){
                inputError = true;
                errorMessage += "Telefon är en obligatorisk uppgift.\n";
            }

            var message = trim(form.message.value);
            if(message.length == 0){
                inputError = true;
                errorMessage += "Meddelande är en obligatorisk uppgift.\n";
            }
        }
        //-- FORM | CONTACT | END

        //-- FORM | FORUM | START
        if(validate_this == "forum"){
            var username = trim(form.username.value);
            if(username.length == 0){
                inputError = true;
                errorMessage += "Användarnamn är en obligatorisk uppgift.\n";
            }

            var password = trim(form.password.value);
            if(password.length == 0){
                inputError = true;
                errorMessage += "Lösenord är en obligatorisk uppgift.\n";
            }
        }
        //-- FORM | FORUM | END
        
        //-- REQUEST USERNAME AND/OR PASSWORD | START
        if(validate_this == "request_password"){
            var retrive_emailaddress = trim(form.retrive_emailaddress.value);
            if(retrive_emailaddress.length == 0){
                inputError = true;
                errorMessage += "E-postadress är en obligatorisk uppgift.\n";
            }else{
                if(!echeck(retrive_emailaddress)){
                    inputError = true;
                    errorMessage += "Den e-postadress du angivigt är inkorrekt.\n";
                }
            }
        }
        //-- REQUEST USERNAME AND/OR PASSWORD | END


        if(inputError){
            alert("Följande fel har påträffats:\n" +errorMessage);
            return false;
        }else{
            return true;
        }
    }
    

    //Function for triming strings
    function trim(str){
        return str.replace(/^\s*|\s*$/g,"");
    }

    //Function for validating if a string contains only numeric values
    function IsNumeric(sText){
        var ValidChars = "0123456789.";
        var IsNumber=true;
        var Char;

        for (i = 0; i < sText.length && IsNumber == true; i++) { 
            Char = sText.charAt(i);
                if (ValidChars.indexOf(Char) == -1){
                    IsNumber = false;
                }
         }
    return IsNumber;
}

    //Function for validating an e-mailaddress
    function echeck(str) {
        var at="@"
        var dot="."
        var lat=str.indexOf(at)
        var lstr=str.length
        var ldot=str.indexOf(dot)
        
        if (str.indexOf(at)==-1){return false}
        if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){return false}
        if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){return false}
        if (str.indexOf(at,(lat+1))!=-1){return false}
        if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){return false}
        if (str.indexOf(dot,(lat+2))==-1){return false}
        if (str.indexOf(" ")!=-1){return false}

    return true	
}
