//--------------------- Codes Sources-------------------------------------------
function vote(id,v){
    var vo=getEl('vote');
    reqH('/ajax/codessources/vote.php',"id="+id.toString()+"&vote="+v.toString(),vo,true);
}
//------------------------------------------------------------------------------
function showcontext(e){
    if (!e) var e=window.event || Event;
    c=getEl("context");
    c.setAttribute("class", "context");
    c.style.left=(e.clientX ? e.clientX : e.pageX);
    c.style.top=(e.clientY ? e.clientY : e.pageY);
}
//------------------- Demineur -------------------------------------------------
function new_dewine(){
    reqH('./ajax/demineur/new_demine.php','',false,false);
    window.location.reload();
}
function changelevel(){
    reqH('./ajax/demineur/changelevel.php','',getEl('niveau'),true);
}
function changetaille(){
    reqH('./ajax/demineur/changetaille.php','',getEl('taille'),true);
}
function posDrap(x,y,e){
    if ((e.ctrlKey)){
        var z=getEl('case'+x+'_'+y);
        var a = new RegExp("^<.*D.*>$");
        if (a.test(z.innerHTML)){
            z.innerHTML='<input type="button" value="" onclick="decouvre('+x+','+y+',event);" />';
        }else{
            z.innerHTML='<input type="button" class="drap" value="" onclick="posDrap('+x+','+y+',event);" />';
        }
        var d='x='+x+'&y='+y;
        reqH('./ajax/demineur/demin_posflag.php',d,getEl('test'),true);
    }
}
function decouvre(x,y,e){    
    if (!(e.ctrlKey)) {
        var d='x='+x+'&y='+y;
        var List=reqH('./ajax/demineur/demin_decouvrecase.php',d,false,false);
        var T=List.split('!');
        getEl('unwine').innerHTML=T[0];
        var Tab=T[2].split('|');
        for (var i=0;i<Tab.length;i++){
            Tab[i]=Tab[i].split('_');
            if (Tab[i][2]){
                switch(Tab[i][0]){
                    case '0':
                        Tab[i][0]='';
                        break;
                    case '-1':
                        Tab[i][0]='X';
                        break;
                }
                getEl('case'+Tab[i][1]+'_'+Tab[i][2]).innerHTML = Tab[i][0];
            }
        }
        if (T[1]!=0){
            window.location.reload();
        }
    }else{
        posDrap(x,y,e);
    }
}
//------------------------------------------------------------------------------
//------------------------- Taquin ------------------------------------------
function new_taquin(){
      reqH('./ajax/taquin/new_taquin.php','',false,false);
      window.location.reload();
}
function swap_taquin(x,y){
    var d='x='+x.toString()+'&y='+y.toString();
    var coord;
    coord=reqH('./ajax/taquin/swap.php',d,false,false);
    var T= coord.split("|");
    var C = T[0].split("=");
    getEl("case_"+C[0]).innerHTML=C[1];
    C=T[1].split("=");
    getEl("case_"+C[0]).innerHTML=C[1];
    getEl("nbmove").innerHTML=T[2];
    if (T[3]==1){
        window.location.reload();
    }
}
//------------------------------------------------------------------------------
//---------------------- Puissance 4 -------------------------------------
function new_puissance4(){
    reqH('./ajax/puissance4/new_puissance4.php','',false,false);
    window.location.reload();
}
function placer_jeton_puissance4(x){
    var d='x='+x.toString();
    var coord=reqH('./ajax/puissance4/placer_jeton.php', d, false, false)
    var T = coord.split('|');
    var C = T[0].split(';');
    //alert(T[0]);
    anim_jeton(C[0],C[1],"j1");
    C=T[1].split(';');
    anim_jeton(C[0],C[1],"j2");
    if (T[2]!=0){
        window.location.reload();
    }
}
function anim_jeton(x,y,j){
    getEl('case_'+x+'_'+y).className=j;
}
//------------------------------------------------------------------------------
//---------------------- Reversi --------------------------------------------
function new_reversi(){
    reqH('./ajax/reversi/new_reversi.php','',false,false);
    window.location.reload();
}
function jouer_coup_reversi(x,y){
    var d='x='+x.toString()+'&y='+y.toString();
    var result=reqH('./ajax/reversi/jouer_coup.php',d,false,false);
    var tab_result=result.split("<>");
    getEl('nb_noir').innerHTML=tab_result[0];
    getEl('nb_blanc').innerHTML=tab_result[1];
    var list_coord=tab_result[2].split('|');
    var coord;
    for(var i=0;i<list_coord.length;i++){        
        coord=list_coord[i].split('_');
        getEl('case_'+coord[0]+'_'+coord[1]).className=coord[2];
    }
    if(tab_result[3]){
        window.location.reload();
    }
}
//------------------------------------------------------------------------------
function download(fichier){
	var tw = window.open("documents/"+fichier,fichier,"location=no,menubar=no,scrollbars=no,resize=no,resizable=no,status=no,toolbar=no,directories=no,width=0,height=0,top=0,left=0");
	tw.document.execCommand("SaveAs",false,fichier);
	tw.close();
}
function gestMenu(I){
    var C;
    var M=getEl("mainmenu");
    var k;
    for (k=0;k<M.childNodes.length;k++){
        C=M.childNodes[k];
        if (C.id){
            if (C.id!=I){
                C.setAttribute("class", "onglet");
            }else{
                C.setAttribute("class", "clicked");
            }
        }
    }
}
//------------------------------------------------------------------------------
/*Function retour ajax classique*/
var readystate=function(m,I,S){   
    if (m.readyState == 4 && m.status == 200){        
        if (S) {
            if (I){               
                if (I.innerHTML){
                    var a= m.responseText;
                    var d= a.indexOf('<script>');
                    var f= a.indexOf('</script>');
                    if ((d!=-1)&&(f!=-1)){
                        var js=a.substring(d+8, f);
                        eval(js);
                    }                   
                    I.innerHTML = a;
                }else{
                    I = m.responseText;
                }
            }else{
                I = m.responseText;
            }
        }
    }
}
/*P=URL de la page
 *D=Data à envoyer
 *I=Destination
 *S=Mode asynchrone true or false
 *F=function exéctuée sur le changement d'état
 **/
function reqH(P,D,I,S,F){
    if (!F){F=readystate;}
    //Création objet de requete
    var m=createXMLo();
    m.open("POST", P, S);
    m.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
    m.send(D);
    m.onreadystatechange = function(){F(m,I,S)};
    if (!S) {
        if (m){
            return m.responseText;
        }
    } 
}
/*Fonction de détection du navigateur.*/
function det_browser(){
    var x= new Array();
    x['browser']=navigator.appName;
    x['version']=parseFloat(navigator.appVersion);
    alert(x['browser']+'_'+x['version']);
}
/*Function de s�lection d'un �lement unique
*id: propri�t� id de l'�lement � s�lectionner
*Retourne l'objet voulu.
*/
function getEl(id) {
    if (document.getElementById(id)) {
        return document.getElementById(id);
    }else{
        return false;
    }
}
/*Fonction de cr�ation d'objet Ajax
*Retourne un objet ajax en fonction du navigateur
*/
function createXMLo(){
    var xhr;
    try {
        xhr = new XMLHttpRequest();  // Autres navigateurs       
    }
    catch(e)   // Echec
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");    // Essayer Internet Explorer
    }
    return xhr;
}
function error(){return true;}
//window.onerror=error;
//------------------------------------------------------------------------------


