/*
	2008 - Gaëtan Parel - tsrlib.js
	2009 - Laurent Constantin, Léonard Bouchet, Gaëtan Parel - tsrplayer.js 
    La doc est dans le wiki	
	Enjoy ^_^
*/




/* Include script08.js */
enableDropDownMenu=1;if((typeof addToStart)=='function')addToStart(checkDropDownMenu);function checkDropDownMenu(){if(enableDropDownMenu==0){if(document.getElementById('headerTSR'))document.getElementById('headerTSR').className='disableDropDown';}}
function CBbl(netEvent){if(document.all){alert('cbbl pour ms');window.event.cancelBubble=true;}else{alert('cbbl pour netscape');netEvent.cancelBubble=true;}}
function setSearch(){tmp='<div class="paragraphTitle">Recherche en cours...&nbsp;&nbsp;<img src="/images/interactif/player/searching.gif"></div>';document.body.innerHTML=tmp;}
function setHomePage(){document.body.style.behavior='url(#default#homepage)';document.body.setHomePage('http://www.tsr.ch');}
function displayWebcamInput(storyTitle,width){if(!width)width=470;var target=document.getElementById('webcamInputContainer');if(!target)return false;var rightNow=new Date();var rnYear=rightNow.getYear();if(rnYear<999)rnYear+=1900;var rnMonth=rightNow.getMonth();var rnDay=rightNow.getDay();urlClipPost='http://www4.tsr.ch/webcam-recorder/index.php%3Faction%3DsaveClip%26applicationPath=tsr-www%26storyTitle='+encodeURI(storyTitle);urlClip='/flash/nouvoscope-recorder.swf?flashServerUrl=rtmp://fms.nouvo.ch&amp;applicationPath=tsr-www&amp;backgroundImageUrl=/images/elmts/white-800px.jpg&amp;storagePath=TEST-RECORDER-'+rnYear+'/'+rnMonth+'/'+rnDay+'&amp;postPath='+urlClipPost;htmlCode='<img src="/images/interactif/nouvoscope-webcam-header.jpg" alt="" width="'+width+'"/>\n';htmlCode+='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="420" id="nouvoscope-recorder" align="middle">\n';htmlCode+=' <param name="allowScriptAccess" value="always" />\n';htmlCode+=' <param name="movie" value="'+urlClip+'" />\n';htmlCode+=' <param name="quality" value="high" />\n';htmlCode+=' <param name="bgcolor" value="#ffffff" />\n';htmlCode+=' <embed src="'+urlClip+'" quality="high" bgcolor="#ffffff" width="'+width+'" height="420" name="nouvoscope-recorder" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n';htmlCode+='</object>\n';htmlCode+='<div style="font-size:11px;"><p>Vous devriez voir ci-dessus notre enregistreur vidéo. Cela nécessite que le Flash Player 8 (<a href="http://www.macromedia.com/go/getflashplayer">télécharger</a>) soit installé sur votre système.</p>';htmlCode+='<p>Notez que lorsque vous pressez le bouton «envoyer», c\'est le dernier enregistrement visionné qui est retenu.</p>';htmlCode+='<p>Pour toute question, <a href="http://infrarouge.tsr.ch/forum-166-aide-webcam.html">référez-vous à notre forum d\'aide</a>.</p></div>';target.innerHTML=htmlCode;target.style.display='block';}
function launchLive(urlVideo){urlVideo=urlVideo||'http://akastreaming.tsr.ch/vp/chtsr/no_geo/chtsr_2_1_ss.asx';var iframe=document.createElement('iframe');iframe.src=urlVideo;iframe.width=1;iframe.height=1;iframe.style.border='none';var dbody=document.getElementsByTagName('body')[0];dbody.appendChild(iframe);}
function writeString(html){document.write(html);}
function insertString(dest,html){if(dest){dest.innerHTML=html;}}
function rewriteFlash(){return;if(navigator.appVersion.indexOf('MSIE')<0)return;theObjects=document.getElementsByTagName("object");for(var i=0;i<theObjects.length;i++){var doifj=theObjects[i].outerHTML;theObjects[i].outerHTML=theObjects[i].outerHTML;}
theObjects=document.getElementsByTagName("embed");for(var i=0;i<theObjects.length;i++){var doifj=theObjects[i].outerHTML;theObjects[i].outerHTML=theObjects[i].outerHTML;}}
if((typeof notRewriteFlash=='undefined')&&(typeof addToStart=='function'))addToStart(rewriteFlash);function getURLParam(strGet){var url,args=getURLParam.arguments;if(args.length!=1)url=args[1];else url=window.location.search;if(url!=''){url=url.substring(1,url.length);liste=url.split("&");for(i=0;i<=liste.length-1;i++){temp=liste[i].split('=');if(temp[0]==strGet)return(temp[1]);}
return(null);}else return(null);}
function mangerBiscuit(leQuel){if(!document.cookie)return false;var biscuits=document.cookie;if(biscuits!=""){liste=biscuits.split(";");for(i=0;i<=liste.length-1;i++){temp=liste[i].split("=");if(temp[0].replace(/\s/,'')==leQuel)return(temp[1]);}
return null;}
else return null;}
function cuireBiscuit(leQuel,valeur,maxage){if(!maxage)maxage=90;var expire=1000*60*60*24*maxage;var maintenant=new Date();var temps=new Date(maintenant.getTime()+expire);document.cookie=leQuel+"="+valeur+"; expires="+temps.toGMTString()+"; path=/;";}
function bandePassanteok(){if(mangerBiscuit('testBandWidth')>=160)return true;else return false;}
function addToStart(fnc){if(!window.listStart)window.listStart=new Array();window.listStart.push(fnc)}
window.onload=function(){var ls=window.listStart;if(ls){for(iIp=0;iIp<ls.length;iIp++){fnc=ls[iIp];try{if(typeof(fnc)=='function')fnc();else eval(fnc);}
catch(e){trace(e);}}}}
function loadScript(jsFile,charset){var head=document.getElementsByTagName('head')[0];var script=document.createElement('script');script.type='text/javascript';if(charset)script.charset=charset;script.src=jsFile;head.appendChild(script);}
function loadStyleSheet(cssFile){var head=document.getElementsByTagName('head')[0];var cssLink=document.createElement('link');cssLink.type='text/css';cssLink.rel='stylesheet';cssLink.href=cssFile;head.appendChild(cssLink);}
var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;function DetectFlashVer(reqMajorVer,reqMinorVer,reqRevision){reqVer=parseFloat(reqMajorVer+"."+reqRevision);for(i=25;i>0;i--){if(isIE&&isWin&&!isOpera)versionStr=JSGetSwfVerIE(i);else versionStr=JSGetSwfVer(i);if(versionStr==-1){return false;}else if(versionStr!=0){if(typeof versionStr=='int'||typeof versionStr=='number')versionMajor=versionStr;else{if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",");}
else versionArray=versionStr.split(".");versionMajor=versionArray[0];}
if(versionMajor>=reqMajorVer){return true;}else{return false;}}}}
function JSGetSwfVer(i){if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;descArray=flashDescription.split(" ");tempArrayMajor=descArray[2].split(".");versionMajor=tempArrayMajor[0];versionMinor=tempArrayMajor[1];if(descArray[3]!=""){tempArrayMinor=descArray[3].split("r");}else{tempArrayMinor=descArray[4].split("r");}
versionRevision=tempArrayMinor[1]>0?tempArrayMinor[1]:0;flashVer=versionMajor+"."+versionMinor+"."+versionRevision;}else{flashVer=-1;}}
else{flashVer=-1;}
return flashVer;}
function JSGetSwfVerIE(){for(var i=15;i>0;i--){try{var flash=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);return i;}
catch(e){}}
return-1;}
function systemDateToGMT(){var time=new Date();var gmtMS=time.getTime()+(time.getTimezoneOffset()*60000);var gmtTime=new Date(gmtMS);var day=gmtTime.getDate();var month=gmtTime.getMonth()+1;var hr=gmtTime.getHours();var min=gmtTime.getMinutes();var sec=gmtTime.getSeconds();if(month<10)month="0"+month;if(day<10)day="0"+day;if(hr<10)hr="0"+hr;if(min<10)min="0"+min;if(sec<10)sec="0"+sec;var timestamp=gmtTime.getFullYear().toString()+month.toString()+day.toString()
+hr.toString()+min.toString()+sec.toString();return timestamp;}
function open_win(url,windowName,windowWidth,windowHeight,scrollbarFlag,menubarFlag,toolbarFlag,resizeFlag){var scrollbarString='scrollbars=yes,';if((scrollbarFlag!=null)&&(scrollbarFlag==false)){scrollbarString='';}
var menubarString='menubar=no,';if((menubarFlag!=null)&&(menubarFlag==true)){menubarString='menubar=yes,';}
var toolbarString='toolbar=no,';if((toolbarFlag!=null)&&(toolbarFlag==true)){toolbarString='toolbar=yes,';}
var resizeString='resizable=yes,';if((resizeFlag!=null)&&(resizeFlag==false)){resizeString='resizable=no,';}
var parameterString='toolbar=no,location=no,status=no,'+menubarString+toolbarString+scrollbarString+resizeString+'width='+windowWidth+',height='+windowHeight;var newWindow=window.open(url,windowName,parameterString);newWindow.focus();return;}





