var isIE = navigator.userAgent.toLowerCase().indexOf("msie") >= 0;
var isFF = navigator.userAgent.toLowerCase().indexOf("firefox") >= 0;
var isIE_6 = navigator.userAgent.toLowerCase().indexOf("msie 6") >= 0;
var isIE_7 = navigator.userAgent.toLowerCase().indexOf("msie 7") >= 0;

var catName = '';
var startX, socialSliderVal, distanceSliderVal; socialSliderIx=1, distanceSliderIx=4; 
var currentCity = "";
var currentLL = "";
var ckSocial = getCookie("BB_SS");
var ckDist = getCookie("BB_DS");
var defaultDistanceSetting = 1;
var hiddenIFrameHeight = 0;
var firstRun = false;

for(var i=0;i<dstArray.length;i++)
{
    var currDst = getCookie("BB_DS");
    if(dstArray[i]==currDst) distanceSliderIx = i;
}        
socialSliderIx = getCookie("BB_SS");

function doPowerFilter(catId, catIn)
{
    cancelBubble = true;
    catName = catIn;
    document.getElementById('hdFiltSrchForm').innerHTML = "<iframe name='advSearchIFrame' id='advSearchIFrame' ready='false' src='services/PowerSearch.aspx?cat=" + 
		catId + "&keywords=" + escape(document.getElementById('headerSearchInput').value)+ "' " +
		"frameborder='0' marginheight='10' marginwidth='10' scrolling='no' style='width:280px;height:100px'  />";
	openIFrame();
}

function handlePowerSearchResponse() 
{
	if (http.readyState == 4) 
	{
        document.getElementById('hdFiltSrchForm').innerHTML = http.responseText;
        createDivDialog('Search ' + catName,'hdFiltSrchArea','dBW', 300, 140);
	}
}

function openIFrame() 
{ 
	var iframe = document.getElementById('advSearchIFrame');
	if (hiddenIFrameHeight == 0)
	{
		setTimeout("openIFrame()",50);
	}
	else
	{
		iframe.style.height = hiddenIFrameHeight + 'px';
		createDivDialog('Search ' + catName,'hdFiltSrchArea','dBW', 300, 140);
	}
}

function removeChar(formItem, charValue)
{
	var regex = new RegExp(charValue);
	var s = new String(formItem.value);
	formItem.value = s.replace(regex, '');
}    

function doSearchSubmit()
{
    if(trim(document.forms["searchForm"].keywords.value))
    {
        closeDivDialog('dBW');
        document.getElementById('type').value  = "keyword";
        document.forms["searchForm"].submit();
    }
}

function checkSearchSubmit()
{
	return trim(document.forms["searchForm"].keywords.value).length > 0;
}

function onSavedSearchChange()
{
    closeDivDialog('dBW');
    document.getElementById('type').value = "saved";
    document.forms["searchForm"].submit();
}
function onSavedSearchChange2(ssidValue)
{
    closeDivDialog('dBW');
    document.getElementById('type').value = "saved";
    document.getElementById('ssid').value = ssidValue;    
    document.forms["searchForm"].submit();
}

function showCalendar(targetID, targetURL, dMonth, dYear, dDay)
{
    if(dMonth < 0)
    {       
        dMonth = 11;
        dYear--;
    }
    if(dMonth > 11)
    {
        dMonth = 0;
        dYear++;
    }

    var dNow = new Date();
    if(dDay == 90 && dMonth == dNow.getMonth() && dYear == dNow.getYear()) dDay = dNow.getDate();
    var dCurFD = new Date(dYear, dMonth, 1);
    var dGivenDate = new Date(dYear, dMonth, dDay);  
    var dCurrentMonthFirstSunday = dCurFD.getDay();
    var dCurrentViewDate = new Date(dCurFD);
    var iDays = 0;
    var weekMilliseconds = 1000*60*60*24*7;
    if(dCurrentMonthFirstSunday > 0) iDays = -dCurrentMonthFirstSunday;
    
    var fTrgt = targetURL;
    while (fTrgt.indexOf("'") >= 0) fTrgt = fTrgt.replace("'", "`");
    while (fTrgt.indexOf("`") >= 0) fTrgt = fTrgt.replace("`", "\\'");
    
    var oBuf = '<TABLE SUMMARY="Event Calendar" BORDER="0" WIDTH="100%" CELLSPACING="0" CELLPADDING="0">';       
    oBuf += '<TR><TD CLASS="calendarhd"><A HREF="javascript:showCalendar(\'' + targetID + "','" + fTrgt + "'," + (dMonth - 1) + ',' + dYear + ',90);"><img alt="' + g_CalendarPrevMonthAlt + '" src="Images/leftArrow.gif" border="0" /></A></TD>';
    oBuf += '<TD COLSPAN="5" CLASS="calendarhd">' + (calendar_MonthNames[dMonth]) + ' ' + dYear + '</TD>';
    oBuf += '<TD CLASS="calendarhd"><A HREF="javascript:showCalendar(\'' + targetID + "','" + fTrgt + "'," + (dMonth + 1) + ',' + dYear + ',90);"><img alt="' + g_CalendarNextMonthAlt + '" src="Images/rightArrow.gif" border="0" /></A></TD></TR>';
    oBuf += '<TR style="calendarhdrow">';
    
    for(var e=0; e < 7; e++) oBuf += '<TH CLASS="calendarDays">' + calendar_DayNames[e] + '</TH>';          
    oBuf += '</TR>';

    var nextMonthFirstDay = new Date(dYear, dMonth+1, 1);
    var IsNextMonthFirstDaySunday = nextMonthFirstDay.getDay()==0;
        
    for(var iRows=0; iRows < 6; iRows++)
    {
        dCurrentMonthDate = new Date(dCurFD.getFullYear(), dCurFD.getMonth(), dCurFD.getDate() + iDays);
        if(1==1)         
        {
        if(iRows==5 && dCurrentMonthDate.getMonth() > dCurFD.getMonth()) continue;        
        if(iRows==5 && IsNextMonthFirstDaySunday) continue;
                
        oBuf += '<TR CLASS="calendarContent">';
        for(var iCols=0; iCols < 7; iCols++)
        {
            dCurrentViewDate = new Date(dCurFD.getFullYear(), dCurFD.getMonth(), dCurFD.getDate() + iDays);

            if((dGivenDate.toDateString() == dCurrentViewDate.toDateString()) && (dDay != 90))
            {
                oBuf += '<TD CLASS="selectedDate">';
            }
            else
            {
                if(dCurrentViewDate.getMonth() != dMonth || iDays < 0) 
                {
                    oBuf += '<TD CLASS="negDate">';
                }
                else
                {
                    oBuf += '<TD CLASS="posDate">';
                }
            }
            
            var args;
            
            if (targetURL.substr(0,11) == 'javascript:')
            {
              args = "'" + escape(formatDateString(dCurrentViewDate)) + "')";
            }
            else
            {
              var sep = targetURL.indexOf('?') < 0 ? '?' : '&';
              args = sep + 'startDate=' + escape(formatDateString(dCurrentViewDate));
            }
            oBuf += '<A HREF="' + targetURL +  args + '">' + dCurrentViewDate.getDate() + '</A></TD>';
            iDays++;
        }
        oBuf += '</TR>';
        }
    }
    oBuf += '</TABLE>';
    document.getElementById(targetID).innerHTML = oBuf;
}

