﻿//default text in the location
var introText = "ie City, Street, Postal Code or Building Name";
var locationImagePath = "/LocationImg/";
var noResultImg = "for_rent_thumb.jpg";

function DetectImgExists(Path, LocID, filename) {
    var fullpath = Path + LocID + "/" + filename;
    if (!FileExists(fullpath)) {
        fullpath = Path + "0/" + noResultImg;
    }
    return fullpath;
}

function FileExists(strURL) {
    oHttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    oHttp.open("HEAD", strURL, false);
    oHttp.send();
    return (oHttp.status == 404) ? false : true;
}

function DisplaySearchData(Price, PropertyType, Address, PropertyManager, LocationCode, LocationID, ShapeID, AdCode, IsAd) {
    /// <summary>
    /// Created: D.A. - 2010-05-24
    /// Use the latest map data from the webservice, format for display
    /// Right hand side display item for each search result item
    /// </summary>

    //check browser
    var brwsr = BrowserDetect.browser;

    var buf = new Renters.StringBuffer();
    buf.append("<div class=\"adthumbs\">");
    buf.append("<div id=\"thumbnail_big\" class=\"thumbnail_big\">");

    buf.append("<a href=\"JavaScript:void(0)\" onclick=\"fnOpen('" + LocationID.toString() + "','" + AdCode.toString() + "','" + LocationCode + "'," + IsAd.toString() + ");\">");
    //individual building so need to find based upon location code(Renters id ) or display placeholder if location code does not exist
    if (LocationCode > 0) {
        if (brwsr == "Explorer") {
            buf.append("<img border=\"0\" src=\"" + DetectImgExists(locationImagePath, LocationCode.toString(), "1.jpg") + "\" alt=\"" + LocationCode.toString() + "\" id=\"" + ShapeID + "\" name=\"" + ShapeID + "\" onmouseenter=\"Highlight(\'" + ShapeID + "\');return false;\"  onmouseleave=\"Lowlight(\'" + ShapeID + "\');return false;\" width=\"124\" height=\"95\" style=\"background-color: #999999\" />");
        } else {
            buf.append("<img border=\"0\" src=\"" + DetectImgExists(locationImagePath, LocationCode.toString(), "1.jpg") + "\" alt=\"" + LocationCode.toString() + "\" id=\"" + ShapeID + "\" name=\"" + ShapeID + "\" onmouseover=\"Highlight(\'" + ShapeID + "\');return false;\"  onmouseout=\"Lowlight(\'" + ShapeID + "\');return false;\" width=\"124\" height=\"95\" style=\"background-color: #999999\" />");
        }
    }
    else {
        if (brwsr == "Explorer") {
            buf.append("<img border=\"0\" src=\"" + locationImagePath + "0/" + noResultImg + "\" alt=\"" + LocationCode.toString() + "\" id=\"" + ShapeID + "\" name=\"" + ShapeID + "\" onmouseenter=\"Highlight(\'" + ShapeID + "\');return false;\"  onmouseleave=\"Lowlight(\'" + ShapeID + "\');return false;\" width=\"124\" height=\"95\" style=\"background-color: #999999\" />");
        } else {
            buf.append("<img border=\"0\" src=\"" + locationImagePath + "0/" + noResultImg + "\" alt=\"" + LocationCode.toString() + "\" id=\"" + ShapeID + "\" name=\"" + ShapeID + "\" onmouseover=\"Highlight(\'" + ShapeID + "\');return false;\"  onmouseout=\"Lowlight(\'" + ShapeID + "\');return false;\" width=\"124\" height=\"95\" style=\"background-color: #999999\" />");
        }
    }
    buf.append("</a>");

    buf.append("</div>");
    buf.append("<div class=\"adthumb_textwidth\">");
    buf.append("<p class=\"adthumb_text\">");
    if (Price > 0) {
        buf.append("From $" + Price.toString() + "/month<br />");
    } else {
        buf.append("Pricing: Call<br />");
    }
    buf.append(PropertyType + "<br />");
    buf.append(Address.replace(/,/i, ",<br />") + "<br />");
    buf.append(PropertyManager + "<br />");
    buf.append("Renters ID: " + LocationCode);
    buf.append("</p></div>");
    buf.append("<div class=\"view\">");
    buf.append("<p class=\"adthumb_text\">");
    buf.append("<a class=\"a_link\" href=\"JavaScript:void(0)\" onclick=\"fnOpen('" + LocationID.toString() + "','" + AdCode.toString() + "','" + LocationCode + "'," + IsAd.toString() + ");\"><span id=\"view_" + LocationCode + "\">view details</span></a>");
    buf.append("</p></div>");
    buf.append("</div>");
    buf.append("<div class=\"adthumbs_rule\"></div>");

    return buf.toString();
}

