var mhm = {
    specificity: null,
    init: function() {
        mhm.global.run();
        switch (true) {
            case $j("body").hasClass("home"):
                mhm.home.run();
                break;
            case $j("body").hasClass("your"):
                mhm.your.run();
                break;
            case $j("body").hasClass("residential"):
                mhm.residential.run();
                break;
            case $j("body").hasClass("franchise"):
                mhm.franchise.run();
                break;
            case $j("body").hasClass("commercial"):
                mhm.commercial.run();
                break;
            case $j("body").hasClass("testimonials"):
                mhm.testimonials.run();
                break;
            case $j("body").hasClass("giftcert"):
                mhm.giftcert.run();
                break;
            case $j("body").hasClass("ppc"):
                mhm.ppc.run();
                break;
            case $j("body").hasClass("stateListing"):
                mhm.stateListing.run();
                break;
            case $j("body").hasClass("checklist-print"):
                mhm.checklistPrint.run();
                break;
            case $j("body").hasClass("tips"):
                mhm.tips.run();
                break;
        }
    },
    global: {
        run: function() {
            mhm.global.swapFields.run();
            mhm.global.youtubePopup();
            mhm.global.inTheNews();
            $j(".nav_primary li.parent").each(function(i) {
                $j(this).hover(function() {
                    window.clearTimeout(mhm.global.ddMenu.timer);
                    mhm.global.ddMenu.hide();
                    mhm.global.ddMenu.timer = window.setTimeout(function() {
                        mhm.global.ddMenu.show(i);
                    }, 500);
                }, function() {
                    window.clearTimeout(mhm.global.ddMenu.timer);
                    mhm.global.ddMenu.timer = window.setTimeout(function() {
                        mhm.global.ddMenu.hide(i);
                    }, 1000);
                });
            });
            $j(".nav_menu").each(function(i) {
                $j(this).hover(function() {
                    window.clearTimeout(mhm.global.ddMenu.timer);
                    mhm.global.ddMenu.timer = window.setTimeout(function() {
                        mhm.global.ddMenu.show(i);
                    }, 500);
                }, function() {
                    window.clearTimeout(mhm.global.ddMenu.timer);
                    mhm.global.ddMenu.timer = window.setTimeout(function() {
                        mhm.global.ddMenu.hide(i);
                    }, 1000);
                });
            });
        },
        inTheNews: function() {
            var newsCount = 0;
            var newsCurrent = 0;
            var slideshowWidth = 0;
            var viewableItems = 1;
            var newsItemWidth = 233 // 233 = width of one list item
            if ($j("body").hasClass("home")) {
                newsItemWidth = 219;
            }
            $j(".mhm_in_the_news .news_scroller li").each(function(i) {
                newsCount++;
            });
            slideshowWidth = newsCount * newsItemWidth;
            $j(".mhm_in_the_news .news_scroller").css("width", slideshowWidth + "px").css("visibility", "visible");
            if (newsCount <= viewableItems) {
                $j(".mhm_in_the_news .scroll_right").addClass("item_display_none");
            } else {
                var animating = false;
                $j(".mhm_in_the_news .scroll_right").click(function() {
                    if (animating == false) {
                        animating = true;
                        $j(".mhm_in_the_news .scroll_left").removeClass("item_display_none");
                        $j(".mhm_in_the_news .news_scroller").animate({
                            left: parseInt($j(".mhm_in_the_news .news_scroller").css("left")) - newsItemWidth
                        }, "normal", function() {
                            if (newsCount - newsCurrent == viewableItems + 1) {
                                $j(".mhm_in_the_news .scroll_right").addClass("item_display_none");
                            }
                            newsCurrent++;
                            animating = false;
                        });
                    }
                    return false;
                });
                $j(".mhm_in_the_news .scroll_left").click(function() {
                    if (animating == false) {
                        animating = true;
                        $j(".mhm_in_the_news .scroll_right").removeClass("item_display_none");
                        $j(".mhm_in_the_news .news_scroller").animate({
                            left: parseInt($j(".mhm_in_the_news .news_scroller").css("left")) + newsItemWidth
                        }, "normal", function() {
                            newsCurrent--;
                            if (newsCurrent == 0) {
                                $j(".mhm_in_the_news .scroll_left").addClass("item_display_none");
                            }
                            animating = false;
                        });
                    }
                    return false;
                });
            }
        },
        ddMenu: {
            show: function(i) {
                $j(".nav_menu:eq(" + i + ")").css("display", "block");
            },
            hide: function(i) {
                if (arguments.length == 1) {
                    $j(".nav_menu:eq(" + i + ")").css("display", "none");
                } else {
                    $j(".nav_menu").css("display", "none");
                }
            },
            timer: null
        },
        ccPopup: function() {
            $j(".cc_what_is_this").click(function() {
                $j.blockUI({
                    message: $j("#modal_cc_popup"),
                    css: {
                        top: ($j(window).height() - 500) / 2 + "px",
                        left: ($j(window).width() - 500) / 2 + "px",
                        width: "600px",
                        height: "400px",
                        cursor: "default",
                        overflow: "auto"
                    }
                });
                $j(".modal_cc_inner a.modal_close").click(function() {
                    $j.unblockUI();
                    return false;
                });
                return false;
            });
        },
        youtubePopup: function() {
            $j(".launch_youtube").click(function() {
                $j.blockUI({
                    message: $j("#modal_youtube_popup"),
                    css: {
                        top: ($j(window).height() - 500) / 2 + "px",
                        left: ($j(window).width() - 500) / 2 + "px",
                        width: "550px",
                        height: "450px",
                        cursor: "default",
                        overflow: "auto"
                    }
                });
                $j(".modal_youtube_inner a.modal_close").click(function() {
                    $j.unblockUI();
                    return false;
                });
                $j("#modal_youtube_loading").html("Loading...");
                swfobject.embedSWF($j(this).attr("href"), "modal_youtube_loading", "400", "360", "9.0.0", "/MollyMaid/scripts/expressInstall.swf");
                return false;
            });
        },
        swapFields: {
            run: function() {
                $j(".swap_value").each(function(i) {
                    mhm.global.swapFields.vals[i] = $j.trim($j(this).val());
                    $j(this).focus(function() {
                        if ($j.trim($j(this).val()) == mhm.global.swapFields.vals[i]) {
                            $j(this).val("");
                        }
                    });
                    $j(this).blur(function() {
                        if ($j.trim($j(this).val()) == "") {
                            $j(this).val(mhm.global.swapFields.vals[i]);
                        }
                    });
                });
            },
            vals: []
        }
    },
    home: {
        run: function() { }
    },
    your: {
        run: function() {
            mhm.your.jobDetails();
        },
        jobDetails: function() {
            var $slideshow = $j(".project_slideshow .slideshow_nav");
            var detailsCount = 0;
            var detailsCurrent = 0;
            var slideshowWidth = 0;
            var viewableItems = 4;
            var itemWidth = 84; // 64 = width of one list item
            $j(".project_slideshow .slideshow_nav a").each(function(i) {
                detailsCount++;
                $j(this).click(function() {
                    $j(this).addClass("selected");
                    $slideshow.find("a").removeClass("selected");
                    $j(".project_slideshow .img_desc").html($j(".img_desc_text:eq(" + i + ")").val());
                    //$j(".project_slideshow .item_desc_text").addClass("item_display_none");
                    //$j(".project_slideshow .item_desc_text:eq(" + i + ")").removeClass("item_display_none");
                    $j(".project_slideshow .job_detail_pic").attr("src", $j(".job_detail_pic_path:eq(" + i + ")").val());
                });
            });
            slideshowWidth = detailsCount * itemWidth;
            $slideshow.css("width", slideshowWidth + "px").css("visibility", "visible");
            if (detailsCount <= viewableItems) {
                $j(".project_slideshow .next").addClass("item_display_none");
            } else {
                var animating = false;
                $j(".project_slideshow .next a").click(function() {
                    if (animating == false) {
                        animating = true;
                        $j(".project_slideshow .pre").removeClass("item_display_none");
                        $slideshow.animate({
                            left: parseInt($slideshow.css("left")) - itemWidth
                        }, "normal", function() {
                            if (detailsCount - detailsCurrent == viewableItems + 1) {
                                $j(".project_slideshow .next").addClass("item_display_none");
                            }
                            detailsCurrent++;
                            animating = false;
                        });
                    }
                    return false;
                });
                $j(".project_slideshow .pre a").click(function() {
                    if (animating == false) {
                        animating = true;
                        $j(".project_slideshow .next").removeClass("item_display_none");
                        $slideshow.animate({
                            left: parseInt($slideshow.css("left")) + itemWidth
                        }, "normal", function() {
                            detailsCurrent--;
                            if (detailsCurrent == 0) {
                                $j(".project_slideshow .pre").addClass("item_display_none");
                            }
                            animating = false;
                        });
                    }
                    return false;
                });
            }
        }
    },
    residential: {
        run: function() { }
    },
    franchise: {
        run: function() { }
    },
    commercial: {
        run: function() { }
    },
    testimonials: {
        run: function() { }
    },
    ppc: {
        run: function() { }
    },
    giftcert: {
        run: function() {
            mhm.global.ccPopup();
        }
    },
    stateListing: {
        run: function() {
            mhm.stateListing.panelScroll.init();
        },
        panelScroll: {
            init: function() {
                $j(window).scroll(function() {
                    window.clearTimeout(mhm.stateListing.panelScroll.timer);
                    if ($j(window).scrollTop() >= parseInt($j("#scroll_top_pos").offset().top)) {
                        mhm.stateListing.panelScroll.timer = window.setTimeout(function() {
                            $j("#panel_locator_floating").css("visibility", "visible").animate({
                                top: $j(window).scrollTop()
                            });
                        }, 500);
                    } else if ($j(window).scrollTop() < parseInt($j("#scroll_top_pos").offset().top)) {
                        window.clearTimeout(mhm.stateListing.panelScroll.timer);
                        $j("#panel_locator_floating").css("top", "0px").css("visibility", "hidden");
                    }
                });
            },
            timer: null
        }
    },
    checklistPrint: {
        run: function() { }
    },
    tips: {
        run: function() { }
    },
    embedSwf: function(objId, version) {
        swfobject.embedSWF(objId, version, "/MrHandyman/scripts/expressInstall.swf");
    }
};
$j(function() {
	mhm.init();
});
