var swnavprev = '31px';
var swpreview = '800px';
var swnavnext = '31px';
var swinfo1 = '530px';
var swinfo2 = '400px';
var sh = '300px';
var shm = 'auto';
var sh2 = '20px';
var sh3 = '20px';
var cur;
var t = 6;
var tSize = '/T6-';
var tSize2 = '/T6-';
var tSize3 = '';
var st = false;
var logo = '';
var total;
var ie = document.all ? true : false;
var inited = false;
var automove;
var tms = 6000;
var Slidepos;

function initSlideShow()
{
	var h = document.getElementById("slidepreview");
	var el = document.getElementById("slidelist");
	var p = document.getElementById("mediathequePhotosPageContent");
	var m = document.getElementById("mainContent");
	var sprev = document.getElementById("slidenavprev");
	var snext = document.getElementById("slidenavnext");
	var i1 = document.getElementById("slideinfo1");
	var i2 = document.getElementById("slideinfo2");
	var dlhd = document.getElementById("slidedlhd");
	var dlbd = document.getElementById("slidedlbd");

	/*
	   if (document.images)
	   {
	   var im = $$('#slidelist img');
	   preload = new Array();

	   for(x=0; x<im.length;x++)
	   {
	//wd('<li> Preloading: '+im[x].src);
	//alert('preload '+im[x].src);
	preload[x] = new Image();
	preload[x].src = im[x].src.replace('T0-','T6-');
	}

	}
	 */

	if (!ie)
		preloadImages('#slidelist');

	cur = 0;

	if (!h)
		return false;


	with (h)
	{
		style.width = swpreview;
		//style.height = (ie ? sh : shm);
		//h.innerHTML = "<a href='#'><img id=imagePreview style='display: none; visibility: hidden;' alt='Preview' onClick='window.open(this.src,\"Image\",\"location=no,menubar=no,toolbar=no,titlebar=no,status=no,scrollbars=auto\");' onKeyPress='window.open(this.src,\"Image\",\#location=no,menubar=no,toolbar=no,titlebar=no,status=no,scrollbars=auto\");'></a>";
		//h.innerHTML = "<a title='Zoom' id=plink rel=shadowbox><img id=imagePreview style='display: none; visibility: hidden;' alt='Preview'></a>";
		h.innerHTML = "<img id=imagePreview style='display: none; visibility: hidden;' alt='Preview'>";
}

	with (i1)
	{
		style.width = swinfo1;
		//style.height = sh2;
	}


	with (i2)
	{
		style.width = swinfo2;
		//style.height = sh2;
	}

	var x = ie ? el.children.length : el.childNodes.length;

	total = x;
	//alert(x);

	with (sprev)
	{
		if (total > 1)
		{
			style.width = swnavprev;
			innerHTML = "<a href=\"#\" onClick=\"move(-1);return false;\" onKeyPress=\"move(-1);return false;\" onMouseOver=\"MM_swapImage('slideshow_precedent','','/monaco/root/bank/tclass/Previous.gif',1);\" onFocus=\"MM_swapImage('slideshow_precedent','','/monaco/root/bank/tclass/Previous.gif',1);\" onMouseOut=\"MM_swapImgRestore();\" onBlur=\"MM_swapImgRestore();\"><img src=\"/monaco/root/bank/tclass/Previous.gif\" name=\"slideshow_precedent\" alt='Voir la photo précédente'></a>";
		}
		else
		{
			el.style.visibility='hidden';
			el.style.display='none';
		}
	}

	with (snext)
	{
		if (total > 1)
		{
			style.width = swnavnext;
			innerHTML = "<a href=\"#\" onClick=\"move(+1);return false;\" onKeyPress=\"move(+1);return false;\" onMouseOver=\"MM_swapImage('slideshow_suivant','','/monaco/root/bank/tclass/Next.gif',1);\" onFocus=\"MM_swapImage('slideshow_suivant','','/monaco/root/bank/tclass/Next.gif',1);\" onMouseOut=\"MM_swapImgRestore();\" onBlur=\"MM_swapImgRestore();\"><img src=\"/monaco/root/bank/tclass/Next.gif\" name=\"slideshow_suivant\" alt='Voir la photo suivante'></a>";
		}
		else
		{
			el.style.visibility='hidden';
			el.style.display='none';
		}
	}

	for (i = 0; i < x; i++)
	{
		//alert(el.children[i].children[0].src);
	}


	automove = setTimeout("move(+1,true)",tms);

}

