var addthis_config={ui_click:true,services_compact: 'email, facebook, twitter',services_expanded: 'email,facebook,twitter',data_ga_tracker: "gaPageTracker"}
var isDOM=document.getElementById?1:0;
var isIE=document.all?1:0;
var isNS4=navigator.appName=='Netscape'&&!isDOM?1:0;
var isMAC=navigator.userAgent.indexOf('Mac')!=-1?1:0;
var isIE4=isIE&&!isDOM?1:0;
var isOp=window.opera?1:0;
var isDyn=isDOM||isIE||isNS4;
function getRef(id, par)
{
 par=!par?document:(par.navigator?par.document:par);
 return (isIE ? par.all[id] :
  (isDOM ? (par.getElementById?par:par.ownerDocument).getElementById(id) :
  (isNS4 ? par.layers[id] : null)));
}
function getSty(id, par)
{
 var r=getRef(id, par);
 return r?(isNS4?r:r.style):null;
}
if (!window.LayerObj) var LayerObj = new Function('id', 'par',
 'this.ref=getRef(id, par); this.sty=getSty(id, par); return this');
function getLyr(id, par) { return new LayerObj(id, par) }
function LyrFn(fn, fc)
{
 LayerObj.prototype[fn] = new Function('var a=arguments,p=a[0],px=isNS4||isOp?0:"px"; ' +
  'with (this) { '+fc+' }');
}
LyrFn('x','if (!isNaN(p)) sty.left=p+px; else return parseInt(sty.left)');
LyrFn('y','if (!isNaN(p)) sty.top=p+px; else return parseInt(sty.top)');
LyrFn('vis','sty.visibility=p');
LyrFn('bgColor','if (isNS4) sty.bgColor=p?p:null; ' +
 'else sty.background=p?p:"transparent"');
LyrFn('bgImage','if (isNS4) sty.background.src=p?p:null; ' +
 'else sty.background=p?"url("+p+")":"transparent"');
LyrFn('clip','if (isNS4) with(sty.clip){left=a[0];top=a[1];right=a[2];bottom=a[3]} ' +
 'else sty.clip="rect("+a[1]+"px "+a[2]+"px "+a[3]+"px "+a[0]+"px)" ');
LyrFn('write','if (isNS4) with (ref.document){write(p);close()} else ref.innerHTML=p');
LyrFn('alpha','var f=ref.filters,d=(p==null); if (f) {' +
 'if (!d&&sty.filter.indexOf("alpha")==-1) sty.filter+=" alpha(opacity="+p+")"; ' +
 'else if (f.length&&f.alpha) with(f.alpha){if(d)enabled=false;else{opacity=p;enabled=true}} }' +
 'else if (isDOM) sty.MozOpacity=d?"":p+"%"');
function setLyr(lVis, docW, par)
{
 if (!setLyr.seq) setLyr.seq=0;
 if (!docW) docW=0;
 var obj = (!par ? (isNS4 ? window : document.body) :
  (!isNS4 && par.navigator ? par.document.body : par));
 var IA='insertAdjacentHTML', AC='appendChild', newID='_js_layer_'+setLyr.seq++;
 if (obj[IA]) obj[IA]('beforeEnd', '<div id="'+newID+'" style="position:absolute"></div>');
 else if (obj[AC])
 {
  var newL=document.createElement('div');
  obj[AC](newL); newL.id=newID; newL.style.position='absolute';
 }
 else if (isNS4)
 {
  var newL=new Layer(docW, obj);
  newID=newL.id;
 }
 var lObj=getLyr(newID, par);
 with (lObj) if (ref) { vis(lVis); x(0); y(0); sty.width=docW+(isNS4?0:'px') }
 return lObj;
}
var CSSmode=document.compatMode;
CSSmode=(CSSmode&&CSSmode.indexOf('CSS')!=-1)||isDOM&&!isIE||isOp?1:0;
if (!window.page) var page = { win: window, minW: 0, minH: 0, MS: isIE&&!isOp,
 db: CSSmode?'documentElement':'body' }
page.winW=function()
 { with (this) return Math.max(minW, MS?win.document[db].clientWidth:win.innerWidth) }
page.winH=function()
 { with (this) return Math.max(minH, MS?win.document[db].clientHeight:win.innerHeight) }
page.scrollX=function()
 { with (this) return MS?win.document[db].scrollLeft:win.pageXOffset }