function formatDateString(inputDate)
{
    var formattedDate = marketDateFormat; 
    
    formattedDate = formattedDate.replace(/mm/, (inputDate.getMonth() + 1));
    formattedDate = formattedDate.replace(/dd/, inputDate.getDate());
    formattedDate = formattedDate.replace(/yyyy/, inputDate.getFullYear());
    
    return formattedDate;
}

var timerId = 0;

function createHTTPObject() 
{
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
	try 
		{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
	catch (e) 
	{
		try 
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
		catch (E)
			{
				xmlhttp = false;
			}
	}
	@else
	xmlhttp = false;
	@end @*/

	if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
	{
		try 
			{
				xmlhttp = new XMLHttpRequest();
			} 
		catch (e) 
		{
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

var http = createHTTPObject();	
    
function OnKeyPress(elem)
{
    if (timerId != 0)
    {
        clearTimeout(timerId);
        timerId = 0;
    }
    setTimeout("UpdatePowerFilter();", 300);
}

function SetPowerFilterText(txt)
{
    document.getElementById("powerFilter").innerHTML = txt;
}

function handleFilterFormResponse() 
{
	if (http.readyState == 4)
	{
	    SetPowerFilterText(http.responseText);
	}
}

function trim(sString) 
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function UpdatePowerFilter()
{
    var typed = document.getElementById("headerSearchInput").value;
    typed = trim(typed);
    if (typed != null)
    {
		if (typed.length < 2)
		{
			SetPowerFilterText("&nbsp;");
		}
		else
		{
			//http.open("GET", "services/CategorySuggest.ashx?typed=" + escape(typed) + "&siteid=" + g_iSiteId, true);
			http.onreadystatechange = handleFilterFormResponse;
			http.send(null);
		}
	}
} 

var currentCol = "";
var editFrame = "";
var colSelector = "";
function initEditor(idPrefix)
{
    if(document.getElementById(idPrefix + 'editFrame') != null)
    {
        editFrame = document.getElementById(idPrefix + 'editFrame').contentWindow.document;
        colSelector = document.getElementById("colorSelector");
        editFrame.designMode = "on";
        if(navigator.appName == "Netscape")
        {
            editFrame.execCommand("useCSS", false, null);
            document.addEventListener("keypress", hideColorSelector, true);
            editFrame.addEventListener("keypress", hideColorSelector, true);
        }
    }
}

function execCom(bID)
{
    editFrame.execCommand(bID, false, null);
    btnUp(bID);
}
function showColorSelector(bID)
{
    currentCol = bID;
    colSelector.style.visibility = "visible";
    btnUp(bID);
}
function hideColorSelector(){colSelector.style.visibility = "hidden";}
function changeFontSize()
{
    var selected = document.getElementById("fontsizeSelector").selectedIndex;
    if(selected != null) editFrame.execCommand("fontsize", false, selected);
}
function changeFontColor(color)
{
    if((navigator.appName == "Netscape") && (currentCol == "Backcolor")) currentCol = "hilitecolor";
    editFrame.execCommand(currentCol, false, color);
    hideColorSelector();
}
function btnDown(bID)
{
    document.getElementById(bID).style.borderLeftColor = "#2F2F2F"; 
    document.getElementById(bID).style.borderTopColor = "#2F2F2F"; 
    editFrame.parentWindow.focus();
}
function btnUp(bID)
{
    document.getElementById(bID).style.borderLeftColor = "#EFEFEF"; 
    document.getElementById(bID).style.borderTopColor = "#EFEFEF"; 
}

function closePushDetail()
{
    document.getElementById("mapItemDetailsContainer").style.visibility = 'hidden';
}

function doCloseGraphic(graphic)
{
    if (graphic.src)
    {
        if(graphic.src.indexOf("glyph_close_hover.gif") > 0)
        {
            graphic.src = "images/glyph_close_rest.gif";
        }
        else
        {
            graphic.src = "images/glyph_close_hover.gif";
        }
    }
    
}

function createDivDialog(dialogTitle, dialogDivID, dialogWrapperDivID, dialogWidth, dialogTop, iframeheight, bCloseBox, callerID)
{   
    var dWrap = document.getElementById(dialogWrapperDivID);  

    var hF = document.getElementById(dialogWrapperDivID + 'Frame');
    var isIE = navigator.appName.indexOf("Internet Explorer");

    if(dWrap.style.visibility == 'visible'){
        dWrap.style.visibility = 'hidden';
        dWrap.style.display = 'none';    
        hF.style.visibility = 'hidden';
        hF.style.display = 'none';          
    }
    var dialogContent = document.getElementById(dialogDivID).innerHTML;
    var a = '<div class="dialogBox" style="width:' + dialogWidth + 'px;"><table border="0" cellspacing="0" cellpadding="0" width="' + dialogWidth + '" ><tr class="dialogTitle" style="" onmousedown=myMouseDown("'+dialogWrapperDivID+'")>';
    a += '<td style="border-bottom: 1px solid #777"><div style="padding:0px 0px 0px 8px;text-align:left;" >' + dialogTitle + '</div></td><td align="right" style="border-bottom: 1px solid #777">';
    
    if (bCloseBox != null && bCloseBox == false)
    {
        a+= '&nbsp;';
    }
    else
    {
        a += '<a id="lnkImgCloseDlgWin" href="javascript:closeDivDialog(\''+ dialogWrapperDivID +'\');"><img id="imgCloseDlgWin" src="images/glyph_close_rest.gif" onmouseover="doCloseGraphic(this);" onmouseout="doCloseGraphic(this);" border="0" hspace="6" alt="Close Dialog Window"></a>';        
    }
    a += '</td></tr><tr><td colspan="2"><br/><div style="padding:0px;z-index:200;">';
    
    if (dialogContent.substr(0, 4).toLowerCase() == '<img')
    {
        dialogContent = '<div style="margin: 0px;padding: 0px 4px 4px 4px;text-align:center;vertical-align:top;">' + dialogContent + '</div>';
    }

    a += dialogContent + '</div></td></tr></table></div>';
    
    if(isIE != -1) dialogWidth -= 6;

    if(iframeheight) 
    {
        if(iframeheight>0 && !isFF)
        {
    
            a += '<div id="' + dialogWrapperDivID + 'shadow" class="dialogBoxShadow" style="padding-right:8px;width:' + dialogWidth + 'px;height:' + (parseInt(document.getElementById("sIframe").height) + 43) + 'px;"><table border="0" cellspacing="0" width="' + dialogWidth + '" cellpadding="2"><tr class="dialogTitleShadow">';  
            dialogContent = '<img id="shadowPadImg" src="/images/pixel.gif" height="' + document.getElementById("sIframe").height + '" width="' + dialogWidth + '" />';
        }
        else
        {
            if(isIE_6)
            {
                a += '<div id="' + dialogWrapperDivID + 'shadow" class="dialogBoxShadow" style="height:' + (-iframeheight) + 'px; width:' + dialogWidth + 'px;"><table border="0" cellspacing="0" width="' + dialogWidth + '" cellpadding="2"><tr class="dialogTitleShadow">';            
            }
            if(isIE_7)
            {
                a += '<div id="' + dialogWrapperDivID + 'shadow" class="dialogBoxShadow" style="height:' + (-iframeheight)*1.005 + 'px; width:' + dialogWidth + 'px;"><table border="0" cellspacing="0" width="' + dialogWidth + '" cellpadding="2"><tr class="dialogTitleShadow">';            
            }
            if(isFF)
            {
                //a += '<div id="' + dialogWrapperDivID + 'shadow" class="dialogBoxShadow" style="height:' + (-iframeheight)*0.815 + 'px; width:' + dialogWidth + 'px;"><table border="0" cellspacing="0" width="' + dialogWidth + '" cellpadding="2"><tr class="dialogTitleShadow">';            
            }
            
        }
    }
    else
    {
        if(!isFF) a += '<div id="' + dialogWrapperDivID + 'shadow" class="dialogBoxShadow" style="width:' + dialogWidth + 'px;"><table border="0" cellspacing="0" width="' + dialogWidth + '" cellpadding="2"><tr class="dialogTitleShadow">';
    }
    if(!isFF)
    {
        a += '<td><div style="padding:2px;padding-left:5px;">' + dialogTitle + '</div></td><td align="right"><div style="padding:2px;"></div></td>';
        a += '</tr><tr><td colspan="2"><div style="padding:0px;">' + dialogContent;
        a += '</div></td></tr></table></div>';
    }
    dWrap.innerHTML = a;

    dWrap.style.left = document.getElementById('mainCanvas').offsetLeft + (document.getElementById('mainCanvas').offsetWidth / 2) - (dialogWidth / 2) + 'px';

    if(isIE != -1)
    {
        dWrap.style.top = document.documentElement.scrollTop + dialogTop + 'px';
        
        try {
        document.getElementById(dialogWrapperDivID + 'shadow').style.top = 1;
        document.getElementById(dialogWrapperDivID + 'shadow').style.left = 1;
        } catch(e) {}
    }
    else
    {
        dWrap.style.top = window.pageYOffset + dialogTop + 'px';    
    }
    dWrap.style.display = 'block';
    if(isIE != -1)
    {
        if(dialogDivID == 'sliderDialog') 
        {
            hF.style.height = 50;
            hF.style.width = dialogWidth + 13;
        }
        else
        {
            hF.style.height = dWrap.offsetHeight - 11;
            hF.style.width = dialogWidth + 8;
        }
        hF.style.left = dWrap.offsetLeft;
        hF.style.top = dWrap.offsetTop;
        hF.style.visibility = 'visible';
        hF.style.display = 'block';
    }
    dWrap.style.visibility = 'visible';

    addEventHandler("keydown", CloseDialogOnKeyESC);    
    
    var caller = null;
    try { caller = document.getElementById(callerID); } catch(e) { };

    if( caller && !(isFF && BRS.DisableDivDialgDOM_FireFox) )
    {       
	    caller.parentNode.appendChild(document.getElementById(dialogWrapperDivID)); 
	}
	window.setTimeout(SetInitialDialogFocus,0);
}

function SetInitialDialogFocus()
{
    var link = document.getElementById("lnkImgCloseDlgWin");
    if (link) 
    {
        try {link.focus(); } catch(e) { }
    }
}

function closeDivDialog(dialogWrapperDivID)
{
    try {closeDivDialogParent("dBW"); } catch(e) { }
    try {closeDivDialogParent("dBW1");} catch(e) { }
    try {closeDivDialogParent("dBW2");} catch(e) { }        

    var hF = document.getElementById(dialogWrapperDivID + 'Frame');
    if(!hF) return;
    hF.style.visibility = 'hidden';
    hF.style.display = 'none'; 
    document.getElementById(dialogWrapperDivID).style.visibility = 'hidden';
    document.getElementById(dialogWrapperDivID).style.display = 'none';
    
    removeEventHandler("keydown", CloseDialogOnKeyESC);    
}
function closeDivDialogParent(dialogWrapperDivID)
{
    var hF = window.parent.document.getElementById(dialogWrapperDivID + 'Frame');
    hF.style.visibility = 'hidden';
    hF.style.display = 'none'; 
    window.parent.document.getElementById(dialogWrapperDivID).style.visibility = 'hidden';
    window.parent.document.getElementById(dialogWrapperDivID).style.display = 'none';
}

function addEventHandler(eventType, cmd)
{
	if(document.attachEvent)
	{
	  document.attachEvent("on" + eventType, cmd, false);
	}
	else
	{
	  document.addEventListener(eventType, cmd, false);
	}
}

function removeEventHandler(eventType, cmd)
{
	if(document.detachEvent)
	{
	  document.detachEvent("on" + eventType, cmd, false);
	}
   	else
   	{
	  document.removeEventListener(eventType, cmd, false);
	}
}

function addEventHandler2(elem, eventType, cmd)
{
    if(elem.attachEvent)
    {
        elem.attachEvent("on" + eventType, cmd, false);
    }
    else
    {
        elem.addEventListener(eventType, cmd, false);
    }
}
      
function removeEventHandler2(elem, eventType, cmd)
{
    if(elem.detachEvent)
    {
        elem.detachEvent("on" + eventType, cmd, false);
    }
    else
    {
        elem.removeEventListener(eventType, cmd, false);
    }
}

function CloseDialogOnKeyESC(e)
{
  var KEY_ESC = 27;

  if (!e) e = window.event; 
  if (!e) return;

  var whichKEY = e.which || e.keyCode; 
  if(whichKEY==KEY_ESC)
  {
    closeDivDialog('dBW');
    closeDivDialog('dBW2');    
    closeDivDialog('dBW3');
  }    
}
    
function sliderEvent(evt)
{
    this.evt = evt;
    this.xCoord = evt.clientX ? evt.clientX : evt.pageX;
    this.evtSrc = evt.srcElement ? evt.srcElement : evt.target;
}

sliderEvent.prototype.attachEventListener = function(src, eventType, cmd){if(document.attachEvent){src.attachEvent("on"+eventType, cmd, false);} else {src.addEventListener(eventType, cmd, false);}}
sliderEvent.prototype.detachEventListener = function(src, eventType, cmd){if(document.detachEvent){src.detachEvent("on"+eventType, cmd, false);} else {src.removeEventListener(eventType, cmd, false);}}        

function sliderMouseUp(evt)
{
    sEvt = new sliderEvent(evt);
    sEvt.detachEventListener(document, "mouseup", sliderMouseUp);
    sEvt.detachEventListener(document, "mousemove", sliderMouseMove);
}

function sliderBoxClick(evt)
{
    sEvt = new sliderEvent(evt);
    var sliderName = getSliderName(sEvt.evtSrc.id);
    var clickX = sEvt.xCoord - (document.getElementById(sliderName+"SliderBox").offsetParent.offsetLeft + document.getElementById(sliderName+"SliderBox").offsetLeft);          
    setSliderToMouse(sliderName,clickX);    
}

function sliderMouseMove(evt)
{
    sEvt = new sliderEvent(evt);
    setSliderToMouse(getSliderName(sEvt.evtSrc.id),sEvt.xCoord - startX);
    if (!sEvt && typeof(sEvt.preventDefault)=='function')
	{
		sEvt.stopPropagation();
		sEvt.preventDefault();
    }		            
	else
	{
		sEvt.returnValue = false;
		sEvt.cancelBubble = true;
	}
	return false; 
}       

function sliderMouseDown(evt)
{
    sEvt = new sliderEvent(evt);
    startX = sEvt.xCoord - parseInt(sEvt.evtSrc.style.left);            
    sEvt.attachEventListener(document, "mouseup", sliderMouseUp);
    sEvt.attachEventListener(document, "mousemove", sliderMouseMove);
}

function getSliderName(sliderID){return sliderID.substring(0,sliderID.indexOf("Slider"));}
function updateSliderText(sliderID, sValue){document.getElementById(sliderID + "SliderText").innerHTML = sValue;}
function getWidth(sliderID){return parseInt(document.getElementById(sliderID).style.width);}

function setSliderToMouse(sliderName, xCoord)
{
    if(sliderName){
        var parentBoxWidth = getWidth(sliderName + "SliderBox");
        var maxXPos = parentBoxWidth - getWidth(sliderName + "SliderIcon");
        if(xCoord > 0 && xCoord < maxXPos)
        {
            document.getElementById(sliderName + "SliderIcon").style.left = xCoord + "px";
            if(sliderName == "social") {stepWidth = Math.round(parentBoxWidth / socArray.length);}
            if(sliderName == "distance") {stepWidth = Math.round(parentBoxWidth / dstArray.length);}
            sliderValue = Math.round(xCoord/stepWidth);
            if((sliderName == "social") && (sliderValue < socArray.length))
            { 
                updateSliderText("social",socArray[sliderValue]);
                socialSliderVal = sliderValue;
            }
            if((sliderName == "distance")&& (sliderValue < dstArray.length))
            {
                if(dstArray[sliderValue]!=-1){updateSliderText("distance",currentCity + dstTextArray[sliderValue]);}
                else{updateSliderText("distance",dstTextArray[sliderValue]);}
                distanceSliderVal = dstArray[sliderValue];
            }
        }
    }
}

function setSliderToStep(sliderID, stepNum, maxSteps, stepValue)
{
    document.getElementById(sliderID + "SliderIcon").style.left = (stepNum*(getWidth(sliderID + "SliderBox"))/ maxSteps) + "px";
    updateSliderText(sliderID, stepValue);
}

function setSliderToStep2(sliderName, stepIncrDecr)
{ 
    if(!sliderName){ return; }
    
    var parentBoxWidth = getWidth(sliderName + "SliderBox");
    var maxXPos = parentBoxWidth - getWidth(sliderName + "SliderIcon");
    var sliderValue = (sliderName=="social") ? socialSliderIx : distanceSliderIx;
    sliderValue += stepIncrDecr; 
                
    if(sliderName == "social")
    { 
        sliderValue = (sliderValue < socArray.length) ? sliderValue : socArray.length-1;
        sliderValue = (sliderValue > 0) ? sliderValue : 0;      
        stepWidth = parentBoxWidth / (socArray.length-1);    
        
        updateSliderText("social",socArray[sliderValue]);
        socialSliderVal = sliderValue; 
        socialSliderIx = sliderValue;        
    }
    if(sliderName == "distance")
    {
        sliderValue = (sliderValue < dstTextArray.length) ? sliderValue : dstTextArray.length-1;  
        sliderValue = (sliderValue > 0) ? sliderValue : 0;      
        stepWidth = (parentBoxWidth / dstArray.length);
                        
        if(dstArray[sliderValue]!=-1){updateSliderText("distance",currentCity + dstTextArray[sliderValue]);}
        else{updateSliderText("distance",dstTextArray[sliderValue]);}
        distanceSliderVal = dstArray[sliderValue];
        distanceSliderIx = sliderValue;        
    }
    
    var newLeftPos = Math.round(stepWidth*sliderValue);
    newLeftPos = (newLeftPos < maxXPos) ? newLeftPos : maxXPos;
    document.getElementById(sliderName + "SliderIcon").style.left = newLeftPos + "px";    
}

    function updateSliderRunner(e)
    {
        var KEY_LEFT_ARR  = 37; var KEY_MINUS = 109;
        var KEY_RIGHT_ARR = 39; var KEY_PLUS  = 107;
  
        if (!e) e = window.event; 
        if (!e) return;

        var whichKEY = e.which || e.keyCode;
        var isDecrementSlider = (whichKEY==KEY_LEFT_ARR)  || (whichKEY==KEY_MINUS);
        var isIncrementSlider = (whichKEY==KEY_RIGHT_ARR) || (whichKEY==KEY_PLUS) ;
                
        var caller = e.srcElement ? e.srcElement : e.target;
        if(!caller) return;
        var sliderName = (caller.id.indexOf("distance")>=0)? "distance" : "social";  

        if(isDecrementSlider)
        {
            setSliderToStep2(sliderName, -1); 
        }    
        if(isIncrementSlider)
        {
            setSliderToStep2(sliderName, 1); 
        }    
    }

GetInitialCityAndLatLong();

function GetInitialCityAndLatLong()
{
    var cookie = getCookie("BB_CITY");
    if (cookie)
    {
        var cityLL = cookie.split('^');
        
        if (cityLL.length == 2)
        {
            currentCity = cityLL[0];
            currentLL = cityLL[1];
        }
    }
}
 
function getCityLL(city, state)
{
    var paramList = "city=" + city + "&state=" + state;
    
    http.open("POST", "services/LookupManager.aspx", false);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http.send(paramList);
    return http.responseText;
}

function setSocialAndDistanceText()
{
    var hdSText = "";
    var hdDSImage = document.getElementById("HeaderDSImage");
    var hdSSImage = document.getElementById("HeaderSSImage");
    
    if(!currentCity)
    {
        currentCity = defaultCityName; 
        currentLL = defaultCityLatLong;
        document.cookie = getCookieName("BB_CITY") + "=" + escape(currentCity+'^'+currentLL) + ";expires=Fri, 31 Dec 2080 23:59:59 GMT;";
    }
    var hdDText = currentCity + dstTextArray[defaultDistanceSetting];

    if(ckSocial)
    {
        hdSText = socArray[ckSocial];
        hdSSImage.innerHTML = '<img alt="' + g_IconCommunityStep3Alt + '" src="images/header_icons/icon_search_user.gif">'; //icon_community_step_' + ckSocial + '.gif">';
    }
    else
    {
        hdSText = socArray[3];  
        hdSSImage.innerHTML = '<img alt="' + g_IconCommunityStep3Alt + '" src="images/header_icons/icon_search_user.gif">';
        document.cookie = getCookieName("BB_SS") + "=3;expires=Fri, 31 Dec 2080 23:59:59 GMT;";    
    }

    if(ckDist)
    {
        for(i=0;i<dstTextArray.length;i++)
        {
            if(dstArray[i]==parseInt(ckDist))
            {
                hdDSImage.innerHTML = '<img alt="' + g_IconDistanceCityAlt + '" src="images/header_icons/icon_search_location.gif">';
                if(dstArray[i]!=-1)
                {
                    hdDText = currentCity + dstTextArray[i];
                }
                else
                {
                    hdDText = dstTextArray[i];
                }
            }
        }
    }
    else
    {
        document.cookie = getCookieName("BB_DS") + "=" + escape(dstArray[1]) + ";expires=Fri, 31 Dec 2080 23:59:59 GMT;";    
        hdDSImage.innerHTML = '<img alt="' + g_IconDistanceCityAlt + '" src="images/header_icons/icon_search_location.gif">';        
        firstRun = true;
    }
    document.getElementById("HeaderSocialText").innerHTML = hdSText;
    document.getElementById("HeaderDistanceText").innerHTML = hdDText;
}

function initSocialSlider()
{
    if(ckSocial){setSliderToStep("social", ckSocial, socArray.length, socArray[ckSocial]);}
    else {updateSliderText("social",socArray[0]);}
}

function initDistanceSlider(setCity)
{
    if(setCity) currentCity = setCity;
    if(ckDist)
    {
        for(i=0;i<dstTextArray.length;i++)
        {
            if(dstArray[i]==parseInt(ckDist)){
                if(dstArray[i]!=-1)
                    {setSliderToStep("distance", i, dstArray.length, currentCity + dstTextArray[i]);}
                else
                    {setSliderToStep("distance", i, dstArray.length, dstTextArray[i]);}
            }
        }
    }
    else {
        updateSliderText("distance",currentCity + dstTextArray[defaultDistanceSetting]);
    }
}

function showViewChanger(caller)
{
    document.getElementById("sIframe").setAttribute("src","sliders.aspx");
    document.getElementById("sIframe").setAttribute("scrolling","auto");
    document.getElementById("sIframe").setAttribute("width","450");
    document.getElementById("sIframe").setAttribute("height", isFF ? "350" : "auto");
    createDivDialog(sliderDialogTitle,'sliderDialog','dBW2', 450, 148, 320,true,caller);
}

function convertToLocalTime(str)
{
	str = str.replace(/Z/," GMT");
	str = str.replace(/-/,"/");
	str = str.replace(/-/,"/");
	
	d = new Date();
	d.setTime(Date.parse(str));
	document.write(d.toLocaleString());
}

function buildQuery(url)
	{
		var form = document.getElementById('searchEntryForm');
		var queryString = '';

		for(i = 0; i < form.length; i++)
		{
			if (form[i].related)
			{
				var hiddenItem = document.getElementById(form[i].related);
				if (hiddenItem)
				{
					 if (hiddenItem.value == '')
						hiddenItem.value = form[i].value;
						
					 queryString += '&' + hiddenItem.name + '=' + hiddenItem.value;
				}
			}
			else
			{
                var userReg = /gecko/;
                if(navigator.userAgent.toLowerCase().search(userReg) < 0) continue;
                
				var isHiddenItem = form[i].id.indexOf("hidden")>= 0; 
				if (isHiddenItem)
				{
				     var hiddenItem = document.getElementById(form[i].id);							
					 if (hiddenItem.value == '')
						hiddenItem.value = form[i].value;
						
					 queryString += '&' + hiddenItem.name + '=' + hiddenItem.value;
					 
				}	
			    
			}
		}
		var typeItem = document.getElementById('advSearchCat');
		queryString += '&cat=' + typeItem.value;
		queryString += '&type=advanced';

		top.location = url + '?' + queryString;
	}
	
	function changeSisterInput(sisterId, input)
	{
		
		if (sisterId == 'hiddenmin_PRICE' || sisterId == 'hiddenmax_PRICE')
		{
			document.getElementById(sisterId).value = input.value.replace(currencySymbolRegEx, ''); //RegEx set in site.js
		}
		else
		{
			document.getElementById(sisterId).value = input.value;
		}
	}

    function openTour(URL,title)
    {
        var leftPos = document.getElementById('mainCanvas').offsetLeft + (document.getElementById('mainCanvas').offsetWidth / 2) - (720 / 2) + 'px';
        tourWindow = window.open(URL, "tinyWindow", 'left=' + leftPos + 'px,width=720px,height=515px,toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0') 
    }
    function getCookieName(rootName)
    {
        //return rootName + "_" + g_iSiteId;
    }    
    function getCookie(name)
	{
		var dc = document.cookie;
		var prefix = getCookieName(name) + "=";
		var begin = dc.indexOf("; " + prefix);
		if (begin == -1)
		{
			begin = dc.indexOf(prefix);
			if (begin != 0) return null;
		}
		else
		{
			begin += 2;
		}
		var end = document.cookie.indexOf(";", begin);
		if (end == -1)
		{
			end = dc.length;
		}
		return unescape(dc.substring(begin + prefix.length, end));
	}
function changeElementHeight(id, height)
{
	var element = document.getElementById(id);
	if (element)
	{
		element.style.height = height;
	}
}

function openExternalLink(href)
{
	var div = document.getElementById('confirmButtons');
	if (div)
	{
		div.innerHTML = "<br/><input type=\"button\" onClick=\"window.open('" + href + "');closeDivDialog('dBW');\" class=\"rest\" style=\"width: 100px;\" onmouseover=\"this.className='hover';\" onmouseout=\"this.className='rest';\" onmousedown=\"this.className='pressed';\" onmouseup=\"this.className='rest';\" value=\"Ok\" />&nbsp;&nbsp;<input type=\"button\" onClick=\"closeDivDialog('dBW');\" class=\"rest\" style=\"width:100px;\" onmouseover=\"this.className='hover';\" onmouseout=\"this.className='rest';\" onmousedown=\"this.className='pressed';\" onmouseup=\"this.className='rest';\" value=\"Cancel\" />";
		createDivDialog('Leaving site','hdLeaveSiteArea','dBW', 300, 140);
	}
}

    var Obj=null;    
    function myMouseDown(obj)    
    {
        Obj=document.getElementById(obj);       
        Obj.setCapture();
        Obj.l=event.x-Obj.style.pixelLeft;
        Obj.t=event.y-Obj.style.pixelTop;
    }
    
    function myMouseMove()
    {
        if(Obj!=null && event.y-Obj.t > 0 && event.x-Obj.l > 0)
        {
            Obj.style.pixelLeft=event.x-Obj.l;
            Obj.style.pixelTop=event.y-Obj.t;
            var hF = document.getElementById(Obj.id + 'Frame');  
            hF.style.left = Obj.style.pixelLeft;
            hF.style.top = Obj.style.pixelTop;
        }
    }
    
    function myMouseUp()
    {
        if(Obj!=null)
        {           
            Obj.releaseCapture();
            Obj=null;
        }
    }
function resizeThumbnailImage(imageid, dwidth, dheight)
{
    var vImage = document.getElementById(imageid);
	var iWidth = vImage.width;
	var iHeight = vImage.height;
	if(iWidth > dwidth || iHeight > dheight)
	{
		if(iWidth/dwidth > iHeight/dheight)
		{
			iHeight = iHeight * (dwidth/iWidth);
			iWidth = dwidth;
		}
		else
		{
			iWidth = iWidth * (dheight/iHeight);
			iHeight = dheight;
		}
		vImage.width = iWidth>1?iWidth:1;
		vImage.height = iHeight>1?iHeight:1;
	}
}

function writeTimezoneOffset()
{
    if(getCookie("timezoneOffset") == null)
    {
        var d= new Date();
        document.cookie=getCookieName("timezoneOffset") + "=" + d.getTimezoneOffset();
    }
}

var httpQueue = new Array();
var queueHttp = createHTTPObject();
var nextCB = null;

function queueAsyncHttpRequest(url, callback)
{
    var q = new Object();
    q.url = url
    q.callback = callback;
    httpQueue.push(q);
    serviceHttpQueue();
}

function serviceHttpQueue()
{
    if (httpQueue.length > 0 && nextCB == null)
    {
        var q = httpQueue.pop();
        nextCB = q.callback;

        queueHttp.open("GET", q.url, true);
        queueHttp.onreadystatechange = httpQueueCallback;
        queueHttp.send(null);
    }
}

function httpQueueCallback()
{
	if (queueHttp.readyState == 4)
	{
	    nextCB(queueHttp.responseText);
	    nextCB = null;
	    setTimeout("serviceHttpQueue();", 50);
	}
}

function ShowBackupImage(oImg)
{
   oImg.onerror = null;
   oImg.src ="Images/icon_default_pic.gif"; 

   return null;
}

function getAvailableColumns()
{   
     if ( document.body.clientWidth > 944)
     {
        return 3;
     }
     else
     {
        return 2;
     }
}

function setColumnCount()
{
    document.cookie = getCookieName("BB_COLS") + "=" + getAvailableColumns() + ";";   
}

function hideColumn3()
{
    document.getElementById("rightColumn3").style.display = "none";
}
	
function showColumn3()
{
    document.getElementById("rightColumn3").style.display = "block";
}

function showHelp()
{
   if(BRS.DisableMsnHelp)
   {
        showFremontHelp();
   }
   else
   {
        showMsnHelp();
   }
}

function showFremontHelp()
{
    location.href = "Help.aspx";
}
function showMsnHelp()
{
    var uri = self.location.toString().toLowerCase(); 
    var QUERY_PARAMETER = ''; 
    var MsnHelpUrl = GlobalSettings.MsnHelpUrl; 
    if(uri.indexOf("newlisting")>-1) { QUERY_PARAMETER = 'gnitsil_tsop'; }
    if(uri.indexOf("myaccount.aspx?tab=tribes")>-1) { QUERY_PARAMETER = 'puorg_liame_dda'; }
    if(uri.indexOf("myaccount.aspx?tab=messages")>-1) { QUERY_PARAMETER = 'segassem_dnes_weiv'; }  
    if(uri.indexOf("myaccount.aspx")>-1 && uri.indexOf("tab=listings")>-1) { QUERY_PARAMETER = 'gnitsil_tide'; }    
    if(uri.indexOf("myaccount.aspx")>-1 && uri.indexOf("tab=listings")>-1 && uri.indexOf("type=history")>-1) { QUERY_PARAMETER = 'gnitsil_tide'; }          
    if(uri.indexOf("viewlisting")>-1) { QUERY_PARAMETER = 'gnitsil_weiv'; }
    if(uri.indexOf("listingsearch")>-1) { QUERY_PARAMETER = 'hcraes'; }
    if(uri.indexOf("categorydefault.aspx")>-1) { QUERY_PARAMETER = 'hcraes'; }    
    LaunchHelp(MsnHelpUrl,'Classifiedsv1', helpLangLocale, '', 'keyword', QUERY_PARAMETER, true, 'a1', '', '', '');
}

function doColumn3Display(show) 
{ 
    var rightCol = document.getElementById("rightTblColumn");
    var centerCol = document.getElementById("CtrTblColumn");
    var userReg = /gecko/;
    
    if (rightCol) 
    { 
        if (show)
        {
            rightCol.style.display = "inline";
            rightCol.style.visibility = "visible";
            rightCol.style.position = "relative";
            centerCol.style.paddingRight = "5px";
            if(navigator.userAgent.toLowerCase().search(userReg) >= 0)
            {
                rightCol.style.top = "-13px";
            }
        }
        else
        {
            rightCol.style.display = "none";
            rightCol.style.visibility = "hidden";
            rightCol.style.position = "absolute";
            centerCol.style.paddingRight = "0px";
        }
    }
}	
	  
function doColumn1AdsDisplay(show) 
{ 
    var column1Ads = document.getElementById("column1Ads"); 
    if (column1Ads)
    {
        if (show)
        {
            column1Ads.style.display = "inline";
            column1Ads.style.visibility = "visible";
        }
        else
        {
            column1Ads.style.display = "none";
            column1Ads.style.visibility = "hidden";
        }
    }
}	

function doRandomDisplay(show) 
{ 
    var randomMiddle = document.getElementById("randomMiddle"); 
    if (randomMiddle)
    {
        if (show)
        {
            randomMiddle.style.display = "inline";
            randomMiddle.style.visibility = "visible";
        }
        else
        {
            randomMiddle.style.display = "none";
            randomMiddle.style.visibility = "hidden";
        }
    }
}	

function doTransTypeDisplay(show)
{
    var targetCell = document.getElementById("transTypeCell3");
    if (targetCell) 
    {
        if (show)
        {
            if (targetCell.style.display == "none")
            {
                targetCell.style.display="inline";    
                targetCell.style.visibility="visible";   
                targetCell.style.position = "relative"; 
            }
        }
        else
        {
            targetCell.style.display="none";    
            targetCell.style.visibility="hidden";    
        }
    }
}

function doColumnDisplay()
{
    var rightCol = document.getElementById("rightTblColumn")
    if (rightCol) 
    {
        rightCol.style.display = "none";
        rightCol.style.visibility = "hidden";
        rightCol.style.position = "absolute";
    }
    
    doColumn3Display(document.body.clientWidth > 960);
    doColumn1AdsDisplay(document.body.clientWidth < 960);
    doRandomDisplay(document.body.clientWidth < 960);
    doTransTypeDisplay(document.body.clientWidth > 960); 
}

function GoMsnHomePage()
{
    location.href = msnHomePageUrl;
}

function htmlEncode(s) 
{
    
    if (s == null || s.length < 1 )
    {
         return "";
    }
    else
    {
        var str = new String(s);
        str = str.replace(/&/g, "&amp;");
        str = str.replace(/</g, "&lt;");
        str = str.replace(/>/g, "&gt;");
        str = str.replace(/"/g, "&quot;");
        return str;
    }
    
}

function htmlDecode(s) 
{
    
    if (s == null || s.length < 1 )
    {
         return "";
    }
    else
    {
        var str = new String(s);
        str = str.replace(/&quot;/g, "\"");
        str = str.replace(/&gt;/g, ">");
        str = str.replace(/&lt;/g, "<");
        str = str.replace(/&amp;/g, "&");
        
        return str;
    }
    
}  
function getPageOffsetLeft (el) 
{
    var ol=el.offsetLeft;
    while ((el=el.offsetParent) != null) 
    { 
        ol += el.offsetLeft; 
    }
    return ol;
}
function getPageOffsetTop (el) 
{
    var ot=el.offsetTop;
    while((el=el.offsetParent) != null) 
    { 
        ot += el.offsetTop; 
    }
    return ot;
}

var g_ssToggleFlag = false;
var g_IconDistanceCityAlt   = 'Distance Filter - City';
var g_IconDistanceWorldAlt  = 'Distance Filter - World';       
var g_IconCommunityStep3Alt = 'Community Filter';           
var g_CalendarPrevMonthAlt  = 'Previous Month';
var g_CalendarNextMonthAlt  = 'Next Month';       
var g_ssBackgroundColor = "white";

function closeMySavedSearches()
{
    var sss = document.getElementById("sss");
    if(sss.style.visibility == "hidden") { g_ssToggleFlag = false; return; }
    
    sss.style.visibility = "hidden";
    sss.style.display = "none"; 
    g_ssToggleFlag = true;   
} 

function ssListMouseOver(caller)
{
    caller.style.backgroundColor = "E5EEF9";
}
function ssListMouseOut(caller)
{
    caller.style.backgroundColor = g_ssBackgroundColor;
} 
function onSearchSubmitHandler(field)
{
    field.value = field.value.replace(/"/gi, "\'");   
}

function showListingDetail(ID)
{
    var posX = 0;
    var posY = 0;
	if (event.x)
	{
		posX = event.x;
		posY = event.y;
	}
	
    var detail = document.getElementById("listingDetail" + ID);
    var container = document.getElementById("mapItemDetailsContainer");

    container.innerHTML = detail.innerHTML;
    container.style.top = posY
    container.style.left = posX;
    container.style.visibility = "visible";
}

function CenterMap(lat, log)
{
    map.SetCenter(lat, log);
}   

function truncateEventTitles(htmlString)
{
	if(isEmpty(htmlString)) return htmlString;
    
	var splitTag = "searchSummary_wrapperDiv";
	var arrHTML = htmlString.split(splitTag);
	if(isEmpty(arrHTML)) return htmlString;
                
	var textToTruncate = arrHTML[1]; // 
	if(!textToTruncate) return;           
	var arrX = textToTruncate.split("</a>");
	if(isEmpty(arrX)) return htmlString; 

	var HowManyTitles = arrX.length-1;            
	for(var i=0;i<HowManyTitles;i++)
	{
		var posL = arrX[i].lastIndexOf(">") + 1;
		var iTitle = arrX[i].substring(posL);
		iTitle = LTrim(iTitle);
		if(isEmpty(iTitle)) continue;
		
		if (iTitle != "More")
		{
			var iTruncatedTitle = Left(iTitle,20) + "..."; 
		}
		else
		{
			var iTruncatedTitle = iTitle;
		}
        textToTruncate = myReplaceString(textToTruncate,iTitle,iTruncatedTitle);
	}
	return (arrHTML[0] + splitTag + textToTruncate);
}

function isEmpty(s) { return (s==null)||(s==undefined)||(s.length==0); }
function Left(s,n) { return s.substring(0,Math.min(n,s.length)); }
function LTrim(s) { return s.replace(new RegExp(/^\s+/),""); }
function RTrim(s) { return s.replace(new RegExp(/\s+$/),""); }
function myReplaceString(fullS, oldS, newS) 
{
      // Replaces oldS with newS in the string fullS
      for (var i=0; i<fullS.length; i++) 
      {
         if (fullS.substring(i,i+oldS.length) == oldS) 
	 {
            fullS = fullS.substring(0,i)+newS+fullS.substring(i+oldS.length,fullS.length)
         }
      }
      return fullS;
}
 	        
function myUrlEncode(s)
{
   var encodedValue = window.encodeURI ? encodeURI(s) : escape(s);
   return encodedValue;
}

function myUrlDecode(s)
{
   var decodedValue = window.decodeURI ? decodeURI(s) : unescape(s);
   return decodedValue;
}   

var g_ActiveTabId = "0";
var strRM = "<br/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
var arrLftImg = [];
arrLftImg[0] = "images/pic_bryan.jpg";
arrLftImg[1] = "images/pic_ajay.jpg";
arrLftImg[2] = "images/pic_wanda.jpg";

function flipTab(callerID)
{
   for(var i=0;i<3;i++)
   {
	document.getElementById(i).className = "ctaTabOff";
	document.getElementById('a'+i).className = "lnkCtaTabOff";	
	document.getElementById('a1').className = "lnkCtaTabOff";		
   }

   g_ActiveTabId = callerID;
   document.getElementById(g_ActiveTabId).className = "ctaTabOn";	
   document.getElementById('a'+g_ActiveTabId).className = "lnkCtaTabOn";	   
   document.getElementById("divMsgArea").innerHTML = arrCTAMsg[g_ActiveTabId];
   document.getElementById("leftImg").src = arrLftImg[g_ActiveTabId];
   
   doColumnDisplay();
}

function buttonClick()
{
   switch(g_ActiveTabId)
   {
       case "0":
	   openTour('tour/EN-US/tour.aspx','Expo Tour');
	   break;
	   
       case "1":
	   window.location.href='NewListing.aspx';
	   break;
   }
}

function handleRVLResponse(responseText) 
{
	document.getElementById("rvAjax").innerHTML = responseText;
}

BRS = 
  {
     DisableFireFoxXsltTemplateLookup: true, // false // 
     DisableMsnHelp: false, // true //
     DisableDivDialgDOM_FireFox:  true // false //
  }
  
  GlobalSettings = 
  {
     MsnHelpUrl: "" 
  }
