slider = function(elm){
	
	var c = 1;
	var ct = 1;
	var tp = 'fade';
	var con = 'auto';
	var drct = 'fw';
	var dur  = 700;
	var shuffle = false;
	var id = elm;
	var wrap = $('#'+id+'');
	var w = wrap.width();
	
	// => CREATE A WRAPPER FOR ALL SLIDES
	var silderLoader =  document.createElement("DIV");
	silderLoader.setAttribute('id', ''+id+'_loader');	
	$('#'+id+'').prepend(silderLoader);
	var ldr = $('#'+id+'_loader');
	var slidesWrp = document.createElement("DIV");
	slidesWrp.setAttribute('id', 'slider_'+id+'');
	var wrpWrp = document.createElement("DIV");
	wrpWrp.setAttribute('id', 'wrap_'+id+'');
	var slides = $('[class=slides]');slides.wrapAll(slidesWrp);
	var slider = $('#slider_'+id+'');
	slider.wrap(wrpWrp);
	var sliderWrp = $('#wrap_'+id+'');
	
	
	// => CREATE EACH SLIDE ELEMENT
	slides.each(function(){
	var s = 1;
	$(this).attr('id'+'_'+(s++));
	var sldsContent = document.createElement("DIV");
	sldsContent.setAttribute('id', slider.attr('id')+'_Content_'+(ct++));
	sldsContent.setAttribute('class', 'sliderContent');
	$(this).children().wrapAll(sldsContent);
	});	
		
	// => CREATE ELEMENTS FOR MAIN MENU
	var menuCom =  document.createElement("DIV");
	menuCom.setAttribute('id', ''+id+'_menu_Con');
	sliderWrp.prepend(menuCom);
	var menu = $('#'+id+'_menu_Con');	
	var menuPage =  document.createElement("DIV");
	menuPage.setAttribute('id', ''+menu.attr('id')+'_page');
	var silderSttings =  document.createElement("DIV");
	silderSttings.setAttribute('id', ''+id+'_sttngs');
	var sttngsMenu =  document.createElement("DIV");
	sttngsMenu.setAttribute('id', ''+id+'_sttngs_inner');
	var silderInfo =  document.createElement("DIV");
	silderInfo.setAttribute('id', ''+id+'_info');	
	var linkPanel =  document.createElement("DIV");
	linkPanel.setAttribute('id', ''+id+'_links');
		
	// => ARROWS / LEFT AND RIGHT BUTTON		
	var arrowLeft =  document.createElement("DIV");
	arrowLeft.setAttribute('id', ''+id+'_arrow_left');
	arrowLeft.setAttribute('class', 'arrows');
	arrowLeft.setAttribute('title', 'Previous slide');	
	var arrowRight =  document.createElement("DIV");
	arrowRight.setAttribute('id', ''+id+'_arrow_right');
	arrowRight.setAttribute('class', 'arrows');
	arrowRight.setAttribute('title', 'Next slide');	
	var silderMssg =  document.createElement("DIV");
	silderMssg.setAttribute('id', ''+id+'_message');
	
	// => CREATE THE MAIN MENU
	menu.prepend(arrowLeft,arrowRight,silderInfo,silderSttings,linkPanel,menuPage, silderMssg);
	
	var mssg = $('#'+id+'_message');
	var leftArrow   = $('#'+id+'_arrow_left');
	var rightArrow  = $('#'+id+'_arrow_right');
	var infoPanel   = $('#'+id+'_info');
	var settingsBtn = $('#'+id+'_sttngs');
	var lnkPanel    = $('#'+id+'_links');
	var crntPage    = $('#'+menu.attr('id')+'_page');
	
	
	settingsBtn.prepend(sttngsMenu);
	var sttngsMenu = $('#'+id+'_sttngs_inner');
	var slideBtn = document.createElement("SPAN");
	slideBtn.setAttribute('id', sttngsMenu.attr('id')+'_link_slide');		
	var playBtn = document.createElement("SPAN");
	playBtn.setAttribute('id', sttngsMenu.attr('id')+'_link_play');
	var shuffleBtn = document.createElement("SPAN");
	shuffleBtn.setAttribute('id', sttngsMenu.attr('id')+'_link_shuffle');	
	sttngsMenu.prepend(slideBtn, shuffleBtn, playBtn);	
	var btnSlide = $('#'+sttngsMenu.attr('id')+'_link_slide');
	var btnPlay  = $('#'+sttngsMenu.attr('id')+'_link_play');
	var btnShuffle  = $('#'+sttngsMenu.attr('id')+'_link_shuffle');	
	btnShuffle.html('<img src="imgs/icons/shuffle.png" title="Shuffle"/>');
	sttngsMenu.find('span').css({'text-decoration':'none', 'color':'#999','margin-right':'10px'});
	sttngsMenu.find('span:last-child').css({'margin-right':'0px'});
	
	
	
	for(var l=0;l < slides.length;l++){
	lnkPanel.append('<a href="#" id="'+lnkPanel.attr('id')+'_lnk" class="sld_lnk" rel="'+(l+1)+'">'+(l+1)+'</a>');
	}
	
	stl = function(){
		
	ldr.css({
		'position':'absolute',
		'width':ldr.parent().width(),'height':ldr.parent().height() - 51,
		'background':'url(imgs/icons/103.gif) 50% 60% no-repeat','background-color':'#000','z-index':'105',opacity:0.8,'display':'none'
	});
	
	sliderWrp.css({
	'position':'absolute',
	'width':sliderWrp.parent().width(),'height':sliderWrp.parent().height(),'overflow':'hidden'
	});
	
	slides.css({
		'width': w, 'height':slider.parent().height(),'float':'left'
	});
	
	slider.css({
		'position':'absolute',
		'width':(slides.width() * slides.length),'height':slider.parent().height(),'overflow':'hidden'
	});
		
	menu.css({
		'position':'absolute',
		'bottom':'0','height':'50px','display':'none',
		'width':w,'border-top':'1px solid #333','background':'#000',opacity:0.85,'z-index':'100'
	});
	
	mssg.css({
		'position':'absolute',
		'width':'150px','left':'50%','top':'1px',
		'color':'#666','padding':'5px','margin-left':'-80px','text-align':'center','font-size':'30px',
		'font-weight':'bold','z-index':'0','background-color':'#000',opacity:0.85,'display':'none'
	});
	
	crntPage.css({
		'position':'absolute',
		'width':'150px','left':'50%','top':'9px','color':'#FFF','margin-left':'-75px',
		'text-align':'center','font-size':'30px','font-weight':'bold',opacity:0.2})
	.html(1);
	
	leftArrow.css({
		'position':'absolute','z-index':'999',
		'top':'15px','right':'55px','display':'none'})
	.html('<img src="imgs/icons/arrow_left.png"/>');
	
	rightArrow.css({
		'position':'absolute','z-index':'999',
		'top':'15px','right':'20px'})
	.html('<img src="imgs/icons/arrow_right.png"/>');
		
	infoPanel.css({
		'position':'absolute',
		'left':'0px','border-right':'1px solid #333','padding':'18px 10px','color':'#666'
	});
	
	settingsBtn.css({
		'position':'absolute',
		'right':'100px','border-left':'1px solid #333','border-right':'1px solid #333',
		'padding':'17px 15px'})
	.prepend('<img src="imgs/icons/gear.png" title="settingsBtn"/>');
		
	
	sttngsMenu.css({
		'position':'absolute',
		'top':'0px','width':'70px','right':settingsBtn.width(),'border-left':'1px solid #333',
		'padding':'17px 20px','text-align':'center','border-bottom':'none','background':'#000','display':'none'
	});	
		
	lnkPanel.css({
		'position':'absolute',
		'top':'0px','left':infoPanel.width(),'border-right':'1px solid #333',
		'padding':'17px 20px','text-align':'center','border-bottom':'none','background':'#000','display':'none'
	});	
		
	lnkPanel.find('a').css({
		'display':'block',
		'float':'left','color':'#666','margin-right':'2px',
		'text-decoration':'none','border':'1px solid #000','padding':'1px 3px','font-weight':'bold'
	});	
		
	}();
	
	// SHOW SLIDE INFO
	showInfo = function(c){
	infoPanel.html('Slide '+c+' of '+slides.length)
	}
	
	// SHOW / HIDE ARROWS 
	showArrows = function(){
		if(c == 1){
		leftArrow.hide();drct = 'fw';}else{leftArrow.show();	
			}
		if(c >= slides.length){
		c = slides.length;
		rightArrow.hide();drct = 'rw';}else{rightArrow.show();	
		}
	}
	
	// => HIGHLIGHT CURRENT LINK
	crntLnk = function(){
		$('[class=sld_lnk]').each(function(){
		if (c == $(this).attr('rel')){
		$('[class=sld_lnk]').css({'background':'none', 'border':'1px solid #000','color':'#666'})
		$(this).css({'background':'#202833', 'border':'1px solid #333','color':'#ccc'});
			};
		});
	}
	
	// => TRACK INFORMATION
	slideInfo = function(){
		showArrows();
		sttngsMenuFnc();
		crntPage.html((c));
		showInfo((c));
		crntLnk();	
	}
	
	// CHANGE SLIDES FOWARD BY 1
	changeFoward = function(c){
		$('#'+slider.attr('id')+'_Content_'+(c-1)).fadeOut(dur, function(){
			slider.animate({'left':'-'+(w*(c-1))}, 0, function(){
			$('#'+slider.attr('id')+'_Content_'+(c)).fadeIn(250);
			});	
		});slideInfo();
	};
	
	// CHANGE SLIDES BACKWARD BY 1
	changeBackward = function(c){
		$('#'+slider.attr('id')+'_Content_'+(c+1)).fadeOut(dur, function(){
		slider.animate({'left':'-'+(w*(c++))}, 0, function(){
		$('#'+slider.attr('id')+'_Content_'+(c)).fadeIn(dur/2	);
			});
		});slideInfo();c--;
	};
	
	// CHANGE SLIDES FOWARD
	slideFoward = function(){
		$('#'+slider.attr('id')+'_Content_'+(c-1)).show(0, function(){
		slider.animate({'left':'-'+(w*(c-1))}, dur, function(){
		$('#'+slider.attr('id')+'_Content_'+(c)).show(0);
			});
		});slideInfo();
	};
	
	// CHANGE SLIDES BACKWARD
	slideBackward = function(){
		$('[class=sliderContent]').show(0);
		slider.animate({'left':'-'+(w*(c-1))}, dur);
		sttngsMenuFnc();slideInfo(); 
	};
	
	// CHANGE SLIDES BY ID
	changeByLink = function(r){
		ldr.fadeIn(200);
		$('#'+slider.attr('id')+'_Content_'+(r)).fadeOut(dur, function(){
		slider.animate({'left':'-'+(w*(r-1))}, 0, function(){ldr.fadeOut(100);
		$('#'+slider.attr('id')+'_Content_'+(r)).fadeIn(dur);
			});	
		});c=r;f=r;slideInfo();
	}
	
	// PAUSE AND PLAY METHOD
	sttngsMenuFnc = function(){
		switch(con){
		case 'auto':btnPlay.html('<img src="imgs/icons/pause.png" title="Pause"/>');break;
		case 'pause':btnPlay.html('<img src="imgs/icons/play.png" title="Play"/>');break;}
		switch(tp){
		case 'fade':btnSlide.html('<img src="imgs/icons/slide.png" title="Slide effect"/>');break;
		case 'slide':btnSlide.html('<img src="imgs/icons/camera.png" title="Snap effect"/>');break;
		}
	}
	
	// SELECT SLIDE FX
	slideFx = function(){c = c;
		tp = 'slide';mssgFnc("Slide fx");
		$(this).html('<img src="imgs/icons/camera.png" title="Fade effect"/>');
		slider.animate({'left':'-'+(w*(c-1))}, 500);
		$('[class=sliderContent]').show();
		$('#'+slider.attr('id')+'_Content_1').show();slideInfo();
	}
	
	// SELECT FADE FX
	fadeFx =function(){c = c;
		tp = 'fade';mssgFnc("Snap fx");
		$(this).html('<img src="imgs/icons/slide.png" title="Slide effect"/>');
		$('[class=sliderContent]').fadeOut(500, function(){	
		$('#'+slider.attr('id')+'_Content_'+c).fadeIn(1000);
		slideInfo();ldr.fadeOut(200);})
	}
	
	mssgFnc = function(arrg){
		mssg.html(arrg).fadeIn(300);
		setTimeout(function(){mssg.fadeOut(1500)}, 1500);
	}
	
	shuffleFx = function(){
		switch(shuffle){
		case true:shuffle = false;
		mssgFnc("Shuffle off");
		btnShuffle.html('<img src="imgs/icons/shuffle.png" title="Shuffle"/>');break;
		case false:shuffle = true;
		mssgFnc("Shuffle fx");
		btnShuffle.html('<img src="imgs/icons/shuffle_ac.png" title="Shuffle"/>');break;
		}
	}
	
	// => PLAY PAUSE BUTTON
	pausePlayMssg = function(){
		if (con == 'pause'){mssgFnc("| |");
		}else{mssgFnc("Play");}
	}
	
	// => AUTO RUN 
	autimate = function(){
		
		var cycle = 5000;
		var hld  = (cycle * 2)
		
		setInterval(function(){
		
		if (con == "pause") {return false;}
		
		if(shuffle == true){
		var shfl = Math.floor(Math.random() * slides.length - 1);
		if (shfl <= 1) {shfl = 1;
		}c = shfl;}else{c = c;}
		
		if(c == 1){cycle = hld;}
		if (drct == 'fw') {
		if(shuffle != true){c++;}
		if (tp == 'fade'){changeFoward(c);
		}else{slideFoward(c);}}
			
		if(c == slides.length - 1){cycle = hld;}	
		if (drct == 'rw') {
		if (tp == 'fade'){changeBackward(c);
		}else{slideBackward(c);}if(shuffle != true){c--;}}	
		}, cycle);
	}
	
	// GET AND SET CONDITION
	evnts = function(){
		
		
		sttngsMenuFnc();
		
		infoPanel.html('Slide 1 of '+slides.length);
		
		menu.fadeIn(300);
		
		// SHOW MENU
		//slider.parent().hover(function(){
		//menu.fadeIn(300)}, function(){menu.fadeOut(150)});
		
		// SHOW FIRST ELEMNET
		$('[class=sliderContent]').hide();
		$('#'+slider.attr('id')+'_Content_1').fadeIn(2000);
		
		// WHEN ARROW HOVER
		$('[class=arrows]').hover(function(){	
		$(this).css({'cursor':'pointer'});
		});
		
		// SLIDE EFFECT
		btnSlide.click(function(){
		if (tp == 'fade'){slideFx();}else{fadeFx();
			}return tp;
		});
		
		btnShuffle.click(function(){
			shuffleFx();
		});
		
		// => play or pause animation
		btnPlay.click(function(){
			switch(con){
			case 'pause':con = 'auto';
			sttngsMenuFnc();pausePlayMssg();break;
			case 'auto':con = 'pause';
			sttngsMenuFnc();pausePlayMssg();break;
			}return con;	
		});
		
		// RIGHT ARROW EVENT
		rightArrow.click(function(){
		con = 'pause';c++;
			if(tp == 'slide'){
			slideFoward();
			}else{changeFoward(c);}
			drct == 'fw';
		});
		
		// RIGHT ARROW EVENT
		leftArrow.click(function(){
		con = 'pause';c--;
			if (tp == 'slide') {
			slideBackward();		
			}else{changeBackward(c);}
			drct == 'rw';		
		});
		
		//
		settingsBtn.hover(function(){
		sttngsMenu.show();	
		}, function(){sttngsMenu.hide()});
		
		//
		infoPanel.hover(function(){
		$(this).css({'cursor':'pointer'});
		lnkPanel.show()},
		function(){lnkPanel.hide()}
		);
		
		//
		lnkPanel.hover(function(){$(this).show()},
		function(){lnkPanel.hide()});
		
		// CHANGE BY LINK EVENT
		$('[class=sld_lnk]').click(function(){
			con = 'pause';
			changeByLink($(this).attr('rel'));
			return false;
		});
		
		autimate();
		
	}();
	
	if(wrap.width() <= 800){
		infoPanel.hide();
		lnkPanel.hide();
		mssg.hide();
		settingsBtn.hide();
		leftArrow.css({'left':'20px','display':'none'})
	}
	
}

