var MYJQUERY = {};
MYJQUERY = jQuery.noConflict(true);


var my_custom_ui = {

    Toggle: function () {
        var default_hide = {
            "grid": true,
            "cb-205-inner": true,
            "cb-135-inner": true,
            "cb-139-inner": true,
            "cb-134-inner": true,
            "cb-130-inner": true,
            "cb-129-inner": true,
        };

	MYJQUERY.each(["cb-205-inner", "cb-135-inner", "cb-139-inner", "cb-134-inner", "cb-130-inner", "cb-129-inner", "grid", "list-items", "section-menu", "accordion"],

        function () {
            var el = MYJQUERY("#" + (this == 'accordon' ? 'accordion-block' : this));
            if (default_hide[this]) {
                el.hide();
                MYJQUERY("[id='toggle-" + this + "']").addClass("hidden");
            }
            MYJQUERY("[id='toggle-" + this + "']").bind("click", function (e) {
                if (MYJQUERY(this).hasClass('hidden')) {
                    MYJQUERY(this).removeClass('hidden').addClass('visible');
                    el.slideDown();
                } else {
                    MYJQUERY(this).removeClass('visible').addClass('hidden');
                    el.slideUp();
                }
                e.preventDefault();
            });
        });
    },

    SectionMenu: function () {
        MYJQUERY("#section-menu").accordion({
            "header": "a.menuitem"
        }).bind("accordionchangestart", function (e, data) {
            data.newHeader.next().andSelf().addClass("current");
            data.oldHeader.next().andSelf().removeClass("current");
        }).find("a.menuitem:first").addClass("current").next().addClass("current");
    },

    Accordion: function () {
        MYJQUERY("#accordion").accordion({
            'header': "h3",
            'collapsible': "true",
            'active': "false",
            'clearStyle': "true"
        }).bind("accordionchangestart", function (e, data) {

        }).find("h3.atStart:first").css({
            "background": "#fff"
        });
    }

}


MYJQUERY(function (MYJQUERY) {
    if (MYJQUERY("#accordion").length) {
        my_custom_ui.Accordion();
    }
    if (MYJQUERY("[id^='toggle']").length) {
        my_custom_ui.Toggle();
    }
    if (MYJQUERY("#section-menu").length) {
        my_custom_ui.SectionMenu();
    }
});


