

//------------------------------------------------------------------------------
// String Functions
//------------------------------------------------------------------------------

var regExpBeginning = /^\s+/;

var regExpEnd       = /\s+$/;

function trim(aString) {

	return aString.replace(regExpBeginning, "").replace(regExpEnd, "");

}

// Supprime les espaces inutiles en d?but de la cha?ne pass?e en param?tre.

function ltrim(aString) {

	return aString.replace(regExpBeginning, "");

}

// Supprime les espaces inutiles en fin de la cha?ne pass?e en param?tre.

function rtrim(aString) {

	return aString.replace(regExpEnd, "");

}

//------------------------------------------------------------------------------
// Mails Functions
//------------------------------------------------------------------------------

function chekMail(email){
	var str = email;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

	if (filter.test(str)){
		testresults=true;
	}else{
		testresults=false;
	}
	
	return testresults;
}

//------------------------------------------------------------------------------
// Scroll Functions
//------------------------------------------------------------------------------


function scrollUp(container, element, scrollBy) {
	var containerHeight = parseFloat(Element.getStyle(container,'height')  || 0);
	var height = Element.getDimensions(element).height;
	var top = parseFloat(Element.getStyle(element,'top')  || 0);
	if(top<0) {
		var top = Math.min((top+scrollBy), 0);
		Element.setStyle(element,{top:top+"px"});
	}
}

function scrollDown(container, element, scrollBy) {
	var containerHeight = parseFloat(Element.getStyle(container,'height')  || 0);
	var height = Element.getDimensions(element).height;
	var top = parseFloat(Element.getStyle(element,'top')  || 0);
	if(top>(containerHeight-height)) {
		var top = Math.max((top-scrollBy), (containerHeight-height));
		Element.setStyle(element,{top:top+"px"});
	}
}

function scrollPrevious(container, element, scrollBy) {
	var containerWidth = parseFloat(Element.getStyle(container,'width')  || 0);
	var width = Element.getDimensions(element).width;
	var left = parseFloat(Element.getStyle(element,'left')  || 0);
	if(left<0) {
		var left = Math.min((left+scrollBy), 0);
		Element.setStyle(element,{left:left+"px"});
	}
}

function scrollNext(container, element, scrollBy) {
	var containerWidth = parseFloat(Element.getStyle(container,'width')  || 0);
	var width = Element.getDimensions(element).width;
	var left = parseFloat(Element.getStyle(element,'left')  || 0);
	if(left>(containerWidth-width)) {
		var left = Math.max((left-scrollBy), (containerWidth-width));
		Element.setStyle(element,{left:left+"px"});
	}
}
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

//------------------------------------------------------------------------------
// Screen Functions
//------------------------------------------------------------------------------
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){

	var xScroll, yScroll;
	
	if (window.innerHeight!==undefined && window.scrollMaxY!==undefined) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;		
		
	} else if (document.body.scrollHeight > document.body.offsetHeight){
		// all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
}

function getScreenSize() {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		myWidth = window.innerWidth; myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth ||document.documentElement.clientHeight ) ) {
		myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		myWidth = document.body.clientWidth; myHeight = document.body.clientHeight;
	}

	oSize =  {w:myWidth,h:myHeight};

	return oSize;
}
//------------------------------------------------------------------------------
// Images Functions
//------------------------------------------------------------------------------

function fixPng(id,w,h,url,repeat){
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	brows=( navigator.appName == "Microsoft Internet Explorer" && version<7)?1:0;
	if(brows==1){
		document.getElementById(id).style.background=repeat;
		document.getElementById(id).style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+url+"', sizingMethod='image')";
		document.getElementById(id).style.background=repeat +" top left";
		document.getElementById(id).style.height=h;
		document.getElementById(id).style.width=w;
	}else{
		document.getElementById(id).style.background="url("+url+") "+repeat;
		document.getElementById(id).style.height=h;
		document.getElementById(id).style.width=w;
	}

}

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];}
}
//------------------------------------------------------------------------------
// Flash Functions
//------------------------------------------------------------------------------
function htmlToFlash(args,id,flashVar){
   window.document[id].SetVariable(flashVar, args);
}