(function(a){var b=":first",d="a",c=document;a.fn.skiCamSelect=function(){return this.each(function(){var l=a(this),e=[],f=-1,i=l.children(d+b),o=i.children(".dropdown"+b).detach(),g=l.children("ul"+b),j=false,h=function(a){if(a<e.length&&f!=a){f=a;l.trigger("change");k()}},n=function(a){return function(){h(a);g.hide();return false}},m=function(){i.empty();e.length>0&&f==-1&&h(e.length-1);f>-1&&f<e.length&&i.text(e[f][1]).append(o.clone());g.empty();for(var b=e.length-1;b>=0;b--){var l=a(c.createElement("li")),k=a(c.createElement(d));k.attr("href","#").text(e[b][1]);l.append(k);g.append(l);k.click(n(b))}j=false};m();i.click(function(){g.toggle();return false});a(c.body).click(function(){g.hide()});var k=function(){if(!j){j=true;setTimeout(m,13)}};a.extend(this,{addItem:function(a,b){e.push([b,a]);k();return this},clearItems:function(){e=[];f=-1;g.hide();k();return this},getSelectedValue:function(){return f>-1&&f<e.length?e[f][0]:null},setSelectedValue:function(b){for(var a=0;a<e.length;a++)if(b==e[a][0]){h(a);break}},getSelectedIndex:function(){return f==-1?f:e.length-1-f},setSelectedIndex:function(a){h(e.length-1-a)},getValueAtIndex:function(a){return a>-1&&f<e.length?e[e.length-1-a][0]:null},getLength:function(){return e.length}})})};a.fn.skiCam=function(f,e){return this.each(function(){var h=a(this),w=h.find(".tabs"+b),R=w.find(".tab"+b),l=h.find(".imageHolder"+b),g=h.find(".date"+b).skiCamSelect().hide().get(0),j=h.find(".size"+b).skiCamSelect().hide().get(0),q=h.find(".play"+b).hide(),E=h.find(".date-label"+b).hide(),p=h.find(".next"+b).hide(),r=h.find(".previous"+b).hide(),B=h.find(".hd"+b).hide(),hb=h.find(".title h2"+b),P=h.find(".column-thumbnail"+b),s=h.find(".column").parent(),n=f.split(","),S=e.split(","),k={},i=-1,m=-1,A=false,v=false,t="",z=new Date((new Date).getTime()+1e3*60*60*24*(365/2)),x="span",y="src",D="skicamLastTab",T="skicamSize",U="true";h.children(".noJS").remove();R.detach();P.detach();var V=function(b){return function(e){var c={},d=[],g=a("skicam>cam",e).each(function(){var b=a(this),f={name:b.find(">camName").text(),description:b.find(">description").text(),thumbnail:b.find(">thumbFile").text(),highQuality:b.attr("offerHQ")==U,highDefinition:b.attr("offerHD")==U},h=b.attr("camID"),g=[],e=b.find(">fineDay");b.find(">images>image").each(function(){g.push({id:a(this).attr("imageID"),title:a(">title",this).text(),src:a(">file",this).text()})});f.images=g;if(e.length)f.fineDayImage={id:a(">image",e).attr("imageID"),title:a(">image>title",e).text(),src:a(">image>file",e).text(),thumbnail:a(">thumbFile",e).text()};d.push(h);c[h]=f});c.updated=a("skicam",e).attr("timeStamp");c.camIds=d;k[b]=c;h.trigger("update.skicam",[b,c])}},N=function(b){a.get("/content/plugins/skicam/xml/skicam_"+b+".xml?"+(new Date).getTime().toString(36),null,V(b),"xml")},J=function(a){return L(a,v?"_hq":null)},u=function(a,c){t=a;(c||l.find("img"+b)).attr(y,J(a))},K=function(){l.parent("div.feature").removeClass("small").removeClass("large").addClass(j.getSelectedValue());v=j.getSelectedValue()=="large";u(t,null);c.cookie=T+"="+j.getSelectedValue()+"; path=/; expires="+z.toUTCString()},fb=function(){g.getSelectedIndex()!=-1&&u(g.getSelectedValue(),null)},L=function(a,b){if(!b||b.length<1)return a;var c=a.lastIndexOf(".");return a.substring(0,c)+b+a.substring(c)},Y=function(){var o="Loading image ",u=" of ",t=k[i][m].images,e=Math.min(t.length,30)-1,h=e+1,b=a([]),f=a(c.createElement(x)),v=a(j).is(":visible"),n=e,w=function(b,a){return function(c){a.fadeIn("fast",function(){b.hide();c()})}};p.hide();r.hide();q.hide();a(g).hide();a(j).hide();l.append(a(c.createElement(x)).addClass("loading").append(f));f.text(o+1+u+h);for(;n>=0;n--){var d=a(c.createElement("img")),s=a(c.createElement(x));d.one("load error",function(){e--;f.text(o+(h-e)+u+h);if(e==0&&b.length){var c=b.eq(0),k=c,i=1,d;c.show();l.children().not(b.parent()).remove();for(;i<b.length;i++){d=b.eq(i);c.queue(w(k,d));k=d}c.queue(function(){q.show();a(g).show();p.show();r.show();v&&a(j).show();b.not(b.last()).parent().remove();g.setSelectedIndex(0)})}});d.hide();d.attr(y,J(t[n].src));s.append(d);l.append(s);b=b.add(d)}return false},eb=function(b,h){l.stop(true,true).empty();var f=a(c.createElement("img")),n=a(c.createElement(x));if(k[i][b].highQuality){a(j).show();K(null);if(j.getSelectedValue()=="large")v=true}else{a(j).hide();l.parent("div.feature").removeClass("large").addClass("small");v=false}B.hide();k[i][b].highDefinition&&B.show();if(h){u(k[i][b].fineDayImage.src,f);a(g).hide();q.hide();p.hide();r.hide();E.show().text(k[i][b].fineDayImage.title);googleEventTrackingCam("WebCam","LastFineDay",k[i][b].name)}else{var d=k[i][b].images;u(d[0].src,f);a(g).show();q.show();p.show();r.show();E.hide();g.clearItems();for(var e=d.length-1;e>=0;e--)g.addItem(d[e].title,d[e].src)}hb.text(k[i][b].name);n.append(f);l.append(n);m=b;A=h},ab=function(d,g,c){var e=false,f=g;if(d.target==c.get(0)||c.has(d.target).length>0){e=true;f=c}s.find("img.active").removeClass("active");eb(a(d.currentTarget).data("camId"),e);f.find("img"+b,this).addClass("active");return false},X=function(b,a){return function(c){return ab(c,b,a)}},G=function(f){s.find(".column-thumbnail").remove();var u=k[f],x="?"+(new Date).getTime().toString(36),t;c.cookie=D+"="+f+"; path=/; expires="+z.toUTCString();for(var j=0;j<u.camIds.length;j++){var w=u.camIds[j],h=u[w],e=P.clone(),v=e.find("img.today"),B=v.parent(d),o=e.find("img.fineDay"),n=o.parent(d);e.find(".camName"+b).empty().text(h.name);e.find(".camDescription"+b).empty().text(h.description);if(j==0)t=B;v.attr(y,h.thumbnail+x);if(h.fineDayImage){o.attr(y,h.fineDayImage.thumbnail+x);n.show()}else n.hide();if(i==f&&m==w)if(A&&h.fineDayImage)o.addClass("active");else!A&&v.addClass("active");e.data({camId:w,fineDay:false});e.click(X(B,n));s.eq(j%s.length).append(e)}if(i!=f){l.empty();a(g).hide();q.hide();E.hide();p.hide();r.hide();i=f;t&&t.click();c.cookie=D+"="+f+"; path=/; expires="+z.toUTCString()}},gb=function(a){if(k[a])G(a);else h.bind("update.skicam",function(c,b){if(b==a){G(a);h.unbind(c)}})},W=function(l,j,h){if(j==i&&m>0){var k=g.getSelectedValue(),f=a(g).is(":visible")&&g.getSelectedIndex()==0,c=h[m].images,d=false,e;if(g.getLength()>0)e=g.getValueAtIndex(0);else d=true;G(i);for(var b=c.length-1;b>=0;b--)if(d)g.addItem(c[b].title,c[b].src);else if(c[b].src==e)d=true;f&&g.setSelectedIndex(0)}},Z=function(b,a){return function(){w.children().removeClass("active");a.addClass("active");gb(b);return false}},O=function(f,e){if(i>0&&m>0&&k[i].camIds.length>0){for(var c=k[i].camIds,b=0,d;b<c.length;b++)if(c[b]==m)break;b=(b+f)%c.length;if(b<0)b=c.length+b;d=c[b];s.children(".column-thumbnail").each(function(){var b=a(this);if(b.data("camId")==d){b.click();return false}})}a(e).blur();return false},cb=function(){var e=1280,d=720,i=50,j=100,f=a(window),h=f.width(),g=f.height(),c=Math.min(e,h-i),b=Math.min(d,g-j);if(c<e||b<d)if((e-c)/e>(d-b)/d)b=c*d/e;else c=b*e/d;googleEventTrackingCam("WebCam","HDPopup",t);thrive.windowless.open('<img src="'+L(t,"_hd")+'" width="'+c+'" height="'+b+'">',c,b);return false},db=new RegExp(T+"\\s*=\\s*([^;]*)(;|$)",""),bb=new RegExp(D+"\\s*=\\s*([^;]*)(;|$)",""),I=db.exec(c.cookie),F=bb.exec(c.cookie),M=n[0],o=0,Q="small";w.empty();j.addItem("small","small");j.addItem("large","large");if(I!=null&&I.length>=1)Q=I[1];j.setSelectedValue(Q);a(j).bind("change",K);a(g).bind("change",fb);p.find("a").click(function(){return O(1,this)});r.find("a").click(function(){return O(-1,this)});q.click(Y);B.click(cb);l.empty().append('<span class="loading"><span>Loading webcam data</span></span>');h.addClass("yesJS");if(F!=null&&F.length>=1)M=F[1];for(;o<n.length;o++){var H=R.clone().attr("id","tab-"+S[o].toLowerCase().replace(/[^a-z0-9]/g,"-")),C=H.find(d+b);C.text(S[o]);C.click(Z(n[o],H));w.append(H);n[o]==M&&C.click();N(n[o])}h.bind("update.skicam",W);setInterval(function(){for(var a=0;a<n.length;a++)N(n[a])},3*60*1e3)})}})(jQuery);(function(a){a.event.special.load={setup:function(d,e,c){var b=false;if(this.tagName.toLowerCase()==="img"&&this.src!=="")if(this.complete||this.readyState===4){a(this).bind("load",d||{},c).trigger("load");b=true}else if(this.readyState==="uninitialized"&&this.src.indexOf("data:")>=0){a(this).trigger("error");b=true}return b}}})(jQuery)