page.scrollY=function()
 { with (this) return MS?win.document[db].scrollTop:win.pageYOffset }
function popOver(mN, iN) { with (this)
{
 clearTimeout(hideTimer);
 overM = mN;
 overI = iN;
 if(overM != 'root'){ hideForm = getRef('hideWhenOverMenu', ''); if(hideForm){ hideForm.style.visibility = 'hidden'; }}
 if (iN && this.onmouseover) onmouseover(mN, iN);
 litOld = litNow;
 litNow = new Array();
 var litM = mN, litI = iN;
 while(1)
 {
  litNow[litM] = litI;
  if (litM == 'root') { break; }
  litI = menu[litM][0].parentItem;
  litM = menu[litM][0].parentMenu;
 }
 var same = true;
 for (var z in menu) if (litNow[z] != litOld[z]) same = false;
 if (same) return;
 clearTimeout(showTimer);
 for (thisM in menu) with (menu[thisM][0])
 {
  if (!lyr) continue;
  litI = litNow[thisM];
  oldI = litOld[thisM];
  if (litI && (litI != oldI)) changeCol(thisM, litI, true);
  if (oldI && (oldI != litI)) changeCol(thisM, oldI, false);
  if (litI && !visNow && (thisM != 'root'))
  {
   showMenu(thisM);
   visNow = true;
  }
  if (isNaN(litI) && visNow)
  {
   hideMenu(thisM);
   visNow = false;
  }
 }
 nextMenu = '';
 if ((menu[mN][iN].type == 'sm:') && !menu[mN][0].subsOnClick)
 {
  var targ = menu[mN][iN].href, lyrM = menu[mN][0].lyr;
  var showStr = 'with ('+myName+') { menu.'+targ+'[0].visNow = true; ' +
   'position("'+targ+'"); showMenu("'+targ+'") }';
  nextMenu = targ;
  if (showDelay) showTimer = setTimeout(showStr, showDelay);
  else eval(showStr);
 }
}}
function popOut(mN, iN) { with (this)
{
 if(overM){ hideForm = getRef('hideWhenOverMenu', ''); if(hideForm){ hideForm.style.visibility = 'visible'; }}
 if ((mN != overM) || (iN != overI)) return;
 if (this.onmouseout) onmouseout(mN, iN);
 var thisI = menu[mN][iN];
 if (thisI.href != nextMenu)
 {
  clearTimeout(showTimer);
  nextMenu = '';
 }
 if (hideDelay)
 {
  var delay = ((mN == 'root') && (thisI.type != 'sm:')) ? 50 : hideDelay;
  hideTimer = setTimeout(myName + '.over("root", 0)', delay);
 }
 overM = 'root';
 overI = 0;
}}
/*function popClick(mN, iN) { with (this)
{
 alert(this.onclick);
 if (this.onclick) onclick(mN, iN);
if(menu[mN]!=undefined){ }
 var thisI = menu[mN][iN], hideM = true;

 with (thisI) switch (type)
 {
  case 'sm:':
  {
   if (menu[overM][0].subsOnClick)
   {
    menu[href][0].visNow = true;
    position(href);
    showMenu(href);
    hideM = false;
   }
   break;
  }
  case 'js:': { eval(href); break }
  case '': type = 'window';
  default: if (href) eval(type + '.location.href = "' + href + '"');
 }
 if (hideM) over('root', 0);
}}*/
function popClick(evt) { with (this)
{
 if (overI)
 {
  if (this.onclick) this.onclick();

  var thisI = menu[overM][overI];

  with (thisI) switch (type)
  {
   case 'sm:': return;
   case 'js:': { eval(href); break }
   case '': type = 'window';
   default: if (href) eval(type + '.location.href = "' + href + '"');
  }
 }

 over('root', 0);
}}
function popChangeCol(mN, iN, isOver) { with (this.menu[mN][iN])
{
 if (!lyr || !lyr.ref) return;
 var col = isOver?overCol:outCol;
 var bgFn = (col.indexOf('.')==-1) ? 'bgColor' : 'bgImage';
 if (isNS4) lyr[bgFn](col);
 if ((overClass != outClass) || (outBorder != overBorder)) with (lyr)
 {
  if (isNS4) write(this.getHTML(mN, iN, isOver));
  else
  {
   ref.className = (isOver ? overBorder : outBorder);
   var chl = (isDOM ? ref.childNodes : ref.children)
   if (chl) for (var i = 0; i < chl.length; i++) chl[i].className = isOver?overClass:outClass;
  }
 }
 if (!isNS4) lyr[bgFn](col);
 if (outAlpha != overAlpha) lyr.alpha(isOver ? overAlpha : outAlpha);
}}
function popPosition(posMN) { with (this)
{
 for (mN in menu)
 {
  if (posMN && (posMN != mN)) continue;
  with (menu[mN][0])
  {
   if (!lyr || !lyr.ref || !visNow) continue;
   var pM, pI, newX = eval(offX), newY = eval(offY);
   if (mN != 'root')
   {
    pM = menu[parentMenu];
    pI = pM[parentItem].lyr;
    if (!pI) continue;
   }
   var eP = eval(par);
   var pW = (eP && eP.navigator ? eP : window);
   with (pW.page) var sX=scrollX(), wX=sX+winW(), sY=scrollY(), wY=winH()+sY;
   wX = isNaN(wX)||!wX ? 9999 : wX;
   wY = isNaN(wY)||!wY ? 9999 : wY;
   if (pM && typeof(offX)=='number') newX = Math.max(sX,
    Math.min(newX+pM[0].lyr.x()+pI.x(), wX-menuW-(isIE?5:20)));
   if (pM && typeof(offY)=='number') newY = Math.max(sY,
    Math.min(newY+pM[0].lyr.y()+pI.y(), wY-menuH-(isIE?5:20)));
   lyr.x(newX);
   lyr.y(newY);
  }
 }
}}
function addProps(obj, data, names, addNull)
{
 for (var i = 0; i < names.length; i++) if(i < data.length || addNull) obj[names[i]] = data[i];
}
function ItemStyle()
{
 var names = ['len', 'spacing', 'popInd', 'popPos', 'pad', 'outCol', 'overCol', 'outClass',
  'overClass', 'outBorder', 'overBorder', 'outAlpha', 'overAlpha', 'normCursor', 'nullCursor'];
 addProps(this, arguments, names, true);
}
function popStartMenu(mName) { with (this)
{
 if (!menu[mName]) { menu[mName] = new Array(); menu[mName][0] = new Object(); }
 actMenu = menu[mName];
 aM = actMenu[0];
 actMenu.length = 1;
 var names = ['isVert', 'isVert', 'offX','offY', 'width', 'itemSty', 'par',
  'parentMenu', 'parentItem', 'visNow', 'oncreate', 'subsOnClick'];
 addProps(aM, arguments, names, true);
 aM.extraHTML = '';
 aM.menuW = aM.menuH = 0;
 if (!aM.lyr) aM.lyr = null;
 if (mName == 'root') menu.root[0].oncreate = new Function('this.visNow=true; ' +
  myName + '.position("root"); this.lyr.vis("visible")');
}}
function popAddItem() { with (this) with (actMenu[0])
{
 var aI = actMenu[actMenu.length] = new Object();
 var names = ['text', 'href', 'type', 'itemSty', 'len', 'spacing', 'popInd', 'popPos',
  'pad', 'outCol', 'overCol', 'outClass', 'overClass', 'outBorder', 'overBorder',
  'outAlpha', 'overAlpha', 'normCursor', 'nullCursor',
  'iX', 'iY', 'iW', 'iH', 'lyr'];
 addProps(aI, arguments, names, true);
 var iSty = (arguments[3] ? arguments[3] : actMenu[0].itemSty);
 for (prop in iSty) if (aI[prop]+'' == 'undefined') aI[prop] = iSty[prop];
 if (aI.outBorder)
 {
  if (isNS4) aI.pad++;
 }
 aI.iW = (isVert ? width : aI.len);
 aI.iH = (isVert ? aI.len : width);
 var lastGap = (actMenu.length > 2) ? actMenu[actMenu.length - 2].spacing : 0;
 var spc = ((actMenu.length > 2) && aI.outBorder ? 1 : 0);
 if (isVert)
 {
  menuH += lastGap - spc;
  aI.iX = 0; aI.iY = menuH;
  menuW = width; menuH += aI.iH;
 }
 else
 {
  menuW += lastGap - spc;
  aI.iX = menuW; aI.iY = 0;
  menuW += aI.iW; menuH = width;
 }
 if (aI.outBorder && CSSmode)
 {
  aI.iW -= 2;
  aI.iH -= 2;
 }
}}
function popGetHTML(mN, iN, isOver) { with (this)
{
 var itemStr = '';
 with (menu[mN][iN])
 {
  var textClass = (isOver ? overClass : outClass);
  if ((type == 'sm:') && popInd)
  {
   if (isNS4) itemStr += '<layer class="' + textClass + '" left="'+ ((popPos+iW)%iW) +
    '" top="' + pad + '" height="' + (iH-2*pad) + '">' + popInd + '</layer>';
   else itemStr += '<div class="' + textClass + '" style="position: absolute; left: ' +
    ((popPos+iW)%iW) + 'px; top: ' + pad + 'px; height: ' + (iH-2*pad) + 'px">' + popInd + '</div>';
  }
  if (isNS4) itemStr += (outBorder ? '<span class="' + (isOver?overBorder:outBorder) +
   '"><spacer type="block" width="' + (iW-8) + '" height="' + (iH-8) + '"></span>' : '') +
   '<layer left="' + pad + '" top="' + pad + '" width="' + (iW-2*pad) + '" height="' +
   (iH-2*pad) + '"><a class="' + textClass + '" href="#" ' +
   'onClick="return false" onMouseOver="status=\'\'; ' + myName + '.over(\'' + mN + '\',' +
   iN + '); return true">' + text + '</a></layer>';
  else itemStr += '<div class="' + textClass + '" style="position: absolute; left: ' + pad +
   'px; top: ' + pad + 'px; width: ' + (iW-2*pad) + 'px; height: ' + (iH-2*pad) + 'px">' +
   text + '</div>';
 }
 return itemStr;
}}
function popUpdate(docWrite, upMN) { with (this)
{
 if (!isDyn) return;
 for (mN in menu) with (menu[mN][0])
 {
  if (upMN && (upMN != mN)) continue;
  var str = '';
  for (var iN = 1; iN < menu[mN].length; iN++) with (menu[mN][iN])
  {
   var itemID = myName + '_' + mN + '_' + iN;
   var targM = menu[href];
   if (targM && (type == 'sm:'))
   {
    targM[0].parentMenu = mN;
    targM[0].parentItem = iN;
   }
   var isImg = (outCol.indexOf('.') != -1) ? true : false;
   if (!isIE && normCursor=='hand') normCursor = 'pointer';
   if (isDOM || isIE4)
   {
   	// Mark - 08/02/2006 - Added a class called root-menu-display so I can hide root nav when printing
	// Default here was '' when testing for outBorder. Since we are using images in the root
	// outBorder was always false
    str += '<div id="' + itemID + '" ' + (outBorder ? 'class="'+outBorder+'" ' : 'class="root-menu-display"') +
     'style="position: absolute; left: ' + iX + 'px; top: ' + iY + 'px; width: ' + iW +
     'px; height: ' + iH + 'px; z-index: 1000; background: ' + (isImg?'url('+outCol+')':outCol) +
     ((typeof(outAlpha)=='number') ? '; filter: alpha(opacity='+ outAlpha + '); -moz-opacity: ' +
      (outAlpha/100) : '') +
     '; cursor: ' + ((type!='sm:' && href) ? normCursor : nullCursor) + '" ';
   }
   else if (isNS4)
   {
    str += '<layer id="' + itemID + '" left="' + iX + '" top="' + iY + '" width="' +
     iW + '" height="' + iH + '" z-index="1000" ' +
     (outCol ? (isImg ? 'background="' : 'bgcolor="') + outCol + '" ' : '');
   }
   var evtMN = '(\'' + mN + '\',' + iN + ')"';
   str += 'onMouseOver="' + myName + '.over' + evtMN +
     ' onMouseOut="' + myName + '.out' + evtMN +
     ' onClick="' + myName + '.click' + evtMN + '>' +
     getHTML(mN, iN, false) + (isNS4 ? '</layer>' : '</div>');
  }
  var eP = eval(par);
  setTimeout(myName + '.setupRef(' + docWrite + ', "' + mN + '")', 50);
  var mVis = visNow ? 'visible' : 'hidden';
  if (docWrite)
  {
   var targFr = (eP && eP.navigator ? eP : window);
   targFr.document.write('<div id="' + myName + '_' + mN + '_Div" style="position: absolute; ' +
    'visibility: ' + mVis + '; left: 0px; top: 0px; width: ' + (menuW+2) + 'px; height: ' +
    (menuH+2) + 'px; z-index: 1000">' + str + extraHTML + '</div>');
  }
  else
  {
   if (!lyr || !lyr.ref) lyr = setLyr(mVis, menuW, eP);
   else if (isIE4) setTimeout(myName + '.menu.' + mN + '[0].lyr.sty.width=' + (menuW+2), 50);
   with (lyr) { sty.zIndex = 1000; write(str + extraHTML) }
  }
 }
}}
function popSetupRef(docWrite, mN) { with (this) with (menu[mN][0])
{
 if (docWrite || !lyr || !lyr.ref) lyr = getLyr(myName + '_' + mN + '_Div', eval(par));
 for (var i = 1; i < menu[mN].length; i++)
  menu[mN][i].lyr = getLyr(myName + '_' + mN + '_' + i, (isNS4?lyr.ref:eval(par)));
 if (menu[mN][0].oncreate) oncreate();
}}
function PopupMenu(myName)
{
 this.myName = myName;
 this.showTimer = 0;
 this.hideTimer = 0;
 this.showDelay = 0;
 this.hideDelay = 500;
 this.showMenu = '';
 this.menu =  new Array();
 this.litNow = new Array();
 this.litOld = new Array();
 this.overM = 'root';
 this.overI = 0;
 this.actMenu = null;
 this.over = popOver;
 this.out = popOut;
 this.changeCol = popChangeCol;
 this.position = popPosition;
 this.click = popClick;
 this.startMenu = popStartMenu;
 this.addItem = popAddItem;
 this.getHTML = popGetHTML;
 this.update = popUpdate;
 this.setupRef = popSetupRef;
 this.showMenu = new Function('mName', 'this.menu[mName][0].lyr.vis("visible")');
 this.hideMenu = new Function('mName', 'this.menu[mName][0].lyr.vis("hidden")');
}