function showImage(el)
{

	slidePos=el;

	try
	{
		if (ie && !IE8)
		{
			var src = el.children[0].src;
			var alt = el.children[0].alt;
			var title = el.children[0].title;
			var longdesc = el.children[0].longDesc;
		}
		else
		{
			var src = el.childNodes[0].attributes['src'].value;
			src.toString();
			var alt = el.childNodes[0].attributes['alt'].value;
			var title = el.childNodes[0].attributes['title'].value;
			var longdesc = el.childNodes[0].attributes['longdesc'].value;
		}

		var pr = document.getElementById("imagePreview");
		var i1 = document.getElementById("slideinfo1");
		var i2 = document.getElementById("slideinfo2");
		var i3 = document.getElementById("slideinfo3");
		var dlhd = document.getElementById("slidedlhd");
		var dlbd = document.getElementById("slidedlbd");

		var buf;

		for (x=0; x<=t; x++)
		{
			buf = '/T'+x+'-';
			try
			{
				//alert(src);
				src = src.replace(buf,tSize2);
				//alert(src);
			}
			catch (e)
			{
			}
		}

		var srchd = src.replace(tSize2,tSize3);
		var tpl = src;
		tpl = tpl.replace('T6-','');
		//alert(tpl);
	
		// shadowbox
		//document.getElementById('plink').href=tpl;

		if (ie)
		{
			

			//pr.style.filter = "progid:DXImageTransform.Microsoft.Blinds(direction='down', bands=2);";
			pr.style.filter = "blendTrans(duration=1);";
			pr.src=src;

			pr.alt = alt;
			i2.innerHTML = 	'<strong>'+longdesc+'</strong>';
			i1.innerText = title;
			if (i3)
				i3.innerHTML = '<strong>'+alt+'</strong>';
			//if (dlhd)
			//	dlhd.innerHTML = '<a href="'+srchd+'" target="_blank">HD</a>';
			//if (dlbd)
			//	dlbd.innerHTML = '<a href="'+src+'" target="_blank">BD</a>';
			applyTransition(pr);
		}
		else
		{
			//applyTransition(pr,true);
			pr.style.visibility='hidden';
			pr.src=src;
			pr.alt = alt;
			pr.title=title;
			pr.longdesc=longdesc;
			i2.innerHTML = 	'<strong>'+longdesc+'</strong>';
			i1.innerHTML = title;
			if (i3)
				i3.innerHTML = '<strong>'+alt+'</strong>';
			//if (dlhd)
			//	dlhd.innerHTML = '<a href="'+srchd+'" target="_blank">HD</a>';
			//if (dlbd)
			//	dlbd.innerHTML = '<a href="'+src+'" target="_blank">BD</a>';
			applyTransition(pr);
		}


		if (!st)
		{
			pr.style.visibility='visible';
			pr.style.display='block';
			st = true;
		}
	}
	catch(e)
	{
		return popize(el);
	}
}

function applyTransition (oImg,s)
{
	var ts;
	if (automove)
		ts=1000;
	else
		ts=500;	
	if (ie)
	{
		try {
		oImg.filters(0).Apply();
		oImg.style.visibility = "visible";
		oImg.filters(0).Play();
		}
		catch(e) {}
	}
	else
	{
		if (s)
			new Fx.Styles(oImg,{duration: ts, wait:true }).custom({'opacity': [1,0]});
		else
			new Fx.Styles(oImg,{duration: ts, wait:true }).custom({'opacity': [0,1]});
	}
}

