/*
 * Validation formulaire inscription
 */

var validForm = {
    checkPseudo: function (e) {
        var exp = new RegExp ("^[a-zA-Z0-9@_\-]{4,20}$", "g");
        if (exp.test (e.value) == false) {
            validForm.doError(e);
            $('error_inscription').innerHTML = $('errorPseudo').innerHTML;
        }
        else validForm.doValid(e);
    },
    checkPwd: function (e) {
        var exp = new RegExp ("^[a-zA-Z0-9_]{4,10}$", "g");
        if (exp.test (e.value) == false) {
            validForm.doError(e);
            $('error_inscription').innerHTML = $('errorPass').innerHTML;
        }
        else validForm.doValid(e);
    },
    checkPwdSimi: function (e1, e2) {
        if (e1.value != '' && e1.value == e2.value) validForm.doValid(e1);
        else {
            validForm.doError(e1);
            $('error_inscription').innerHTML = $('errorPass2').innerHTML;
        }
    },
    checkMail: function (e) {
        var exp = new RegExp ("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$", "g");
        if (exp.test (e.value) == false) {
            validForm.doError(e);
            $('error_inscription').innerHTML = $('errorMail').innerHTML;
        }
        else validForm.doValid(e);
    },
    doValid: function(element) {
        element.parentNode.className = 'valid';
        $('error_inscription').innerHTML = "";
    },
    doError: function(element) {
        element.parentNode.className = 'error';
    },
    checkForm: function () {
        var elems = $('inscription').getElementsByClassName('required');
        var validation = true;

        $A(elems).each(function(element) {
            switch(element.id) {
                case 'pseudo':
                    validForm.checkPseudo(element);
                    break;
                case 'pass':
                    validForm.checkPwd(element);
                    break;
                case 'pass2':
                    validForm.checkPwdSimi(element, $('pass'));
                    break;
                case 'email':
                    validForm.checkMail(element);
                    break;
            }
            if (element.parentNode.className != 'valid') {
                validation = false;
            }
        });
        if (validation === true) {
            e.submit();
        } else {
            $('error_inscription').innerHTML = $('errorForm').innerHTML;
        }
    }
};

/*
 * Advertisement
 */

function center_page() {
    if ($('mickey')) {
        var largeurdispo = (((document.body.offsetWidth)-800)/2);
        if ((largeurdispo-2) > 0) {
            $('mickey').style.right = (largeurdispo+2)+"px";
        } else {
            $('mickey').style.right = 0+"px";
        }
    }
    if ($('minnie')) {
        var largeurdispo = (((document.body.offsetWidth)-800)/2);
        if ((largeurdispo-25) > 0)
            if (navigator.appName == "Netscape")
                $('minnie').style.left = (largeurdispo+36)+"px";
            else
                $('minnie').style.left = (largeurdispo+45)+"px";
        else
            $('minnie').style.left = 248+"px";
            $('minnie').style.top = 35+"px";
    }
}

/*
 * Recherche
 */

function autoRC(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
    return 0;
}

function lien_jeux_adulte() {
    if (autoRC('disclaimer')!='oui') {
        if (confirm("Cette partie du site contient des textes, images et vidéos à caractère pornographique qui peuvent choquer certaines sensibilités.\n\nEn cliquant sur OK, je certifie sur l'honneur :\n- Etre majeur selon la loi en vigueur dans mon pays.\n- Que les lois de mon état ou mon pays m'autorisent a consulter les pages du site web jeuxvideo-flash.com et que jeuxvideo-flash.com a le droit de me transmettre de telles données.\n- Etre informé du caractère pornographique du serveur auquel j'accède.\n- Je déclare n'être choqué par aucun type de sexualité et m'interdit de poursuivre les auteurs de jeuxvideo-flash.com.\n- Consulter ce serveur à titre personnel sans impliquer de quelque manière que ce soit une société privée ou un organisme public.\n\nEn conséquence, en cliquant sur OK, je reconnais :\n- Ne pas faire état de l'existence de ce serveur et à ne pas en diffuser le contenu à des mineurs.\n- Utiliser tous les moyens permettant d'empécher l'accès de ce serveur à tout mineur.\n- Assumer ma responsabilité, si un mineur accède à ce serveur à cause de négligences de ma part : absence de protection de l'ordinateur personnel, absence de logiciel de censure, divulgation ou perte du mot de passe de sécurité.\n- Assumer ma responsabilité si une ou plusieurs de mes présentes déclarations sont inexactes.\n\nJ'ai noté que les éditeurs du site www.jeuxvideo-flash.com ont particulièrement insisté pour que je prenne connaissance des conditions d'accès décrites ci-dessus.\n\n\n")) {
            var date = new Date();
            date.setTime(date.getTime()+(7*24*60*60*1000));
            var expires = "; expires="+date.toGMTString();
            document.cookie = "jvadultjeu=ok"+expires+"; path=/";
            document.cookie = "jvadultjeu=ok"+expires+"; path=/; domain=.jeuxvideo-flash.com";
            document.cookie = "disclaimer=oui"+expires+"; path=/";
            document.cookie = "disclaimer=oui"+expires+"; path=/; domain=.jeuxvideo-flash.com";
            document.getElementById('lien_jeux_adulte').href="/jeux-adulte/";
        } else {
            document.getElementById('lien_jeux_adulte').href="#top";
        }
    }
}

