/*
*   dSlider
*/

$(document).ready(function(){
    
    // ----- get main box info
    var winWidth = jQuery('#dSlider').width();
    var itemNum = jQuery('#dSlider .item').size();
    var itemSplintSize = winWidth * itemNum;
    
    // ----- set itemSplint width
    jQuery('#dSlider .itemSplint').css({'width' : itemSplintSize});   
    
    // ----- draw pagination & mark first element
    drawPagination = function(){
        jQuery('#dSlider').prepend('<div class="pagination"></div>');
        for(var i=0;i<itemNum;i++){
            var paginNum = i+1;
            (i == 0)? addAtt='class="current"': addAtt="";
            jQuery('#dSlider .pagination').append('<a href="#" '+addAtt+'>'+paginNum+'</a>');
        }
    }
    
    // ---------- mark pagination element
    markPagination = function(paginItem){
        //remove all  classes from pagination
        jQuery('#dSlider .pagination a').removeClass('current');
        //add current class to specify element
        jQuery('#dSlider .pagination a').eq(paginItem).addClass('current');
    }
    
    // ---------- animation
    animation = function(){
        markPagination(currentItem);    //mark pagination element
        var itemSplintPosition =  currentItem * winWidth;
        jQuery('#dSlider .itemSplint').animate({
            left: -itemSplintPosition
        },600);
    }
    
    // ---------- rotate
    var currentItem = 1;    //destination for animation
    rotate = function(){
        play = setInterval(function(){
            if(itemNum >= 2){
                animation();    //play animation
                currentItem++;
                (currentItem >= itemNum)? currentItem=0 : currentItem=currentItem;  //reset to 0 when last item displayed
            }
        }, 7000);
    }
    
    // ---------- initialize dSlider
    rotate();
    (itemNum > 1)? drawPagination() : null; //draw pagination if more then 1 item element
    
    // ---------- behavior action ---------- //
    // stop animation when mouse is on item
    jQuery("#dSlider .item").hover(function(){clearInterval(play);},function(){rotate();});
    
    // on click
	jQuery(".pagination a").click(function() {	
		//reset rotator
        currentItem = jQuery(".pagination a").index(this); //clicked item
		clearInterval(play);  //stop the rotation
        animation();          //play animation
        rotate();             //trigger rotation
		return false;         //prevent browser jump to link anchor
	});
    
    
});
