﻿//Floor Plans

function SetContentFloorPlan() {
    //calls for the FloorPlans page

    VerifyDataForTables("UnderConstruction");
    VerifyDataForTables("StandardPlan");

    SetImagesForFloorPlans("ElevationPhoto");

    //Now preload the images
    PreloadImages();
}


function VerifyDataForTables(tableID) {
    
    var ds = eval("myRows.CommunityData." + tableID)
    
    //check if there is data, if not do not make the table
    if (ds[0]){
        MakeTable(tableID, tableID);
    } else {
       HideTheTableHeaders(tableID)
    }  
}

function HideTheTableHeaders(tableID) {
    var nde = document.getElementById(tableID);
    
    //hide the two elements above the table with no data.
    if (nde) {
        var ndeSib = YAHOO.util.Dom.getPreviousSibling(nde)
        var ndePrevSib = YAHOO.util.Dom.getPreviousSibling(ndeSib)
        YAHOO.util.Dom.setStyle(ndeSib, "display", "none");
        YAHOO.util.Dom.setStyle(ndePrevSib, "display", "none")
    }
    
}

function SetImagesForFloorPlans(ElevationID) {

    //register mouse over events
    RegisterMouseEventsInTables()
    
    //check if there are underconstruction photos
    if (myRows.CommunityData.UnderConstruction[0]) {
            SetElevationFloorPlanImage(0, "UnderConstruction")
    } else {
        if (myRows.CommunityData.StandardPlan) {
            SetElevationFloorPlanImage(0, "StandardPlan")
        }
    }

}

function SetElevationFloorPlanImage(indx, thisType) {

    var DataRowToUse = eval("myRows.CommunityData." + thisType);

    var ImgURLElevation = "";
    var ImgURLFloorPlanThumb = "";
    var ElevationName = "";
    var FloorPlanName = "";

    ImgURLElevation = DataRowToUse[indx].ImgURLElevation;
    ImgURLFloorPlanThumb = DataRowToUse[indx].ImgURLFloorPlanThumb;
    ElevationName = DataRowToUse[indx].Elevation;
    FloorPlanName = DataRowToUse[indx].FloorPlanName;

    var elemImgElevation = YAHOO.util.Dom.get("ElevationPhoto");
    var elemImgFloorPlanThumb = YAHOO.util.Dom.get("FloorPlanThumbPhoto");

    var elemElevation = YAHOO.util.Dom.get("ElevationName");
    var elemFloorPlanThumb = YAHOO.util.Dom.get("FloorPlanName");

    elemImgElevation.src = ImgURLElevation;
    elemImgFloorPlanThumb.src = ImgURLFloorPlanThumb;

    elemImgElevation.alt = ElevationName;
    elemImgFloorPlanThumb.alt = FloorPlanName;

    if (DataRowToUse[indx].PhotoHeight < 301) {
        elemImgElevation.height = DataRowToUse[indx].PhotoHeight;
        elemImgElevation.width = DataRowToUse[indx].PhotoWidth;
        paddingTop = (300 - DataRowToUse[indx].PhotoHeight) / 2;
        YAHOO.util.Dom.setStyle(elemImgElevation, "padding-top", paddingTop + "px");
    } else {
        YAHOO.util.Dom.setStyle(elemImgElevation, "padding-top", "0px");
        elemImgElevation.height = 300
    }

    if (DataRowToUse[indx].PhotoWidth > 400) { elemImgElevation.width = 400 }

    elemElevation.innerHTML = ElevationName;
    elemFloorPlanThumb.innerHTML = FloorPlanName;
}

function RegisterMouseEventsInTables() {
    //Two tables need mouse events
    RegisterMouseEventsInTable("UnderConstruction")
    RegisterMouseEventsInTable("StandardPlan")
}

function RegisterMouseEventsInTable(tableName) {
    //multiple node sets need mouse events
    var ndeElevationLinks = YAHOO.util.Selector.query('td.yui-dt-col-Elevation a', tableName);
    var ndePlanLinks = YAHOO.util.Selector.query('td.yui-dt-col-Plan a', tableName);

    if (ndeElevationLinks) {
        for (i = 0; i < ndeElevationLinks.length; i++) {
            YAHOO.util.Event.addListener(ndeElevationLinks[i], "mouseover", SwapElevationFloorPlanImage, [i, tableName]);
            YAHOO.util.Event.addListener(ndePlanLinks[i], "mouseover", SwapElevationFloorPlanImage, [i, tableName]);

        }
    }
}

function SwapElevationFloorPlanImage(e, params) {
    SetElevationFloorPlanImage(params[0], params[1])
}

function PreloadImages() {

    var myUCGroup = new YAHOO.util.ImageLoader.group("UnderConstruction", 'mouseover', 2);
    PreloadImagesFromDS("UnderConstruction", myUCGroup);

    var myPlanGroup = new YAHOO.util.ImageLoader.group("StandardPlan", 'mouseover', 2);
    PreloadImagesFromDS("StandardPlan", myPlanGroup);
}

function PreloadImagesFromDS(prefix, myGroup) {

    var thisContent = "";
    var ds = eval("myRows.CommunityData." + prefix)
    
    if (ds[0]) {
        
        for (i = 0; i < ds.length; i++) {
            thisContent += '<img id=\"' + prefix + i + '\" title=\"' + ds[i].Elevation + '\" alt=\"' + ds[i].Elevation + '\"/>'
            thisContent += '<img id=\"Elevation' + prefix + i + '\" title=\"' + ds[i].Elevation + '\" alt=\"' + ds[i].Elevation + '\"/>'
        }
        
        var elemImgElevation = YAHOO.util.Dom.get("ImageLoader");

        elemImgElevation.innerHTML = elemImgElevation.innerHTML + thisContent;

        for (i = 0; i < ds.length; i++) {
            myGroup.registerSrcImage(prefix + i, ds[i].ImgURL);
            myGroup.registerSrcImage('Elevation' + prefix + i, ds[i].ImgURLElevation);
            
        }

    }
}


