document.WM = new Object();
document.WM.hirelist = new Object();
document.WM.hirelist.expandos = new Array();
document.WM.hirelist.heights = new Array();
document.WM.hirelist.names = new Array();

function WM_toggle(id) {
if (document.all){
if(document.all[id].style.display == 'none'){
 document.all[id].style.display = '';
} else {
 document.all[id].style.display = 'none';
}
} else if (document.getElementById){
if(document.getElementById(id).style.display == 'none'){
 document.getElementById(id).style.display = 'block';
} else {
 document.getElementById(id).style.display = 'none';
}
} else if(document.layers) {
 if(parseInt(id + 1)){
  ditem = id + 1;
 } else {
  ditem = document.WM.hirelist.names[id];
 }
 if(document.WM.hirelist.expandos[ditem].clip.bottom == 0) {
     document.WM.hirelist.expandos[ditem].clip.bottom = document.WM.hirelist.heights[ditem];
 } else {
  document.WM.hirelist.expandos[ditem].clip.bottom = 0;
 }
 WM_align();
}
}

function WM_align() {
var i,j,stupid_netscape_array_infinate_loop_error;
stupid_netscape_array_infinate_loop_error = document.WM.hirelist.expandos.length;
for(i=0; i<stupid_netscape_array_infinate_loop_error; i++) {
	j = i + 1;
	if(document.WM.hirelist.expandos[j]){
	if(document.layers) {
			document.WM.hirelist.expandos[j].top = document.WM.hirelist.expandos[i].top + document.WM.hirelist.expandos[i].clip.bottom;
		}
	}
}
}

function WM_initialize_toolbar(){
if(document.layers) {
	for(i=0; i<document.layers['container'].document.layers.length; i++){
	document.WM.hirelist.expandos[i] = document.layers['container'].document.layers[i];
	document.WM.hirelist.names[document.layers['container'].document.layers[i].name] = i;
	document.WM.hirelist.heights[i] = document.WM.hirelist.expandos[i].clip.bottom;
	}
	for (p=0;p<document.WM.hirelist.expandos.length;p=p+2){
	WM_toggle(p);
	}
	document.layers['container'].visibility = 'visible';
} else if (document.all){
	for(i = 0; i < document.all('container').all.length; i++){
	    document.all('container').all[i].style.position = 'relative';
	    if(document.all('container').all[i].className == 'menu'){
		document.all('container').all[i].style.display = 'none';
	    }
	}
	document.all('container').style.visibility = 'visible';	
} else if (document.getElementsByTagName && document.getElementById){
	var contained = document.getElementById('container').getElementsByTagName('div');
	for(i = 0; i < contained.length; i++){
	    contained[i].style.position = 'relative';
	    if(contained[i].getAttribute('class') == 'menu'){
		contained[i].style.display = 'none';
	    }
	}
	document.getElementById('container').style.visibility = 'visible';
}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { if (args[i+1]=='c'){lyrpos(args[i],'c','m','0','0')};v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}



function P7_Snap() { //v2.62 by PVII
  var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,args=P7_Snap.arguments;a=parseInt(a);
  for (k=0; k<(args.length-3); k+=4)
   if ((g=MM_findObj(args[k]))!=null) {
    el=eval(MM_findObj(args[k+1]));
    a=parseInt(args[k+2]);b=parseInt(args[k+3]);
    x=0;y=0;ox=0;oy=0;p="";tx=1;da="document.all['"+args[k]+"']";
    if(document.getElementById) {
     d="document.getElementsByName('"+args[k]+"')[0]";
     if(!eval(d)) {d="document.getElementById('"+args[k]+"')";if(!eval(d)) {d=da;}}
    }else if(document.all) {d=da;} 
    if (document.all || document.getElementById) {
     while (tx==1) {p+=".offsetParent";
      if(eval(d+p)) {x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
      }else{tx=0;}}
     ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);var tw=x+ox+y+oy;
     if(tw==0 || (navigator.appVersion.indexOf("MSIE 4")>-1 && navigator.appVersion.indexOf("Mac")>-1)) {
      ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);
      }else{var w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;
      a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
      x=document.body.scrollLeft + event.clientX + bx;
      y=document.body.scrollTop + event.clientY;}}
   }else if (document.layers) {x=g.x;y=g.y;var q0=document.layers,dd="";
    for(var s=0;s<q0.length;s++) {dd='document.'+q0[s].name;
     if(eval(dd+'.document.'+args[k])) {x+=eval(dd+'.left');y+=eval(dd+'.top');break;}}}
   if(el) {e=(document.layers)?el:el.style;
   var xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
   if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)>4){xx+="px";yy+="px";}
   if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
    xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);
    xx+="px";yy+="px";}e.left=xx;e.top=yy;}}
}

