function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/* AJAX COMPTE*/
function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}
	return ro;
}
var http = createRequestObject();

function cache_livr(boutoncache)
{
	if(boutoncache.checked)
		document.getElementById("adresselivr").style.display="block";
	else
		document.getElementById("adresselivr").style.display="none";
}

function sndReq(lavaleur) {
    var modele=/Firefox/;
    var typebrows = navigator.userAgent;
    if(modele.test(typebrows)) {
		http.open('GET', 'adresselivr.chtml?cacher='+lavaleur,true);
    }else {
		http.open('GET', 'adresselivr.chtml?cacher='+lavaleur,false);
    }
	http.onreadystatechange = handleResponse;
	http.send(null);
}

function handleResponse() {
	if(http.readyState == 4) {
		var response = http.responseText;
		if(response.length!=0) 
		{
		    if(document.getElementById("adresselivr")) {
		      		alert(response);
		      		alert("1=== " +document.getElementById("adresselivr").innerHTML);
				document.getElementById("adresselivr").innerHTML = response;
				alert("2=== " +document.getElementById("adresselivr").innerHTML);
		    }else{
		    	window.opener.document.getElementById("adresselivr").innerHTML = response;
		    }
		}
	}
}
/* FIN AJAX COMPTE*/
 

function MM_openBrWindow(theURL,winName,features, myWidth, myHeight, isCenter) { //v3.0
  if(window.screen)if(isCenter)if(isCenter=="true"){
    var myLeft = (screen.width-myWidth)/2;
    var myTop = (screen.height-myHeight)/2;
    features+=(features!='')?',':'';
    features+=',left='+myLeft+',top='+myTop;
  }
  window.open(theURL,winName,features+((features!='')?',':'')+'width='+myWidth+',height='+myHeight+',scrollbars=yes' );
}


function emailCheck (emailStr) {
	/* The following pattern is used to check if the entered e-mail address
	   fits the user@domain format.  It also is used to separate the username
	   from the domain. */
	var emailPat=/^(.+)@(.+)$/
	/* The following string represents the pattern for matching all special
	   characters.  We don't want to allow special characters in the address. 
	   These characters include ( ) < > @ , ; : \ " . [ ]    */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	/* The following string represents the range of characters allowed in a 
	   username or domainname.  It really states which chars aren't allowed. */
	var validChars="\[^\\s" + specialChars + "\]"
	/* The following pattern applies if the "user" is a quoted string (in
	   which case, there are no rules about which characters are allowed
	   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
	   is a legal e-mail address. */
	var quotedUser="(\"[^\"]*\")"
	/* The following pattern applies for domains that are IP addresses,
	   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
	   e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	/* The following string represents an atom (basically a series of
	   non-special characters.) */
	var atom=validChars + '+'
	/* The following string represents one word in the typical username.
	   For example, in john.doe@somewhere.com, john and doe are words.
	   Basically, a word is either an atom or quoted string. */
	var word="(" + atom + "|" + quotedUser + ")"
	// The following pattern describes the structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	/* The following pattern describes the structure of a normal symbolic
	   domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	
	
	/* Finally, let's start trying to figure out if the supplied address is
	   valid. */
	
	/* Begin with the coarse pattern to simply break up user@domain into
	   different pieces that are easy to analyze. */
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
	  /* Too many/few @'s or something; basically, this address doesn't
	     even fit the general mould of a valid e-mail address. */
		return "  - Votre adresse mail semble incorrecte (verifiez les @ et .)\n"
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	// See if "user" is valid 
	if (user.match(userPat)==null) {
	    // user is not valid
	    return "  - Le nom du destinataire dans votre adresse mail ne semble pas valide.\n"
	}
	
	/* if the e-mail address is at an IP address (as opposed to a symbolic
	   host name) make sure the IP address is valid. */
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
	    // this is an IP address
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
			return "  - L'adresse IP dans votre adresse mail est invalide.\n"
		    }
	    }
	    return true
	}
	
	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		return "  - Le nom de domaine de votre adresse mail ne semble pas valide.\n"
	}
	
	/* domain name seems valid, but now make sure that it ends in a
	   three-letter word (like com, edu, gov) or a two-letter word,
	   representing country (uk, nl), and that there's a hostname preceding 
	   the domain or country. */
	
	/* Now we need to break up the domain to get a count of how many atoms
	   it consists of. */
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   // the address must end in a two letter or three letter word.
	   return "  - L'adresse mail doit finir par un domaine en trois lettres ou un pays en deux lettres.\n"
	}
	
	// Make sure there's a host name preceding the domain.
	if (len<2) {
	   return "  - Il manque le nom de domaine dans votre adresse mail.\n"
	}
	
	// If we've gotten this far, everything's valid!
	return "";
}
//  End


