var NewGallerySlideShow = function(element){       
		var periodicalInProgress = false;
		var interval = 0;  

		var element = $("#"+element);  		

		if (!element || $(".description", element).length>0) return;

		var current = 0;
	 	var image = $('.image ul', element);   
		var imageList = $('.image li', element);
		if (imageList.length < 1) return; 
		
		var description;                                       
		var navigation;
		var play;
    
	var createDescription = function(){
		var imgs = $('.image img', element);
		var desc = $("<div class='description'>");
		var ul = $("<ul>");
		for(var i = 0; i < imgs.length; i++){
			ul.append($("<li/>").html($(imgs[i]).attr("alt")));
		} 
		desc.append(ul);
		element.append(desc);
		description = ul;		
	}
	var createNavigation = function(){    
		var navi = $("<div class='navigation'><div class='inactive'></div><div class='active'></div></div>");
		var ul = $("<ul/>");
		ul.append($("<li class='left'/>"));
		for(var i = 0; i < imageList.length; i++){ 
			ul.append($("<li><span rel='"+i+"'/></li>"));
		}   			   
		ul.append($("<li class='right'/>"));
		$('span', ul).click(function() {           
							moveTo(parseInt($(this).attr('rel'), 10));
					});
		navigation = ul;  
		navi.append(ul);
		element.append(navi);
		
		play = $("<span class='play'/>");
		play.click(function() { playGallery(); });  
		element.append(play); 
	}
	createDescription();      
	if (imageList.length > 1){   
		createNavigation();
	} 		
	var _postInit = function() {
		this.imageWidth = 638;//this.image.down('li').getWidth();
		this.descriptionWidth = 650;//this.description.down('li').getWidth();
		this.navigationWidth = 32;//this.navigation.down('li:not([class~=left])').getWidth();
	}
	var moveTo = function(index) {       
		current = index;
		changePlayImage();
		
		moving(index);   
	}	
	var moving = function(index) {            
         image.animate({left:  - (index * 623)}, 300, function() {});
         description.animate({left: - (index * 635)}, 300, function() {});
         navigation.animate({left:  - (index * 32)}, 300, function() {});
	}	
	var playCallback = function(pe) {
		if (!periodicalInProgress) {
			interval = clearInterval(interval);
		} else {
			current++;
			if (current >= imageList.length) {
				periodicalInProgress = false;
				moveTo(0);
				interval = clearInterval(interval);
			} else {
				moveTo(current);
			}
		}
	}
	var changePlayImage = function() {
		if (periodicalInProgress)
			play.css("backgroundImage", "url(/images/i-entryGalleryPause.png)");
		else
			play.css("backgroundImage", "url(/images/i-entryGalleryPlay.png)");    
	}
	var playGallery = function() {                   
		if (periodicalInProgress) {
			periodicalInProgress = false;
			interval = clearInterval(interval);
			changePlayImage();
		} else {
			periodicalInProgress = true;
			moveTo((current + 1 >= imageList.length) ? 0 : current + 1);
			interval = setInterval(playCallback, 2500)                                                 
		}
	}                      
}; 
/*****************VIDEO*********************/   
var NewVideoGallery = function(element){       
    	var periodicalInProgress = false;
		var interval = 0;  

		var element = $("#"+element);  		

		if (!element || $(".description", element).length>0) return;

		var current = 0;
	 	var video = $('.video ul', element);   
		var videoList = $('.video li', element);
		if (videoList.length < 1) return; 
		
		var description,                                       
		navigation,
		play;
		
		var external = element.hasClass("type_external_gallery");
    
	var createDescription = function(){
		var imgs = $('.video img', element);
		var desc = $("<div class='description'>");
		var ul = $("<ul>");
		for(var i = 0; i < imgs.length; i++){
			ul.append($("<li/>").html($(imgs[i]).attr("alt")));
		} 
		desc.append(ul);
		element.append(desc);
		description = ul;		
	}
	var createNavigation = function(){    
		var navi = $("<div class='navigation'><div class='inactive'></div><div class='active'></div></div>");
		var ul = $("<ul/>");
		ul.append($("<li class='left'/>"));
		for(var i = 0; i < videoList.length; i++){ 
			ul.append($("<li><span rel='"+i+"'/></li>"));
		}   			   
		ul.append($("<li class='right'/>"));
		$('span', ul).click(function() {           
							moveTo(parseInt($(this).attr('rel'), 10));
					});
		navigation = ul;  
		navi.append(ul);
		element.append(navi);
		
		play = $("<span class='play'/>");
		play.click(function() { playGallery(); });  
		element.append(play); 
	}          	
	var formatCode = function(){    
        videoList.each(function(){
         	var obj;
        	if($("object", $(this)).length > 0){
        		obj = $("object", $(this));
				obj.attr("wmode", "transparent")  
        	}
			if($("embed", $(this)).length > 0){
        		obj = $("embed", $(this));
				obj.attr("wmode", "transparent")  
        	}		
        });
	}    	
	createDescription();	
  	if (videoList.length > 1){
		createNavigation();
  	}     	
	if(external){
		formatCode();
	}    		
	var _postInit = function() {
		this.videoWidth = 638;//this.video.down('li').getWidth();
		this.descriptionWidth = 650;//this.description.down('li').getWidth();
		this.navigationWidth = 32;//this.navigation.down('li:not([class~=left])').getWidth();
	}
	var moveTo = function(index) {       
		current = index;
		changePlayVideo();
		
		moving(index);   
	}  	
	var moving = function(index) {            
         video.animate({left:  - (index * ((external)?635:623))}, 300, function() {});
         description.animate({left: - (index * 635)}, 300, function() {});
         navigation.animate({left:  - (index * 32)}, 300, function() {});
	}   	
	var playCallback = function(pe) {
		if (!periodicalInProgress) {
			interval = clearInterval(interval);
		} else {
			current++;
			if (current >= videoList.length) {
				periodicalInProgress = false;
				moveTo(0);
				interval = clearInterval(interval);
			} else {
				moveTo(current);
			}
		}
	}
	var changePlayVideo = function() {
		if (periodicalInProgress)
			play.css("backgroundImage", "url(/images/i-entryGalleryPause.png)");
		else
			play.css("backgroundImage", "url(/images/i-entryGalleryPlay.png)");    
	}
	var playGallery = function() {        
		moveTo((current + 1 >= videoList.length) ? 0 : current + 1);
		return;           
		if (periodicalInProgress) {
			periodicalInProgress = false;
			interval = clearInterval(interval);
			changePlayVideo();
		} else {
			periodicalInProgress = true;
			moveTo((current + 1 >= videoList.length) ? 0 : current + 1);
			interval = setInterval(playCallback, 2500)                                                 
		}
	}                    
};     
/****************AUDIO**********************/ 
var NewAudioGallery = function(element){ 

		var element = $("#"+element);  		

		if (!element) return;
		
		var items = $("li", element);   
		
		var setStyle = function(){     
				items.each(function(index) {
			    		var name = $("<div/>");
						var span = $("<span/>")
						span.html($(this).html());

						var audioPlayBtn = $("<a class='audioPlayBtn' title='Добавить в плейлист'/>");
						audioPlayBtn.click(function() {          
						   	addTrackToPlayer($(this));
						});  
						name.append(span);            
						$(this).html("");            
						$(this).append(audioPlayBtn); 							
						$(this).append(name);	
			  });			
		}()	 
		var addTrackToPlayer = function(el){  
			var el = el.parent();
			var o = {id: el.attr("id"), name: el.text(), url: el.attr("file")};   
		   	El_objects.myPlayList.addTrackToPlaylist(o);
		} 
};