var aSpace;
function getSpacer()
{
	var pW = page.winW();
	var sB = 0;
	if(!isIE && isDyn){  
		if(document.width != page.winW()){ 
			sB = 18; 
		}
	}
	if(isMAC && isIE){
		extraSpace = 0;
	} else {
		extraSpace = page.winW() - 1000 - sB;
	}
	aSpace = extraSpace > 0 ? extraSpace/2 + 0 : 0;
	if(aSpace < 15){ aSpace = 15; }
	//alert('Page Width: ' + page.winW() + ' Doc Width: ' + document.width);
}
getSpacer();

// styleName = new ItemStyle(length of items, spacing after items, 'popout indicator HTML',
//  popout indicator position, padding of text within item, 'out background colour or image
//  filename', 'hover background colour or filename', 'out text stylesheet class', 'hover text class',
//  'out border stylesheet class', 'hover border class', out opacity percentage or null to make
//  it fully opaque, hover opacity percentage or null, 'CSS mouse cursor for normal items',
//  'CSS cursor for sm: and blank items');

var rootNav = new ItemStyle(20, 0, '', 0, 0, '/images/lf/bg-nav-main.gif', '/images/lf/bg-nav-main-on.gif', 'rootText', 'rootHover', '', '', null, null, 'hand', 'hand');
var placesNav = new ItemStyle(22, 0, '', 0, 0, '/images/lf/nav-main1.gif', '/images/lf/nav-main1-on.gif', '', '', '', '', null, null);
var outdoorNav = new ItemStyle(22, 0, '', 0, 0, '/images/lf/nav-main2.gif', '/images/lf/nav-main2-on.gif', '', '', '', '', null, null);
var thingNav = new ItemStyle(22, 0, '', 0, 0, '/images/lf/nav-main3.gif', '/images/lf/nav-main3-on.gif', '', '', '', '', null, null);
var eNav = new ItemStyle(22, 0, '', 0, 0, '/images/lf/nav-main4.gif', '/images/lf/nav-main4-on.gif', '', '', '', '', null, null);
var visitorNav = new ItemStyle(22, 0, '', 0, 0, '/images/lf/nav-main5.gif', '/images/lf/nav-main5-on.gif', '', '', '', '', '', '', null, null);
var groupNav = new ItemStyle(22, 0, '', 0, 0, '/images/lf/nav-main6.gif', '/images/lf/nav-main6-on.gif', '', '', '', '', '', '', null, null);
var realestateNav = new ItemStyle(22, 0, '', 0, 0, '/images/lf/nav-main7.gif', '/images/lf/nav-main7-on.gif', '', '', '', '', '', '', null, null);
var subM = new ItemStyle(24, 0, '&gt;', -15, 2, '#929291', '#5B5B5B', 'itemText', 'itemHover', 'itemBorder', 'itemBorder', 95, 95, 'pointer','pointer');
if(screen.width){var tspotsLeft=(screen.width-940)/2;var tspotsTop=(screen.height-645)/2;}else{var tspotsLeft=30; var tspotsTop=30;}
var topSpotWinFeatures = "width=945,height=645,left="+tspotsLeft+",top="+tspotsTop+",resizable,scrollbars";
var pMenu = new PopupMenu('pMenu');
with (pMenu)
{

// assume scroll bar on load, adjust onload if there isn't one
aSpace -= 9;
startMenu('root', false, "'" + aSpace + "'", '0', 22, rootNav);
addItem("",'mPlaces','sm:',placesNav,123);
addItem("",'mOutdoor','sm:',outdoorNav,151);
addItem("",'mThings','sm:',thingNav,103);
addItem("","/events/",'',eNav,119);
addItem("",'mVisitor','sm:',visitorNav,116);
addItem("",'mGroups','sm:',groupNav,77);
addItem("",'http://utahrealestate.utah.com','',realestateNav,98);

startMenu('mPlaces', true, -1, 23, 170, subM);
addItem("Utah's Best Destinations", '/destinations/', '');
addItem('National Parks', '/nationalparks/', '');
addItem('National Sites', '/nationalsites/', '');
addItem('State Parks', '/stateparks/', '');
addItem('Scenic Byways', '/byways/', '');
addItem('Other Playgrounds', '/playgrounds/', '');
addItem('Top Spots Multimedia','window.open("/utah_logs/thing_link_log.php?log=http://www.utah.com/topspots/index.htm","topspots",topSpotWinFeatures)','js:');

startMenu('mOutdoor', true, -1, 23, 150, subM);
addItem('Skiing/Boarding', '/ski/', '');
addItem('Snowmobile', '/snowmobile/', '');
addItem('Whitewater Rafting', '/raft/', '');
addItem('Camping', '/camping/', '');
addItem('Boating', '/boating/', '');
addItem('Bike', '/bike/', '');
addItem('Hike', '/hike/', '');
addItem('Off-Road/ATV', '/offroad/', '');
addItem('Golf', '/golf/', '');
addItem('Wildlife', '/wildlife/', '');
addItem('Fish', '/fish/', '');
addItem('Hunt', '/hunt/', '');
addItem('Rock Hounding', '/hike/rock_hounding.htm', '');
addItem('Horseback Riding', '/horseback/', '');
addItem('Extreme Sports', '/extreme_sports/', '');

startMenu('mThings', true, -1, 23, 170, subM);
addItem('Heritage/Culture', '/culture/', '');
addItem('Mormon Heritage', '/mormon/', '');
addItem('The Old West', '/oldwest/', '');
addItem('Dinosaur', '/dinosaur/', '');
addItem('Performing Arts', '/arts/', '');
addItem('Museums', '/museums/', '');
addItem('Events', '/database/events/', '');
addItem('Amusement', '/amusement/', '');
addItem('Sports Teams', '/sports/', '');
addItem('Shopping', '/shopping/', '');
addItem('College & Universities', '/colleges/', '');
addItem('Spa Resorts/Retreats', '/attractions/spas_resorts.htm', '');

startMenu('mVisitor', true, -1, 23, 150, subM);
addItem('Utah Travel Store', 'http://www.utah.com/store/', '');
addItem('Request Information', '/visitor/contact_us/info_request.htm', '');
addItem('Welcome', '/visitor/', '');
addItem('About Us/Copyright', '/copyright/', '');
addItem('Press Room', '/press_room/', '');
addItem('Photo/Video Tours', '/multimedia/phototour/', '');
addItem('Postcards', '/postcards/', '');
addItem('State Facts', '/visitor/state_facts/', '');
addItem('Travel Offices', '/visitor/travel_offices/', '');
addItem('Relocation', 'http://utahrealestate.utah.com/relocation.htm', '');
addItem('Contact Us', '/visitor/contact_us/', '');
//addItem('Trip Packages', '/trip_packages/', '');
addItem('Monthly Travel Tips', 'window.open("/newsletter/travel_tips.htm","","")', 'js:');

startMenu('mGroups', true, -1, 23, 165, subM);
addItem('Meetings/Conventions', '/groups/meetings.htm', '');
addItem('Business Retreats', '/groups/retreats.htm', '');
addItem('Groups/Family Reunions', '/groups/family.htm', '');
addItem('Tours', '/groups/tour_operators.htm', '');

startMenu('mRealEstate', true, -1, 23, 150, subM);
addItem('New Homes', 'window.open("http://www.utahrealestateconnection.com","","toolbar,menubar,location,width=775,height=500,left=10,top=10,resizable,scrollbars")', 'js:');
addItem('Existing Homes', 'window.open("/utah_logs/thing_link_log.php?log=http://www.utahrealestate.com","","toolbar,menubar,location,width=775,height=500,left=10,top=10,resizable,scrollbars")', 'js:');
addItem('Recreational Property', 'window.open("/realestate/timeshare_overview.htm","","toolbar,menubar,location,width=775,height=500,left=10,top=10,resizable,scrollbars")', 'js:');
addItem('Mortgages / Brokers', 'window.open("/utah_logs/thing_link_log.php?log=http://www.securityhomemortgage.com","","toolbar,menubar,location,width=775,height=500,left=10,top=10,resizable,scrollbars")', 'js:');
addItem('Realtors', 'window.open("/realestate/utahrealtors.htm","","toolbar,menubar,location,width=775,height=500,left=10,top=10,resizable,scrollbars")', 'js:');
addItem('Relocation', 'window.open("/realestate/relocation.htm","","toolbar,menubar,location,width=775,height=500,left=10,top=10,resizable,scrollbars")', 'js:');
addItem('Houseboats', 'window.open("/realestate/houseboats.htm","","toolbar,menubar,location,width=775,height=500,left=10,top=10,resizable,scrollbars")', 'js:');

}