MYJQUERY(document).ready(function() {
    MYJQUERY.fn.divSlideShow = function (customOptions) {
        //default options
        var options = {
            width: 200,
            height: 100,
            arrow: "begin",
            delay: 5000,
            loop: 1,
            leftArrowClass: "ui-icon ui-icon-circle-triangle-w",
            rightArrowClass: "ui-icon ui-icon-circle-triangle-e",
            innerClass: "",
            controlClass: "ui-state-default ui-corner-all",
            controlActiveClass: "ui-state-hover",
            separatorClass: ""
        };
        
        //override options
        if (customOptions) MYJQUERY.extend(options, customOptions);

        //limit loop amount
        if (options.loop > 30) options.loop = 30;
        return this.each(function () {
            //make slideshow
            MYJQUERY.divSlideShow(this, options);
        });
    };

    MYJQUERY.divSlideShow = function (slideShow, options) {
        var numSlide = MYJQUERY(slideShow).children('.slide').length;
        MYJQUERY(slideShow).css({
            'width': options.width,
            'overflow': 'hidden'
        });

        //wrap all slides with inner conatiner
        MYJQUERY(slideShow).children('.slide').wrapAll('<div class="dssInner" page=0 max=' + numSlide + '"><\/div>').css({
            'float': 'left',
            'width': options.width,
            'height': options.height,
            'overflow-y': 'auto',
            'visibility': 'visible'
        });

        //add controls
        var controlStyle = ' style="float:left;position:relative;left:110px;text-align:center;height:16px;width:16px;font-size:13px;cursor:pointer;font-family:Arial;" ';
        var leftArrow = '<div class="dssControl" direction=-1' + controlStyle + '><span class="' + options.leftArrowClass + '">&lt<\/span></<div>';
        var rightArrow = '<div class="dssControl" direction=1' + controlStyle + '><span class="' + options.rightArrowClass + '">&gt;<\/span></<div>';
        MYJQUERY(slideShow).append('<div class="dssSeparator">portfolio<\/div>').find('.dssSeparator').addClass(options.separatorClass);

        if (options.arrow == "begin") {
            MYJQUERY(slideShow).append(leftArrow);
            MYJQUERY(slideShow).append(rightArrow);
        }
        if (options.arrow == "split") MYJQUERY(slideShow).append(leftArrow);

        for (var i = 0; i < numSlide; i++) //number buttons
        MYJQUERY(slideShow).append('<div class="dssControl" page=' + i + controlStyle + '>' + (i + 1) + '<div>');

        if (options.arrow == "split") MYJQUERY(slideShow).append(rightArrow);
        
        if (options.arrow == "end") {
            MYJQUERY(slideShow).append(leftArrow);
            MYJQUERY(slideShow).append(rightArrow);
        }

        //styles for inner container and controls
        MYJQUERY(slideShow).find('.dssInner').css({
            'width': options.width * numSlide,
            'height': options.height,
            'overflow': 'hidden'
        }).addClass(options.innerClass);
        
        MYJQUERY(slideShow).find('.dssControl').addClass(options.controlClass);

        //auto-slide: queue a sequence of animation with delay
        for (i = 1; i < Math.floor(numSlide * options.loop); i++) {
            MYJQUERY(slideShow).find('.dssInner').delay(options.delay);
            MYJQUERY.divSlideShow.slideTo(slideShow, i % numSlide, options);
        }
        //initialize controls look
        MYJQUERY.divSlideShow.manageControls(slideShow, 0, options);

        //controls click handler
        MYJQUERY(slideShow).find('.dssControl').click(function () {
            //remove auto-slide
            MYJQUERY(slideShow).find('.dssInner').clearQueue();
            //get max pages
            var max = MYJQUERY(slideShow).find('.dssInner').children().length;

            //get target page
            var dir = parseInt(MYJQUERY(this).attr('direction'));
            if (dir) //left or right arrow
            {
                var currentPage = parseInt(MYJQUERY(slideShow).find('.dssInner').attr('page'));
                var gotoPage = (currentPage + dir < max && currentPage + dir >= 0) ? currentPage + dir : currentPage;
            }
            else //numbers
            var gotoPage = parseInt(MYJQUERY(this).attr('page'));

            //go~
            MYJQUERY.divSlideShow.slideTo(slideShow, gotoPage, options);
        });
    };


    MYJQUERY.divSlideShow.slideTo = function (slideShow, gotoPage, options) {
        //get max pages
        var max = MYJQUERY(slideShow).find('.dssInner').children().length;

        //get width
        var width = MYJQUERY(slideShow).find('.dssInner .slide').width();

        //manage control look and store current page as attribute, to be executed just before animation
        MYJQUERY(slideShow).find('.dssInner').queue(function () {
            MYJQUERY.divSlideShow.manageControls(slideShow, gotoPage, options);
            MYJQUERY(this).attr('page', gotoPage);
            MYJQUERY(this).dequeue();
        });

        //animate
        MYJQUERY(slideShow).find('.dssInner').animate({
            'margin-left': -gotoPage * width
        });

    };

    MYJQUERY.divSlideShow.manageControls = function (slideShow, page, options) {
        var max = MYJQUERY(slideShow).find('.dssInner').children().length;

        MYJQUERY(slideShow).find('.dssControl').each(function () {
            if (MYJQUERY(this).attr('direction') == '1') //right
            {
							/* if( page < max - 1 )
                                        MYJQUERY(this).toggleClass('ui-state-hover', false);
                                else 
                                        MYJQUERY(this).toggleClass('ui-state-hover', true); */
            }
            else if (MYJQUERY(this).attr('direction') == '-1') //left
            {
							/* if( page > 0 )
                                        MYJQUERY(this).toggleClass('ui-state-hover', false);
                                else 
                                        MYJQUERY(this).toggleClass('ui-state-hover', true); */
            }
            else //number
            {
                if (MYJQUERY(this).attr('page') != page) MYJQUERY(this).toggleClass(options.controlActiveClass, false);
                else MYJQUERY(this).toggleClass(options.controlActiveClass, true);
            }
        });
    };

});


/* ================ */

MYJQUERY(document).ready(function() {
    //make several slideshows with class selector, all slideshows shares the same parameters
    MYJQUERY('.slideshow').divSlideShow({
        width: 420,
        height: 400,
        loop: 0,
        arrow: '',
        controlClass: 'none'
    });
    
    MYJQUERY('#site-description-slide-show').divSlideShow({
        width: 452,
        height: 300,
        loop: 0,
        arrow: 'split'
    });
});

/* ============ */