function DisplayNoResults() {
    var bufNR = new Renters.StringBuffer();
    bufNR.append("<div class=\"orange\" id=\"SearchError\">Sorry, no results exist in this region for the parameters you have set. ");
    bufNR.append("You can change your parameters and search again, <a href=\"#\" onclick=\"fnReset();return false;\">Reset</a> your search parameters OR ");
    bufNR.append("you can zoom out [(-) minus symbol on map] to see if results exist outside of your current region.</div>");
    return bufNR.toString();
}

function DisplaySearchNavigation(currentPage, MaxPages, Total) {
    //search results navigation
    var bufnav = new Renters.StringBuffer();
    var maxNavItems = 5;
    var loop = 1;
    var loopMax = 5;
    var curPg = eval(currentPage);
    var maxDisplayVal = curPg + 2;
    // for navigation, will format as "Total: 30 << 1 2 3 4 5 >>"
    // with a +-2 from the current page so once above 3, would change to
    // << 2 3 4 5 6 >>, << 3 4 5 6 7 >> until max
    bufnav.append("<p><div class=\"next\" id=\"nextleft\">");
    bufnav.append("Total: " + Total.toString() + " ");

    if (MaxPages > maxNavItems && curPg > 3 && maxDisplayVal < MaxPages) {
        loop = curPg - 2;
        loopMax = curPg + 2;
    } else if (MaxPages > maxNavItems && curPg > 3) {
        loop = (MaxPages + 1) - maxNavItems;
        loopMax = MaxPages;
    } else if (MaxPages <= maxNavItems) {
        loopMax = MaxPages;
    }

    if (curPg > 1) {
        bufnav.append("<nobr /><a href=\"#\" class=\"orange\" onclick=\"fnSearchResultPage(\'" + (curPg - 1).toString() + "\')\">&lt;&lt;</a>");
    }

    for (var i = loop; i <= loopMax; i++) {
        if (i != curPg) {
            bufnav.append("&nbsp;&nbsp;<a href=\"#\" class=\"orange\" onclick=\"fnSearchResultPage(\'" + i.toString() + "\')\">" + i.toString() + "</a>&nbsp;&nbsp;");
        } else {
            bufnav.append("&nbsp;&nbsp;" + i.toString() + "&nbsp;&nbsp;");
        }
    }

    if (curPg < MaxPages) {
        bufnav.append("<a href=\"#\" class=\"orange\" onclick=\"fnSearchResultPage(\'" + (curPg + 1).toString() + "\')\">&gt;&gt;</a>");
    }
    bufnav.append("</div></p>");

    return bufnav.toString();
}

function trim(str) { return str.replace(/^\s+|\s+$/g, ""); }