if (!isNS4)
{
 pMenu.update(true);
}
else
{
 var popOldOL = window.onload;
 window.onload = function()
 {
  if (popOldOL) popOldOL();
  pMenu.update();
 }
}

window.onload = function(){
	setTimeout("repositionMenu()", 1);
	if(window.load != undefined){
		load(clat, clong, zlevel); // Load Google Map
	}
	if(window.loadthingmap){
		loadthingmap(clat, clong, zlevel, mapinfo); // Load Google Map
	}
	loc=window.location.href;urlPieces=loc.split("?");
	if(urlPieces[1]=='sv=1'){
		window.startVideo=true;
	}
	if(window.startVideo){
		if(document.getElementById("video_interface")){
			setTimeout("callExternalInterface()",1500);
		}
	}
}

window.onunload = function(){
	if(window.GUnload){
		GUnload();
	}
}

function repositionMenu(){
	getSpacer();
	moveRootH(aSpace);
}

window.onresize = function()
{
 ns4BugCheck();
 	if(isIE||isDOM){
 		getSpacer();
		moveRootH(aSpace);
	}
}

window.onscroll = function()
{
}


// NS4 can't reliably capture clicks on layers, so here's a workaround.
if (isNS4)
{
 document.captureEvents(Event.CLICK);
 document.onclick = function(evt)
 {
  with (pMenu) if (overI) click(overM, overI);
  return document.routeEvent(evt);
 }
}

