//<script>

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_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_preloadImages() { //v3.1 rodriguez
	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) {
			if(typeof a[i] == 'object') {
				for(k=0; k<a[i].length; k++) {
					if(typeof a[i][k] == 'string') {
						d.MM_p[j]=new Image;
						d.MM_p[j++].src=a[i][k];
					}
				}
			} else if(typeof a[i] == 'string') {
				d.MM_p[j]=new Image;
				d.MM_p[j++].src=a[i];
			} else {
				//do nothing
			}
		}
	}
}
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_changeProp(objId,x,theProp,theValue) { //v9.0
  var obj = null; with (document){ if (getElementById)
  obj = getElementById(objId); }
  if (obj){
    if (theValue == true || theValue == false)
      eval("obj.style."+theProp+"="+theValue);
    else eval("obj.style."+theProp+"='"+theValue+"'");
  }
}
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];}
}
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


function toSec(id) {
	for ( i = 1 ; i <= 6 ; i ++ ) {
		document.getElementById('sec' + i).style.display = 'none';
		document.getElementById('li' + i).className = 'Li';
	}
	document.getElementById('sec' + id).style.display = 'block';
	document.getElementById('li' + id).className = 'LiOver';
}


function appendCSS(abs_path) {
	if(document.createStyleSheet) {
		document.createStyleSheet(abs_path);
	}
	else {
		var newSS=document.createElement('link');
		newSS.rel='stylesheet';
		newSS.type='text/css';
		newSS.href=abs_path;
		document.getElementsByTagName("head")[0].appendChild(newSS);
	}
}


var appendedFlash = [];
function appendFlash(container_id, params, vars) {
	var config = {file:null, flash_id:null, width:null, height:null, flash_version:'8', bg_color:'#FFFFFF', q:'high', wmode:'transparent', base_path:'/swf/'};
	for(var yy in params) {
		config[yy] = params[yy];
	}
	config.flash_id = (config.flash_id==null) ? ('my_flash_' + (appendedFlash.length+1)) : config.flash_id;
	
	var so = new SWFObject(config.base_path + config.file, config.flash_id, config.width, config.height, config.flash_version, config.bg_color);
		so.addParam("quality", config.q);
		so.addParam("wmode", config.wmode);
		so.addParam("class", config.flash_id);
		so.addParam("salign", "t");
		if(config.allowFullScreen) so.addParam("allowFullScreen", config.allowFullScreen);
		if(vars!=undefined) {
			for(var xx in vars) {
				so.addVariable(xx, vars[xx]);
			}
		}
		
	so.write(container_id);
	
	var flash_element;
	if (window.document[config.flash_id]) {
		flash_element = window.document[config.flash_id];
	}
	else if (navigator.appName.indexOf("Microsoft Internet")==-1) {
		if (document.embeds && document.embeds[config.flash_id])
			flash_element = document.embeds[config.flash_id];
	}
	else { // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
		flash_element = $(config.flash_id);
	}
	//alert($(container_id).innerHTML);
	appendedFlash.push(flash_element);
}


function searchBox(input_id, button_id, search_bg) {
	this.search_input = $(input_id);
	this.search_button = $(button_id);
	this.search_bg = search_bg==undefined ? true : (search_bg==true ? true : false);
	
	
	this.init = function () {
		this.search_input.object = this;
		this.search_input.onblur = function(){this.object.update(true);}
		this.search_input.onkeyup = function(){this.object.update(false);}
		if(this.search_bg) this.search_input.onfocus = function(){if(this.value=='Search'){this.value='';}}
		
		this.search_button.object = this;
		this.search_button.onclick = function(){return this.object.submitSearch();};
		this.update(true);
	}
	this.update = function (addText) {
		if(this.search_bg) {
			if(this.search_input.value=='Search') {
				this.search_input.style.color = 'gray';
			} else if(this.search_input.value=='') {
				this.search_input.style.color = 'gray';
				//this.search_input.blur();
				if(addText) this.search_input.value = 'Search';
			}
			else {
				this.search_input.style.color = 'black';
			}
		}
	}
	this.submitSearch = function(form) {
		value = this.search_input.value;
		if(this.search_bg && this.search_input.value=='Search') {this.search_input.value='';};
		if(this.search_input.value=='') {
			alert('The Search field is empty. Please enter a search request.');
			this.search_input.value = value;
			this.update(true);
			return false;
		}
		return true;
	}
	this.init();
}


function antiJunkMail () {
	containers = document.getElementsByClassName('antijunk_email');
	for(i=0; i<containers.length; i++) {
		link = containers[i];
		prefixObj = link.firstChild;
		suffixObj = prefixObj.firstChild;
		if(prefixObj!=undefined && suffixObj!=undefined) {
			e_mail = prefixObj.className + '@' + suffixObj.className;
			link.innerHTML = (suffixObj.innerHTML != '' && suffixObj.innerHTML != '&nbsp;') ? suffixObj.innerHTML : e_mail;
			link.href = 'mailto:' + e_mail;
		}
	}
	/*
	EXEMPLE:
		<a class="antijunk_email"><span class="sebastien1"><span class="imarcom.net">Sébastien Rodrigue</span></span></a>
		<a class="antijunk_email"><span class="sebastien2"><span class="imarcom.net"></span></span></a>
	*/
}


function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") &&
		anchor.getAttribute("rel") == "external")
		anchor.target = "_blank";
	}
}
function homeInitScripts() {
	searchBox('search_input','ok');
	createDynamicSlideshow('dynamic-testimonials','testimonials',4000,1000);
	createDynamicSlideshow('didyouknow_slide','didyouknow_element',4000,1000);
}


function isValidDate(dateStr, format) {
   if (format == null) { format = "MDY"; }
   format = format.toUpperCase();
   if (format.length != 3) { format = "MDY"; }
   if ( (format.indexOf("M") == -1) || (format.indexOf("D") == -1) || (format.indexOf("Y") == -1) ) { format = "MDY"; }
   if (format.substring(0, 1) == "Y") { // If the year is first
      var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
      var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
   } else if (format.substring(1, 2) == "Y") { // If the year is second
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
   } else { // The year must be third
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   }
   // If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
   if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
   var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
   // Check to see if the 3 parts end up making a valid date
   if (format.substring(0, 1) == "M") { var mm = parts[0]; } else 
      if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
   if (format.substring(0, 1) == "D") { var dd = parts[0]; } else 
      if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } else 
      if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
   var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
   if (parseFloat(dd) != dt.getDate()) { return false; }
   if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
   return true;
}
                
