﻿function SetContentAll() {
    SetColEven("ColumnEvenSplit", 14);
    SetCurvedEdges("BrownHighlightWrapper", "BrownHighlight");
    SetColumnHeightsToBeEven("ColumnHeight");
    SetFooterLinkHeights();
}

function SetColumnHeightsToBeEven(ParentOfColumnsToSet) {

    var elemColumnHeight = getHeightofElementbyId(ParentOfColumnsToSet);
    ndeListColumns = YAHOO.util.Dom.getChildren(ParentOfColumnsToSet);
    //set the height of the two columns to be the same as the parent
    //element some of the markup needed for background images    
    for (i=0;i<ndeListColumns.length;i++){
       YAHOO.util.Dom.setStyle(ndeListColumns[i], "height", elemColumnHeight + "px");
    }

    //get the main content Node
    var ndeMainContent = YAHOO.util.Selector.query('div.MainContent', 'ColumnHeight', true);
    var ndeMainConentNoSet = YAHOO.util.Selector.query('div.DoNotSetHeight', 'ColumnHeight', true);
    
    //if you can find the class called DoNotSetHeight then do not set the height of the MainContent container
    if (ndeMainConentNoSet){
        
    }else{
        if (ndeMainContent){ 
            //get height of the Header
            var elemColumnHeightofTopNav = getHeightofElementbyId("Header");
            MainContentPadding = convertCSSPropertyToInteger(ndeMainContent, "paddingTop") + convertCSSPropertyToInteger(ndeMainContent, "paddingBottom")
            //added two pixel jog for ie 6
            YAHOO.util.Dom.setStyle(ndeMainContent, "height", elemColumnHeight - elemColumnHeightofTopNav - MainContentPadding - 2 + "px");
        }
    }
    
}

function SetColEven(ClassToBeEvened, iMarginBetweenColumns) {
    var ndeCols = GetNodesWithDiv(ClassToBeEvened);

    if (ndeCols) {

        divWrapper = GetDivPlusClass(ClassToBeEvened + 'Wrapper');
        
        for (i = 0; i < ndeCols.length; i++) {
            var iMarginRight = iMarginBetweenColumns
            
            //could be more than one set of Cols on page, so reset the width for each set
            if (i % 2 == 0) {
                var iSplitTheWidth = YAHOO.util.Dom.getRegion(ndeCols[i]).width / 2
                var iSplitTheMargin = iMarginBetweenColumns / 2
                
                //halve the total width and halve the margin between to get total width
                var iColumnWidth = iSplitTheWidth - iSplitTheMargin

                var HTMLFirstColumn = ndeCols[i].innerHTML
            } else {
                //float right if it is the second column in the set
                //so margin is set properly
                iMarginRight = 0;
                var HTMLSeconColumn = ndeCols[i].innerHTML
            }
            
            //set the width and float of each column
            YAHOO.util.Dom.setStyle(ndeCols[i], "float", "left");
            YAHOO.util.Dom.setStyle(ndeCols[i], "width", iColumnWidth + "px");
            YAHOO.util.Dom.setStyle(ndeCols[i], "margin-right", iMarginRight + "px");
            
        }
    }    
}

function SetCurvedEdges(CurvedEdgeWrapperClassName, CurvedEdgeInteriorClassName) {
    var ndeHighlights = GetNodesWithDiv(CurvedEdgeWrapperClassName); ;

    if (ndeHighlights) {
        for (i = 0; i < ndeHighlights.length; i++) {
            if (!YAHOO.util.Dom.hasClass(ndeHighlights[i], "NoScript")) {        
                var HTMLToStartWrap = GetDivFullPlusClass("top-left") + GetDivFullPlusClass("top-right");
                var HTMLToEndWrap = GetDivFullPlusClass("bottom-left") + GetDivFullPlusClass("bottom-right");
                var HTMLCurvedEdgeWithCurrentHTML = GetDivPlusClass(CurvedEdgeInteriorClassName) + ndeHighlights[i].innerHTML + '</div>'
                ndeHighlights[i].innerHTML = HTMLToStartWrap + HTMLCurvedEdgeWithCurrentHTML + HTMLToEndWrap
            }
        }
    }
}

function SetFooterLinkHeights() {
    var iFooterHeight = getHeightofElementbyId("Footer") - getTotalHorizontalPaddingByID("Footer");
    
    var ndeULFooters = YAHOO.util.Selector.query('ul', 'Footer');
    YAHOO.util.Dom.setStyle(ndeULFooters, "height", iFooterHeight + "px");

    var ndeULFooters = YAHOO.util.Selector.query('ul ul', 'Footer');
    YAHOO.util.Dom.setStyle(ndeULFooters, "height", "auto");
}

function GetNodesWithDiv(ClassName){
    var DivPlusClassName = 'div.' + ClassName;
    var ndes = YAHOO.util.Selector.query(DivPlusClassName, 'ColumnHeight');
    
    return ndes;
}

function GetDivPlusClass(ClassName) {
    var DivPlusClassName = '<div class="' + ClassName + '">';

    return DivPlusClassName;
}

function GetDivFullPlusClass(ClassName) {
    var DivPlusClassName = GetDivPlusClass(ClassName) + '</div>';

    return DivPlusClassName;
}


function getHeightofElementbyId(nameOfID){
    elemRegion = YAHOO.util.Dom.getRegion(nameOfID);
    var elemHeight = elemRegion.bottom - elemRegion.top;
    
    return elemHeight; 
}

