﻿// JScript File
    
var div;var divIdx;var nc=new Array();
var map2;var bOnDemand=false;
var asl=null;
var lact=null
var pgevt;var div;var divIdx;var nc=new Array();var ajevt=null;var addTree;var addfld;var addkeys;var rName='';
var lgPID;var istp=false;var acced=false;var last=null;var lastT=null;var lastP=null;var lnk;var pncls='clsPin1'
if (isIE6p()){pncls='clsPin2'}
function _sparms(){var i=readCookie("sparms");return i}
function _ssparms(v){if (v==null){eraseCookie("sparms")}else{createCookie("sparms",v,365)}}

function _Cmpstyle(){var i=readCookie("mapstyle");if (i==null){i='r';}return i}
function _sCmpstyle(v){createCookie("mapstyle",v,365)}

function setFocus(o){if(o){try{o.focus()}catch(e){}}}
function getObj(objID) {if (document.getElementById){return document.getElementById(objID);}else if (document.all){return document.all[objID];}else if (document.layers){return document.layers[objID];}}
function _pgEvt(){var e;try{e=event}catch(err){};return e}
function _cnEvt(evt){try{evt = (evt) ? evt : window.event;evt.returnValue = false;evt.cancelBubble = true;}catch(err){};}
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(cookie_name) {var results = document.cookie.match ( cookie_name + '=(.*?)(;|$)' );  if ( results ){return ( unescape ( results[1] ) )}else{return null}}
function eraseCookie(name) {createCookie(name,"",-1);}
function showError(error) {var stackTrace = error.get_stackTrace();var message = error.get_message();var statusCode = error.get_statusCode();var exceptionType = error.get_exceptionType();var timedout = error.get_timedOut();alert(message);}
function OnDataFail(error){showError(error);return;}

function printhis(k){}
function emailthis(k){}
function showVideoInline(){if(document.getElementById('divVid')){document.getElementById('divVid').style.display=''};document.getElementById('imgFull').style.display='none';}
function showFullSize2(src,t) { if(document.getElementById('divVid')){document.getElementById('divVid').style.display='none'};document.getElementById('imgFull').style.display=''; document.getElementById('imgFull').src = src;document.getElementById('imgFull').title=t; document.getElementById('imgFullDesc').innerHTML=t }
function OnFailed2(error){ showError(error);}
function donothing(){}
function disablelink(a){a.disabled=true;a.onclick=dontdo;a.href=''}
function enablelink(a,href){a.disabled=false;a.onclick='';a.href = href;}
function dontdo(){return false}

  
 function serviceProxy(serviceUrl) {
     var _I = this;
     this.serviceUrl = serviceUrl;
     this.invoke = function(method, data, callback, error) {
         var json = JSON.stringify(data);
         var url = _I.serviceUrl + method;
         $.ajax({
             url: url,
             data: json,
             type: "POST",
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function(data) {
                 if (data.d) { data = data.d }
                 if (!callback) return; callback(data); return;
             },
             error: function(err) { if (!error) return; error(err); return; }
         });
     }
 }
 

// **************  START GLOBAL SEARCH ******************************************************** 
var gsText='';var gsURL='';;var qsCtx='DEST';
function gstypechange(a){var t=a.options[ a.selectedIndex].value;if (t!='x'){qsCtx=t;var o = $find('bhvQS'); o._contextKey=qsCtx;gsURL='';gsText=''}}
function chkqssubmit(e){if(e && e.keyCode == Sys.UI.Key.enter){qs(e)}} 
function qs(e){_cnEvt(e);if (txtGS.value!='' && txtGS.value!='enter search criteria here'){doQS()}else{window.alert("Please enter a destination, hotel, attraction, or Cruise Ship and click 'go'")}; return false;}
function onQSearchItemSelected(s,a){gsText=a.get_text();gsURL=a.get_value().split('|')[0];doQS()}  
function doQS(){
    _cnEvt() ;var loc='';
     if (gsURL!='' && gsText==txtGS.value){window.location=gsURL
    }else if (txtGS.value!='' ){
           switch (qsCtx){
            case 'HOT':  loc='/hotel/search.aspx?hn=' + txtGS.value;break;
            case 'CRS':  loc='/cruise/search.aspx?sn=' + txtGS.value;break;
        }            
        if (loc!=''){window.location=loc}else{showQS ()}
   }   
}
function showQS(){mShowModalWin('QuickSearch','aj','/widgets/QuickSearch/widget.aspx?pst=' + escape(txtGS.value) + '&ct='+qsCtx,400,650,60,true,false)}