var nsWinW = window.innerWidth, nsWinH = window.innerHeight;
function ns4BugCheck()
{
 if (isNS4 && (nsWinW!=innerWidth || nsWinH!=innerHeight) ) location.reload();
}

if (!isIE || isOp)
{
 var nsPX=pageXOffset, nsPY=pageYOffset;
 setInterval('if (nsPX!=pageXOffset || nsPY!=pageYOffset) ' +
 '{ nsPX=pageXOffset; nsPY=pageYOffset; window.onscroll() }', 50);
}

function menuClip(menuObj, menuName, dir)
{
 var mD = menuObj.menu[menuName][0];
 if (!mD.timer) mD.timer = 0;
 if (!mD.counter) mD.counter = 0;
 with (mD)
 {
  clearTimeout(timer);
  if (!lyr || !lyr.ref) return;
  if (dir==1) lyr.vis('visible');
  lyr.sty.zIndex = 1001 + dir;
  lyr.clip(0, 0, menuW+2, (menuH+2)*Math.pow(Math.sin(Math.PI*counter/20),0.75) );
  counter += dir;
  if (counter==11) { counter = 10; if (isDOM&&!isIE) lyr.sty.clip='' }
  else if (counter<0) { counter = 0; lyr.vis('hidden') }
  else timer = setTimeout(menuObj.myName+'.'+(dir==1?'show':'hide')+'Menu("'+menuName+'")', 40);
 }
}

