//Contains all of the custom javascript code for the index template

function checkMouseCorrodinates(x,y,withInNode)
{
    var coord = dojo.position(withInNode, true);

    if(Math.round(x) >= Math.round(coord.x) && Math.round(x) < (Math.round(coord.x) + Math.round(coord.w)) &&
       (Math.round(y) >= Math.round(coord.y) && Math.round(y) < (Math.round(coord.y) + Math.round(coord.h))))
    {
        return true;
    }
    return false;
};

function gotoHomePage(event){
    window.location.href = "/";
};

function gotoPage(pageNumber){
    var newLocation;    
    
    if(window.location.href.indexOf("?") != -1)
    {
        newLocation = window.location.href.slice(0, window.location.href.indexOf("?")) + "?page=" + pageNumber.toString();
    } else {
        newLocation = window.location.href + "?page=" + pageNumber;
    }
    window.location = newLocation;
};

function MoreDetails()
{
    var productMainCategory = this.id.split("_")[1];
    var productSubCategory = this.id.split("_")[2];    
    var productID = this.id.split("_")[3];
    window.location = "http://" + window.location.host + "/products/" + productMainCategory + "/" + productSubCategory + "/" + productID;
}

function MenuOut(event)
{            
    if(event.type == "mouseover" && dojo.query("." + this.id + "MenuOut").length == 0)
    {
        var menuDiv = this.parentNode.parentNode;
        var parentDiv = dojo.create("div", {
            id: this.id + "MenuOut",
            className: this.id + "MenuOut"
            }, menuDiv);
            
        var ul1 = dojo.create("ul",{
            id: this.id + "MenuOutLeft",
            className:"mainMenuOutLeft"
            }, parentDiv);
            
        var ul2 = dojo.create("ul",{
            id: this.id + "MenuOutRight",
            className:"mainMenuOutRight"
            }, parentDiv);
        
        var li1;            
        
        switch(this.id)
        {
            case "mainPoolTables":
                li1 = dojo.create("li",{
                    id:"mainPoolTables",
                    className:"mainMenuItem",
                    innerHTML:"Pool Tables",
                    onclick:"window.location.href = '/products/pooltables'"
                }, ul1);
                dojo.create("li",{
                    id:"subPoolTablesModern",
                    className:"subMenuItemTop",
                    innerHTML:"Modern",
                    onclick:"window.location.href = '/products/pooltables/modern'"
                }, ul2);
                dojo.create("li",{
                    id:"subPoolTablesAntique",
                    className:"subMenuItemBottom",
                    innerHTML:"Antique",
                    onclick:"window.location.href = '/products/pooltables/antique'"
                }, ul2);
                break;
            case "mainGameTables":
                li1 = dojo.create("li",{
                    id:"mainGameTables",
                    className:"mainMenuItem",
                    innerHTML:"Game Tables",
                    onclick:"window.location.href = '/products/gametables'"
                }, ul1); 
                dojo.create("li",{
                    id:"subGameTablesFoosball",
                    className:"subMenuItemTop",
                    innerHTML:"Foosball",
                    onclick:"window.location.href = '/products/gametables/foosball'"
                }, ul2);
                dojo.create("li",{
                    id:"subGameTablesAirHockey",
                    className:"subMenuItemMiddle",
                    innerHTML:"Air Hockey",
                    onclick:"window.location.href = '/products/gametables/airhockey'"
                }, ul2);
                dojo.create("li",{
                    id:"subGameTablesShuffleboard",
                    className:"subMenuItemMiddle",
                    innerHTML:"Shuffleboard",
                    onclick:"window.location.href = '/products/gametables/shuffleboard'"
                }, ul2);
                dojo.create("li",{
                    id:"subGameTablesPokerTable",
                    className:"subMenuItemMiddle",
                    innerHTML:"Poker Tables",
                    onclick:"window.location.href = '/products/gametables/poker'"
                }, ul2);
                dojo.create("li",{
                    id:"subGameTablesBumperPool",
                    className:"subMenuItemMiddle",
                    innerHTML:"Bumper Pool",
                    onclick:"window.location.href = '/products/gametables/bumperpool'"
                }, ul2);
                dojo.create("li",{
                    id:"subGameTablesStickHockey",
                    className:"subMenuItemBottom",
                    innerHTML:"Stick Hockey",
                    onclick:"window.location.href = '/products/gametables/stickhockey'"
                }, ul2);
                break;
            case "mainBarStools":
                li1 = dojo.create("li",{
                    id:"mainBarStools",
                    className:"mainMenuItem",
                    innerHTML:"Bar Stools",
                    onclick:"window.location.href = '/products/barstools'"
                }, ul1); 
                dojo.create("li",{
                    id:"subBarstoolsWood",
                    className:"subMenuItemTop",
                    innerHTML:"Wood",
                    onclick:"window.location.href = '/products/barstools/wood'"
                }, ul2);
                dojo.create("li",{
                    id:"subBarstoolsMetal",
                    className:"subMenuItemMiddle",
                    innerHTML:"Metal",
                    onclick:"window.location.href = '/products/barstools/metal'"
                }, ul2);
                dojo.create("li",{
                    id:"subBarstoolsBars",
                    className:"subMenuItemBottom",
                    innerHTML:"Bars",
                    onclick:"window.location.href = '/products/barstools/bars'"
                }, ul2);
                break;
            case "mainMotorScooters":
                li1 = dojo.create("li",{
                    id:"mainMotorScooters",
                    className:"mainMenuItem",
                    innerHTML:"Motor Scooters",
                    onclick:"window.location.href = '/products/motorscooters'"
                }, ul1); 
                dojo.create("li",{
                    id:"subMotorScooters50cc",
                    className:"subMenuItemTop",
                    innerHTML:"50cc",
                    onclick:"window.location.href = '/products/motorscooters/50cc'"
                }, ul2);
                dojo.create("li",{
                    id:"subMotorScooters150cc",
                    className:"subMenuItemMiddle",
                    innerHTML:"150cc",
                    onclick:"window.location.href = '/products/motorscooters/150cc'"
                }, ul2);
                dojo.create("li",{
                    id:"subMotorScooters250cc",
                    className:"subMenuItemBottom",
                    innerHTML:"250cc",
                    onclick:"window.location.href = '/products/motorscooters/250cc'"
                }, ul2);
                break;
            case "mainMobilityScooters":
                li1 = dojo.create("li",{
                    id:"mainMobilityScooters",
                    className:"mainMenuItem",
                    innerHTML:"Mobility Scooters",
                    onclick:"window.location.href = '/products/mobilityscooters'"
                }, ul1); 
                dojo.create("li",{
                    id:"subMobilityScootersTrike",
                    className:"subMenuItemTop",
                    innerHTML:"Trike",
                    onclick:"window.location.href = '/products/mobilityscooters/trike'"
                }, ul2);
                dojo.create("li",{
                    id:"subMobilityScooters3Wheel",
                    className:"subMenuItemMiddle",
                    innerHTML:"3-Wheel",
                    onclick:"window.location.href = '/products/mobilityscooters/3wheel'"
                }, ul2);
                dojo.create("li",{
                    id:"subMobilityScooters4Wheel",
                    className:"subMenuItemBottom",
                    innerHTML:"4-Wheel",
                    onclick:"window.location.href = '/products/mobilityscooters/4wheel'"
                }, ul2);
                break;
            case "mainPools":
                li1 = dojo.create("li",{
                    id:"mainPools",
                    className:"mainMenuItem",
                    innerHTML:"Pools",
                    onclick:"window.location.href = '/products/pools'"
                }, ul1); 
                dojo.create("li",{
                    id:"subPoolsAboveGround",
                    className:"subMenuItemTop",
                    innerHTML:"Above Ground",
                    onclick:"window.location.href = '/products/pools/aboveground'"
                }, ul2);
                dojo.create("li",{
                    id:"subPoolsInGround",
                    className:"subMenuItemMiddle",
                    innerHTML:"In-Ground",
                    onclick:"window.location.href = '/products/pools/inground'"
                }, ul2);
                dojo.create("li",{
                    id:"subPoolsHeaters",
                    className:"subMenuItemMiddle",
                    innerHTML:"Heaters",
                    onclick:"window.location.href = '/products/pools/heaters'"
                }, ul2);
                dojo.create("li",{
                    id:"subPoolsFiltersPumps",
                    className:"subMenuItemMiddle",
                    innerHTML:"Filters & Pumps",
                    onclick:"window.location.href = '/products/pools/filterspumps'"
                }, ul2);
                dojo.create("li",{
                    id:"subPoolsLiners",
                    className:"subMenuItemMiddle",
                    innerHTML:"Liners",
                    onclick:"window.location.href = '/products/pools/liners'"
                }, ul2);
                dojo.create("li",{
                    id:"subPoolsChemicals",
                    className:"subMenuItemMiddle",
                    innerHTML:"Chemicals",
                    onclick:"window.location.href = '/products/pools/chemicals'"
                }, ul2);
                dojo.create("li",{
                    id:"subPoolsAccessories",
                    className:"subMenuItemBottom",
                    innerHTML:"Accessories",
                    onclick:"window.location.href = '/products/pools/accessories'"
                }, ul2);
                break;
            case "mainSpas":
                li1 = dojo.create("li",{
                    id:"mainSpas",
                    className:"mainMenuItem",
                    innerHTML:"Spas",
                    onclick:"window.location.href = '/products/spas'"
                }, ul1); 
                dojo.create("li",{
                    id:"subSpasLASpas",
                    className:"subMenuItemTop",
                    innerHTML:"L.A. Spas",
                    onclick:"window.location.href = '/products/spas/laspa'"
                }, ul2);
                dojo.create("li",{
                    id:"subSpasInflatableSpas",
                    className:"subMenuItemMiddle",
                    innerHTML:"Inflatable Spas",
                    onclick:"window.location.href = '/products/spas/inflatable'"
                }, ul2);
                dojo.create("li",{
                    id:"subSpasBaths",
                    className:"subMenuItemMiddle",
                    innerHTML:"Baths",
                    onclick:"window.location.href = '/products/spas/baths'"
                }, ul2);
                dojo.create("li",{
                    id:"subSpasChemicals",
                    className:"subMenuItemBottom",
                    innerHTML:"Chemicals",
                    onclick:"window.location.href = '/products/spas/chemicals'"
                }, ul2);
                break;
            case "mainSaunas":
                li1 = dojo.create("li",{
                    id:"mainSaunas",
                    className:"mainMenuItem",
                    innerHTML:"Saunas",
                    onclick:"window.location.href = '/products/saunas'"
                }, ul1); 
                dojo.create("li",{
                    id:"subSaunasSaunas",
                    className:"subMenuItemTop",
                    innerHTML:"Saunas",
                    onclick:"window.location.href = '/products/saunas/saunas'"
                }, ul2);
                dojo.create("li",{
                    id:"subSpaceHeaters",
                    className:"subMenuItemBottom",
                    innerHTML:"Space Heaters",
                    onclick:"window.location.href = '/products/saunas/spaceheaters'"
                }, ul2);
                break;
            case "mainServices":
                li1 = dojo.create("li",{
                    id:"mainServices",
                    className:"mainMenuItem",
                    innerHTML:"Services",
                    onclick:"window.location.href = '/products/services'"
                }, ul1);
                dojo.create("li",{
                    id:"subServicesPoolRepairs",
                    className:"subMenuItemTop",
                    innerHTML:"Pool Repairs",
                    onclick:"window.location.href = '/products/services/poolservices'"
                }, ul2);
                dojo.create("li",{
                    id:"subServicesSpaRepairs",
                    className:"subMenuItemMiddle",
                    innerHTML:"Spa Repairs",
                    onclick:"window.location.href = '/products/services/spaservices'"
                }, ul2);
                dojo.create("li",{
                    id:"subServicesPoolTableMoving",
                    className:"subMenuItemMiddle",
                    innerHTML:"Pool Table Services",
                    style:"font-size: 10px;",
                    onclick:"window.location.href = '/products/services/pooltableservices'"
                }, ul2);
                dojo.create("li",{
                    id:"subServicesMotorScooterRepairs",
                    className:"subMenuItemBottom",
                    innerHTML:"Scooter Repairs",
                    onclick:"window.location.href = '/products/services/motorscooterservices'"
                }, ul2);
                break;
        }
        dojo.connect(li1, "onmouseout", ul1, MenuOut);
        dojo.connect(ul2, "onmouseout", ul2, MenuOut);
    }
    else if(event.type == "mouseout")
    {        
        if(this.className == "mainMenuOutLeft" && 
        !checkMouseCorrodinates(event.pageX, event.pageY, dojo.query("."+this.className.replace("Left","Right"))[0]))   
        {
            dojo.destroy(this.parentNode);
        }
        else if(this.className == "mainMenuOutRight" && 
        !checkMouseCorrodinates(event.pageX, event.pageY, dojo.query("."+this.className.replace("Right","Left"))[0])
        && !checkMouseCorrodinates(event.pageX, event.pageY, dojo.query("."+this.className)[0]))
        {
            dojo.destroy(this.parentNode);
        }       
    }
}

dojo.addOnLoad(function(){
    dojo.connect(dojo.byId('headerIMG'),'onclick', dojo.byId('headerIMG'), gotoHomePage);

    //get all of the initially displayed products
    dojo.query(".product").onclick(MoreDetails);
    dojo.query(".product").onmouseover(function()
    {
        var name = this.children[1];
        name.style.textDecoration = "underline";
        name.style.color = "#CD0524";
    });
    dojo.query(".product").onmouseout(function()
    {
        var name = this.children[1];
        name.style.textDecoration = "";
        name.style.color = "#5C5C5C";
    });
    
    //menu checking
    dojo.query(".mainCategorySidebarItem").forEach(function(node, index, arr){
      dojo.connect(node, "onmouseover", MenuOut);
    });
    dojo.connect(dojo.byId("AboutDiv"), "onclick", function(){window.location.href = "/about"});
    dojo.connect(dojo.byId("ContactDiv"), "onclick", function(){window.location.href = "/contact"});
    //////    
});