// **************  END GLOBAL SEARCH ********************************************************  


// **************  START VIDEO ********************************************************  
function showVideo(url,title,type,h,w){mShowModalWin('Video','aj','/widgets/VideoPlayer/widget.aspx?u=' + escape(url) + '&t=' + type + '&h=' + h + '&w=' +w  + '&title=' +escape(title),550  ,700,30,true,false)}
function hideVideo2(e){  window.setTimeout(hideVideo,25)}//if this is done to quickly on click, it causes an error
function hideVideo(){hideModal('aj')} 
// **************  END VIDEO ********************************************************  
// **************  START COMMON MAP ********************************************************  
function fPop(h,k,ty,t,l){ return h}
// **************  END COMMON MAP ********************************************************  

// **************  START USER REVIEW ********************************************************  
function showReviewwin(pk,rid,ct){mShowModalWin('UserRating','aj','/widgets/UserRating/widget.aspx?rid=' + rid + '&ppk='+ pk + '&ct='+ct,650,850,0,true,false) }   
// **************  END USER REVIEWP ********************************************************  

// **************  GUI ELEMENTS ********************************************************  

function openprint(u){var win= window.open(u,'starprintwin'); if (!win){alert('Unable to show Print window.  Please be sure your popup blockers are disabled.')}else{win.focus();}}
function riskwhat(){var win= window.open('/pages/risklevels.aspx'); if (!win){alert('Unable to show Risk Level definitions.  Please be sure your popup blockers are disabled.')}else{win.focus();}}
function togVid(a){var divWM=document.getElementById('divWM');var divRM=document.getElementById('divRM');_svpr(a);if (a=='RM'){divRM.style.display="";divWM.style.display="none";}else{divWM.style.display="";divRM.style.display="none";}}
function dogetalldest(u,l,h){document.getElementById('pnlListP').className='ColumnLinkListRef';PTGWS.GetListDest(u,l,h,ondogetalldest,showError)}
function ondogetalldest(s){pnlListPlaces.innerHTML=s;pnlListPlaces.className='ColumnLinkList';document.getElementById('pnlListP').className=''}
function tglStyle(a){if(a.className=='cSlideVHS'){a.className= 'cSlideVH'}else{a.className= 'cSlideVHS'}}
function showmore(){document.getElementById('divMore').className='cMoreS';document.getElementById('lnkMore').className='cMoreH';document.getElementById('lnkLess').className='cMoreS';}
function showless(){document.getElementById('divMore').className='cMoreH';document.getElementById('lnkMore').className='cMoreS';document.getElementById('lnkLess').className='cMoreH'}
function hidewait(){$find('popBhvWait').hide();}
function showwait(msg){if (!msg){msg='Applying Changes'} document.getElementById('spnWaitMsg').innerHTML=msg +'...';$find('popBhvWait').show();}
function accChanging(s,a){ var idx=a._selectedIndex;rot_pnls[idx].className='';rot_pnls[rot_pnlsL].className='cPanelROff'; rot_pnlsL=idx}
function setTab(a,i){
    if (i==null  || i=='undefined'){i=''}
    var _lasttab=0
    eval('_lasttab=' + i + 'lasttab')
    if (_lasttab!=-1){
            var t=document.getElementById(i+"celTab" + _lasttab)
        var c=document.getElementById(i+"divTab" + _lasttab)
        t.className="clsTabOff"
        c.className="clsTabContentOff"
        var t=document.getElementById(i+"celTab" + a)
        var c=document.getElementById(i+"divTab" + a)        
        t.className="clsTabOn"
        c.className="clsTabContentOn"
    }
    eval(i+ 'lasttab=a')
    //lastTab=a
 }
 
 function pageLoad(s,e) {s
     try{pageLoad_vtab(s,e)}catch(e){}
     try{pageLoad_htab(s,e)}catch(e){}
     try{pageLoad_map(s,e)}catch(e){}
     try{pageLoad_temp(s,e)}catch(e){}
 }