if (!window.opera)
{
 pMenu.showMenu = new Function('mN','menuClip(pMenu, mN, 1)');
 pMenu.hideMenu = new Function('mN','menuClip(pMenu, mN, -1)');
}

function moveRootH(hS)
{
 with (pMenu.menu.root[0].lyr) x( (x()<0) ? 0 : hS);
}

function mailpage(mailhref)
{
  mail_str = "mailto:?subject=Check out this page on Utah.com"
  mail_str += "&body="  +  window.location.href;
  mailhref.location.href = mail_str;
}

var media_win;
function openMedia(url)
{
	features = 'width=600,height=500';
	
	media_win = window.open(url, '', features);
}

function openEvent(url, height)
{
	features = 'width=620,height=' + height + ',scrollbars,resizable=yes';
	
	media_win = window.open(url, '', features);
}

function openThing(url)
{
	features = 'width=620,height=550,scrollbars,resizable=yes';
	thingwin = window.open(url, 'thingwin', features);
	thingwin.focus();
}

function OpenImageWindow(url,id,height,width) {
	var rand_name = 'image_'+id;
	width = (width  - 0) + 20;
	height = (height  - 0) + 20;
	if(screen.width){var tspotsLeft=(screen.width-width)/2;var tspotsTop=(screen.height-height)/2;}else{var tspotsLeft=30; var tspotsTop=30;}
	var winFeatures = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width="+width+",height="+height+",left="+tspotsLeft+",top="+tspotsTop;
	newWindow = window.open(url, rand_name,winFeatures,'true');
	newWindow.window.focus();
	return newWindow;
}