// Variables nécessaires au bon fonctionnement des fonctions ci-dessous
var IE=(navigator.appName=="Microsoft Internet Explorer")?true:false;
var IE6=(navigator.appVersion.indexOf('MSIE 6')!=-1)?true:false;
var IE7=(navigator.appVersion.indexOf('MSIE 7')!=-1)?true:false;
var safari=(navigator.appVersion.indexOf('Safari')!=-1)?true:false;
var firefox=(navigator.appName.indexOf('Netscape')!=-1 && navigator.appVersion.indexOf('Safari')==-1)?true:false;
var iPhone=(navigator.appVersion.indexOf('iPhone')!=-1 || navigator.appVersion.indexOf('iPod')!=-1)?true:false;
var tabOpacity=[];

// Raccourci, au cas où aucune libraire n'est incluse.
if (typeof $ == 'undefined') $ = function(r){return document.getElementById(r)};

function addImg2Preload(imgSrc) {
	try {
		var img=document.createElement('img');
		img.setAttribute('src',imgSrc);
		if (!document.getElementById('preloadImage')) {
			var div=document.createElement('div');
			div.setAttribute('id','preloadImages');
			div.id='preloadImages';
			div.setAttribute('style','width:0px; height:0px; overflow:hidden; position:absolute;');
			div.style.width='0px';
			div.style.height='0px';
			div.style.overflow='hidden';
			div.style.position='absolute';
			document.body.appendChild(div);
		}
		document.getElementById('preloadImages').appendChild(img);
	} catch (e) {
		// Rien... Pour éviter un bug incompréhensible !	
	}
}

function injectPlayerToTarget(bcid) {
	var playerPath="/flash/emissions/zozios/player.swf?v=20080513"; 
	var injectionTarget="player"; 
	var flashVars="bcid="+bcid+"&statsOn=true&autoplay=true&mute=false&defaultPreview=/images/emissions/zozios/videos/player-default-image.gif";
	var strHtml=""; 

	strHtml+='<object id="flashobj" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" width="650" height="366">';
	strHtml+='<param name="movie" value="'+playerPath+'" />';
	strHtml+='<param name="quality" value="high" />';
	strHtml+='<param name="wmode" value="transparent" />';
	strHtml+='<param name="bgcolor" value="#000000" />';
	strHtml+='<param name="allowFullScreen" value="true" />';
	strHtml+='<param name="flashvars" value="'+flashVars+'" />';
	strHtml+='<embed name="flashobj" src="'+playerPath+'" width="650" flashvars="'+flashVars+'" height="366" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" allowFullScreen="true"></embed>';
	strHtml+='</object>';

	if((typeof insertString) == 'function') insertString(document.getElementById(injectionTarget),strHtml); 
	else document.getElementById(injectionTarget).innerHTML=strHtml;
}

function setOpacity(itm,start,end,step,opa,count) {
	var obj=document.getElementById(itm);
	if (typeof(opa)=='undefined') {
		if (typeof(tabOpacity[itm])=='undefined') var count=tabOpacity[itm]=0;
		else var count=tabOpacity[itm]=tabOpacity[itm]+1;

		obj.style.display='block';
		opa=start;
	}
	if (count!=tabOpacity[itm]) return;

	if (start<end) {
		opa=opa+step;
		if (opa>end) opa=end;
	} else {
		opa=opa-step;
		if (opa<end) opa=end;
	}
	if (!IE) obj.style.opacity=(opa/100);
	else obj.style.filter='alpha(opacity='+opa+')';

	if (start<end && opa<end || start>end && opa>end) setTimeout('setOpacity("'+itm+'",'+start+','+end+','+step+','+opa+','+count+')',30);
	else {
		if (itm=='whiteOpacity') {
			obj.style.marginTop='0';
			obj.style.width='0';
			obj.style.height='0';
		} else {
			if (end==0) obj.style.display='none';
		}
	}
}

function scroll2Location(loc,top,speed,cpt) {
	if (typeof(speed)!='number' && typeof(speed)!='numeric') {
		var top=(document.documentElement)?parseInt(document.documentElement.scrollTop):parseInt(document.body.scrollTop);
		var speed=18;
		var cpt=0;
		if (top<=loc) dir=1;
		else dir=-1;
	}

	if ((dir==1 && top>=(loc-140)) || (dir==-1 && top<=(loc+140)) && speed>1.5) {
		cpt++;
		if (cpt%2==0) {
			var tosub=Math.sqrt(speed)-(Math.sqrt(speed)/2.5)+0.6;
			speed=speed-tosub;
			if (speed<1.5) speed=1.5;
		}
	}
	top=Math.round(top+speed*dir);
	if ((top<loc && dir==-1) || (top>loc && dir==1)) top=loc;
	if (document.documentElement) document.documentElement.scrollTop=top;
	else document.body.scrollTop=top;
	if ((top>loc && dir==-1) || (top<loc && dir==1)) setTimeout('scroll2Location('+loc+','+top+','+speed+','+cpt+')',18);
}