// **************  END COMMON MAP ********************************************************  
// **************  START HOTEL SEARCH ********************************************************  
var hotLURL='/Hotels/Reviews/'
function __rating(){
    var rt=''
    for (var k=0; k<=5; k++)
    {	var ctxt=getObj("chkStar"+k);
        if (ctxt){rt=rt+ ctxt.checked + '|'}
    }   
	return rt
}	      
function rtachecked(b){
var c=getObj('chkStar0')
 if (c){c.checked=true}
	for (var k=1; k<=5; k++)
	{	var ctxt=getObj("chkStar"+k);
	    if (ctxt){ctxt.checked=false}
	}
if (b){try{fchecked()}catch(e){}}
}
function rtchecked(){
var s=false;
	for (var k=1; k<=5; k++)
	{	var ctxt=getObj("chkStar"+k);
	    if (ctxt){s=s || ctxt.checked}
	}
	var c=getObj('chkStar0');
    if (c){c.checked=!s}
	try{fchecked()}catch(e){}
}
function htsearch(e){_cnEvt(e);window.location=hotLURL + '?hn=' + txtNameFilter.value + '&rt=' + __rating()}
// **************  END HOTEL SEARCH ********************************************************  

// **************  START APP MESSAGES ********************************************************  
function showTPPop(bhv,parentID,evt,md){if (md==null){md=2;}if (parentID!=null){$find(bhv+ 'PopupBehavior').set_parentElement(parentID);} $find(bhv + 'PopupBehavior').set_positioningMode(md);if (parentID==null){ $find(bhv+ 'PopupBehavior').set_y(pHeight()/3); $find(bhv+ 'PopupBehavior').set_x(winWidth()/3)};$find(bhv).showPopup(); if (parentID==null){$find(bhv+ 'PopupBehavior').set_y(pHeight()/3); $find(bhv+ 'PopupBehavior').set_x(winWidth()/3)};_cnEvt(evt);}
function hideTPPop(bhv){ var b=$find(bhv+ 'PopupBehavior'); if (b){b._hidePopup();}}
function shTPMsg(parentID,  msg,evt,pos,h){if (h==null){h=true};showTPMsg(parentID,  msg,evt,pos) ;if(h){ hideTPMsg(true);}}
function showTPMsg(parentID,  msg,evt,md){
if (md==null){md=2}; 
$find('popTPMsgOff').get_OnClickBehavior().get_animation().stop();    
document.getElementById('divTPMsg').innerHTML=msg;   
pnlTPMsg.style.display='';  
showTPPop('popTPMsgOn',parentID,evt,md)
}
function hideTPMsg(fd){if (fd){$find('popTPMsgOff').OnClick();}else{_cnEvt();hideTPPop('popTPMsgOn');}}
// **************  START END MESSAGES ********************************************************  


// **************  START AJAX POPUP ********************************************************  
var bLastX=-1

function closePAj2(e){  window.setTimeout(closePAj,25)}//if this is done to quickly on click, it causes an error
function closePAj(){ hideModal('aj')}   
function closeAj(){closePAj()}
function rAJAXPop(p,typ,arg,e){_cnEvt(e);if (typ=='DEST' ){jumpDest(p)}else{  showdetail('',typ,p) }}
function showdetail(r,t,p){   
    var h=winHeight();
    if (h>650){h=650}
     if (h<440){h=440}
    var w=810;  
    p='/widgets/HotelPopup/widget.aspx?pk=' + p + '&ssid=' + ssid + '&h=' + h
    mShowModalWin('Hotel','aj',p,h,w,10,true,true)
}	
// **************  END AJAX POPUP ********************************************************  


function showAJAXPop(bhv,evt){$find(bhv).show(); _cnEvt(evt);}
function hideAJAXPop(bhv){$find(bhv).hide()}

// **************  END AJAX POPUP ********************************************************  

// **************  START FUNCTIONS  ********************************************************  
function isDate(dateStr) {
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?
    return matchArray != null
}
function DateAdd(timeU,byMany,dateObj) {
	var millisecond=1;
	var second=millisecond*1000;
	var minute=second*60;
	var hour=minute*60;
	var day=hour*24;
	var year=day*365;

	var newDate;
	var dVal=dateObj.valueOf();
	switch(timeU) {
		case "ms": newDate=new Date(dVal+millisecond*byMany); break;
		case "s": newDate=new Date(dVal+second*byMany); break;
		case "mi": newDate=new Date(dVal+minute*byMany); break;
		case "h": newDate=new Date(dVal+hour*byMany); break;
		case "d": newDate=new Date(dVal+day*byMany); break;
		case "y": newDate=new Date(dVal+year*byMany); break;
	}
	return newDate;
}
function AND(a, b) {
  var result=0;
  var x=binaryArray(parseInt(a));
  var y=binaryArray(parseInt(b));
  var biggerArray=(x.length>=y.length)?x:y;
  var smallerArray=(biggerArray==x)?y:x;
  var len=biggerArray.length;
  for (var i=0;i<len;i++) {
    biggerArray[i]=(biggerArray[i]&smallerArray[i])?1:0;
    result+=biggerArray[i]*Math.pow(2, i);
  }
  return result;  
}

