var reg_email = /^[A-Za-z0-9\.\-_]+[@][A-Za-z0-9\-\.]+[\.][A-Za-z][A-Za-z][A-Za-z]?$/;



//------------------------------------------------------------------------------
// VERIFICATION DES FORMULAIRES POUR LES COMMENTAIRES
//------------------------------------------------------------------------------
function validationCommentaire() {
	var sError = ''; 
  document.getElementById("oblig1").style.color = "#f3f3f3";
  document.getElementById("oblig2").style.color = "#f3f3f3";
  document.getElementById("oblig3").style.color = "#f3f3f3";
  document.getElementById("oblig9").style.color = "#f3f3f3";
  
	if (trim(document.addCommentaire.laisserCommentaireNom.value).length==0) {
  	sError+='- Vous devez renseigner votre nom\n';
    document.getElementById("oblig1").style.color = "#9ede00";
  }
  if (trim(document.addCommentaire.laisserCommentaireCapcha.value).length==0) {
  	sError+='- Vous devez renseigner le captcha\n';
    document.getElementById("oblig2").style.color = "#9ede00";
  }
  if (trim(document.addCommentaire.laisserCommentaireCommentaire.value).length==0) {
  	sError+='- Vous devez laisser un commentaire\n';
    document.getElementById("oblig3").style.color = "#9ede00";
  }
  if (trim(document.addCommentaire.laisserCommentaireEmail.value).length==0 || !reg_email.test(document.addCommentaire.laisserCommentaireEmail.value)) {
  	sError='- Email non valide';
    document.getElementById("oblig9").style.color = "#9ede00";
  }
  if (sError!='') {
  	//alert(sError);
  }
  else {
  	document.addCommentaire.submit()
  }
}

//------------------------------------------------------------------------------
// FONCTIONS GLOBALES
//------------------------------------------------------------------------------
function trim(str) {
   return str.replace(/(^\s*)|(\s*$)/g,"")
}

function strip_tags(str, allowed_tags) {
    var key = '', allowed = false;
    var matches = [];
    var allowed_array = [];
    var allowed_tag = '';
    var i = 0;
    var k = '';
    var html = '';
 
    var replacer = function(search, replace, str) {
        return str.split(search).join(replace);
    };
 
    // Build allowes tags associative array
    if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z]+)/gi);
    }
 
    str += '';
 
    // Match tags
    matches = str.match(/(<\/?[\S][^>]*>)/gi);
 
    // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;
        }
 
        // Save HTML tag
        html = matches[key].toString();
 
        // Is tag not in allowed list? Remove from str!
        allowed = false;
 
        // Go through all allowed tags
        for (k in allowed_array) {
            // Init
            allowed_tag = allowed_array[k];
            i = -1;
 
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}
 
            // Determine
            if (i == 0) {
                allowed = true;
                break;
            }
        }
 
        if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }
 
    return str;
}


//------------------------------------------------------------------------------
// Ajout d'une note
//------------------------------------------------------------------------------
function addNote(note, uniqid) {
	/*var xhr_object = null;

  if(window.XMLHttpRequest) // Firefox
     xhr_object = new XMLHttpRequest();
  else if(window.ActiveXObject) { // Internet Explorer
       try {
             xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
         } 
         catch (e) {
             try {
                 xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
             } 
             catch (e) {              	
               try {
  	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.3.0");
  	            } 
  	            catch (e) {              	
  	              try {
    	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.6.0");
    	            } 
    	            catch (e) {              	
    	              alert("erreur");
                  }
                }
              }
         }
  }
  else { // XMLHttpRequest non supporté par le navigateur
     sError+='Votre navigateur ne supporte pas les objets XMLHTTPRequest, merci d\'utiliser la derni\350re version d\'Internet Explorer ou de Firefox';
  }
  if (xhr_object) {
    xhr_object.open("POST", "../scripts/addnote.php", true);
    var parameters = "note="+note+"&uniqid="+uniqid;
    xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr_object.setRequestHeader("Content-length", parameters.length);
    xhr_object.setRequestHeader("Connection", "close");
    //alert(parameters);
		xhr_object.onreadystatechange = function() { 
      if(xhr_object.readyState == 4) {
      	if(xhr_object.status == 200) {
          //alert(xhr_object.responseText);        
        } 
        else { 
          sError+="Error: returned status code " + 
          xhr_object.status + " " + xhr_object.statusText; 
          //alert(sError);
        } 
      }
    }
    xhr_object.send(parameters);
  }*/
  var wAddVote = window.open('addVote.php?id='+uniqid+'&note='+note+'', 'addvote', 'menubar=no, status=no, scrollbars=no, menubar=no, width=310, height=190, resizable=yes, top='+(Mouse_Y)+', left='+(Mouse_X)+'');
  wAddVote.focus();
} 


