ypSlideOutMenu.Registry = []
ypSlideOutMenu.aniLen = 350
ypSlideOutMenu.hideDelay = 250
ypSlideOutMenu.minCPUResolution = 10
function ypSlideOutMenu(id, dir, left, top, width, height)
{
    //Determine browser type
    //this.ie = document.all ? 1 : 0
    this.ie = navigator.appName.indexOf("Internet Explorer") > -1 ? 1:0 
    this.ns4 = document.layers ? 1 : 0
    //this.ns4 = navigator.appName.indexOf("Netscape") > -1 ? 1:0 
    this.mac = navigator.appVersion.indexOf("Safari") > -1 ? 1:0
    this.dom = document.getElementById ? 1:0
    //alert(this.ie + ', ' + this.ns4 + ', ' + this.mac + ', ' + this.dom);
    
    if (this.ie || this.ns4 || this.mac || this.dom) {
        this.id = id
        this.dir = dir
        this.orientation = dir == "left" || dir == "right" ? "h" : "v"
        this.dirType = dir == "right" || dir == "down" ? "-" : "+"
        this.dim = this.orientation == "h" ? width : height
        this.hideTimer = false
        this.aniTimer = false
        this.open = false
        this.over = false
        this.startTime = 0
        this.gRef = "ypSlideOutMenu_"+id
        eval(this.gRef+"=this")
        ypSlideOutMenu.Registry[id] = this
        var d = document
        var offset = 0
        if (this.dom != this.ie) offset = 40;
        if (this.mac) offset = 100;
        var strCSS = '<style type="text/css">';
        strCSS += '#' + this.id + 'Container { visibility:hidden; '
        strCSS += 'left:' + (left - offset)  + 'px; '
        strCSS += 'top:' + top + 'px; '
        strCSS += 'overflow:hidden; z-index:10000; }'
        strCSS += '#' + this.id + 'Container, #' + this.id + 'Content { position:absolute; '
        strCSS += 'width:' + width + 'px; '
        strCSS += 'height:' + height + 'px; '
        strCSS += 'clip:rect(0 ' + width + ' ' + height + ' 0); '
        strCSS += '}'
        strCSS += '</style>'
        d.write(strCSS)
        this.load()
    }
}
ypSlideOutMenu.prototype.load = function() {
    var d = document
    var lyrId1 = this.id + "Container"
    var lyrId2 = this.id + "Content"
    var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1]
    //if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2)
    if (obj1) var obj2 = this.ns4 ? d.getElementById(lyrId2) : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2)
    var temp
    if (!obj1 || !obj2) window.setTimeout(this.gRef + ".load()", 100)
    else {
        this.container = obj1
        this.menu = obj2
        this.style = this.ns4 ? this.menu : this.menu.style
        this.homePos = eval("0" + this.dirType + this.dim)
        this.outPos = 0
        this.accelConst = (this.outPos - this.homePos) / ypSlideOutMenu.aniLen / ypSlideOutMenu.aniLen 
        // set event handlers.
        if (this.ns4) this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
        this.menu.onmouseover = new Function("ypSlideOutMenu.showMenu('" + this.id + "')")
        this.menu.onmouseout = new Function("ypSlideOutMenu.hideMenu('" + this.id + "')")
        //set initial state
        this.endSlide()
    }
}
ypSlideOutMenu.showMenu = function(id)
{
    var reg = ypSlideOutMenu.Registry
    var obj = ypSlideOutMenu.Registry[id]
    if (obj.container) {
        obj.over = true
        for (menu in reg) if (id != menu) ypSlideOutMenu.hide(menu)
        if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) }
        if (!obj.open && !obj.aniTimer) reg[id].startSlide(true)
    }
}
ypSlideOutMenu.hideMenu = function(id)
{
    var obj = ypSlideOutMenu.Registry[id]
    if (obj.container) {
        if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
        obj.hideTimer = window.setTimeout("ypSlideOutMenu.hide('" + id + "')", ypSlideOutMenu.hideDelay);
    }
}
ypSlideOutMenu.hideAll = function()
{
var reg = ypSlideOutMenu.Registry
for (menu in reg) {
ypSlideOutMenu.hide(menu);
if (menu.hideTimer) window.clearTimeout(menu.hideTimer);
}
}
ypSlideOutMenu.hide = function(id)
{
var obj = ypSlideOutMenu.Registry[id]
obj.over = false
if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
obj.hideTimer = 0
if (obj.open && !obj.aniTimer) obj.startSlide(false)
}
ypSlideOutMenu.prototype.startSlide = function(open) {
this[open ? "onactivate" : "ondeactivate"]()
this.open = open
if (open) this.setVisibility(true)
this.startTime = (new Date()).getTime() 
this.aniTimer = window.setInterval(this.gRef + ".slide()", ypSlideOutMenu.minCPUResolution)
}
ypSlideOutMenu.prototype.slide = function() {
var elapsed = (new Date()).getTime() - this.startTime
if (elapsed > ypSlideOutMenu.aniLen) this.endSlide()
else {
var d = Math.round(Math.pow(ypSlideOutMenu.aniLen-elapsed, 2) * this.accelConst)
if (this.open && this.dirType == "-") d = -d
else if (this.open && this.dirType == "+") d = -d
else if (!this.open && this.dirType == "-") d = -this.dim + d
else d = this.dim + d
this.moveTo(d)
}
}
ypSlideOutMenu.prototype.endSlide = function() {
this.aniTimer = window.clearTimeout(this.aniTimer)
this.moveTo(this.open ? this.outPos : this.homePos)
if (!this.open) this.setVisibility(false)
if ((this.open && !this.over) || (!this.open && this.over)) {
this.startSlide(this.over)
}
}
ypSlideOutMenu.prototype.setVisibility = function(bShow) { 
var s = this.ns4 ? this.container : this.container.style
s.visibility = bShow ? "visible" : "hidden"
}
ypSlideOutMenu.prototype.moveTo = function(p) { 
this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + "px"
}
ypSlideOutMenu.prototype.getPos = function(c) {
return parseInt(this.style[c])
}
ypSlideOutMenu.prototype.onactivate = function() { }
ypSlideOutMenu.prototype.ondeactivate = function() { }