function P7_autoLayers() { //v1.2 by PVII
 var g,b,k,f,args=P7_autoLayers.arguments;
 var a = parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.p7setc) {p7c=new Array();document.p7setc=true;
  for (var u=0;u<10;u++) {p7c[u] = new Array();}}
 for(k=0; k<p7c[a].length; k++) {
  if((g=MM_findObj(p7c[a][k]))!=null) {
   b=(document.layers)?g:g.style;b.visibility="hidden";}}
 for(k=1; k<args.length; k++) {
  if((g=MM_findObj(args[k])) != null) {
   b=(document.layers)?g:g.style;b.visibility="visible";f=false;
   for(j=0;j<p7c[a].length;j++) {
    if(args[k]==p7c[a][j]) {f=true;}}
  if(!f) {p7c[a][p7c[a].length++]=args[k];}}}
}

function P7_hideDiv(evt) { //v1.0 by PVII
 var b,relT,mT=false; 
 if(document.layers){b=evt.target;if(b.p7aHide){
  b.visibility="hidden";}else{routeEvent(evt);}
 }else if(document.all&&!window.opera){b=event.srcElement;
  while(b!=null){if(b.tagName=="DIV"){mT=true;break;}b=b.parentElement;}
  if(!b.contains(event.toElement)){b.style.visibility="hidden";}
 }else if(document.getElementById){b=evt.currentTarget;relT=evt.relatedTarget;
  while(relT!=null){if(b==relT){mT=true;break;}
  relT=relT.parentNode;}if(!mT){b.style.visibility="hidden";}}
}

function P7_autoHide() { //v1.0 by PVII
 var i,g,args=P7_autoHide.arguments;
 for(i=0;i<args.length;i++){if((g=MM_findObj(args[i]))!=null){
  g.p7aHide=true;if(document.layers){
  g.captureEvents(Event.MOUSEOUT);}g.onmouseout=P7_hideDiv;}}
}

function pviiClassNew(obj, new_style) { //v2.6 by PVII
  obj.className=new_style;
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function OldopenWin(parm) {
  window.open('/cgi-local/abchbdetail.cgi?'+parm + "&p=" + window.location.pathname,parm,'scrollbars=yes,resizable=yes,width=600,height=480');
}


function vp(cell,opt) {
	val = cell.value.replace(/[^\d\.]+/g, '');
	if (opt == "all" && val.toLowerCase() == "all") {
		cell.value="All";
		return;
	}
	if (isNaN(val)) {
		extra = (opt == "all") ? " or \"All\"" : "";
		alert(val + ' is invalid - value must be numeric' + extra + ' if specified');
		cell.focus();
	} else {
		if (opt == "price") {
			if (val.indexOf(".") < 0 && val > 0) {val = val + ".00"}
			if (val.indexOf(".") == val.length - 1 && val > 0) {val = val + "00"}
			if (val.indexOf(".") == val.length - 2) {val = val + "0"}
			if (val == 0) {
				val = "";
			}
		}
	}
	cell.value=val;
}

function hold_pos() { 
  var obj;
  if ((obj=MM_findObj('pagetop'))!=null) { 
	 if (document.all) {	// IE
		obj.style.top = (document.body.clientHeight + document.body.scrollTop - obj.clientHeight);
		if (document.body.scrollTop > 0) {
			MM_showHideLayers('pagetop','','show');
			} else {
			MM_showHideLayers('pagetop','','hide');
			}
		} else { 
		if (pageYOffset > 0) {
			MM_showHideLayers('pagetop','','show');
			} else {
			MM_showHideLayers('pagetop','','hide');
			}
		if (document.getElementById) {	// NS6+
			obj.style.top =(window.innerHeight + pageYOffset - obj.offsetHeight);
			} else {	// NS4
			obj.top =(window.innerHeight + pageYOffset - obj.clip.height);
			}
			setTimeout("hold_pos()",100);
		}
	}
}
//hold_pos();

function lyrpos(lyr,h,v,hPx,vPx){
	var obj,fun,dw,dh,lw,lh,x,y;
	fun = (document.getElementById) ? "document.getElementById" : "MM_findObj";
	obj = (document.getElementById) ? document.getElementById(lyr) : MM_findObj(lyr);
	if(obj){if(document.all){
	dw = document.body.clientWidth;dh = document.body.clientHeight;off=document.body.scrollTop;}
	else{dw = innerWidth;dh = innerHeight;off=pageYOffset;}
	if(document.layers){lw = obj.clip.width;lh = obj.clip.height;}else{
	lw = obj.style.width.replace("px","");lh = obj.style.height.replace("px","");}
	x = (document.layers) ? ".left" : ".style.left";
	y = (document.layers) ? ".top" : ".style.top";
	if(h == "l"){eval(fun+"('"+lyr+"')"+x+"="+hPx);}
	if(h == "c"){eval(fun+"('"+lyr+"')"+x+"="+dw+"/2-"+lw+"/2");}
	if(h == "r"){eval(fun+"('"+lyr+"')"+x+"="+dw+"-"+lw+"-"+hPx);}
	if(v == "t"){eval(fun+"('"+lyr+"')"+y+"="+vPx+"+"+off);}
	if(v == "m"){eval(fun+"('"+lyr+"')"+y+"="+dh+"/2-"+lh+"/2"+"+"+off);}
	if(v == "b"){eval(fun+"('"+lyr+"')"+y+"="+dh+"-"+lh+"-"+vPx);}}
}

function shortlist(venue,forceadd) {
	val = getCookie('shortlist');
	infav = 0;
	showadd = '';
	if (val) {
		arr = val.split(",");
		arr2 = new Array();
		var j = 0;
		for (var i = 0; i < arr.length; i++) {
			if (arr[i] != venue) {
				arr2[j++] = arr[i];
			} else {
				infav = 1;
			}
		}
		if (!infav || forceadd == true) {
			arr2[arr2.length] = venue;
		} else {
			showadd = true;
		}
		val = arr2.join(",");
	} else {
		val = venue;
	}
	
	setCookie('shortlist', val, 0, '/');
	
	if (showadd) {
		icon = '/abcicons/favadd.gif';
	} else {
		icon =  '/abcicons/fav.gif';
	}
	if (document['fav'+venue]) {
		document['fav'+venue].width = '13';
		document['fav'+venue].height = '11';
		document['fav'+venue].src =  icon;
	}
	if (window.opener) {
		if (window.opener['fav'+venue]) {
			window.opener['fav'+venue].width = '13';
			window.opener['fav'+venue].height = '11';
			window.opener['fav'+venue].src =  icon;
		}
	}
	if ((Wdtl[venue]) && (!Wdtl[venue].closed)) {
		Wdtl[venue]['fav'+venue].src = icon;
//		Wdtl[venue].favsw = showadd;
	}
}

function fixlist(venues) {	// display correct image after browser back button
	arr = venues.split(",");
	val = ','+getCookie('shortlist')+',';
	for (var i = 0; i < arr.length; i++) {
		srch = new RegExp(','+arr[i]+',');
		favadd = (val.match(srch))?'':'add';
		MM_swapImage('fav'+arr[i],'','/abcicons/fav'+favadd+'.gif',1);
		if ((Wdtl[arr[i]]) && (!Wdtl[arr[i]].closed)) {
			Wdtl[arr[i]]['fav'+arr[i]].src = document['fav'+arr[i]].src;
		}
	}
}
// cookie library:

// utility function to retrieve a future expiration date in proper format;
// pass three integer parameters for the number of days, hours,
// and minutes from now you want the cookie to expire; all three
// parameters required, so use zeros where appropriate
function getExpDate(days, hours, minutes) {
    var expDate = new Date();
    if (typeof days == "number" && typeof hours == "number" && typeof hours == "number") {
        expDate.setDate(expDate.getDate() + parseInt(days));
        expDate.setHours(expDate.getHours() + parseInt(hours));
        expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
        return expDate.toGMTString();
    }
}

// utility function called by getCookie()
function getCookieVal(offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) {
        endstr = document.cookie.length;
    }
    return unescape(document.cookie.substring(offset, endstr));
}