function binaryArray(num) {
  var arr=new Array();
  var div;
  var mod;
  var n=num;
  var count=0;
  do {
    mod=n%2;
    n=parseInt(n/2);
    arr[count++]=mod;
  } while (n>0)
  return arr;
}

// **************  END FUNCTIONS  ********************************************************  




function hideModal(n){ if (document.getElementById('layer')){document.body.removeChild( document.getElementById('layer'));document.body.style.position = ''; document.body.removeChild( document.getElementById(n))}}
function mShowModalWin(name,id,src,h,w,t,trn,cntr)
{
    var width = document.documentElement.clientWidth + document.documentElement.scrollLeft;
    var height = document.documentElement.clientHeight + document.documentElement.scrollTop;

    var layer = document.createElement('div');
    layer.style.zIndex = 2;
    layer.id = 'layer';
    layer.style.position = 'absolute';
    layer.style.top = '0px';
    layer.style.left = '0px';
    layer.style.height = document.documentElement.scrollHeight + 'px';
    layer.style.width = width + 'px';
    layer.style.backgroundColor = 'gray';
    layer.style.opacity = '.6';
    layer.style.filter += ("progid:DXImageTransform.Microsoft.Alpha(opacity=60)");
    document.body.style.position = 'static';
    document.body.appendChild(layer);  
    var size = { 'height':h, 'width': w };
    var iframe = document.createElement('iframe');
    iframe.name = name;
    iframe.id = id;
    iframe.src = src    
     iframe.scrolling='no'
    iframe.style.height = size.height + 'px';
     iframe.style.width = size.width + 'px';
    if (isIE6p()){ t=document.documentElement.scrollTop+t;iframe.style.position = 'absolute'}else{iframe.style.position = 'fixed';}
    iframe.style.zIndex = 3;
    
    if (trn){iframe.allowTransparency=true}
    else{
      iframe.style.backgroundColor = 'white';
      iframe.style.border = '2px solid silver';
    }
    iframe.frameBorder = 'no';	
   // t=document.documentElement.scrollTop+t
    if (cntr){
       iframe.style.top = 0 + 'px'// iframe.style.top = ((height + document.documentElement.scrollTop) / 2) - (size.height / 2) + 'px';
    }else{
    iframe.style.top = t + 'px'}
    iframe.style.left = (width / 2) - (size.width / 2) + 'px';		
    document.body.appendChild(iframe);  
}

// **************  START BROWSER  ********************************************************  
function pWidth(){var w=winWidth(); if (w>1050){w=1050}else{w=900};return w}   
function pWidth2(){var w=winWidth();if (w>730){w=730};return w;}   
function pHeight2(){var h=winHeight();if (h>600){h=600};return h;}   
function pHeight(){var h=winHeight();return h;}     

function scrollTop(){
  var scr = 0
  if( isMoz()) {
    scr = window.pageYOffset;
      } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    scr = document.documentElement.scrollTop;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    scr = document.body.scrollTop;  
   }
  return scr;
}
function setscrollTop(x){
  if( isMoz()) {
    window.pageYOffset=x;
      } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
     document.documentElement.scrollTop=x;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
     document.body.scrollTop=x
   }
  
}
function winWidth(){
  var myWidth = 0
  if( isMoz()) {
    myWidth = window.innerWidth;
      } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;  }
  
  return myWidth;
}
function isMoz(){return  (typeof( window.innerHeight ) == 'number') }
function isIE(){return !isMoz()}
function isIE7(){if (isIE()){return (navigator.appVersion.indexOf('MSIE 7.0')!=-1)}else{return false}}
function isIE6p(){if (isIE()){return !(isIE7())}else{return false}}
function winHeight(){
  var myHeight = 0
  if( isMoz()) {
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientHeight || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientHeight || document.body.clientHeight ) ) {
    //IE 4 compatible
    myHeight = document.body.clientHeight;
  }
  return myHeight; 
}
function f_scrollTop() {
var n=0
	if (window.pageYOffset){n= window.pageYOffset}
	else if(document.documentElement){n= document.documentElement.scrollTop}
	else if(document.body){n= document.body.scrollTop}
return n
}
function s_scrollTop() {
	if (window.pageYOffset){window.pageYOffset=0}
	else if(document.documentElement){document.documentElement.scrollTop=0}
	else if(document.body){document.body.scrollTop=0}
}
function s_scrollLeft() {
	if (window.pageXOffset){window.pageXOffset=0}
	else if(document.documentElement){document.documentElement.scrollLeft=0}
	else if(document.body){document.body.scrollLeft=0}
}
// **************  END BROWSER  ********************************************************  

