// JavaScript Document
		/******************************************************************************
		 This is the flash detection script.
		 ******************************************************************************/
		var required = 6;
		var hasFlash = false;
		if(navigator.appVersion.indexOf("MSIE") != -1 && navigator.appVersion.indexOf("Windows") != -1){
			document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
			document.write('on error resume next \n');
			// AFAIK creating an instance of an older version of the Flash object 
			// will return succeed even if the actual installed version is newer.
			document.write('hasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & required))) \n');  
			document.write('<'+'/scr' + 'ipt\> \n');
			}
		else {
			var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])?navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin:0;
			if (plugin) {
				var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
				var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
				var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
				hasFlash = flashVersion >= required;
				}
			}


		/******************************************************************************
		 This classes the <html> element as `hasFlash` if flash is found. This style
		 hook can be used to hide our to-be-replaced content before it even comes down
		 the datapipe and eliminate the FOPSC ("Flash of Partially Styled Content")
		 
		 I've determined that the lighter the page weight the greater chance of a FOPSC.
		 ******************************************************************************/
		if (hasFlash && document.getElementsByTagName && document.getElementsByTagName('html')[0]) {
			document.getElementsByTagName('html')[0].className += (document.getElementsByTagName('html')[0].className=='')?'hasFlash':' hasFlash';
			}
			
			
		/******************************************************************************
		 Some utility functions. Look at them--aren't they useful?
		 ******************************************************************************/
		 
		function SI_normalizeWhiteSpace(txt) {
			var rE = /\s+/gi;
			return txt.replace(rE,' ');
			}
		function SI_forceRedraw() {
			// Corrects a margin-bottom sum bug in Mozilla
			var d = document;
			if (d.body && d.body.style) {
				d.body.style.height = "1px";
				d.body.style.height = "auto";
				}
			}
			

		/******************************************************************************
		 This is the function that finds and replaces the appropriate elements.
		 
		 
		 SI_replaceElement(elem,swf,w,h,afv)
		 
			elem (string) :
				`div#header` will replace the `div` with the id of header
				`div#primary-content>h1` will replace any `h1` tag whose direct parent is a `div` with an id of `primary-content`
				`h2.replaceme` will replace any `h2` tag with a className of `replaceme`
			swf (string) :
				full path to the swf
			w (int) :
				width
			h (int) :
				height
			afv (string) :
				used to pass additional flashVars to the movie
			 
		 The new replaced element will be placed in a div 
		 with a className of `'replaced-'+r.e.tagName`
		 ******************************************************************************/
		function SI_replaceElement(elem,swf,w,h,maxchars,afv) {
			var d = document;
			
			if (!hasFlash || !d.getElementsByTagName) return;
			
			var r = new Object();
			r.p = new Object();
			r.e = new Object();
			
			if (elem.indexOf('>')!=-1) {
				// alert('Reference to parent found...');
				elemArray = elem.split('>');
				elem = elemArray[1];
				if (elemArray[0].indexOf('#')!=-1) {
					// alert('Reference to parent's id found...');
					parentArray = elemArray[0].split('#');
					r.p.id 		  = parentArray[1];
					r.p.tagName	  = parentArray[0];
					r.p.className = false;
					}
				else if (elemArray[0].indexOf('.')!=-1) {
					// alert('Reference to parent's className found...');
					parentArray = elemArray[0].split('.');
					r.p.id 		  = false;
					r.p.tagName	  = parentArray[0];
					r.p.className = parentArray[1];
					}
				else {
					r.p.id		  = false;
					r.p.tagName	  = elemArray[0];
					r.p.className = false;
					}
				}
			else {
				// alert('No reference to parent found...');
				r.p.id		  = false;
				r.p.tagName	  = false;
				r.p.className = false;
				}
			
			if (elem.indexOf('#')!=-1) {
				// alert('Reference to element's id found...');
				elemArray = elem.split('#');
				r.e.id 		  = elemArray[1];
				r.e.tagName	  = elemArray[0];
				r.e.className = false;
				}
			else if (elem.indexOf('.')!=-1) {
				// alert('Reference to element's className found...');
				elemArray = elem.split('.');
				r.e.id 		  = false;
				r.e.tagName	  = elemArray[0];
				r.e.className = elemArray[1];
				}
			else {
				r.e.id		  = false;
				r.e.tagName	  = elem;
				r.e.className = false;
				}
			
			if (afv!='') {
				afv = SI_normalizeWhiteSpace(afv);
				afv = '&'+afv;
				}
			
			var elems = d.getElementsByTagName(r.e.tagName);
			var count = elems.length;
			for (var i=0; i<count; i++) {
				e = elems[i];
				
				if (!r.p.tagName || (((r.p.tagName && !r.p.id && !r.p.className && e.parentNode.nodeName==r.p.tagName.toUpperCase()) || ((r.p.id && e.parentNode.id==r.p.id) || (r.p.className && e.parentNode.className==r.p.className))))) {
					if ((r.e.tagName && !r.e.id && !r.e.className) || (r.e.id && e.id==r.e.id) || (r.e.className && e.className==r.e.className )) {
						if( e.className!='hiddenCauseReplacement'){
							var c = d.createElement('div');
							/**/
							c.className = 'replaced-'+r.e.tagName;
							e.className='hiddenCauseReplacement'; 
							var clone = e.cloneNode(true);
							/*
							e.parentNode.replaceChild(c,e);*/

							e.parentNode.insertBefore(clone,e);
							e.parentNode.replaceChild(c,e);
							// The replaceChild acts like shift() on the
							// array that holds all of our elems. Meaning it
							// removes the first index and the remaining indexes
							// move up one.
							// The length or our elems array decreases by one
							/*
							count--;*/
							count--;
							// Override the increment on loop index too.
							// We could just use e = elems[0]; above if we knew that
							// every instance of this particular element was going 
							// to be replaced--but there's no way of knowing that's
							// how it will play out.
							i--;
							
							
							var remainingText = e.innerHTML;
							var spaceIndex;
							var subText;
							var swfHTML = "";
							
							do
							{
								if(remainingText.length > maxchars)
								{
									spaceIndex = remainingText.lastIndexOf(" ", maxchars);
									if(spaceIndex >= 0)
									{
										subText = LTrim(remainingText.substring(0, spaceIndex));
										remainingText = remainingText.substring(spaceIndex, remainingText.length);
									}
									else
									{
										subText = LTrim(remainingText);
										remainingText = "";
									}
								}
								else
								{
									subText = LTrim(remainingText);
									remainingText = "";
								}
								
								var txt = SI_normalizeWhiteSpace(subText);
								txt = txt.replace(/&amp;/g, '%26');
								txt = txt.replace(/"/g, '%22');
								fv = 'txtF='+txt+afv;

							
							swfHTML  += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+w+'" height="'+h+'">';
							swfHTML += '	<param name="movie" value="'+swf+'" />';
							swfHTML += '	<param name="flashvars" value="'+fv+'" />';
							swfHTML += '	<param name="wmode" value="transparent" />';
							swfHTML += '	<embed src="'+swf+'" flashvars="'+fv+'" width="'+w+'" height="'+h+'" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" wmode="transparent" />';
							swfHTML += '<'+'/object>';
												
								txt='';
							} while(remainingText.length > 0);
							
							//alert(c.className);
							c.innerHTML = swfHTML;
							
							//alert(c.innerHTML);
							}
					}
					}
				
				}
			}
			

		/******************************************************************************
		 This is where the magic happens. This should really be the only part of this
		 script you need to modify. Just add the necessary SI_replaceElement() calls 
		 and make sure this sucker is called onload.
		 ******************************************************************************/
		function SI_flashReplacement() {
			// Replace all `<h1>` tags inside `<div id="primary-content">`
			
			if (document.getElementById('loginForm') || document.getElementById('subscribeForm') )
			{	SI_replaceElement('div#loginForm>h1','titre1.swf',513,38,250,'makeup=0x007DB6');
				SI_replaceElement('div#loginForm>h2','titre2.swf',513,20,250,'makeup=0x007DB6');
				SI_replaceElement('div#subscribeForm>h1','titre1.swf',513,38,250,'makeup=0x007DB6');
				SI_replaceElement('div#subscribeForm>h2','titre2.swf',513,20,250,'makeup=0x007DB6');
			} else { 
				SI_replaceElement('div#inside>h1','titre1.swf',513,38,250,'makeup=0x007DB6');
				SI_replaceElement('div#inside>h2','titre2.swf',513,20,250,'makeup=0x007DB6');
			}
			
			/*
			SI_replaceElement('div#inside>div#subscribeForm>h1','titre1.swf',513,38,250,'makeup=0x007DB6');
			SI_replaceElement('div#inside>div#subscribeForm>h2','titre2.swf',513,20,250,'makeup=0x007DB6');
			SI_replaceElement('div#inside>div#informations>h1','titre1.swf',513,38,250,'makeup=0x007DB6');
			SI_replaceElement('div#contactPrestataires>h1','titre1.swf',513,38,250,'makeup=0x007DB6');
			SI_replaceElement('div#informations>h2','titre2.swf',513,20,250,'makeup=0x007DB6');
			SI_replaceElement('div#contactPrestataires>h2','titre2.swf',513,20,250,'makeup=0x007DB6');
			SI_replaceElement('div#details>h2','titre2.swf',513,20,250,'makeup=0x007DB6');*/
			/*SI_replaceElement('h1','titre1.swf',513,38,250,'makeup=0x007DB6');
			SI_replaceElement('h2','titre2.swf',513,20,250,'makeup=0x007DB6');*/
			
			
			// Another Sample:
			// Replace all occurances of `<h3 class="author">` inside `<div class="comment">`
			// Also pass the additional variable `type` a value of `2` to Flash
			// SI_replaceElement('div.comment>h3.author','swf/txt.swf',236,18,'type=2');
			
			SI_forceRedraw();
			}

		function LTrim(str)
		/*
		   PURPOSE: Remove leading blanks from our string.
		   IN: str - the string we want to LTrim
		*/
		{
		   var whitespace = new String(" \t\n\r");

		   var s = new String(str);

		   if (whitespace.indexOf(s.charAt(0)) != -1) {
			  // We have a string with leading blank(s)...

			  var j=0, i = s.length;

			  // Iterate from the far left of string until we
			  // don't have any more whitespace...
			  while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
				 j++;

			  // Get the substring from the first non-whitespace
			  // character to the end of the string...
			  s = s.substring(j, i);
		   }
		   return s;
		}

		/******************************************************************************
		 This sets the entire thing in motion. Place any other scripts that need to run
		 onload in the SI_onload() function or add SI_flashReplacement to your own 
		 onload handler.
		 ******************************************************************************/
		function SI_onload() {
			SI_flashReplacement();
		} 

		/* window.onload = SI_onload;+ */