function move(d,auto)
{
	var auto;
	var delta = (ie ? 1 : 2);
	cur = (cur ? cur : 0);
	cur = ( ie ? cur+d : cur+2*d);
	cur = (cur > total-delta ? 0 : cur);
	cur = (cur < 0 ? (ie ? total : total-delta-1 ) : cur);
	var el = document.getElementById("slidelist");

	//alert(cur);
	//alert(auto);
	//alert(cur);	
	target = (ie ? el.children[cur].children[0] : el.childNodes[cur+1].childNodes[1]);
	showImage(target);

	clearTimeout(automove);
	automove='';
	
	if (auto)
		automove=setTimeout("move(+1,true)",tms);
}

initSlideShow();

cur = 0; 
move(cur,true); 
inited = true;



//   asset_loader.js
//   This object handles all the assets for the page.

//   First, the master list of application assets to preload.
//   All images are considered to be optional unless required is set to 1.
//   All scripts are considered to be required unless optional is set to 1.

var assets = {

	//   List images here.
	//   Each image is an associative array with:
	//      id: an identifier
	//      url: a url to load the image from (can be relative)
	//      required: (optional) if '1', calls failure callback
	//         if there is an error loading this image
	//         (Thus, all images default to being optional.)

images: [ {id:'', url:''}
	],

		//   List scripts here.
		//   Each script is an associative array with:
		//      id: an identifier
		//      url: a url to load the script from (can be relative)
		//      optional: (optional) if '1', does not call failure callback
		//         if there is an error loading this script
		//         (Thus, all scripts default to being required.)

		scripts: [
			]

};

//   The preloader object.
//   This object handles the job of preloading everything.
//   Usage:
//
//      preLoader.startLoading( preloadSuccess, preloadFailure, preloadStatus );
//
//   Where:
//      preloadSuccess: the function to call when preloading was successful
//      preloadFailure: the function to call when preloading failed
//      preloadStatus:  the function to call to report status of preloading in progress
//
//   Scripts grabbed in this manner are eval()'d by Prototype.

var preLoader = {
errors: { images: 0, scripts: 0 },
	errortext: '',
	progress: 0,
	startLoading: function( completeCallback, errorCallback, statusCallback ) {
		this.success = completeCallback;
		this.failure = errorCallback;
		this.status = statusCallback;
		this.loadNextImage();
	},
loadNextImage: function() {
		       if (this.progress >= assets.images.length) {
			       this.progress = 0;
			       this.loadNextScript();
			       return;
		       }
		       imageObject = new Image();
		       imageObject.onload = function() { preLoader.imageLoaded(); }
		       imageObject.onerror = function() { preLoader.imageError(); }
		       imageObject.src = assets.images[ this.progress ].url;
		       assets.images[ this.progress ].image = imageObject;
	       },
imageLoaded: function() {
		     var perc = Math.round((this.progress + 1) * 100 / assets.images.length);
		     assets.images[ this.progress ].success = 1;
		     this.preloaderMessage( perc, 'Loading Images', assets.images[ this.progress ].url );
		     this.progress++;
		     this.loadNextImage();
	     },
imageError: function() {
		    var perc = Math.round((this.progress + 1) * 100 / assets.images.length);
		    assets.images[ this.progress ].success = 0;
		    this.errors.images++;
		    this.errortext += '<div>Error loading ' + assets.images[ this.progress ].url + '</div>';
		    this.preloaderMessage( perc, 'Loading Images', assets.images[ this.progress ].url );
		    if (assets.images[ this.progress ].required == 1) return this.failure();
		    this.progress++;
		    this.loadNextImage();
	    },
loadNextScript: function() {
			if (this.progress >= assets.scripts.length) {
				this.progress = 0;
				this.success();
				return;
			}
			this.ajax = new Ajax.Request( assets.scripts[ this.progress ].url, {
method: 'get',
onSuccess: function(transport) {
preLoader.scriptLoaded();
},
onFailure: function(transport) {
preLoader.scriptError();
}
});
},
scriptLoaded: function() {
		      var perc = Math.round((this.progress + 1) * 100 / assets.scripts.length);
		      assets.scripts[ this.progress ].success = 1;
		      this.preloaderMessage( perc, 'Loading Scripts', assets.scripts[ this.progress ].url );
		      this.progress++;
		      this.loadNextScript();
	      },
scriptError: function() {
		     var perc = Math.round((this.progress + 1) * 100 / assets.scripts.length);
		     assets.scripts[ this.progress ].success = 0;
		     this.errors.scripts++;
		     this.errortext += '<div>Error loading ' + assets.scripts[ this.progress ].url + '</div>';
		     this.preloaderMessage( perc, 'Loading Scripts', assets.scripts[ this.progress ].url );
		     if (assets.scripts[ this.progress ].optional != 1) return this.failure();
		     this.progress++;
		     this.loadNextScript();
	     },
preloaderMessage: function( perc, header, msg ) {

			  this.status( perc, header, msg, this.errortext );

		  }

};

