(function($) { $.fn.sliderv = function(settings, callback) { //Set widget object to variable to provide access in child methods var slider = this; var window_width; var margin_size; var slider_start; var slider_obj_width; var current_slide = 1; var discription; var _slides = 'new'; var test = 'test'; var slides_position = new Array(); settings = jQuery.extend({ transitionlength: '1000', update_transitionlength: '600' },settings); if(callback == 'none'){ _initialize(); } else { _update(callback); } function _initialize(){ //Hide current list item slider.hide(); //setup objects in array discription = slider.children('#slider_discription').html(); //console.log(discription); //alert('setup slides'); _slides = slider.children("ul"); //console.log('slides s: ' + _slides.html()); //Write HTML for slider _write_html(); _setup(); } function _setup(){ //console.log('_setup called'); //Make first image show as selected $('#nav1').children('.bg_color').show(); //Populate discription with first slide show_slide_discription(1); set_slider_position(); $(window).resize(function() { set_slider_position(); }); $('.slider_nav_box').bind('mouseenter',function() { roll_over_nav($(this)); }); fade_in_slider(); } function _update(update){ //fade_out_slider(); //console.log('update: ' + update.html()); //alert(_slides); _slides = update.find("ul"); discription = update.find('#slider_discription').html(); set_slider_position(false); //console.log('slides u: ' + _slides.html()); num_obj = $('#slider div.slider_picture_obj').length; num_obj = 3; //console.log('num_obj'); //console.log(num_obj); //console.log('slider Position'); //console.log(slides_position); //alert(_slides.html()); //alert(settings.update_transitionlength); //$('#slider').fadeOut(settings.update_transitionlength); unit_width = $('#pic1').outerWidth(true); unit_margin = $('#pic1').css('marginLeft'); //unit_margin_right = $('#pic1').css('marginRight'); //console.log('unit_width'); //console.log(unit_width); //console.log('unit_margin_left'); //console.log(unit_margin_left); //console.log('unit_margin_right'); //console.log(unit_margin_right); current_left = $('#slider').offset(); //console.log('current_left'); //console.log(current_left.left); //console.log(unit_width * num_obj); new_left = current_left.left - (unit_width * num_obj); //console.log('new_left'); //console.log(new_left); $('#slider').css('left',new_left + 'px'); for(i=1; i <= num_obj; i++){ $('#slider').prepend('
'); } $('#slider_navigation_box').fadeOut(settings.update_transitionlength,function(){ }); //Slide out past //console.log('slides_position'); //console.log(slides_position[0]); //console.log('Tran Length: ' + settings.update_transitionlength); $('#slider').animate({ left: slides_position[0] + 'px' }, (settings.update_transitionlength * 2), 'easeInOutQuart', function() { // Animation complete. //Update Images for(i=1; i <= num_obj; i++){ $('#slider div.holder').detach(); } update_pictures(); //Update Nav & Discription update_navigation(); $('#slider_navigation_box').delay('1000').fadeIn(settings.update_transitionlength); }); $('.slider_nav_box').unbind('mouseenter'); $('.slider_nav_box').bind('mouseenter',function() { //alert(_slides.html()); roll_over_nav($(this)); }); } function roll_over_nav(obj){ if(obj.children('.bg_color').css('display') == 'none'){ $('.slider_nav_box .bg_color').stop(true,true).fadeOut('200'); obj.children('.bg_color').fadeIn('200'); //console.log('slides ro: ' + _slides.html()); //console.log('move: ' + obj.attr('id').substring(3)); move_image(obj.attr('id').substring(3)); } } function move_nav(obj){ $('.slider_nav_box .bg_color').hide(); obj.children('.bg_color').show(); reset_slider(); } function move_image(id){ //console.log('move: ' + id); //console.log(slides_position[id - 1]); $('#slider_navigation_desc_box').fadeOut(200,function(){ //console.log('fadeout done'); }); $('#slider').stop(true); $('#slider').animate({ //left: _slides.children('li').eq(id - 1).data('slide_position') + 'px' left: slides_position[id - 1] + 'px' }, 500, 'easeInOutQuart', function() { // Animation complete. //Fade in slide description current_slide = id; //console.log('slides m: ' + _slides.html()); show_slide_discription(id); //console.log('move image animation done'); }); } function reset_slider(){ //console.log('move: ' + id); //console.log(slides_position[id - 1]); $('#slider').stop(true); //console.log(slides_position); //console.log('slides_position[0]: ' + slides_position['0']); $('#slider').css('left', slides_position[0] + 'px'); } function show_slide_discription(id){ var _slides_loc = _slides; //console.log('slides d: ' + _slides_loc.html()); slide_description = ''; slide_description = _slides_loc.children('li').eq(id - 1).children('p').html(); //console.log(slide_description); $('#slider_navigation_desc_box').html('' + slide_description + '
'); //$('#slider_navigation_desc_box').stop(true); $('#slider_navigation_desc_box').fadeIn(200); //$('#slider_navigation_desc_box').show(); //$('#slider_navigation_desc_box').animate({'opacity': 1}, 500); } function reset_slde_discription(){ slide_description = _slides.children('li').eq(0).children('p').html(); $('#slider_navigation_desc_box').html('
' + slide_description + '
'); } function fade_in_slider(transition_overide) { if(transition_overide != null && transition_overide != ''){ transition_time = transition_overide; } else { transition_time = settings.transitionlength; } $('#slider').delay('1000').fadeIn(transition_overide); //$('#slider_navigation_desc_box').css('opacity',1); $('#slider_navigation_box').delay('1000').fadeIn(transition_overide); } function fade_out_slider() { $('#slider').fadeOut(settings.transitionlength); $('#slider_navigation_box').fadeOut(settings.transitionlength); } function set_slider_position(reset_position){ if(reset_position == null){ reset_position = true; } window_width = $(window).width(); if(window_width > 1000){ margin_size = Math.round((window_width - 990) * .1); $('.slider_picture_obj').css('margin','0px ' + margin_size + 'px'); } slider_obj_width = $('.slider_picture_obj:first').outerWidth(true); slider_start = (window_width / 2) - (slider_obj_width / 2) - slider_obj_width; //console.log('slides length: ' + _slides.children('li').length); for (i=1;i<=_slides.children('li').length;i++) { position = (window_width / 2) - (slider_obj_width / 2) - (slider_obj_width * i); //_slides.children('li').eq(i - 1).data('slide_position',position); pos = i - 1; slides_position[pos] = position; } //console.log(slides_position); //Set Slider Inital Position if(reset_position == true){ slider_start = slider_start - ((current_slide - 1) * slider_obj_width); $('#slider').css('left',slider_start); } } function _write_html(){ var exp = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*)/i; //$slider_div = $('