function SwitchMenu(obj) {
    if(document.getElementById) {
        var el = document.getElementById(obj);
        if(el.style.display != 'block') {
            el.style.display = 'block';
        } else {
            el.style.display = 'none';
        }
    }
}

/*
 * Add Tom's Games to favorites
 */

function favoris() {
    if ( navigator.appName != 'Microsoft Internet Explorer') {
        window.sidebar.addPanel("Tom's Games Flash", PAGE_DOMAIN, "");
    } else {
        window.external.AddFavorite(PAGE_DOMAIN, "Tom's Games Flash");
    }
}

function delete_rechercher() {
    element = $('input_form_search');    
    if(element.value == TROUVER_UN_JEU) {
        element.value='';
    } else {
        element.select();
    }
}

function verifSearchForm(elem) {
    var recherche = $('input_form_search').value;
    if (recherche.length < 3 || recherche == RECHERCHE_DEFAULT_TEXT) {
        alert(ERROR_SEARCH);
        return false;
    } else {
        elem.submit();
    }
}

/*
 * Manage newsletter subscription
 */

function valider_nl_jvf() {
    if ($('adrMail').value =='' || $F('adrMail').value =='Votre e-mail') {
        alert(MISSING_MAIL);
        document.nl_jvf.adrMail.focus();
        return;
    } else {
        var regle = new RegExp($('adr_rule').value);
        if($('nl_jvf').adrMail.value.match(regle)) {
            add_nl_user();
        } else {
            alert(INVALID_MAIL);
            $('nl_jvf').adrMail.focus();
            return;
        }
    }
}

function switch_bp() {
    if ($('bon_plans').value == 'non')
        $('bon_plans').value = 'oui';
    else
        $('bon_plans').value = 'non'
}

function add_nl_user() {
    var url_script = CTXURL + 'action/inscription_nl.php';
    var parametres = 'adrMail='+$F('adrMail')+'&bon_plans='+$('bon_plans').value;
    var myAjax = new Ajax.Request(
        url_script, {
            method: 'get',
            parameters: parametres,
            onComplete: msg_nl
        }
    );
}
function msg_nl(item) {
    var rep = item.responseText;
    switch(rep) {
            case 'ok':
                alert(SUBSCRIBE_OK);
            break;
            case 'nok':
                alert(SUBSCRIBE_NOK);
            break;
            case 'err':
                alert(SUBSCRIBE_ERR);
            break;
        }
    }

/*
 * Comment moderation
 */

function open_signaler(position,id_com) {
    document.signaler_com.id_com.value = id_com;
    haut = $(position).offsetHeight ;
    lahaut = (450 + (39*position));
    $('signaler_commentaire').style.top = lahaut+"px" ;
    $('signaler_commentaire').style.display = "block";
}

function close_signaler() {
    $('signaler_commentaire').style.display = "none";
}

function open_signaler_modal(elemId,id_com) {
    //document.signaler_com.id_com.value = id_com;
    $('id_com').value = id_com;
    viewModal(elemId);
    return false;
}


/*
 * Disclaimer
 */

function retourSite() {
    if($('pageOverlay') == undefined) return ;
        $('myModal').hide();
        $('pageOverlay').hide();
        $('myModal-loader').hide();
}

function verif_disclaimer(name,url,site_alias) {
    if(autoRC(name) == 'ok') {
        window.location.href = site_alias;
    } else {
        viewModal(url);
    }
}

function create_cookie_disclaimer(rep, url, domain) {
    if(rep == 'ok' || rep == 'homeok') {
        date = new Date;
        date.setDate(new Date().getDate()+7);
        document.cookie="disclaimer=ok"+"; expires="+date.toGMTString()+"; path=/; domain="+domain;
        if (rep == 'ok') {
            document.location.replace(url);
        } else {
            retourSite();
        }
    } else if (rep == 'home') {
        document.location.replace(url);
    } else {
        retourSite();
    }
    return;
}

function create_cookie_clickAdulte(domain) {
    date = new Date;
    date.setDate(new Date().getDate()+1);
    document.cookie = "clickadulte=ok" + "; expires=" + date.toGMTString() + "; path=/; domain=" + domain;
    return;
}

function getPseudo() {
    return autoRC('moi_pseudo')
}

function getId() {
    return autoRC('moi_id');
}

function displayDisclaimer() {
    if (autoRC('disclaimer') != 'ok') {
        viewModal(CTXURL + '?ctrl=disclaimer');
        $('pageOverlay').setOpacity(1);
    }
}

/*
 * Language Selection
 */

function displayLanguage() {
    CookieParam = new RegExp("#redir");
    if(CookieParam.exec(window.document.URL)) {
        viewModal(CTXURL + '?ctrl=membres&action=modalLanguageSelection');
    }
}

function delete_tmp_newsletterval() {
    element = $('adrMail');    
    if(element.value == NEW_LETTER_EMAIL) {
        element.value='';
    } else {
        element.select();
    }
}