//------------------------------------------------------------------------------
// Affichage des dernières videos
//------------------------------------------------------------------------------
function showLastVideos(currentRank,position,nbPage,uniqid) {
	var xhr_object = null;

  if(window.XMLHttpRequest) // Firefox
     xhr_object = new XMLHttpRequest();
  else if(window.ActiveXObject) { // Internet Explorer
       try {
	            xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
	        } 
	        catch (e) {
	            try {
	                xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	            } 
	            catch (e) {              	
	              try {
  	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.3.0");
  	            } 
  	            catch (e) {              	
  	              try {
    	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.6.0");
    	            } 
    	            catch (e) {              	
    	              alert("erreur");
                  }
                }
              }
	        }
		}
  else { // XMLHttpRequest non supporté par le navigateur
     sError+='Votre navigateur ne supporte pas les objets XMLHTTPRequest, merci d\'utiliser la derni\350re version d\'Internet Explorer ou de Firefox';
  }
  if (xhr_object) {
    xhr_object.open("POST", "../scripts/getLastVideos.php", true);
    var parameters = "currentRank="+currentRank+"&position="+position+"&nbPage="+nbPage+"&uniqid="+uniqid;
    xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr_object.setRequestHeader("Content-length", parameters.length);
    xhr_object.setRequestHeader("Connection", "close");
    //alert(parameters);
		xhr_object.onreadystatechange = function() { 
      if(xhr_object.readyState == 4) {
      	if(xhr_object.status == 200) {
          //alert(xhr_object.responseText);
          document.getElementById("photoContent").innerHTML=xhr_object.responseText;
          /*document.getElementById("nbPhotos").innerHTML=page+"/"+nbPage;
          if (page==1) {
          	document.getElementById("btnPrevious").style.visibility="hidden";
          }
          else {
          	document.getElementById("btnPrevious").style.visibility="visible";
          }
          if (page==nbPage) {
          	document.getElementById("btnNext").style.visibility="hidden";
          }
          else {
          	document.getElementById("btnNext").style.visibility="visible";
          }*/
        } 
        else { 
          //sError+="Error: returned status code " + 
          //xhr_object.status + " " + xhr_object.statusText; 
          //alert(sError);
        } 
      }
    }
    xhr_object.send(parameters);
  }
}

//------------------------------------------------------------------------------
// Affichage des dernières photos
//------------------------------------------------------------------------------
function showLastPhotos(currentRank,position,nbPage,uniqid) {
	var xhr_object = null;

  if(window.XMLHttpRequest) // Firefox
     xhr_object = new XMLHttpRequest();
  else if(window.ActiveXObject) { // Internet Explorer
       try {
	            xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
	        } 
	        catch (e) {
	            try {
	                xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	            } 
	            catch (e) {              	
	              try {
  	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.3.0");
  	            } 
  	            catch (e) {              	
  	              try {
    	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.6.0");
    	            } 
    	            catch (e) {              	
    	              alert("erreur");
                  }
                }
              }
	        }
		}
  else { // XMLHttpRequest non supporté par le navigateur
     sError+='Votre navigateur ne supporte pas les objets XMLHTTPRequest, merci d\'utiliser la derni\350re version d\'Internet Explorer ou de Firefox';
  }
  if (xhr_object) {
    xhr_object.open("POST", "../scripts/getLastPhotos.php", true);
    var parameters = "currentRank="+currentRank+"&position="+position+"&nbPage="+nbPage+"&uniqid="+uniqid;
    xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr_object.setRequestHeader("Content-length", parameters.length);
    xhr_object.setRequestHeader("Connection", "close");
    //document.write(parameters);
		xhr_object.onreadystatechange = function() { 
      if(xhr_object.readyState == 4) {
      	if(xhr_object.status == 200) {
          //alert(xhr_object.responseText);  
          document.getElementById("photoContent").innerHTML=xhr_object.responseText;
          /*if (document.getElementById("nbPhotos")) {
	          document.getElementById("nbPhotos").innerHTML=page+"/"+nbPage;
          }
          if (page==1) {
          	document.getElementById("btnPrevious").style.visibility="hidden";
          }
          else {
          	document.getElementById("btnPrevious").style.visibility="visible";
          }
          if (page==nbPage) {
          	document.getElementById("btnNext").style.visibility="hidden";
          }
          else {
          	document.getElementById("btnNext").style.visibility="visible";
          }*/
        } 
        else { 
          //sError+="Error: returned status code " + xhr_object.status + " " + xhr_object.statusText;
          //alert(sError);
        } 
      }
    }
    xhr_object.send(parameters);
  }
}

