// JavaScript Document
/**

**/
var dia_img_w = 0;
var dia_img_h = 0;
(function($) {
   	$.fn.diashow = function( target, duration, settings ){
		
		if($(this).html() == ''){
			this.h = $(this).css('height');
			this.max_pos = eval($(this).attr('count'));
			obj = $(this);
			html = '';
			html+= '<div class="dia1"></div>';
			html+= '<div class="dia2"></div>';
			html+= '<div class="loader"></div>';
			html+= '<div class="nav-prev"></div>';
			html+= '<div class="nav-close"></div>';
			html+= '<div class="nav-next"></div>';
			//html+= '<table class="img-nav"><tr><td class="nav-prev"><div></div></td><td class="nav-close"><div></div></td><td class="nav-next"><div></div></td></tr></table>';
			$(this).html(html)	;
			obj.find('.img-nav').find('td').find('div').hide();
			$(this).attr('pos',0);
			$(this).attr('mode','play');	
			
			obj.find('.nav-next').bind('click', function(e) {
				e.stopPropagation();
				obj.dianext();
			})	
			obj.find('.nav-prev').bind('click', function(e) {
				e.stopPropagation();
				obj.diaprev();
			})
			obj.find('.nav-close').bind('click', function(e) {
				e.stopPropagation();
				document.location.href='#'+nav_pos;
			})
			obj.find('.img-nav').find('td').bind('mouseover', function(e) {
				//e.stopPropagation();
				$(this).find('div').show();													   
			})
			obj.find('.img-nav').find('td').bind('mouseout', function(e) {
				//e.stopPropagation();
				$(this).find('div').hide();													   
			})
			//obj.find('.img-nav').find('div').bind('mouseenter', function(e) {
			//	e.stopPropagation();										   
			//})
			
			return this;
		}else{
			return false;	
		}
	}
	
	$.fn.diaplay = function(){
		var obj = $(this);
		
		mode = $(this).attr('mode')
		pos = eval($(this).attr('pos'));
		speed = eval($(this).attr('speed'));
		if(speed){
			speed = speed*1000;
		}else{
			speed = 3000;	
		}
		loop = $(this).attr('loop');
		
		if(mode == 'play'){
			obj.find('.follower').html('stop');
			pos++;
			max_pos = eval($(this).attr('count'));
			
			if(pos > max_pos){
				if(loop=='show'){
					
					obj.diastop();
					setNav('show','',1); // special imd show loop
					return this;
					
				}else{
					pos = 1; // normal llop	
				}
			}
			window.clearTimeout(obj.timers);
			obj.timers = window.setTimeout(function(){obj.diaplay()},speed);
			$(this).attr('pos',pos)
			obj.diago();
			
		}
		return this;
	}
	$.fn.diainit = function(dia_num,mode){
		obj = $(this);
		this.dia_num = dia_num;
		this.mode = mode;
		if(!this.dia_num){
			this.dia_num = 1	;
		}
		$(this).attr('pos',this.dia_num)
		if(this.mode){
			$(this).attr('mode',this.mode);	
		}
		this.mode = $(this).attr('mode');
		if(this.mode == 'play'){
			obj.diaplay();
		}else if(this.dia_num != 1){
			obj.diagoto(dia_num,'');
		}
	}
	$.fn.diastop = function(){
		$(this).attr('mode','stop')
		$(this).find('.follower').html('play');
	}
	$.fn.diastart = function(){
		obj = $(this);
		$(this).attr('mode','play');
		$(this).find('.follower').html('stop');
		speed = eval($(this).attr('speed'));
		id = $(this).attr('id');
		
		obj.diaplay();
	}
	$.fn.diagoto = function(n,transition){
		var obj = $(this);
		$(this).attr('pos',n);
		obj.diastop();
		obj.diago(transition);
		
	}
	$.fn.dianext = function(){
		obj = $(this);
		pos = eval($(this).attr('pos'));
		pos ++;
		max_pos = eval($(this).attr('count'));
		if(pos > max_pos){
			pos = 1;	
		}
		obj.diagoto(pos,'streight');
	}
	$.fn.diaprev = function(){
		obj = $(this);
		pos = eval($(this).attr('pos'));
		pos --;
		if(pos < 1){
			pos = 1;	
		}
		obj.diagoto(pos,'streight');
	}
	$.fn.diago = function(transition){
		var obj = $(this);
		var tm = '';
		id = $(this).attr('id');
		
		this.imgs = $(this).attr('imgs');
		this.cred = $(this).attr('credits');
		this.imgs = this.imgs.split(';');
		this.cred = this.cred.split(';')
		
		this.pos = eval($(this).attr('pos'));
		this.max_pos = eval($(this).attr('count'));
		if(!transition){
			transition = $(this).attr('transition');
		}
		if(!transition){
			transition = 'fade';	
		}
		if(transition == 'fade'){
			transition_speed = 500;	
		}else{
			transition_speed = 10;	
		}
		transition_speed = 200;
		if(this.max_pos  > 1){
			cl = 'pointer';	
		}else{
			cl = '';	
		}
		
		if(this.pos == 1){
			$('.nav-prev').hide();	
		}else{
			$('.nav-prev').show();
		}
		
		if(this.pos == this.max_pos){
			$('.nav-next').hide();	
		}else{
			$('.nav-next').show();
		}
		
		obj.loader = this.find('.loader');
		obj.loader.show();
		obj.loader.width(1);
		obj.tm = window.setTimeout(obj.progress, 200);
		
		this.new_img = '<img class="'+cl+' front" src="'+media_folder+'upload/'+this.imgs[this.pos-1]+'">';
		
		$('.imgtitle').html(this.pos+'/'+this.max_pos+' '+this.cred[this.pos-1]);	
		
		obj.dia1 = this.find('.dia1');
		obj.dia2 = this.find('.dia2');
		
		
		obj.dia1.html(obj.dia2.html());
		obj.dia1.find('img').removeClass('front');
		obj.dia2.hide();
		obj.dia2.html(this.new_img);
		obj.front = this.find('.front');
		
		
		obj.front.bind('load', function(e) {
			
			obj.loader.hide();
			$('#imgs-text').fadeIn(transition_speed);
			
			obj.dia2.width(dia_img_w);
			obj.dia2.height(dia_img_h);
					
			obj.dia2.fadeIn(transition_speed,function(){
				dia_img_w = obj.front.width();
				dia_img_h = obj.front.height();
			
				$('#imgs-text').css('top',(obj.front.height())+'px');	
				
				obj.find('.nav-prev').css('width',((obj.front.width()/3)+24)+'px');
				obj.find('.nav-close').css('width',(obj.front.width()/3)+'px');	
				obj.find('.nav-next').css('width',((obj.front.width()/3)+24)+'px');	
				
				obj.find('.nav-prev').css('height',(obj.front.height())+'px');
				obj.find('.nav-close').css('height',(obj.front.height())+'px');	
				obj.find('.nav-next').css('height',(obj.front.height())+'px');
				
				obj.find('.nav-prev').css('left','-24px');	
				obj.find('.nav-close').css('left',(obj.front.width()/3)+'px');	
				obj.find('.nav-next').css('left',(obj.front.width()/3*2)+'px');	
				
			});
			
		});
		
		return this;
	
	}
	
	$.fn.progress = function(){
		
		var obj = $(this);
		$('.loader').width($('.loader').width()+1);
		window.setTimeout(obj.progress,100);
		
	}
	
	$.fn.playstop = function(){
		var obj = $(this);
		mode = obj.attr('mode');
		if(mode == 'play'){
			obj.diastop();
		}else{
			obj.diastart();
		}
		obj.find('.follower').fadeOut(10);	
	}

})(jQuery);