function controle_contacts()
{
  var message_fac="";

  if (document.fcontact.civf.value=="")
    message_fac+="  - Civilité\n";
  if (document.fcontact.nomf.value=="")
    message_fac+="  - Nom\n";
  if (document.fcontact.prenomf.value=="")
    message_fac+="  - Prénom\n";
      
  if (document.fcontact.mailf.value=="")
    message_fac+="  - E-mail\n";
  else
  {
    if (document.fcontact.mailf.value.search(/^[-a-zA-Z0-9._]*[-a-zA-Z0-9_]@[-a-zA-Z0-9_]+(\.[-a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/) < 0)
      message_fac+="  - E-mail incorrect\n";
  }
  
  if (document.fcontact.objetf.value=="")
    message_fac+="  - Objet\n";
  
  if (document.fcontact.messagef.value=="")
    message_fac+="  - Message\n";  

  if( message_fac == "" )
  {
    return true;
  }
  else
  {
    alert( 'Merci de renseigner les champs suivants:\n\n' + message_fac );
    return false;
  }
}

function controle_catalogue()
{
  var message_fac="";

  if (document.fcontact.civf.value=="")
    message_fac+="  - Civilité\n";
  if (document.fcontact.nomf.value=="")
    message_fac+="  - Nom\n";
  if (document.fcontact.prenomf.value=="")
    message_fac+="  - Prénom\n";
      
  if (document.fcontact.mailf.value=="")
    message_fac+="  - E-mail\n";
  else
  {
    if (document.fcontact.mailf.value.search(/^[-a-zA-Z0-9._]*[-a-zA-Z0-9_]@[-a-zA-Z0-9_]+(\.[-a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/) < 0)
      message_fac+="  - E-mail incorrect\n";
  }
  
  if (document.fcontact.adressef.value=="")
    message_fac+="  - Adresse\n";
  
  if (document.fcontact.cpf.value=="")
    message_fac+="  - Code postal\n";
  
  if (document.fcontact.villef.value=="")
    message_fac+="  - Ville\n";
  
  if (document.fcontact.paysf.value=="")
    message_fac+="  - Pays\n";
  
  if (document.fcontact.cataloguef.value=="")
    message_fac+="  - Catalogue\n";  

  if( message_fac == "" )
  {
    return true;
  }
  else
  {
    alert( 'Merci de renseigner les champs suivants:\n\n' + message_fac );
    return false;
  }
}

function controle_motpasse()
{
  var message_fac="";
   
  if (document.fcontact.mailf.value=="")
    message_fac+="  - E-mail\n";
  else
  {
    message_fac += emailCheck( document.fcontact.mailf.value );
  }

  if( message_fac == "" )
  {
    return true;
  }
  else
  {
    alert( 'Merci de renseigner les champs suivants:\n\n' + message_fac );
    return false;
  }
}

function controle_compte()
{
  var message_fac="";

  if (document.fcontact.civf.value=="")
    message_fac+="  - Civilité\n";
  if (document.fcontact.nomf.value=="")
    message_fac+="  - Nom\n";
  if (document.fcontact.prenomf.value=="")
    message_fac+="  - Prénom\n";
      
  if (document.fcontact.mailf.value=="")
    message_fac+="  - E-mail\n";
  else
  {
    message_fac += emailCheck( document.fcontact.mailf.value );
  }
  
  if (document.fcontact.passef.value=="")
    message_fac+="  - Mot de passe\n";
  
  if (document.fcontact.passe2f.value=="")
    message_fac+="  - Confirmation du mot de passe\n"; 
    
  if (document.fcontact.passe2f.value!=document.fcontact.passe2f.value)
    message_fac+="  - Les mots de passe sont différents\n";

  
  
  if (document.fcontact.adrf.value=="")
    message_fac+="  - Adresse facturation\n";
  
  if (document.fcontact.cpf.value=="")
    message_fac+="  - Code postal facturation\n";
  
  if (document.fcontact.villef.value=="")
    message_fac+="  - Ville facturation\n";
  
  if (document.fcontact.paysf.value=="")
    message_fac+="  - Pays facturation\n";          
  
  if(document.fcontact.vallivr.checked)
  {
    if (document.fcontact.adrl.value=="")
      message_fac+="  - Adresse livraison\n";
  
    if (document.fcontact.cpl.value=="")
      message_fac+="  - Code postal livraison\n";
  
    if (document.fcontact.villel.value=="")
      message_fac+="  - Ville livraison\n";
  
    if (document.fcontact.paysl.value=="")
      message_fac+="  - Pays livraison\n"; 
  }

  if (!document.fcontact.acceptef.checked)
    message_fac+="  - Accepter les conditions générales de vente\n"; 

  if( message_fac == "" )
  {
    return true;
  }
  else
  {
    alert( 'Merci de renseigner les champs suivants:\n\n' + message_fac );
    return false;
  }
}

function controle_supnews()
{
  var message_fac="";
   
  if (document.fcontact1.maild.value=="")
    message_fac+="  - E-mail\n";
  else
  {
    message_fac += emailCheck( document.fcontact1.maild.value );
  }

  if( message_fac == "" )
  {
    return true;
  }
  else
  {
    alert( 'Merci de renseigner les champs suivants:\n\n' + message_fac );
    return false;
  }
}

function controle_newsletter()
{
  var message_fac="";

  if (document.fcontact.nomf.value=="")
    message_fac+="  - Nom\n";

  if (document.fcontact.prenomf.value=="")
    message_fac+="  - Prénom\n";
   
  if (document.fcontact.mailf.value=="")
    message_fac+="  - E-mail\n";
  else
  {
    message_fac += emailCheck( document.fcontact.mailf.value );
  }

  if( message_fac == "" )
  {
    return true;
  }
  else
  {
    alert( 'Merci de renseigner les champs suivants:\n\n' + message_fac );
    return false;
  }
}


function controle_ami()
{
  var message_fac="";

  if (document.fcontact.nomf.value=="")
    message_fac+="  - Nom\n";

  if (document.fcontact.prenomf.value=="")
    message_fac+="  - Prénom\n";
   
  if (document.fcontact.mailf.value=="")
    message_fac+="  - E-mail\n";
  else
  {
    message_fac += emailCheck( document.fcontact.mailf.value );
  }
  
  if (document.fcontact.maildestf.value=="")
    message_fac+="  - E-mail destinataire\n";
  else
  {
    message_fac += emailCheck( document.fcontact.maildestf.value );
  }
  
  if (document.fcontact.messagef.value=="")
    message_fac+="  - Message\n";

  if( message_fac == "" )
  {
    return true;
  }
  else
  {
    alert( 'Merci de renseigner les champs suivants:\n\n' + message_fac );
    return false;
  }
}

function controle_compteclient()
{
  var message_fac="";

  if (document.fcontact.civf.value=="")
    message_fac+="  - Civilité\n";
  if (document.fcontact.nomf.value=="")
    message_fac+="  - Nom\n";
  if (document.fcontact.prenomf.value=="")
    message_fac+="  - Prénom\n";
    
  if (document.fcontact.adrf.value=="")
    message_fac+="  - Adresse facturation\n";
  
  if (document.fcontact.cpf.value=="")
    message_fac+="  - Code postal facturation\n";
  
  if (document.fcontact.villef.value=="")
    message_fac+="  - Ville facturation\n";
  
  if (document.fcontact.paysf.value=="")
    message_fac+="  - Pays facturation\n";          
  
  if(document.fcontact.vallivr.checked)
  {
    if (document.fcontact.adrl.value=="")
      message_fac+="  - Adresse livraison\n";
  
    if (document.fcontact.cpl.value=="")
      message_fac+="  - Code postal livraison\n";
  
    if (document.fcontact.villel.value=="")
      message_fac+="  - Ville livraison\n";
  
    if (document.fcontact.paysl.value=="")
      message_fac+="  - Pays livraison\n"; 
  }

  /*if (!document.fcontact.acceptef.checked)
    message_fac+="  - Accepter les conditions générales de vente\n";*/ 

  if( message_fac == "" )
  {
    return true;
  }
  else
  {
    alert( 'Merci de renseigner les champs suivants:\n\n' + message_fac );
    return false;
  }
}

function verification_panierajout(laqtesaisie,refprod,sLienAjout,lacateg)
{
	if(laqtesaisie == 0)
	{
		alert("La quantité est égale à zéro !");
	}
	else
	{
			window.document.location.href="index.chtml?page=ficheprod&codproduit="+refprod+"&lacat="+lacateg+"&"+sLienAjout+"%26quantite%3D"+laqtesaisie;
	}
}

function verification_panierajout1(laqtesaisie,refprod,sLienAjout)
{
	if(laqtesaisie == 0)
	{
		alert("La quantité est égale à zéro !");
	}
	else
	{
			window.document.location.href="index.chtml?page=detailnouveau&codproduit="+refprod+"&"+sLienAjout+"%26quantite%3D"+laqtesaisie;
	}
}



/* FONCTION NOUVELLES*/
//	AnAA - Ajax Framework
var AACaching = true;

function AACreate() 
{
    var request = false;
        try {
            request = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                request = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
		try {
			request = new XMLHttpRequest();
		}
		catch (err1) 
		{
			request = false;
		}
		}
	}
    return request;
}

function showDiv(divid)
{
   if (document.layers) document.layers[divid].visibility="show";
   else document.getElementById(divid).style.visibility="visible";
}

function hideDiv(divid)
{
   if (document.layers) document.layers[divid].visibility="hide";
   else document.getElementById(divid).style.visibility="hidden";
}

function fnAutoComplete(valeur,viewed)
{
  	alert("TOTO");
	if (valeur.replace(/^\s+/, '').replace(/\s+$/, '').length>2)
	{
	//var u="index.php?s=34&ajaxparam="+valeur;
	var u = "";
	//var y = AALoadHTML(u, copymessage, viewed, viewed,"","","");
	
	//var xhr = AACreate();
	
	//xhr.open("GET", u , true);
	//xhr.onreadystatechange=function()
	//{ 
		//if(xhr.readyState == 4)
		//{
			//if(xhr.status == 200)
			//{
				
				//var xx=AAGetBody(xhr.responseText);
				var xx = '';
				document.getElementById(viewed).innerHTML ='<body><a href="javascript:;" class="completeclose" onClick="hideDiv (\''+viewed+'\');">Fermer la fenetre</a><img src="barre.gif"></img><br>rech1<br>rech1<br>rech1<br>rech1<br>rech1<br>rech1<br>rech1<br>rech1<br>rech1<br></body>'+xx;
				if 			(xx != '<div id="ajaxrec"></div>')
				{
					showDiv(viewed);
				}
			else
				{hideDiv(viewed);}
				
		//} 
	//};
	//xhr.send(null); 
	}
	else
		{
			document.getElementById(viewed).style.visibility="hidden";
		}
	
}

function suppLigne(lecode)
{
	if( confirm("Voulez vous vraiment supprimer ce produit du panier ?") )
   		window.document.location.href='./panier-'+lecode+'.html';

}

function validCalcul()
{
	if( confirm("Voulez vous vraiment recalculer le panier ?") )
   		return true;
   	else
   		return false;

}

function zoom(nomimg){
    window.open('zoom.chtml?pathImg='+nomimg,'ZOOM','scrollbars=no, resizable=no');
}

function imprime_zone(titre, obj){
  // Définie la zone à imprimer
  var zi = document.getElementById(obj).innerHTML;
  var Headers = '<!DOCTYPE HTML PUBLIC ><HTML><HEAD><title>Impression Panier</title></HEAD><BODY><link href="http://olivetan.ntic.fr/css/olivetan.css" rel="stylesheet" type="text/css">';
  var Footers = "</body></html>";

  // Ouvre une nouvelle fenetre
  var f = window.open("", "ZoneImpr", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1, status=0, location=0, left=10, top=10");

  // Définit le Style de la page
  f.document.body.style.color = '#000000';
  f.document.body.style.backgroundColor = '#FFFFFF';
  f.document.body.style.padding = "10px";

  // Ajoute les Données
  f.document.title = titre;
  f.document.body.innerHTML += " " + Headers + zi + Footers + " ";

  // Imprime et ferme la fenetre
  f.window.print();
  f.window.close();
  return true;
} 


function imprime_zone1(titre,lasession){
var f = window.open("impression.chtml?id="+lasession, "ZoneImpr", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1, status=0, location=0, left=10, top=10");
f.window.print();
return true;
} 

function chx_paiement(chxpay){
  if(!document.getElementById("ccgv").checked){
    alert("Vous devez accepter les conditions générales de vente.");
    return false;
  }
  else{
    // Paiement par chèque
    if(chxpay=="CHQ")
    	return confirm('Vous êtes sur le point de valider votre commande.\r\nSouhaitez-vous continuer ?');
    // Paiement par carte bancaire
    else
    	return true;
  }
}

function hideCompte(){
  
  var myDiv=window.document.getElementById("cachecompte");
  if(myDiv.style.display=="none"){
  	myDiv.style.display="block";
  }
  else{
  	myDiv.style.display="none";
  }
}