//------------------------------------------------------------------------------
// Affichage des dernières photos
//------------------------------------------------------------------------------
function showLastCoupDeCoeurs(currentRank,position,nbPage,uniqid) {
	var xhr_object = null;

  if(window.XMLHttpRequest) // Firefox
     xhr_object = new XMLHttpRequest();
  else if(window.ActiveXObject) { // Internet Explorer
       try {
	            xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
	        } 
	        catch (e) {
	            try {
	                xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	            } 
	            catch (e) {              	
	              try {
  	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.3.0");
  	            } 
  	            catch (e) {              	
  	              try {
    	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.6.0");
    	            } 
    	            catch (e) {              	
    	              alert("erreur");
                  }
                }
              }
	        }
		}
  else { // XMLHttpRequest non supporté par le navigateur
     sError+='Votre navigateur ne supporte pas les objets XMLHTTPRequest, merci d\'utiliser la derni\350re version d\'Internet Explorer ou de Firefox';
  }
  if (xhr_object) {
    xhr_object.open("POST", "../scripts/getLastCoupsDeCoeur.php", true);
    var parameters = "currentRank="+currentRank+"&position="+position+"&nbPage="+nbPage+"&uniqid="+uniqid;
    xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr_object.setRequestHeader("Content-length", parameters.length);
    xhr_object.setRequestHeader("Connection", "close");
    //alert(parameters);
		xhr_object.onreadystatechange = function() { 
      if(xhr_object.readyState == 4) {
      	if(xhr_object.status == 200) {
          //alert(xhr_object.responseText);  
          document.getElementById("photoContent").innerHTML=xhr_object.responseText;
          /*if (document.getElementById("nbPhotos")) {
	          document.getElementById("nbPhotos").innerHTML=page+"/"+nbPage;
          }
          if (page==1) {
          	document.getElementById("btnPrevious").style.visibility="hidden";
          }
          else {
          	document.getElementById("btnPrevious").style.visibility="visible";
          }
          if (page==nbPage) {
          	document.getElementById("btnNext").style.visibility="hidden";
          }
          else {
          	document.getElementById("btnNext").style.visibility="visible";
          }*/
        } 
        else { 
          //sError+="Error: returned status code " + xhr_object.status + " " + xhr_object.statusText;
          //alert(sError);
        } 
      }
    }
    xhr_object.send(parameters);
  }
}

