
$(document).ready(function(){

        var timeOut     = 4000;
        var current     = null;
        var timeOutFn   = null;
        var mOver       = false;
        var faderStat   = true;
        var items       = $("#sliderContent .sliderImage");

        items.each(function(i) {

            $(items[i]).mouseover(function() {
               mOver = true;
            });

            $(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) {
                window.clearTimeout(timeOutFn);
                timeOutFn = window.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);
            if(faderStat == true) {
                if(!mOver) {
                    $(items[currNo]).fadeIn((timeOut/6), function() {
                        faderStat = false;
                        current = items[currNo];
                        if(!mOver) {
                            fadeElement(false);
                        }
                    });
                }
            } else {
                if(!mOver) {
                    $(items[currNo]).fadeOut((timeOut/6), function() {
                        faderStat = true;
                        current = items[(currNo+1)];
                        if(!mOver) {
                            fadeElement(false);
                        }
                    });
                }
            }
        }

        $('#rightControl').click(function() {
            current = (current != null) ? current : items[(items.length-1)];
            var currNo = jQuery.inArray(current, items) + 1;
            currNo = (currNo == items.length) ? 0 : (currNo - 1);
            if(!mOver) {
                $(items[currNo]).fadeOut((timeOut/6), function() {
                    faderStat = true;
                    current = items[(currNo+1)];
                    currNo = jQuery.inArray(current, items) + 1;
                    currNo = (currNo == items.length) ? 0 : (currNo - 1);
                    if(!mOver) {
                        $(items[currNo]).fadeIn((timeOut/6), function() {
                            faderStat = false;
                            current = items[currNo];
                            if(!mOver) {
                                window.clearTimeout(timeOutFn);
                                timeOutFn = window.setTimeout(makeSlider, timeOut);
                            }
                        });
                    }
                });
            }
        });

        $('#leftControl').click(function() {
            current = (current != null) ? current : items[(items.length-1)];
            var currNo = jQuery.inArray(current, items) + 1;
            currNo = (currNo == items.length) ? 0 : (currNo - 1);
            if(!mOver) {
                $(items[currNo]).fadeOut((timeOut/6), function() {
                    faderStat = true;
                    currNo = (currNo == 0) ? items.length-2 : currNo-1;
                    current = items[(currNo)];
                    if(!mOver) {
                        $(items[currNo]).fadeIn((timeOut/6), function() {
                            faderStat = false;
                            current = items[currNo];
                            if(!mOver) {
                                window.clearTimeout(timeOutFn);
                                timeOutFn = window.setTimeout(makeSlider, timeOut);
                            }
                        });
                    }
                });
            }
        });

        makeSlider();

});  