// primary function to retrieve cookie by name
function getCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
            return getCookieVal(j);
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break; 
    }
    return null;
}

// store cookie value with optional details as needed
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

// remove the cookie by setting ancient expiration date
function deleteCookie(name,path,domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

/* function hides the element identified with it's id (virtually id tag = function id parameter) 
 * if a certain  condition isn't met
 * 
 * @param id : id name of the element to be hidden or shown
 * @param selector : value of the selector element, for example: document.select_tag.value
 * @param show_flag : what should be the selector equal to if we want to show the id element  
 * @return none    
 **/ 
function styleDisplayChange(id,selector,show_flag){
	var element = document.getElementById(id);
	if (element && selector==show_flag) {
		var element_type = element.tagName;
		if (element_type=='TR') {
		  try {
        //standards compliant browsers not IE
        element.style.display = 'table-row';
      } catch(e) {
        //IE
        element.style.display = 'block';
      }
		} else {
			element.style.display = 'block';
		}
	} else if (element) {
		element.style.display = 'none';
	}
}


var htp_moveLayer = function(e) {
	if (!e) e = window.event;
	if (e) {
		if (e.pageX || e.pageY){
			mousex = e.pageX;
			mousey = e.pageY;
		} else if (e.clientX || e.clientY){
			mousex = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
			mousey = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
		}
	}
	popbox = htp_getPopBox('htpLayer');
	popbox.style.top = parseInt(mousey) + 14 + 'px';
	popbox.style.left = parseInt(mousex) + 20 + 'px';
	popbox.style.visibility = 'visible';
};
var htp_popHelp = function(a,msg,x,y) {
	ai = parseInt(a);
	popbox = htp_getPopBox('htpLayer');
	if(ai == 2) { /* Show Layer */
		document.onmousemove = htp_moveLayer;
		popbox.innerHTML = msg;
	} else { /* Hide Layer */
		document.onmousemove = null;
		popbox.style.visibility = 'hidden';
	}
};
var htp_getPopBox = function(name) {
	domEl = document.getElementById(name);
	if(!domEl) {
		domEl = document.createElement('div');
		domEl.id = name;
		domEl.style.position = 'absolute';
		domEl.style.visibility = 'hidden';
		domEl.style.top = '0px';
		domEl.style.left = '0px';
		domEl.innerHTML = '&#160;';
		domEl.className = 'p_pophelp';
		document.body.appendChild(domEl);
	}
	return domEl;
}