//below positioning settings for RW site menus
var defHeight = 95;
// menuname, control direction, left, top, width, height
var menus = [ 
    new ypSlideOutMenu("menu1", "down", 0, defHeight, 150, 170), 
    new ypSlideOutMenu("menu2", "down", document.body.clientWidth*0.38, defHeight, 170, 130), 
    new ypSlideOutMenu("menu3", "down", document.body.clientWidth*0.45, defHeight, 180, 130), 
    new ypSlideOutMenu("menu4", "down", document.body.clientWidth*0.510, defHeight, 180, 130), 
    new ypSlideOutMenu("menu5", "down", document.body.clientWidth*0.650, defHeight, 180, 130), 
    new ypSlideOutMenu("menu6", "down", document.body.clientWidth*0.780, defHeight, 190, 150), 
    new ypSlideOutMenu("menu7", "down", document.body.clientWidth*0.880, defHeight, 155, 130), 
    new ypSlideOutMenu("menu8", "down", document.body.clientWidth*1.00, defHeight, 140, 180) 
    ]
for (var i = 0; i < menus.length; i++) {menus[i].onactivate = new Function("document.getElementById('act" + i + "').className='active';");menus[i].ondeactivate = new Function("document.getElementById('act" + i + "').className='';");}


// hidden functions for mapping utilities hosted by Katabat
    function MapOverlay()
    {
        if (top.location.host == "rawmapsearch.katabat.com") {
            
            document.writeln('<div id="rwMapHeader">');
            document.writeln('  <div class="logo"><a href="http://www.roseandwomble.com/"><img src="http://www.roseandwomble.com/images/logos/rwlogo_home.gif" alt="Rose & Womble Realty Co." style="border: none; " /></a></div>');
            document.writeln('  <div class="contact"><a href="http://www.roseandwomble.com/contactus"><img src="http://www.roseandwomble.com/images/phone_num.gif" alt="Contact Customer Service at 800.695.7356" style="border: none;" /></div>');
            document.writeln('</div>');
            
            document.writeln('<div id="rwMapOverlay">');
            document.writeln('<div class="closebutton"><a href="javascript:void(0);" onclick="HideMapOverlay();">X</a></div>');
            document.writeln('<strong><u>Search By Map</u></strong><br />');
            document.writeln('Search results <span style="color: Red;">fewer than 150 properties found</span> will be displayed on this map.<br />');
            document.writeln('<strong>To reduce your results:</strong> enter criteria in the options to the left <strong>or</strong> zoom in on the map to a neighborhood');
            document.writeln('</div>');
            
            /*
            document.writeln('<div id="techDiff">');
            document.writeln('<strong><u>Technical Difficulty</u></strong><br />');
            document.writeln('<br />We are experiencing technical difficulties. Please try again later.');
            document.writeln('</div>');
            */
            
            //alert(top.location.host);
            
            document.writeln('<style type="text/css">');
            document.writeln('#rwMapHeader{position: absolute; background-color: #fff; width: 100%; top: 0px; left: 0px;}');
            document.writeln('#rwMapHeader .logo{float: left; margin-left: 20px; margin-right: 20px;}');
            document.writeln('#rwMapHeader .contact{margin-right: 20px; margin-top: 30px; float: right; display: block;}');
            document.writeln('#rwMapOverlay{position: absolute; width: 500px; top: 220px; left: 350px; border: red 1px solid; padding: 10px; background-color: #fff; display: block; z-index: 2;}');
            document.writeln('#rwMapOverlay .closebutton{postition: relative; float: right; padding: 1px 3px 1px 3px; border: #000 1px solid; font-size: 10px; z-index: 3;}');
            document.writeln('#rwMapOverlay .closebutton A{color: #000;text-decoration: none;}');
            document.writeln('.propertyTab{background-color: #fff; border: red 1px solid;color: red;}');
            document.writeln('.propertyTabText{color: red; font-weight: bold;}');
            document.writeln('.property-summary-detail{color: #333; font-size: 14px; padding: 5px; font-weight: bold; display: none;}');
			document.writeln('#divFooter .property-summary-detail{font-size: 10px; font-weight: normal; display: block;}');
            document.writeln('#techDiff{padding: 20px; position: absolute; width: 900px; height: 700px; top: 110px; left: 200px; background-color: #fff; z-index: 10000;}');			
            document.writeln('#header_table .menu table, #header_table .phone, #header_table .tag{display: none;}');
			//document.writeln('.right-content-table{padding-top: 50px;}');
            //document.writeln('#map{margin: 20px 0px 0px 0px;}');
            document.writeln('</style>');
        }    
    }
    function HideMapOverlay()
    {
        document.getElementById('rwMapOverlay').style.display = "none";
    }
    MapOverlay();    