var _hiddenselect_ = {}
function hideSelect(divObj) {
    if (!document.all)
        return
    if (!_hiddenselect_[divObj])
        _hiddenselect_[divObj] = []
    var selects = document.getElementsByTagName("SELECT")
    for (var i=0;i<selects.length;i++){
        var o = selects[i]
        var oLeft = o.offsetLeft
        var oTop = o.offsetTop
        while(o.offsetParent!=null) { 
            oParent = o.offsetParent 
            oLeft += oParent.offsetLeft
            oTop += oParent.offsetTop
            o = oParent
        }
        var divLeft = Number(divObj.style.left.split('px')[0])
        var divTop = Number(divObj.style.top.split('px')[0])
        if (isOverLap(oLeft,divLeft,oTop,divTop,oLeft+selects[i].clientWidth,divLeft+divObj.clientWidth,oTop+selects[i].clientHeight,divTop+divObj.clientHeight)) {
            if (elmIsHidden(selects[i], divObj)) {
                selects[i].style.visibility = 'hidden'
                selects[i].isHidden = true
                _hiddenselect_[divObj][_hiddenselect_[divObj].length] = selects[i]
            }
        }
    }
}
function elmIsHidden(selectObj, divObj) {
   var divObj = divObj || new Object()
   var parentObj = selectObj
   while (parentObj) {
      if (parentObj == divObj || (parentObj.style.visibility && parentObj.style.visibility == 'hidden'))
           return false 
      parentObj = parentObj.parentElement
   }
   return true
}
function showSelect(divObj) {
   if (!document.all)
      return
   var selectList = _hiddenselect_[divObj]
   if (!selectList || !selectList.length)
      return
   for (var i=0;i<selectList.length;i++) {
       if (!selectList[i].wasHidden) {
           selectList[i].style.visibility = ''
           selectList[i].isHidden = null
       }
   }
}
function isOverLap(leftS,leftD,topS,topD,rightS,rightD,bottomS,bottomD) {
   if (leftS > leftD && leftS < rightD)
      if (bottomS > topD && topS < bottomD)
         return true
   if (leftS < leftD && rightS > leftD)
      if (bottomS > topD && topS < bottomD)
         return true
   if (bottomS > topD && topS < bottomD)
      if (leftS > leftD && leftS < rightD)
         return true
   return false
}



var offsetfromcursorX=12 //Customize x offset of tooltip
var offsetfromcursorY=10 //Customize y offset of tooltip

var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image
var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).

document.write('<div id="dhtmltooltip"></div>') //write out tooltip DIV
document.write('<img id="dhtmlpointer" src="images/arrow2.gif">') //write out pointer image
document.write('<iFrame id="blk" class="blk" style="z-index:12;filter:alpha(opacity=0);position:absolute;visibility:hidden;width:400px;"></iFrame>')


var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

var blk = document.getElementById("blk")

var pointerobj=document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : ""

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, fromwhich, thewidth, thecolor){
if (ns6||ie){
if (typeof thewidth!="undefined") 
    tipobj.style.width=thewidth+"px";
if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
tipobj.style.width="400px";
tipobj.style.overflowX="hidden";
blk.style.visibility="visible";
if (fromwhich == "wine")
    tipobj.style.background = "url(images/tip_bg.jpg) repeat-y";
else if (fromwhich == "chefs")
    tipobj.style.background = "url(images/tip_chefs_bg.jpg) repeat-y";
tipobj.innerHTML=thetext.split('\\\'').join("'");
enabletip=true

blk.style.visibility=tipobj.style.visibility;
blk.style.top=tipobj.style.top;
blk.style.left=tipobj.style.left;


return false
}
}

function positiontip(e){
if (enabletip){
var nondefaultpos=false
var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
//Find out how close the mouse is to the corner of the window
var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20
var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20

var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX
var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY

var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth){
//move the horizontal position of the menu to the left by it's width
tipobj.style.left=curX-tipobj.offsetWidth+"px"
nondefaultpos=true
}
else if (curX<leftedge)
tipobj.style.left="5px"
else{
//position the horizontal position of the menu where the mouse is positioned
tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px"
pointerobj.style.left=curX+offsetfromcursorX+"px"
}

//same concept with the vertical position
if (bottomedge<tipobj.offsetHeight){
tp=curY-tipobj.offsetHeight-offsetfromcursorY
if (tp<0) tp=0
tipobj.style.top=tp+"px"
nondefaultpos=true
}
else{
tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px"
pointerobj.style.top=curY+offsetfromcursorY+"px"
}
tipobj.style.visibility="visible"

var browser=navigator.appName  
var b_version=navigator.appVersion  
var version=b_version.split(";");  
var trim_Version=version[1].replace(/[ ]/g,"");  
if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0")  
{  
    hideSelect(tipobj);
}

if (!nondefaultpos)
pointerobj.style.visibility="visible"
else
pointerobj.style.visibility="hidden"
}

blk.style.visibility=tipobj.style.visibility
blk.style.top=tipobj.style.top
blk.style.left=tipobj.style.left

}

function hideddrivetip(){
if (ns6||ie){
enabletip=false
tipobj.style.visibility="hidden"
pointerobj.style.visibility="hidden"
tipobj.style.left="-1000px"
tipobj.style.backgroundColor=''
tipobj.style.width=''

var browser=navigator.appName  
var b_version=navigator.appVersion  
var version=b_version.split(";");  
var trim_Version=version[1].replace(/[ ]/g,"");  
if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0")  
{  
    showSelect(tipobj);
}

blk.style.visibility=tipobj.style.visibility
blk.style.top=tipobj.style.top
blk.style.left=tipobj.style.left
blk.style.width=tipobj.style.width

}
}