//------------------------------------------------------------------------------
// Envoi à un ami
//------------------------------------------------------------------------------
function sendFriend(type, uniqid) {
	var sError = ''; 
  document.getElementById("oblig4").style.color = "#f3f3f3";
  document.getElementById("oblig5").style.color = "#f3f3f3";
  document.getElementById("oblig6").style.color = "#f3f3f3";
  
	if (trim(document.formSendFriend.sendFriendNomFrom.value).length==0) {
  	sError='nomFrom';
    document.getElementById("oblig4").style.color = "#9ede00";
  }
  if (trim(document.formSendFriend.sendFriendNomTo.value).length==0) {
  	sError='nomTo';
    document.getElementById("oblig5").style.color = "#9ede00";
  }
  if (trim(document.formSendFriend.sendFriendEmail.value).length==0 || !reg_email.test(document.formSendFriend.sendFriendEmail.value)) {
  	sError='emailTo';
    document.getElementById("oblig6").style.color = "#9ede00";
  }
  if (sError=='') {
    var xhr_object = null;

    if(window.XMLHttpRequest) // Firefox
       xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) { // Internet Explorer
       try {
	            xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
	        } 
	        catch (e) {
	            try {
	                xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	            } 
	            catch (e) {              	
	              try {
  	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.3.0");
  	            } 
  	            catch (e) {              	
  	              try {
    	                xhr_object = new ActiveXObject("MSXML2.XMLHTTP.6.0");
    	            } 
    	            catch (e) {              	
    	              alert("erreur");
                  }
                }
              }
	        }
		}
    else { // XMLHttpRequest non supporté par le navigateur
       sError+='Votre navigateur ne supporte pas les objets XMLHTTPRequest, merci d\'utiliser la derni\350re version d\'Internet Explorer ou de Firefox';
    }
    if (xhr_object) {
      xhr_object.open("POST", "../scripts/sendFriend.php", true);
      var parameters = "nameFrom="+trim(document.formSendFriend.sendFriendNomFrom.value)+"&nameTo="+trim(document.formSendFriend.sendFriendNomTo.value);
      parameters+="&emailTo="+trim(document.formSendFriend.sendFriendEmail.value)+"&type="+type+"&id="+uniqid;
      xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xhr_object.setRequestHeader("Content-length", parameters.length);
      xhr_object.setRequestHeader("Connection", "close");
      //alert(parameters);
  		xhr_object.onreadystatechange = function() { 
        if(xhr_object.readyState == 4) {
        	if(xhr_object.status == 200) {
            //alert(xhr_object.responseText);
          	document.getElementById("divMailEnvoye").style.display="block";
          	document.getElementById("divEnvoiAmi").style.display="none";
          } 
          else { 
            sError+="Error: returned status code " + 
            xhr_object.status + " " + xhr_object.statusText; 
            //alert(sError);
          } 
        }
      }
      xhr_object.send(parameters);
    }
  }
}

function switchById(divId) {
	if (document.getElementById(divId).style.display=='none') {
		document.getElementById(divId).style.display='block';
  }
  else {
  	document.getElementById(divId).style.display='none';
  }
}

function clearEnvoiAmi() {
	document.getElementById('divMailEnvoye').style.display='none';
  document.formSendFriend.sendFriendNomFrom.value='';
  document.formSendFriend.sendFriendNomTo.value='';
  document.formSendFriend.sendFriendEmail.value='';
}



var Mouse_X = 0; // Variable globale Position X de la Mouse
var Mouse_Y = 0; // Variable globale Position Y de la Mouse

//-----------------------------------------------------------------------------
// l'argument e n'est passé à la fonction que par les navigateur n'ayant pas
// implémenté event comme objet, IE posséde son propre objet bien connu event
//-----------------------------------------------------------------------------
function WhereMouse( e ){
  var DocRef;    // Variable pour IE uniquement


  // L'événement est passée à la fonction
  // donc tous sauf IE…
  if( e){                     // Dans ce cas on obtient directement la position dans la page
    Mouse_X = e.pageX;
    Mouse_Y = e.pageY;
  }
  else{                      // Dans ce cas on obtient la position relative à la fenêtre d'affichage
    Mouse_X = event.clientX;
    Mouse_Y = event.clientY;


    //-- Il faut traiter le CAS des DOCTYPE sous IE
    if( document.documentElement && document.documentElement.clientWidth) // Donc DOCTYPE
      DocRef = document.documentElement;   // Dans ce cas c'est documentElement qui est réfèrence
    else
      DocRef = document.body;                    // Dans ce cas c'est body qui est réfèrence

    //-- On rajoute la position liée aux ScrollBars
    Mouse_X += DocRef.scrollLeft;
    Mouse_Y += DocRef.scrollTop;
  }
}


//== INITIALISATION ================
document.onmousemove = WhereMouse;
