/* ------------------------------------------------------------------------
	s3Slider
	
	Developed By: Boban Karišik -> http://www.serie3.info/
        CSS Help: Mészáros Róbert -> http://www.perspectived.com/
	Version: 1.0
	
	Copyright: Feel free to redistribute the script/modify it, as
			   long as you leave my infos at the top.
	NoConflict mode added by Applied Imagination Media
	S4Slider variation developed by Applied Imagination Media
	WordPress compatibility developed by Applied Imagination Media  www.//aim-biz.com
------------------------------------------------------------------------- */

var $jq = jQuery.noConflict();

	
(function($jq){  

    $jq.fn.s4Slider = function(vars) {       
        
        var element     = this;
        var timeOut     = (vars.timeOut != undefined) ? vars.timeOut : 4000;
        var current     = null;
        var timeOutFn   = null;
        var faderStat   = true;
        var mOver       = false;
        var items       = $jq("#" + element[0].id + "Content ." + element[0].id + "Image");
        var itemsSpan   = $jq("#" + element[0].id + "Content ." + element[0].id + "Image span");
            
        items.each(function(i) {
    
            $jq(items[i]).mouseover(function() {
               mOver = true;
            });
            
            $jq(items[i]).mouseout(function() {
                mOver   = false;
                fadeElement(true);
            });
            
        });
        
        var fadeElement = function(isMouseOut) {
            var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut;
            thisTimeOut = (faderStat) ? 10 : thisTimeOut;
            if(items.length > 0) {
                timeOutFn = setTimeout(makeSlider, thisTimeOut);
            } else {
                console.log("Poof..");
            }
        }
        
        var makeSlider = function() {
            current = (current != null) ? current : items[(items.length-1)];
            var currNo      = jQuery.inArray(current, items) + 1
            currNo = (currNo == items.length) ? 0 : (currNo - 1);
            var newMargin   = $jq(element).width() * currNo;
            if(faderStat == true) {
                if(!mOver) {
                    $jq(items[currNo]).fadeIn((timeOut/6), function() {
                        if($jq(itemsSpan[currNo]).css('bottom') == 0) {
                            $jq(itemsSpan[currNo]).slideUp((timeOut/6), function() {
                                faderStat = false;
                                current = items[currNo];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        } else {
                            $jq(itemsSpan[currNo]).slideDown((timeOut/6), function() {
                                faderStat = false;
                                current = items[currNo];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        }
                    });
                }
            } else {
                if(!mOver) {
                    if($jq(itemsSpan[currNo]).css('bottom') == 0) {
                        $jq(itemsSpan[currNo]).slideDown((timeOut/6), function() {
                            $jq(items[currNo]).fadeOut((timeOut/6), function() {
                                faderStat = true;
                                current = items[(currNo+1)];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        });
                    } else {
                        $jq(itemsSpan[currNo]).slideUp((timeOut/6), function() {
                        $jq(items[currNo]).fadeOut((timeOut/6), function() {
                                faderStat = true;
                                current = items[(currNo+1)];
                                if(!mOver) {
                                    fadeElement(false);
                                }
                            });
                        });
                    }
                }
            }
        }
        
        makeSlider();

    };  

	
})(jQuery);  


