  // Flash Detection
  var MM_contentVersion = 5;
  var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
  if ( plugin ) {
    var  MM_FlashCanPlay=1;
       var words = navigator.plugins["Shockwave Flash"].description.split(" " );
          for (var i = 0; i < words.length; ++i)
          {
       if (isNaN(parseInt(words[i])))
       continue;
       var MM_PluginVersion = words[i];
          }
      var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
      }
      else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE" )>=0
         && (navigator.appVersion.indexOf("Win" ) != -1)) {
      document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
      document.write('on error resume next \n');
      document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
      document.write('</SCR' + 'IPT\> \n');
  }
  else{
    var  MM_FlashCanPlay=0;
  }
//alert(MM_FlashCanPlay);

function initialize() {
	var latlng = new google.maps.LatLng(48.852558,2.386325);
	var myOptions = {
	  zoom: 15,
	  center: latlng,
	  zoomControl: false,
	  streetViewControl: false,
	  mapTypeControl: false,
	  mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map(document.getElementById("plan"),
		myOptions);
}
		  
function getOS(){
	var OSName="unknow";
	if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
	else if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
	//else if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
	//else if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
	return(OSName);
}

function getBrowser(){
	var browser, version;

	if(navigator.appName.indexOf("Explorer") >= 0)
	{
  	browser = "IE";

  	if (parseFloat(navigator.appVersion) <= 4 )
			version = 5; // IE 5 ou moins
		if (navigator.appVersion.indexOf('6')>=0 )
			version = 6;
		else if (navigator.appVersion.indexOf('7')>=0 )
			version = 7;

  }
  else if((navigator.appName.indexOf("Netscape") >= 0) && (navigator.userAgent.indexOf("Mozilla") >= 0) && (navigator.userAgent.indexOf("Firefox") <= 0))
    browser = "Firefox";
  else if((navigator.appName.indexOf("Netscape") >= 0) && (navigator.userAgent.indexOf("Mozilla/4") >= 0) && (navigator.userAgent.indexOf("Firefox") <= 0))
    browser = "Firefox";
  else if(navigator.userAgent.indexOf("Firefox") >= 0)
		browser = "Firefox";
  else if(navigator.userAgent.indexOf("Firefox/2") >= 0)
		browser = "Firefox";
  else if(navigator.userAgent.indexOf("Opera") >= 0)
    browser = "Opera";
	else
	  alert("unknow");

	return(OSName);
}

/* -----------------------------------------------------------------------------
                         LIEN
-------------------------------------------------------------------------------*/
/**----------------------------------------------------------------------------
 * Lien qui ouvre page externe (marche pas !!!! ?)
 * utilisation :
 * <a href="file.txt" onclick="lienExterne(this.href);return false;">lien</a>
 **/
function lienExterne(lien){
	window.open(lien, '_blank');
	return false;
}

/**--------------------------------------------------------------------------------------
 * Ouvre l'URL
 * <a href="url" onclick="lienExterne(this.href);return false;">lien</a>
 **/
function openURL(url){
	window.location.href = url;
//	return false;marche pas obligé de le rajouter dans le lien
}

/* -----------------------------------------------------------------------------
                 								FICHIER
-------------------------------------------------------------------------------*/

/**----------------------------------------------------------------------------
 * INCLUDE
 **/
function include(fileName){
	document.write("<script type='text/javascript' src='/attoma-design.fr/inc/js/"+fileName+"'></script>" );
}
//include('effet.js');


/* -----------------------------------------------------------------------------

							 									STRING

--------------------------------------------------------------------------------
*/

/**----------------------------------------------------------------------------
 * LIMITER nbr caractere tapé dans un element id1 (textearea  par exple)
 * <textarea name="id1" id="id1" maxlength=nbr onkeypress='return limitNbCara()'
 **/
function limitNbCara(nbr, id1){
	if (document.getElementById)	{
		var length = document.getElementById(id1).value.length;
		// ou var length = document.f.txt.value.length;
		if ( length >= nbr)	{
			return false;
		}
	}
	return true;
}

/**----------------------------------------------------------------------------
 * compter le nombre de caractères restants sur une saisie
 * dans un input ou un textarea
 **/
function calculeLongueur(){
   var iLongueur, iLongueurRestante;
   iLongueur = document.getElementById('monchamp').value.length;
   if (iLongueur>30) {
      document.getElementById('monchamp').value = document.getElementById('monchamp').value.substring(0,30);
      iLongueurRestante = 0;
   }
   else {
      iLongueurRestante = 30 - iLongueur;
   }
   if (iLongueurRestante <= 1)
      document.getElementById('indic').innerHTML = iLongueurRestante + "&nbsp;caract&egrave;re&nbsp;disponible";
   else
      document.getElementById('indic').innerHTML = iLongueurRestante + "&nbsp;caract&egrave;res&nbsp;disponibles";
}


/*     AVEC
 <form action="adresse" method="post" name="monform">
   <div id="indic">30 caractères disponibles</div>
   <input onblur="calculeLongueur();" onfocus="calculeLongueur();" onkeydown="calculeLongueur();" onkeyup="calculeLongueur();" name="monchamp" id="monchamp" value="" />
   <input type="submit" value="Valider" />
</form>
et ds la page  pourdes champs préremplis ...
<script language="javascript" type="text/javascript">
   onload="calculeLongueur();
</script>
 ou <body onload="calculeLongueur();">
	*/


/**----------------------------------------------------------------------------
 * compte la largeur d'un texte
* @param : $font_size : taille de la font
* @param : $font : la font (chemin absolu ou relatif)
* crée un element virtuel
*
* (c'est loin d'être pafait surtout si la font est exotique
*  et si il y a des modifs des proprietés des fonts en CSS/html
*  (text indent, bold, italic, Majuscule .....)
*
* A utilisé directement come ça : "string".computeDisplayWidth
**/

String.prototype.txtWidth = function(font, font_size){
   var oText, oSpan, width;
   oText = document.createTextNode(this);
   oSpan = document.createElement("span");
   oSpan.style.fontFamily = font_size;
   oSpan.style.fontSize = font_size;
   oSpan.appendChild(oText);
   document.body.appendChild(oSpan);
   width = oSpan.offsetWidth;
   document.body.removeChild(oSpan);
   return width;
}




/* -----------------------------------------------------------------------------
                 VALUE D'un select
------------------------------------------------------------------------------*/

function getSelectValue(selectId){
	/**On récupère l'élement html <select>*/
	var selectElmt = document.getElementById(selectId);
	/**
	selectElmt.options correspond au tableau des balises <option> du select
	selectElmt.selectedIndex correspond à l'index du tableau options qui est actuellement sélectionné
	*/
	return selectElmt.options[selectElmt.selectedIndex].value;
}

/* -----------------------------------------------------------------------------
                 CACHE / IMAGE
-------------------------------------------------------------------------------*/

// tableau comportant l'ensemble des images mises en cache
var cacheImage = new Array ();

/**----------------------------------------------------------------------------
 * pré-chargement des images utilisées pour le rollover dans le cache du navigateur
 * l'accée au tableau se fait par le nom complet du fichier
 */
function preloadImg(){
	var img_tab = new Array();
	// "load.arguments.length" représente le nbre d'arguments passés en paramètre de la fonction
	nbArguments = preloadImg.arguments.length;

	if (nbArguments > 0){//si des images doivent être préchargées
		//objet image
		var img_load = new Image();

		// boucle suivant toutes les images passées en argument
		for (var i=0; i<nbArguments; i++)	{
			if(preloadImg.arguments[i]) {
				var file = preloadImg.arguments[i];
    		cacheImage[file]= new Image();
    		cacheImage[file].src = file;
			}
		}
	}
}

/**----------------------------------------------------------------------------
 * Rollover
 **/
function rollover(objet, img){
	objet.src = cacheImage[img].src;
}

/**----------------------------------------------------------------------------
 * Affiche Image/div... (impec pour les loadings)
 **/
   function show(idName) {
   		var id = document.getElementById(idName);
   		id.style.display = 'inline';//block
   }
   
/**----------------------------------------------------------------------------
 * Cache Image
 **/
   function hide(idName) {
   		var id = document.getElementById(idName);
   		id.style.display = 'none';
   }
/* -----------------------------------------------------------------------------
                 AUTRES
------------------------------------------------------------------------------*/
//function var_dump (equivalent PHP)
function var_dump(obj) {
   if(typeof obj == "object") {
      return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj;
   } else {
      return "Type: "+typeof(obj)+"\nValue: "+obj;
   }
}


/**----------------------------------------------------------------------------
 * Creation de Post
 **/
function openWithPostData(page,data){
    var form = document.createElement('form');
    form.setAttribute('action', page);
    form.setAttribute('method', 'post');
    for (var n in data) {
        var inputvar = document.createElement('input');
        inputvar.setAttribute('type', 'hidden');
        inputvar.setAttribute('name', n);
        inputvar.setAttribute('value', data[n]);
        form.appendChild(inputvar);
    }
    document.body.appendChild(form);
    form.submit();
}


 /**---------------------------------------------------------------------------
  * Validation de date
  *
  **/
function isDate(jj, mm, aaaa){
	if(jj<1||jj>31||mm<1||mm>12)
		return false;
	if(mm==2)	{
		if(jj==30||jj==31)
			return false;
		if(jj==29)
			return ((aaaa%4==0&&aaaa%100!=0)||aaaa%400==0);
	}
	else
		if(jj==31)
			return !(mm==4||mm==6||mm==9||mm==11);
	return true;
}

 /**---------------------------------------------------------------------------
  * Validation de formulaire
 	* A utiliser comme ça : <form onsubmit="return verifForm(this)">
	*													<input type="checkbox" class="required" />
	*													<input type="text" class="required" />
  **/
	function validForm(form){
		var allIsOk=0, vide, msg="";

		for (var i=0; i<form.elements.length; i++) {
			var inp = form.elements[i]; //on recupere le champ dans une variable referente
			//if (inp.className.match(/\brequired\b/))
			if (inp.className.match(/required/))
			{ //on check si l'élément a la classe required.

				vide = 0;
				switch(inp.type){ // s'il a la classe on regarde son type et on sort une erreur en fonction de son type
					case "text":
						if (inp.value=="") vide = 1;
						break;
					case "file":
					  break;
					case "password":
						break;
					case "textarea":
						if (inp.value==""){
      				vide = 1;
      				 tinyMCE.init({
      				content_css : "../admin/tiny_mce/themes/advanced/skins/default/ui.css" //lien vers le css utilisé
      				});
						}
						break;
					case "checkbox":
					  break;
					case "radio":
						if (!inp.checked) vide = 1;
						break;
					case "select-one":
						break;
					case "select-multiple":
						if(inp.selectedIndex==0) vide = 1;
						break;
				}
				if (vide)	{
					allIsOk++;
					if (inp.className!="")
						inp.className = inp.className + " errorForm";
					else
						inp.className = "errorForm";
					msg=(msg+"Le champ "+inp.name+" doit être remplie"+"\n");
					hide('imgLoadingenregistrer');
				}
    		else{
//      	if ($("form .notice").is(":hidden"))		{ 	$("form .notice").slideDown("slow");	}
        }
      }
		}

		if (allIsOk==0)	{
			return true;
		}
		else	{
      // $("form .error").html(settings['err_message'] + err_list);
      //if ($("form .error").is(":hidden")){  $("form .error").slideDown("slow");  }
		  alert(msg);
			return false;
		}
	}

