// -------------------------------- //
// --  Online e-mail (Kapcsolat  -- //
// --  modul)ellenőrző scriptje  -- //
// --                            -- //
// --  Írta: Lajkó Sándor        -- //
// --  Dátum: 2011.03.04.        -- //
// -------------------------------- //
function KapcsolatModul(FormObject){
    //  ----  Űrlap objektumok ---- //
    this.Urlap  = FormObject;
    this.Nev    = FormObject.name;
    this.Email  = FormObject.email;
    this.Targy  = FormObject.subject;
    this.Uzenet = FormObject.message;
}

KapcsolatModul.prototype = {

    // ---- Hibaüzenetek ---- //
    ErrorNev    : "Kérem adja meg a nevét!",
    ErrorUzenet : "Kérem írjon üzenetet!",
    ErrorNoEmail: "Kérem adja meg az e-mail címét!",
    ErrorEmail  : "Hibás e-mail cím!",
    ErrorTargy  : "Kérem adja meg az üzenet tárgyát!",

    // ---- "privát" függvények ---- //
    ellenorzo : function(objektum, hibauzenet){
        if (objektum.value == null || objektum.value == "")
        {
            alert(hibauzenet);
            objektum.focus();
            return false;
        }
        else
            return true;
    },

    email_helyesseg : function()
    {
        var str = this.Email.value;
        var at="@";
        var dot=".";
        var lat=str.indexOf(at);
        var lstr=str.length;
        if (str.indexOf(at)==-1){
           alert(this.ErrorEmail);
           return false;
        }

        if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
           alert(this.ErrorEmail);
           return false;
        }

        if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
            alert(this.ErrorEmail);
            return false;
        }

         if (str.indexOf(at,(lat+1))!=-1){
            alert(this.ErrorEmail);
            return false;
         }

         if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
            alert(this.ErrorEmail);
            return false;
         }

         if (str.indexOf(dot,(lat+2))==-1){
            alert(this.ErrorEmail);
            return false;
         }

         if (str.indexOf(" ")!=-1){
            alert(this.ErrorEmail);
            return false;
         }

         return true;
    },

    // ---- Form ellenőrzése ---- //
    FormValidate : function(){
        if (!this.ellenorzo(this.Nev, this.ErrorNev)) return false;
        if (!this.ellenorzo(this.Email, this.ErrorNoEmail)) return false;
        if (!this.email_helyesseg()){ this.Email.focus(); return false;}
        if (!this.ellenorzo(this.Targy, this.ErrorTargy)) return false;
        if (!this.ellenorzo(this.Uzenet, this.ErrorUzenet)) return false;
        return true;
    },

    // ---- Form küldés ---- //
    FormSubmit : function(){
        this.Urlap.submit();
    },

    FormValidatedSubmit : function(){
        if (this.FormValidate())
            this.FormSubmit();
    }
}

function Kapcsolat(obj){
    var k = new KapcsolatModul(obj);
    return k.FormValidate();
}