function _sendremind(){
    var sFromName=$('#AdminContact1_txtYourName').val()
        var sFromEmail=$('#AdminContact1_txtYourEmail').val()
        var sToEmail= $('#AdminContact1_txtRecEmail').val()
    
if (sFromName==''){alert('Please enter Your Name');return false}
if (sFromEmail==''){alert('Please enter Your E-mail');return false}
if (sToEmail==''){alert('Please enter Recipient E-mail');return false}
ContentHandler.SendRemindEmail(sFromName, sFromEmail,sToEmail,$('#txtRemindType').val(),$('#txtSubID').val(),onsendremin,onsendremindfail)
}    
function onsendremin(r){if (r==''){alert('Your message has been sent. Thank you!');new overlayModuleTrips().hideOverlay()}else{alert(r)}}
function onsendremindfail(error){ showError(error);}


var WindPropimages = "height=630,width=625,left=10,top=10,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes"
function openPreview(g,prev){
 var win=	window.open('/pickup?rid=' + g,'PrintPreview','width=780,height=700,resizable,scrollbars,toolbar,menubar');
  if (!win){alert('Unable to show Report Preview.  Please be sure your popup blockers are disabled.')}else{win.focus();if (!prev){window.location='/STAR/'}
  }
 
}
function openClassification(){	window.open('/main/classification.aspx','STARClassification','width=580,height=400,resizable,scrollbars');}
function newwindow(url) {var pWin;var pname;pWin = window.open(url, pname, WindPropimages);}


function seladdtofolder(){}
function showaddto(kys,allownew,evt){mShowModalWin('AddToFolder','aj','/widgets/AddTo/widget.aspx?keys=' + escape(kys) + '&an='+allownew,500,650,60,true,false)}
function showmoveto(selfld,movetype,fldnm,selkeys,selcnt,evt){mShowModalWin('AddToFolder','aj','/widgets/AddTo/widget.aspx?keys=' + escape(selkeys) + '&selfld='+selfld + '&mt='+movetype + '&nm='+ escape(fldnm) + '&sel='+selcnt ,500,650,60,true,false)}
function newfolder2(f,t){addTree=t;addfld=f;_cnEvt();divNewFolder.style.display='';setFocus(txtNewFolder) }
function checknewfldr(e){try{if(e && e.keyCode == Sys.UI.Key.enter){savenewfld();_cnEvt(e);}}catch(err){}}
function hidenewfld(){divNewFolder.style.display='none'}
function savenewfld(){hidenewfld();var s=txtNewFolder.value;ContentHandler.AddNewFolder(s,addfld,onaddfolder2,OnFailed2,addfld)}
function onaddfolder2(n,f){
        addTree.beginUpdate();var sName= n.split('|')[1];var sKey= n.split('|')[0];var nn = new ComponentArt.Web.UI.TreeViewNode();
        nn.set_text(sName + "&nbsp;&nbsp;<img src='/i/newfldr.gif' onclick='newfolder2(" + sKey + ",window." + addTree.get_id() + ");return false' Title='Add New Subfolder'  border=0 />");
        nn.set_value(sKey);nn.set_id('fld' + sKey);nn.set_imageUrl('/i/folder2.gif');nn.set_labelPadding(4);
        var p=addTree.findNodeById('fld'+f);p.get_nodes().add(nn);addTree.endUpdate();nn.select();nn.expandAncestors();  
}

function showshelp(){
mShowModalWin('Help','aj','/widgets/MapHelp/widget.aspx',550  ,700,30,true,false)
}

 function refreshwin(c) {

     if (c == undefined) { c = true }
     var u = window.location.href
     if (c) { u = window.location.pathname }
     window.location = u
 }
  