function findPos(AObject) {
	var posX = 0, posY = 0;
	while(AObject != null) {
		posX += AObject.offsetLeft;
		posY += AObject.offsetTop;
		AObject = AObject.offsetParent;
	}
	var pos = [];
	pos['x'] = posX;
	pos['y'] = posY;
	return pos;
}

function getStyle(elt,pro) {
	var element = (typeof(elt) == 'object') ? elt : document.getElementById(elt);
	if (window.getComputedStyle) { // Mozilla Firefox & cie
		var propriete = window.getComputedStyle(element,null).getPropertyValue(pro);
	} else if (element.currentStyle) { // Microsoft Internet Explorer
		// Formatage (IE) de la propriété CSS
		while (pro.indexOf('-') != -1) {
			var lettresuivtiret = pro.charAt(pro.indexOf('-')+1);
			pro = pro.replace(/-\S{1}/,lettresuivtiret.toUpperCase());
		}
		var propriete = eval('element.currentStyle.'+pro);
	}
	return propriete;
}

function trim(myString) {
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
} 

function insertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
}

var xhr;
function getConnection() {
	if(window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else {
		if(window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		else {
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest, veuillez le mettre à jour.");
			xhr = false;
		}
	}
}

function setCookie(name, value, expires, path, domain, secure) {
	
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime(today.getTime());
	
	if (expires) expires = expires * 1000 * 60 * 60 * 24;
	var expires_date = new Date( today.getTime() + (expires));
	
	document.cookie = name + "=" + escape(value) +
	((expires) ? ";expires=" + expires_date.toGMTString() : "") + 
	((path) ? ";path=" + path : "") + 
	((domain) ? ";domain=" + domain : "") +
	((secure) ? ";secure" : "");
}

function getCookie(check_name) {
	var a_all_cookies = document.cookie.split(';');
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false;

	for ( i = 0; i < a_all_cookies.length; i++ ) {
		a_temp_cookie = a_all_cookies[i].split('=');
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if (cookie_name == check_name) {
			b_cookie_found = true;
			if (a_temp_cookie.length > 1) cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));

			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if (!b_cookie_found) return null;
}

function isNumeric(string) {
	var vTest = /^[0-9\.]+$/i;
	if (vTest.test(string)) return true;
	else return false;
}

function isInteger(string) {
	var vTest = /^[0-9]+$/i;
	if (vTest.test(string)) return true;
	else return false;
}

function getUrlVars() {
	var vars = [], hash;
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	for(var i = 0; i < hashes.length; i++) {
		hash = hashes[i].split('=');
		vars.push(hash[0]);
		vars[hash[0]] = hash[1];
	}
	return vars;
}

function setFixedHeight(idElement,heightMax,fontSizeBase) {
	if (typeof(fontSizeBase)=='undefined') var fontSizeBase=parseInt(getStyle(idElement,'font-size'));

	var cpt = 0;
	while(document.getElementById(idElement).offsetHeight>heightMax && fontSizeBase>=0 && cpt<300) {
		fontSizeBase--;
		document.getElementById(idElement).style.fontSize=fontSizeBase+'px';
		cpt++;
	}
	if (fontSizeBase==0) document.getElementById(idElement).style.fontSize='8px';
}

function stripChars(idElement,heightMax) {
	
	document.getElementById(idElement).innerHTML=trim(document.getElementById(idElement).innerHTML);

	var cpt = 0;
	if (document.getElementById(idElement).offsetHeight>heightMax) {
		document.getElementById(idElement).innerHTML=document.getElementById(idElement).innerHTML+'...';
		while(document.getElementById(idElement).offsetHeight>heightMax && document.getElementById(idElement).innerHTML.length>0 && cpt<300) {
			document.getElementById(idElement).innerHTML=document.getElementById(idElement).innerHTML.substr(0,document.getElementById(idElement).innerHTML.length-4)+'...';
			cpt++;
		}
	}
}

function isEmpty(v) {
	if (typeof(v)=='object') {
		if (v.value=='') return true;
	} else {
		if (v=='') return true;
	}
	return false;
}

function checkMail(email) { // vérif validité email par REGEXP
	if (email.value) email = email.value;
	var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
	return (reg.exec(email)!=null);
}

/* Petite fonction qui parse tous les CSS et leurs met un petit cKey ^^ */
function cssUpdater(cKey) {
	if (typeof(cKey)=='undefined') return;
	var url;
	var params;
	var overwrite;
	
	var elements = document.getElementsByTagName('link');
	for (var i=0 ; i<elements.length ; i++) {
		if (elements[i].rel.toLowerCase()=='stylesheet') {
			overwrite = true;
			url = elements[i].href;
			if (url.indexOf('?')!=-1) {
				url = url.split('?');
				params = url[1];
				url = url[0];
				if (params.indexOf(cKey)!=-1) overwrite = false;
			}
			if (overwrite) elements[i].href = url + '?cKey='+cKey;
		}
	}
	if (!document.getElementById('footer-tsr')) setTimeout('cssUpdater("'+cKey+'");',100);
}

function cInfo(txt) {
	if (typeof(console)=='object') {
		if (typeof(console.info)=='function') {
			console.info(txt);
		}
	}
}

function include(src,check) {
	if (typeof(src) == 'undefined') return;
	if (typeof(check) == 'undefined') check = src;
	var ext = src.split('.');
	ext = ext[ext.length-1];
	ext = ext.split('?');
	ext = ext[0];
	var found = false;

	if (ext!='js' && ext!='css') return;

	switch(ext) {
		case 'js' :
			if (check) {
				var srch = document.getElementsByTagName('script');
				for (var i=0 ; i<srch.length ; i++)
					if (srch[i].src == check)
						found = true;
			}
			
			if (!found) {
				var element = document.createElement('script');
				element.setAttribute('type','text/javascript');
				element.setAttribute('src',src);
			}
		break;
		case 'css' :
			var srch = document.getElementsByTagName('link');
			for (var i=0 ; i<srch.length ; i++)
				if (srch[i].href == check)
					found = true;

			if (!found) {
				var element = document.createElement('link');
				element.setAttribute('type','text/css');
				element.setAttribute('rel','stylesheet');
				element.setAttribute('href',src);
			}
		break;
	}

	if (!found && typeof(element)!='undefined')
		document.getElementsByTagName('head')[0].appendChild(element);
}

function rebuildLinksForIE() {
	if(IE) {
		var links=document.getElementsByTagName('a');
		for(var i=0;i<links.length;i++){
			if(links[i].href.indexOf('javascript:')==-1 && (typeof(links[i].onclick)=='undefined' || typeof(links[i].onclick)!='undefined' && (links[i].onclick=='' || links[i].onclick==null))){
				links[i].onclick=function(){document.location.href=this.href;return false;};
			} else {
				if (links[i].href.indexOf('javascript:')!=-1 && (typeof(links[i].onclick)=='undefined' || typeof(links[i].onclick)!='undefined' && (links[i].onclick=='' || links[i].onclick==null))) {
					links[i].href=links[i].href.replace('javascript:','');
					links[i].onclick=function(){eval(this.href);return false;};
				}
			}
		}
	}	
}

function in_array(needle,haystack,strict) {
		var found=false,key,strict=!!strict;
		for (key in haystack) {
			if ((strict&&haystack[key]===needle) || (!strict&&haystack[key]==needle)) {
				found=true;break;
			}
		}
	return found;
}

function trace(txt) {
	cInfo(txt);
}


/******************************************/
/******************************************/
/***			 TSR PLAYER 			***/
/******************************************/
/******************************************/
var h = document.location.href;
var url = (h.indexOf('www.tsr.ch') == -1 && h.indexOf('.xobix.ch') == -1) ? 'http://www.tsr.ch' : '';

if (typeof TSR != 'object') {
	include(url + '/css/tsr.css?cKey=05.01.10', url + '/css/tsrplayer_stream.css');
        
	TSR = {};
}
TSR.log = function(s) {
	if (typeof log == 'function')
		log(s);
	if (typeof console =='object')
		if (typeof console.info =='function')
			console.info(s);
};
TSR.$ = function(id) {
	var e = document.getElementById(id);
	if (e)
		return e;
	else
		return 'undefined';
};

if (typeof TSR.browser !='object') {
	TSR.browser = {
		IE: !!(window.attachEvent && !window.opera),
		Opera: !!window.opera,
		WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
		Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
		MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/),
/*		IE: (navigator.appName=="Microsoft Internet Explorer")?true:false,*/
		IE6: (navigator.appVersion.indexOf('MSIE 6')!=-1)?true:false,
		IE7: (navigator.appVersion.indexOf('MSIE 7')!=-1)?true:false,
		IE8: (navigator.appVersion.indexOf('MSIE 8')!=-1)?true:false,
		safari: (navigator.appVersion.indexOf('Safari')!=-1)?true:false,
		firefox: (navigator.appName.indexOf('Netscape')!=-1 && navigator.appVersion.indexOf('Safari')==-1)?true:false,
		iPhone: (navigator.appVersion.indexOf('iPhone')!=-1 || navigator.appVersion.indexOf('iPod')!=-1)?true:false
	}
}

// TSR.player
if (typeof TSR.player != 'object') {
	TSR.player = {
		defaults: {
			swf: url + '/flash/player.swf?v=1.4.5.1',
			//debug: true,
			width: 640,
			height: 360,
			version: '9.0.28', //version: (IE6) ? '9.0.115' : '9.0.0',
			wmode: 'transparent',
			expressInstall: url + '/flash/expressInstall.swf',
			AllowScriptAccess: 'always',
			AllowFullScreen: true
		},
		keys: {
			params: ['play', 'loop', 'menu', 'quality', 'scale', 'salign', 'wmode', 'bgColor', 'base', 'swLiveConnect', 'flashvars', 'devicefont', 'AllowScriptAccess', 'SeamlessTabbing', 'AllowFullScreen', 'AllowNetworking'],
			attribs: ['id', 'name', 'styleclass', 'align'],
			reserved: ['swf', 'id', 'width', 'height', 'expressInstall']
		},
		hasBoutique: false,
		players: {},
		streams: {},
		init: function(target) {
			var me = this;
			
			if (!target) target = null;
			
			//target = me.rebuildTargetName(target);
			
			me.current = me.getPlayer(target);
	
			return me.current;
		},
		addStream: function(s) {
			var me = this;
			me.streams[s.xobix_video_id] = s;

			if (me.current && typeof me.current.stream.xobix_video_id == 'undefined') {
				me.current.stream = me.streams[s.xobix_video_id];
            }
        },
		rebuildTargetName: function(p) {
			if (typeof(p) == 'object') {
				if (!p) return;
				if (!p.options) return;
				if (!p.options.target) return;
				if (!TSR.$(p.options.target)) return;
				if (p.options.target.indexOf('-')==-1) return;
				
				var target = p.options.target;
				var reg = new RegExp("-","g");
				target = target.replace(reg,"_");

				TSR.$(p.options.target).id = target;
				p.options.target = target;
				p.options.name = target;
				p.options.id = target;
				p.attribs.name = target;
				p.attribs.id = target;
				p.vars.target = target;
			} else if (typeof(p) == 'string') {
				var reg = new RegExp("-","g");
				return p.replace(reg,"_");
			}
		},
		injectParentNode: function(p) {
			if (!p) return;
			if (!p.options) return;
			if (!p.options.target) return;
			if (!TSR.$(p.options.target)) return;

			var node = TSR.$(p.options.target);
			if (!node.parentNode) return;

			var parent = node.parentNode;
			if (parent.className.indexOf('tsrplayer-parent')!=-1) return;

			var pClass = (node.className) ? ' '+node.className : '';
			var pStyle = (node.getAttribute('style')) ? node.getAttribute('style') : '';
			if (typeof(pStyle)=='object') pStyle = pStyle.cssText.toLowerCase();
			pStyle = pStyle.replace(/width(| ):(| )[a-zA-Z0-9]{0,}(| );/,'').replace(/height(| ):(| )[a-zA-Z0-9]{0,}(| );/,'');
			
			var itm = document.createElement('div');

			itm.setAttribute('class','tsrplayer-parent'+pClass);
			itm.setAttribute('className','tsrplayer-parent'+pClass);

			var style = 'width:'+p.options.width+'px; height:'+p.options.height+'px; overflow:hidden;'+pStyle;
			if (style.indexOf('margin')==-1) style += 'margin:auto;';
			if (document.all) itm.style.setAttribute('cssText',style);
			else itm.setAttribute('style',style);

			parent.insertBefore(itm,node);
			parent.removeChild(TSR.$(p.options.target));
			itm.appendChild(node);
		},
		getPlayer: function(id) {
			var me = this;

			//id = me.rebuildTargetName(id);

			if (id && me.players[id])
				return me.players[id];
	
			// default player
			var r = {
				options: {},
				stream: {},
				params: {},
				attribs: {},
				vars: {},
				parent: me,
				stats: true,
				injected: false,
				inject: function(v) {
					if (!v) v = null;

					var p = this;
					p.init();
					// options.target is required
					if (!p.options.target) {
						TSR.log('You must provide a target to inject a player.');
						return;
					}
					
					p.loadStream(v);

					if (p.stream && p.stream.media && p.stream.media.length == 1 && p.stream.media[0].codec == 'h264') {
							p.options.version = '9.0.115';
					}

					me.injectPlayer(p);
	
					p.injected = true;
				},
				play: function(vid) {
					var p = this;
					if (!p.injected) { // || true==true
						if (p.injected) p.options.autoPlay = true;
						p.inject(vid);
						return;
					}
					if (TSR.$(p.options.target).tagName.toLowerCase()!='object' && TSR.$(p.options.target).tagName.toLowerCase()!='embed') {
						if (p.injected) p.options.autoPlay = true;
						p.inject(vid);
						return;
					}
	
					var o = swfobject.getObjectById(p.options.target);
	
					if (vid)
						p.loadStream(vid);
	
					//TSR.log("Load data in " + p.options.target);	
					if(!o || typeof o.change != 'function')
						return false;
					//TSR.log(p.stream);
					o.change({stream: p.stream, autoPlay: true});
				},
				isPlaying: function() {
					var p = this;
					var o = swfobject.getObjectById(p.options.target);
					if(!o || typeof o.isVideoPlaying != 'function')
						return false;
					//TSR.log(p.stream);
					return o.isVideoPlaying();
				},
				init: function(v) {
					var p = this;
					
					// add default options
					for (var k in me.defaults) {
						if (!p.options[k]) {
							p.options[k] = me.defaults[k];	
						}
					}
	
					// id = name = target
					p.options.id = p.options.name = p.options.target = id;
	
					// set params, attribs and vars
					for (var k in p.options) {
						if (in_array(k, me.keys.params))
							p.params[k] = p.options[k];
						else if (in_array(k, me.keys.attribs))
							p.attribs[k] = p.options[k];
						else if (!in_array(k, me.keys.reserved))
							p.vars[k] = p.options[k];	
					}
				},
				loadStream: function(id) {
					var p = this;
					if (id && me.streams[id])
						p.stream = me.streams[id];
				}
			};
			return r;
		},
		getStream: function(id) {
			var me = this;
			var p = me.getPlayer(id);
			return p.stream;
		},
		sendToFriend: function(stream) {
            var url = 'http%3A%2F%2Fwww.tsr.ch%2Ftsr%2Findex.html%3FsiteSect%3D500000';
            if (stream) {
                if (typeof stream.xobix_broadcast_id != 'undefined')
                    url += '%26bcid=' + stream.xobix_broadcast_id;
                if (typeof stream.xobix_broadcast_id != 'undefined')
                    url += '%23vid=' + stream.xobix_video_id;
            }
            window.open('http://www.tsr.ch/tsr/index.html?siteSect=200004&lastUrl=' + url, 'send2friend', 'toolbar=no,location=no,status=no,menubar=no,width=360,height=380');
        },
        goShopping: function(stream) {
            var url = 'http://www3.tsr.ch/tsr/index.html?siteSect=300010';
            if (stream) {
                if (typeof stream.broadcast_date != 'undefined') {
                    // transform solr date for boutique
                    var d = stream.broadcast_date.split('T');
                    d = d[0].split('-');
                    if (d && d.length == 3)
                        url += '&date=' + d[2] + d[1] + d[0];
                }
                if (typeof stream.xobix_program_id != 'undefined')
                    url += '&emission=' + stream.xobix_program_id;
            }
            url += '&player=1&norecharge=1';
            window.open(url, '_blank');
        },
        getRelated: function(stream) {
            var me = this;
            if (!me.hasRelated(null))
                return [];
            TSR.log('get related videos: ' + related_videos.length);
            return related_videos;
        },
        hasRelated: function(stream) {
            if (typeof related_videos == 'undefined' || typeof related_videos.length == 'undefined')
                return false;
            return related_videos.length > 0;
        },
        hasShopping: function(stream) {
            var me = this;
            if (me.hasBoutique)
                return true;
            // only shop with tsrkit
            if (typeof mainPlayer != 'object' || typeof mainPlayer.getVideo != 'function' || typeof stream.xobix_video_id == 'undefined')
                return false;
            var v = mainPlayer.getVideo(stream.xobix_video_id);
            if (!v)
                return false;
            return typeof v.hasBoutique != 'undefined' && v.hasBoutique;
        },
        hasMail: function(stream) {
            return true;
        },
        playVideo: function(stream) {
            // wrapper to mainPlayer.playVideo in tsrkit
            if (typeof mainPlayer != 'object' || typeof mainPlayer.playVideo != 'function' || !stream || typeof stream.xobix_video_id == 'undefined')
                return false;
            mainPlayer.playVideo(stream.xobix_video_id);
            return true; 
        },
		jsReady: function() {
			return true;
		},
		injectPlayer: function(p) {
			var me = this;
			
			me.rebuildTargetName(p);
			
			me.injectParentNode(p);

			swfobject.embedSWF( p.options.swf, p.options.target, p.options.width, p.options.height, 
							p.options.version, p.options.expressInstall,
							p.vars, p.params, p.attribs );	
			me.players[p.options.target] = p;
			me.current = null;
		},
		playStream: function(pid, vid) {
			var me = this;

			pid = me.rebuildTargetName(pid);

			if (!pid || pid && !me.players[pid])
				return;
			if (!vid || vid && !me.streams[vid])
				return;
			var p = me.getPlayer(pid);
			p.play(vid);
		},
		setVolume: function(v) {
			setCookie('tsrPlayerVolume', v, 60*60*24*365, '/', 'tsr.ch', '');
		},
		getVolume: function() {
			var v = getCookie('tsrPlayerVolume');
			return v;
		},
		setQuality: function(v) {
			setCookie('tsrPlayerQuality', v, 60*60*24*365, '/', 'tsr.ch', '');
		},
		getQuality: function() {
			var v = getCookie('tsrPlayerQuality');
			return v;
		},
		streamComplete: function(pid) {
            // callback on stream complete
        },
		stats: {
			currentStream: '',
			currentMedia: null,
			statString: '',
			renommage: '',
			bcVideoId: '0-0',		
			format: '',
			wsInfo: {},
			pt: null, // google page tracker
			defaults: {
				/* Page */
				compte: 'tsr',
				target: 'embedVideo',
				pageGroup: 'tsrvideo.ch',
				pageName: '',
				frame: '',
				parametre: '',
				extranet: '',
				roi: '',
				profil:''
			},
			addDefaultValues: function() {
				var me = this;
				for (var k in me.defaults) {
					if (!me.wsInfo[k])
						me.wsInfo[k] = me.defaults[k];	
				}
				
			},
			/*
				Main function, with 2 params (player target AND media id)
			*/
			register: function(pid, stream) {
				var me = this;

				/* verifs */
				if(!pid)
                  return false;

				if(typeof stream != 'object' || !stream)
                  return false;

                var p = TSR.player.getPlayer(pid);
                if (!p.stats) {
                  TSR.log('stats is false, ignore');
                  return false;
                }
				/* Get Player Infos */
				me.wsInfo.target = pid;
				me.currentStream = stream;


				/* Launch */
				me.addDefaultValues();
				if (me.parse()) {
    				me.doStats();
    			} else {
    			    TSR.log('player stats: parsing is false, no stats');
				}
			},
			doStats: function() {
				var me = this;
				var o = me.wsInfo;

                if (!me.hasVideoStats()) {
                    TSR.log('#error# player.doStats cannot work: statistique.js?video=1 is not defined');
                    return false;
                }

				TSR.log("doStats: wysistat("+o.compte+", "+o.frame+", "+o.parametre+", "+o.extranet+", "+o.renommage+"," +o.roi+", "+o.profil+", "+o.statString+");");
				wysistat(o.compte, o.frame, o.parametre, o.extranet, o.renommage, o.roi, o.profil, o.statString);

				if (!me.hasGoogleStats()) {
					return true;
				}
				var c = o.renommage + '/' + o.program;
				var a = 'play';
				var l = o.bcVideoId + '-' + o.title;
				me.google(c, a, l, o.bitrate);
			},
			error: function(pid, stream, action, value) {
				var me = this;

				/* verifs */
				if(!pid)
                  return false;

				if(typeof stream != 'object' || !stream)
                  return false;

                var p = TSR.player.getPlayer(pid);
                if (!p.stats) {
                  TSR.log('stats is false, ignore');
                  return false;
                }
				/* Get Player Infos */
				me.wsInfo.target = pid;
				me.currentStream = stream;


				/* Launch */
				me.addDefaultValues();
				if (me.parse()) {
					if (!me.hasGoogleStats()) {
						return false;
					}
					var o = me.wsInfo;
					var c = o.renommage + '/' + o.program;
					var a = 'error';
					if (typeof action != 'undefined' && action)
						a += '/' + action;
					var l = o.bcVideoId + '|' + stream.broadcast_date + '|' + stream.stream + '|' + o.title + '|' + o.bitrate;
					me.google(c, a, l, value);
    			} else {
    			    TSR.log('player stats: parsing is false, no stats');
				}
			},
			google: function(c, a, l, v) {
				var me = this;
				try {
					if (!me.pt) {
						me.pt = _gat._getTracker("UA-1919324-1");
						 // you must do that first
						me.pt._trackPageview();
					}
					me.pt._trackEvent(c, a, l, v);
					TSR.log('log event: ' + c + ', ' + a + ', ' + l + ', ' + v);
				} catch(err) {TSR.log('error in google tracking ' + err);}
			},
			hasGoogleStats: function() {
				var scripts = document.getElementsByTagName('script');
				for (var k in scripts) {
				    var s = scripts[k].src;
                    if (typeof s != 'undefined' && s.indexOf('ga.js') != -1) {
                        return true;
                    }
                }
                return false;
			},
			hasVideoStats: function() {
				var scripts = document.getElementsByTagName('script');
				for (var k in scripts) {
				    var s = scripts[k].src;
                    if (typeof s != 'undefined' && s.indexOf('statistique.js?video=1') != -1) {
                        return true;
                    }
                }
                return false;
            },
			parseDate: function(dateTimeSolr) {
				if (!dateTimeSolr) return;
				dateTimeSolr = dateTimeSolr.split('T');
				var aDate = dateTimeSolr.shift().split('-');
				return aDate[2] + aDate[1] + aDate[0];
			},
			removeSpecialChars : function(s) {
				var acS ={
					a:['á','à','â','ä'],
					e:['è','é','ê','ë'],
					i:['í','ì','î','ï'],
					o:['ó','ò','ô','ö'],
					u:['ú','ù','û','ü'],
					y:['ý','ÿ'],
					'-': ['/','|']
				}
				for (var l in acS) {
					for ( var i=0 ; i<acS[l].length ; i++){
						s = this.str_replace(acS[l][i].toLowerCase(),l.toLowerCase(),s);	
						s = this.str_replace(acS[l][i].toUpperCase(),l.toUpperCase(),s);	
					}
				}
				return s;
			},
			str_replace: function(search, replace, subject) {
				/* PHP-JS: http://kevin.vanzonneveld.net */
	 		    var f = search, r = replace, s = subject;
			    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
			    while (j = 0, i--) {
			        if (s[i]) {
			            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
			        }
			    };
				return sa ? s : s[0];
			},
			getFormatByMimeType:function (f) {
				return "WS_VIDEOTYPE_FLASH";
				/*switch(f){
					default:
					case 'video/x-flv':
						return "WS_VIDEOTYPE_FLASH";
					break;
				}*/
			},
			parse: function() {
				var me = this;
				var s = me.currentStream;
				var wi = me.wsInfo;
				wi.duration = parseInt(s.duration);
				wi.broadcast_date = me.parseDate(s.broadcast_date);
				wi.title = me.removeSpecialChars(s.title);
				wi.program = me.removeSpecialChars(s.xobix_program_name);
				wi.pageGroup = s.pageGroup ? s.pageGroup : me.defaults.pageGroup;
				wi.renommage = !s.pageName ? wi.pageGroup : wi.pageGroup + ';' + s.pageName;
				wi.format = s.codec;
				wi.bcVideoId = (s.xobix_broadcast_id || s.xobix_video_id) + '-' + s.xobix_video_id;
				wi.bitrate = s.bitrate;
				wi.statString = wi.target+"|"+wi.title+"|"+wi.program+"|"+wi.broadcast_date+"|"+wi.format+"|"+wi.duration+"|"+wi.bitrate+"|"+wi.bcVideoId;
                if (!wi.title && !s.xobix_video_id)
                    return false;
	            return true;
            }
	    }
	}
}

if (typeof TSR.scrollers != 'object') {
	TSR.scrollers = {
		scroller: [],
		init: function() {
			var me = this;
			$('.scroll').each(function() {
				me.add(this);
			});
		},
		add: function(s) {
			var me = this;
			if (!s) return;
			s = $(s);
			var m = s.children('.scroll-move');
			if (!m) return;
			var first = m.children(':first');
			if (!first) return;
	
			var id = s.attr('id');
	
			var arrows = [
				s.prev('.left'),
				s.next('.right')
			];
	
			if (!arrows[0] || !arrows[1]) return;
	
			var n = (id) ? id : me.scroller.length;
	
			var scroll = {
				items: {
					width: (parseInt(first.css('width'))+parseInt(first.css('margin-right'))+parseInt(first.css('margin-left'))),
					margin: (parseInt(first.css('margin-right'))+parseInt(first.css('margin-left'))),
					marginLeft: +parseInt(first.css('margin-left')),
					marginRight: +parseInt(first.css('margin-right')),
					widthWithoutMargin: parseInt(first.css('width')),
					length: m.children().size()
				},
				general: {
					id: n,
					container: s,
					mover: m,
					elements: null,
					width: parseInt(s.css('width')),
					infinity: true,
					isAlreadyScrolling: false,
					autoMove: false,
					mouseOver: false
				},
				move: {
					step: 55,
					delay: 40,
					speed: null,
					autoDelay: 10000,
					autoCpt: 0,
					isMoving: false
				},
				arrows: {
					left: arrows[0],
					right: arrows[1]
				}
			};
			scroll.move.items = Math.round(scroll.general.width/scroll.items.width);
			scroll.move.width = scroll.move.items * scroll.items.width;
			scroll.general.mover.css('left',0);

			me.scroller[n] = scroll;
			me.hideOverflowedItems(scroll);
			scroll.general.mover.css('width',(scroll.general.width+(scroll.items.width*4)));
			scroll.general.mover.css('position','relative');
			cInfo(scroll);

			/* Initialise les évènements sur les flèches */
			$.each(scroll.arrows, function(e) {
				this.css('font-size','0');
				this.bind('click',function() {
					TSR.scrollers.move(this,n);
					return false;
				});
			});

			// S'il n'y a pas assez d'éléments pour défiler, on disable les flèches.
			if (scroll.items.length<=scroll.move.items) {
				$.each(scroll.arrows, function() {
					me.arrows.disable(this);
				});
			}
		},
		autoMove: function(s, c) {
			var me = this;
			
			if (TSR.browser.iPhone) return;

			if (typeof(s)!='object') s = me.scroller[s];
			if (!s) return;
			if (s.general.mouseOver) return;
			if (!s.general.autoMove) return;

			if (c && c == s.move.autoCpt) {
				s.move.autoCpt++;
				me.move(null, s, function() {
					me.autoMove(s);
				});
			}
			if (typeof(c)=='undefined') {
				s.move.autoCpt++;
				var tmp = s.move.autoCpt;
				setTimeout(function() {
					me.autoMove(s, tmp);
				},s.move.autoDelay);
				return;
			}
		},
		move: function(e, n, callback) {
			var me = this;
			if (typeof(n)=='undefined') return;

			if (e) {
				e = $(e);
				if (e.attr('class').indexOf('disable')!=-1) return;
				var dir = trim(e.attr('class').replace('arrow',''));
			} else var dir = 'right';

			var s = (typeof(n)=='object') ? n : me.scroller[n];
			if (!s) return;

			if (s.move.isMoving) return;
			s.move.isMoving = true;

			dir = (dir=='left') ? 1 : -1;
			me.getDistancesAndMove(s, s.move.width, dir, callback);
		},
		movement: function(s, start, end, dir, callback, mov) {
			var me = this;
			if (typeof(start)=='undefined' || typeof(end)=='undefined' || typeof(dir)=='undefined') return;
			if (typeof(mov)=='undefined') mov = start;
			if (!s) return;
	
			if (!s.general.isAlreadyScrolling)
				me.firstScroll(s);
	
			var speed = me.checkSpeed(s, end, mov, dir);
			mov += speed*dir;
			if ((mov*dir) > end) mov = end*dir;
			if (s.general.infinity) {
				var hide = me.hideAndDisplayInMovement(s, mov, dir);
				if (hide>0) {
					end -= (hide*s.items.width);
					mov -= (hide*s.items.width*dir);
				}
			}
			s.general.mover.css('left', mov+'px');
	
			if (mov*dir < end)
				setTimeout(function() {
					TSR.scrollers.movement(s,start,end,dir,callback,mov);
				},s.move.delay);
			else {
				if (s.general.infinity) {
					setTimeout(function() { // settimeout pour bug de "lag"
						me.rebuildForZero(s);
						s.move.isMoving = false;
					},100);
				} else s.move.isMoving = false;
				
				if (typeof(callback)=='function') callback();
			}
		},
		goToItem: function(n, target, callback) {
			var me = this;
			if(typeof(n)=='undefined' || typeof(target)=='undefined') return;
			var s = TSR.scrollers.scroller[n];
			if (!s) return;
			if (s.move.isMoving) return;
			s.move.isMoving = true;
			var dir = -1;
			if (s.items.length-target<target) {
				target = s.items.length-target;
				dir = 1;
			}
	
			me.getDistancesAndMove(s, (target*s.items.width), dir, callback);
		},
		getDistancesAndMove: function(s, target, dir, callback) {
			var me = this;
			if (!s || !target || !dir) return;

			var l = parseInt(s.general.mover.css('left'));
			var i = l*dir+target;
			if (s.general.infinity) {
				me.buildForMovement(s, l, i, dir);
				l = parseInt(s.general.mover.css('left'));
				i = l+target;
			} else {
				me.arrows.enable(s.arrows.left);
				me.arrows.enable(s.arrows.right);
				var max = (s.items.length-s.move.items)*s.items.width;
				if (i>=max) {
					i = max;
					me.arrows.disable(s.arrows.right);
				} else if (i>=0 && dir==1) {
					i = 0;
					me.arrows.disable(s.arrows.left);
				}
			}
			s.move.speed = s.move.step;
			s.general.elements = s.general.mover.children();
			me.movement(s, l, i, dir, callback);
		},
		hideOverflowedItems: function(s) {
			var me = this;
			if (!s) return;
	
			var cpt = 0;
			s.general.mover.children().each(function() {
				var margin = cpt*s.items.width-s.items.marginRight;
				cpt++;
				if (margin<s.general.width) {
					this.style.display='block';
				} else {
					this.style.display='none';
				}
			 });
		},
		hideAndDisplayInMovement: function(s, mov, dir) {
			var me = this;
			if (!s || typeof(mov)=='undefined' || typeof(dir)=='undefined') return;

			var l = parseInt(s.general.mover.css('left'));
			if (l<0) l*=-1;
			if (mov<0) mov*=-1;
			var diff = mov - l;
			if (diff<0) diff*=-1;
			var nbDisp = Math.floor(diff/s.items.width);
	
			var items = {
				first: Math.floor(l/s.items.width),
				last: Math.floor(mov/s.items.width) + s.move.items,
				toDisp: Math.ceil(mov/s.items.width),
				firstVisible: 0
			};
			s.general.elements.each(function() {
				if (this.style.display=='block') return false;
				items.firstVisible++;
			});

			var cpt = cptHide = 0;
			s.general.elements.each(function() {
				if (dir==-1) {
					if (this.style.display!='none' || cpt>0) {
						if (cpt<items.first) {
							if (this.style.display=='block') {
								this.style.display='none';
								cptHide++;
							}
						} else if (cpt>items.last) {
							if (this.style.display=='none') return false;
							else this.style.display='none';
						} else
							this.style.display='block';
						cpt++;
					}
				} else {
					if (cpt>=items.firstVisible-items.toDisp && cpt<items.firstVisible) {
						this.style.display='block';
						cptHide++;
					} else if (cpt>items.firstVisible+s.move.items)
						this.style.display='none';
					cpt++;
				}
			});
			return cptHide;
		},
		buildForMovement: function(s, l, i, dir) {
			var me = this;
			if (!s || !s.general.infinity || typeof(l)=='undefined' || typeof(i)=='undefined' || dir!=1) return;
	
			var m = s.general.mover;
			var child;
	
			var items = {
				nb: Math.ceil((i - l)/s.items.width),
				cpt: 0
			};

			for (var i = items.nb-1 ; i>=0 ; i--) {
				if (items.cpt < items.nb) {
					child = m.children(':last');
					child.remove().prependTo(m);
					items.cpt++;
				}
			}
		},
		rebuildForZero: function(s) {
			var me = this;
			if (!s) return;
			var m = $(s.general.mover);
			if (!m) return;
			if (!s.general.infinity) return;
	
			s.general.mover.children().each(function() {
				if (this.style.display=='none') {
					child = m.children(':first');
					child.remove().appendTo(m);
				} else return false;
			});
	
			var l = parseInt(s.general.mover.css('left'));
			if (l<0) {
				l *= -1;
				var nb = Math.ceil(l/s.items.width);
	
				var child;
				for (var i=0 ; i<nb ; i++) {
					child = m.children(':first');
					child.remove().appendTo(m);
					child.css('display','none');
					s.general.mover.css('left', parseInt(s.general.mover.css('left'))+s.items.width);
				}
			} else s.general.mover.css('left','0');
		},
		checkSpeed: function(s, end, mov, dir) {
			var me = this;
			var defaultValue = 40;
			var marginOfError = 10;
			if (typeof(end)=='undefined' || typeof(mov)=='undefined') return defaultValue;
			if (!s) return defaultValue;
	
			if (end<0) end*=-1;
			if (mov<0) mov*=-1;
			var diff = (dir==-1) ? end - mov : end + mov;
			if (diff<0) diff*=-1;
			var diffInv =  s.general.width - diff;
			var limit = {
				start: Math.round(s.general.width*0.85),
				startInv: s.general.width- Math.round(s.general.width*0.85),
				end: Math.round(s.general.width*0.15)
			};
			var tween = {
				deceleration: function(x){ return Math.abs(Math.round( (1.5^(x)-1.5 )/1.5   ));},
				test: function(x){ return Math.abs(Math.round(  1.5 * 2^(x*0.35-x)));}
			}
			var speed = {
				max: Math.round(s.move.width/Math.round(limit.start/s.move.step)),
				deceleration: tween.deceleration(diff)
			};
			// Corrects the deceleration (not bigger than the maximum speed && diff)
			speed.deceleration = (speed.deceleration > diff || diff<marginOfError)?diff:speed.deceleration;
			speed.deceleration = (speed.deceleration > speed.max)?speed.max:speed.deceleration;
			
			// We move our object with the same speed, when it is not in the area. (0/85%)		
			if((diffInv < limit.startInv)) {
				return speed.max;
			}
			// The object is in the area (85/100%),.. we use deceleration
			return speed.deceleration;
		},
		arrows: {
			disable: function(a) {
				a.css('cursor','default');
				a.addClass('disable');
			},
			enable: function(a) {
				a.css('cursor','pointer');
				a.removeClass('disable');
			}
		},
		setInfinity: function(s, b) {
			var me = this;
			if (typeof(b) != 'boolean') return;
			if (typeof(s)!='object')
				s = TSR.scrollers.scroller[s];
			if (!s) return;

			s.general.infinity = b;
			if (!b) {
				me.arrows.disable(s.arrows.left);
				s.general.mover.css('width',(s.items.length)*s.items.width);
			}
	
			s.general.mover.children().each(function() {
				$(this).css('display','block');
			});
		},
		setAutoMove: function(s, b) {
			var me = this;
			if (typeof(b) != 'boolean') return;
			if (typeof(s)!='object')
				s = TSR.scrollers.scroller[s];
			if (!s) return;

			s.general.autoMove = b;

			s.general.container.mouseover(function() {
				me.mouseOver(s);
			}).mouseout(function() {
				me.mouseOut(s);
			});
			
			$.each(s.arrows, function() {
				this.mouseover(function() {
					me.mouseOver(s);
				}).mouseout(function() {
					me.mouseOut(s);
				});
			});

			if (b)
				me.autoMove(s);
		},
		mouseOver: function(s) {
			s.general.mouseOver = true;
		},
		mouseOut: function(s) {
			var me = this;
			s.general.mouseOver = false;
			me.autoMove(s);
		},
		firstScroll: function(s) {
			var me = this;
			if (!s) return;
	
			if (s.general.infinity && s.items.length<s.move.items*2) {
				var child;
				s.general.mover.children().each(function() {
					s.general.mover.append($(this).clone());
				});
			}
			s.general.isAlreadyScrolling = true;
		}
	};	
};


if (typeof TSR.effects != 'object') {
	TSR.effects = {
		// Specify : obj (object or string (id of object, for noobs)), end (int)
		// and... step (int, optionnel), start (int, optionnel), timeout(int, optionnel), callback (function, optionnel)
		// opa and count, do not touch!!!
		// samples :
		// TSR.effects.setOpacity('myDivID',0); // the most simple usage
		// TSR.effects.setOpacity(div,0,30); // div is an object, and step is specified to an higher speed
		// TSR.effects.setOpacity(div,0,30,100); // start is specified to force the start value
		// ...
		setOpacity: function(obj, end, step, start, timeout, callback, opa, opt) {
			var me = this;
	
			if (typeof(obj)!='object') obj = document.getElementById(obj);
			if (!obj) return;
	
			if (typeof(step)=='undefined')
				step = 20;	
			
			if (typeof(timeout)=='undefined')
				timeout = 30;
	
			if (typeof(start)=='undefined')
				start = parseInt($(obj).css('opacity'))*100;
	
			if (typeof(opa)=='undefined') {
				obj.style.display='block';
				opa = start;
			} else {
				if (typeof(opt)!='undefined' && (obj.style.display!=opt.display || opa!=opt.opacity))
					return;
			}
	
			if (start<end) {
				opa=opa+step;
				if (opa>end) opa=end;
			} else {
				opa=opa-step;
				if (opa<end) opa=end;
			}
			var opt = {
				'display' : obj.style.display,
				'opacity' : opa
			};
			
			if (IE)
				obj.style.filter='alpha(opacity='+opa+')';
			else
				obj.style.opacity=(opa/100);
		
			if (start<end && opa<end || start>end && opa>end)
				setTimeout(function() {
					me.setOpacity(obj, end, step, start, timeout, callback, opa, opt);
				},timeout);
			else {
				if (end==0)
					obj.style.display='none';
			}
		}
	};
}


function loltestlol() {
	alert("clicktestlol");	
}





/**********************************************************************************************/
/***			(SWFObject v2.1) => swfo2 <http://code.google.com/p/swfo2/> 	    ***/
/**********************************************************************************************/
if (typeof swfobject != 'object') {
        var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();
}
// backward compatibility
if (typeof swfo2 != 'object') {
        var swfo2 = swfobject;
}


/******************************************************************************************************************/
/******************************************************************************************************************/
/*																												  */
/* 								A FAIRE : LE MENAGE ET SUPPRIMER EN TEMPS VOULU...								  */
/*																												  */
/******************************************************************************************************************/
/******************************************************************************************************************/
/********** TO DELETE **********//********** TO DELETE **********//********** TO DELETE **********//********** TO DELETE **********//********** TO DELETE **********/



/*swfobject.js v1.X*/
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var swfo1=deconcept.SWFObject;
