﻿
function SEOError(e){
    //FIXME: I'm not sure what to do here..
    //This should never happen.
    //However, we should notify SOMETHING if the impossible happens.
    alert("SEO: An Error Occured that should never happen");
}

//SearchSEODataContract.cs
function SearchSEO(data) {
    try {
        //FIXME
        cmCreatePageviewTag(data.PageName, data.Channel, null, null, data.GetAttributesString);
    } catch (e) { SEOError(e)}
}

function AddApartmentToComparisonListSEO(ApartmentID) {
    try {
        //        cmCreateElementTag("elementID"
        //						, "elementCategory"
        //					   , "attr1-_-attr2-_-attr3-_-attr4-_-attr5-_-attr6-_-attr7-_-attr8-_-attr9-_-attr10-_-attr11-_-attr12-_-attr13-_-attr14-_-attr15"
        //							);
    } catch (e) { SEOError(e)}
}
function ApartmentDetailActionSEO(action) {
    //var seo = getSEOobj();
    try {
        switch (action) {
            case "photo":
                //seo.pageName = seo.pageName.replace(/\w*-.*$/, '') + " - Photos";
                break;
            case "map":
                //seo.pageName = seo.pageName.replace(/\w*\-.*$/, '') + " - Map";
                break;
            case "siteplan":
                //seo.pageName = seo.pageName.replace(/\w*-.*$/, '') + " - Site Plan";
                break;
            case "video":
                //seo.pageName = seo.pageName.replace(/\w*-.*$/, '') + " - Video";
                break;
        }
        //FIXME
        //seo.t(); //new page
    } catch (e) { SEOError(e)}
}
function PrintFunctionSEO() {
    try {
        //FIXME
    } catch (e) { SEOError(e)}
}
function ContactInitiationSEO() {
    try {
        cmCreateConversionEventTag("LEAD FORM", "1", "APARTMENT SEARCH");
    } catch (e) { SEOError(e)}
}
function ContactSubmissionSEO() {
    try {
        cmCreateConversionEventTag("LEAD FORM", "2", "APARTMENT SEARCH");
    } catch (e) { SEOError(e)}
}
function SendToFriendInitiation() {
    try {
        cmCreateConversionEventTag("SEND TO A FRIEND", "1", "APARTMENT SEARCH");
    } catch (e) { SEOError(e)}
}
function SendToFriendSubmissionSEO() {
    try {
        cmCreateConversionEventTag("SEND TO A FRIEND", "2", "APARTMENT SEARCH");
    } catch (e) { SEOError(e)}
}
function RentNowSEO(floorplanOrID) {
    try {
        //used but otherwise dead code
        //all references should be removed before next full release. 9/16/2010
        //cmCreateElementTag(floorplanOrID, "CHECK PRICE");
        //cmCreateConversionEventTag("FIND AN APARTMENT", "1", "ONLINE LEASING");
    } catch (e) { SEOError(e)}
}
function RentNowNoFloorplanSEO() {
    RentNowByNameSEOF1("No Floorplan");
}
//This function takes a floorplan name with one or more surrounding whitespace characters
//derives the property title from the document title (after the "-")
//Obviously this is built on several assumptions, so it could break
//rather easily.  Please make note (and see below);
function RentNowByNameSEOF1(FloorplanName) {
    try {
        function trim(str) {
            if (str == null) str = "";
            return ("" + str).replace(/^\s*|\s*$/m, ""); 
        }
        var tag = "";
        var tagPropName = "";
        try {
            tagPropName = trim(document.title.split('-')[1]);
         } catch(e){};
        tag = tagPropName + " - " + trim(FloorplanName);
        cmCreateElementTag(tag, "CHECK PRICE");
        //cmCreateConversionEventTag("FIND AN APARTMENT", "1", "ONLINE LEASING");
    } catch (e) { SEOError(e) }
}
//This function will eventually be no more
function FloorPlanSEO(floorplanOrID) {
    try {
        //FIXME
    } catch (e) { SEOError(e)}
}
/*
MapArbitrarySearchSEO
*/
function MapSearchSEO(keywords) {
    try {
        //FIXME
    } catch (e) { SEOError(e)}
}
function MapArbitrarySearchSEO(keywords) {
    try {
        //FIXME
    } catch (e) { SEOError(e)}
}
function ContactByEmailLeadSubmissionSEO() {
    try {
        cmCreateConversionEventTag("CONTACT BY EMAIL LINK", "2", "APARTMENT SEARCH");
    } catch (e) { SEOError(e)}
}
function MetroCommunityViewClickSEO() {
    try {
        //FIXME
    } catch (e) { SEOError(e)}
}
$(function() {
    //This only works on page load, for ajax things get more complicated.
    $('.contactLeadSEO').click(function(o) {
        ContactByEmailLeadSubmissionSEO();
    });
    $('.rentnowLeadSEO').click(function(o) {
        RentNowNoFloorplanSEO();
    });
    $('.comlistPropFooter a').click(function() {
        MetroCommunityViewClickSEO();
    });
    $('a #sendEmail').click(function() {
        //Move to page load //SendToFriendInitiation();
    });
    $('a #scheduleAppt').click(function() {
        //Move to page load //ContactInitiationSEO();
    });
    //XXXX's funky names strike again!
    $("#PropFloorplanModelList .tblFoorplansDisplay a").each(function() {
        var myanchor = $(this);
        if (myanchor.attr('href').match(/http:\/\/\w+\.(onesite|crossfire)\.realpage\.com/i)) {
            myanchor.click(function() {
                //grab floorplan name from first column.
                var fpname = "bug";
                try {
                    fpname = $(this).closest("tr").find("td").get(0).innerHTML;
                } catch (e) { }
                RentNowByNameSEOF1(fpname);
            });
        }
    });
});