function preloadFailure() {
	$('preloader').innerHTML = '<div style="text-align: center;"><h1>Failed to Load!</h1></div>';
}

function preloadSuccess() {
	$('preloader').innerHTML = '<div style="text-align: center;"><h1>Success!</h1></div>';
}


function prStatus (a,b,c,d)
{
}

function preloadStatus( perc, header, msg, errors ) {
	$('preloader-message').innerHTML = '\
		<div style="text-align: center; font-weight: bold; color: #999; margin-top: 80px;">' + header + '</div> \
		<div style="margin: 0px 20px; border: 2px solid #00f; position: relative; height: 16px;"> \
		<div style="position: absolute; left: 0px; top: 0px; width: ' + perc + '%; height: 16px; \
		background-color: #008;"></div> \
		<div style="position: relative; text-align: center; color: #999;">' + msg + '</div> \
		</div>';
	$('preloader-error').innerHTML = errors;
}

function initPreload()
{ 
	preLoader.startLoading(preloadFailure,preloadSuccess,preloadStatus);
}

//document.onload=initPreload();

function printPhoto()
{
	var el = slidePos;
	//alert(slidePos);
	var str='<img src='+slidePos+'>';
	var previewWindow;

	if (!previewWindow)
		previewWindow = window.open('about:blank','Preview','scrollbars=1,width=880,height=590,resizable=1');

	  if (ie && !IE8)
                {
                        var src = el.children[0].src;
                        var alt = el.children[0].alt;
                        var title = el.children[0].title;
                        var longdesc = el.children[0].longDesc;
                
		}
                else
                {
                        var src = el.childNodes[0].attributes['src'].value;
                        src.toString();
                        var alt = el.childNodes[0].attributes['alt'].value;
                        var title = el.childNodes[0].attributes['title'].value;
                        var longdesc = el.childNodes[0].attributes['longdesc'].value;
                }

	
	//src.toString();
	src = src.replace('T0-','T6-');
	src = src.replace('T1-','T6-');
	src = src.replace('T2-','T6-');
	src = src.replace('T3-','T6-');
	src = src.replace('T4-','T6-');

	var str='<img src='+src+' alt="'+longdesc+'">';

	try
	{
		previewWindow.document.open();
		previewWindow.document.clear();
		previewWindow.document.writeln('<html>\n<head>\n<title>Photo</title>\n<script language="JavaScript" type="text/javascript">self.focus();</script>\n<link rel="StyleSheet" type="text/css" href="/monaco/root/items/styles/elysee.css"/>\n</head>\n<body class="popupPhotoBody">\n');
		previewWindow.document.writeln('<div id=popupPhoto>\n<div id=mainContent>\n');
		previewWindow.document.writeln(str);
		previewWindow.document.writeln('<h1>'+longdesc+'</h1>\n<h2>'+alt+'</h2>\n<h3>'+title+'</h3>\n</div>\n</div>\n<script language="JavaScript" type="text/javascript">self.print();</script>\n</body>\n</html>');
		previewWindow.document.close();
	}
	catch (e)
	{
	alert(e);
	}


}