function OpenPhotoTourWindow(url,id,height,width) {
	tourWindow = window.open(url, id,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0, resizable=0,width="+width+",height="+height,'true');
	tourWindow.window.focus();
}

function openLocal(pageId){

localUrl = "/database/ask_a_local/?id=" + pageId;

var features = "width=620,height=400,left=30,top=30,scrollbars=yes,resizable=yes";

winLocal = window.open(localUrl,"askLocal",features);
winLocal.focus();

}

function openGMAP(url){
	var features = "width=620,height=500,left=30,top=30,scrollbars=yes,resizable=yes";
	winLocal = window.open(url,"gmap",features);
	winLocal.focus();
}

function openStore(pid){
	localUrl = "/store/product.htm?pid=" + pid;
	var features = "width=450,height=475,screenX=10,screenY=10,top=10,left=10,scrollbars=yes";
	winLocal = window.open(localUrl,"prodWin",features);
	winLocal.focus();
	return winLocal;
}

function swapImg(id, fname){
	document.images[id].src = '/art/lf/nav/' + fname;
}

function swapImg2(id, fullfilename){
	document.images[id].src = fullfilename;
}

function swapAd(){
	if(document.sponsor_img && document.panoad){
		document.panoad.src = document.sponsor_img;
	}
}

if(document.sponsor_img != null){
	sponsorTimer = setTimeout("swapAd()", 3000);
}

function toggleDisplay(showid, display){
	togid = getSty(showid, window.document);
	togid.display=display;
}

function callExternalInterface() {
    thisMovie("video_interface").playVideo();
}

function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    }
    else {
		// embedded object
		movieName = 'video-main';
        return document[movieName];
    }
}

var videoId = 0;function setVideoId(id){if(videoId=='undefined'){videoId=0;}else{videoId = id;}}function playSelectedVideo(){thisMovie("video_interface").playSelectedVideo();}function getSelectedVideoId(){return videoId;}
var playerStatus=null;function setPlayerStatus(status){playerStatus=status;}
 
/*
function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

var surveyCookie = readCookie('utc');

if(surveyCookie == null){
	var rndNumber = Math.floor(Math.round(Math.random() * 15))
	if(rndNumber == 12){
		createCookie('utc','y',365);
		window.open('/surveys/travel_survey.php','','');
	}
} 
*/