function getTotalHorizontalPaddingByID(nameOfId) {
    return convertCSSPropertyToIntegerByID(nameOfId, "padding-bottom") + convertCSSPropertyToIntegerByID(nameOfId, "padding-top")
}

function convertCSSPropertyToIntegerByID(nameOfId, cssProperty) {
    var nde = YAHOO.util.Dom.get(nameOfId);
    var cssValue = YAHOO.util.Dom.getStyle(nde, cssProperty);
    return setsPropValueToNumeric(cssValue);
}

function convertCSSPropertyToInteger(node, cssProperty){
    var cssValue = YAHOO.util.Dom.getStyle(node, cssProperty);
    return setsPropValueToNumeric(cssValue);
}

function setsPropValueToNumeric(sPropValue){
    return +sPropValue.replace('px', '');
}


function FormatNumber(sData) {
    sData = YAHOO.util.Number.format(Number(sData), {thousandsSeparator: ","})
    return sData;
}

function FormatCurrency(sData) {
    sData = YAHOO.util.Number.format(Number(sData), {prefix: "$", thousandsSeparator: ","})
    return sData;
}

//YUI Table
    function MakeTable(containerName, dataType){
        var dataPoints = createDataPoints(dataType);
        
        if (containerName == "CityTableLeft") {
            dataPoints = ExtendDataPoint(containerName, dataPoints);
        }
        
        var myDataSource = createDataSource(dataPoints);
        var myColumnDefs = dataPoints.ColumnDefs        
        var myDataTable = new YAHOO.widget.DataTable(containerName, myColumnDefs, myDataSource);
    }

    function createDataSource(dataObj){
        var myDataSource = new YAHOO.util.DataSource(dataObj.LineItems);
        myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
        var myfields = {fields: dataObj.Columns};
        myDataSource.responseSchema = myfields;		
        return myDataSource
    }

    function createURLString(link, sData){
        return "<a href='" + link + "'>" + sData + "</a>";
    }


    function createURLStringBlankTarget(link, sData) {
        return "<a href='" + link + "' target='_blank'>" + sData + "</a>";
    }

    function createURL(oRecord, oColumn, sData){
        return createURLString(oRecord.getData("link"), sData)
    }

    function createViewURL(oRecord, oColumn, sData) {
        return createURLString(oRecord.getData("ViewLink"), sData)
    }

    function formatUrl(elCell, oRecord, oColumn, sData) {   
         elCell.innerHTML = createURL(oRecord, oColumn, sData);   
     };

     function formatViewUrl(elCell, oRecord, oColumn, sData) {
         elCell.innerHTML = createViewURL(oRecord, oColumn, sData);
     };

    function formatPlanUrl(elCell, oRecord, oColumn, sData) {   
         elCell.innerHTML = "<a href='" + oRecord.getData("link") + "?View=Plan'>View</a>";   
     };
     
    function formatPriceRange(elCell, oRecord, oColumn, sData) {
       elCell.innerHTML = parsePriceRange(sData);   
    };
    
    function parsePriceRange(sData){        
        if (Number(sData)!=0){
            sData = YAHOO.util.Number.format(Number(sData), {prefix: "$", thousandsSeparator: ","})
            sData = sData.substring(0, sData.indexOf(","));
            sData = "From the " + sData + "'s"
        }else{
            sData = "-"
        }
        
        return sData
    }
    
    function formatMoveIn(elCell, oRecord, oColumn, sData) {
    
        if (Number(sData)!=0){
            sData = "<em>Move In</em>"
        }else{
            sData = "Inquire"
        }
        
       elCell.innerHTML = sData;   
    };


    function GetSQFTMarkup(LowSqFt, HighSqFt) {

        var SquareFeet = "<p>" + FormatNumber(LowSqFt);

        if (HighSqFt != LowSqFt) {
            SquareFeet += " - " + FormatNumber(HighSqFt);
        }

        SquareFeet += " sq. ft.</p>";

        return SquareFeet;
    }



    function MakeImgTag(oRecord) {
        var PictureMarkUp = ""
        
        if (oRecord.getData("ImgURL") != null) {
            PictureMarkUp = GetImgTag(oRecord.getData("ImgURL"), oRecord.getData("PhotoTitle"), oRecord.getData("PhotoHeight"), oRecord.getData("PhotoWidth"))
        }

        return PictureMarkUp;
    }

    function MakeImgTagFromDataSet(ds) {
        var PictureMarkUp = ""
        
        GetImgTag(ds("ImgURL"), ds("PhotoTitle"), ds("PhotoHeight"), ds("PhotoWidth"))

        return PictureMarkUp;
    }

    function GetImgTag(ImgURL, PhotoTitle, PhotoHeight, PhotoWidth) {
        var PictureMarkUp = ""

        PictureMarkUp = "<img src=" + ImgURL + " alt='" + PhotoTitle + "' height='" + PhotoHeight + "' width=" + PhotoWidth + "'>";

        return PictureMarkUp;
    }
//End of YUI Table

function getFirstFeature(features){
    var feature = "";
    
    if (features){
        myRegExp = /<ul>|<li>|<\/ul>/g 
        features = features.replace(myRegExp, "") 
        arrFeatures = features.split("</li>")
        feature = arrFeatures[0];
    }
    return feature;
}



//End of Map List