MYJQUERY(document).ready(function() {
    MYJQUERY('.product-copy').hide();

    MYJQUERY('#cb-124').click(function () {
        MYJQUERY('#cb-124').toggleClass('grow-me', 1000);
        MYJQUERY('#cb-124 .inner').toggleClass('grow-me', 1000);
        MYJQUERY('#cb-124 .top').toggleClass('grow-me-top', 1000);
        MYJQUERY('#cb-124 .category_image').toggle('fold', 1000);
        MYJQUERY('#cb-124 h3').toggle('fold', 1000);
        MYJQUERY('#cb-124 h2').toggle('fold', 1000);
        MYJQUERY('#cb-124 .product-copy').toggle('fold', 800);
        MYJQUERY('.hide-me-target-4').toggle('explode', 1000);
        return false;
    });
    
    MYJQUERY('#cb-124').hover(function () {
    	MYJQUERY('#cb-124 .inner').css('border','3px solid #df9451');
    	MYJQUERY('#cb-124').css('margin','7px 7px 7px 7px');
    	MYJQUERY('#cb-124').css('cursor','pointer');
    },
    function() {
    	MYJQUERY('#cb-124 .inner').css('border','1px solid #000000');
    	MYJQUERY('#cb-124').css('margin','10px 10px 10px 10px');
    	MYJQUERY('#cb-124').css('cursor','regular');
    });

    MYJQUERY('#cb-123').click(function () {
        MYJQUERY('#cb-123').toggleClass('grow-me', 1000);
        MYJQUERY('#cb-123 .inner').toggleClass('grow-me', 1000);
        MYJQUERY('#cb-123 .top').toggleClass('grow-me-top', 1000);
        MYJQUERY('#cb-123 .category_image').toggle('fold', 1000);
        MYJQUERY('#cb-123 h3').toggle('fold', 1000);
        MYJQUERY('#cb-123 h2').toggle('fold', 1000);
        MYJQUERY('#cb-123 .product-copy').toggle('fold', 800);
        MYJQUERY('.hide-me-target-3').toggle('explode', 1000);
        return false;
    });
    
    MYJQUERY('#cb-123').hover(function () {
    	MYJQUERY('#cb-123 .inner').css('border','3px solid #df9451');
    	MYJQUERY('#cb-123').css('margin','7px 7px 7px 7px');
    	MYJQUERY('#cb-123').css('cursor','pointer');
    },
    function() {
    	MYJQUERY('#cb-123 .inner').css('border','1px solid #000000');
    	MYJQUERY('#cb-123').css('margin','10px 10px 10px 10px');
    	MYJQUERY('#cb-123').css('cursor','regular');
    });

    MYJQUERY('#cb-122').click(function () {
        MYJQUERY('#cb-122').toggleClass('grow-me', 1000);
        MYJQUERY('#cb-122 .inner').toggleClass('grow-me', 1000);
        MYJQUERY('#cb-122 .top').toggleClass('grow-me-top', 1000);
        MYJQUERY('#cb-122 .category_image').toggle('fold', 1000);
        MYJQUERY('#cb-122 h3').toggle('fold', 1000);
        MYJQUERY('#cb-122 h2').toggle('fold', 1000);
        MYJQUERY('#cb-122 .product-copy').toggle('fold', 800);
        MYJQUERY('.hide-me-target-2').toggle('explode', 1000);
        return false;
    });
    
    MYJQUERY('#cb-122').hover(function () {
    	MYJQUERY('#cb-122 .inner').css('border','3px solid #df9451');
    	MYJQUERY('#cb-122').css('margin','7px 7px 7px 7px');
    	MYJQUERY('#cb-122').css('cursor','pointer');
    },
    function() {
    	MYJQUERY('#cb-122 .inner').css('border','1px solid #000000');
    	MYJQUERY('#cb-122').css('margin','10px 10px 10px 10px');
    	MYJQUERY('#cb-122').css('cursor','regular');
    });


    MYJQUERY('#cb-120').click(function () {
        MYJQUERY('#cb-120').toggleClass('grow-me', 1000);
        MYJQUERY('#cb-120 .inner').toggleClass('grow-me', 1000);
        MYJQUERY('#cb-120 .top').toggleClass('grow-me-top', 1000);
        MYJQUERY('#cb-120 .category_image').toggle('fold', 1000);
        MYJQUERY('#cb-120 h3').toggle('fold', 1000);
        MYJQUERY('#cb-120 h2').toggle('fold', 1000);
        MYJQUERY('#cb-120 .product-copy').toggle('fold', 800);
        MYJQUERY('.hide-me-target-1').toggle('explode', 1000);
        return false;
    });
    
    MYJQUERY('#cb-120').hover(function () {
    	MYJQUERY('#cb-120 .inner').css('border','3px solid #df9451');
    	MYJQUERY('#cb-120').css('margin','7px 7px 7px 7px');
    	MYJQUERY('#cb-120').css('cursor','pointer');
    },
    function() {
    	MYJQUERY('#cb-120 .inner').css('border','1px solid #000000');
    	MYJQUERY('#cb-120').css('margin','10px 10px 10px 10px');
    	MYJQUERY('#cb-120').css('cursor','regular');
    });

});



/* ============== */

MYJQUERY(document).ready(function() {
	MYJQUERY_2("#activityFeed").soSoSocial();
});

/* ============== */


