if(!YAHOO.Mevia){ YAHOO.namespace("Mevia"); }

(function(){
	function pageWidth() {return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ?       document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;} function pageHeight() {return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;} function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;} function posTop() {return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;} function posRight() {return posLeft()+pageWidth();} function posBottom() {return posTop()+pageHeight();}
	
	
	var yud = YAHOO.util.Dom;
	var yue = YAHOO.util.Event;
	var yua = YAHOO.util.Anim;
	var yur = YAHOO.util.Region;
	

	var Player = function(collection){
		return this.init(collection)
	};

	var createbox = function(){
		if(yud.get('mevia_player')){
			return yud.get('mevia_player');
		}
		// var div = document.createElement('div');
		// div.setAttribute('id',"mevia_player");
		// 
		// var img = document.createElement('img');
		// img.setAttribute('id','mevia_player_img');
		// 
		// var nav = document.createElement('div');
		// nav.setAttribute('id','mevia_player_nav');
		// 
		// var close = document.createElement('img');
		// close.setAttribute('id','mevia_player_close');
		// close.setAttribute('src','mevia_player_close');
		// // nav.innerHTML = "<a href='javascript:void'>precedent</a> suivant close";
		// 
		// document.body.appendChild(div);
		// div.appendChild(img);
		// div.appendChild(nav);
		// yud.setStyle(img,'opacity',0);
		return div;
	}
	
	var pixalize = function(value){
		if(!value){
			return "0px";
		}
		return value+'px';
	}
		
	Player.prototype = {
		init:function(collection){
			var collection = null;
			var collection_size = 0;
			if(collection){
				this.setCollection(collection);
			}
			var box = createbox();
			var boxstatus = 0;
			var boxfx = new yua('mevia_player');
			var imgfx = new yua('mevia_player_img');
			imgfx.duration = 0.2;
			boxfx.duration = 0.3;
			var current_position = 0;
			
			var showbox = function(w,h){
				h = parseInt(h)+30;
				var x = posTop() + (yud.getViewportHeight()/2) - (h/2);
				var y = posLeft() + (yud.getViewportWidth()/2) - (w/2);
				if(boxstatus == 0){
					yud.setStyle(box,'top',pixalize(parseInt(x)+parseInt(h/2)));
					yud.setStyle(box,'left',pixalize(parseInt(y)+parseInt(w/2)));
					yud.setStyle(box,'width',pixalize());
					yud.setStyle(box,'height',pixalize());
					yud.setStyle(box,'display','block');						
				}
				boxfx.attributes.top = { to: x };
				boxfx.attributes.left = { to: y };
				boxfx.attributes.width = { to: w };
				boxfx.attributes.height = { to: h };						
				boxfx.animate();
				boxstatus = 1;
				setTimeout(function(){
					imgfx.attributes.opacity = { to: 1 };
					imgfx.animate()
				},300);
			};
						
			return {			
				hidebox:function(){
					boxfx.attributes.width = { to: 0 };
					boxfx.attributes.height = { to: 0 };
					boxfx.animate();					
					setTimeout(function(){
						yud.setStyle(box,'top',pixalize());
						yud.setStyle(box,'left',pixalize());
						yud.setStyle(box,'width',pixalize());
						yud.setStyle(box,'height',pixalize());
						yud.setStyle(box,'display','none');						
					},300);
					boxstatus = 0;
				},
				
				initnav:function(){
					yue.addListener('player_close','click',function(){
						this.hidebox()
					},this,true);		
					yue.addListener('player_previous','click',function(){
						this.set(parseInt(current_position)-1);
					},this,true);		
					yue.addListener('player_next','click',function(){
						this.set(parseInt(current_position)+1);
					},this,true);		
				},
				
				setCollection:function(images){
					collection = images;
					collection_size = images.length;
				},
				
				set:function(collection_index){
					if(collection_index<0){
						current_position = parseInt(collection_size)-1;
					}else if(collection_index>=parseInt(collection_size)){
						current_position = 0
					}else{
						current_position = collection_index;
					}
					var item = collection[current_position];
					var size = item['size'].split("x");
					
					imgfx.attributes.opacity = { to: 0 };
					imgfx.animate()
					setTimeout(function(){
						var test = function(e){ return true; }
						var img = yud.getElementsBy(test,'img',box)[0];
						img.src = item['path'];
						showbox(size[0],size[1]);
					},200);
				}
			}
			
		}
	};
	
	YAHOO.Mevia.Player = Player;
})();
