jQuery.fn.carousel = function(previous, next, options){
    var sliderList = jQuery(this).children()[0];

    if (sliderList) {
        var increment = jQuery(sliderList).children().outerWidth("true"),
            increment=294+10;
        elmnts = jQuery(sliderList).children(),
            numElmts = jQuery('.WSSSliderBlk').length,
            sizeFirstElmnt = increment,
            shownInViewport = Math.round(jQuery(this).width() / sizeFirstElmnt),
            firstElementOnViewPort = 1,
            isAnimating = false;

        var startOffsetfactor=0;//0.5;

        for (i = 0; i < shownInViewport; i++) {
            //jQuery(sliderList).css('width',(numElmts+shownInViewport)*increment + increment + "px");
            //jQuery(sliderList).append(jQuery(elmnts[i]).clone());
        }

        //jQuery(sliderList).animate({
        //	left: "-=" + increment/2,
        //	y: 0,
        //	queue: true
        //}, "swing", function(){
        //	isAnimating = false;
        //});
        jQuery('.WSSSliderBlk').each(function(i){
                //$( this ).css('left',0);
                this.style.left=(i-startOffsetfactor)*increment+'px';
                //this.style.top='0px';
                $( this ).css('top','0px');
                $( this ).css('float','none');
                $( this ).css('position','absolute');
                //console.log('xxx:'+this.style.left);
                                if(parseInt(this.style.left)<100) {
                                    $(this).find('.buttonbox_dv').hide();
                                }
            });

        jQuery(previous).click(function(event){
                if (!isAnimating) {
                    if (firstElementOnViewPort == 1) {
                        jQuery(sliderList).css('left', "-" + numElmts * sizeFirstElmnt + "px");
                        firstElementOnViewPort = numElmts;
                    }
                    else {
                        firstElementOnViewPort--;
                    }

                    jQuery(sliderList).animate({
                            left: "+=" + increment,
                                y: 0,
                                queue: true
				}, "swing", function(){isAnimating = false;});
                    isAnimating = true;
                }

            });

        var CarouselNext=function(){
            if (!isAnimating) {
                //console.log('numElmts:'+numElmts);
                firstElementOnViewPort++;
                if (firstElementOnViewPort >= numElmts) {
                    firstElementOnViewPort = 0;
                    //jQuery(sliderList).css('left', "0px");
                }
                jQuery('.WSSSliderBlk').each(function(i){
                        var l="-=" + increment;
                        if(parseInt(this.style.left)<=-increment) {
                            l=(parseInt(this.style.left)+increment*(numElmts-1));
                            this.style.left=(l+increment)+'px';
                            //$(this).hide();
                        }
                        else {
                            //$(this).show();
                        }
                        var o=0.25;
                        //console.log('i:'+i);
                        //console.log('firstElementOnViewPort:'+firstElementOnViewPort);
                        if(i==firstElementOnViewPort) {
                            o=1;
                            //console.log('xxx:'+numElmts);
                        }
                        o=1;
                        $(this).animate({
                                left: l,
                                    opacity: o,
                                    y: 0,
                                    queue: true
                                    }, "swing", function(){
                                isAnimating = false;

                                if(parseInt(this.style.left)<=-increment) {
                                    //$(this).hide();
                                    l=(parseInt(this.style.left)+increment*(numElmts-1));
                                    this.style.left=(l+increment)+'px';
                                }
                                else {
                                    //$(this).show();
                                }
                                if(parseInt(this.style.left)<100) {
                                    $(this).find('.buttonbox_dv').hide();
                                }
                                else  {
                                    $(this).find('.buttonbox_dv').show();
                                }
                                //jQuery('.WSSSliderBlk').each(function(){
                                //	//$( this ).css('left',0);
                                //	console.log('xxx:'+this.style.left);
                                //	if(parseInt(this.style.left)<-increment) {
                                //		this.style.left=(parseInt(this.style.left)+increment*(numElmts-2))+'px';
                                //	}
                                //})
                            });
                    });
                isAnimating = true;
            }
        };
        jQuery(next).click(CarouselNext);
        //jQuery.doTimeout( 'carouselid', 3000, function(){
        //    console.log('eqswqegf');
        //  CarouselNext();
        //  return true;
        //});
        setInterval ( function(){
                CarouselNext();
            }, 10000 );

    }
};




jQuery(document).ready(function(){
    //jQuery(document).append('<a id="previous">Previous</a>');
    //jQuery(document).append('<a id="next">Next</a>');
    jQuery('#WSSSlideheader').carousel('#previous', '#next');

    // Fix WG menu
    var $amh_menu = $('#wMainAMHMenu');
    if ($amh_menu.size() > 0) {
        if ($('.accordion-menu').size() > 0) { // WebGUI accordion menu on
            $amh_menu.css('left', '160px');
            $('#wMainAMHMenuInner').css('padding-right', '160px');
        }
        else {
            $amh_menu.css('left', '0');
            $('#wMainAMHMenuInner').css('padding-right', '0');
        }
        if ($('#wMainMenu').size() > 0) { // Swifty on
            $amh_menu.css('top', '39px');
        }
    }

    if (typeof(amh_onLoad)=='function') { amh_onLoad(); }
});
