/**********************************************************************************************************
	GLOBAL DEFINITION
**********************************************************************************************************/

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		menu_fr_02_over = newImage("images/menu/{langue}/menu_02-over.gif");
		menu_fr_04_over = newImage("images/menu/{langue}/menu_04-over.gif");
		menu_fr_05_over = newImage("images/menu/{langue}/menu_05-over.gif");
		menu_fr_06_over = newImage("images/menu/{langue}/menu_06-over.gif");
		menu_fr_07_over = newImage("images/menu/{langue}/menu_07-over.gif");
		menu_fr_08_over = newImage("images/menu/{langue}/menu_08-over.gif");
		menu_fr_09_over = newImage("images/menu/{langue}/menu_09-over.gif");
		menu_fr_10_over = newImage("images/menu/{langue}/menu_10-over.gif");
		menu_fr_11_over = newImage("images/menu/{langue}/menu_11-over.gif");
		menu_fr_12_over = newImage("images/menu/{langue}/menu_12-over.gif");
		preloadFlag = true;
	}
}

/**********************************************************************************************************
	FUNCTION STUFF
**********************************************************************************************************/
function sprintf(str){
	var rv=str;
	var argv=sprintf.arguments;
	var i,r;
	for(i=1;i<argv.length;i++){
		r=new RegExp('%'+i+'\\$s','g');
		rv=rv.replace(r,argv[i]);
	}
	return(rv);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function wordwrap(str,int_width,str_break,cut){
  var m=int_width, b=str_break, c=cut;
  var i,j,l,s,r;
  if(m < 1) return str;
  for(i=-1,l=(r=str.split("\n")).length;++i<l;r[i]+=s) {
      for(s = r[i], r[i] = ""; s.length > m; r[i] += s.slice(0, j) + ((s = s.slice(j)).length ? b : "")){
          j = c == 2 || (j = s.slice(0, m + 1).match(/\S*(\s)?$/))[1] ? m : j.input.length - j[0].length || c == 1 && m || j.input.length + (j = s.slice(m).match(/^\S*/)).input.length;
      }
  }
  return r.join("\n");
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function gebi(o){
	return(document.getElementById(o));
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function gebtn(tag){
	var argv=gebtn.arguments;
	var obj=document;
	if(typeof(argv[1])!='undefined') obj=argv[1];
	return(obj.getElementsByTagName(tag));
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function isValidEmail(email){
	email=email.toLowerCase();
	return(email.match(/^([a-z0-9])+([\.]?[_a-z0-9-]+)*@([a-z0-9]{1})([\.]?[a-z0-9-]+)+[\.]{1}[a-z]{2,6}$/));
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function countChoices(objPat,start,end){
	var o;
	var v=0;
	for(var i=start;i<=end;i++){
		if(o=gebi(objPat+i)){
			if(o.checked) v++;
		}
	}
	return(v);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function getRadioValue(obj){
	var v=null;
	for(var i=0;i<obj.length;i++) if(obj[i].checked) {v=obj[i].value; break;}
	return(v);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function isRadioButton(obj){
	var v=false;
	if(typeof(obj.length)=='number'){
		for(var i=0;i<obj.length;i++){
			if(obj[i].type=='radio'){
				v=true;
				break;
			}
		}
	}
	return(v);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function getSelectValue(obj){
	return(obj[obj.selectedIndex].value);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function uncheckRadio(f,iName){
	if(f){
		if(typeof(f.elements[iName])!="undefined"){
			var o=f.elements[iName];
			for(var i=0;i<o.length;i++){
				o[i].checked=false;
			}
		}
	}
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function showHide(id){
	var o;
	if(o=gebi(id)){
		var argv=showHide.arguments;
		var show='switch';
		if(typeof(argv[1])!='undefined') show=argv[1];
		var disp='';
		if(!(show==true||(show=='switch'&&o.style.display=='none'))) disp='none';
		o.style.display=disp;
	}
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function isPositiveInteger(a){
	return((a.toString().match(/^[0-9]+$/))?true:false);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function checkPasswordFormat(str){
	return((str.match(/^[a-z0-9]{2,10}$/i))?true:false);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function bsmflash(width,height,movie,bgcolor,title,transparent){
	if(navigator.appName=='Netscape'){
		document.write('	<embed src="'+movie+'" menu="false" quality="high"');
		if(transparent){
			document.write(' wmode="transparent" ');
		}
		document.write('bgcolor="'+bgcolor+'" width="'+width+'" height="'+height+'" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
	}else{
		document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+width+'" height="'+height+'" align="middle" title="'+title+'">\n');
		document.write('	<param name="allowScriptAccess" value="always" />\n');
		document.write('	<param name="movie" value="'+movie+'" />\n');
		document.write('	<param name="quality" value="high" />\n');
		if(transparent){
			document.write('	<param name="wmode" value="transparent" />\n');
		}
		document.write('	<param name="bgcolor" value="'+bgcolor+'" />\n');
		document.write('	<param name="menu" value="false" />\n');
		document.write('	<embed src="'+movie+'" menu="false" quality="high"');
		if(transparent){
			document.write(' wmode="transparent" ');
		}
		document.write('bgcolor="'+bgcolor+'" width="'+width+'" height="'+height+'" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
		document.write('</object>');
	}
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function swfObject(htmlId,width,height,movie,bgcolor,transparent){
	var o=gebi(htmlId);
	if(o){
		//params
		var argv=swfObject.arguments;
		if(typeof(argv[6])!='undefined') var params=argv[6];
		else var params=new Array();
		var givenParam=false;
		if(params.sizeof!=0){
			var i;
			var j=0;
			var paramString=new Array();
			for(i in params){
				paramString[j]=i+'='+params[i];
				j++;
			}
			paramString=paramString.join('&');
			givenParam=true;
		}
		// swf object pattern
		var swfPattern='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="%1$s" height="%2$s" align="middle">\n';
		swfPattern+='<param name="allowScriptAccess" value="always" />\n';
		swfPattern+='<param name="movie" value="%3$s" />\n';
		swfPattern+='<param name="quality" value="high" />\n';
		swfPattern+='<param name="bgcolor" value="%4$s" />\n';
		swfPattern+='<param name="menu" value="false" />\n';
		if(transparent)	swfPattern+='<param name="wmode" value="transparent" />\n';
		if(givenParam)	swfPattern+='<param name="flashvars" value="%5$s" />\n';
		swfPattern+='<embed src="%3$s" menu="false" quality="high"';
		if(transparent)	swfPattern+=' wmode="transparent" ';
		if(givenParam)	swfPattern+=' flashvars="%5$s" ';
		swfPattern+='bgcolor="%4$s" width="%1$s" height="%2$s" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n';
		swfPattern+='</object>';
		// write swf
		if(givenParam) var content=sprintf(swfPattern,width,height,movie,bgcolor,paramString);
		else  var content=sprintf(swfPattern,width,height,movie,bgcolor);
		o.innerHTML=content;
		return(true);
	}
	alert('"'+htmlId+'" id doesn\'t exists !\n Function can\'t write SWF.');
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function showSelectedTab(idTab){
	var tab = gebi(idTab);
	if(tab){
		tab.style.backgroundPosition='center -31px';
	}
}
function doClick(formId,campId,bannerID,clicking,smoothing,gameId){
	var f=gebi(formId);
	if(f){
		if(!bannerID||!campId){
			alert("Vous devez cliquer sur une banni&egrave;re pour valider votre partie");
		}else{
			popupName='popup'+((new Date()).getTime());
			window.open('tracker.php?gameId='+gameId,popupName,'width=290,height=250');
			f.id.value=bannerID;
			f.campId.value=campId;
			f.clicking.value=clicking;
			f.smoothing.value=smoothing;
			f.submit();
		}
	}
}
function trackerBackToSite(urlTracker){
	if(urlTracker){
		var urlTrack = urlTracker;
	}else{
		var urlTrack = '/';
	}
	popupName='popup'+((new Date()).getTime());
	window.open(urlTrack,popupName,'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=1000,height=800');
	self.close();
}
function showTrackerNextStep(){
	gebi('wait').style.display='none';
	gebi('valid').style.display='block';
	clearInterval(launch);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function createCombo(idSelect,optionValue,selectedOption,attribute){
	var idAppend='container_'+idSelect;
	document.write('<span id="'+idAppend+'"></span>&nbsp;');
	idAppend=gebi(idAppend);
	st=document.createElement('select');
	st.setAttribute('name',idSelect);
	st.setAttribute('id',idSelect);
	if(typeof(attribute)!='undefined'){
		var i;
		for(i in attribute){
			st.setAttribute(i,attribute[i]);
		}
	}
	if(typeof(optionValue)!='undefined'){
		var i=0;
		for(i in optionValue){
			var j=i;
			if(j.indexOf('_')==0) j=j.substring(1);
			var len=st.options.length;
			st.options[len] = new Option(optionValue[i],j,(selectedOption==j));
			st.options[len].selected=(selectedOption==j);
		}
	}
	st=idAppend.appendChild(st);
	return(st);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function addZero(a){
	b=(a<10)?'0'+a:a;
	return(b.toString());
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function getBirthDate(year,month,day,ageMinimum){
	var argv=getBirthDate.arguments;
	var DAY_SELECT_OPTION=new Array;
	var MONTH_SELECT_OPTION=new Array;
	var YEAR_SELECT_OPTION=new Array;
	if(argv[4]){
		DAY_SELECT_OPTION['_0']='--';
		MONTH_SELECT_OPTION['_0']='--';
		YEAR_SELECT_OPTION['_0']='--';
	}
	var i;
	for(i=1;i<=31;i++){
		var j=addZero(i);
		DAY_SELECT_OPTION['_'+j]=j;
	}
	for(i=1;i<=12;i++){
		var j=addZero(i);
		MONTH_SELECT_OPTION['_'+j]=j;
	}
	var dt=new Date();
	var thisYear=dt.getFullYear()-ageMinimum;
	for(i=thisYear;i>(thisYear-80);i--){
		var j=addZero(i);
		YEAR_SELECT_OPTION['_'+j]=j;
	}
	for(i=1;i<=3;i++){
		if(BIRTH_SELECT_ORDER[i]=='day') createCombo('jour',DAY_SELECT_OPTION,day);
		if(BIRTH_SELECT_ORDER[i]=='month') createCombo('mois',MONTH_SELECT_OPTION,month);
		if(BIRTH_SELECT_ORDER[i]=='year') createCombo('annee',YEAR_SELECT_OPTION,year);
	}
	return(true);
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
function popupcenter(fichier,largeur,hauteur,param){
	var id=Math.round(Math.random()*100);
	var gauche=(screen.width-largeur)/2;
	var haut=(screen.height-hauteur)/2;
	if(param){
		param='width='+largeur+',height='+hauteur+',top='+haut+',left='+gauche+','+param;
	}else{
		param='width='+largeur+',height='+hauteur+',top='+haut+',left='+gauche;
	}
	window.open(fichier,id,param);
}
/*************************************************************************************************************/
/*                                                                                              POPUP STUFF  */
/*************************************************************************************************************/
function pageSizeGetInfo(){
	var scrollX=0,scrollY=0,windowWidth=0,windowHeight=0;
	if(window.innerHeight&&window.scrollMaxY){
		scrollX=document.body.scrollWidth;
		scrollY=window.innerHeight+window.scrollMaxY;
	}else if(document.body.scrollHeight>document.body.offsetHeight){
		scrollX=document.body.scrollWidth;
		scrollY=document.body.scrollHeight;
	}else{
		scrollX=document.body.offsetWidth;
		scrollY=document.body.offsetHeight;
	}
	if(self.innerHeight){
		windowWidth=self.innerWidth;
		windowHeight=self.innerHeight;
	}else if(document.documentElement&&document.documentElement.clientHeight){
		windowWidth=document.documentElement.clientWidth;
		windowHeight=document.documentElement.clientHeight;
	}else if(document.body){
		windowWidth=document.body.clientWidth;
		windowHeight=document.body.clientHeight;
	}
	var pageWidth=(scrollX<windowWidth)?windowWidth:scrollX;
	var pageHeight=(scrollY<windowHeight)?windowHeight:scrollY;
	return({'pageWidth':pageWidth,'pageHeight':pageHeight,'windowWidth':windowWidth,'windowHeight':windowHeight});
}

function countdown(sec,htmlId){
	if(sec > 0){
		var n = 24 * 3600;
		var sec2=sec-1;
		var jour = Math.floor (sec / n);
		var heure = Math.floor ((sec - (jour * n)) / 3600);
		var minute = Math.floor ((sec - ((jour * n + heure * 3600))) / 60);
		var seconde = Math.floor (sec - ((jour * n + heure * 3600 + minute * 60)));
		if(jour<10) jour='0'+jour;
		if(heure<10) heure='0'+heure;
		if(minute<10) minute='0'+minute;
		if(seconde<10 ) seconde='0'+seconde;
		compteARebour=document.getElementById(htmlId);
		if(compteARebour){
			strHtml ='<span>'+ jour+'J</span>';
			strHtml+='<span>'+ heure+'H</span>';
			strHtml+='<span>'+ minute+'M</span>';
			strHtml+='<span>'+ seconde+'S</span>';
			compteARebour.innerHTML=strHtml;
			if(sec2 > 0){
				setTimeout('countdown('+sec2+',\''+htmlId+'\')', 1000);
			}else{
				compteARebour.style.display='none';
			}
		}
	}
}

function showSubContent(){
	var myEffect=new fx.Height('subContent',{duration: 500});
	myEffect.toggle();
	return(false);
}