function DisplayBuilding(Counter,BuildingName,LocationCode,Street,Unit,City,Province,PostalCode,Phone,Amenities,CloseBy,Units) {
    var buf = new Renters.StringBuffer();


    buf.append("<div class=\"CollapsiblePanel\" id=\"CollapsiblePanel" + Counter.toString() + "\">");
    buf.append("<div class=\"CollapsiblePanelTab\" id=\"panel_narrow\">");

    buf.append("<table class=\"panel_head\" width=\"290\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
    buf.append("<tr><td><p>" + BuildingName + "</p></td>");
    buf.append("<td width=\"28%\" valign=\"top\" class=\"open_close\">");
    buf.append("<a class=\"features_text2\" href=\"#\" onclick=\"CollapsiblePanel" + Counter.toString() + ".close(); return false;\">open</a>");
    buf.append("&nbsp;|&nbsp;<a class=\"features_text2\" href=\"#\" onclick=\"CollapsiblePanel" + Counter.toString() + ".open(); return false;\">close</a></td>");
    buf.append("</tr></table>");
    buf.append("</div>");
    buf.append("<div class=\"CollapsiblePanelContent\"><div class=\"search_results\">");
    buf.append("<p>" + trim(Street));
    if (Unit !== null && typeof (Unit) !== "undefined" && trim(Unit) != "") {
        buf.append(" " + trim(Unit));
    }
    buf.append(",<br />" + City + " " + Province + " " + PostalCode + "<br />");
    if (Phone != "") {
        buf.append(Phone + "<br /><strong>Please mention you saw this property on Renters Classified</strong>");
    }
    buf.append("</p>");
    buf.append("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tbody><tr>");
    buf.append("<td><strong><nobr>Building Amenities:</nobr></strong></td><td><strong><nobr>Close By:</nobr></strong></td></tr><tr>");
    buf.append("<td><p>" + Amenities + "</p></td><td><p>" + CloseBy + "</p></td>");
    buf.append("</tr></tbody></table><br />");
    if (Units !== null && typeof (Units) !== "undefined" && Units != "") {
        buf.append("<strong>Available Unit(s)</strong>" + Units + "</div></div></div>");
    } else {
        buf.append("<strong>Available Unit(s)</strong><br />Contact Property Manager for <br />information on all available units.</div></div></div>");
    }

    return buf.toString();  
}

function DisplayUnit(Counter, UnitName, Price, SqrFoot, Features, Utilities, LocationID, AdCode, LocationCode, Desc) {
    var QryString = "";
    var buf = new Renters.StringBuffer();

    QryString = "loc=" + LocationCode;
    if (LocationID !== null && typeof (LocationID) !== "undefined" && LocationID != "") {
        QryString = QryString + "&lid=" + LocationID;
    }
    if (AdCode !== null && typeof (AdCode) !== "undefined" && AdCode != "") {
        QryString = QryString + "&ac=" + AdCode;
    }
    
    buf.append("<div class=\"CollapsiblePanel\" id=\"CollapsiblePanel" + Counter.toString() + "\">");
    buf.append("<div class=\"CollapsiblePanelTab\" id=\"panel_narrow\">");
    buf.append("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"panel_head\" width=\"290\"><tbody><tr>");
    buf.append("<td width=\"71%\"><p>" + UnitName + "</p></td>");
    buf.append("<td class=\"links\" valign=\"top\" width=\"31%\"></td>");
    buf.append("<td class=\"open_close\" valign=\"top\" width=\"29%\">");
    buf.append("<a class=\"features_text2\" href=\"#\" onclick=\"CollapsiblePanel" + Counter.toString() + ".close(); return false;\">open</a>");
    buf.append("&nbsp;|&nbsp;<a class=\"features_text2\" href=\"#\" onclick=\"CollapsiblePanel" + Counter.toString() + ".open(); return false;\">close</a></td>");
    buf.append("</tr></tbody></table>");
    buf.append("</div>");
    buf.append("<div class=\"CollapsiblePanelContent\">");
    buf.append("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"300\"><tbody><tr>");
    buf.append("<td width=\"163\"><p>" + Price.toString() + "</p></td><td width=\"136\"><p>" + SqrFoot.toString() + "</p></td></tr></tbody></table>");
    buf.append("<p><strong>Features:</strong><br />" + Features + "</p>");
    if (Utilities == "") {
        buf.append("<p><strong>Utilities:</strong><br />Please Inquire</p>");
    } else {
        buf.append("<p><strong>Utilities:</strong><br />" + Utilities + "</p>");
    }
    if (Desc !== null && typeof (Desc) !== "undefined" && Desc != "") {
        buf.append("<p><strong>Description:</strong><br />" + Desc + "</p>");
    } else {
        buf.append("<p><strong>Description:</strong><br />Please Inquire</p>");
    }
    buf.append("<p class=\"text_right\" id=\"inquire\"><a class=\"a_link\" href=\"JavaScript:void(0)\" onclick=\"window.open('Inquire.aspx?" + QryString + "','windowInquire','toolbar=no,menubar=no,scrollbars=yes,resizable=yes,width=704,height=455')\">Inquire</a></p>");
    buf.append("</div></div>");

    return buf.toString();
}

function DisplayLocation(LocLinks, LocPMs, BuildingInfo, QryString) {
    var buf = new Renters.StringBuffer();

    //buf.append("<!--global right div-->");
    //buf.append("<div class=\"borders\" id=\"right\">");
    buf.append("<div id=\"link_bar\">");
    buf.append("<p class=\"small\">");
    buf.append("<a href=\"JavaScript:void(0)\" onclick=\"window.print()\">Print Page</a>");
    buf.append("<a href=\"JavaScript:void(0)\" onclick=\"window.open('SendEmail.aspx?" + QryString + "','windowSendEmail','toolbar=no,menubar=no,scrollbars=yes,resizable=yes,width=704,height=455')\">Email</a>");
    buf.append("<a href=\"JavaScript:void(0)\" onclick=\"window.close;\">Return to Search</a></p>");
    buf.append("</div>");
    buf.append("<div><p><strong>For more info, click on the ID Code below to go to the Property Managers&#8217; website:</strong></p></div>");
    buf.append("<div id=\"property\">");
    buf.append("<p>" + LocLinks + "<img src=\"/Userfiles/image/exitdisclaimer.gif\" alt=\"exit\" /></p>");
    buf.append("<p>");
    buf.append("<strong>Property Manager:</strong><br />" + LocPMs + "</p></div>");
    buf.append("<div class=\"location\">");
    buf.append("<strong>Location:</strong>" + BuildingInfo);
    buf.append("<div id=\"location_map\" class=\"search_results\">");
    buf.append("<div id=\"locMap\" style=\"position: relative; width: 300px; height: 300px; background-color: #666666;\"></div>");
    buf.append("</div>");
    buf.append("</div>");
    //buf.append("</div>");
    //buf.append("<!--global right div-->");

    return buf.toString();
}

function DisplayLinkBar(QryString) {
    var buf = new Renters.StringBuffer();

    //buf.append("<div id=\"link_bar\">");
    buf.append("<p class=\"small\">");
    buf.append("<a href=\"JavaScript:void(0)\" onclick=\"window.print();\">Print Page</a>");
    buf.append("<a href=\"JavaScript:void(0)\" onclick=\"window.open('SendEmail.aspx?" + QryString + "','windowSendEmail1','toolbar=no,menubar=no,scrollbars=yes,resizable=yes,width=704,height=455')\">Email</a>");
    buf.append("<a href=\"JavaScript:void(0)\" onclick=\"window.close();\">Return to Search</a></p>");
    //buf.append("</div>");
    
    return buf.toString();
}

function DisplayPropertyInfo() {
    var buf = new Renters.StringBuffer();

    //buf.append("<div id=\"propertyinfo\">");
    buf.append("<p><strong>For more info, click on the ID Code below to go to the Property Managers&#8217; website:</strong></p>");
    //buf.append("</div>");

    return buf.toString();
}

function DisplayProperty(LocLinks, LocPMs) {
    var buf = new Renters.StringBuffer();

    //buf.append("<div id=\"property\">");
    buf.append("<p>" + LocLinks + "<img src=\"/Userfiles/image/exitdisclaimer.gif\" alt=\"exit\" /></p>");
    buf.append("<p>");
    buf.append("<strong>Property Manager:</strong><br />" + LocPMs + "</p>");
    //buf.append("</div>");

    return buf.toString();
}

function DisplayLoc(BuildingInfo) {
    var buf = new Renters.StringBuffer();

    //buf.append("<div class=\"location\">");
    buf.append("<strong>Location:</strong>" + BuildingInfo);
    //buf.append("</div>");

    return buf.toString();
}

function DisplayAdImg(AdCode, FileName) {
    var buf = new Renters.StringBuffer();

    //buf.append("<div class=\"left\">");
    //buf.append("<img width=\"652px\" height=\"860px\" alt=\"" + AdCode + "\" src=\"" + FileName + "\" />");
    buf.append("<img alt=\"" + AdCode + "\" src=\"" + FileName + "\" />");
    //buf.append("</div>");

    return buf.toString();
}

function DisplayMicroSite(LocationCode, FileList, PropertyManager, FullAddress, Phone, Description, AdCode, LocationID) {
    var buf = new Renters.StringBuffer();

    //<!--global left div-->
    //buf.append("<div class=\"left\">");
    buf.append("<!--micro page - mini property manager page-->");
    buf.append("<div id=\"micro_page\">");
    buf.append("<div id=\"micro_banner\">");
    buf.append("<img alt=\"prop_management_banner\" height=\"196\" id=\"prop_management_banner\" name=\"prop_management_banner\" src=\"" + locationImagePath + LocationCode + "/logo.jpg\" width=\"652\" /></div>");
    buf.append("<div id=\"micro_id\">");
    buf.append("<h3 class=\"title\" style=\"text-align: right\">");
    buf.append("<strong>Renters Building ID Code:</strong>" + LocationCode + "</h3>");
    buf.append("</div>");
    buf.append("<!--Slide Show-->");
    buf.append("<div id=\"slides\">");
    buf.append("<div class=\"content\" id=\"gallery\">");
    buf.append("<div class=\"slideshow-container\">");
    buf.append("<div class=\"slideshow\" id=\"slideshow\">&nbsp;</div>");
    buf.append("</div>");
    buf.append("</div>");
    buf.append("<div class=\"navigation\" id=\"thumbs\">");
    buf.append("<ul class=\"thumbs noscript\">");
    buf.append(FileList);
    buf.append("</ul>");
    buf.append("</div>");
    buf.append("<div class=\"controls\" id=\"controls\">&nbsp;</div>");
    buf.append("</div>");
    buf.append("<!--Slide Show ends-->");
    buf.append("<div id=\"ad_image\">");
    if (AdCode !== null && typeof (AdCode) !== "undefined" && AdCode != "") {
        //buf.append("<a href=\"" + DetectImgExists(locationImagePath, "0", AdCode + "_large.png") + "\" target=\"_blank\"><img name=\"ad\" src=\"" + DetectImgExists(locationImagePath, "0", AdCode + ".png") + "\" alt=\"\" border=\"0\" /></a>");
        buf.append("<a href=\"JavaScript:void(0)\" onclick=\"window.open('AdPopup.htm?" + DetectImgExists(locationImagePath, "0", AdCode + "_large.png") + "','windowInquire','toolbar=no,menubar=no,scrollbars=no,resizable=yes,width=570,height=780')\"><img name=\"ad\" src=\"" + DetectImgExists(locationImagePath, "0", AdCode + ".png") + "\" alt=\"\" border=\"0\" /></a>");
    }
    buf.append("</div>");
    buf.append("<div class=\"info\" id=\"micro_text\">");
    buf.append("<h3 class=\"title\">");
    buf.append("<strong>" + PropertyManager + "</strong></h3>");
    buf.append("<p>" + FullAddress + "</p>");
    buf.append("<p>");
    if (Phone !== null && typeof(Phone) !== "undefined" && Phone != "") {
        buf.append("<strong>Office Hours:&nbsp;</strong>Call us today to make an appointment.<br />");
        buf.append("<strong>Phone:&nbsp;</strong>" + Phone);
    }
    buf.append("</p>");
    buf.append("<p id=\"inquire_bar\"><a class=\"a_link\" href=\"JavaScript:void(0)\" onclick=\"window.open('Inquire.aspx?loc=" + LocationCode.toString() + "&ac=" + AdCode.toString() + "&lid=" + LocationID + "','windowInquire','toolbar=no,menubar=no,scrollbars=yes,resizable=yes,width=704,height=455')\">CLICK HERE TO INQUIRE ABOUT RENTAL PROPERTY</a></p>");
    buf.append("<p><strong>Additional Information:</strong><br />" + Description + "</p>");
    buf.append("</div>");
    buf.append("</div>");
    //buf.append("</div>");
    //<!--global left div-->

    return buf.toString();
}

function GalleryImg(ImagePath, AltText) {
    var buf = new Renters.StringBuffer();
    buf.append("<li><a class=\"thumb\" href=\"" + ImagePath + "\" title=\"" + AltText + "\"><img width=\"75px\" height=\"104px\" alt=\"" + AltText + "\" src=\"" + ImagePath + "\" title=\"" + AltText + "\" /></a></li>");
    return buf.toString();
}

function GallerificScript() {
    var buf = new Renters.StringBuffer();

    //buf.append("<div class=\"left\">");
    buf.append("jQuery(document).ready(function($) {\n");
    buf.append("// We only want these styles applied when javascript is enabled\n");
    buf.append("$('div.navigation').css({ 'width': '250px', 'float': 'left' });\n");
    buf.append("$('div.content').css('display', 'block');\n");

    buf.append("// Initially set opacity on thumbs and add\n");
    buf.append("// additional styling for hover effect on thumbs\n");
    buf.append("var onMouseOutOpacity = 0.67;\n");
    buf.append("$('#thumbs ul.thumbs li').opacityrollover({\n");
    buf.append("mouseOutOpacity: onMouseOutOpacity,\n");
    buf.append("mouseOverOpacity: 1.0,\n");
    buf.append("fadeSpeed: 'fast',\n");
    buf.append("exemptionSelector: '.selected'\n");
    buf.append("});\n");

    buf.append("// Initialize Advanced Galleriffic Gallery\n");
    buf.append("var gallery = $('#thumbs').galleriffic({\n");
    buf.append("delay: 2500,\n");
    buf.append("numThumbs: 6,\n");
    buf.append("preloadAhead: 10,\n");
    buf.append("enableTopPager: true,\n");
    buf.append("enableBottomPager: true,\n");
    buf.append("maxPagesToShow: 1,\n");
    buf.append("imageContainerSel: '#slideshow',\n");
    buf.append("controlsContainerSel: '#controls',\n");
    buf.append("captionContainerSel: '#caption',\n");
    buf.append("loadingContainerSel: '#loading',\n");
    buf.append("renderSSControls: true,\n");
    buf.append("renderNavControls: true,\n");
    buf.append("playLinkText: 'Play Slideshow',\n");
    buf.append("pauseLinkText: 'Pause Slideshow',\n");
    buf.append("prevLinkText: '&lsaquo; Previous',\n");
    buf.append("nextLinkText: '| Next &rsaquo;',\n");
    buf.append("nextPageLinkText: 'Next &rsaquo;',\n");
    buf.append("prevPageLinkText: '&lsaquo; Prev',\n");
    buf.append("enableHistory: true,\n");
    buf.append("autoStart: false,\n");
    buf.append("syncTransitions: true,\n");
    buf.append("defaultTransitionDuration: 900,\n");
    buf.append("onSlideChange: function(prevIndex, nextIndex) {\n");
    buf.append("// 'this' refers to the gallery, which is an extension of $('#thumbs')\n");
    buf.append("this.find('ul.thumbs').children()\n");
    buf.append(".eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()\n");
    buf.append(".eq(nextIndex).fadeTo('fast', 1.0);\n");
    buf.append("},\n");
    buf.append("onPageTransitionOut: function(callback) {\n");
    buf.append("this.fadeTo('fast', 0.0, callback);\n");
    buf.append("},\n");
    buf.append("onPageTransitionIn: function() {\n");
    buf.append("this.fadeTo('fast', 1.0);\n");
    buf.append("}\n");
    buf.append("});\n");

    buf.append("/**** Functions to support integration of galleriffic with the jquery.history plugin ****/\n");

    buf.append("// PageLoad function\n");
    buf.append("// This function is called when:\n");
    buf.append("// 1. after calling $.historyInit();\n");
    buf.append("// 2. after calling $.historyLoad();\n");
    buf.append("// 3. after pushing \"Go Back\" button of a browser\n");
    buf.append("function pageload(hash) {\n");
    buf.append("// alert(\"pageload: \" + hash);\n");
    buf.append("// hash doesn't contain the first # character.\n");
    buf.append("if (hash) {\n");
    buf.append("$.galleriffic.gotoImage(hash);\n");
    buf.append("} else {\n");
    buf.append("gallery.gotoIndex(0);\n");
    buf.append("}\n");
    buf.append("}\n");

    buf.append("// Initialize history plugin.\n");
    buf.append("// The callback is called at once by present location.hash. \n");
    buf.append("$.historyInit(pageload, \"advanced.html\");\n");

    buf.append("// set onlick event for buttons using the jQuery 1.3 live method\n");
    buf.append("$(\"a[rel='history']\").live('click', function(e) {\n");
    buf.append("if (e.button != 0) return true;\n");

    buf.append("var hash = this.href;\n");
    buf.append("hash = hash.replace(/^.*#/, '');\n");

    buf.append("// moves to a new page. \n");
    buf.append("// pageload is called at once. \n");
    buf.append("// hash don't contain \"#\", \"?\"\n");
    buf.append("$.historyLoad(hash);\n");

    buf.append("return false;\n");
    buf.append("});\n");

    buf.append("/****************************************************************************************/\n");
    buf.append("});\n");

    //buf.append("</div>");

    return buf.toString();
}

if (typeof (Sys) !== "undefined") { Sys.Application.notifyScriptLoaded(); }


