
function SkiMap(){}
SkiMap.prototype=new GenericMapJson();SkiMap.prototype.adjustZoom=function(gZoomLevel,jsonDoc){jsonDoc.center=jsonDoc.bounds.getCenter();if(jsonDoc.zoomLevelOverride>0){return jsonDoc.zoomLevelOverride;}
if(gZoomLevel>15)return 15;return gZoomLevel;}
function makeCorrection(id){document.getElementById("rhs_iframe").src="/ski/user/editResort.jsp?id="+id;activateIFrame(true);}
function viewComments(id){document.getElementById("rhs_iframe").src="/ski/user/comments.jsp?id="+id;activateIFrame(true);GLOBAL_SIDE_PANEL="comments";}
function showForecast(id,type){document.getElementById("rhs_iframe").src="/weather/fragments/forecast.jsp?id="+id+"&standalone=true&type="+type;GLOBAL_SIDE_PANEL="forecast";activateIFrame(true);}
function activateIFrame(isOn){if(isOn){document.getElementById("rhs_iframe").style.display='block';document.getElementById("rhs_main").style.display='none';}else{document.getElementById("rhs_iframe").style.display='none';document.getElementById("rhs_main").style.display='block';GLOBAL_SIDE_PANEL="";}}
function displayLocal(query,lat,lng){alert('todo')}
SkiMap.prototype.makeSkiBonkGrid=function(dom){var grid=new Grid(dom);grid.hoverAllColumns=true;var gridViewA=grid.createView("conditions");gridViewA.addColumn(" ",function(e){return"<img height='10' width='10' src='"+e.json.iconImage+"'/  > "});gridViewA.addColumn("Name",function(e){return e.json.name;});gridViewA.addColumn("Lift",function(e){return e.json.openLifts;});gridViewA.addColumn("Runs",function(e){return e.json.openRuns;});gridViewA.addColumn("Conditions",function(e){return e.json.conditions;});gridViewA.addColumn("Base",function(e){return e.json.base+'"';});var gvB=grid.createView("totalRuns");gvB.addColumn("Name",function(e){return e.json.name;});gvB.addColumn("Lifts",function(e){return e.json.lifts;});gvB.addColumn("Runs",function(e){return e.json.trails;});gvB.addColumn("&nbsp;<img src='image/green.gif'>&nbsp;",function(e){return e.json.beginner;});gvB.addColumn("&nbsp;<img src='image/blue.gif'>&nbsp;",function(e){return e.json.intermediate;});gvB.addColumn("&nbsp;<img src='image/black.gif'>&nbsp;",function(e){return e.json.advanced;});var gvC=grid.createView("totalRunsPct");gvC.addColumn("Name",function(e){return e.json.name;});gvC.addColumn("Lifts",function(e){return e.json.lifts;});gvC.addColumn("Runs",function(e){return e.json.trails;});gvC.addColumn("<img src='image/green.gif'> %",function(e){return(100*e.json.beginner/(e.json.beginner+e.json.intermediate+e.json.advanced)).toFixed(0);});gvC.addColumn("<img src='image/blue.gif'> %",function(e){return(100*e.json.intermediate/(e.json.beginner+e.json.intermediate+e.json.advanced)).toFixed(0);});gvC.addColumn("<img src='image/black.gif'> %",function(e){return(100*e.json.advanced/(e.json.beginner+e.json.intermediate+e.json.advanced)).toFixed(0);});var gvD=grid.createView("snowCast");gvD.addColumn("Name",function(e){return"<img height='10' width='10' src='"+e.json.iconImage+"'/  > "+e.json.name;});gvD.addColumn("Base",function(e){return e.json.base+'"';});gvD.addColumn("New",function(e){return e.json.newSnow+'"';});gvD.addColumn("12hr",function(e){return e.json.snowc12;});gvD.addColumn("24hr",function(e){return e.json.snowc24;});gvD.addColumn("36hr",function(e){return e.json.snowc36;});var gvE=grid.createView("resortInfo");gvE.addColumn("Name",function(e){return"<img height='10' width='10' src='"+e.json.iconImage+"'/  > "+e.json.name;});gvE.addColumn("Vertical",function(e){return e.json.verticalFeet;});gvE.addColumn("Ticket",function(e){return"$"+e.json.adultFullWeekendPrice;});gvE.addColumn("Half Pipes",function(e){return e.json.numHalfPipes;});gvE.addColumn("Terrain Parks",function(e){return e.json.numTerrainParks;});var gvF=grid.createView("ticketPrices");gvF.addColumn("Name",function(e){return"<img height='10' width='10' src='"+e.json.iconImage+"'/  > "+e.json.name;});gvF.addColumn("Weekend",function(e){return"$"+e.json.adultFullWeekendPrice;});gvF.addColumn("1/2 Day Wknd",function(e){return"$"+e.json.adultHalfWeekendPrice;});gvF.addColumn("Weekday",function(e){return"$"+e.json.adultFullWeekdayPrice;});gvF.addColumn("1/2 Day Wkdy",function(e){return"$"+e.json.adultHalfWeekdayPrice;});return grid;if(type=='conditions'){this.addColumn("Name",function(e){return e.createNameLink();},"","  align='left'");this.addColumn("Runs",function(e){return e._dom.getElementsByTagName("openRuns")[0].firstChild.nodeValue;});this.addColumn("Lifts",function(e){return e._dom.getElementsByTagName("openLifts")[0].firstChild.nodeValue;});this.addColumn("Conditions",function(e){return e._dom.getElementsByTagName("conditions")[0].firstChild.nodeValue;});this.addColumn("Base",function(e){return e._dom.getElementsByTagName("base")[0].firstChild.nodeValue;});this._footer="Operating status of resorts."}
if(type=='snowcast'){this.addColumn("Name",function(e){return e.createNameLink();},""," width='100' align='left'");this.addColumn("Base",function(e){return e._dom.getElementsByTagName("base")[0].firstChild.nodeValue;});this.addColumn("New",function(e){return e._dom.getElementsByTagName("newSnow")[0].firstChild.nodeValue;});this.addColumn("12hr",function(e){return e._dom.getElementsByTagName("snowc12")[0].firstChild.nodeValue;},"1925C3");this.addColumn("24hr",function(e){return e._dom.getElementsByTagName("snowc24")[0].firstChild.nodeValue;},"1925C3");this.addColumn("36hr",function(e){return e._dom.getElementsByTagName("snowc36")[0].firstChild.nodeValue;},"1925C3");this._footer="* - denotes precipitation could be rain at lower altitudes.  Measurements are in inches."}
if(type=='info'){this.addColumn("Name",function(e){return e.createNameLink();},""," width='100' align='left'");this.addColumn("Vertical",function(e){return e._dom.getElementsByTagName("verticalFeet")[0].firstChild.nodeValue;});this.addColumn("Ticket",function(e){return e._dom.getElementsByTagName("adultFullWeekendPrice")[0].firstChild.nodeValue;},"1925C3");this.addColumn("Half Pipes",function(e){return e._dom.getElementsByTagName("numHalfPipes")[0].firstChild.nodeValue;},"1925C3");this.addColumn("Terrain Parks",function(e){return e._dom.getElementsByTagName("numTerrainParks")[0].firstChild.nodeValue;},"1925C3");this._footer="";}
if(type=='prices'){this.addColumn("Name",function(e){return e.createNameLink();},""," width='100' align='left'");this.addColumn("Weekend",function(e){return e._dom.getElementsByTagName("adultFullWeekendPrice")[0].firstChild.nodeValue;});this.addColumn("1/2 Day Wknd",function(e){return e._dom.getElementsByTagName("adultHalfWeekendPrice")[0].firstChild.nodeValue;},"1925C3");this.addColumn("Weekday",function(e){return e._dom.getElementsByTagName("adultFullWeekdayPrice")[0].firstChild.nodeValue;},"1925C3");this.addColumn("1/2 Day Wkdy",function(e){return e._dom.getElementsByTagName("adultHalfWeekdayPrice")[0].firstChild.nodeValue;},"1925C3");this._footer="Prices in local currency.";}}
SkiMap.prototype.openInfoWindow=function(id){if(this.pageMode=="detail"){window.location="detail.jsp?id="+id;return;}
var marker=this.markers[id];if(marker==null||!isDefined(marker)||!isDefined(marker.json))return;var contents=marker.json.html;var numCams=marker.json.hasCams;var numVideos=marker.json.numVideos;if(this.hideOTS){contents=contents.replace(/\/ski\/image\/onthesnow_sm.gif/g,"/weather/image/blank1x1.jpg");contents=contents.replace(/http:\/\/www.onthesnow.com.*?html/g,"#");contents=contents.replace(/<span id="detailedLinksSection">/g,"<span style='display:none'>");}
if(this.pageMode=="lite"){mapApp.map.openInfoWindow(marker.point,contents);return;}else{contents=contents.replace(/target="_new2"/g,"");}
var html2='<script type="text/javascript">setTimeout("fixtabs()",1000);</script>  <iframe scrolling="no" id="feedbackframe" src="/ski/fragments/cam.jsp?id='+id+'&iframe=on" width="260" height="270" frameborder="0" ></iframe>';var dom1=document.createElement("div");dom1.innerHTML=contents;var dom2=document.createElement("div");dom2.innerHTML=html2;gTabWorkaroundTab=dom2;var dom3=document.createElement("div");var html3='<script type="text/javascript">setTimeout("fixtabs()",1000);</script>  <iframe scrolling="no" id="feedbackframe" src="/ski/fragments/youtube.jsp?id='+id+'&iframe=on" width="260" height="270" frameborder="0" ></iframe>';dom3.innerHTML=html3;var infoTabs=[new GInfoWindowTab("Resort",dom1),new GInfoWindowTab("Cams("+numCams+")",dom2)];if(numVideos>0){infoTabs.push(new GInfoWindowTab("Videos("+numVideos+")",dom3));gTabWorkaroundTab2=dom3;}
this.map.openInfoWindowTabs(marker.point,infoTabs);}
SkiMap.prototype.createMarkerFromJson=function(json){var mapApp=this;var point=json.point;var iconClass=json.iconClass;var id=json.id;var image=json.iconImage;var icon=new GIcon(this.getIconClassFromName(json.iconClass),image);var hoverText=json.hoverText;var marker=new LiteMarker(point,icon,hoverText,json);marker.png=true;marker.json=json;marker.id=id;marker.icon=icon;marker.point=point;GEvent.addListener(marker,"click",function(){mapApp.openInfoWindow(marker.id);});return marker;}