













/* /managedfe/js/TWC/util/social-loader.js expireTime 1792 */

/**
 * This class provides a global way to load all the social code
 * on pages if and only if it has NOT already been loaded.
 * It also sets up a listener for action tracking on any
 * facebook comment.
 * 
 * @author ssherwood
 */
TWC.Events.pcoReady.done(function(){
	// Load social API's if needed
	if((TWC.pco.get("page.pageId") !== "62287" || (TWC.pco.get("page.pageId") === "62287" && (jQuery("#wx-breaking-now").length > 0 || jQuery(".wx-freeformtitle-share").length > 0 || jQuery("#wx-social-share-homepage").length > 0))))  {
		
		// Twitter checks for itself before re-executing the same code
		jQuery.getScript("http://platform.twitter.com/widgets.js", function() {				
		});
		
		// Google checks for itself before re-executing the same code
		jQuery.getScript("https://apis.google.com/js/plusone.js", function() {				
		});
		
		// Facebook overwrites existing code, so check for it before loading it
		if(!window.FB) {
			jQuery.getScript("http://connect.facebook.net/en_US/all.js", function() {
				FB.init({appId: 144457238950063, status: true, cookie: true, xfbml: true});				
				if(typeof(TWC.Tools) != "undefined") {				
					TWC.Tools.getEvent('fb_initiated').resolve();
				}
				FB.Event.subscribe("comment.create",function(response){
					var pageType = (TWC.pco.get("metrics") && TWC.pco.get("metrics").level2) ? TWC.pco.get("metrics").level2 : "";
					if(TWC.pco.get("metrics").level2.toLowerCase() != "weather"){
							pageType = "ARTICLE";
					}
					var str=document.location.href;
					var article = str.substring(str.lastIndexOf("/")+1);
					if(article.indexOf("?")>0){
						article = article.substring(0,article.indexOf("?"));
					}
					sc_trackSocialLinks(this,'eVar21,eVar22,eVar24,campaign,events','event52','event52','Facebook',article,pageType,null,'Facebook Comment',null);
				});
				
				// Parse Facebook for the entire page
				FB.XFBML.parse();
			});
		}
	}
	
});	







/* /managedfe/js/TWC/util/social-share.js expireTime 1792 */

'TWC' in window || (window.TWC = {});

(function ($) {
	$(document).ready(function() {		 		
		var breakingNowDiv = $.find(".twc-breaking-now-social .wx-social-share-wrapper");
		if(breakingNowDiv != null) {
			var brDiv = ".twc-breaking-now-social .wx-social-share-wrapper";
			var fbCampignStr = "?cm_ven=Facebook&cm_cat=fb_breaknow_rec"
			var tweetCampignStr = "?cm_ven=Twitter&cm_cat=tw_breaknow_tweet";
			shareFunction(brDiv, fbCampignStr, tweetCampignStr);
		}
		
		var alertDiv = $.find(".wx-alert-wrapper .wx-social-share-wrapper");
		if(alertDiv != null) {
			var alDiv = ".wx-alert-wrapper .wx-social-share-wrapper";
			var fbCampignStr = "?cm_ven=Facebook&cm_cat=fb_alerts_rec"
			var tweetCampignStr = "?cm_ven=Twitter&cm_cat=tw_alerts_tweet";
			shareFunction(alDiv, fbCampignStr, tweetCampignStr);			
		}
	});	

	function shareFunction(divClass, fbCampignStr, tweetCampignStr) {	
		$(''+divClass+'').each( function(index, Element) {			
			var $ccMod = $(this);
			var alertmsg = $ccMod.attr("alertmsg");			
			var alerturl = $ccMod.attr("alerturl");
			var alertdesc = $ccMod.attr("alertdesc");
			var twittertext = $ccMod.attr("twittertext");
			var sharetype = $ccMod.attr("sharetype");
			var $sharebar = $ccMod.find(".wx-social-share-bar");
			var $sharelist = $ccMod.find(".wx-social-share-list");
			var $sharefb = $ccMod.find(".wx-breaking-social-facebook");
			var $sharetwitt = $ccMod.find(".wx-breaking-social-twitter");
			sharetype = sharetype.replace('-','_');				
			var pageType = (TWC.pco.get("metrics") && TWC.pco.get("metrics").level2) ? TWC.pco.get("metrics").level2 : "";
			var hide = false;
			// Show menu on  focus
			var hide_shareList = function() {
				if(hide) {
					if (!$sharelist.hasClass("wx-hide")) {
						$sharelist.addClass("wx-hide");
					}
					$sharelist.removeClass("wx-open");
					
					//for homepage version with toggling arrow
					if ($sharebar.parent().hasClass("wx-social-share-homepage")){ 
						$(".wx-social-share-homepage .icon-arrow_down").removeClass("wx-hide");
						$(".wx-social-share-homepage .icon-arrow_up").addClass("wx-hide");
					}
					
				}				
			};
			
			$sharebar.hover(
			  function () {
				hide = false;
				if (!$sharelist.hasClass("wx-open")) {
					$sharelist.addClass("wx-open");		
				}

				if ($sharebar.parent().hasClass("wx-social-share-homepage")){ //for homepage version
					$(".wx-social-share-homepage .icon-arrow_down").addClass("wx-hide");
					$(".wx-social-share-homepage .icon-arrow_up").removeClass("wx-hide");
				}
				
				$sharelist.removeClass("wx-hide");
			  },
			  function () {
				hide = true;
				hide = setTimeout(function() {
					  hide_shareList();
				  }, 1000);	
			  }
			);		
		
			$sharelist.hover(
			  function () {
				hide = false;
				if (!$sharelist.hasClass("wx-open")) {
					$sharelist.addClass("wx-open");
				}
				$sharelist.removeClass("wx-hide");
			  },
			  function () {
				hide = true;
				hide = setTimeout(function() {
					  hide_shareList();
				  }, 1000);	
			  }
			);	
			
			var str=document.location.href;
			var article = str.substring(str.lastIndexOf("/")+1);
			if(article.indexOf("?")>0){
				article = article.substring(0,article.indexOf("?"));
			} 					
			$sharefb.click(function () {				
				var fbshare = {
				  method: 'feed',
				  link: alerturl+fbCampignStr+'&fb_ref='+sharetype,
				  picture: $(".refresh-dl-image").attr("src"),
				  name: alertmsg,
				  caption: alerturl,
				  description: alertdesc
				};
			
				FB.ui(fbshare, fbcallback);	
				if(sharetype =="br_share"){
					sc_trackSocialLinks(this,'eVar21,eVar22,eVar24,campaign,events','event53,event57','event53,event57','Facebook',[pageType,'_breaknow'].join(''),'breaknow',null,'Facebook Recommend',null);
				} else {
					sc_trackSocialLinks(this,'eVar21,eVar22,eVar24,campaign,events','event53,event57','event53,event57','Facebook',article,pageType,null,'Facebook Recommend',null);
				}
				
			});
			
			var fbcallback = function(response){
			};

			$sharetwitt.click(function () {	
				var twtShareUrl = alerturl+tweetCampignStr;
				var username="twci"; // bit.ly username
				var api_key="R_203d2ed3b9b44577b08a155a02081531"; //bit.ly API key	
				/*
				 * WWW-9772: BITLY URL not working properly.
				 * The previous method followed is asynchronous and WRONG. It does not wait for bitly output before calling twitter
				 * API. Hence, it is re-written to jQuery.ajax with timeout and other handlers. If successful bitly call, we will
				 * use the shortened URL else the regular one. The twitter, however, shortens to t.co URL.
				 * Change Owner: Kulanthaivelu Sankaran
				 */
				$.ajax({
				  url: 'http://api.bitly.com/v3/shorten?callback=?',
				  dataType: 'jsonp',
				  data: { 
						"format": "json",
						"apiKey": api_key,
						"login": username,
						"longUrl": twtShareUrl
				  },
				  timeout: 3000,
		  				success: function(response) {
		  					if(response && response.data && response.data.url) {
		  						var tweetwindow;
		  						tweetwindow=window.open('https://twitter.com/share?url='+response.data.url+'&text='+encodeURIComponent(twittertext)+'&via=weatherchannel','TwitterTweet','height=350,width=600');
		  					}
		  					else {
		  						tweetwindow=window.open('https://twitter.com/share?url='+twtShareUrl+'&text='+encodeURIComponent(twittertext)+'&via=weatherchannel','TwitterTweet','height=350,width=600');
		  					}
		  					if (window.focus && tweetwindow) {tweetwindow.focus();}
						},
						error: function (jqXHR, textStatus, errorThrown) {
							tweetwindow=window.open('https://twitter.com/share?url='+twtShareUrl+'&text='+encodeURIComponent(twittertext)+'&via=weatherchannel','TwitterTweet','height=350,width=600');		
							if (window.focus) {tweetwindow.focus();}
						}
				});
				
//				$.getJSON("http://api.bitly.com/v3/shorten?callback=?", { 
//						"format": "json",
//						"apiKey": api_key,
//						"login": username,
//						"longUrl": twtShareUrl
//					},
//					function(response) {
//						twtShareUrl = response.data.url;				
//					}
//				);
			
				if(sharetype =="br_share"){
					sc_trackSocialLinks(this,'eVar21,eVar22,eVar24,campaign,events','event55,event57','event55,event57','Twitter',[pageType,'_breaknow'].join(''),'breaknow',null,'Twitter Tweet',null);
				} else {
					sc_trackSocialLinks(this,'eVar21,eVar22,eVar24,campaign,events','event55,event57','event55,event57','Twitter',article,pageType,null,'Twitter Tweet',null);
				}						
			});				
		 });
	}
})(jQuery);







/* /managedfe/js/wx-metrics-ts2.js expireTime 1792 */

//TWC.Events.pcoReady.done(function(){

window.TWC = window.TWC || {};
var metrics = TWC.pco.get("metrics");
var page = TWC.pco.get("page");
var user = TWC.pco.get("user");
var loc = TWC.pco.get("currloc");
var wx = TWC.pco.get("wx");
var ad = TWC.pco.get("ad");

/* SiteCatalyst code version: H.21.
Copyright 1996-2010 Adobe, Inc. All Rights Reserved
More info available at http://www.omniture.com */
/* SiteCatalyst code version: H.21.
Copyright 1996-2010 Adobe, Inc. All Rights Reserved
More info available at http://www.omniture.com */
var s_account=metrics.account;
var s=s_gi(s_account)
/************************** CONFIG SECTION **************************/
/* You may add or alter any code config here. */
s.charSet="ISO-8859-1"
/* Conversion Config */
s.currencyCode="USD"
/* Link Tracking Config */
s.trackDownloadLinks=true
s.trackExternalLinks=true
s.trackInlineStats=true
s.linkDownloadFileTypes="exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls"
s.linkInternalFilters="javascript:,weather.com"
s.linkLeaveQueryString=false
s.linkTrackVars="None"
s.linkTrackEvents="None"

function sc_trackDownloadLink(obj,linkName,account){try{var s=account!=null?s_gi(account):s_gi(s_account);var sc_linkName=linkName;s.prop35=sc_linkName;s.linkTrackVars='prop35';s.linkTrackEvents='None';var lt=obj.href!=null?s.lt(obj.href):"";if(lt==""){s.tl(obj,'d','');}}catch(e){return;}}
function sc_trackExitLink(obj,linkName,account){try{var s=account!=null?s_gi(account):s_gi(s_account);var sc_linkName=linkName;s.prop35=sc_linkName;s.linkTrackVars='prop35';s.linkTrackEvents='None';var lt=obj.href!=null?s.lt(obj.href):"";if(lt==""){s.tl(obj,'e','');}}catch(e){return;}}
function sc_trackAction(obj,actionId,account){try{var s=account!=null?s_gi(account):s_gi(s_account);var sc_actionId=actionId;s.prop35=sc_actionId;s.linkTrackVars='prop35';s.linkTrackEvents='None';s.tl(obj,'o',sc_actionId);}catch(e){return;}}
function sc_trackSocialLinks(obj,linkTrackVars,linkTrackEvents,events,eVar21,eVar22,eVar24,campaign,actionId, account){try {var s=account!=null?s_gi(account):s_gi(s_account);if(linkTrackVars != null) s.linkTrackVars=linkTrackVars;if(linkTrackEvents != null) s.linkTrackEvents=linkTrackEvents;if(eVar21 != null) s.eVar21=eVar21;if(eVar22 != null) s.eVar22=eVar22;if(eVar24 != null) s.eVar24=eVar24;if(campaign != null) s.campaign=campaign;if(events != null) s.events=events;s.tl(obj,'o',actionId);} catch(e) {return;}}


/**********************************************************************/
/* Plugin Config */
s.usePlugins=true
function s_doPlugins(s) {
	/* Add calls to plugins here */

	/* Plugin Example: downloadLinkHandler v0.5*/
	var url=s.downloadLinkHandler('exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls');
	if(url){
	s.eVar9=url;
	s.events=s.apl(s.events,'event18',',',2)
	s.linkTrackVars="eVar9,events";
	s.linkTrackEvents="event18";
	}

	// Visit Number & New/Repeat Visitor
	s.eVar34=s.prop53=s.getVisitNum(365 * 5) + "||" + s.getNewRepeat(365 * 5,'s_nr2'); // changed from 1 year to 5
	// Adobe version was: s.eVar34=s.prop53=s.getVisitNum(365 * 5);

if(!s.campaign)
	s.campaign=s.getQueryParam('cm_ven,cm_cat,cm_pla,cm_ite',':')
	
/* Site Search */
if(s.prop1){
        s.prop1=s.prop1.toLowerCase();
        s.eVar1=s.prop1;
        var t_search=s.getValOnce(s.eVar1,'ev1',0);
        if(t_search){
               s.events=s.apl(s.events,"event1",",",2);
        }
}

/* Set Page View Event */
s.events=s.apl(s.events,'event2',',',2)

/* Set Time Parting Variables - SAMPLE EST */
s.prop20=s.getTimeParting('h','-5','2012'); // Set hour 
s.prop21=s.getTimeParting('d','-5','2012'); // Set day
s.eVar20=s.getTimeParting('h','-5','2012') + ":" +
s.getTimeParting('d','-5','2010'); // Set Hour : Day

s.eVar10=s.getNewRepeat();


/*** I think this can be deleted
if(!s.eVar44)
	s.eVar44=s.getQueryParam('from')
	//s.eVar44=s.getValOnce(s.eVar44,'s_v44',0)
***/


if(!s.prop13) {	
	var shareType = s.getQueryParam('cm_ite');		
	if(shareType == null || shareType == "" ){	
		s.prop13 = s.getQueryParam('cm_cat');
	} else {
		s.prop13 = shareType;
	}
}

/* Internal Campaign */
if(!s.eVar2)
	s.eVar2=s.getQueryParam('spid')
	s.eVar2=s.getValOnce(s.eVar2,'s_v2',0)
	
s.eVar38=s.getQueryParam('rssid')
s.eVar38=s.getValOnce(s.eVar3,'s_v3',0)

if(!s.eVar39){
	if(page.fv==1){
		s.prop39=page.parStr;
	}
	s.eVar39=user.parStr;
}

if(!s.eVar40){
	s.eVar40=page.siteStr;
}

if(!s.eVar60){
	s.eVar60=page.parStr;
}


/* Copy props to eVars */
if(s.eVar44&&!s.prop44) s.prop44=s.eVar44;
if(s.prop1&&!s.eVar1) s.eVar1=s.prop1;
if(s.campaign&&!s.eVar4) s.eVar4=s.campaign;
if(s.campaign&&!s.eVar5) s.eVar5=s.campaign;
if(s.channel&&!s.eVar13) s.eVar13=s.channel;
if(s.prop9&&!s.eVar9) s.eVar9=s.prop9;


if(s.prop2&&!s.eVar3) s.eVar3=s.prop2;

if(s.prop11&&!s.eVar12) s.eVar12=s.prop11;
if(s.prop14&&!s.eVar14) s.eVar14=s.prop14;
if(s.prop15&&!s.eVar15) s.eVar15=s.prop15;
if(s.prop16&&!s.eVar16) s.eVar16=s.prop16;
if(s.prop17&&!s.eVar17) s.eVar17=s.prop17;
if(s.prop18&&!s.eVar18) s.eVar18=s.prop18;
if(s.prop19&&!s.eVar19) s.eVar19=s.prop19;
if(s.prop26&&!s.eVar26) s.eVar26=s.prop26;
if(s.prop27&&!s.eVar27) s.eVar27=s.prop27;
if(s.prop28&&!s.eVar28) s.eVar28=s.prop28;
if(s.prop29&&!s.eVar29) s.eVar29=s.prop29;
if(s.prop31&&!s.eVar31) s.eVar31=s.prop31;
if(s.prop32&&!s.eVar32) s.eVar32=s.prop32;
if(s.prop36&&!s.eVar36) s.eVar36=s.prop36;
if(s.prop41&&!s.eVar41) s.eVar41=s.prop41;
if(s.prop45&&!s.eVar45) s.eVar45=s.prop45;
if(s.prop55&&!s.eVar55) s.eVar55=s.prop55;
if(s.prop56&&!s.eVar56) s.eVar56=s.prop56;
if(s.prop57&&!s.eVar57) s.eVar57=s.prop57;
if(s.prop58&&!s.eVar58) s.eVar58=s.prop58;
if(s.pageName&&!s.eVar42) s.eVar42=s.pageName;
if(s.prop45&&!s.eVar45) s.eVar45=s.prop45; //Cobrand
if(s.prop63&&!s.eVar63) s.eVar63=s.prop63;

//s.prop24=anonymization
var anonymization=new String(window.location.pathname);if(anonymization.indexOf("?")>-1){var eol=anonymization.indexOf("?");anonymization=anonymization.substring(0,eol);}if(anonymization.indexOf("#")>-1){var eol=anonymization.indexOf("#");anonymization=anonymization.substring(0,eol);}if(anonymization=="/index.html"||anonymization=="/"||anonymization==""){anonymization="/";}else{if(anonymization.indexOf("/interact/photogallery")==0){anonymization='/interact/photogallery';}else if(anonymization.indexOf("/common/drilldown")==0){var urlObjs=anonymization.split("/");for(var i=0;i<urlObjs.length;i++){if(i!="common"||i!="drilldown"){urlObjs.pop();}}anonymization=urlObjs.join("/");}else if(anonymization.indexOf(".html")>-1){}else{var urlObjs=anonymization.split("/");totalNum=urlObjs.length-1;var omn_temp=urlObjs[totalNum];if(omn_temp.match(/[A-Z]/)||omn_temp.match(/[0-9]/)||omn_temp.match(/[@#$%&!*:]/)||omn_temp==''){urlObjs.pop();}anonymization=urlObjs.join("/");}}
s.prop24=anonymization;

}
s.doPlugins=s_doPlugins




/************************** PLUGINS SECTION *************************/
/* You may insert any plugins you wish to use here.                 */

/*
 * Function - read combined cookies v 0.2
 */
s.c_rr=s.c_r;
s.c_r=new Function("k",""
+"var s=this,d=new Date,v=s.c_rr(k),c=s.c_rr('s_pers'),i,m,e;if(v)ret"
+"urn v;k=s.ape(k);i=c.indexOf(' '+k+'=');c=i<0?s.c_rr('s_sess'):c;i="
+"c.indexOf(' '+k+'=');m=i<0?i:c.indexOf('|',i);e=i<0?i:c.indexOf(';'"
+",i);m=m>0?m:e;v=i<0?'':s.epa(c.substring(i+2+k.length,m<0?c.length:"
+"m));if(m>0&&m!=e)if(parseInt(c.substring(m+1,e<0?c.length:e))<d.get"
+"Time()){d.setTime(d.getTime()-60000);s.c_w(s.epa(k),'',d);v='';}ret"
+"urn v;");

/*
 * Function - write combined cookies v 0.2
 */
s.c_wr=s.c_w;
s.c_w=new Function("k","v","e",""
+"var s=this,d=new Date,ht=0,pn='s_pers',sn='s_sess',pc=0,sc=0,pv,sv,"
+"c,i,t;d.setTime(d.getTime()-60000);if(s.c_rr(k)) s.c_wr(k,'',d);k=s"
+".ape(k);pv=s.c_rr(pn);i=pv.indexOf(' '+k+'=');if(i>-1){pv=pv.substr"
+"ing(0,i)+pv.substring(pv.indexOf(';',i)+1);pc=1;}sv=s.c_rr(sn);i=sv"
+".indexOf(' '+k+'=');if(i>-1){sv=sv.substring(0,i)+sv.substring(sv.i"
+"ndexOf(';',i)+1);sc=1;}d=new Date;if(e){if(e.getTime()>d.getTime())"
+"{pv+=' '+k+'='+s.ape(v)+'|'+e.getTime()+';';pc=1;}}else{sv+=' '+k+'"
+"='+s.ape(v)+';';sc=1;}if(sc) s.c_wr(sn,sv,0);if(pc){t=pv;while(t&&t"
+".indexOf(';')!=-1){var t1=parseInt(t.substring(t.indexOf('|')+1,t.i"
+"ndexOf(';')));t=t.substring(t.indexOf(';')+1);ht=ht<t1?t1:ht;}d.set"
+"Time(ht);s.c_wr(pn,pv,d);}return v==s.c_r(s.epa(k));");

/*                                                                 
 * Plugin: getVisitNum - version 3.0
 */
s.getVisitNum=new Function("tp","c","c2",""
+"var s=this,e=new Date,cval,cvisit,ct=e.getTime(),d;if(!tp){tp='m';}"
+"if(tp=='m'||tp=='w'||tp=='d'){eo=s.endof(tp),y=eo.getTime();e.setTi"
+"me(y);}else {d=tp*86400000;e.setTime(ct+d);}if(!c){c='s_vnum';}if(!"
+"c2){c2='s_invisit';}cval=s.c_r(c);if(cval){var i=cval.indexOf('&vn="
+"'),str=cval.substring(i+4,cval.length),k;}cvisit=s.c_r(c2);if(cvisi"
+"t){if(str){e.setTime(ct+1800000);s.c_w(c2,'true',e);return str;}els"
+"e {return 'unknown visit number';}}else {if(str){str++;k=cval.substri"
+"ng(0,i);e.setTime(k);s.c_w(c,k+'&vn='+str,e);e.setTime(ct+1800000);"
+"s.c_w(c2,'true',e);return str;}else {s.c_w(c,e.getTime()+'&vn=1',e)"
+";e.setTime(ct+1800000);s.c_w(c2,'true',e);return 1;}}");
s.dimo=new Function("m","y",""
+"var d=new Date(y,m+1,0);return d.getDate();");
s.endof=new Function("x",""
+"var t=new Date;t.setHours(0);t.setMinutes(0);t.setSeconds(0);if(x=="
+"'m'){d=s.dimo(t.getMonth(),t.getFullYear())-t.getDate()+1;}else if("
+"x=='w'){d=7-t.getDay();}else {d=1;}t.setDate(t.getDate()+d);return "
+"t;");

/*
 * Plugin: getNewRepeat 1.2 - Returns whether user is new or repeat
 */
s.getNewRepeat=new Function("d","cn",""
+"var s=this,e=new Date(),cval,sval,ct=e.getTime();d=d?d:30;cn=cn?cn:"
+"'s_nr';e.setTime(ct+d*24*60*60*1000);cval=s.c_r(cn);if(cval.length="
+"=0){s.c_w(cn,ct+'-New',e);return'New';}sval=s.split(cval,'-');if(ct"
+"-sval[0]<30*60*1000&&sval[1]=='New'){s.c_w(cn,ct+'-New',e);return'N"
+"ew';}else{s.c_w(cn,ct+'-Repeat',e);return'Repeat';}");

/*
 * Plugin: getTimeParting 1.3 - Set timeparting values based on time zone
 */
s.getTimeParting=new Function("t","z","y",""
+"dc=new Date('1/1/2000');f=15;var omne=8;if(dc.getDay()!=6||"
+"dc.getMonth()!=0){return'Data Not Available'}else{;z=parseInt(z);"
+"if(y=='2009'){f=8;omne=1};gmar=new Date('3/1/'+y);dsts=f-gmar.getDay("
+");gnov=new Date('11/1/'+y);dste=omne-gnov.getDay();spr=new Date('3/'"
+"+dsts+'/'+y);fl=new Date('11/'+dste+'/'+y);cd=new Date();"
+"if(cd>spr&&cd<fl){z=z+1}else{z=z};utc=cd.getTime()+(cd.getTimezoneO"
+"ffset()*60000);tz=new Date(utc + (3600000*z));thisy=tz.getFullYear("
+");var days=['Sunday','Monday','Tuesday','Wednesday','Thursday','Fr"
+"iday','Saturday'];if(thisy!=y){return'Data Not Available'}else{;thi"
+"sh=tz.getHours();thismin=tz.getMinutes();thisd=tz.getDay();var dow="
+"days[thisd];var ap='AM';var dt='Weekday';var mint='00';if(thismin>3"
+"0){mint='30'}if(thish>=12){ap='PM';thish=thish-12};if (thish==0){th"
+"ish=12};if(thisd==6||thisd==0){dt='Weekend'};var timestring=thish+'"
+":'+mint+ap;var daystring=dow;var endstring=dt;if(t=='h'){return tim"
+"estring}if(t=='d'){return daystring};if(t=='w'){return en"
+"dstring}}};"
);

/*
 * Plugin: getQueryParam 2.1 - return query string parameter(s)
 */
s.getQueryParam=new Function("p","d","u",""
+"var s=this,v='',i,t;d=d?d:'';u=u?u:(s.pageURL?s.pageURL:s.wd.locati"
+"on);if(u=='f')u=s.gtfs().location;while(p){i=p.indexOf(',');i=i<0?p"
+".length:i;t=s.p_gpv(p.substring(0,i),u+'');if(t)v+=v?d+t:t;p=p.subs"
+"tring(i==p.length?i:i+1)}return v");
s.p_gpv=new Function("k","u",""
+"var s=this,v='',i=u.indexOf('?'),q;if(k&&i>-1){q=u.substring(i+1);v"
+"=s.pt(q,'&','p_gvf',k)}return v");
s.p_gvf=new Function("t","k",""
+"if(t){var s=this,i=t.indexOf('='),p=i<0?t:t.substring(0,i),v=i<0?'T"
+"rue':t.substring(i+1);if(p.toLowerCase()==k.toLowerCase())return s."
+"epa(v)}return ''");

/*
 * Plugin: getValOnce 0.2 - get a value once per session or number of days
 */
s.getValOnce=new Function("v","c","e",""
+"var s=this,k=s.c_r(c),a=new Date;e=e?e:0;if(v){a.setTime(a.getTime("
+")+e*86400000);s.c_w(c,v,e?a:0);}return v==k?'':v");

/*
 * Utility Function: split v1.5 - split a string (JS 1.0 compatible)
 */
s.split=new Function("l","d",""
+"var i,x=0,a=new Array;while(l){i=l.indexOf(d);i=i>-1?i:l.length;a[x"
+"++]=l.substring(0,i);l=l.substring(i+d.length);}return a");

/*
 * Plugin Utility: apl v1.1
 */
s.apl=new Function("L","v","d","u",""
+"var s=this,m=0;if(!L)L='';if(u){var i,n,a=s.split(L,d);for(i=0;i<a."
+"length;i++){n=a[i];m=m||(u==1?(n==v):(n.toLowerCase()==v.toLowerCas"
+"e()));}}if(!m)L=L?L+d+v:v;return L");

/*
 * Plugin: downloadLinkHandler 0.5 - identify and report download links
 */
s.downloadLinkHandler=new Function("p",""
+"var s=this,h=s.p_gh(),n='linkDownloadFileTypes',i,t;if(!h||(s.linkT"
+"ype&&(h||s.linkName)))return '';i=h.indexOf('?');t=s[n];s[n]=p?p:t;"
+"if(s.lt(h)=='d')s.linkType='d';else h='';s[n]=t;return h;");

/*
 * Utility Function: p_gh
 */
s.p_gh=new Function(""
+"var s=this;if(!s.eo&&!s.lnk)return '';var o=s.eo?s.eo:s.lnk,y=s.ot("
+"o),n=s.oid(o),x=o.s_oidt;if(s.eo&&o==s.eo){while(o&&!n&&y!='BODY'){"
+"o=o.parentElement?o.parentElement:o.parentNode;if(!o)return '';y=s."
+"ot(o);n=s.oid(o);x=o.s_oidt}}return o.href?o.href:'';");
/**********************************************************************/


/* WARNING: Changing any of the below variables will cause drastic
changes to how your visitor data is collected.  Changes should only be
made when instructed to do so by your account manager.*/
s.visitorNamespace="twci";
s.trackingServer="odc.weather.com";
s.dc=112;

/* Configure Modules and Plugins */

//media tracking settings
s.loadModule("Media")
s.Media.autoTrack=false;
s.Media.trackWhilePlaying=false;
/* TrackVars and TrackEvents are needed to properly track video data points. */ 
s.Media.trackVars="events,eVar11,eVar46,eVar47,eVar48,eVar41,prop23,eVar58,eVar59,eVar44";
s.Media.trackEvents="event15,event16"; 
s.Media.trackMilestones="";
s.Media.segmentByMilestones = false;
s.Media.trackUsingContextData = true;
s.Media.contextDataMapping = {
  "a.media.name":"eVar46",
  "a.media.category":"eVar47",
  "a.media.playerName":"eVar48",
  "a.media.affiliateName":"eVar58",
  "a.media.affiliateLoc":"eVar59",
  "a.media.fromStr":"eVar44",
//  "a.media.segment":"eVar11",
  "a.contentType":"eVar41",
//  "a.media.timePlayed":"event20",
  "a.media.view":"event15",
//  "a.media.segmentView":"event16",
  "a.media.complete":"event16",
  "a.media.milestones":{
} };

/****************************** MODULES *****************************/
/* Module: Media */
s.m_Media_c="var m=s.m_i('Media');if(m.completeByCloseOffset==undefined)m.completeByCloseOffset=1;if(m.completeCloseOffsetThreshold==undefined)m.completeCloseOffsetThreshold=1;m.cn=function(n){var m="
+"this;return m.s.rep(m.s.rep(m.s.rep(n,\"\\n\",''),\"\\r\",''),'--**--','')};m.open=function(n,l,p,b){var m=this,i=new Object,tm=new Date,a='',x;n=m.cn(n);if(!l)l=-1;if(n&&p){if(!m.l)m.l=new Object;"
+"if(m.l[n])m.close(n);if(b&&b.id)a=b.id;if(a)for (x in m.l)if(m.l[x]&&m.l[x].a==a)m.close(m.l[x].n);i.n=n;i.l=l;i.o=0;i.x=0;i.p=m.cn(m.playerName?m.playerName:p);i.a=a;i.t=0;i.ts=0;i.s=Math.floor(tm"
+".getTime()/1000);i.lx=0;i.lt=i.s;i.lo=0;i.e='';i.to=-1;i.tc=0;i.fel=new Object;i.vt=0;i.sn=0;i.sx=\"\";i.sl=0;i.sg=0;i.sc=0;i.us=0;i.co=0;i.cot=0;i.lm=0;i.lom=0;m.l[n]=i}};m._delete=function(n){var"
+" m=this,i;n=m.cn(n);i=m.l[n];m.l[n]=0;if(i&&i.m)clearTimeout(i.m.i)};m.close=function(n){this.e(n,0,-1)};m.play=function(n,o,sn,sx,sl){var m=this,i;i=m.e(n,1,o,sn,sx,sl);if(i&&!i.m){i.m=new Object;"
+"i.m.m=new Function('var m=s_c_il['+m._in+'],i;if(m.l){i=m.l[\"'+m.s.rep(i.n,'\"','\\\\\"')+'\"];if(i){if(i.lx==1)m.e(i.n,3,-1);i.m.i=setTimeout(i.m.m,1000)}}');i.m.m()}};m.complete=function(n,o){th"
+"is.e(n,5,o)};m.stop=function(n,o){this.e(n,2,o)};m.track=function(n){this.e(n,4,-1)};m.bcd=function(vo,i){var m=this,ns='a.media.',v=vo.linkTrackVars,e=vo.linkTrackEvents,pe='m_i',pev3,c=vo.context"
+"Data,x;c['a.contentType']='video';c[ns+'name']=i.n;c[ns+'playerName']=i.p;if(i.l>0){c[ns+'length']=i.l;}c[ns+'timePlayed']=Math.floor(i.ts);if(!i.vt){c[ns+'view']=true;pe='m_s';i.vt=1}if(i.sx){c[ns"
+"+'segmentNum']=i.sn;c[ns+'segment']=i.sx;if(i.sl>0)c[ns+'segmentLength']=i.sl;if(i.sc&&i.ts>0)c[ns+'segmentView']=true}if(!i.cot&&i.co){c[ns+\"complete\"]=true;i.cot=1}if(i.lm>0)c[ns+'milestone']=i"
+".lm;if(i.lom>0)c[ns+'offsetMilestone']=i.lom;if(v)for(x in c)v+=',contextData.'+x;pev3='video';vo.pe=pe;vo.pev3=pev3;var d=m.contextDataMapping,y,a,l,n;if(d){vo.events2='';if(v)v+=',events';for(x i"
+"n d){if(x.substring(0,ns.length)==ns)y=x.substring(ns.length);else y=\"\";a=d[x];if(typeof(a)=='string'){l=m.s.sp(a,',');for(n=0;n<l.length;n++){a=l[n];if(x==\"a.contentType\"){if(v)v+=','+a;vo[a]="
+"c[x]}else if(y){if(y=='view'||y=='segmentView'||y=='complete'||y=='timePlayed'){if(e)e+=','+a;if(c[x]){if(y=='timePlayed'){if(c[x])vo.events2+=(vo.events2?',':'')+a+'='+c[x];}else if(c[x])vo.events"
+"2+=(vo.events2?',':'')+a}}else if(y=='segment'&&c[x+'Num']){if(v)v+=','+a;vo[a]=c[x+'Num']+':'+c[x]}else{if(v)v+=','+a;vo[a]=c[x]}}}}else if(y=='milestones'||y=='offsetMilestones'){x=x.substring(0,"
+"x.length-1);if(c[x]&&d[x+'s'][c[x]]){if(e)e+=','+d[x+'s'][c[x]];vo.events2+=(vo.events2?',':'')+d[x+'s'][c[x]]}}}vo.contextData=0}vo.linkTrackVars=v;vo.linkTrackEvents=e};m.bpe=function(vo,i,x,o){v"
+"ar m=this,pe='m_o',pev3,d='--**--';pe='m_o';if(!i.vt){pe='m_s';i.vt=1}else if(x==4)pe='m_i';pev3=m.s.ape(i.n)+d+Math.floor(i.l>0?i.l:1)+d+m.s.ape(i.p)+d+Math.floor(i.t)+d+i.s+d+(i.to>=0?'L'+Math.fl"
+"oor(i.to):'')+i.e+(x!=0&&x!=2?'L'+Math.floor(o):'');vo.pe=pe;vo.pev3=pev3};m.e=function(n,x,o,sn,sx,sl,pd){var m=this,i,tm=new Date,ts=Math.floor(tm.getTime()/1000),c,l,v=m.trackVars,e=m.trackEvent"
+"s,ti=m.trackSeconds,tp=m.trackMilestones,to=m.trackOffsetMilestones,sm=m.segmentByMilestones,so=m.segmentByOffsetMilestones,z=new Array,j,t=1,w=new Object,x,ek,tc,vo=new Object;n=m.cn(n);i=n&&m.l&&"
+"m.l[n]?m.l[n]:0;if(i){if(o<0){if(i.lx==1&&i.lt>0)o=(ts-i.lt)+i.lo;else o=i.lo}if(i.l>0)o=o<i.l?o:i.l;if(o<0)o=0;i.o=o;if(i.l>0){i.x=(i.o/i.l)*100;i.x=i.x>100?100:i.x}if(i.lo<0)i.lo=o;tc=i.tc;w.name"
+"=n;w.length=i.l;w.openTime=new Date;w.openTime.setTime(i.s*1000);w.offset=i.o;w.percent=i.x;w.playerName=i.p;if(i.to<0)w.mediaEvent=w.event='OPEN';else w.mediaEvent=w.event=(x==1?'PLAY':(x==2?'STOP"
+"':(x==3?'MONITOR':(x==4?'TRACK':(x==5?'COMPLETE':('CLOSE'))))));if(!pd){if(i.pd)pd=i.pd}else i.pd=pd;w.player=pd;if(x>2||(x!=i.lx&&(x!=2||i.lx==1))) {if(!sx){sn=i.sn;sx=i.sx;sl=i.sl}if(x){if(x==1)i"
+".lo=o;if((x<=3||x==5)&&i.to>=0){t=0;v=e=\"None\";if(i.to!=o){l=i.to;if(l>o){l=i.lo;if(l>o)l=o}z=tp?m.s.sp(tp,','):0;if(i.l>0&&z&&o>=l)for(j=0;j<z.length;j++){c=z[j]?parseFloat(''+z[j]):0;if(c&&(l/i"
+".l)*100<c&&i.x>=c){t=1;j=z.length;w.mediaEvent=w.event='MILESTONE';i.lm=w.milestone=c}}z=to?m.s.sp(to,','):0;if(z&&o>=l)for(j=0;j<z.length;j++){c=z[j]?parseFloat(''+z[j]):0;if(c&&l<c&&o>=c){t=1;j=z"
+".length;w.mediaEvent=w.event='OFFSET_MILESTONE';i.lom=w.offsetMilestone=c}}}}if(i.sg||!sx){if(sm&&tp&&i.l>0){z=m.s.sp(tp,',');if(z){z[z.length]='100';l=0;for(j=0;j<z.length;j++){c=z[j]?parseFloat('"
+"'+z[j]):0;if(c){if(i.x<c){sn=j+1;sx='M:'+l+'-'+c;j=z.length}l=c}}}}else if(so&&to){z=m.s.sp(to,',');if(z){z[z.length]=''+(i.l>0?i.l:'E');l=0;for(j=0;j<z.length;j++){c=z[j]?parseFloat(''+z[j]):0;if("
+"c||z[j]=='E'){if(o<c||z[j]=='E'){sn=j+1;sx='O:'+l+'-'+c;j=z.length}l=c}}}}if(sx)i.sg=1}if((sx||i.sx)&&sx!=i.sx){i.us=1;if(!i.sx){i.sn=sn;i.sx=sx}if(i.to>=0)t=1}if(x>=2&&i.lo<o){i.t+=o-i.lo;i.ts+=o-"
+"i.lo}if(x<=2||(x==3&&!i.lx)){i.e+=(x==1||x==3?'S':'E')+Math.floor(o);i.lx=(x==3?1:x)}if(!t&&i.to>=0&&x<=3){ti=ti?ti:0;if(ti&&i.ts>=ti){t=1;w.mediaEvent=w.event='SECONDS'}}i.lt=ts;i.lo=o}if(!x||i.x>"
+"=100){x=0;m.e(n,2,-1,0,0,-1,pd);v=e=\"None\";w.mediaEvent=w.event=\"CLOSE\"}if(x==5||(m.completeByCloseOffset&&(!x||i.x>=100)&&i.l>0&&o>=i.l-m.completeCloseOffsetThreshold)){w.complete=i.co=1;t=1}e"
+"k=w.mediaEvent;if(ek=='MILESTONE')ek+='_'+w.milestone;else if(ek=='OFFSET_MILESTONE')ek+='_'+w.offsetMilestone;if(!i.fel[ek]) {w.eventFirstTime=true;i.fel[ek]=1}else w.eventFirstTime=false;w.timePl"
+"ayed=i.t;w.segmentNum=i.sn;w.segment=i.sx;w.segmentLength=i.sl;if(m.monitor&&x!=4)m.monitor(m.s,w);if(x==0)m._delete(n);if(t&&i.tc==tc){vo=new Object;vo.contextData=new Object;vo.linkTrackVars=v;vo"
+".linkTrackEvents=e;if(!vo.linkTrackVars)vo.linkTrackVars='';if(!vo.linkTrackEvents)vo.linkTrackEvents='';if(m.trackUsingContextData)m.bcd(vo,i);else m.bpe(vo,i,x,o);m.s.t(vo);if(i.us){i.sn=sn;i.sx="
+"sx;i.sc=1;i.us=0}else if(i.ts>0)i.sc=0;i.e=\"\";i.lm=i.lom=0;i.ts-=Math.floor(i.ts);i.to=o;i.tc++}}}return i};m.ae=function(n,l,p,x,o,sn,sx,sl,pd,b){var m=this,r=0;if(n&&(!m.autoTrackMediaLengthReq"
+"uired||(length&&length>0)) &&p){if(!m.l||!m.l[n]){if(x==1||x==3){m.open(n,l,p,b);r=1}}else r=1;if(r)m.e(n,x,o,sn,sx,sl,pd)}};m.a=function(o,t){var m=this,i=o.id?o.id:o.name,n=o.name,p=0,v,c,c1,c2,x"
+"c=m.s.h,x,e,f1,f2='s_media_'+m._in+'_oc',f3='s_media_'+m._in+'_t',f4='s_media_'+m._in+'_s',f5='s_media_'+m._in+'_l',f6='s_media_'+m._in+'_m',f7='s_media_'+m._in+'_c',tcf,w;if(!i){if(!m.c)m.c=0;i='s"
+"_media_'+m._in+'_'+m.c;m.c++}if(!o.id)o.id=i;if(!o.name)o.name=n=i;if(!m.ol)m.ol=new Object;if(m.ol[i])return;m.ol[i]=o;if(!xc)xc=m.s.b;tcf=new Function('o','var e,p=0;try{if(o.versionInfo&&o.curre"
+"ntMedia&&o.controls)p=1}catch(e){p=0}return p');p=tcf(o);if(!p){tcf=new Function('o','var e,p=0,t;try{t=o.GetQuickTimeVersion();if(t)p=2}catch(e){p=0}return p');p=tcf(o);if(!p){tcf=new Function('o'"
+",'var e,p=0,t;try{t=o.GetVersionInfo();if(t)p=3}catch(e){p=0}return p');p=tcf(o)}}v=\"var m=s_c_il[\"+m._in+\"],o=m.ol['\"+i+\"']\";if(p==1){p='Windows Media Player '+o.versionInfo;c1=v+',n,p,l,x=-"
+"1,cm,c,mn;if(o){cm=o.currentMedia;c=o.controls;if(cm&&c){mn=cm.name?cm.name:c.URL;l=cm.duration;p=c.currentPosition;n=o.playState;if(n){if(n==8)x=0;if(n==3)x=1;if(n==1||n==2||n==4||n==5||n==6)x=2;}"
+"';c2='if(x>=0)m.ae(mn,l,\"'+p+'\",x,x!=2?p:-1,0,\"\",0,0,o)}}';c=c1+c2;if(m.s.isie&&xc){x=m.s.d.createElement('script');x.language='jscript';x.type='text/javascript';x.htmlFor=i;x.event='PlayStateC"
+"hange(NewState)';x.defer=true;x.text=c;xc.appendChild(x);o[f6]=new Function(c1+'if(n==3){x=3;'+c2+'}setTimeout(o.'+f6+',5000)');o[f6]()}}if(p==2){p='QuickTime Player '+(o.GetIsQuickTimeRegistered()"
+"?'Pro ':'')+o.GetQuickTimeVersion();f1=f2;c=v+',n,x,t,l,p,p2,mn;if(o){mn=o.GetMovieName()?o.GetMovieName():o.GetURL();n=o.GetRate();t=o.GetTimeScale();l=o.GetDuration()/t;p=o.GetTime()/t;p2=o.'+f5+"
+"';if(n!=o.'+f4+'||p<p2||p-p2>5){x=2;if(n!=0)x=1;else if(p>=l)x=0;if(p<p2||p-p2>5)m.ae(mn,l,\"'+p+'\",2,p2,0,\"\",0,0,o);m.ae(mn,l,\"'+p+'\",x,x!=2?p:-1,0,\"\",0,0,o)}if(n>0&&o.'+f7+'>=10){m.ae(mn,l"
+",\"'+p+'\",3,p,0,\"\",0,0,o);o.'+f7+'=0}o.'+f7+'++;o.'+f4+'=n;o.'+f5+'=p;setTimeout(\"'+v+';o.'+f2+'(0,0)\",500)}';o[f1]=new Function('a','b',c);o[f4]=-1;o[f7]=0;o[f1](0,0)}if(p==3){p='RealPlayer '"
+"+o.GetVersionInfo();f1=n+'_OnPlayStateChange';c1=v+',n,x=-1,l,p,mn;if(o){mn=o.GetTitle()?o.GetTitle():o.GetSource();n=o.GetPlayState();l=o.GetLength()/1000;p=o.GetPosition()/1000;if(n!=o.'+f4+'){if"
+"(n==3)x=1;if(n==0||n==2||n==4||n==5)x=2;if(n==0&&(p>=l||p==0))x=0;if(x>=0)m.ae(mn,l,\"'+p+'\",x,x!=2?p:-1,0,\"\",0,0,o)}if(n==3&&(o.'+f7+'>=10||!o.'+f3+')){m.ae(mn,l,\"'+p+'\",3,p,0,\"\",0,0,o);o.'"
+"+f7+'=0}o.'+f7+'++;o.'+f4+'=n;';c2='if(o.'+f2+')o.'+f2+'(o,n)}';if(m.s.wd[f1])o[f2]=m.s.wd[f1];m.s.wd[f1]=new Function('a','b',c1+c2);o[f1]=new Function('a','b',c1+'setTimeout(\"'+v+';o.'+f1+'(0,0)"
+"\",o.'+f3+'?500:5000);'+c2);o[f4]=-1;if(m.s.isie)o[f3]=1;o[f7]=0;o[f1](0,0)}};m.as=new Function('e','var m=s_c_il['+m._in+'],l,n;if(m.autoTrack&&m.s.d.getElementsByTagName){l=m.s.d.getElementsByTag"
+"Name(m.s.isie?\"OBJECT\":\"EMBED\");if(l)for(n=0;n<l.length;n++)m.a(l[n]);}');if(s.wd.attachEvent)s.wd.attachEvent('onload',m.as);else if(s.wd.addEventListener)s.wd.addEventListener('load',m.as,fal"
+"se);if(m.onLoad)m.onLoad(s,m)";
s.m_i("Media");

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code='',s_objectID;function s_gi(un,pg,ss){var c="s.version='H.24.4';s.an=s_an;s.logDebug=function(m){var s=this,tcf=new Function('var e;try{console.log(\"'+s.rep(s.rep(m,\"\\n\",\"\\\\n\"),\""
+"\\\"\",\"\\\\\\\"\")+'\");}catch(e){}');tcf()};s.cls=function(x,c){var i,y='';if(!c)c=this.an;for(i=0;i<x.length;i++){n=x.substring(i,i+1);if(c.indexOf(n)>=0)y+=n}return y};s.fl=function(x,l){retur"
+"n x?(''+x).substring(0,l):x};s.co=function(o){if(!o)return o;var n=new Object,x;for(x in o)if(x.indexOf('select')<0&&x.indexOf('filter')<0)n[x]=o[x];return n};s.num=function(x){x=''+x;for(var p=0;p"
+"<x.length;p++)if(('0123456789').indexOf(x.substring(p,p+1))<0)return 0;return 1};s.rep=s_rep;s.sp=s_sp;s.jn=s_jn;s.ape=function(x){var s=this,h='0123456789ABCDEF',i,c=s.charSet,n,l,e,y='';c=c?c.toU"
+"pperCase():'';if(x){x=''+x;if(s.em==3)x=encodeURIComponent(x);else if(c=='AUTO'&&('').charCodeAt){for(i=0;i<x.length;i++){c=x.substring(i,i+1);n=x.charCodeAt(i);if(n>127){l=0;e='';while(n||l<4){e=h"
+".substring(n%16,n%16+1)+e;n=(n-n%16)/16;l++}y+='%u'+e}else if(c=='+')y+='%2B';else y+=escape(c)}x=y}else x=escape(''+x);x=s.rep(x,'+','%2B');if(c&&c!='AUTO'&&s.em==1&&x.indexOf('%u')<0&&x.indexOf('"
+"%U')<0){i=x.indexOf('%');while(i>=0){i++;if(h.substring(8).indexOf(x.substring(i,i+1).toUpperCase())>=0)return x.substring(0,i)+'u00'+x.substring(i);i=x.indexOf('%',i)}}}return x};s.epa=function(x)"
+"{var s=this;if(x){x=s.rep(''+x,'+',' ');return s.em==3?decodeURIComponent(x):unescape(x)}return x};s.pt=function(x,d,f,a){var s=this,t=x,z=0,y,r;while(t){y=t.indexOf(d);y=y<0?t.length:y;t=t.substri"
+"ng(0,y);r=s[f](t,a);if(r)return r;z+=y+d.length;t=x.substring(z,x.length);t=z<x.length?t:''}return ''};s.isf=function(t,a){var c=a.indexOf(':');if(c>=0)a=a.substring(0,c);c=a.indexOf('=');if(c>=0)a"
+"=a.substring(0,c);if(t.substring(0,2)=='s_')t=t.substring(2);return (t!=''&&t==a)};s.fsf=function(t,a){var s=this;if(s.pt(a,',','isf',t))s.fsg+=(s.fsg!=''?',':'')+t;return 0};s.fs=function(x,f){var"
+" s=this;s.fsg='';s.pt(x,',','fsf',f);return s.fsg};s.mpc=function(m,a){var s=this,c,l,n,v;v=s.d.visibilityState;if(!v)v=s.d.webkitVisibilityState;if(v&&v=='prerender'){if(!s.mpq){s.mpq=new Array;l="
+"s.sp('webkitvisibilitychange,visibilitychange',',');for(n=0;n<l.length;n++){s.d.addEventListener(l[n],new Function('var s=s_c_il['+s._in+'],c,v;v=s.d.visibilityState;if(!v)v=s.d.webkitVisibilitySta"
+"te;if(s.mpq&&v==\"visible\"){while(s.mpq.length>0){c=s.mpq.shift();s[c.m].apply(s,c.a)}s.mpq=0}'),false)}}c=new Object;c.m=m;c.a=a;s.mpq.push(c);return 1}return 0};s.si=function(){var s=this,i,k,v,"
+"c=s_gi+'var s=s_gi(\"'+s.oun+'\");s.sa(\"'+s.un+'\");';for(i=0;i<s.va_g.length;i++){k=s.va_g[i];v=s[k];if(v!=undefined){if(typeof(v)!='number')c+='s.'+k+'=\"'+s_fe(v)+'\";';else c+='s.'+k+'='+v+';'"
+"}}c+=\"s.lnk=s.eo=s.linkName=s.linkType=s.wd.s_objectID=s.ppu=s.pe=s.pev1=s.pev2=s.pev3='';\";return c};s.c_d='';s.c_gdf=function(t,a){var s=this;if(!s.num(t))return 1;return 0};s.c_gd=function(){v"
+"ar s=this,d=s.wd.location.hostname,n=s.fpCookieDomainPeriods,p;if(!n)n=s.cookieDomainPeriods;if(d&&!s.c_d){n=n?parseInt(n):2;n=n>2?n:2;p=d.lastIndexOf('.');if(p>=0){while(p>=0&&n>1){p=d.lastIndexOf"
+"('.',p-1);n--}s.c_d=p>0&&s.pt(d,'.','c_gdf',0)?d.substring(p):d}}return s.c_d};s.c_r=function(k){var s=this;k=s.ape(k);var c=' '+s.d.cookie,i=c.indexOf(' '+k+'='),e=i<0?i:c.indexOf(';',i),v=i<0?'':"
+"s.epa(c.substring(i+2+k.length,e<0?c.length:e));return v!='[[B]]'?v:''};s.c_w=function(k,v,e){var s=this,d=s.c_gd(),l=s.cookieLifetime,t;v=''+v;l=l?(''+l).toUpperCase():'';if(e&&l!='SESSION'&&l!='N"
+"ONE'){t=(v!=''?parseInt(l?l:0):-60);if(t){e=new Date;e.setTime(e.getTime()+(t*1000))}}if(k&&l!='NONE'){s.d.cookie=k+'='+s.ape(v!=''?v:'[[B]]')+'; path=/;'+(e&&l!='SESSION'?' expires='+e.toGMTString"
+"()+';':'')+(d?' domain='+d+';':'');return s.c_r(k)==v}return 0};s.eh=function(o,e,r,f){var s=this,b='s_'+e+'_'+s._in,n=-1,l,i,x;if(!s.ehl)s.ehl=new Array;l=s.ehl;for(i=0;i<l.length&&n<0;i++){if(l[i"
+"].o==o&&l[i].e==e)n=i}if(n<0){n=i;l[n]=new Object}x=l[n];x.o=o;x.e=e;f=r?x.b:f;if(r||f){x.b=r?0:o[e];x.o[e]=f}if(x.b){x.o[b]=x.b;return b}return 0};s.cet=function(f,a,t,o,b){var s=this,r,tcf;if(s.a"
+"pv>=5&&(!s.isopera||s.apv>=7)){tcf=new Function('s','f','a','t','var e,r;try{r=s[f](a)}catch(e){r=s[t](e)}return r');r=tcf(s,f,a,t)}else{if(s.ismac&&s.u.indexOf('MSIE 4')>=0)r=s[b](a);else{s.eh(s.w"
+"d,'onerror',0,o);r=s[f](a);s.eh(s.wd,'onerror',1)}}return r};s.gtfset=function(e){var s=this;return s.tfs};s.gtfsoe=new Function('e','var s=s_c_il['+s._in+'],c;s.eh(window,\"onerror\",1);s.etfs=1;c"
+"=s.t();if(c)s.d.write(c);s.etfs=0;return true');s.gtfsfb=function(a){return window};s.gtfsf=function(w){var s=this,p=w.parent,l=w.location;s.tfs=w;if(p&&p.location!=l&&p.location.host==l.host){s.tf"
+"s=p;return s.gtfsf(s.tfs)}return s.tfs};s.gtfs=function(){var s=this;if(!s.tfs){s.tfs=s.wd;if(!s.etfs)s.tfs=s.cet('gtfsf',s.tfs,'gtfset',s.gtfsoe,'gtfsfb')}return s.tfs};s.mrq=function(u){var s=thi"
+"s,l=s.rl[u],n,r;s.rl[u]=0;if(l)for(n=0;n<l.length;n++){r=l[n];s.mr(0,0,r.r,r.t,r.u)}};s.flushBufferedRequests=function(){};s.mr=function(sess,q,rs,ta,u){var s=this,dc=s.dc,t1=s.trackingServer,t2=s."
+"trackingServerSecure,tb=s.trackingServerBase,p='.sc',ns=s.visitorNamespace,un=s.cls(u?u:(ns?ns:s.fun)),r=new Object,l,imn='s_i_'+(un),im,b,e;if(!rs){if(t1){if(t2&&s.ssl)t1=t2}else{if(!tb)tb='2o7.ne"
+"t';if(dc)dc=(''+dc).toLowerCase();else dc='d1';if(tb=='2o7.net'){if(dc=='d1')dc='112';else if(dc=='d2')dc='122';p=''}t1=un+'.'+dc+'.'+p+tb}rs='http'+(s.ssl?'s':'')+'://'+t1+'/b/ss/'+s.un+'/'+(s.mob"
+"ile?'5.1':'1')+'/'+s.version+(s.tcn?'T':'')+'/'+sess+'?AQB=1&ndh=1'+(q?q:'')+'&AQE=1';if(s.isie&&!s.ismac)rs=s.fl(rs,2047)}if(s.d.images&&s.apv>=3&&(!s.isopera||s.apv>=7)&&(s.ns6<0||s.apv>=6.1)){if"
+"(!s.rc)s.rc=new Object;if(!s.rc[un]){s.rc[un]=1;if(!s.rl)s.rl=new Object;s.rl[un]=new Array;setTimeout('if(window.s_c_il)window.s_c_il['+s._in+'].mrq(\"'+un+'\")',750)}else{l=s.rl[un];if(l){r.t=ta;"
+"r.u=un;r.r=rs;l[l.length]=r;return ''}imn+='_'+s.rc[un];s.rc[un]++}im=s.wd[imn];if(!im)im=s.wd[imn]=new Image;im.s_l=0;im.onload=new Function('e','this.s_l=1;var wd=window,s;if(wd.s_c_il){s=wd.s_c_"
+"il['+s._in+'];s.mrq(\"'+un+'\");s.nrs--;if(!s.nrs)s.m_m(\"rr\")}');if(!s.nrs){s.nrs=1;s.m_m('rs')}else s.nrs++;if(s.debugTracking){var d='AppMeasurement Debug: '+rs,dl=s.sp(rs,'&'),dln;for(dln=0;dl"
+"n<dl.length;dln++)d+=\"\\n\\t\"+s.epa(dl[dln]);s.logDebug(d)}im.src=rs;if((!ta||ta=='_self'||ta=='_top'||(s.wd.name&&ta==s.wd.name))&&rs.indexOf('&pe=')>=0){b=e=new Date;while(!im.s_l&&e.getTime()-"
+"b.getTime()<500)e=new Date}return ''}return '<im'+'g sr'+'c=\"'+rs+'\" width=1 height=1 border=0 alt=\"\">'};s.gg=function(v){var s=this;if(!s.wd['s_'+v])s.wd['s_'+v]='';return s.wd['s_'+v]};s.glf="
+"function(t,a){if(t.substring(0,2)=='s_')t=t.substring(2);var s=this,v=s.gg(t);if(v)s[t]=v};s.gl=function(v){var s=this;if(s.pg)s.pt(v,',','glf',0)};s.rf=function(x){var s=this,y,i,j,h,p,l=0,q,a,b='"
+"',c='',t;if(x&&x.length>255){y=''+x;i=y.indexOf('?');if(i>0){q=y.substring(i+1);y=y.substring(0,i);h=y.toLowerCase();j=0;if(h.substring(0,7)=='http://')j+=7;else if(h.substring(0,8)=='https://')j+="
+"8;i=h.indexOf(\"/\",j);if(i>0){h=h.substring(j,i);p=y.substring(i);y=y.substring(0,i);if(h.indexOf('google')>=0)l=',q,ie,start,search_key,word,kw,cd,';else if(h.indexOf('yahoo.co')>=0)l=',p,ei,';if"
+"(l&&q){a=s.sp(q,'&');if(a&&a.length>1){for(j=0;j<a.length;j++){t=a[j];i=t.indexOf('=');if(i>0&&l.indexOf(','+t.substring(0,i)+',')>=0)b+=(b?'&':'')+t;else c+=(c?'&':'')+t}if(b&&c)q=b+'&'+c;else c='"
+"'}i=253-(q.length-c.length)-y.length;x=y+(i>0?p.substring(0,i):'')+'?'+q}}}}return x};s.s2q=function(k,v,vf,vfp,f){var s=this,qs='',sk,sv,sp,ss,nke,nk,nf,nfl=0,nfn,nfm;if(k==\"contextData\")k=\"c\""
+";if(v){for(sk in v)if((!f||sk.substring(0,f.length)==f)&&v[sk]&&(!vf||vf.indexOf(','+(vfp?vfp+'.':'')+sk+',')>=0)&&(!Object||!Object.prototype||!Object.prototype[sk])){nfm=0;if(nfl)for(nfn=0;nfn<nf"
+"l.length;nfn++)if(sk.substring(0,nfl[nfn].length)==nfl[nfn])nfm=1;if(!nfm){if(qs=='')qs+='&'+k+'.';sv=v[sk];if(f)sk=sk.substring(f.length);if(sk.length>0){nke=sk.indexOf('.');if(nke>0){nk=sk.substr"
+"ing(0,nke);nf=(f?f:'')+nk+'.';if(!nfl)nfl=new Array;nfl[nfl.length]=nf;qs+=s.s2q(nk,v,vf,vfp,nf)}else{if(typeof(sv)=='boolean'){if(sv)sv='true';else sv='false'}if(sv){if(vfp=='retrieveLightData'&&f"
+".indexOf('.contextData.')<0){sp=sk.substring(0,4);ss=sk.substring(4);if(sk=='transactionID')sk='xact';else if(sk=='channel')sk='ch';else if(sk=='campaign')sk='v0';else if(s.num(ss)){if(sp=='prop')s"
+"k='c'+ss;else if(sp=='eVar')sk='v'+ss;else if(sp=='list')sk='l'+ss;else if(sp=='hier'){sk='h'+ss;sv=sv.substring(0,255)}}}qs+='&'+s.ape(sk)+'='+s.ape(sv)}}}}}if(qs!='')qs+='&.'+k}return qs};s.hav=f"
+"unction(){var s=this,qs='',l,fv='',fe='',mn,i,e;if(s.lightProfileID){l=s.va_m;fv=s.lightTrackVars;if(fv)fv=','+fv+','+s.vl_mr+','}else{l=s.va_t;if(s.pe||s.linkType){fv=s.linkTrackVars;fe=s.linkTrac"
+"kEvents;if(s.pe){mn=s.pe.substring(0,1).toUpperCase()+s.pe.substring(1);if(s[mn]){fv=s[mn].trackVars;fe=s[mn].trackEvents}}}if(fv)fv=','+fv+','+s.vl_l+','+s.vl_l2;if(fe){fe=','+fe+',';if(fv)fv+=',e"
+"vents,'}if (s.events2)e=(e?',':'')+s.events2}for(i=0;i<l.length;i++){var k=l[i],v=s[k],b=k.substring(0,4),x=k.substring(4),n=parseInt(x),q=k;if(!v)if(k=='events'&&e){v=e;e=''}if(v&&(!fv||fv.indexOf"
+"(','+k+',')>=0)&&k!='linkName'&&k!='linkType'){if(k=='timestamp')q='ts';else if(k=='dynamicVariablePrefix')q='D';else if(k=='visitorID')q='vid';else if(k=='pageURL'){q='g';v=s.fl(v,255)}else if(k=="
+"'referrer'){q='r';v=s.fl(s.rf(v),255)}else if(k=='vmk'||k=='visitorMigrationKey')q='vmt';else if(k=='visitorMigrationServer'){q='vmf';if(s.ssl&&s.visitorMigrationServerSecure)v=''}else if(k=='visit"
+"orMigrationServerSecure'){q='vmf';if(!s.ssl&&s.visitorMigrationServer)v=''}else if(k=='charSet'){q='ce';if(v.toUpperCase()=='AUTO')v='ISO8859-1';else if(s.em==2||s.em==3)v='UTF-8'}else if(k=='visit"
+"orNamespace')q='ns';else if(k=='cookieDomainPeriods')q='cdp';else if(k=='cookieLifetime')q='cl';else if(k=='variableProvider')q='vvp';else if(k=='currencyCode')q='cc';else if(k=='channel')q='ch';el"
+"se if(k=='transactionID')q='xact';else if(k=='campaign')q='v0';else if(k=='resolution')q='s';else if(k=='colorDepth')q='c';else if(k=='javascriptVersion')q='j';else if(k=='javaEnabled')q='v';else i"
+"f(k=='cookiesEnabled')q='k';else if(k=='browserWidth')q='bw';else if(k=='browserHeight')q='bh';else if(k=='connectionType')q='ct';else if(k=='homepage')q='hp';else if(k=='plugins')q='p';else if(k=="
+"'events'){if(e)v+=(v?',':'')+e;if(fe)v=s.fs(v,fe)}else if(k=='events2')v='';else if(k=='contextData'){qs+=s.s2q('c',s[k],fv,k,0);v=''}else if(k=='lightProfileID')q='mtp';else if(k=='lightStoreForSe"
+"conds'){q='mtss';if(!s.lightProfileID)v=''}else if(k=='lightIncrementBy'){q='mti';if(!s.lightProfileID)v=''}else if(k=='retrieveLightProfiles')q='mtsr';else if(k=='deleteLightProfiles')q='mtsd';els"
+"e if(k=='retrieveLightData'){if(s.retrieveLightProfiles)qs+=s.s2q('mts',s[k],fv,k,0);v=''}else if(s.num(x)){if(b=='prop')q='c'+n;else if(b=='eVar')q='v'+n;else if(b=='list')q='l'+n;else if(b=='hier"
+"'){q='h'+n;v=s.fl(v,255)}}if(v)qs+='&'+s.ape(q)+'='+(k.substring(0,3)!='pev'?s.ape(v):v)}}return qs};s.ltdf=function(t,h){t=t?t.toLowerCase():'';h=h?h.toLowerCase():'';var qi=h.indexOf('?');h=qi>=0"
+"?h.substring(0,qi):h;if(t&&h.substring(h.length-(t.length+1))=='.'+t)return 1;return 0};s.ltef=function(t,h){t=t?t.toLowerCase():'';h=h?h.toLowerCase():'';if(t&&h.indexOf(t)>=0)return 1;return 0};s"
+".lt=function(h){var s=this,lft=s.linkDownloadFileTypes,lef=s.linkExternalFilters,lif=s.linkInternalFilters;lif=lif?lif:s.wd.location.hostname;h=h.toLowerCase();if(s.trackDownloadLinks&&lft&&s.pt(lf"
+"t,',','ltdf',h))return 'd';if(s.trackExternalLinks&&h.substring(0,1)!='#'&&(lef||lif)&&(!lef||s.pt(lef,',','ltef',h))&&(!lif||!s.pt(lif,',','ltef',h)))return 'e';return ''};s.lc=new Function('e','v"
+"ar s=s_c_il['+s._in+'],b=s.eh(this,\"onclick\");s.lnk=s.co(this);s.t();s.lnk=0;if(b)return this[b](e);return true');s.bc=new Function('e','var s=s_c_il['+s._in+'],f,tcf;if(s.d&&s.d.all&&s.d.all.cpp"
+"XYctnr)return;s.eo=e.srcElement?e.srcElement:e.target;tcf=new Function(\"s\",\"var e;try{if(s.eo&&(s.eo.tagName||s.eo.parentElement||s.eo.parentNode))s.t()}catch(e){}\");tcf(s);s.eo=0');s.oh=functi"
+"on(o){var s=this,l=s.wd.location,h=o.href?o.href:'',i,j,k,p;i=h.indexOf(':');j=h.indexOf('?');k=h.indexOf('/');if(h&&(i<0||(j>=0&&i>j)||(k>=0&&i>k))){p=o.protocol&&o.protocol.length>1?o.protocol:(l"
+".protocol?l.protocol:'');i=l.pathname.lastIndexOf('/');h=(p?p+'//':'')+(o.host?o.host:(l.host?l.host:''))+(h.substring(0,1)!='/'?l.pathname.substring(0,i<0?0:i)+'/':'')+h}return h};s.ot=function(o)"
+"{var t=o.tagName;if(o.tagUrn||(o.scopeName&&o.scopeName.toUpperCase()!='HTML'))return '';t=t&&t.toUpperCase?t.toUpperCase():'';if(t=='SHAPE')t='';if(t){if((t=='INPUT'||t=='BUTTON')&&o.type&&o.type."
+"toUpperCase)t=o.type.toUpperCase();else if(!t&&o.href)t='A';}return t};s.oid=function(o){var s=this,t=s.ot(o),p,c,n='',x=0;if(t&&!o.s_oid){p=o.protocol;c=o.onclick;if(o.href&&(t=='A'||t=='AREA')&&("
+"!c||!p||p.toLowerCase().indexOf('javascript')<0))n=s.oh(o);else if(c){n=s.rep(s.rep(s.rep(s.rep(''+c,\"\\r\",''),\"\\n\",''),\"\\t\",''),' ','');x=2}else if(t=='INPUT'||t=='SUBMIT'){if(o.value)n=o."
+"value;else if(o.innerText)n=o.innerText;else if(o.textContent)n=o.textContent;x=3}else if(o.src&&t=='IMAGE')n=o.src;if(n){o.s_oid=s.fl(n,100);o.s_oidt=x}}return o.s_oid};s.rqf=function(t,un){var s="
+"this,e=t.indexOf('='),u=e>=0?t.substring(0,e):'',q=e>=0?s.epa(t.substring(e+1)):'';if(u&&q&&(','+u+',').indexOf(','+un+',')>=0){if(u!=s.un&&s.un.indexOf(',')>=0)q='&u='+u+q+'&u=0';return q}return '"
+"'};s.rq=function(un){if(!un)un=this.un;var s=this,c=un.indexOf(','),v=s.c_r('s_sq'),q='';if(c<0)return s.pt(v,'&','rqf',un);return s.pt(un,',','rq',0)};s.sqp=function(t,a){var s=this,e=t.indexOf('="
+"'),q=e<0?'':s.epa(t.substring(e+1));s.sqq[q]='';if(e>=0)s.pt(t.substring(0,e),',','sqs',q);return 0};s.sqs=function(un,q){var s=this;s.squ[un]=q;return 0};s.sq=function(q){var s=this,k='s_sq',v=s.c"
+"_r(k),x,c=0;s.sqq=new Object;s.squ=new Object;s.sqq[q]='';s.pt(v,'&','sqp',0);s.pt(s.un,',','sqs',q);v='';for(x in s.squ)if(x&&(!Object||!Object.prototype||!Object.prototype[x]))s.sqq[s.squ[x]]+=(s"
+".sqq[s.squ[x]]?',':'')+x;for(x in s.sqq)if(x&&(!Object||!Object.prototype||!Object.prototype[x])&&s.sqq[x]&&(x==q||c<2)){v+=(v?'&':'')+s.sqq[x]+'='+s.ape(x);c++}return s.c_w(k,v,0)};s.wdl=new Funct"
+"ion('e','var s=s_c_il['+s._in+'],r=true,b=s.eh(s.wd,\"onload\"),i,o,oc;if(b)r=this[b](e);for(i=0;i<s.d.links.length;i++){o=s.d.links[i];oc=o.onclick?\"\"+o.onclick:\"\";if((oc.indexOf(\"s_gs(\")<0|"
+"|oc.indexOf(\".s_oc(\")>=0)&&oc.indexOf(\".tl(\")<0)s.eh(o,\"onclick\",0,s.lc);}return r');s.wds=function(){var s=this;if(s.apv>3&&(!s.isie||!s.ismac||s.apv>=5)){if(s.b&&s.b.attachEvent)s.b.attachE"
+"vent('onclick',s.bc);else if(s.b&&s.b.addEventListener)s.b.addEventListener('click',s.bc,false);else s.eh(s.wd,'onload',0,s.wdl)}};s.vs=function(x){var s=this,v=s.visitorSampling,g=s.visitorSamplin"
+"gGroup,k='s_vsn_'+s.un+(g?'_'+g:''),n=s.c_r(k),e=new Date,y=e.getYear();e.setYear(y+10+(y<1900?1900:0));if(v){v*=100;if(!n){if(!s.c_w(k,x,e))return 0;n=x}if(n%10000>v)return 0}return 1};s.dyasmf=fu"
+"nction(t,m){if(t&&m&&m.indexOf(t)>=0)return 1;return 0};s.dyasf=function(t,m){var s=this,i=t?t.indexOf('='):-1,n,x;if(i>=0&&m){var n=t.substring(0,i),x=t.substring(i+1);if(s.pt(x,',','dyasmf',m))re"
+"turn n}return 0};s.uns=function(){var s=this,x=s.dynamicAccountSelection,l=s.dynamicAccountList,m=s.dynamicAccountMatch,n,i;s.un=s.un.toLowerCase();if(x&&l){if(!m)m=s.wd.location.host;if(!m.toLower"
+"Case)m=''+m;l=l.toLowerCase();m=m.toLowerCase();n=s.pt(l,';','dyasf',m);if(n)s.un=n}i=s.un.indexOf(',');s.fun=i<0?s.un:s.un.substring(0,i)};s.sa=function(un){var s=this;if(s.un&&s.mpc('sa',argument"
+"s))return;s.un=un;if(!s.oun)s.oun=un;else if((','+s.oun+',').indexOf(','+un+',')<0)s.oun+=','+un;s.uns()};s.m_i=function(n,a){var s=this,m,f=n.substring(0,1),r,l,i;if(!s.m_l)s.m_l=new Object;if(!s."
+"m_nl)s.m_nl=new Array;m=s.m_l[n];if(!a&&m&&m._e&&!m._i)s.m_a(n);if(!m){m=new Object,m._c='s_m';m._in=s.wd.s_c_in;m._il=s._il;m._il[m._in]=m;s.wd.s_c_in++;m.s=s;m._n=n;m._l=new Array('_c','_in','_il"
+"','_i','_e','_d','_dl','s','n','_r','_g','_g1','_t','_t1','_x','_x1','_rs','_rr','_l');s.m_l[n]=m;s.m_nl[s.m_nl.length]=n}else if(m._r&&!m._m){r=m._r;r._m=m;l=m._l;for(i=0;i<l.length;i++)if(m[l[i]]"
+")r[l[i]]=m[l[i]];r._il[r._in]=r;m=s.m_l[n]=r}if(f==f.toUpperCase())s[n]=m;return m};s.m_a=new Function('n','g','e','if(!g)g=\"m_\"+n;var s=s_c_il['+s._in+'],c=s[g+\"_c\"],m,x,f=0;if(s.mpc(\"m_a\",a"
+"rguments))return;if(!c)c=s.wd[\"s_\"+g+\"_c\"];if(c&&s_d)s[g]=new Function(\"s\",s_ft(s_d(c)));x=s[g];if(!x)x=s.wd[\\'s_\\'+g];if(!x)x=s.wd[g];m=s.m_i(n,1);if(x&&(!m._i||g!=\"m_\"+n)){m._i=f=1;if(("
+"\"\"+x).indexOf(\"function\")>=0)x(s);else s.m_m(\"x\",n,x,e)}m=s.m_i(n,1);if(m._dl)m._dl=m._d=0;s.dlt();return f');s.m_m=function(t,n,d,e){t='_'+t;var s=this,i,x,m,f='_'+t,r=0,u;if(s.m_l&&s.m_nl)f"
+"or(i=0;i<s.m_nl.length;i++){x=s.m_nl[i];if(!n||x==n){m=s.m_i(x);u=m[t];if(u){if((''+u).indexOf('function')>=0){if(d&&e)u=m[t](d,e);else if(d)u=m[t](d);else u=m[t]()}}if(u)r=1;u=m[t+1];if(u&&!m[f]){"
+"if((''+u).indexOf('function')>=0){if(d&&e)u=m[t+1](d,e);else if(d)u=m[t+1](d);else u=m[t+1]()}}m[f]=1;if(u)r=1}}return r};s.m_ll=function(){var s=this,g=s.m_dl,i,o;if(g)for(i=0;i<g.length;i++){o=g["
+"i];if(o)s.loadModule(o.n,o.u,o.d,o.l,o.e,1);g[i]=0}};s.loadModule=function(n,u,d,l,e,ln){var s=this,m=0,i,g,o=0,f1,f2,c=s.h?s.h:s.b,b,tcf;if(n){i=n.indexOf(':');if(i>=0){g=n.substring(i+1);n=n.subs"
+"tring(0,i)}else g=\"m_\"+n;m=s.m_i(n)}if((l||(n&&!s.m_a(n,g)))&&u&&s.d&&c&&s.d.createElement){if(d){m._d=1;m._dl=1}if(ln){if(s.ssl)u=s.rep(u,'http:','https:');i='s_s:'+s._in+':'+n+':'+g;b='var s=s_"
+"c_il['+s._in+'],o=s.d.getElementById(\"'+i+'\");if(s&&o){if(!o.l&&s.wd.'+g+'){o.l=1;if(o.i)clearTimeout(o.i);o.i=0;s.m_a(\"'+n+'\",\"'+g+'\"'+(e?',\"'+e+'\"':'')+')}';f2=b+'o.c++;if(!s.maxDelay)s.m"
+"axDelay=250;if(!o.l&&o.c<(s.maxDelay*2)/100)o.i=setTimeout(o.f2,100)}';f1=new Function('e',b+'}');tcf=new Function('s','c','i','u','f1','f2','var e,o=0;try{o=s.d.createElement(\"script\");if(o){o.t"
+"ype=\"text/javascript\";'+(n?'o.id=i;o.defer=true;o.onload=o.onreadystatechange=f1;o.f2=f2;o.l=0;':'')+'o.src=u;c.appendChild(o);'+(n?'o.c=0;o.i=setTimeout(f2,100)':'')+'}}catch(e){o=0}return o');o"
+"=tcf(s,c,i,u,f1,f2)}else{o=new Object;o.n=n+':'+g;o.u=u;o.d=d;o.l=l;o.e=e;g=s.m_dl;if(!g)g=s.m_dl=new Array;i=0;while(i<g.length&&g[i])i++;g[i]=o}}else if(n){m=s.m_i(n);m._e=1}return m};s.voa=funct"
+"ion(vo,r){var s=this,l=s.va_g,i,k,v,x;for(i=0;i<l.length;i++){k=l[i];v=vo[k];if(v||vo['!'+k]){if(!r&&(k==\"contextData\"||k==\"retrieveLightData\")&&s[k])for(x in s[k])if(!v[x])v[x]=s[k][x];s[k]=v}"
+"}};s.vob=function(vo){var s=this,l=s.va_g,i,k;for(i=0;i<l.length;i++){k=l[i];vo[k]=s[k];if(!vo[k])vo['!'+k]=1}};s.dlt=new Function('var s=s_c_il['+s._in+'],d=new Date,i,vo,f=0;if(s.dll)for(i=0;i<s."
+"dll.length;i++){vo=s.dll[i];if(vo){if(!s.m_m(\"d\")||d.getTime()-vo._t>=s.maxDelay){s.dll[i]=0;s.t(vo)}else f=1}}if(s.dli)clearTimeout(s.dli);s.dli=0;if(f){if(!s.dli)s.dli=setTimeout(s.dlt,s.maxDel"
+"ay)}else s.dll=0');s.dl=function(vo){var s=this,d=new Date;if(!vo)vo=new Object;s.vob(vo);vo._t=d.getTime();if(!s.dll)s.dll=new Array;s.dll[s.dll.length]=vo;if(!s.maxDelay)s.maxDelay=250;s.dlt()};s"
+".track=s.t=function(vo){var s=this,trk=1,tm=new Date,sed=Math&&Math.random?Math.floor(Math.random()*10000000000000):tm.getTime(),sess='s'+Math.floor(tm.getTime()/10800000)%10+sed,y=tm.getYear(),vt="
+"tm.getDate()+'/'+tm.getMonth()+'/'+(y<1900?y+1900:y)+' '+tm.getHours()+':'+tm.getMinutes()+':'+tm.getSeconds()+' '+tm.getDay()+' '+tm.getTimezoneOffset(),tcf,tfs=s.gtfs(),ta=-1,q='',qs='',code='',v"
+"b=new Object;if(s.mpc('t',arguments))return;s.gl(s.vl_g);s.uns();s.m_ll();if(!s.td){var tl=tfs.location,a,o,i,x='',c='',v='',p='',bw='',bh='',j='1.0',k=s.c_w('s_cc','true',0)?'Y':'N',hp='',ct='',pn"
+"=0,ps;if(String&&String.prototype){j='1.1';if(j.match){j='1.2';if(tm.setUTCDate){j='1.3';if(s.isie&&s.ismac&&s.apv>=5)j='1.4';if(pn.toPrecision){j='1.5';a=new Array;if(a.forEach){j='1.6';i=0;o=new "
+"Object;tcf=new Function('o','var e,i=0;try{i=new Iterator(o)}catch(e){}return i');i=tcf(o);if(i&&i.next)j='1.7'}}}}}if(s.apv>=4)x=screen.width+'x'+screen.height;if(s.isns||s.isopera){if(s.apv>=3){v"
+"=s.n.javaEnabled()?'Y':'N';if(s.apv>=4){c=screen.pixelDepth;bw=s.wd.innerWidth;bh=s.wd.innerHeight}}s.pl=s.n.plugins}else if(s.isie){if(s.apv>=4){v=s.n.javaEnabled()?'Y':'N';c=screen.colorDepth;if("
+"s.apv>=5){bw=s.d.documentElement.offsetWidth;bh=s.d.documentElement.offsetHeight;if(!s.ismac&&s.b){tcf=new Function('s','tl','var e,hp=0;try{s.b.addBehavior(\"#default#homePage\");hp=s.b.isHomePage"
+"(tl)?\"Y\":\"N\"}catch(e){}return hp');hp=tcf(s,tl);tcf=new Function('s','var e,ct=0;try{s.b.addBehavior(\"#default#clientCaps\");ct=s.b.connectionType}catch(e){}return ct');ct=tcf(s)}}}else r=''}i"
+"f(s.pl)while(pn<s.pl.length&&pn<30){ps=s.fl(s.pl[pn].name,100)+';';if(p.indexOf(ps)<0)p+=ps;pn++}s.resolution=x;s.colorDepth=c;s.javascriptVersion=j;s.javaEnabled=v;s.cookiesEnabled=k;s.browserWidt"
+"h=bw;s.browserHeight=bh;s.connectionType=ct;s.homepage=hp;s.plugins=p;s.td=1}if(vo){s.vob(vb);s.voa(vo)}if((vo&&vo._t)||!s.m_m('d')){if(s.usePlugins)s.doPlugins(s);var l=s.wd.location,r=tfs.documen"
+"t.referrer;if(!s.pageURL)s.pageURL=l.href?l.href:l;if(!s.referrer&&!s._1_referrer){s.referrer=r;s._1_referrer=1}s.m_m('g');if(s.lnk||s.eo){var o=s.eo?s.eo:s.lnk,p=s.pageName,w=1,t=s.ot(o),n=s.oid(o"
+"),x=o.s_oidt,h,l,i,oc;if(s.eo&&o==s.eo){while(o&&!n&&t!='BODY'){o=o.parentElement?o.parentElement:o.parentNode;if(o){t=s.ot(o);n=s.oid(o);x=o.s_oidt}}if(!n||t=='BODY')o='';if(o){oc=o.onclick?''+o.o"
+"nclick:'';if((oc.indexOf('s_gs(')>=0&&oc.indexOf('.s_oc(')<0)||oc.indexOf('.tl(')>=0)o=0}}if(o){if(n)ta=o.target;h=s.oh(o);i=h.indexOf('?');h=s.linkLeaveQueryString||i<0?h:h.substring(0,i);l=s.link"
+"Name;t=s.linkType?s.linkType.toLowerCase():s.lt(h);if(t&&(h||l)){s.pe='lnk_'+(t=='d'||t=='e'?t:'o');s.pev1=(h?s.ape(h):'');s.pev2=(l?s.ape(l):'')}else trk=0;if(s.trackInlineStats){if(!p){p=s.pageUR"
+"L;w=0}t=s.ot(o);i=o.sourceIndex;if(s.gg('objectID')){n=s.gg('objectID');x=1;i=1}if(p&&n&&t)qs='&pid='+s.ape(s.fl(p,255))+(w?'&pidt='+w:'')+'&oid='+s.ape(s.fl(n,100))+(x?'&oidt='+x:'')+'&ot='+s.ape("
+"t)+(i?'&oi='+i:'')}}else trk=0}if(trk||qs){s.sampled=s.vs(sed);if(trk){if(s.sampled)code=s.mr(sess,(vt?'&t='+s.ape(vt):'')+s.hav()+q+(qs?qs:s.rq()),0,ta);qs='';s.m_m('t');if(s.p_r)s.p_r();s.referre"
+"r=s.lightProfileID=s.retrieveLightProfiles=s.deleteLightProfiles=''}s.sq(qs)}}else s.dl(vo);if(vo)s.voa(vb,1);s.lnk=s.eo=s.linkName=s.linkType=s.wd.s_objectID=s.ppu=s.pe=s.pev1=s.pev2=s.pev3='';if("
+"s.pg)s.wd.s_lnk=s.wd.s_eo=s.wd.s_linkName=s.wd.s_linkType='';return code};s.trackLink=s.tl=function(o,t,n,vo){var s=this;s.lnk=s.co(o);s.linkType=t;s.linkName=n;s.t(vo)};s.trackLight=function(p,ss,"
+"i,vo){var s=this;s.lightProfileID=p;s.lightStoreForSeconds=ss;s.lightIncrementBy=i;s.t(vo)};s.setTagContainer=function(n){var s=this,l=s.wd.s_c_il,i,t,x,y;s.tcn=n;if(l)for(i=0;i<l.length;i++){t=l[i"
+"];if(t&&t._c=='s_l'&&t.tagContainerName==n){s.voa(t);if(t.lmq)for(i=0;i<t.lmq.length;i++){x=t.lmq[i];y='m_'+x.n;if(!s[y]&&!s[y+'_c']){s[y]=t[y];s[y+'_c']=t[y+'_c']}s.loadModule(x.n,x.u,x.d)}if(t.ml"
+")for(x in t.ml)if(s[x]){y=s[x];x=t.ml[x];for(i in x)if(!Object.prototype[i]){if(typeof(x[i])!='function'||(''+x[i]).indexOf('s_c_il')<0)y[i]=x[i]}}if(t.mmq)for(i=0;i<t.mmq.length;i++){x=t.mmq[i];if"
+"(s[x.m]){y=s[x.m];if(y[x.f]&&typeof(y[x.f])=='function'){if(x.a)y[x.f].apply(y,x.a);else y[x.f].apply(y)}}}if(t.tq)for(i=0;i<t.tq.length;i++)s.t(t.tq[i]);t.s=s;return}}};s.wd=window;s.ssl=(s.wd.loc"
+"ation.protocol.toLowerCase().indexOf('https')>=0);s.d=document;s.b=s.d.body;if(s.d.getElementsByTagName){s.h=s.d.getElementsByTagName('HEAD');if(s.h)s.h=s.h[0]}s.n=navigator;s.u=s.n.userAgent;s.ns6"
+"=s.u.indexOf('Netscape6/');var apn=s.n.appName,v=s.n.appVersion,ie=v.indexOf('MSIE '),o=s.u.indexOf('Opera '),i;if(v.indexOf('Opera')>=0||o>0)apn='Opera';s.isie=(apn=='Microsoft Internet Explorer')"
+";s.isns=(apn=='Netscape');s.isopera=(apn=='Opera');s.ismac=(s.u.indexOf('Mac')>=0);if(o>0)s.apv=parseFloat(s.u.substring(o+6));else if(ie>0){s.apv=parseInt(i=v.substring(ie+5));if(s.apv>3)s.apv=par"
+"seFloat(i)}else if(s.ns6>0)s.apv=parseFloat(s.u.substring(s.ns6+10));else s.apv=parseFloat(v);s.em=0;if(s.em.toPrecision)s.em=3;else if(String.fromCharCode){i=escape(String.fromCharCode(256)).toUpp"
+"erCase();s.em=(i=='%C4%80'?2:(i=='%U0100'?1:0))}if(s.oun)s.sa(s.oun);s.sa(un);s.vl_l='timestamp,dynamicVariablePrefix,visitorID,vmk,visitorMigrationKey,visitorMigrationServer,visitorMigrationServer"
+"Secure,ppu,charSet,visitorNamespace,cookieDomainPeriods,cookieLifetime,pageName,pageURL,referrer,contextData,currencyCode,lightProfileID,lightStoreForSeconds,lightIncrementBy,retrieveLightProfiles,"
+"deleteLightProfiles,retrieveLightData';s.va_l=s.sp(s.vl_l,',');s.vl_mr=s.vl_m='timestamp,charSet,visitorNamespace,cookieDomainPeriods,cookieLifetime,contextData,lightProfileID,lightStoreForSeconds,"
+"lightIncrementBy';s.vl_t=s.vl_l+',variableProvider,channel,server,pageType,transactionID,purchaseID,campaign,state,zip,events,events2,products,linkName,linkType';var n;for(n=1;n<=75;n++){s.vl_t+=',"
+"prop'+n+',eVar'+n;s.vl_m+=',prop'+n+',eVar'+n}for(n=1;n<=5;n++)s.vl_t+=',hier'+n;for(n=1;n<=3;n++)s.vl_t+=',list'+n;s.va_m=s.sp(s.vl_m,',');s.vl_l2=',tnt,pe,pev1,pev2,pev3,resolution,colorDepth,jav"
+"ascriptVersion,javaEnabled,cookiesEnabled,browserWidth,browserHeight,connectionType,homepage,plugins';s.vl_t+=s.vl_l2;s.va_t=s.sp(s.vl_t,',');s.vl_g=s.vl_t+',trackingServer,trackingServerSecure,tra"
+"ckingServerBase,fpCookieDomainPeriods,disableBufferedRequests,mobile,visitorSampling,visitorSamplingGroup,dynamicAccountSelection,dynamicAccountList,dynamicAccountMatch,trackDownloadLinks,trackExte"
+"rnalLinks,trackInlineStats,linkLeaveQueryString,linkDownloadFileTypes,linkExternalFilters,linkInternalFilters,linkTrackVars,linkTrackEvents,linkNames,lnk,eo,lightTrackVars,_1_referrer,un';s.va_g=s."
+"sp(s.vl_g,',');s.pg=pg;s.gl(s.vl_g);s.contextData=new Object;s.retrieveLightData=new Object;if(!ss)s.wds();if(pg){s.wd.s_co=function(o){s_gi(\"_\",1,1).co(o)};s.wd.s_gs=function(un){s_gi(un,1,1).t("
+")};s.wd.s_dc=function(un){s_gi(un,1).t()}}",
w=window,l=w.s_c_il,n=navigator,u=n.userAgent,v=n.appVersion,e=v.indexOf('MSIE '),m=u.indexOf('Netscape6/'),a,i,j,x,s;if(un){un=un.toLowerCase();if(l)for(j=0;j<2;j++)for(i=0;i<l.length;i++){s=l[i];x=s._c;if((!x||x=='s_c'||(j>0&&x=='s_l'))&&(s.oun==un||(s.fs&&s.sa&&s.fs(s.oun,un)))){if(s.sa)s.sa(un);if(x=='s_c')return s}else s=0}}w.s_an='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
w.s_sp=new Function("x","d","var a=new Array,i=0,j;if(x){if(x.split)a=x.split(d);else if(!d)for(i=0;i<x.length;i++)a[a.length]=x.substring(i,i+1);else while(i>=0){j=x.indexOf(d,i);a[a.length]=x.subst"
+"ring(i,j<0?x.length:j);i=j;if(i>=0)i+=d.length}}return a");
w.s_jn=new Function("a","d","var x='',i,j=a.length;if(a&&j>0){x=a[0];if(j>1){if(a.join)x=a.join(d);else for(i=1;i<j;i++)x+=d+a[i]}}return x");
w.s_rep=new Function("x","o","n","return s_jn(s_sp(x,o),n)");
w.s_d=new Function("x","var t='`^@$#',l=s_an,l2=new Object,x2,d,b=0,k,i=x.lastIndexOf('~~'),j,v,w;if(i>0){d=x.substring(0,i);x=x.substring(i+2);l=s_sp(l,'');for(i=0;i<62;i++)l2[l[i]]=i;t=s_sp(t,'');d"
+"=s_sp(d,'~');i=0;while(i<5){v=0;if(x.indexOf(t[i])>=0) {x2=s_sp(x,t[i]);for(j=1;j<x2.length;j++){k=x2[j].substring(0,1);w=t[i]+k;if(k!=' '){v=1;w=d[b+l2[k]]}x2[j]=w+x2[j].substring(1)}}if(v)x=s_jn("
+"x2,'');else{w=t[i]+' ';if(x.indexOf(w)>=0)x=s_rep(x,w,t[i]);i++;b+=62}}}return x");
w.s_fe=new Function("c","return s_rep(s_rep(s_rep(c,'\\\\','\\\\\\\\'),'\"','\\\\\"'),\"\\n\",\"\\\\n\")");
w.s_fa=new Function("f","var s=f.indexOf('(')+1,e=f.indexOf(')'),a='',c;while(s>=0&&s<e){c=f.substring(s,s+1);if(c==',')a+='\",\"';else if((\"\\n\\r\\t \").indexOf(c)<0)a+=c;s++}return a?'\"'+a+'\"':"
+"a");
w.s_ft=new Function("c","c+='';var s,e,o,a,d,q,f,h,x;s=c.indexOf('=function(');while(s>=0){s++;d=1;q='';x=0;f=c.substring(s);a=s_fa(f);e=o=c.indexOf('{',s);e++;while(d>0){h=c.substring(e,e+1);if(q){i"
+"f(h==q&&!x)q='';if(h=='\\\\')x=x?0:1;else x=0}else{if(h=='\"'||h==\"'\")q=h;if(h=='{')d++;if(h=='}')d--}if(d>0)e++}c=c.substring(0,s)+'new Function('+(a?a+',':'')+'\"'+s_fe(c.substring(o+1,e))+'\")"
+"'+c.substring(e+1);s=c.indexOf('=function(')}return c;");
c=s_d(c);if(e>0){a=parseInt(i=v.substring(e+5));if(a>3)a=parseFloat(i)}else if(m>0)a=parseFloat(u.substring(m+10));else a=parseFloat(v);if(a<5||v.indexOf('Opera')>=0||u.indexOf('Opera')>=0)c=s_ft(c);if(!s){s=new Object;if(!w.s_c_in){w.s_c_il=new Array;w.s_c_in=0}s._il=w.s_c_il;s._in=w.s_c_in;s._il[s._in]=s;w.s_c_in++;}s._c='s_c';(new Function("s","un","pg","ss",c))(s,un,pg,ss);return s}
function s_giqf(){var w=window,q=w.s_giq,i,t,s;if(q)for(i=0;i<q.length;i++){t=q[i];s=s_gi(t.oun);s.sa(t.un);s.setTagContainer(t.tagContainerName)}w.s_giq=0}s_giqf()

/********************** A D A P T E R    C O D E  *************************/
/* You may give each page an identifying name, server, and channel on the next lines. */

s.pageName=(metrics.level1 != undefined) ? ((metrics.level1+":"+metrics.pagename).toLowerCase()) : "";
s.channel=(metrics.level1 != undefined) ? metrics.level1.toUpperCase() : "";

/** Implemented once search is ported to CMS
if (page.searchTerm && null != page.searchTerm && page.searchTerm != "") {
s.prop1=page.searchTerm;
}

if (page.searchTermNonLocal && null != page.searchTermNonLocal && page.searchTermNonLocal != "") {
s.prop3=page.searchTermNonLocal;
}

if (page.resultsnum != "undefined" && page.resultsnum != null && page.resultsnum != "") {
s.prop2=page.resultsnum;
}
end search metrics **/

if (ad && ad.pageIdCode && loc && loc.dma && page && page.localsuitemsg) {
	s.prop6=ad.pageIdCode + "_" + page.localsuitemsg + "_" + loc.dma;
	s.eVar6=ad.pageIdCode + "_" + page.localsuitemsg + "_" + loc.dma;
}

s.prop2=(user && user.personalName) ? "customlogo_yes" : "";

/* BKB-189 */
var campaignCode = s.getQueryParam("cm_ven");
if(campaignCode) {
	s.eVar3 = s.pageName + "?cm_ven=" + campaignCode;
}

s.prop7=(user && user.ursId) ? user.ursId : "";
s.prop8=(user && user.rmid) ? user.rmid : "";
s.prop9=(page && page.pageId != undefined) ? page.pageId : "";
s.prop10=(metrics && metrics.level1 && metrics.level1 == "LOCALWX" && ad && ad.pageIdCode) ? ad.pageIdCode : (metrics && metrics.level1 && metrics.level1.toUpperCase()) || "nl";


s.prop11=(metrics.level1+"-"+metrics.level2+"-"+metrics.level3+"-"+metrics.level4).toUpperCase();
s.prop14=(metrics.level1+"-"+metrics.level2).toUpperCase();
s.prop15=(metrics.level1+"-"+metrics.level2+"-"+metrics.level3).toUpperCase();
s.prop16=(wx && wx.cond && wx != undefined) ? wx.cond : "";

s.prop18=(page.artprovider && page.artauthor) ? (page.artprovider + ":" + page.artauthor) : "";

s.prop19=(user && user.preferredDeclaration) ? user.preferredDeclaration : "";

if (loc && loc.loctype!= "" && loc.loctype!= null && loc.locid != null && loc.locid != ""  && loc.locname != null && loc.locname != "") {	
	var tempLocID = loc.locid;
	var tempLoctpe = ":" + loc.loctype;
	if(loc.locid.indexOf(tempLoctpe)!= -1) {		
		tempLocID = loc.locid.replace(tempLoctpe,"");		
	}
	var tempLocName= loc.locname.replace(/ /g , "_");	
	s.prop22 = loc.loctype + ":" + tempLocID + ":" + tempLocName;	
}

s.prop25 = (user && user.preferredLocation) ? (user.preferredLocation.locid + ":" + user.preferredLocation.loctype + ":" + user.preferredLocation.country) : "nl";

if (loc && loc.city != null && loc.city != "") {
	var cityName = "";
	var	cityArray = loc.city.split(" ");
	for(var i=0;i<cityArray.length;i++) {
		if(cityArray[i] != null && cityArray[i] != "") {
			cityName = cityName + cityArray[i] + "_";	
		}
	}
	if(cityName != null && cityName != "") {
		cityName = cityName.substring(0,cityName.lastIndexOf("_"));
	}
	s.prop26 = cityName + ":" + loc.state.toUpperCase() + ":" + loc.country.toUpperCase();
}

s.prop27 = (loc && loc.dma) ? loc.dma : "";
s.prop28 = (loc && loc.zip) ? loc.zip : "";

//s.prop29 = (user && user.savedLocations && user.savedLocations.length > 0) ? [user.savedLocations.length,"^",user.savedLocations.join("^"),"^"].join("") : "";
//	2^USGA0028:1:US^Home+USGA0184:1:US^
var savedLocationString = "";
if (user && user.savedLocations && user.savedLocations.length > 0) {
	var savedLocationObj = "";
	for (var x=0;x<user.savedLocations.length; x++) {
		savedLocationObj = user.savedLocations[x];
		if (savedLocationObj.nickname && savedLocationObj.nickname != "false") { 
			savedLocationString = savedLocationString + savedLocationObj.nickname + "+";
		}
		if (savedLocationObj.locid ) { 
			savedLocationString = savedLocationString + savedLocationObj.locid + ":";
		}
		if (savedLocationObj.loctype ) { 
			savedLocationString = savedLocationString + savedLocationObj.loctype + ":";
		}
		if (savedLocationObj.country ) { 
			savedLocationString = savedLocationString + savedLocationObj.country;
		}
		if (x!=user.savedLocations.length) {
			savedLocationString = savedLocationString + "^";
		}
	}
}

s.prop29 = (user && user.savedLocations && user.savedLocations.length > 0) ? (user.savedLocations.length + "^" + savedLocationString) : "";


s.prop30 = (page && page.env) ? page.env : "";
s.prop31 = (user && user.gender) ? user.gender.replace(/^\s+|\s+$/g,"") : "";
s.prop32 = (user && user.age && user.age != "nl") ? user.age.join(",").toString().replace(/^\s+|\s+$/g,""): "";
s.prop34="";

//change to severe ticker
if (page.severe != null && page.severe != "" && page.severe != "undefined") {
  s.prop34 = "localsevere:" + page.severe;
} else if (page.pollen != null && page.pollen != "" && page.pollen != "undefined"){
  s.prop34 = "pollen:" + page.pollen;
}

s.prop36=(metrics && metrics.pagemode) ? metrics.pagemode : "";

var rmid_2 = s.prop8.substring(8);
var rmid_2_dec = parseInt(rmid_2,16);
var dt = new Date();
dt.setTime(rmid_2_dec * 1000);
s.prop38 = (dt.getMonth()+1) + "-" + dt.getDate() +  "-" + dt.getFullYear();
if (user && user.dwInstallId != null && user.dwInstallId != "" && user.dwInstallId != " " && user.dwInstallId != "undefined") {
	s.prop41 = user.dwInstallId;
} else {
	s.prop41 = "nl";
}

//Determine pagination
var pagenum = s.getQueryParam('pagenum');
if (ad.pageIdCode && pagenum != null && pagenum != "" && pagenum != "undefined") {
	s.prop43 = ad.pageIdCode + "_" + pagenum;
}

if(page.fromStr != null && page.fromStr != "") {
	s.prop44=page.fromStr;s.eVar44=s.prop44;
	if(page.fromStr.indexOf("_") === -1) {
		s.prop33 = page.fromStr; 
    }	
}

if (user && user.cobrand != null && user.cobrand != "" && user.cobrand != "cobrand") {
	s.prop45=user.cobrand;
}

s.prop46=(metrics && metrics.ad_category) ? metrics.ad_category : "";
s.prop47=(metrics && metrics.contentType) ? metrics.contentType : "";
s.prop48=(metrics && metrics.ad_family) ? metrics.ad_family : "";
s.prop49=(metrics && metrics.ad_channel) ? metrics.ad_channel : "";

//TITAN
s.prop63=(page && page.locale) ?page.locale : "";

var hardDeclList = (user && user.hardDeclarations) ? user.hardDeclarations.join("_h:") : "";
var softDeclList = (user && user.softDeclarations) ? user.softDeclarations.join("_s:") : "";

if (user && user.suppressedDeclarations) {
	var suppressedList="";
	var suppressedCount = 0;
	for (var key in user.suppressedDeclarations) {
		suppressedCount ++;
	    suppressedList = suppressedList + ":" + key;
	}
}

var hardList="";
var hardCount = 0;
if (user && user.hardDeclarations) {
	var hardDecl=user.hardDeclarations.length;
	for(var hd=0; hd<hardDecl; hd++){

		if (user.hardDeclarations[hd] && user.hardDeclarations[hd] != null && user.hardDeclarations[hd] != "null") {
		    hardList = hardList + ":h_" + user.hardDeclarations[hd];
		    hardCount++;
		}
	}
}

var softList="";
var softCount = 0;
if (user && user.softDeclarations) {
	var softdecl=user.softDeclarations.length;
	for(var sd=0; sd<softdecl; sd++){

		if (user.softDeclarations[sd] && user.softDeclarations[sd] != null && user.softDeclarations[sd] != "null") {
		    softList = softList + ":s_" + user.softDeclarations[sd];
		    softCount++;
		}
	}
}

var totalDec = hardCount + softCount;

s.prop4 = (totalDec > 0) ? (totalDec + hardList + softList) : "";
s.prop12 = (suppressedList && suppressedCount) ? (suppressedCount + suppressedList) : "";
s.prop37=(page && page.businessVertical) ? page.businessVertical : "";

s.prop50 = (page && page.layout) ? page.layout : "";

s.hier1=(metrics.level1 + "-" + metrics.level2 + "-" + metrics.level3 + "-" + metrics.level4 + "-" + metrics.level5 + "-" + metrics.level6).toUpperCase();
if (metrics.adCategory == "vertical") {
  s.hier2=(metrics.adFamily + "-" + metrics.adChannel + "-" + metrics.level1).toUpperCase();
}
/** Implemented when error page is ported to CMS
if (wx.config.page.error_page != null && wx.config.page.error_page != "" && wx.config.page.error_page != "undefined") {
	s.pageType = wx.config.page.error_page;
	s.pageName="error:"+window.location.pathname;
}
**/

s.eVar30 = (user && user.flash && user.flash.version) ? user.flash.version : "";
s.eVar8 = (ad && ad.zone) ? ad.zone : "";
s.eVar33 = (s.pageURL) ? s.pageURL :s.wd.location.href;

/******* Optimizely Activate SiteCatalyst *******/ 			
	
window['optimizely'] = window['optimizely'] || [];
window['optimizely'].push(["activateSiteCatalyst"]);

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code=s.t();
if(s_code)document.write(s_code);

/************* comScore and Nielsen **************/
try{
	/************* Begin comScore Tag **************/
   var _comscore = _comscore || [];	
	_comscore.push({ c1: "2", c2: "9576127",
	c3: "",
	options: {
                        url_append: "comscorekw="+s.prop19
                } 
	});
	
	(function() {var s = document.createElement("script"),
		 el = document.getElementsByTagName("script")[0]; s.async = true;
		 s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js";
		 el.parentNode.insertBefore(s, el);
	 })();
	
	/************* End comScore Tag **************/

	/************* START Nielsen Online SiteCensus V6.0 / COPYRIGHT 2010 Nielsen Online **************/
	(function () {
	    var d = new Image(1, 1);
	    d.onerror = d.onload = function () {
	      d.onerror = d.onload = null;
	    };
	    d.src = ["//secure-us.imrworldwide.com/cgi-bin/m?ci=us-803965h&cg=0&cc=1&si=", escape(window.location.href), "&rp=", escape(document.referrer), "&ts=compact&rnd=", (new Date()).getTime()].join('');
	  })();
	/************* End Nielsen Online SiteCensus V6.0 **************/
	}catch(err){
	}

 
//});

	//Listener for Pagelet Load Event
	TWC.Events.pageletLoad.progress(function() {	
		/******* Optimizely Activate SiteCatalyst *******/ 			
		window['optimizely'] = window['optimizely'] || [];
		window['optimizely'].push(["activateSiteCatalyst"]);
	});

	//Listener for Custom Interaction Event
	TWC.Events.customInteraction.progress(function() {	
		
		window.optimizely = window.optimizely || [];
		window.optimizely.push(['trackEvent', 'customInteraction']);	
	});







/* /managedfe/js/TWC/util/facebook-breakingnow.js expireTime 1792 */

'TWC' in window || (window.TWC = {});

(function (jQuery) {
	
	var searchCriteria ="";
	var searchtext = "";
	var accessToken = "";
	var bralertmsg = "";
	var bralertURL = "";
	var bralertDesc = "";
	var radius = "";
	var fbCustomActionUrl = "";
	var fbCustomActionType = "";
	var _suser = [];	       // Possibly Affected Friends Array.
	var _friends = [];	   // Total Friends Array.
	var _clFriends = [];   // Possibly Affected Close Friends Array.
	var _family = [];	   // Possibly Affected Family Array.
	var _location = [];     
	var affLength = "";
	var _guser= [];
	var response = "";		
	var popUpopen = 'false';
	var fb_loggedinEventFired = 'false';
    
	jQuery(document).ready(function() {	
		var alertObj = jQuery('#wx-breaking-now-inner .twc-breaking-now-social.wx-social-friends');
		bralertmsg = alertObj.attr("bralertmsg");
		bralertURL = alertObj.attr("bralertURL");
		bralertDesc = alertObj.attr("bralertDesc"); 
		searchCriteria = alertObj.attr("searchtype");
		searchtext = alertObj.attr("searchvalue"); 
		radius = alertObj.attr("radius");	
		fbCustomActionUrl = alertObj.attr("fbCustomActionUrl"); 			
		fbCustomActionType = alertObj.attr("fbCustomActionType");
		var popDiv = '<div class="wx-popup-box" style="display:none;"><span class="wx-icon wx-social wx-w-sm-up"></span><div class="wx-popup-box-content"><div class="wx-popup-thumb"><img alt="" src=""  from=""/></div><div class="wx-popup-share-txt"><textarea id="feedform_user_message" name="feedform_user_message" title="" class=""></textarea></div><div class="wx-popup-story-cntr"><div class="wx-popup-story-thumb"><img alt="" src="http://s.imwx.com//img/layout/TWC_logo_84x84.gif" class="img"></div><div class="wx-popup-story-info"><div class="wx-popup-story-title">'+bralertmsg+'</div><div class="wx-popup-story-caption">'+bralertURL+'</div><div class="wx-popup-story-details">'+bralertDesc+'</div></div></div></div><div class="wx-popup-btn"><ul class="wx-popup-btn-list"><li><input type="hidden" id="timeShareType" name="" value=""><input type="submit" class="wx-popup-btn-post" fbid="" id="" onclick="" name="" value="Post to Timeline"></li><li><input type="submit" class="wx-popup-btn-close" id="" onclick="" name="" value="Close"></li></ul></div></div>';			
		if (jQuery(".wx-popup-box")[0]) {
		} else {
			jQuery("#wx-wrapper").append(popDiv);
		}
		
		//Adding a class to the wx-wrapper in case of non-severe mode
        var breakingNowActive = jQuery('#wx-breaking-now').length != 0;
        var breakingNowMiniMode = jQuery('#wx-breaking-now').hasClass('bn-mini');
        var breakingNowResponsive = jQuery('#viewport').length !=0;
        var breakingNowNonSevere = jQuery('#wx-breaking-now').hasClass('wx-non-severe');

		if(breakingNowActive) {
            if (!breakingNowResponsive) {
                if (breakingNowMiniMode) {
                    jQuery('body').css('background-position','0 30px');
                    jQuery('#wx-wrapper').css('border-top-width','30px');
                } else {
                    jQuery('body').css('background-position','0 51px');
                    jQuery('#wx-wrapper').css('border-top-width','51px');
                }
            }
			if(breakingNowNonSevere){
				jQuery('#wx-wrapper').addClass('wx-bn-non-severe');
			}
            jQuery('#wx-breaking-now').removeClass('wx-hide');
		}
		
		//Hurricane and Tropical storm pages have a background with a white square burned into it for content. The new header
		//consider testing for specific backgrounds
		if(TWC.pco.get('page.pageId')=='62976'){
			if(breakingNowActive) {
				$('.wx-hc-landing-title').css({"margin-bottom":"20px"});
			}else{
				$('.wx-hc-landing-title').css({"margin-bottom":"52px"});
			}
		}

		if(TWC.pco.get('page.pageId')=='62984'){
			if(breakingNowActive) {
				$('.wx-hurricane-title-banner h1').css({"margin-bottom":"20px"});
			}else{
				$('.wx-hurricane-title-banner h1').css({"margin-bottom":"52px"});
			}
		}
		
		if(searchCriteria !="" && searchtext!="" && searchCriteria !=null && searchtext!=null){            		
			TWC.Tools.ifEventReady(['fb_initiated']).then(function(res){				
				getLoginStatus();
			});			
			searchCriteria = jQuery.trim(searchCriteria.toUpperCase());		
			searchtext = jQuery.trim(searchtext.toUpperCase());	

			jQuery("#twc-breaking-fb-login").click(function() {                                                                 
				FB.login(function(response){
					if(response.authResponse){
						accessToken = response.authResponse.accessToken;								
						jQuery(".wx-social-friends").addClass('wx-hide');            
						jQuery(".twc-breaking-now-facebook-detail").removeClass('wx-hide');                   
						jQuery(".wx-breaking-now-filter").removeClass('wx-hide');
						//getFriends();
						if(typeof(TWC.Tools) != "undefined") {	
							TWC.Tools.getEvent('fb_loggedin').resolve();
						}
						jQuery(".twc-breaking-now-list").addClass('wx-bn-FBLoggedIn');
					} else {
						// User Not logged in   							
						jQuery(".wx-social-friends").removeClass('wx-hide');  
						jQuery(".twc-breaking-now-list").removeClass('wx-bn-FBLoggedIn');
					}
				}, {scope:'read_friendlists,friends_location,user_location'});	
				
				/* user_relationships,publish_stream,user_groups, */
				sc_trackAction(this,'breaknow_FBauth_click',null);
			});
			
			// Breaking now bar
			jQuery("#twc-breaking-now-facebook-detail-list-id li").live('click',function() { 
				setPopupValue();
				jQuery(".profileClicked").removeClass("profileClicked");
				jQuery(this).addClass("profileClicked");
				var to = jQuery(this).attr('id');	 	
				var from = 'Breakingnowbar';
				showFeedPostWindow(to, from);
			});
			
			jQuery('.wx-social-friends').each(function(index, Element) {
				var friendslist	="";
				jQuery("#twc-view-friends-list-id li").live('click',function(){                                             
					var place = jQuery(this).attr('id');                                                                              
					var cl = '.twc-list-'+place;
					jQuery(cl).toggle();
					var c2 = '.wx-view-more-'+place+' h1';
					jQuery(c2).toggle(); 
					if(friendslist.indexOf(cl) == -1) {
						var size = jQuery(this).attr('size');  												
						if(size > 30) {
							jQuery(cl).carousel({ pagination: true, direction: "horizontal"});
							friendslist = friendslist + "," +cl;
							jQuery(cl).addClass("wx-my-friend-city-more");
						} else {							
							friendslist = friendslist + "," +cl;
							jQuery(cl).addClass("wx-my-friend-city-more");							
						}
					}					
					sc_trackAction(this,'my friendswx_bn_friend_more_click',null);
				});             								                                                        
				
				// My Friends
				jQuery("#twc-breaking-now-facebook-friends-list-id li").live('click',function() { 
					setPopupValue();
					jQuery(".profileClicked").removeClass("profileClicked");						
					jQuery(this).addClass("profileClicked");
					var to = jQuery(this).attr('id');
					var from ='MyFriends';
					showFeedPostWindow(to, from);
				});                                           
							
				// My Friends more
				jQuery("#twc-my-friend-facebook-friends-list-id li div.wx-thumb-selected").live('click',function() {
					setPopupValue();                                             
					jQuery(".profileClicked").removeClass("profileClicked");
					jQuery(this).addClass("profileClicked");
					var to = jQuery(this).attr('id');	 	
					var from = 'MyFriends';
					showFeedPostWindow(to, from);
				});							
				
				// Family
				jQuery("#twc-breaking-now-family-list-id li").live('click',function() {    
					setPopupValue();
					jQuery(".profileClicked").removeClass("profileClicked");
					jQuery(this).addClass("profileClicked");				
					var to = jQuery(this).attr('id');	
					var from = 'Family';
					showFeedPostWindow(to, from);
				}); 
				
				//Family Friend more
				var famlist	="";
				jQuery("#twc-view-family-list-id li").live('click',function() {                                             
					var size = jQuery(this).attr('size');                                                                               
					var cl = '.twc-list-family';
					jQuery(cl).toggle();
					var c2 = '.wx-view-more-family h1';
					jQuery(c2).toggle(); 
					if(famlist.indexOf(cl) == -1) {						
						if(size > 9) {
							jQuery(cl).carousel({ pagination: true, direction: "horizontal"});
							famlist = famlist + "," +cl;
							jQuery(cl).addClass("wx-my-friend-city-more");
						} else {						
							famlist = famlist + "," +cl;
							jQuery(cl).addClass("wx-my-friend-city-more");							
						}
					}					
					sc_trackAction(this,'myfriendswx_bn_family_more_click',null);
				});  
				
				jQuery("#twc-family-list-id li div.wx-thumb-selected").live('click',function() { 
					setPopupValue();
					jQuery(".profileClicked").removeClass("profileClicked");
					jQuery(this).addClass("profileClicked");
					var to = jQuery(this).attr('id');	 	
					var from = 'Family'
					showFeedPostWindow(to, from);
				});
				
				// Close Friends
				jQuery("#twc-breaking-now-close-friends-list-id li").live('click',function() {                           
					setPopupValue();
					jQuery(".profileClicked").removeClass("profileClicked");
					jQuery(this).addClass("profileClicked");
					var to = jQuery(this).attr('id');	 	
					var from = 'Close';
					
					showFeedPostWindow(to, from);
				}); 
				
				//Close Friend more
				var clfriendslist	="";
				jQuery("#twc-view-close-friends-list-id li").live('click',function() { 					
					var size = jQuery(this).attr('size');                               
					var cl = '.twc-close-friends-list';
					jQuery(cl).toggle();
					var c2 = '.wx-view-more-close h1';
					jQuery(c2).toggle(); 
					if(clfriendslist.indexOf(cl) == -1) {						
						if(size > 9) {
							jQuery(cl).carousel({ pagination: true, direction: "horizontal"});
							clfriendslist = clfriendslist + "," +cl;
							jQuery(cl).addClass("wx-my-friend-city-more");
						} else {						
							clfriendslist = clfriendslist + "," +cl;
							jQuery(cl).addClass("wx-my-friend-city-more");							
						}
					}					
					sc_trackAction(this,'myfriendswx_bn_family_more_click',null);
				}); 
				
				jQuery("#twc-close-friends-list-id li div.wx-thumb-selected").live('click',function(){ 
					setPopupValue();
					jQuery(".profileClicked").removeClass("profileClicked");
					jQuery(this).addClass("profileClicked");
					var to = jQuery(this).attr('id');	
					var from = 'Close';
					showFeedPostWindow(to, from);
				}); 				
			});
			
			TWC.Tools.ifEventReady(['fb_loggedin']).then(function(res){
				if(fb_loggedinEventFired == 'false') {
					fb_loggedinEventFired = 'true';
					jQuery(".wx-social-friends").addClass('wx-hide');
					jQuery(".twc-breaking-now-facebook-detail").removeClass('wx-hide');    
					jQuery(".wx-breaking-now-filter").removeClass('wx-hide');
					getFriends();
				}				
			});
		} 
	});
	jQuery(document).mouseup(function (e) {
		var container = jQuery(".wx-popup-box");
		if (container.has(e.target).length === 0) {			
			 container.hide();
		}
	});	
	
	/**
	 * New method to show the FB's share UI instead of custom window.
	 */
	function showFeedPostWindow(toID, from) {
		var actionId = "";					
		var campaignStr = "";
		if(from == 'Breakingnowbar') {
			actionId = 'breaknow_myfriendswx_share_click';
			campaignStr = '?cm_ven=Facebook&cm_cat=fb_breaknow_myfriendswx_rec';
		} else if(from == 'MyFriends') {
			actionId = 'myfriendswx_bn_friend_share_click';
			campaignStr = '?cm_ven=Facebook&cm_cat=fb_myfriendswx_bn_friend_rec';
		} else if(from == 'Family' || from == 'Close') {
			actionId = 'myfriendswx_bn_familyclose_share_click';
			campaignStr = '?cm_ven=Facebook&cm_cat=fb_myfriendswx_bn_familyclose_rec';
		}
		sc_trackAction(this,actionId,null);
		
        var obj = {
			  method: 'feed',
			  link: bralertURL+campaignStr,
			  picture: 'http://s.imwx.com//img/layout/TWC_logo_84x84.gif',
			  name: bralertmsg,
			  caption: bralertURL,
			  description: bralertDesc,
			  to: toID
        };

        function callback(response) {
        	if (!response || response.error) {
        		jQuery(".profileClicked").removeClass("profileClicked");
        		if(!response) {
					var shtype = jQuery("#timeShareType").val();										
					if(shtype == "breakingShare") {															
						var actionId = "";
						if(from == 'Breakingnowbar') {
							actionId = 'breaknow_myfriendswx_close_click';
						} else if(from == 'MyFriends') {
							actionId = 'myfriendswx_bn_friend_close_click';						
						} else if(from == 'Family' || from == 'Close') {
							actionId = 'myfriendswx_bn_family_close_click';
						} 					
						sc_trackAction(this,actionId,null);					
					}
        		}
        		else {
        			jQuery(".profileClicked").append('<div class="wx-social-bg wx-failure-notice"></div><div class="wx-social-bg wx-failure-notice-bg"></div>');
        		}
    		} else {
    			var pageType = (TWC.pco.get("metrics") && TWC.pco.get("metrics").level2) ? TWC.pco.get("metrics").level2 : "";	
    			sc_trackSocialLinks(this,'eVar21,eVar22,eVar24,campaign,events','event64,event57','event64,event57','Facebook',[pageType,'_breaknow'].join(''),'breaknow',null,'My Friend\'s Weather Share',null);
    			postAlert();
    		}
        }

        // calling the API ...
        FB.ui(obj, callback);
		
	}
	 	
	function getFriends(){                	
		FB.api('/me', {fields:"id,name,picture"},function(response){    
			showFriends();                                                 
		});
	}
	
	function showFriends(){                               
		_friends = [];
		var _friends_location_ids = ",";
		
		var famTemp= [];
		var clTemp= [];
		
		FB.api({
			method: 'fql.query',
			query: 'SELECT uid, flid FROM friendlist_member WHERE flid IN (SELECT flid FROM friendlist WHERE owner=me() and type = "family")'
			}, function(rs) { 
			 var fasize = rs.length;				
				for(var i=0;i<fasize;i++){                                                                  									
					var id =rs[i].uid;  					
					famTemp.push(id);				                                            
				}
        });
		
		FB.api({
			method: 'fql.query',
			query: 'SELECT uid, flid FROM friendlist_member WHERE flid IN (SELECT flid FROM friendlist WHERE owner=me() and type = "close_friends")'
			}, function(rs) { 
			  var clsize = rs.length;			
				for(var i=0;i<clsize;i++){                                                                  					
					var clf = "";
					var id =rs[i].uid;  					
					clTemp.push(id);				                                            
				}
		});
		FB.api({
			method: 'fql.query',
			query: 'SELECT uid,username, name, pic_square, current_location from user where uid in (SELECT uid2 from friend where uid1 = me())'
			}, function(rs) {	
			var fsize = rs.length; 
			for(var i=0;i<fsize;i++){    
				var friend = "";
				var id =rs[i].uid;
				friend = "id="+id+";name="+rs[i].name+";pic_square="+ rs[i].pic_square+";";
				if(rs[i].current_location != null && rs[i].current_location.id != null) {
					friend = friend+"current_locationid="+ rs[i].current_location.id+";"
					friend = friend+"current_locationname="+ rs[i].current_location.name+";"
					if(rs[i].current_location.city != null) {
									friend = friend+"city="+ rs[i].current_location.city+";"
					}
					if(rs[i].current_location.state != null) {
									friend = friend+"state="+ rs[i].current_location.state+";"
					}                                                                              
					if(rs[i].current_location.country != null) {
									friend = friend+"country="+ rs[i].current_location.country+";"
					}                                                                              
					if(_friends_location_ids.indexOf(","+rs[i].current_location.id+",",0) == -1) {
									_friends_location_ids = _friends_location_ids +rs[i].current_location.id+",";
					}
				} 
				_friends.push(friend);
				                                             
			}
			_friends_location_ids = _friends_location_ids.substring(1, _friends_location_ids.length-1)
			var location_array = _friends_location_ids.split(",");                          		
			FB.api({
				method: 'fql.query',
				query: 'SELECT page_id,name,latitude,longitude FROM place WHERE page_id IN ('+ location_array +')'
				}, function(locrs) {	
				_location = [];     				
				for(var i=0;i<locrs.length;i++){ 					
					_location.push(locrs[i].page_id + ";" + locrs[i].latitude + ";" + locrs[i].longitude + ";" + locrs[i].name);
				}  						
				_location = ascLocation(_location);
				_suser = [];
				_suser = searchUser();
				if(_suser.length >0){   
					affLength = _suser.length;								
					for(var fa=0; fa<famTemp.length; fa++){
						var famId = famTemp[fa];
						for(var f=0; f<_suser.length; f++){
							var fr = _suser[f];                                                         
							var frId = fr.substring(fr.indexOf("id=")+3, fr.indexOf(";",fr.indexOf("id=")+3)); 
							if(famId == frId) {
								_family.push(fr);
								_suser.splice(f,1);
							}
						}		
					}
					
					for(var fa=0; fa<clTemp.length; fa++){
						var clId = clTemp[fa];
						for(var f=0; f<_suser.length; f++){
							var fr = _suser[f];                                                         
							var frId = fr.substring(fr.indexOf("id=")+3, fr.indexOf(";",fr.indexOf("id=")+3)); 
							if(clId == frId) {
								_clFriends.push(fr);
								_suser.splice(f,1);
							}
						}		
					}
					jQuery("#twc-breaking-now-facebook-count").html(affLength + " FRIENDS POSSIBLY AFFECTED" );
					showSearchedUsers();
				} else {					
					var str = "0 FRIENDS IN AREA";
					jQuery("#twc-breaking-now-facebook-count").html(str);
					//jQuery("#twc-facebook-detail-sub-title-id").html(str);
					//jQuery("#twc-facebook-detail-sub-title-id").removeClass("wx-hide");
					//jQuery("#twc-breaking-now-facebook-detail-list-id").html('');				
				}
			});			                                         						
		});                                                           					
	}
	
	function searchUser(){                         
		var _seuser = [];                                               
		
		var stext = "";
		if(searchCriteria == "CITYSEARCH") {                                               
			var citySt = searchtext.split(";");
			for(var j = 0;j< citySt.length;j++){
				var temp = citySt[j].split(",");
				if(temp.length == 2) {
					var city = jQuery.trim(temp[0].toUpperCase());										
					var state = jQuery.trim(temp[1].toUpperCase());				
					for(var i = 0;i< _friends.length;i++){
						var fr = _friends[i];   
						if(fr.indexOf(";city=") != -1 && fr.indexOf(";state=") != -1) {
							var fr_city = fr.substring(fr.indexOf(";city=")+6, fr.indexOf(";",fr.indexOf(";city=")+6));
							fr_city = fr_city.toUpperCase();
							var fr_state = fr.substring(fr.indexOf(";state=")+7, fr.indexOf(";",fr.indexOf(";state=")+7));
							fr_state = fr_state.toUpperCase();								
							if((fr_city.indexOf(city) != -1) && (fr_state.indexOf(state) != -1)) {							
								_seuser.push(fr);
							}                                              
						}					                           
					}		
				}				
			}					
		} else if(searchCriteria == "STATESEARCH") {
			var state = searchtext.split(",");
			for(var j = 0;j< state.length;j++){
				stext = state[j].toUpperCase();
				for(var i = 0;i< _friends.length;i++){
					var fr = _friends[i];
					var result = "no";
					if(fr.indexOf(";current_locationname=") != -1) {
						var fr_locationname = fr.substring(fr.indexOf(";current_locationname=")+22, fr.indexOf(";",fr.indexOf(";current_locationname=")+22));
						fr_locationname = fr_locationname.toUpperCase();
						if(fr_locationname.indexOf(stext) != -1) {
							_seuser.push(fr);
							result = "yes";
						}
					} 
					if( result == "no" && fr.indexOf(";state=") != -1) {
						var fr_state = fr.substring(fr.indexOf(";state=")+7, fr.indexOf(";",fr.indexOf(";state=")+7));
						fr_state = fr_state.toUpperCase();
						if(fr_state.indexOf(stext) != -1) {
							_seuser.push(fr);
							result = "yes";
						}                                              
					}                                              
																
				}
			}			 
		}else if(searchCriteria == "LATLONGSEARCH"){			
			var _latlong = searchtext.split(";");			
			for(var i = 0;i< _latlong.length;i++){                                    
				var latlong_array = _latlong[i].split(":");				
				if(latlong_array.length == 2) {
					var lat1 = parseInt(latlong_array[0]);
					var lon1 = parseInt(latlong_array[1]);					 					
					var distance = parseInt(radius);
					for(var j = 0;j< _location.length;j++){
						var loc = _location[j].split(";");
						var loc_id = loc[0];
						var lat2 = parseInt(loc[1]);
						var lon2 = parseInt(loc[2]);
						
						var R = 3963; // miles .. use 6371 for km
						var dLat = (lat2-lat1).toRad();
						var dLon = (lon2-lon1).toRad(); 
						var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
														Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) * 
														Math.sin(dLon/2) * Math.sin(dLon/2); 
						var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
						var dist = R * c; //miles
						if(dist <= distance) {
							for(var k = 0;k< _friends.length;k++){
								var fr = _friends[k];
								var fr_loc_id = fr.substring(fr.indexOf(";current_locationid=")+20, fr.indexOf(";",fr.indexOf(";current_locationid=")+20));
								if(fr_loc_id == loc_id) {
									_seuser.push(fr);
								}
							}                                                                                              
						}
					}
				}
			}
		 
		} else {
			//alert("Select a search Criteria");
		}           		
		return _seuser;
	}
					
	function showSearchedUsers(){
        /*
		var fstr  = ''; 	
		var _ascUser = _family.concat(_clFriends, _suser);
        var friend_disp = ($('#wx-breaking-now').hasClass('bn-mini') ? 3 : 4);
        
		for(var i=0;i<_ascUser.length;i++){
			var fr = _ascUser[i];                                                         
			var id = fr.substring(fr.indexOf("id=")+3, fr.indexOf(";",fr.indexOf("id=")+3));                                    
			var name = fr.substring(fr.indexOf(";name=")+6, fr.indexOf(";",fr.indexOf(";name=")+6)); 
			var pic_square = fr.substring(fr.indexOf(";pic_square=")+12, fr.indexOf(";",fr.indexOf(";pic_square=")+12));
			if(i<friend_disp) {
				fstr+='<li id='+id+' name='+name+' thumb='+pic_square+' >';
				fstr+='<div class="twc-thumb-profile" title="'+name+'">';
				fstr+='<img src="'+pic_square+'" />';
				fstr+='</div>';
				fstr+="</li>";
			}
		}              
		
		jQuery("#twc-breaking-now-facebook-detail-list-id").html(fstr);
		if((affLength-friend_disp) >0) {
			var rem = '<a href="/social/my-friends-weather/breaking" from="breaknow_friendicon_more_click">+' + (affLength-friend_disp)  + ' more</a>';
			jQuery("#twc-facebook-breaking-sub-head-id").html(rem);
		} else {
			var rem = '<a href="/social/my-friends-weather/breaking" from="breaknow_friendicon_more_click">notify friends <span class="wx-icon wx-arrow wx-w-sm-rt"></span></a>';
			jQuery("#twc-facebook-detail-sub-title-id").html(rem);
			jQuery("#twc-facebook-detail-sub-title-id").removeClass("wx-hide");
		}   		
		*/ 						
		var count = "<span class='wx-my-friend-count'>" + affLength + "</span> friends possibly affected";					
		jQuery(".wx-my-friend-counter").html(count);
		jQuery(".wx-my-friend-counter").show();
		
		
		if(_family.length>0 || _clFriends.length>0 || _suser.length>0) {
			jQuery(".wx-mfw-friends-info").removeClass("wx-hide");
		}
		
		if(_family.length>0){
			jQuery(".wx-main-friends").removeClass("wx-hide");				
			groupFamily();
		}				
		if(_clFriends.length>0){
			jQuery(".wx-main-friends").removeClass("wx-hide");	
			groupCloseFriends();
		}			
		if(_suser.length>0){
			groupFriends();
		}	                                      
			
	}
	
	function groupFriends() {                                                  
		var groupUser=""; 
		var tempId = 0;
		for(var i = 0;i< _location.length;i++){	
			var _sguser = [];		
			var groupString = _location[i].split(";");	
			var placeid= groupString[0];
			var place = groupString[3];							
			for(var j = 0;j< _suser.length;j++){
				var fr = _suser[j];
				var result = "no";
				if(fr.indexOf(";current_locationid=") != -1) {
					var fr_locationname = fr.substring(fr.indexOf(";current_locationid=")+20, fr.indexOf(";",fr.indexOf(";current_locationname=")+20));
					fr_locationname = fr_locationname.toUpperCase();
					if(fr_locationname.indexOf(groupString[0]) != -1) {
						_sguser.push(fr);
						result = "yes";
					}
				} 
			}							
			
			if(_sguser.length>0){					
				groupUser += '<div class="wx-my-friend-city"  id="wx-my-friend-city-id-'+tempId+'"><p class="wx-my-friend-head-title"><strong> '+ place +'</strong> friends possibly affected ('+ _sguser.length + ' Friends)</p>';
				groupUser += '<div class="wx-my-friend-city-inner"><ul class="twc-breaking-now-facebook-detail-list wx-my-friend-list" id="twc-breaking-now-facebook-friends-list-id">';
				tempId++;
				_guser = ascFriends(_sguser);  
				var temp ="";
				var disp = 1;
				for(var k=0;k<_guser.length;k++){
					var fr = _guser[k];                                                            
					var id = fr.substring(fr.indexOf("id=")+3, fr.indexOf(";",fr.indexOf("id=")+3));                                                    
					var name = fr.substring(fr.indexOf(";name=")+6, fr.indexOf(";",fr.indexOf(";name=")+6)); 
					var pic_square = fr.substring(fr.indexOf(";pic_square=")+12, fr.indexOf(";",fr.indexOf(";pic_square=")+12));					
					if(k<5){
						pic_square = 'https://graph.facebook.com/' + id + '/picture?type=large&width=100&height=100'; 
						temp+='<li id='+id+' name='+name+' count='+k+' thumb='+pic_square+'>';
						temp+='<div class="wx-social-bg wx-thumb-bg"></div>';
						temp+='<div class="wx-list-profile-name">'+name+'</div>';
						temp+='<div class="twc-thumb-profile twc-thumb-profile-'+k+'" title="'+name+'">';
						temp+='<img src="'+pic_square+'" />';
						temp+='</div>';
						temp+="</li>";
					} else if(k==5) {	                                                                    
						temp += '</ul><ul id="twc-view-friends-list-id" class="twc-breaking-now-facebook-detail-list wx-my-friend-list"><li id='+placeid+' size='+(_guser.length-5)+' class="wx-view-more wx-view-more-'+placeid+'"> <h1>View <br /> more<span class="wx-icon wx-arrow wx-mb-sm-dn"></span></h1><h1 style="display:none">View <br /> less<span class="wx-icon wx-arrow wx-mb-sm-up"></span></h1></li></ul></div><div class="twc-list-'+placeid+'" style="display:none;"><ul class="wx-my-friend-list-more" id="twc-my-friend-facebook-friends-list-id"><li>';
						temp+='<div id='+id+' name='+name+' count='+k+' thumb='+pic_square+' class="wx-thumb-selected">';
						temp+='<div class="twc-thumb-profile" title="'+name+'">';
						temp+='<img src="'+pic_square+'" />';
						temp+='</div>';
						temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
						temp+="</div>";
					} else if(k>5) {    
						if(disp%30==0 && disp!=0){   			
							temp+='</li><li><div id='+id+' name='+name+' count='+k+' thumb='+pic_square+' class="wx-thumb-selected">';
							temp+='<div class="twc-thumb-profile" title="'+name+'">';
							temp+='<img src="'+pic_square+'" />';
							temp+='</div>';
							temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
							temp+="</div>";                                                                        
						} else {
							temp+='<div id='+id+' name='+name+' count='+k+' thumb='+pic_square+' class="wx-thumb-selected">';
							temp+='<div class="twc-thumb-profile" title="'+name+'">';
							temp+='<img src="'+pic_square+'" />';
							temp+='</div>';
							temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
							temp+="</div>";   
						}
						                      
						disp++;
					} 								
				}   
				groupUser += temp;
				if(_guser.length >5){
					groupUser += "</li></ul></div></div>";
				} else {
					groupUser += "</ul></div></div>";
				}				
			}	 
		}      
		jQuery("#wx-my-friend-city-cntr-id").html(groupUser);
	}
	
	function ascFriends(_ascuser){  
		_ascuser.sort(function(a, b){                                                                      
			var nameA=a.substring(a.indexOf(";name=")+6, a.indexOf(";",a.indexOf(";name=")+6)).toLowerCase(), nameB=b.substring(b.indexOf(";name=")+6, b.indexOf(";",b.indexOf(";name=")+6)).toLowerCase()
			if (nameA < nameB) //sort string ascending
			  return -1 
			if (nameA > nameB)
			  return 1
			return 0 //default return value (no sorting)
		})             
		return _ascuser;
	}
	
	function ascLocation(_ascLoc){  
		_ascLoc.sort(function(a, b){  
			var locAString = a.split(";");				
			var locA = locAString[3];			
			var locBString = b.split(";");				
			var locB = locBString[3];				
			if (locA < locB) //sort string ascending
			  return -1 
			if (locA > locB)
			  return 1
			return 0 //default return value (no sorting)
		})             
		return _ascLoc;
	}
	 
	if (typeof(Number.prototype.toRad) === "undefined") {
	  Number.prototype.toRad = function() {
					return this * Math.PI / 180;
	  }
	}                  
	
	function postAlert() {
		jQuery(".wx-popup-box").css("display","none"); 
		jQuery("#feedform_user_message").val("");
		jQuery(".profileClicked").append('<div class="wx-social-bg wx-confirmed-notice"></div>');
		jQuery(".profileClicked").removeClass("profileClicked");
		FB.api(
		'/me/'+fbCustomActionType,
		'post',
		{ breaking_now_weather: fbCustomActionUrl },
		function(response) {
		   if (!response || response.error) {
			 // alert('Error occured ');
		   } else {
			  //alert(' Weather 2 Alert Success! Action ID: ' + response.id);
		   }
		});
	}
	
	function groupCloseFriends() {                                                  
		var groupUser=""; 										
		if(_clFriends.length>0){					
			groupUser += '<div class="wx-my-friend-city"><p class="wx-my-friend-head-title"><strong>Close Friends Possibly Affected ('+ _clFriends.length + ')</strong></p>';                             
			groupUser += '<div class="wx-my-friend-city-inner"><ul class="twc-breaking-now-facebook-detail-list wx-my-friend-list" id="twc-breaking-now-close-friends-list-id">';
			_clFriends = ascFriends(_clFriends);                                   
			var temp ="";
			var disp = 1;
			for(var k=0;k<_clFriends.length;k++){
				var fr = _clFriends[k];                                                            
				var id = fr.substring(fr.indexOf("id=")+3, fr.indexOf(";",fr.indexOf("id=")+3));                                                    
				var name = fr.substring(fr.indexOf(";name=")+6, fr.indexOf(";",fr.indexOf(";name=")+6)); 
				var pic_square = fr.substring(fr.indexOf(";pic_square=")+12, fr.indexOf(";",fr.indexOf(";pic_square=")+12));												
				var city = fr.substring(fr.indexOf(";current_locationname=")+22, fr.indexOf(";",fr.indexOf(";current_locationname=")+22));
				if(k<5){
					pic_square = 'https://graph.facebook.com/' + id + '/picture?type=large&width=100&height=100'; 
					temp+='<li id='+id+' name='+name+' count='+k+' thumb='+pic_square+' title="'+city+'">';
					temp+='<div class="wx-social-bg wx-thumb-bg"></div>';
					temp+='<div class="wx-list-profile-name">'+name+'</div>';
					temp+='<div class="twc-thumb-profile twc-thumb-profile-'+k+'">';
					temp+='<img src="'+pic_square+'" />';
					temp+='</div>';
					temp+="</li>";
				} else if(k==5) {	                                                                    
					temp += '</ul><ul id="twc-view-close-friends-list-id" class="twc-breaking-now-facebook-detail-list wx-my-friend-list"><li class="wx-view-more wx-view-more-close" size="'+(_clFriends.length-5)+'" > <h1>View <br /> more<span class="wx-icon wx-arrow wx-mb-sm-dn"></span></h1><h1 style="display:none">View <br /> less<span class="wx-icon wx-arrow wx-mb-sm-up"></span></h1></li></ul></div><div class="twc-close-friends-list" style="display:none;"><ul class="wx-my-friend-list-more" id="twc-close-friends-list-id"><li>';
					temp+='<div id='+id+' name='+name+' count='+k+' thumb='+pic_square+' class="wx-thumb-selected" title="'+city+'">';
					temp+='<div class="twc-thumb-profile">';
					temp+='<img src="'+pic_square+'" />';
					temp+='</div>';
					temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
					temp+="</div>";
				} else if(k>5) {    
					if(disp%9==0 && disp!=0){   			
						temp+='</li><li><div id='+id+' name='+name+' count='+k+' thumb='+pic_square+' class="wx-thumb-selected"  title="'+city+'">';
						temp+='<div class="twc-thumb-profile">';
						temp+='<img src="'+pic_square+'" />';
						temp+='</div>';
						temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
						temp+="</div>";                                                                        
					} else {
						temp+='<div id='+id+' name='+name+' count='+k+' thumb='+pic_square+' class="wx-thumb-selected" title="'+city+'">';
						temp+='<div class="twc-thumb-profile">';
						temp+='<img src="'+pic_square+'" />';
						temp+='</div>';
						temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
						temp+="</div>";   
					}				  
					disp++;
				} 								
			}   
			groupUser += temp;			
			if(_clFriends.length >5){
				groupUser += "</li></ul></div></div>";
			} else {
				groupUser += "</ul></div></div>";
			}
		}
			   
		jQuery("#wx-my-close-friends-city-cntr-id").html(groupUser);
	}	
	
	function groupFamily() {                                                  
		var groupUser=""; 										
		if(_family.length>0){					
			groupUser += '<div class="wx-my-friend-city"><p class="wx-my-friend-head-title"><strong>Family Possibly Affected ('+ _family.length + ')</strong></p>';                             
			groupUser += '<div class="wx-my-friend-city-inner"><ul class="twc-breaking-now-facebook-detail-list wx-my-friend-list" id="twc-breaking-now-family-list-id">';
			_family = ascFriends(_family);                                   
			var temp ="";
			
			var disp = 1;
			for(var k=0;k<_family.length;k++){
				var fr = _family[k];                                                            
				var id = fr.substring(fr.indexOf("id=")+3, fr.indexOf(";",fr.indexOf("id=")+3));                                            
				var name = fr.substring(fr.indexOf(";name=")+6, fr.indexOf(";",fr.indexOf(";name=")+6));
				var pic_square = fr.substring(fr.indexOf(";pic_square=")+12, fr.indexOf(";",fr.indexOf(";pic_square=")+12));								
				var city = fr.substring(fr.indexOf(";current_locationname=")+22, fr.indexOf(";",fr.indexOf(";current_locationname=")+22));
				if(k<5){
					pic_square = 'https://graph.facebook.com/' + id + '/picture?type=large&width=100&height=100'; 
					temp+='<li id='+id+' count='+k+' name='+name+' thumb='+pic_square+' title="'+city+'">';
					temp+='<div class="wx-social-bg wx-thumb-bg"></div>';
					temp+='<div class="wx-list-profile-name">'+name+'</div>';
					temp+='<div class="twc-thumb-profile twc-thumb-profile-'+k+'">';
					temp+='<img src="'+pic_square+'" />';
					temp+='</div>';
					temp+="</li>";
				} else if(k==5) {
					temp += '</ul><ul id="twc-view-family-list-id" class="twc-breaking-now-facebook-detail-list wx-my-friend-list"><li class="wx-view-more wx-view-more-family" size="'+(_family.length-5)+'" > <h1>View <br /> more<span class="wx-icon wx-arrow wx-mb-sm-dn"></span></h1><h1 style="display:none">View <br /> less<span class="wx-icon wx-arrow wx-mb-sm-up"></span></h1></li></ul></div><div class="twc-list-family" style="display:none;"><ul class="wx-my-friend-list-more" id="twc-family-list-id"><li>';
					temp+='<div id='+id+' count='+k+' name='+name+' thumb='+pic_square+' class="wx-thumb-selected" title="'+city+'">';
					temp+='<div class="twc-thumb-profile">';
					temp+='<img src="'+pic_square+'" />';
					temp+='</div>';
					temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
					temp+="</div>";
				} else if(k>5) {
					if(disp%9==0 && disp!=0){
						temp+='</li><li><div id='+id+' count='+k+' name='+name+' thumb='+pic_square+' class="wx-thumb-selected" title="'+city+'">';
						temp+='<div class="twc-thumb-profile">';
						temp+='<img src="'+pic_square+'" />';
						temp+='</div>';
						temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
						temp+="</div>";
					} else {
						temp+='<div id='+id+' name='+name+' count='+k+' thumb='+pic_square+' class="wx-thumb-selected" title="'+city+'">';
						temp+='<div class="twc-thumb-profile">';
						temp+='<img src="'+pic_square+'" />';
						temp+='</div>';
						temp+='<div class="wx-list-profile-name"><span>'+name+'</span></div>';
						temp+="</div>";
					}
					disp++;
				}
			}
			groupUser += temp;
			if(_family.length >5){
				groupUser += "</li></ul></div></div>";
			} else {
				groupUser += "</ul></div></div>";
			}
		}		
		jQuery("#wx-my-family-cntr-id").html(groupUser);
	}
	function getLoginStatus(){
		FB.getLoginStatus(function(response){
			if(response.authResponse){
				accessToken = response.authResponse.accessToken;															
				// User Already logged in.
				//getFriends();					
				if(typeof(TWC.Tools) != "undefined") {	
					TWC.Tools.getEvent('fb_loggedin').resolve();
					jQuery(".twc-breaking-now-list").addClass('wx-bn-FBLoggedIn');
				}
			} else{
				// User Not logged in     						
				jQuery(".wx-social-friends").removeClass('wx-hide');  
				jQuery(".twc-breaking-now-list").removeClass('wx-bn-FBLoggedIn');
			}											
		}); 				 
	}
	function setPopupValue(){
		jQuery(".wx-popup-story-title").html(bralertmsg);
		jQuery(".wx-popup-story-details").html(bralertDesc);
		jQuery(".wx-popup-story-caption").html(bralertURL);
		jQuery("#timeShareType").val("breakingShare");
	}
})(jQuery);






/* /managedfe/js/TWC/class/Dialog.js expireTime 1792 */


/***** TWC DIALOG v1.0 *****/

/*

Position property of dialogs must be fixed or absolute for them to display.

To open and close a dialog:

    TWC.Dialog.open($(dialog_selector));
    TWC.Dialog.close($(dialog_selector));

To re-center a dialog (for cases where the change event isn't fired):

    TWC.Dialog.center($(dialog_selector));

To prevent dialogs from closing when ESC key is pressed or modal is clicked (global setting):

    TWC.Dialog.settings({closeOnEsc: false, closeOnModal: false});

*/

'TWC' in window || (window.TWC = {});

(function($) {

    var pkg = TWC;

    pkg.Dialog = {

        init: function() {
    	    this.changeEvent = $('body.has-IE7, body.has-IE8').length ? 'resize' : 'DOMSubtreeModified';
            this.settings();
        },

        settings: function(opts) {
            this.opts = {
                dialogClass: 'wx-dialog',       // class the script adds to dialogs
                modalClass: 'wx-modal',         // class the script adds to modals
                modalID: '-modal',              // suffix the script adds to modal ID's (preceded by dialog ID)
                closeOnEsc: true,               // will close when ESC key is pressed
                closeOnModal: true              // will close when modal is clicked
            };
            $.extend(this.opts, opts);
        },

        open: function($el) {
            var self = this;
        	$el.each(function(){
        	    var $dialog = $(this);
        	    var dialogID, modalID, modal;
        		// store dialog's id or assign a random one
        		dialogID = $dialog.attr('id');
        		if (typeof dialogID == 'undefined'){
        			dialogID = self.opts.dialogClass + Math.floor(Math.random() * 100000);
        			$dialog.attr('id', dialogID);
        		}
        		// create and position modal
        		modalID = dialogID + self.opts.modalID;
        		$('<div id=\"' + modalID + '\" class=\"' + self.opts.modalClass + '\"></div>').appendTo('body');
        		modal = $('#' + modalID).css({
        		    position:'fixed',
        		    top:'0',
        		    left:'0'
        		});
        		stretch(modal);
        		// move dialog to end of body
        		$dialog.appendTo('body').addClass(self.opts.dialogClass).css('display', 'block');
        		self.center($dialog);
        		// bind browser-specific event to center dialog when its content changes size
        		$dialog.on(self.changeEvent + '.' + dialogID, function(){
        			self.center($dialog);
        		});
        		// bind events to keep dialog centered on window change
        		$(window).on('resize.' + dialogID, function(){
        			self.center($('#' + dialogID));
        			stretch(modal);
        		});
        		// close dialog when escape key is pressed (if another dialog hasn't been opened)
        		if (self.opts.closeOnEsc){
        		  $(document).on('keydown.' + dialogID, function(evt){
        				var charCode = evt.which ? evt.which : evt.keyCode;
        				if (charCode == 27 && !$('#' + dialogID + ' ~ .' + self.opts.dialogClass + ':visible').length){
        					self.close($('#' + dialogID));
        				}
        			});
        		}
        		// close dialog when modal is clicked
        		if (self.opts.closeOnModal){
        			modal.on('click.' + dialogID, function(){
        				self.close($('#' + dialogID));
        			});
        		}
        	});
        },

        close: function($el) {
            var self = this;
            $el.each(function(){
        	    var $dialog = $(this);
        		var dialogID = $dialog.attr('id');
        		// hide dialog and unbind events
        		$('#' + dialogID + self.opts.modalID).remove();
        		$dialog.off('.' + dialogID).hide();
        		$(document).off('.' + dialogID);
        		$(window).off('.' + dialogID);
        	});
        },

        center: function($el) {
        	$el.each(function(){
        	    var $dialog = $(this);
        	    var fixed = $dialog.css('position') == 'fixed' ? true : false;
            	var x = Math.max(Math.round(($(window).width() - $dialog.outerWidth()) / 2), 0);
            	var y = Math.max(Math.round(($(window).height() - $dialog.outerHeight()) / 2), 0);
            	if (!fixed) y += $(document).scrollTop();
            	$dialog.css({
            	    top: y,
            	    left: x
            	});
        	});
        }

    };

    // fill window with a single jQuery object
    function stretch($el){
      $el.width($('body').width()).height($('body').height());
    }

    $(document).ready(function() {
        pkg.Dialog.init();
    });
})(jQuery);







/* /managedfe/js/jquery/plugins/jquery.lazyload.min.js expireTime 1792 */

/*
 * Lazy Load - jQuery plugin for lazy loading images
 *
 * Copyright (c) 2007-2013 Mika Tuupola
 *
 * Licensed under the MIT license:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Project home:
 *   http://www.appelsiini.net/projects/lazyload
 *
 * Version:  1.8.4
 *
 */
!function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible"))if(a.abovethetop(this,j)||a.leftofbegin(this,j));else if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!0,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("<img />").bind("load",function(){var d=c.data(j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.data(j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/iphone|ipod|ipad.*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document);
jQuery(document).ready(function($){
$("img.js-lazy").lazyload({
	effect:"fadeIn",
	threshold: 200,
	failure_limit : 100
});
});
//TWC.Tools.ifEventReady(['pagelet_content_ready']).then(function(res){
//	$(document).ajaxStop(function(){
//		$("img.js-lazy").lazyload({
////			event:"sporty",
//			effect:"fadeIn",
//			threshold: 100,
//			failure_limit : 100
//		});
//	});
//});
//$(window).bind("load", function() { 
//    var timeout = setTimeout(function() { $("img.js-lazy").trigger("sporty")}, 1000);
//});






/* /managedfe/js/TWC/util/foresee-loader.js expireTime 1792 */

(function($){
	$(document).ready(function(){
		$.ajax({
			url:"http://s.imwx.com/js/foresee-trigger-wxii.js",
			dataType: "script",
			cache:true
		})
	});
})(jQuery);






/* /managedfe/js/TWC/util/chartbeat_body_code.js expireTime 1792 */

    var _sf_async_config, chartBeatPaths;

    
    chartBeatPaths = [//Not using hash because pageIds in b.odev and live vary for some pages like map/interactive
        '/weather/today/',   
        '/weather/yesterday/',   
        '/weather/tomorrow/',   
        '/weather/hourbyhour/graph/',   
        '/weather/weekend/',   
        '/weather/5-day/',   
        '/weather/tenday/',   
        '/weather/monthly/',   
        '/weather/video-forecast/',   
        '/weather/map/interactive/'
    ];

    _sf_async_config={};

    /** CONFIGURATION START **/
    _sf_async_config.uid = 51963;
    _sf_async_config.domain = 'weather.com';

    _sf_async_config.sections = s.prop15.replace(/-/g,",");  //CHANGE THIS

    _sf_async_config.authors = s.prop18;    //CHANGE THIS
    
    var alias=TWC.pco.get("page.fromURL");
    if (alias != null && alias !="null"){
    	_sf_async_config.alias = "http://"+ location.hostname+alias;
    }

    _sf_async_config.path = (function(){
        var pathname, i, chartBeatPath, chartBeatPattern;

        pathname = location.pathname;

        for (i = 0; i < chartBeatPaths.length; i++) {
            chartBeatPath = chartBeatPaths[i];          
            if(pathname.indexOf(chartBeatPath) != -1){
                return chartBeatPath;
            }
        }
        
        if (alias != null && alias !="null"){
        	return alias;
        }
        //per charbeat only set this variable if path is not set
        _sf_async_config.useCanonical = true;
    })();
    
    /** CONFIGURATION END **/


    (function(){
      function loadChartbeat() {
        window._sf_endpt=(new Date()).getTime();
        var e = document.createElement('script');
        e.setAttribute('language', 'javascript');
        e.setAttribute('type', 'text/javascript');
        e.setAttribute('src', '//static.chartbeat.com/js/chartbeat.js');
        document.body.appendChild(e);
      }
      var oldonload = window.onload;
      window.onload = (typeof window.onload != 'function') ?
         loadChartbeat : function() { oldonload(); loadChartbeat(); };
    })();






/* /managedfe/js/TWC/class/DesktopBodyClass.js expireTime 1792 */

(function($) {
	$(document).ready(function() {
		var body_class = $('.wx-desktop-branding').attr('data-body-class');
		$('body').addClass(body_class);
	});
})(jQuery);







/* /managedfe/js/TWC/util/LocationTools.js expireTime 1792 */

'TWC' in window || (window.TWC = {});
/**
 * 
 * A library for managing and resolving TWC locations
 * 
 */
(function($) {
	var _pco = TWC.pco,
		_sdynhost = TWC.sdynhost || "d.imwx.com",
		_tshost = TWC.shosttadomain || "wxdata.weather.com";
	TWC.Events.setEvent("location_tools_ready");
	
	function isConus(loc) {
		var lat = loc.lat,
			lon = loc.lon,
			country = loc.country;
		
		// Determine if location isConus
		if(lon > -125 && lon < -66 && lat > 25 && lat < 49 && (country === "US")){
			return true;
		}else{
			return false;
		}
	}
	function isLocIn(loc1, locations){
		for(var i=0,l=locations.length;i<l;i++){
			var loc2 = locations[i];
			if((loc1 && loc2 && 
					 loc1.locid == loc2.locid &&
					 loc1.loctype == loc2.loctype &&
					 loc1.lat == loc2.lat &&
					 loc1.lon == loc2.lon
				)){
					return i;
				}
		}		
		return -1;
	}
	
	function getLocRef(locDetails, appendCountry) {
		if( !locDetails) return undefined;
		var locKey = locDetails.lockey||undefined,
			locType = locDetails.loctype||'',
			countryCode = (locDetails.country||'').toUpperCase();
		
		if( locKey ) return locKey;
		
		locKey = "" + locDetails.locid;
		if( locKey && locType && (locKey.indexOf(":")==-1) && locType != 1 && locType != 4) {
			locKey = [locKey,locType].join(":");
		}
		if( 'US' == countryCode && true === appendCountry) {
			locKey = [locKey,locType,countryCode].join(":");
		}
		return locKey;
	}
	
	function getLatLon(locDetails) {
		if( locDetails.lat&&locDetails.lon) {
			return [locDetails.lat+0.0,locDetails.lon+0.0].join(",");
		}
		return "";
	}
	
	function getNameBlock(locDetails) {
		var addr = locDetails.addr,
			hash = locDetails.lkey||locDetails.hkey||locDetails.ckey||undefined,
			nickname = locDetails.nickname;
		
		if( !addr && !hash ) return "";
		
		return [addr,nickname,hash].join(":");
	}
	
	function getBestLocationKey(locDetails) {
		var loc = locDetails,
			zip = (((!loc.loctype)||loc.loctype == 4) ? loc.locid : ((loc.zip) ? loc.zip : undefined)),
			ll = getLatLon(locDetails),
			nameblock = getNameBlock(locDetails),
			locRef = getLocRef(locDetails,true),
			locKey = "";
		
		locRef&&(locKey = locRef);
		ll&&locRef&&(locKey = [ll,locRef].join("+"));
		ll&&nameblock&&locRef&&(locKey = [ll,nameblock,locRef].join("+"));
		
		(!locKey)&&ll&&(locKey=ll);
		
		return locKey;
	}
	
	function latLonOrLocId(locDetails) {
		if( locDetails.locid) {
			return getLocRef(locDetails);
		}
		
		return [locDetails.lat,locDetails.lon].join(",");
	}
	
	TWC.Location = {

		GetLocationDetails : function(key, locKey, success, fail, configs) {
			var ds2key = key;
			return $.when(
				$.ajax({
						url : ["http://",_sdynhost,"/services/wx/",locKey].join(""),
						dataType : 'jsonp'
					})
			).done(
				function(data) {
					success&&data&&success.call(undefined, data.loc);
				}
			).fail(function(){fail&&fail.call(undefined);});
		},
		
		GetDS2LocationDetails : function(key, locKey, success, fail, configs) {
			var ds2key = key;
			return $.when(
				$.ajax({
						url : ['http://',_tshost,'/wxdata/loc/',locKey,'.js'].join(""),
						data : $.extend({key:ds2key},configs||{}),
						dataType : 'jsonp',
						jsonp : 'cb'
					})
			).done(
				function(data) {
					success&&data&&success.call(undefined, data);
				}
			).fail(function(){fail&&fail.call(undefined);});
		},
		
		DS2LocSearch : function(key, q, success, fail, configs) {
			var ds2key = key;
			return $.when(
					$.ajax({
						url : ['http://',_tshost,'/wxdata/locsearch/',q,'.js'].join(""),
						data : $.extend({ loctypes : '1,9,5,11,13,19,20', max : '25', key:ds2key}, configs||{}),
						dataType : 'jsonp',
						jsonp : 'cb'
					})
			).done(
				function(data) {
					success&&data&&success.call(undefined, data);
				}
			).fail(function(){fail&&fail.call(undefined);});
		},
		
		GetLocationDetailsFromLatLon : function(key, lat, lon, success, fail, configs) {
			var ds2key = key;
			return $.when(
				$.ajax({
						url : ["http://",_sdynhost,"/services/wx/",(0.0+lat),",",(0.0+lon)].join(""),
						dataType : 'jsonp'
					})
			).done(
				function(data) {success&&data&&success.call(undefined, data.loc);}
			).fail(function(){fail&&fail.call(undefined);});
		},
		
		GetDS2LocationDetailsFromLatLon : function(key, lat, lon, success, fail, configs) {
			var ds2key = key;
			return $.when(
				$.ajax({
						url : ['http://',_tshost,'/wxdata/loc/get.js'].join(""),
						data : $.extend({key:ds2key,lat:lat,lng:lon},configs||{}),
						dataType : 'jsonp',
						jsonp : 'cb'
					})
			).done(
				function(data) {success&&data&&success.call(undefined, data);}
			).fail(function(){fail&&fail.call(undefined);});
		},
		
		NormalizeLocation : function (locDetails, source) {
			if( locDetails&&locDetails['class']=='error' || !locDetails ) return undefined;
			
			var locObj = $.extend(locDetails,{
				 	 addr:locDetails.addr||undefined,
					 city:locDetails.city||undefined,
				 	 claritas:locDetails.claritas||locDetails.cID||undefined,
				 	 country:locDetails.countryCode||locDetails.country||"US",
					 countryName:locDetails.countryName||locDetails.country||"United States of America",
					 dma:locDetails.dma||undefined,
					 lat:locDetails.lat||undefined,
					 locid:locDetails.locid||locDetails.key||locDetails.zip||undefined,
					 locname:locDetails.locname||locDetails.name||locDetails.city||undefined,
					 loctype:locDetails.loctype||locDetails.type||4,
					 lon:locDetails.lon||locDetails.lng||undefined,
					 state:locDetails.state||undefined,
					 zip:locDetails.zip||undefined,
					 hkey:locDetails.hkey||undefined,
					 ckey:locDetails.ckey||undefined,
					 lkey:locDetails.hkey||locDetails.ckey||undefined,
					 nickname:locDetails.nickname||undefined,
					 loctz:locDetails.zoneInfo||undefined,
					 loctzoffset:(locDetails.tz)?(locDetails.tz*60*60*1000):undefined,
					 rgn4:locDetails.rgn4||undefined,
					 rgn9:locDetails.rgn9||undefined,
					 source:locDetails.source||undefined
					});		
			
			
			return locObj;		
		},
		
		LocationDataFromTarget : function(target) {
			var $target = $(target),
			loc = {};
		
			loc.addr = $target.attr('data-addr');
			loc.locid = $target.attr('data-locid');
			loc.loctype = $target.attr('data-loctype');
			loc.country = $target.attr('data-country');
			loc.countryName = $target.attr('data-country-name');
			loc.hkey = $target.attr('data-hkey');
			loc.locname = $target.attr('data-locname');
			loc.lockey = $target.attr('data-lockey');
			loc.nickname = $target.attr('data-nickname');
			return loc;
		},
		
		LocationAlreadySaved : function( locData ) {
			var savedLocs=_pco.get("user.savedLocations")||[];
			return (isLocIn(locData,savedLocs)>-1);
		},
		//For building page urls
		LocationKeyFromLocationData : function(locDetails) {
			return getBestLocationKey(locDetails);
		},
		// For DS2 Calls
		LocRefFromLocationData : function(locDetails) {
			return getLocRef(locDetails);
		},
		LocRefOrLatLon : function(locDetails) {
			var locKey = getLocRef(locDetails);
			if( !locKey ) {
				locKey = getLatLon(locDetails);
			}
			
			return locKey;
		},
		BestPresentationNameFromLocData : function(locObj, wrapaddress) {
			var address = ((locObj.addr)?[locObj.addr,' '].join(''):''),
			locname = locObj.locname,
			state = (('US' == locObj.country && locObj.state)?[', ',locObj.state].join(""):''),
			zip = (locObj.country == 'US'&&locObj.loctype==4)?[' (',locObj.locid,')'].join(''):((!locObj.loctype&&locObj.zip)?[' ',locObj.zip].join(''):undefined),
			country = (!zip&&'US'!=locObj.country)?[', ',locObj.countryName].join(''):'';
			
			return [((address)?[address,(wrapaddress)?'&lt;br/&gt;':''].join(""):""),locname,state,zip,country].join("");
		},
		BestSearchResultLabelFromLocData : function(locObj, wrapaddress) {
			var address = ((locObj.addr)?[locObj.addr,' '].join(''):''),
			locname = locObj.locname,
			state = (('US' == locObj.country && locObj.state)?[', ',locObj.state].join(""):''),
			zip = (locObj.country == 'US'&&locObj.loctype==4)?[' (',locObj.locid,')'].join(''):((!locObj.loctype&&locObj.zip)?[' ',locObj.zip].join(''):undefined),
			country = (!zip)?[', ',locObj.countryName].join(''):'';
			
			return (!locObj.zip&&locObj.nickname)?locObj.nickname:[((address)?[address,(wrapaddress)?'&lt;br/&gt;':''].join(""):""),locname,state,zip,country].join("");
		},
		SearchValueFromLocData : function(loc) {
			return ( loc.loctype == 4) ? loc.locid : ((!loc.loctype&&loc.zip) ? loc.zip : [loc.locname, (('US' == loc.country && loc.state)?[', ',loc.state].join(""):''),((loc.countryName)?[', ',loc.countryName].join(""):'')].join(''));
		},
		SaveLocation : function() {
			var loc = TWC.pco.get("currloc");
			if ( loc )
			{
				var savedLocations = _pco.get("user.savedLocations")||[],
					recentSearches = _pco.get("user.recentSearchLocations")||[],
					recentSearchIndex = isLocIn(loc, recentSearches),
					savedLocationsIndex = isLocIn(loc, savedLocations);
				
				if( savedLocationsIndex==-1) {
					(recentSearchIndex>-1)&&(recentSearches.splice(recentSearchIndex,1));
					TWC.pco.setUser("savedLocations",loc);
				}
			}
		},
		SaveRecentSearch : function(source, locObj) {
			if( 'trupoint' != source && locObj) {
				var savedLocations = _pco.get("user.savedLocations")||[],
					savedLocationsIndex = isLocIn(locObj, savedLocations);
					
				if(savedLocationsIndex==-1) {			
					TWC.pco.setUser("recentSearchLocations",locObj);
				}
			}
		},
		
		// Method to convert locObj to locString
		LocObjToLocString : function(locObj){
			if(locObj == null) return "";
			var nickname = (locObj.nickname) ? locObj.nickname.replace(/ /g,"+") + "|" : "";
			// TODO:  This is a temporary fix to remove any appending loctype in locid, need to look into removing this logic in PageContext.java
			// And why is this code repeated three different places locationEditor.jsp, wx-location-typeahead.js & header.js
			var locid = locObj.locid.indexOf(':') ? locObj.locid.split(":")[0] : locObj.locid;
			return [nickname, locid, ":",locObj.loctype,":",locObj.country].join("");
		},
	
	};
	TWC.Events.location_tools_ready.resolve();
})(jQuery);







/* /managedfe/js/jquery/plugins/jquery.colorbox-min.js expireTime 1792 */

// ColorBox v1.3.20.2 - jQuery lightbox plugin
// (c) 2012 Jack Moore - jacklmoore.com
// License: http://www.opensource.org/licenses/mit-license.php
(function(a,b,c){function Z(c,d,e){var g=b.createElement(c);return d&&(g.id=f+d),e&&(g.style.cssText=e),a(g)}function $(a){var b=y.length,c=(Q+a)%b;return 0>c?b+c:c}function _(a,b){return Math.round((/%/.test(a)?("x"===b?z.width():z.height())/100:1)*parseInt(a,10))}function ab(a){return K.photo||/\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(a)}function bb(){var b,c=a.data(P,e);null==c?(K=a.extend({},d),console&&console.log&&console.log("Error: cboxElement missing settings object")):K=a.extend({},c);for(b in K)a.isFunction(K[b])&&"on"!==b.slice(0,2)&&(K[b]=K[b].call(P));K.rel=K.rel||P.rel||a(P).data("rel")||"nofollow",K.href=K.href||a(P).attr("href"),K.title=K.title||P.title,"string"==typeof K.href&&(K.href=a.trim(K.href))}function cb(b,c){a.event.trigger(b),c&&c.call(P)}function db(){var a,d,e,b=f+"Slideshow_",c="click."+f;K.slideshow&&y[1]?(d=function(){F.html(K.slideshowStop).unbind(c).bind(j,function(){(K.loop||y[Q+1])&&(a=setTimeout(W.next,K.slideshowSpeed))}).bind(i,function(){clearTimeout(a)}).one(c+" "+k,e),r.removeClass(b+"off").addClass(b+"on"),a=setTimeout(W.next,K.slideshowSpeed)},e=function(){clearTimeout(a),F.html(K.slideshowStart).unbind([j,i,k,c].join(" ")).one(c,function(){W.next(),d()}),r.removeClass(b+"on").addClass(b+"off")},K.slideshowAuto?d():e()):r.removeClass(b+"off "+b+"on")}function eb(b){U||(P=b,bb(),y=a(P),Q=0,"nofollow"!==K.rel&&(y=a("."+g).filter(function(){var c,b=a.data(this,e);return b&&(c=a(this).data("rel")||b.rel||this.rel),c===K.rel}),Q=y.index(P),-1===Q&&(y=y.add(P),Q=y.length-1)),S||(S=T=!0,r.show(),K.returnFocus&&a(P).blur().one(l,function(){a(this).focus()}),q.css({opacity:+K.opacity,cursor:K.overlayClose?"pointer":"auto"}).show(),K.w=_(K.initialWidth,"x"),K.h=_(K.initialHeight,"y"),W.position(),o&&z.bind("resize."+p+" scroll."+p,function(){q.css({width:z.width(),height:z.height(),top:z.scrollTop(),left:z.scrollLeft()})}).trigger("resize."+p),cb(h,K.onOpen),J.add(D).hide(),I.html(K.close).show()),W.load(!0))}function fb(){!r&&b.body&&(Y=!1,z=a(c),r=Z(X).attr({id:e,"class":n?f+(o?"IE6":"IE"):""}).hide(),q=Z(X,"Overlay",o?"position:absolute":"").hide(),C=Z(X,"LoadingOverlay").add(Z(X,"LoadingGraphic")),s=Z(X,"Wrapper"),t=Z(X,"Content").append(A=Z(X,"LoadedContent","width:0; height:0; overflow:hidden"),D=Z(X,"Title"),E=Z(X,"Current"),G=Z(X,"Next"),H=Z(X,"Previous"),F=Z(X,"Slideshow").bind(h,db),I=Z(X,"Close")),s.append(Z(X).append(Z(X,"TopLeft"),u=Z(X,"TopCenter"),Z(X,"TopRight")),Z(X,!1,"clear:left").append(v=Z(X,"MiddleLeft"),t,w=Z(X,"MiddleRight")),Z(X,!1,"clear:left").append(Z(X,"BottomLeft"),x=Z(X,"BottomCenter"),Z(X,"BottomRight"))).find("div div").css({"float":"left"}),B=Z(X,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),J=G.add(H).add(E).add(F),a(b.body).append(q,r.append(s,B)))}function gb(){return r?(Y||(Y=!0,L=u.height()+x.height()+t.outerHeight(!0)-t.height(),M=v.width()+w.width()+t.outerWidth(!0)-t.width(),N=A.outerHeight(!0),O=A.outerWidth(!0),r.css({"padding-bottom":L,"padding-right":M}),G.click(function(){W.next()}),H.click(function(){W.prev()}),I.click(function(){W.close()}),q.click(function(){K.overlayClose&&W.close()}),a(b).bind("keydown."+f,function(a){var b=a.keyCode;S&&K.escKey&&27===b&&(a.preventDefault(),W.close()),S&&K.arrowKey&&y[1]&&(37===b?(a.preventDefault(),H.click()):39===b&&(a.preventDefault(),G.click()))}),a(b).delegate("."+g,"click",function(a){a.which>1||a.shiftKey||a.altKey||a.metaKey||(a.preventDefault(),eb(this))})),!0):!1}var q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,d={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",open:!1,returnFocus:!0,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0},e="colorbox",f="cbox",g=f+"Element",h=f+"_open",i=f+"_load",j=f+"_complete",k=f+"_cleanup",l=f+"_closed",m=f+"_purge",n=!a.support.opacity&&!a.support.style,o=n&&!c.XMLHttpRequest,p=f+"_IE6",X="div";a.colorbox||(a(fb),W=a.fn[e]=a[e]=function(b,c){var f=this;if(b=b||{},fb(),gb()){if(!f[0]){if(f.selector)return f;f=a("<a/>"),b.open=!0}c&&(b.onComplete=c),f.each(function(){a.data(this,e,a.extend({},a.data(this,e)||d,b))}).addClass(g),(a.isFunction(b.open)&&b.open.call(f)||b.open)&&eb(f[0])}return f},W.position=function(a,b){function j(a){u[0].style.width=x[0].style.width=t[0].style.width=a.style.width,t[0].style.height=v[0].style.height=w[0].style.height=a.style.height}var c,h,i,d=0,e=0,g=r.offset();z.unbind("resize."+f),r.css({top:-9e4,left:-9e4}),h=z.scrollTop(),i=z.scrollLeft(),K.fixed&&!o?(g.top-=h,g.left-=i,r.css({position:"fixed"})):(d=h,e=i,r.css({position:"absolute"})),e+=K.right!==!1?Math.max(z.width()-K.w-O-M-_(K.right,"x"),0):K.left!==!1?_(K.left,"x"):Math.round(Math.max(z.width()-K.w-O-M,0)/2),d+=K.bottom!==!1?Math.max(z.height()-K.h-N-L-_(K.bottom,"y"),0):K.top!==!1?_(K.top,"y"):Math.round(Math.max(z.height()-K.h-N-L,0)/2),r.css({top:g.top,left:g.left}),a=r.width()===K.w+O&&r.height()===K.h+N?0:a||0,s[0].style.width=s[0].style.height="9999px",c={width:K.w+O,height:K.h+N,top:d,left:e},0===a&&r.css(c),r.dequeue().animate(c,{duration:a,complete:function(){j(this),T=!1,s[0].style.width=K.w+O+M+"px",s[0].style.height=K.h+N+L+"px",K.reposition&&setTimeout(function(){z.bind("resize."+f,W.position)},1),b&&b()},step:function(){j(this)}})},W.resize=function(a){S&&(a=a||{},a.width&&(K.w=_(a.width,"x")-O-M),a.innerWidth&&(K.w=_(a.innerWidth,"x")),A.css({width:K.w}),a.height&&(K.h=_(a.height,"y")-N-L),a.innerHeight&&(K.h=_(a.innerHeight,"y")),a.innerHeight||a.height||(A.css({height:"auto"}),K.h=A.height()),A.css({height:K.h}),W.position("none"===K.transition?0:K.speed))},W.prep=function(b){function g(){return K.w=K.w||A.width(),K.w=K.mw&&K.mw<K.w?K.mw:K.w,K.w}function h(){return K.h=K.h||A.height(),K.h=K.mh&&K.mh<K.h?K.mh:K.h,K.h}if(S){var c,d="none"===K.transition?0:K.speed;A.remove(),A=Z(X,"LoadedContent").append(b),A.hide().appendTo(B.show()).css({width:g(),overflow:K.scrolling?"auto":"hidden"}).css({height:h()}).prependTo(t),B.hide(),a(R).css({"float":"none"}),o&&a("select").not(r.find("select")).filter(function(){return"hidden"!==this.style.visibility}).css({visibility:"hidden"}).one(k,function(){this.style.visibility="inherit"}),c=function(){function s(){n&&r[0].style.removeAttribute("filter")}var b,c,h,l,o,p,q,g=y.length,i="frameBorder",k="allowTransparency";if(S){if(l=function(){clearTimeout(V),C.detach().hide(),cb(j,K.onComplete)},n&&R&&A.fadeIn(100),D.html(K.title).add(A).show(),g>1){if("string"==typeof K.current&&E.html(K.current.replace("{current}",Q+1).replace("{total}",g)).show(),G[K.loop||g-1>Q?"show":"hide"]().html(K.next),H[K.loop||Q?"show":"hide"]().html(K.previous),K.slideshow&&F.show(),K.preloading)for(b=[$(-1),$(1)];c=y[b.pop()];)q=a.data(c,e),q&&q.href?(o=q.href,a.isFunction(o)&&(o=o.call(c))):o=c.href,ab(o)&&(p=new Image,p.src=o)}else J.hide();K.iframe?(h=Z("iframe")[0],i in h&&(h[i]=0),k in h&&(h[k]="true"),K.scrolling||(h.scrolling="no"),a(h).attr({src:K.href,name:(new Date).getTime(),"class":f+"Iframe",allowFullScreen:!0,webkitAllowFullScreen:!0,mozallowfullscreen:!0}).one("load",l).one(m,function(){h.src="//about:blank"}).appendTo(A),K.fastIframe&&a(h).trigger("load")):l(),"fade"===K.transition?r.fadeTo(d,1,s):s()}},"fade"===K.transition?r.fadeTo(d,0,function(){W.position(0,c)}):W.position(d,c)}},W.load=function(b){var c,d,e=W.prep;T=!0,R=!1,P=y[Q],b||bb(),cb(m),cb(i,K.onLoad),K.h=K.height?_(K.height,"y")-N-L:K.innerHeight&&_(K.innerHeight,"y"),K.w=K.width?_(K.width,"x")-O-M:K.innerWidth&&_(K.innerWidth,"x"),K.mw=K.w,K.mh=K.h,K.maxWidth&&(K.mw=_(K.maxWidth,"x")-O-M,K.mw=K.w&&K.w<K.mw?K.w:K.mw),K.maxHeight&&(K.mh=_(K.maxHeight,"y")-N-L,K.mh=K.h&&K.h<K.mh?K.h:K.mh),c=K.href,V=setTimeout(function(){C.show().appendTo(t)},100),K.inline?(Z(X).hide().insertBefore(a(c)[0]).one(m,function(){a(this).replaceWith(A.children())}),e(a(c))):K.iframe?e(" "):K.html?e(K.html):ab(c)?(a(R=new Image).addClass(f+"Photo").error(function(){K.title=!1,e(Z(X,"Error").html(K.imgError))}).load(function(){var a;R.onload=null,K.scalePhotos&&(d=function(){R.height-=R.height*a,R.width-=R.width*a},K.mw&&R.width>K.mw&&(a=(R.width-K.mw)/R.width,d()),K.mh&&R.height>K.mh&&(a=(R.height-K.mh)/R.height,d())),K.h&&(R.style.marginTop=Math.max(K.h-R.height,0)/2+"px"),y[1]&&(K.loop||y[Q+1])&&(R.style.cursor="pointer",R.onclick=function(){W.next()}),n&&(R.style.msInterpolationMode="bicubic"),setTimeout(function(){e(R)},1)}),setTimeout(function(){R.src=c},1)):c&&B.load(c,K.data,function(b,c){e("error"===c?Z(X,"Error").html(K.xhrError):a(this).contents())})},W.next=function(){!T&&y[1]&&(K.loop||y[Q+1])&&(Q=$(1),W.load())},W.prev=function(){!T&&y[1]&&(K.loop||Q)&&(Q=$(-1),W.load())},W.close=function(){S&&!U&&(U=!0,S=!1,cb(k,K.onCleanup),z.unbind("."+f+" ."+p),q.fadeTo(200,0),r.stop().fadeTo(300,0,function(){r.add(q).css({opacity:1,cursor:"auto"}).hide(),cb(m),A.remove(),setTimeout(function(){U=!1,cb(l,K.onClosed)},1)}))},W.remove=function(){a([]).add(r).add(q).remove(),r=null,a("."+g).removeData(e).removeClass(g),a(b).undelegate("."+g)},W.element=function(){return a(P)},W.settings=d)})(jQuery,document,window);






/* /managedfe/js/TWC/util/Components.js expireTime 1792 */

'TWC' in window || (window.TWC = {});
/**
 * A library of reusable components. 
 * 
 * Dependencies:
 * 	TWC.Events
 * 	TWC.Location
 * 
 */
(function($) {
	TWC.Components = TWC.Components || {};
	var pkg = TWC.Components,
		Events = TWC.Events,
		_pco = TWC.pco;
	
	Events.setEvent('components_lib_ready');
	
	/*Recent Search Component Events*/
	Events.setEvent('recent_search_selected');
	
	function NormalizeData(data, source) {
		var normalized = [],
			L = TWC.Location;
		$(data).each(function(index, value) {
			var nLoc = L.NormalizeLocation(value, source);
			(nLoc)&&normalized.push(nLoc);
		});
		
		return normalized;
	} 
	
	pkg.Functions = {
		LocObjsAsUnorderedList : function(source, locObjs) {
			var $ul = $(document.createElement("ul")),
				arr = NormalizeData(locObjs, source),
				L = TWC.Location;
			if( source ) $ul.attr('data-source', source);
			for (i=0;i<arr.length;i++) {
				var $li = $(document.createElement('li')),
					r = arr[i],
					data = {};
		
				if (i==0) {
					$li.addClass('twc-first');
				} else if (i == arr.length-1) {
					$li.addClass('twc-last');
				}
				
				$li.addClass('wx-truncated');
				data['tabindex'] = i;
				data['data-lockey'] = L.LocRefFromLocationData(r);
				if(r.addr) data['data-addr'] = r.addr;
				data['data-locid'] = r.locid || '';
				data['data-loctype'] = r.loctype || '';
				data['data-country'] = r.country || '';
				data['data-country-name'] = r.countryName || '';
				data['data-lat'] = r.lat||'';
				data['data-lon'] = r.lon||'';
				if( r.hkey ) data['data-hkey'] = r.hkey;
				
				if( 'recentsearch' != source ) {
					$li.attr('trackType', 'action');
				}
	
				data['data-search'] = L.SearchValueFromLocData(r);
					
				$li.text(L.BestSearchResultLabelFromLocData(r));
				
				$li.attr(data);
				
				$li.appendTo($ul);
			}
				
			return $ul;
		}
	};
	
	pkg.ShowHide = function(container) {
		this.$_container = $(container);
		this.timerID=undefined;
	};
	
	pkg.ShowHide.prototype = {
		events : [],
		show : function( contents ) {
			if( this.timerID ) clearTimeout(this.timerID);
			var c = this.$_container,
				_self = this;
			c.html("");
			contents.appendTo(c);
			c.show();
			this.startAutoHide(true);
			return this;
		},
		// Convenience method to execute a function in the context of the this object's container element.
		// Injecting one-time behavior
		execute : function(f) {
			var _self = this;
			f&&f.apply(_self.$_container);
		},
		// Convenience method to delegate behavior onto this object
		on : function(evt,elem,handler) {
			var $c = this.$_container;
			$c.on(evt,elem,handler);
		},
		unbind : function(evt) {
			var $c = this.$_container;
			evt&&$c.unbind(evt);
		},
		startAutoHide : function(silent) {
			var _self = this;
			if(!this.timerID) this.timerID = setTimeout(function(){_self.hide(silent);}, 5000);
		},
		stopAutoHide : function() {
			this.timerID&&clearTimeout(this.timerID);
			this.timerID = undefined;
		},
		hide : function(silent) {
			var c = this.$_container;
			if( !silent ) 
				c.trigger('hide');
			c.hide();
			if( this.timerID ) {
				clearTimeout(this.timerID);
				this.timerID = undefined;
			}
		},
		addHideListener : function(handler) {
			this.$_container.bind('hide', handler);
		}
	};
		
	pkg.RecentSearches = {
		asList :function(showhide) {
			var self = this,
				F = pkg.Functions,
				recentSearches = _pco.get("user.recentSearchLocations")||[],
				locList = F.LocObjsAsUnorderedList('recentsearch', recentSearches),
				$div = $(document.createElement('div')),
				Results = showhide;
		
			$div.html("<h3 class='twc-recent-searches-header'>Recent Searches</h3>");
			$div.addClass(["wx-recentsearch-results"].join(""));
	
			locList.appendTo($div);
			Results.show($div);
			Results.on('click', 'li', function(e) {
				e.stopPropagation();
				Results.hide();
				var ul = $(e.delegateTarget).find('ul'),
				 	dataSource = ul.data('source'),
				 	$target = $(e.target),
				 	locKey = $target.attr("data-lockey"),
				 	address = $target.attr("data-addr"),
				 	lkey = $target.attr("data-hkey"),
				 	search = $target.attr("data-search");
					Events.recent_search_selected.notify({source:datasource,lockey:lockey,/*addr:address,hkey:lkey,*/search:search});
					Results.unbind('click');
			});
		}
	};
	
	Events.components_lib_ready.resolve();
})(jQuery);






/* /managedfe/js/TWC/util/wx-generic-locator.js expireTime 1792 */

(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});
'TWC' in window || (window.TWC = {});
'LocSearch' in TWC || (TWC.LocSearch = {});
/**
 * Location Search Module used for resolving TWC location searches. Does not support enhanced search page.
 * 
 * Depends on: 	TWC.Location
 * 				TWC.Events
 * 				TWC.Components
 * 				TWC.pco
 * 
 * Uses TWC.Components
 * 		ShowHide
 * 		RecentSearches
 * 
 * This module attempts binds to any element with class wx-locsearch-module. 
 * element.wx-locsearch-module is the parent container of the location search module
 * 
 * Additional components expected by this module (nested elements):
 * 		text field: input.wx-locsearch - for entering the search term
 * 		button: button.wx-locsearch - for initiating the search action
 * 
 * Optional components: 
 * 		div: wx-search-results - for showing recent searches, typeahead results and multiple results.
 * 
 */
(function($) {
	//PRIVATE STATIC PRIVILEGED FIELDS
	var pkg = TWC.LocSearch,
		Events = TWC.Events,
		defaultLocSearch = {
			data : {
				loctypes : '1003,1001,1000,1,9,5,11,13,19,20'
				,max : '10'
				,key:'2227ef4c-dfa4-11e0-80d5-0022198344f4'
			}
		},
		_pco = TWC.pco;
	
	function hasSavedLocations() {
		return (_pco.get("user.savedLocations")||[]).length > 0;
	}
	
	function hasRecentSearchLocations() {
		var recentSearchLocations = _pco.get("user.recentSearchLocations")||[];
		return recentSearchLocations.length > 0;
	}
	
	function decorateShowHide(showhide,locsearch) {
		var timerID = undefined;
		showhide.on('mouseover', 'ul', function(e) {
			showhide.stopAutoHide();
		});
		
		showhide.on('mouseout', 'ul', function(e) {
			showhide.startAutoHide();
		});
		
		showhide.on('keydown', 'ul', function(e){ 
			if (e.keyCode === 40 || e.keyCode === 38 || e.keyCode === 13 ) {
				showhide.stopAutoHide();
				var $target = $(e.target);
					switch(e.keyCode){
					case 38: 
						if( $target.prev('li').length < 1 ) {$target.blur();locsearch.focus();showhide.startAutoHide(true);}
						else{ $target.prev('li').focus(); showhide.startAutoHide();};
						break;
					case 40:  
						$target.next('li').focus(); 
						showhide.startAutoHide();	
						break; 
					case 13:
						var item = $target.click();
						break;
				}
				e.preventDefault();
			}  
		});
	}
	
	function LocationSearch(configs) {
			var _self = this,
				container = configs.container,
				Selectors = TWC.LocSearch.Selectors;
			this._container = container;
			
			this._map = configs.map;
			this._locsearch = $.extend(true, {}, defaultLocSearch.data, configs.locsearchOverrides||{});
			this._configs = configs.location;
			
			this.action = $(Selectors.SEARCH_ACTION_SELECTOR, container);
			this.searchfield = $(Selectors.SEARCHFIELD_SELECTOR, container);
			this.form = $('form', container);
			
			this.metrics = configs.metrics&&(container.data("metrics")||undefined);
			this._settings = {};
			this.typeaheadTimerID = undefined;
			this.init();
	};
	
	LocationSearch.prototype = {
		init : function() {
			var _self = this,
				Results = this._configs.results;
			
			$(this.action).click(
				function(e,data) {
					var evt = e,
						evtData = data;
					$.when((function() {
						var $deferred = $.Deferred(),
							hasErrors = (evtData&&evtData.search)?false : _self.checkErrors();
						(hasErrors)&&($deferred.reject());
						(!hasErrors)&&($deferred.resolve());
						return $deferred;
					})()).then(function() {
						_self.onSearch(evt, data);
					}); 
				});
			$(this.searchfield).focus(function(e){ _self.onFocus(e);});
			$(this.searchfield).blur(function(e) { _self.onBlur(e);});
			$(this.searchfield).keyup(function(e) { _self.onKeyup(e);});
			$(this.form).submit( function(e) { e.stopPropagation(); return false; });
			
			Results.addHideListener(function(e) { $(_self.searchfield).focus(); });
			Events.recent_search_selected.progress(function(data){ _self.action.trigger('click', data); });
			Events.locsearch_shown.progress(function(){_self.prompt();});
		},
		onFocus : function(e) {
			(this.typeaheadTimerID)&&clearTimeout(this.typeaheadTimerID);
			//e.preventDefault();
			var $target = $(e.target),
				_self = this,
				C = TWC.LocSearch.Constants,
				_searchString = $target.val(),
				typeaheadactive =$target.data(C.TYPEAHEAD),
				Results = _self._configs.results,
				SC = TWC.LocSearch.StyleClasses;
			
			$target.removeClass(SC.DEFAULT_FONT_CLASS);
			if( this.isPrompt($target) ) {
				$target.val("");
				if( true == typeaheadactive ) {
					this.showRecentSearchs();
				}
			}	
		},
		onBlur : function(e) {
			(this.typeaheadTimerID)&&clearTimeout(this.typeaheadTimerID);
			var $target = $(e.target),
				val = $target.val(),
				SC = TWC.LocSearch.StyleClasses;
				Results = this._configs.results;
			
			if( val == '') {
				$target.val($target.attr('title'));
				$target.addClass(SC.DEFAULT_FONT_CLASS);
			}
		},
		onKeyup : function(e) {
			var C = TWC.LocSearch.Constants,
				$target = $(e.target),
				ta = $target.data(C.TYPEAHEAD),
				Results = this._configs.results;
			
			(this.typeaheadTimerID)&&clearTimeout(this.typeaheadTimerID);
			if(e.keyCode === 13) {
				Results.hide();
				e.preventDefault();
				this.action.click();
			} else if ( e.keyCode === 40 ) {
				Results.execute( function() {
					var $resultsItems = $(this).find("li");
					($resultsItems.length > 0) && $resultsItems[0].focus();
				});
			} else {
				this.searchfield.removeClass('wx-error');
				if(true == $target.data(C.TYPEAHEAD)) {
					var _searchString = $target.val();
					if( !_searchString ) {
						this.showRecentSearchs();
					} else if(_searchString.length >= this._configs.typeahead.minChars) {
						this.autoComplete(e);
					} else {
						Results.hide(true);
					}
				} else {
					Results.hide(true);
				}
			}
		},
		onSearch : function(e,eData) {
			(this.typeaheadTimerID)&&clearTimeout(this.typeaheadTimerID);
			var _self = this,
				L = TWC.Location,
				C = TWC.LocSearch.Constants,
				_evtData = eData,
				_evtSource = (_evtData)?_evtData.source:undefined,
				_evtSearch = (_evtData)?_evtData.search:undefined,
				_locKey = (_evtData)?_evtData.lockey : undefined,
				_evtAddr = (_evtData)?_evtData.addr:undefined,
				_searchfield = this.searchfield.val(),
				_searchString = undefined,
				ds2key = this._locsearch.key,
				source = (_evtSource)?_evtSource : C.LOCSEARCH,
				handler = undefined,
				_map = this._map,
				pageCode = _self.pageCode,
				layerName = '',//_map.View.getActiveLayerName(),
				address = (_evtData&&_evtData.addr)?_evtData.addr:'',
				Results = this._configs.results,
				ldata = {};
			
			(_evtData)&&(_evtData.search)&&this.searchfield.val(_evtData.search);
			
			_searchString = (_locKey)?_locKey:((_evtSearch)?_evtSearch:_searchfield),
			source = (C.TYPEAHEAD==source)?C.LOCSEARCH:source;
			handler = C.LOCSEARCH;
			if( _searchString && (_searchString.toLowerCase().indexOf('new york city')!=-1 || _searchString.toLowerCase().indexOf('new york,')!=-1) ) {
				_searchString = C.LOCID_NYNY;
			}
			
			L.GetDS2LocationDetails(ds2key, _searchString, function(data) {
				if( data["key"] ) {
					_self.gotResults(source,{results : [data]},undefined);
					_self.busy(false);
				} else {
					L.DS2LocSearch(ds2key
							, _searchString
							, function(data) {
								_self.gotResults(C.LOCSEARCH,data,undefined);
								_self.busy(false);}
							,function() {_self.notLocated(C.LOCSEARCH);}
							, {max:10}
					);
				}
			}, function() { _self.notLocated(C.LOCSEARCH); });
			
			Results.hide();
		},
		disable : function() {
			$(this.action).unbind('click');
			$(this.searchfield).unbind('focus');
			$(this.searchfield).unbind('blur');
			$(this.searchfield).unbind('keyup');
		},
		autoComplete: function(e) {
			var _self = this,
				C = TWC.LocSearch.Constants,
				_searchString = $(this.searchfield).val(),
				_tshost = TWC.shosttadomain || "wxdata.weather.com",
			ds2key = this._locsearch.key,
			typeahead = (function(){
				$.when(
					$.ajax({
						url :["http://",_tshost,"/wxdata/ta/",_searchString,".js?"].join(''),
						data : {key:ds2key,locType:'1,9,5,11,13,19,20', max:10},						
						dataType : 'jsonp',
						jsonp : 'cb'
					})
				).then(
					function(data) {_self.gotResults(C.TYPEAHEAD, data);}
				).done(function() {_self.busy(false);});
			});
			this.typeaheadTimerID = setTimeout(typeahead, 500);
		},
		gotResults : function(source, data, additionalLocData) {
			var self = this,
				d = data || {},
				errors = d.errors || [],
				results = d.results || [],
				Results = this._configs.results,
				C = TWC.LocSearch.Constants,
				L = TWC.Location;
	
			if( errors.length > 0 ) {
				Results.hide();
				this.notLocated(source);
			} else if (results.length == 0 && C.TYPEAHEAD != source) {
				this.notLocated(source);
				Results.hide();
			} else if (C.TYPEAHEAD != source && results.length == 1 ) {
				if( C.TRUPOINT == source ) {
					//check valid US address
					var ntpLoc = L.NormalizeLocation(results[0]),
						ds2key = this._locsearch.key;
					L.GetDS2LocationDetailsFromLatLon(ds2key,ntpLoc.lat,ntpLoc.lon, function(data) {
						if( 'US' != data.countryCode ) self.notLocated(source);
						else {
							self.gotLocationResults($.extend(data,ntpLoc), C.TRUPOINT, {source: C.TRUPOINT});
						}
					}).fail(function() {
						self.notLocated(source);
						TWC.Tools.getEvent(['addLocation_failed']).resolve();
					});
					return;
				}
				this.gotLocationResults(results[0],source, additionalLocData);
			} else {
				if ( C.TYPEAHEAD == source ) {
					this.showTypeAheadResults(results);
				} else if ( C.LOCSEARCH == source ) {
					this.located(results);
				}
			}
		},
		gotLocationResults : function(data, source, additionalLocData) {
			if ( data ) {
				var L = TWC.Location,
					locObj = L.NormalizeLocation($.extend({},(additionalLocData||{}),data)),
					Results = this._configs.results,
					S = TWC.LocSearch.Selectors,
					SC = TWC.LocSearch.StyleClasses,
					C = TWC.LocSearch.Constants,
					self = this,
					metrics = self.metrics;
				
				if( !locObj ) return;
				
				L.GetLocationDetails(key, L.LocRefOrLatLon(locObj), function(data) {
					var lat = data.lat,
						lon = data.lon,
						loc = ($.extend(data,locObj,{lat:lat,lon:lon})),
						meOrMyParent = $(self._container).parent('[data-module-track]') ? $(self._container).parent('[data-module-track]') : $(self._container),
						moduleTrack = meOrMyParent.data('module-track');
					Results.hide();
					Events.locsearch_location_resolved.notify({locator:self,location:loc});
					TWC.Tools.getEvent(['addLocation_resolved']).resolve({locator:self,location:loc});
				//	metrics&&sc_trackAction(window,[metrics,moduleTrack,"locsearch-success"].join("-"),null);
				});
			} 
			
			$(S.SEARCH_CONTAINER_SELECTOR).removeClass(SC.EXPANDED_CLASS);
		},
		located : function(data) {
			var results = data,
				resultMatch,
				numOf1Scores = 0;
			
			for (i=0; i<results.length; i++) {
            	var rs = results[i];
            	if (rs.score == 1.0) {
            		resultMatch = rs;
            		numOf1Scores++;
            	}
	        }
			if ( numOf1Scores == 1 ) {
				this.gotLocationResults(resultMatch);
			} else if( ( numOf1Scores > 1 || data.length > 1 ) ) {
				this.showSearchResults(data);
			} 
		},
		showSearchResults : function(data) {
			var _self = this,
				C = TWC.LocSearch.Constants,
				F = TWC.Components.Functions,
				Results = this._configs.results;
			if( data && data.length ) {
				Results.show(F.LocObjsAsUnorderedList(C.LOCSEARCH,data));
				Results.on('click','li', function(e) {
					 e.stopPropagation();
					 Results.hide();
					 var ul = $(e.delegateTarget).find('ul'),
					 	 dataSource = ul.data('source'),
					 	 $target = $(e.target),
					 	 locKey = $target.attr("data-lockey"),
					 	 search = $target.attr("data-search");
					 _self.action.trigger('click', {source:dataSource,lockey:locKey,search:search});
					 Results.unbind('click');
					});
			}
		},
		showRecentSearchs : function() {
		/*	Based on confirmation from Braves Knights team, we would never use a light box showing a list of recent searches
		 * the below code is actually triggering some js error in Components.js when implementing add a location 
		 * if( !hasRecentSearchLocations() ) { 
				this._configs.results.hide();
				return;
			}
			var _self = this,
				Components = TWC.Components,
				Results = this._configs.results;
				Components.RecentSearches.asList(_self);
				*/
		},
		showTypeAheadResults : function(data) {
			var _self=this,
				C = TWC.LocSearch.Constants,
				F = TWC.Components.Functions,
				Results = this._configs.results;
				
			if( data && data.length )
				Results.show(F.LocObjsAsUnorderedList(C.TYPEAHEAD,data));
			Results.on('click','li',function(e) {
				 e.stopPropagation();
				 Results.hide();
				 var ul = $(e.delegateTarget).find('ul'),
				 	 $target = $(e.target),
				 	 dataSource = ul.data('source'),
					 locKey = $target.attr("data-lockey"),
					 search = $target.attr("data-search");
				 _self.action.trigger('click', {source:C.TYPEAHEAD,lockey:locKey,search:search});
				 Results.unbind('click');
			});
		},
		clearSearchError : function() {
			var C = TWC.LocSearch.StyleClasses;
			if(this.searchfield.val() == this.searchfield.data('error') ||
					this.searchfield.val() == this.searchfield.data('no-results')) {
				this.searchfield.removeClass(C.ERROR_CLASS);
				this.searchfield.val(this.searchfield.attr('title'));
			}
		},
		clearErrors : function() {
			this.clearSearchError();
		},
		checkErrors : function() {
			var C = TWC.LocSearch.StyleClasses,
				error = false;
			// only search field visible and prompt or error prompt
			var prompt = this.searchfield.val() == this.searchfield.attr('title'),
				errorprompt = this.searchfield.val() == this.searchfield.data('error'),
				noresultsprompt = this.searchfield.val() == this.searchfield.data('no-results');
			if( prompt || errorprompt || noresultsprompt) {
				this.searchfieldError();
				error = true;
			}
			return error;
		},
		searchfieldError : function () {
			var C = TWC.LocSearch.StyleClasses;
			(!this.searchfield.hasClass(C.ERROR_CLASS))&&this.searchfield.addClass(C.ERROR_CLASS);
			this.searchfield.val(this.searchfield.data('error'));
		},
		isPrompt : function($field) {
			var noresult = $field.data('no-result'),
				error = $field.data('error'),
				title = $field.attr('title'),
				val = $field.val();
			
			if(val=='') return false;
			if( error && val == error ) {
				return true;
			} else if( noresult && val == noresult) {
				return true;
			} else if( title && val == title ) {
				return true;
			}
			
			return false;
		},
		notLocated : function(source) {
			var C = TWC.LocSearch.StyleClasses,
				metrics = this.metrics,
				meOrMyParent = $(this._container).parent('[data-module-track]') ? $(this._container).parent('[data-module-track]') : $(this._container),
				moduleTrack = meOrMyParent.data('module-track');
			(!this.searchfield.hasClass(C.ERROR_CLASS))&&this.searchfield.addClass(C.ERROR_CLASS);
			this.searchfield.val(this.searchfield.data('no-results'));
			metrics&&sc_trackAction(window,[metrics,moduleTrack,"locsearch-failed"].join("-"),null);
		},
		prompt : function() {
			this._configs.results.hide(true);
			this.clearErrors();
			this.searchfield.val(this.searchfield.attr('title'));
			this.searchfield.addClass(TWC.LocSearch.StyleClasses.DEFAULT_FONT_CLASS);
		},
		focus : function() {this.searchfield.focus();},
		busy : function(state) {}
	};

	TWC.LocSearch.StyleClasses = {
		LOCATION_CONTAINER_CLASS : 'wx-locsearch-module',
		SEARCH_CONTAINER_CLASS : 'wx-search',
		RESULTS_CONTAINER_CLASS : 'wx-search-results',
		EXPANDED_CLASS : 'wx-expanded',
		DEFAULT_FONT_CLASS : 'wx-placeholder',
		HIDDEN_CLASS : 'wx-hide',
		ERROR_CLASS : 'wx-error',
		CLICKABLE_CLASS : 'wx-clickable',
		EXPANDED_CLASS : 'wx-expanded'
	};
	
	TWC.LocSearch.Selectors = {
		LOCATION_CONTAINER_SELECTOR : ['.',TWC.LocSearch.StyleClasses.LOCATION_CONTAINER_CLASS].join(""),
		SEARCH_CONTAINER_SELECTOR : ['.',TWC.LocSearch.StyleClasses.SEARCH_CONTAINER_CLASS].join(""),
		SEARCHFIELD_SELECTOR : 'input.wx-locsearch',
		SEARCH_ACTION_SELECTOR : 'button.wx-locsearch',
		RESULTS_CONTAINER_SELECTOR : ['.',TWC.LocSearch.StyleClasses.RESULTS_CONTAINER_CLASS].join(""),
		PINME_CONTAINER_SELECTOR : ['.',TWC.LocSearch.StyleClasses.PINME_CONTAINER_CLASS].join(""),
		PINME_ACTION_SELECTOR : ['.',TWC.LocSearch.StyleClasses.PINME_ACTION_CLASS].join("")
	};
	
	TWC.LocSearch.Constants = {
			LOCSEARCH : 'locsearch'
			,TYPEAHEAD : 'typeahead'
			,SAVEDLOCATION : 'savedlocation'
			,LOCID_NYNY : 'USNY0996:1'
			,LOCSEARCH_LIBRARY_LOADED: 'locsearch_lib_loaded'
			,LOCSEARCH_READY: 'locsearch_ready'
			,LOCATION_RESOLVED: 'locsearch_location_resolved'
			,LOCSEARCH_SHOWN: 'locsearch_shown'
	};
	
	/*Register Events*/
	Events.setEvent(TWC.LocSearch.Constants.LOCSEARCH_READY);
	Events.setEvent(TWC.LocSearch.Constants.LOCSEARCH_LIBRARY_LOADED);
	Events.setEvent(TWC.LocSearch.Constants.LOCATION_RESOLVED);
	Events.setEvent(TWC.LocSearch.Constants.LOCSEARCH_SHOWN);
	
	$(document).ready(function() {
		var Selectors = TWC.LocSearch.Selectors,
			Components = TWC.Components,
			$locatorElements = $(Selectors.LOCATION_CONTAINER_SELECTOR);
		$locatorElements.each(function() {
			var $locatorElement = $(this)
			,metrics = $(this).data('metrics')
			,$resultsContainer = $(Selectors.RESULTS_CONTAINER_SELECTOR, $locatorElement)
			,showhide = $resultsContainer?new Components.ShowHide($resultsContainer):undefined
			,configs = {
				container:$locatorElement
				,metrics:metrics
				,results_container: $resultsContainer
				,location:{ 
					typeahead : {
						timerID : null
						,delay : 500
						,minChars : 3
					}
					,results: showhide
			}};
			// decorate showhide with locator-specific behavior
			decorateShowHide(showhide,new LocationSearch(configs));
		});
		Events.locsearch_ready.resolve();
	});
	
	Events.locsearch_lib_loaded.resolve();
})(jQuery);






/* /managedfe/js/TWC/class/impl/typeahead_hp.js expireTime 1792 */

'TWC' in window || (window.TWC = {});
(function($){
	var pkg = TWC;
	var TWC_temp =  TWC_temp || {};

	/**
	 * typeahead constructor
	 * @param options: param object
	 */
	pkg.Typeahead_HP = function(options) {
		this.options = {
			mainNavID: '#wx-hp_lightbox_search',
			fwdURL:"#",
			control:"#typeaheadBox_hp",
			container:".wx-lbox-searchCntr",
			searchButton : '.wx-locsearch-btn',
			searchForm :'.wx-lbox-search-form',
		};
		
        this.options = $.extend(this.options, options);
        
        // call super constructor
        pkg.Typeahead.call(this,this.options);
	};
	
	// Define prototype methods/members
	pkg.Typeahead_HP.prototype = {
			
			init: function() {
				//adding specific selectors for lightbox typeahead
		    	this.$typeahead = $(this.options.mainNavID + ' input.' + this.options.control);
		    	this.$typeaheadDropdown = $(this.options.mainNavID + " " + this.options.typeaheadClass);
		    	
				var	params = ["max=",this.options.maxResult,"&key=",this.options.ds2Key,"&locType="+this.options.loctypes+"&cb=?"].join(''),
				url = "",
				$input = this.$typeahead,
				$mainNav = $(this.options.mainNavID),
				thisInstance = this,
				$taDD = this.$typeaheadDropdown,
				$searchForm = $(this.options.searchForm),
				$searchButton = $(this.options.searchButton);
				
				$rsBox = this.options.rsBox;
				var self = this;
				this.forwardURL = this.options.fwdURL;
				// Start typeahead based on keystrokes
				$input.keyup($.proxy(function(e) {
					if(e.keyCode !== 13) {
//						this.searchByString();
//					} else {
						if($input.val().length >= this.options.minChars) {
							clearTimeout(this.options.timerID);
							this.autoComplete(params);
						} else {
							$taDD.empty();
						}
					}
				}, this));
				
				// Hide typeahead results when mouse is not hovering over it 
				// Set it up first time on mouseleave, then unbind setup
//				$input.mouseleave(function(e){
//					$taDD.hover(null,function(e){
//						$taDD.empty();
//	                    $taDD.addClass('wx-hide');
//					});
//					$input.unbind("mouseleave");
//				});
				
				TWC.Tools.ifEventReady(['lightbox_closed']).progress(function(locDataObj){	
					$taDD.empty();
                    $taDD.addClass('wx-hide');
				});

				var self = this;
				// Click event for typeahead results
				$taDD.on("click keypress","ul>li",function(e){	
					var doit = ('click'==e.type)||((e.which == 13)); //list-item clicked or received enter keypress
					if(doit) {
						e.preventDefault();
						//self.resolveLocation(self.options.ds2Key,$(this).attr('key'));
						// search by locid/zip
						var key=  $(this).attr('key') + ":" + $(this).attr('type');
						TWC.Location.GetDS2LocationDetails(self.options.ds2Key,key, function(data){
							self.gotLocationResults(data, undefined);
						});
					}
				});
			
				
				//Typeahead arrow key navigation  
				$input.keydown(function(e){  
					var hasResults = $taDD.find("ul");
					if(self.$typeahead.val() == self.$typeahead.attr('data-error')){
						self.$typeahead.val('');
						$input.focus();
					}
					if (e.keyCode === 40 && hasResults.length > 0 ) {
						var $resultsItems = $taDD.find("li"),
							$resultsTotal = $resultsItems.length-1;
						 	currentIndex = 0;
						e.preventDefault();
				        $resultsItems[currentIndex].focus();
						return currentIndex;
					} else if (e.keyCode == 13){
						var key=  self.$typeahead.val();
						if(key != ""){
							TWC.Location.GetDS2LocationDetails(self.options.ds2Key,key, function(data){				
								if(data.type!=1002){
									self.gotLocationResults(data, undefined);
								}else{
									TWC.Location.DS2LocSearch(self.options.ds2Key, key, function(data){
										if(data.errors.length == 0 && data.results.length > 0){
											self.gotLocationResults(data.results[0], undefined);
										}else{
											self.$typeahead.val(self.$typeahead.attr('data-error'));
										}
										
									});
								}	
							});
						}
					} 
				});

				$taDD.keydown(function(e){ 
					if (e.keyCode === 40 || 38) {
						var $resultsItems = $taDD.find("li"),
							resultsTotal = $resultsItems.length-1; 	
						e.preventDefault(); 
						switch(e.keyCode){
							case 38:
								if (currentIndex > 0){
										currentIndex-=1;
										$resultsItems[currentIndex].focus(); 
									} else {
										currentIndex=0;
										$input.focus();
									}  
								break;
							case 40:  
								currentIndex < resultsTotal ? currentIndex+=1 : resultsTotal; 
								$resultsItems[currentIndex].focus();    
								break; 
							case 13:
								var item = $resultsItems[currentIndex],
									locid = $(item).attr('key'),
									type = $(item).attr('type'),
									locIdType = locid + ':' +type;
								TWC.Location.GetDS2LocationDetails(self.options.ds2Key,locIdType, function(data){
									self.gotLocationResults(data, undefined);
								});
								break;
						}
						return false;  	
					}  
				});  
				
		        
				
				
				
                $searchButton.click(function(){        
                	var key=  self.$typeahead.val();
					if(key != ""){
						TWC.Location.GetDS2LocationDetails(self.options.ds2Key,key, function(data){				
							if(data.type!=1002){
								self.gotLocationResults(data, undefined);
							}else{
								TWC.Location.DS2LocSearch(self.options.ds2Key, key, function(data){
									if(data.errors.length == 0 && data.results.length > 0){
										self.gotLocationResults(data.results[0], undefined);
									}else{
										self.$typeahead.val(self.$typeahead.attr('data-error'));
									}
									
								});
							}	
						});
					}
				});
			
			},
			
			autoComplete: function(params) {
				var _tshost = TWC.shosttadomain || "wxdata.weather.com";
				var json;
				var url = ["http://",_tshost,"/wxdata/ta/",this.$typeahead.val(),".js?",params].join(''),
					self = this,
					typeahead = (function() {
						$.getJSON(url, function(data) {
							var html = '<ul>', temp;
							if($rsBox != undefined && $rsBox != ""){
								$rsBox.addClass('wx-hide');
							}
							json = data.results;
							$.each(json, function(i, obj) {
								temp = (obj.country === 'US') ? ", " + obj.state : "";
								html += "<li class='wx-truncated' tabindex='0' key='" + obj.key + "' type='"+obj.type+"' onclick=''>" + obj.name + temp + ", " + obj.countryName + "</li>";
							});
							html += "</ul>";
							self.$typeaheadDropdown.empty();
							self.$typeaheadDropdown.append(html);
                            self.$typeaheadDropdown.removeClass('wx-hide');
							if(html === "") {
								// Nothing found from typeahead, perform a string search for now
								// NOTE: Need requirement to 
								self.searchByString();
							}
						}); 
					});
				this.options.timerID = setTimeout(typeahead, this.options.delay);
			},
			
			searchByString: function() {
				var _tshost = TWC.shosttadomain || "wxdata.weather.com";
				var json;
				var	params = ["max=",this.options.maxResult,"&key=",this.options.ds2Key,"&locType="+this.options.loctypes+"&cb=?"].join(''),
				 	url = ["http://",_tshost,"/wxdata/locsearch/",this.$typeahead.val(),".js?",params].join(''),
					self = this;
				$.getJSON(url, function(data) {
					var html = "", temp;
					json = data.results;
					try {
						if(json.length > 1) {
							self.gotLocationResults(json[0], undefined);						
						} else if(json.length == 1) {
							//self.forwardURL(json[0].key || json.parentLoc || json.zip);
							self.gotLocationResults(json[0], undefined);
						} else {
							if(isNaN(self.$typeahead.val())) {
								html += "<li tabindex='0' key='NoResult' onclick=''>No result, please try again.</li>";
								self.$typeaheadDropdown.html(html);
							} else {
								self.searchByZip();
							}
						}
					} catch(e) {
						// do something if need to
					}
				});
				
			},

			gotLocationResults : function(data, additionalLocData) {
				if ( data ) {
					var L = TWC.Location,
						locObj = L.NormalizeLocation($.extend({},(additionalLocData||{}),data)),
						S = TWC.LocSearch.Selectors,
						SC = TWC.LocSearch.StyleClasses,
						C = TWC.LocSearch.Constants,
						self = this;
					
					if( !locObj ) return;
					
					L.GetLocationDetails(self.options.ds2Key, L.LocRefOrLatLon(locObj), function(data) {
						var lat = data.lat,
							lon = data.lon,
							loc = ($.extend(data,locObj,{lat:lat,lon:lon}));
					//	Results.hide();
					//	Events.locsearch_location_resolved.notify({locator:self,location:loc});
						TWC.Tools.getEvent('addLocation_resolved').notify({locator:self,location:loc});
						this.$typeahead = '';
					//	metrics&&sc_trackAction(window,[metrics,moduleTrack,"locsearch-success"].join("-"),null);
					});
				} 
				
			},
			
			
			searchByZip: function() {
				var self = this;
				//search by Zip
				TWC.Location.GetDS2LocationDetails(self.options.ds2Key,self.$typeahead.val(), function(data){
					self.gotLocationResults(data, undefined);
				});				
				
				
				
				
				
			},
			
		
	};
	
})(jQuery);







/* /managedfe/js/TWC/util/contentLoader.js expireTime 1792 */

//Content-loader
(function($) {
	'TWC' in window || (window.TWC = {});
	TWC.ContentLoader = TWC.ContentLoader || {};

	$.extend(true,TWC.ContentLoader, {
		config: {
			// triggerElementId:"section2",
			// triggerPixelValue:"800",
			// lazyLoadContent:"true",
			// lazyLoadUrlOverride:"false"
		},
		isVisible: function(){
			var $window = $(window);
			var $target = $('#'+TWC.ContentLoader.config.triggerElementId);
			if ($target.length == 0) return false;
			var scrollTargetPosition=$target.position().top || TWC.ContentLoader.config.triggerPixelValue;
			var windowPositionTop=$window.scrollTop();
			var viewportHeight =$window.height();
			var scrollPositionBottom = windowPositionTop + viewportHeight;
			return scrollPositionBottom >= scrollTargetPosition;
		},
		init: function(){
			var lazyLoad = TWC.ContentLoader.config.lazyLoadUrlOverride == 'true' ? true : (TWC.ContentLoader.config.lazyLoadContent == 'true');
			if (!TWC.device.isTouch && lazyLoad){
				if (TWC.ContentLoader.isVisible()) {
					TWC.Tools.ifEventReady([ 'story_package_ready' ]).then(function(res) {
						TWC.Tools.getEvent('below_the_fold').resolve();
					});
				}

				$(window).on('TWC.scroll TWC.resize',function() {
					if (TWC.ContentLoader.isVisible()) {
						TWC.Tools.ifEventReady([ 'story_package_ready' ]).then(function(res) {
							TWC.Tools.getEvent('below_the_fold').resolve();
						});
					}
				});
			}
		}
	});
	$(document).ready(function(){
		TWC.ContentLoader.init();
	});
})(jQuery);






/* /managedfe/js/TWC/util/HP_DashboardUtils.js expireTime 1792 */

'TWC' in window || (window.TWC = {});
/**
 * 
 * A library for managing and resolving TWC locations
 * 
 */
(function($) {
	var _pco = TWC.pco,
		_sdynhost = TWC.sdynhost || "d.imwx.com",
		_tshost = TWC.shosttadomain || "wxdata.weather.com";

	TWC.DashboardUtils = {
		/** NOTE
		 *  TODO:  This entire functionality should really be put into a separate controller, I have started the work here hpdl-controller.js
		 *  Since there are inter-dependency of the exist code above, it's gonna require sometime to do this
		 *  I will leave this for later to do
		 */
		/** whatIsLoaed mapping:
		 * 0: stories
		 * 1: NWS alerts
		 * 2: Local dma/state stories (fall back on local video forecast)
		 * 3: Precip alert map if pop>60% check radar map?
		 * 4: Between 7-9am and 4-6pm show traffic map
		 * 5: Pollen is nice to have
		 * 
		**/
	
		priority: {
			'alertsData': 0,
			'severeLocalStory': 1,
			'severeNationalStory': 2,
			'localDMAStory': 3,
			'precip': 4,
			'localDMAVideo': 5,
			'trafficCam': 6,
			'regionalDMAVideo': 7,
			'radarMap': 8,
            'noData' : 9
		},
		
		priorityType: [
		    "National Weather Service Alerts", 
		    "severe local dma story", 
		    "Nationally significant Severe Weather Stories",
		    "local dma story",
			"Precip alert with map",
			"Forecast video",
			"Commuter cast map",
			"Regional Video Forecast",
			"Radar map",
            "No data"
		],
		
		// Some of the following variables may no longer be needed, clean up later
		obsDataForAllLocs: [],
		alertsData: [],
		geoStoryData: [],
		geoSevereStoryData: [],
		nationalSevereStoryData: [],
		videoForecastData: [],
		regionalVideoForecastData:[],
		whatIsLoaded: {},
		maxSlots: 3,
		precipForecastData:[],
		IsConus : function(loc) {
			return isConus(loc);
		},

		// check if location already exists in the location object array
		CheckIfLocExistsInArray : function(locObjArray, loc){
			var flag = false;
			if(typeof loc !== 'undefined'){
				var zipLoc = loc.zip;
				var currentLocId = loc.locid || loc.locId;
				$.each(locObjArray,function(key,locObj){
					var locid = locObj.locId || locObj.locid;
					var zip  = locObj.zip || locObj.locData.zip;
					if(locObj.country == 'US'){
						if(zipLoc == zip ){
							flag = true;
						}
					}else{
						if(locid == currentLocId){
							flag = true;
						}
					}
					
				});
			
			}
			return flag;
		
		},
		
		//combine the saved locations and recent searches in that order or priority
		CombineSavedAndRecentLocs : function(){
			var savedLocs = TWC.pco.get("user.savedLocations") || null;
			var recentSearches = TWC.pco.get("user.recentSearchLocations") || null;
			var savedAndRecentLocs = [];
			
			if(savedLocs != null){
				$.each(savedLocs, function(savedLocsKey, savedLoc){
					savedAndRecentLocs.push(savedLoc);
				});
			}
			
 			if(recentSearches != null){
				for(var i=0; i<recentSearches.length; i++){
					var flag = TWC.DashboardUtils.CheckIfLocExistsInArray(savedAndRecentLocs, recentSearches[i]);
 					if(flag == false){
						savedAndRecentLocs.push(recentSearches[i]);
 					}
				}
 			}			
			return savedAndRecentLocs;
		},
			
		// Method to get the combination of obs and alerts data for one or more locations 
		GetObsAndAlertsDataForLocs : function(ds2key, locObjArray, locationAdded) {
			this.getObsAndAlertData(ds2key, locObjArray);
		},
		
		/**
		 * Prepare batch ajax objects for Obs and Alerts
		 * @param ds2key
		 * @param locObjArray
		 */
		getObsAndAlertData: function(ds2Key, locObjArray) {
			var ds2Array = [];
			var self = this;
			var grp = TWC.ds2Call.randomCallbackGrp();
			ds2Array.push.apply(ds2Array, this.getObsData(locObjArray, grp, ds2Key));
			ds2Array.push.apply(ds2Array, this.getAlertData(locObjArray, grp, ds2Key));
			ds2Array.push.apply(ds2Array, this.getPollenAlertData(locObjArray, grp, ds2Key));

			TWC.ds2Call.batch(ds2Array, 5000).done(function(e) {			
			}).fail(function(e,a,b,c) {
				//console.log('ObsAlertsDS2CALL failed');
			}).always(function(e,a,b,c) {
				//console.log('complete');
			}).done(function(e,m,s) {
				//console.log('ObsAlertsDS2CALL done');
			});
		},
		
		
		getGeoStory:function(location, grp, limit, maxAge, ds2Key){
			var ds2Array = [];
			var dmaKey = location.dma + ","+ location.state;
			var data = $.proxy(function() {
				return {geoStoryData:this.geoStoryData, geoSevereStoryData:this.geoSevereStoryData};	
			},this);
			var args = {actualCallback: TWC.DashboardUtils.getGeoStoryCallback, key: {location: location, dma: dmaKey}, grp: grp, evt2Fire: 'ds2_batch_complete', data: data};
			var param = {url : ['http://',_tshost,'/wxdata/lfcArticles/get.js'].join(""),
						 data : {key: ds2Key, tag: 'geo', category: dmaKey, limit: limit, maxAge: maxAge, showTeaser:"true"},
						 dataType : 'jsonp',
						 jsonp : 'cb',
						 jsonpCallback: TWC.ds2Call.randomCallback.call(this,args)};
			ds2Array.push(param);
			return ds2Array;
		},
		
		getVideoForecast: function(location, grp, ds2Key) {
			var locId = location.locid.indexOf(':') == -1 ? location.locid : location.locid.substring(0, location.locid.indexOf(':'));
			var ds2Array = [],
				priority = this.priority;
			var data = $.proxy(function() {
				return {videoForecastData: this.videoForecastData};	
			},this);
			var args = {actualCallback: TWC.DashboardUtils.getVideoForecastCallback, key: {location: location, priority: 'localDMAVideo'}, grp: grp, evt2Fire: 'ds2_batch_complete', data: data};
			var param = {url : ['http://',_tshost,'/wxdata/video_fcst/',locId,'.js'].join(""),
						 data : {key: ds2Key},
						 dataType : 'jsonp',
						 jsonp : 'cb',
						 jsonpCallback: TWC.ds2Call.randomCallback.call(this,args)};
			ds2Array.push(param);
			return ds2Array;
		},
		
		getDailyForecast: function(location, grp, ds2Key) {
//			var locId = location.locid.indexOf(':') == -1 ? location.locid : location.locid.substring(0, location.locid.indexOf(':'));
			var ds2Array = [],
				priority = this.priority;
			var data = $.proxy(function() {
				return {precipForecastData: this.precipForecastData};	
			},this);
			var locId = location.locid.indexOf(':') == -1 ? location.locid : location.locid.substring(0, location.locid.lastIndexOf(':'));
			var args = {actualCallback: TWC.DashboardUtils.getDailyForecastCallback, key: {location: location, priority: 'precip'}, grp: grp, evt2Fire: 'ds2_batch_complete', data: data};
			var param = {url : ['http://',_tshost,'/wxdata/df/',locId,'.js'].join(""),
						 data : {},
						 dataType : 'jsonp',
						 jsonp : 'cb',
						 jsonpCallback: TWC.ds2Call.randomCallback.call(this,args)};
			ds2Array.push(param);
			return ds2Array;
		},
		
		getNationalSevereStory:function(location, grp, limit, maxAge, ds2Key){
			var ds2Array = [],
				priority = this.priority;
			var data = $.proxy(function() {
				return {nationalSevereStoryData:this.nationalSevereStoryData};	
			},this);
			var args = {actualCallback: TWC.DashboardUtils.getNationalSevereStoryCallback, key: {location: location, priority: 'severeNationalStory'}, grp: grp, evt2Fire: 'ds2_batch_complete', data: data};
			var param = {url : ['http://',_tshost,'/wxdata/lfcArticles/get.js'].join(""),
						 data : {key: ds2Key, tag:'severity', category: '1,2', limit: limit, maxAge: maxAge, showTeaser:"true"},
						 dataType : 'jsonp',
						 jsonp : 'cb',
						 jsonpCallback: TWC.ds2Call.randomCallback.call(this,args)};
			ds2Array.push(param);
			return ds2Array;
		},
		
		getObsData: function(locObjArray, grp, ds2Key) {
			this.obsDataForAllLocs = {};
			var ds2Array = [];
			var unit = TWC.pco.get('user').unit;
			$.each(locObjArray, $.proxy(function(key, loc) {
				var data = $.proxy(function() {
					return {obsData:this.obsDataForAllLocs, alertsData:this.alertsData, pollenAlertData: this.pollenAlertDataForAllLocs};	
				},this);

				var args = {actualCallback: TWC.DashboardUtils.getObsDataCallback, key: key, grp: grp, evt2Fire: 'obs_alerts_allLocs_complete', data: data};
				// trying to remove extra values...jst want the loctype
				var locId = loc.locid.indexOf(':') == -1 ? loc.locid : loc.locid.substring(0, loc.locid.indexOf(':'));
				var locKey = locId + ":" + loc.loctype;
				var param = {url : ['http://',_tshost,'/wxdata/obs_hirad/',locKey,'.js'].join(""),
							 data : {key: ds2Key, units: unit},
							 dataType : 'jsonp',
							 jsonp : 'cb',
							 jsonpCallback: TWC.ds2Call.randomCallback.call(this,args)};
				var alertsData = {numAlerts:0, alertSeverity:0};
				var locData = {lat:loc.lat, lng: loc.lon, type:loc.type||loc.loctype, city: loc.city, state: loc.state, country:loc.country, dma: loc.dma, zip: loc.zip};
				this.obsDataForAllLocs[key] = {locId: locId, type:loc.type||loc.loctype, city: loc.city, state: loc.state, country:loc.country, dma: loc.dma, alertsData: alertsData, locData: loc};

				ds2Array.push(param);
			},this));
			return ds2Array;
		},
		
		getAlertData: function(locObjArray, grp, ds2Key){			
			var locListCS = '', zipListCS = '', comma;
			var ds2Array = [];
			// Loop through the LocObjectArray and generate a comma seperated string of all the locId's
			$.each(locObjArray, function(key, loc){
				if(loc.country == 'US'){
					comma = key == 0 ? '' : ',';	// skip comma for first locid 
					if(loc.loctype == '1'){
						locListCS += comma + loc.locid;
					}else if(loc.loctype == '4'){
						zipListCS += comma + loc.locid;
					}
				}
			});
			
			var data = $.proxy(function() {
				return {obsData:this.obsDataForAllLocs, alertsData:this.alertsData, pollenAlertData: this.pollenAlertDataForAllLocs};	
			},this);
			
			var args = {actualCallback: TWC.DashboardUtils.getAlertDataCallback, key: '', grp: grp, evt2Fire: 'obs_alerts_allLocs_complete', data: data};	
			var param = {
					url : ['http://',_tshost,'/wxdata/wacc_batch/get.js'].join(""),
					data : {key: ds2Key, twcLocList: locListCS, zipList: zipListCS},
					dataType : 'jsonp',
					jsonp : 'cb',
					jsonpCallback: TWC.ds2Call.randomCallback.call(this,args)
			};
			ds2Array.push(param);
			return ds2Array;
		},
		
		getPollenAlertData : function(locObjArray, grp, ds2Key){
			this.pollenAlertDataForAllLocs = {};
			var ds2Array = [];
			$.each(locObjArray, $.proxy(function(key, loc) {
				var data = $.proxy(function() {
					return {obsData:this.obsDataForAllLocs, alertsData:this.alertsData, pollenAlertData: this.pollenAlertDataForAllLocs};	
				},this);

				var args = {actualCallback: TWC.DashboardUtils.getPollenAlertDataCallback, key: key, grp: grp, evt2Fire: 'obs_alerts_allLocs_complete', data: data};
				// trying to remove extra values...jst want the loctype
				var locId = loc.locid.indexOf(':') == -1 ? loc.locid : loc.locid.substring(0, loc.locid.indexOf(':'));
				var locKey = locId + ":" + loc.loctype;
				var param = {url : ['http://',_tshost,'/wxdata/idx/',locKey,'.js'].join(""),
							 data : {key: ds2Key, indexType:'pollen'},
							 dataType : 'jsonp',
							 jsonp : 'cb',
							 jsonpCallback: TWC.ds2Call.randomCallback.call(this,args)};
				ds2Array.push(param);
			},this));
			return ds2Array;
		},
		
		/**
		 * This is a generic ds2Call function to perform package content retrieval
		 * location param is a data object we pass in to create
		 * @param location
		 */
		getLocationData: function(location) {
			var self = this;
			var params, args;
			var myDate=new Date();
			myDate.setDate(myDate.getDate()-2);
			var maxAge= Math.round(myDate.getTime());
			var ds2Array = [];
			var limit=10;
			var grp = TWC.ds2Call.randomCallbackGrp();
			if(typeof location.locid !== 'undefined'){
				for(var i in location.data) {
//					var fSlot = Object.keys(self.whatIsLoaded).length;
//					var maxSlots = self.maxSlots;
//					if(fSlot < maxSlots){
					switch(parseInt(location.data[i])) {
						case this.priority.alertsData:
							break;
						case this.priority.severeLocalStory:
							ds2Array.push.apply(ds2Array, this.getGeoStory(location, grp, limit, maxAge));
							break;
						case this.priority.severeNationalStory:
							ds2Array.push.apply(ds2Array, this.getNationalSevereStory(location, grp, limit, maxAge));
							break;
						case this.priority.localDMAStory:
							break; //we already have data from getGeoStory
						case this.priority.precip:
							ds2Array.push.apply(ds2Array, this.getDailyForecast(location, grp));
							break;
						case this.priority.localDMAVideo:
							ds2Array.push.apply(ds2Array, this.getVideoForecast(location, grp));
							break;
						case this.priority.trafficCam:
		//					TWC.Tools.ifEventReady(['video_callback_complete']).progress(function(){		
								var key = {location: location, priority: 'trafficCam'};
								TWC.DashboardUtils.fillSlot(TWC.DashboardUtils.priority.trafficCam);
								TWC.Tools.getEvent('time_to_build_presentation').notify({}, key);						
		//					});
							break;								

						case this.priority.regionalDMAVideo:
							if(location.data.length <= 1){
								TWC.DashboardUtils.areSlotsFull(location.nextType, location);
							}
				//			this.fillSlot(location.nextType);
							break;//we already have regional video data
						case this.priority.radarMap:
							var key = {location: location, priority: 'radarMap'};
							this.fillSlot(this.priority.radarMap);
							TWC.Tools.getEvent('time_to_build_presentation').notify({}, key);						
							break;
                        case this.priority.noData:
                            var key = {location: location, priority: 'noData'};
                            this.fillSlot(this.priority.noData);
                            TWC.Tools.getEvent('time_to_build_presentation').notify({}, key);
                            break;
					}	
							
//					}
				}
	
				if(ds2Array.length > 0) {
					TWC.ds2Call.batch(ds2Array, 5000).done(function(e) {
				//		console.log('Batch ds2 done');
					}).fail(function(e,a,b,c) {
				//		console.log('batch ds2  failed');
					}).always(function(e,a,b,c) {
						//console.log('batch ds2  complete');
					});
				}
			}
		},
		
		emptyOutSlots: function() {
			this.whatIsLoaded = {};
		},
		
		fillSlot: function(val) {
			this.whatIsLoaded[val] = this.priorityType[val];
		},
		
		areSlotsFull: function(currentSlot, location) {
			var fSlot = Object.keys(this.whatIsLoaded).length,
				slots = [],
				remainingSlots = this.maxSlots - fSlot,
				len = Object.keys(this.priority).length;
			currentSlot = parseInt(currentSlot);
		
			for(var i=0; i<=remainingSlots; i++) {
				var processingSlot=currentSlot + i;
				var videoSlot = false;
				var noDataSlot = false;
				var isUsable=this.isUsableSlot(processingSlot);
				if(isUsable && (processingSlot < len)) {
					$.each(slots, function(key, slot){
						if(slot == 6){
							videoSlot = true;
						}
//						if(slot == 8){
//							noDataSlot = true;
//						}
					});
					if(!(videoSlot && processingSlot == 7) ){
						slots.push(processingSlot);
					}

				}
			}
			if(slots.length > 0) {
				// assign data type array to location.data
				location.data = slots;
				if (fSlot < this.maxSlots){
					location.nextType = slots[slots.length-1]+1;
					this.getLocationData(location);
				}
			} else {
				if (fSlot < this.maxSlots && currentSlot< len){
					this.areSlotsFull(currentSlot + 1, location);
				}
				// fire event slot not full
				TWC.Tools.getEvent('slots_are_not_full').notify({}, {location:location});
			}
			return slots;
		},
		
		isUsableSlot:function(currentSlot){
			 if (currentSlot== this.priority.radarMap) {
				//check if precip tile has loaded, then we can;'t show radar map
				if(this.whatIsLoaded.hasOwnProperty(this.priority.precip)){
						return false;
				}
			}else if (currentSlot== this.priority.regionalDMAVideo) {
				if(this.whatIsLoaded.hasOwnProperty(this.priority.localDMAVideo)){
					return false;
				}
				
			}
			return true;
			
		},
		
		getVideoForecastCallback: function(resObj, key, self) {
			var videoForecastData = {};
			var regionalVideoForecastData={};
			if (resObj && resObj.LocalVideoForecast && typeof resObj.LocalVideoForecast === "object" ){
				videoForecastData=resObj.LocalVideoForecast;
				TWC.Dashboard.locationsMap[key.location.locid].localDMAVideo = videoForecastData;
			}
			else if (resObj && resObj.RegionalVideoForecast && typeof resObj.RegionalVideoForecast === "object" ){
				regionalVideoForecastData=(resObj.RegionalVideoForecast);
			}
			TWC.Dashboard.locationsMap[key.location.locid].localDMAVideo = videoForecastData;
			TWC.Dashboard.locationsMap[key.location.locid].regionalDMAVideo = regionalVideoForecastData;
		
			//adding another video event
		//	TWC.Tools.getEvent('video_callback_complete').notify(key);
			if(!$.isEmptyObject(videoForecastData)) {
				self.whatIsLoaded[self.priority.localDMAVideo] = self.priorityType[self.priority.localDMAVideo];
				key.priority="localDMAVideo";
				TWC.Tools.getEvent('time_to_build_presentation').notify(videoForecastData, key);
			}
			
			else if(!$.isEmptyObject(regionalVideoForecastData)) {
				self.whatIsLoaded[self.priority.regionalDMAVideo] = self.priorityType[self.priority.regionalDMAVideo];
				key.priority="regionalDMAVideo";
				TWC.Tools.getEvent('time_to_build_presentation').notify(regionalVideoForecastData, key);
			}
		},

		getDailyForecastCallback : function(resObj, key, self){
		
			if(resObj['class'] != 'error'){		
				var dfData = resObj[0],precipDataDaypart, precipDataPhrase,
				backgroundMapUrl,wwiText,
				precipForecastData = {};
				precipTrigger = TWC.Dashboard.config.precipAlert || 60;

				if((dfData.day&&dfData.day.pop >= precipTrigger || dfData.night&&dfData.night.pop >= precipTrigger)){
					//console.log("PRECIP alert");
					//setting the correctdayPart data for precip
					if(dfData.day && dfData.day.pop >= precipTrigger){
						wwiText = ['Expect',dfData.day.phrase,'Today'].join(" ");					
					}else{
						wwiText = ['Expect',dfData.night.phrase,'Tonight'].join(" ");					
					}
					
					precipForecastData = {precipPhrase : wwiText};
				}
			}
			self.precipForecastData.push(precipForecastData);
			TWC.Dashboard.locationsMap[key.location.locid].precip = precipForecastData;
			if(!$.isEmptyObject(precipForecastData)) {
				self.whatIsLoaded[self.priority.precip] = self.priorityType[self.priority.precip];
				TWC.Tools.getEvent('time_to_build_presentation').notify(precipForecastData, key);
			}
		},

		
		getObsDataCallback: function(resObj, locKey, self) {
			//create the 'obsdata_complete' event and resolve it passing the response data for success or failure
			var weatherData = resObj;

			self.obsDataForAllLocs[locKey].obsData = resObj;
			self.obsDataForAllLocs[locKey].success = !$.isEmptyObject(resObj);
		},
		
		getAlertDataCallback: function(resObj, locKey, self) {
			self.alertsData = resObj;			
			if(resObj.length > 0) {
			}
		},
		
		getPollenAlertDataCallback: function(resObj, locKey, self) {
			
			var treePollenFound = false, 
				grassPollenFound = false, 
				weedPollenFound = false;
			var currPollenData = {};
			$.each(resObj, function(key, pollenData){
				if(pollenData && pollenData.day && (!treePollenFound || !grassPollenFound || !weedPollenFound)){
					if(pollenData.day.indexType == 'TREEPOLLEN' && !treePollenFound){
						currPollenData.treePollen = parseInt(pollenData.day.value);
						treePollenFound = true;
					}
					if(pollenData.day.indexType == 'GRASSPOLLEN' && !grassPollenFound){
						currPollenData.grassPollen = parseInt(pollenData.day.value);
						grassPollenFound = true;
					}
					if(pollenData.day.indexType == 'WEEDPOLLEN' && !weedPollenFound){
						currPollenData.weedPollen = parseInt(pollenData.day.value);
						weedPollenFound = true;
					}
				}
			});
			
			currPollenData.maxPollenValue = Math.max.apply(Math, [currPollenData.treePollen, currPollenData.grassPollen, currPollenData.weedPollen]);		
			if (currPollenData.maxPollenValue>=3){
                self.obsDataForAllLocs[locKey].pollenAlertData = currPollenData;
	        }else{
                self.obsDataForAllLocs[locKey].pollenAlertData={};
	        }
			
			//console.log("PollenAlertData", currPollenData);

			
		},
		
		getGeoStoryCallback: function(resObj, key, self) {
			//push severe and non severe data separately
			var dloc = TWC.Dashboard.locationsMap[key.location.locid];
			dloc.severeLocalStory={};
			dloc.localDMAStory={};
			
			for (var i=0; i < resObj.length; i++){
				if(!$.isEmptyObject(dloc.severeLocalStory) && !$.isEmptyObject(dloc.localDMAStory)) {
					break;
				}
				var categoryCodes=resObj[i].categoryCodes;
				if($.isEmptyObject(dloc.severeLocalStory)) {
					if (categoryCodes.indexOf("severity")!=-1){
						self.geoSevereStoryData.push(resObj[i]);
						dloc.severeLocalStory = resObj[i];
					}
				}
				if($.isEmptyObject(dloc.localDMAStory)) {
					self.geoStoryData.push(resObj[i]);
					if (categoryCodes.indexOf("severity")<0){
						dloc.localDMAStory = resObj[i];
					}
				}
			}
			
			if(!$.isEmptyObject(dloc.severeLocalStory)) {
				if($.inArray(self.priority.severeLocalStory, key.location.data) >= 0) {
					self.whatIsLoaded[self.priority.severeLocalStory] = self.priorityType[self.priority.severeLocalStory];
					key.priority = "severeLocalStory";
					TWC.Tools.getEvent('time_to_build_presentation').notify(dloc.severeLocalStory, key);
				}
			}
			if(!$.isEmptyObject(dloc.localDMAStory)) { 
				if($.inArray(self.priority.localDMAStory, key.location.data) >= 0) {
					self.whatIsLoaded[self.priority.localDMAStory] = self.priorityType[self.priority.localDMAStory];
					key.priority = "localDMAStory";
					TWC.Tools.getEvent('time_to_build_presentation').notify(dloc.localDMAStory, key);
				}
			}
			
		},
		
		
		getNationalSevereStoryCallback: function(resObj, key, self) {
			var dloc = TWC.Dashboard.locationsMap[key.location.locid];
			dloc.severeNationalStory = {};
			if(resObj[0]) {
				self.nationalSevereStoryData = resObj[0];
				dloc.severeNationalStory = resObj[0];
			}
			if(!$.isEmptyObject(dloc.severeNationalStory)) { 
				self.whatIsLoaded[self.priority.severeNationalStory] = self.priorityType[self.priority.severeNationalStory];
				TWC.Tools.getEvent('time_to_build_presentation').notify(dloc.severeNationalStory, key);
			}
		}
		
	};
	
})(jQuery);







/* /managedfe/js/TWC/class/dashboard/hpdl.controller.js expireTime 1792 */

"undefined"!=typeof window.TWC&&window.TWC||(window.TWC={}),function($){TWC.Dashboard=TWC.Dashboard||{},TWC.Tools.getEvent("hpdl_locations_ready"),$.extend(!0,TWC.Dashboard,{config:{autodetectedLocation:"",autodetectedLoc:!1,preferredLoc:"",autodetect:!1,autoDetectedLocSaved:!1,refreshCurrentModuleSelector:".dl-conditions"},locations:{},locationsMap:{},eventByDevice:TWC.device.isTouch?"hover":"click",hasSavedLocation:function(){var currentUser=TWC.pco.get("user");if(this.config.preferredLoc=currentUser.preferredLocation,"undefined"==typeof this.config.preferredLoc||""===this.config.preferredLoc||!this.config.preferredLoc.locid){var hasRecentSearch=currentUser.recentSearchLocations&&currentUser.recentSearchLocations.length>0,hasSavedLoc=currentUser.savedLocations&&currentUser.savedLocations.length>0;return hasRecentSearch||hasSavedLoc?!0:!1}return this.config.autodetect=!1,!0},hasAutoLocation:function(){if(this.config.autodetectedLocation=TWC.pco.get("user.currentLocation"),"undefined"!=typeof this.config.autodetectedLocation&&this.config.autodetectedLocation.locid){var locid=this.config.autodetectedLocation.locid;return this.config.autodetectedLocation.locid=locid.indexOf(":")?locid.split(":")[0]:locid,this.config.autodetect=!0,!0}return!1},saveAutoLocation:function(location){var self=this;self.config.autodetectedLoc=!1,TWC.pco.setUser("recentSearchLocations",location),self.config.autoDetectedLocSaved=!0,self.loadData()},handleObsAlertsComplete:function(){var self=this;TWC.Tools.ifEventReady(["obs_alerts_allLocs_complete"]).progress(function(locDataObj){var obsData=locDataObj.obsData,alertsData=locDataObj.alertsData;self.locations=self.formatData(obsData,alertsData),$.each(self.locations,function(i,loc){var key=loc.locId+":"+loc.type+":"+loc.country;loc.dlIndex=Object.keys(self.locations).length-parseInt(i),self.locationsMap[key]=loc}),$(self.config.refreshCurrentModuleSelector).html(self.renderSavedLocDataHTML(self.locationsMap))})},loadData:function(){var self=this;if(self.hasSavedLocation()){var savedAndRecentLocs=TWC.DashboardUtils.CombineSavedAndRecentLocs();savedAndRecentLocs.length>10&&savedAndRecentLocs.splice(0,10)}else if(self.hasAutoLocation()){this.saveAutoLocation(self.config.autodetectedLocation),self.config.autodetectedLoc=!0;var newLoc=self.config.autodetectedLocation,key=newLoc.locid+":"+newLoc.loctype+":"+newLoc.country;newLoc.dlIndex=0,self.locationsMap[key]=newLoc}else TWC.Events.autodetectLocEvent.progress(function(){self.loadData()}),TWC.Events.autodetectLocFailEvent.progress(function(){$("#wx-hp-refresh-search").show()})},formatData:function(obsDataObj,alertsDataObj){var unit="e"==TWC.pco.get("user").unit?"F":"C";return!$.isEmptyObject(obsDataObj)&&alertsDataObj.length>0&&$.each(obsDataObj,function(obsKey,obsData){obsData.tempUnit=unit,$.each(alertsDataObj,function(alertsKey,alertsData){if(obsData.locId==alertsData.locId){obsData.alertsData.alertList=alertsData.alertList;var numAlerts=obsData.alertsData.numAlerts;obsData.alertsData.numAlerts=numAlerts,obsData.alertsData.alertSeverity=alertsData.alertList[0].severity}})}),obsDataObj},renderSavedLocDataHTML:function(locObjArray){var wxHtml="",unit=TWC.pco.get("user").unit,pollenAlerts=!1;unit="e"==unit?"F":"C";var tempLoc=locObjArray,numAlerts=0,alertSeverity=0;return $.each(locObjArray,function(key,locObj){var thisLocation="object"==typeof locObj?locObj:tempLoc,wxData=thisLocation.obsData,locUrl=thisLocation.locData.locUrl,dmaKey="";thisLocation.dma&&"nl"!=thisLocation.dma&&(dmaKey="DMA:"+thisLocation.country+"."+thisLocation.dma+":"+thisLocation.country);var forecastURL=locUrl;thisLocation.alertsData&&(pollenAlerts=thisLocation.alertsData.pollenAlert,numAlerts=thisLocation.alertsData.numAlerts>0?thisLocation.alertsData.numAlerts:0,alertSeverity=thisLocation.alertsData.alertSeverity);var wxIconKey=wxData&&wxData.wxIcon>=0?wxData.wxIcon:"",wxIconText=wxData&&wxData.text.length>=0?wxData.text:"",wxHighTemp=wxData&&wxData.highTemp?wxData.highTemp:"",degreeHtml="&deg;";("--"===wxHighTemp||"N/A"===wxHighTemp)&&(degreeHtml="");var wxLowTemp=wxData&&wxData.lowTemp?wxData.lowTemp:"",wxTemp=wxData&&wxData.temp?wxData.temp:"";pollenAlerts&&1==numAlerts&&(alertSeverity=3);var alertsBadgeHtml=0>=numAlerts?"":'<span class="wx-alert-badge level-'+alertSeverity+'">'+numAlerts+"</span>";return wxIconKey=wxData&&wxData.wxIcon>=0?wxData.wxIcon:"44",wxHtml='<ul class="wx-hp-refresh-info"><li class="location"><h2>'+thisLocation.city+'</h2></li><li class="dl-icon"><img class="icon" src="http://s.imwx.com/img/homepage/wx-icons-new/'+wxIconKey+'.png" alt="'+wxIconText+'"></li><li class="current-temp">'+wxTemp+"<sup>&deg;"+unit+"</sup>"+alertsBadgeHtml+'</li><li class="current-cond"><h3>'+wxIconText+'</h3></li><li class="forecast">'+wxHighTemp+degreeHtml+" / "+wxLowTemp+'&deg;<li></ul><div class="forecast-button"><h2><a from="home_PrimaryForecast_button" href="'+forecastURL+'" title="'+wxIconText+'">Full Forecast &rsaquo;</a></h2></div><div class="blur"></div>',!1}),wxHtml},handleLocTabEvents:function(){var self=this;$(self.config.refreshCurrentModuleSelector).on(self.eventByDevice,"ul.wx-hp-refresh-info",function(){$.cookie("fromStr","home_PrimaryForecast_module",{path:"/",domain:"weather.com"});var url=$(this).siblings(".forecast-button").find("a").attr("href");window.location.href=url})},addLocation:function(data){var self=this;self.config.autodetectedLoc&&(self.config.autodetectedLoc=!1,self.locationsMap={});var flag=TWC.DashboardUtils.CheckIfLocExistsInArray(self.locations,data.location);flag||(TWC.Location.SaveRecentSearch(data.location.source,data.location),self.config.newLocAddedId=data.location.locid)},init:function(){this.loadData(),this.handleObsAlertsComplete(),this.handleLocTabEvents()}}),TWC.Events.pcoReady.done(function(){TWC.Dashboard.init()}),TWC.Tools.getEvent("addLocation_resolved").progress(function(data){"undefined"!=typeof TWC.Dashboard&&TWC.Dashboard.addLocation(data)}),TWC.Events.locations_pagelet_ready.progress(function(){if(!$("body").hasClass("refresh-severe")&&"undefined"!=typeof TWC.Dashboard){var obsData=[],allAlertsForLocs=[];collectPageletData=function(element){var alertsListObj,alertsObj,alertListForLoc,self=element,wxPhrase=$(self).attr("data-obs-phrase"),locid=$(self).attr("data-obs-locid"),temp=$(self).attr("data-obs-temp"),highTemp=$(self).attr("data-obs-high-temp"),lowTemp=$(self).attr("data-obs-low-temp"),city=$(self).attr("data-obs-presName"),country=$(self).attr("data-obs-country"),unit=$(self).attr("data-obs-unit"),numAlerts=$(self).attr("data-obs-alerts"),alertSeverity=$(self).attr("data-obs-alertSeverity"),dma=$(self).attr("data-obs-dma"),zip=$(self).attr("data-obs-zip"),state=$(self).attr("data-obs-state"),lat=$(self).attr("data-obs-lat"),lon=$(self).attr("data-obs-lon"),loctype=$(self).attr("data-obs-loctype"),wxIcon=$(self).attr("data-obs-icon-code"),office=$(self).attr("data-obs-office"),phenomenaCode=$(self).attr("data-obs-phenomenaCode"),significanceCode=$(self).attr("data-obs-significanceCode"),nwsAreaId=$(self).attr("data-obs-nwsAreaId"),alertDesc=$(self).attr("data-obs-alertDescription"),alertHeadline=$(self).attr("data-obs-alertHeadline"),alertEtn=$(self).attr("data-obs-alertEtn"),hasPollen="true"==$(self).attr("data-obs-pollen")?!0:!1,dayNight=$(self).attr("data-obs-dayNight"),locUrl=$(self).attr("data-locUrl"),alertListForLocs=[];alertsObj={numAlerts:0,alertSeverity:0},numAlerts>0&&(alertsObj={numAlerts:numAlerts,alertSeverity:alertSeverity,pollenAlert:hasPollen},1==numAlerts&&hasPollen||(alertListForLoc={severity:alertSeverity,nwsAreaId:nwsAreaId,office:office,phenomenaCode:phenomenaCode,significanceCode:significanceCode,description:alertDesc,headlineText:alertHeadline,etn:alertEtn},alertListForLocs.push(alertListForLoc),alertsListObj={locId:locid,alertList:alertListForLocs},allAlertsForLocs.push(alertsListObj)));var locData={city:city,state:state,lat:lat,lng:lon,zip:zip,country:country,countryCode:country,dayNight:dayNight,locUrl:locUrl},newObs={temp:temp,highTemp:highTemp,lowTemp:lowTemp,unit:unit,wxIcon:wxIcon,text:wxPhrase},obsDataObj={locId:locid,type:loctype,city:city,state:state,country:country,dma:dma,locData:locData,obsData:newObs,alertsData:alertsObj,zip:zip};obsData.push(obsDataObj)},$.each($("#wx-saved-location li[data-obs-locid]"),function(){if(!TWC.Dashboard.config.locAdded||$(this).attr("data-obs-locid")==TWC.Dashboard.config.newLocAddedId){var element=this;collectPageletData(element)}}),TWC.Tools.getEvent("obs_alerts_allLocs_complete").notify({obsData:obsData,alertsData:allAlertsForLocs})}})}(jQuery);






/* /managedfe/js/TWC/class/VideoPackage.js expireTime 1792 */

(function($) {
	/**
	 * Gets video collection data
	 */   
	
	TWC.VideoPackage=function(options){
		this.options={
			module_selector:'',
			inner_selector: '.wx-inner',
			ds2Key:'2227ef4c-dfa4-11e0-80d5-0022198344f4',
			maxResult:10,
			manual:'',
			manualLinkerKey:'',
			query:'',
			containerId:'',
			ds2VideoCollectionURL:'/wxdata/video_collection/get.js?',
			linkerServiceURL:"/data/configs?"
		};
		
		 this.options = $.extend(this.options, options);
		 this.options.module_selector = this.options.module_selector.indexOf('#') >= 0 ? this.options.module_selector : '#'+this.options.module_selector;
			
	
		this.init();
		
	};
	
	
	TWC.VideoPackage.prototype = {
			init: function() {
				if (this.options.manual =="true" && this.options.manualLinkerKey!=""){
					this.getLinkerData();
				}else{
					this.getVideo();
				}
			},
	 getVideo: function() {
		if (this.options.query!=undefined && this.options.query!=""){
			var _tshost = TWC.shosttadomain || "wxdata.weather.com";
			var	params = ["limit=",this.options.maxResult,"&key=",this.options.ds2Key,"&subcatid=",this.options.query,"&cb=?"].join('');
			var url = ["http://",_tshost,this.options.ds2VideoCollectionURL,params].join('');
			$.getJSON(url,$.proxy(function(data){ 
				if (data.type!=1000 && data.clips.length>0) {
					this.formatData(data.clips);
				}
			}, this));
		 }	
	 },
	 
	
	 
	 formatData:function(data){
		 $(this.options.module_selector).each($.proxy(function(i,el) {
			var thumb="";
			var title= "";
			var url="";
			var showBadge="no";
			var imgDim="", imageHeight="", imageWidth="", imageHost="s", description="";
			var badgeText = imgTag = description = divInner = "";
			var $el = $(el);
			var fromHref =   'link_' + i;
			var fromImg =  'img_' + i ;
			var labelSpan="";
			
			imgDim=$el.attr("data-large-dim");
			showBadge=$el.attr("data-large-badge");
			
		
			
			if (this.options.manual=="true" && this.options.manualLinkerKey!="") {
				title=data[i].label;
				url=data[i].href;
				thumb=data[i].img;
				var imgParts=(thumb.split("/"));
				var imgSuffix=imgParts.splice(imgParts.length - 1, 1).join("");
				var imSuffixUnderScore=imgSuffix.lastIndexOf("_");
				if (imSuffixUnderScore!=-1){
					imgSuffix=imgSuffix.substring(0,imSuffixUnderScore);
				}
				var imgPrefix=imgParts.join("/");
				var imageHost=data[i].imagehost;
				if (imageHost && data[i].image_from_i_imwx==true){
					imageHost="i";
				}else if (!imageHost){
					imageHost="s";
				}
				thumb="http://" +  imageHost +".imwx.com" +  imgPrefix + "/" + imgSuffix;
				var slideType=data[i].slideType;
				if (slideType == 'photo'){
					labelSpan="wx-icon-font icon-cam";
				}else if (slideType == 'video'){
					labelSpan="wx-icon-font icon-play_circle";
				}
			} else {
				 title=data[i].title;
				 url="/video/"+data[i].URL;
				 thumb=data[i].thumb.replace(".jpg", "");
				 description=this.getShortenedString(data[i].description);
				 labelSpan="wx-icon-font icon-play_circle";
				
			}
			imgArr=imgDim.split("x");
			imageWidth=imgArr[0];
			imageHeight=imgArr[1];
			thumb=thumb + "_" + imgDim + ".jpg";
			if (labelSpan!=""){
				labelSpan="<span aria-hidden='true' class='" + labelSpan + "'></span>";
			}
			
			var inner=$el.find(this.options.inner_selector);
			inner.find('img').attr('src',thumb);
			inner.find('a').attr('href', url);
			
			var divInner=inner.html();
			divInner = TWC.Tools.tokenReplace(divInner, {title: title, url: url, description: description, thumb: thumb, imageWidth:imageWidth, imageHeight:imageHeight, fromHref: fromHref, fromImg: fromImg, labelSpan: labelSpan});
			
			$el.find(this.options.inner_selector).css('display','none').html(divInner).fadeIn(1000);
		}, this));
	
	 },
	 
	 getShortenedString:function(str) {
		 var maxLength = 120; // whatever the max string can be
		  var strLength = str.length;
		  if (strLength <= 0) return str;
		   if(strLength > maxLength){
			   str = str.substring(0, maxLength);
			    str = str.replace(/\w+$/, '') + "...";
			
		   }
		   return str;
	  },

	  getLinkerData:function() {
			var url = [this.options.linkerServiceURL,"source=", this.options.manualLinkerKey+"&cb=?"].join('');
			$.getJSON(url,$.proxy(function(data){ 
				if (data!=undefined) this.formatData(data.children);
			}, this));
	  }
	
	 
	};
	
	 TWC.Tools.getEvent('video_package_ready').resolve();
	 
	
	
})(jQuery);
	






/* /managedfe/js/TWC/util/tabs.js expireTime 1792 */

/*

    Markup format:

    <div class="wx-tabbed-content">
        <div class="wx-tab" data-tab="tab_name"></div>
        <div class="wx-tab-content" data-tab="tab_name"></div>
    </div>

    - These elements can be nested anywhere
    - Server determines the default tab, not JS

*/

(function($){

    var container_selector = '.wx-tabbed-content';
    var tab_selector = '.wx-tab';
    var tab_content_selector = '.wx-tab-content';
    var data_attribute = 'data-tab';
    var clickable_class = 'wx-clickable';
    var active_class = 'wx-active';

    $(document).ready(function(){

        $(container_selector).on('click', tab_selector, function(){
            
            var $self = $(this);
            var $self_siblings = $self.siblings(tab_selector);
            var target_selector = tab_content_selector + '[' + data_attribute + '="' + $self.attr(data_attribute) + '"]';
            var $target = $self.closest(container_selector).find(target_selector);
            var $target_siblings = $target.siblings(tab_content_selector);

            $self.addClass(active_class).removeClass(clickable_class);
            $self_siblings.removeClass(active_class).addClass(clickable_class);
            $target.show();
            $target_siblings.hide();

        });

    });

})(jQuery);







/* /managedfe/js/TWC/util/footer.js expireTime 1792 */

'TWC' in window || (window.TWC = {});
(function($){
	/**
	 * Footer Social Link Handler
	 * Creates popup windows for social links specified with newwindow in linker
	 * and handles action tracking for the click.
	 *
	 * @author: ssherwood
	 */


	$("#wx-footer .wx-social a[lnk]").click(function(){
		var $this = $(this),
			trackStr = $this.attr("from"),
			acct = (TWC && TWC.pco && TWC.pco.get("metrics.account")),
			url = $this.attr("lnk"),
			winheight = $this.attr("winheight"),
			winwidth = $this.attr("winwidth");
		sc_trackAction(this,trackStr,acct);
		window.open(url,trackStr + "Popup", "toolbar=yes,location=yes,directories=yes,menubar=yes,scrollbar=yes,resizable=no,copyhistory=yes,width=" + winwidth + ", height=" + winheight);
	});

	$("#wx-footer .wx-searchButton").click(function(){
		$("#wx-footer .wx-search form").submit();
	});

	$(document).ready(function() {
		var $form = $('#wx-footer').find('.wx-search form[name=twc-google-web-search]');
		var $query = $form.find('input[name=q]');
		var $button = $form.find('button[name=googleSearchBtn]');
		$form.find('input[name=search]').on("click", function(){
			var radioVal = $(this).attr('value');
			if (radioVal === "web") {
				$form.attr('action','/info/websearch/');
				$button.attr('trackStr','footer_websearch');
			} else if (radioVal === "site") {
				$form.attr('action','/info/sitesearch/');
				$button.attr('trackStr','footer_sitesearch');
			}
		});
	});

})(jQuery);







/* /managedfe/js/foundation/foundation.js expireTime 1792 */

/*
 * Foundation Responsive Library
 * http://foundation.zurb.com
 * Copyright 2013, ZURB
 * Free to use under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
*/

/*jslint unparam: true, browser: true, indent: 2 */

// Accommodate running jQuery or Zepto in noConflict() mode by
// using an anonymous function to redefine the $ shorthand name.
// See http://docs.jquery.com/Using_jQuery_with_Other_Libraries
// and http://zeptojs.com/
var libFuncName = null;

if (typeof jQuery === "undefined" &&
    typeof Zepto === "undefined" &&
    typeof $ === "function") {
  libFuncName = $;
} else if (typeof jQuery === "function") {
  libFuncName = jQuery;
} else if (typeof Zepto === "function") {
  libFuncName = Zepto;
} else {
  throw new TypeError();
}

(function ($, window, document, undefined) {
  'use strict';

  /*
    matchMedia() polyfill - Test a CSS media 
    type/query in JS. Authors & copyright (c) 2012: 
    Scott Jehl, Paul Irish, Nicholas Zakas. 
    Dual MIT/BSD license

    https://github.com/paulirish/matchMedia.js
  */

  window.matchMedia = window.matchMedia || (function( doc, undefined ) {

    "use strict";

    var bool,
        docElem = doc.documentElement,
        refNode = docElem.firstElementChild || docElem.firstChild,
        // fakeBody required for <FF4 when executed in <head>
        fakeBody = doc.createElement( "body" ),
        div = doc.createElement( "div" );

    div.id = "mq-test-1";
    div.style.cssText = "position:absolute;top:-100em";
    fakeBody.style.background = "none";
    fakeBody.appendChild(div);

    return function(q){

      div.innerHTML = "&shy;<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";

      docElem.insertBefore( fakeBody, refNode );
      bool = div.offsetWidth === 42;
      docElem.removeChild( fakeBody );

      return {
        matches: bool,
        media: q
      };

    };

  }( document ));

  // add dusty browser stuff
  if (!Array.prototype.filter) {
    Array.prototype.filter = function(fun /*, thisp */) {
      "use strict";
   
      if (this == null) {
        throw new TypeError();
      }

      var t = Object(this),
          len = t.length >>> 0;
      if (typeof fun != "function") {
          return;
      }

      var res = [],
          thisp = arguments[1];
      for (var i = 0; i < len; i++) {
        if (i in t) {
          var val = t[i]; // in case fun mutates this
          if (fun && fun.call(thisp, val, i, t)) {
            res.push(val);
          }
        }
      }

      return res;
    }
  }

  if (!Function.prototype.bind) {
    Function.prototype.bind = function (oThis) {
      if (typeof this !== "function") {
        // closest thing possible to the ECMAScript 5 internal IsCallable function
        throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
      }
   
      var aArgs = Array.prototype.slice.call(arguments, 1), 
          fToBind = this, 
          fNOP = function () {},
          fBound = function () {
            return fToBind.apply(this instanceof fNOP && oThis
               ? this
               : oThis,
             aArgs.concat(Array.prototype.slice.call(arguments)));
          };
   
      fNOP.prototype = this.prototype;
      fBound.prototype = new fNOP();
   
      return fBound;
    };
  }

  if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
      "use strict";
      if (this == null) {
        throw new TypeError();
      }
      var t = Object(this);
      var len = t.length >>> 0;
      if (len === 0) {
        return -1;
      }
      var n = 0;
      if (arguments.length > 1) {
        n = Number(arguments[1]);
        if (n != n) { // shortcut for verifying if it's NaN
          n = 0;
        } else if (n != 0 && n != Infinity && n != -Infinity) {
          n = (n > 0 || -1) * Math.floor(Math.abs(n));
        }
      }
      if (n >= len) {
          return -1;
      }
      var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
      for (; k < len; k++) {
        if (k in t && t[k] === searchElement) {
          return k;
        }
      }
      return -1;
    }
  }

  // fake stop() for zepto.
  $.fn.stop = $.fn.stop || function() {
    return this;
  };

  window.Foundation = {
    name : 'Foundation',

    version : '4.2.0',

    cache : {},

    init : function (scope, libraries, method, options, response, /* internal */ nc) {
      var library_arr,
          args = [scope, method, options, response],
          responses = [],
          nc = nc || false;

      // disable library error catching,
      // used for development only
      if (nc) this.nc = nc;

      // check RTL
      this.rtl = /rtl/i.test($('html').attr('dir'));

      // set foundation global scope
      this.scope = scope || this.scope;

      if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
        if (/off/i.test(libraries)) return this.off();

        library_arr = libraries.split(' ');

        if (library_arr.length > 0) {
          for (var i = library_arr.length - 1; i >= 0; i--) {
            responses.push(this.init_lib(library_arr[i], args));
          }
        }
      } else {
        if (/reflow/i.test(libraries)) args[1] = 'reflow';

        for (var lib in this.libs) {
          responses.push(this.init_lib(lib, args));
        }
      }

      // if first argument is callback, add to args
      if (typeof libraries === 'function') {
        args.unshift(libraries);
      }

      return this.response_obj(responses, args);
    },

    response_obj : function (response_arr, args) {
      for (var i = 0, len = args.length; i < len; i++) {
        if (typeof args[i] === 'function') {
          return args[i]({
            errors: response_arr.filter(function (s) {
              if (typeof s === 'string') return s;
            })
          });
        }
      }

      return response_arr;
    },

    init_lib : function (lib, args) {
      return this.trap(function () {
        if (this.libs.hasOwnProperty(lib)) {
          this.patch(this.libs[lib]);
          return this.libs[lib].init.apply(this.libs[lib], args);
        }
        else {
          return function () {};
        }
      }.bind(this), lib);
    },

    trap : function (fun, lib) {
      if (!this.nc) {
        try {
          return fun();
        } catch (e) {
          return this.error({name: lib, message: 'could not be initialized', more: e.name + ' ' + e.message});
        }
      }

      return fun();
    },

    patch : function (lib) {
      this.fix_outer(lib);
      lib.scope = this.scope;
      lib.rtl = this.rtl;
    },

    inherit : function (scope, methods) {
      var methods_arr = methods.split(' ');

      for (var i = methods_arr.length - 1; i >= 0; i--) {
        if (this.lib_methods.hasOwnProperty(methods_arr[i])) {
          this.libs[scope.name][methods_arr[i]] = this.lib_methods[methods_arr[i]];
        }
      }
    },

    random_str : function (length) {
      var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');

      if (!length) {
        length = Math.floor(Math.random() * chars.length);
      }

      var str = '';
      for (var i = 0; i < length; i++) {
        str += chars[Math.floor(Math.random() * chars.length)];
      }
      return str;
    },

    libs : {},

    // methods that can be inherited in libraries
    lib_methods : {
      set_data : function (node, data) {
        // this.name references the name of the library calling this method
        var id = [this.name,+new Date(),Foundation.random_str(5)].join('-');

        Foundation.cache[id] = data;
        node.attr('data-' + this.name + '-id', id);
        return data;
      },

      get_data : function (node) {
        return Foundation.cache[node.attr('data-' + this.name + '-id')];
      },

      remove_data : function (node) {
        if (node) {
          delete Foundation.cache[node.attr('data-' + this.name + '-id')];
          node.attr('data-' + this.name + '-id', '');
        } else {
          $('[data-' + this.name + '-id]').each(function () {
            delete Foundation.cache[$(this).attr('data-' + this.name + '-id')];
            $(this).attr('data-' + this.name + '-id', '');
          });
        }
      },

      throttle : function(fun, delay) {
        var timer = null;
        return function () {
          var context = this, args = arguments;
          clearTimeout(timer);
          timer = setTimeout(function () {
            fun.apply(context, args);
          }, delay);
        };
      },

      // parses data-options attribute on nodes and turns
      // them into an object
      data_options : function (el) {
        var opts = {}, ii, p,
            opts_arr = (el.attr('data-options') || ':').split(';'),
            opts_len = opts_arr.length;

        function isNumber (o) {
          return ! isNaN (o-0) && o !== null && o !== "" && o !== false && o !== true;
        }

        function trim(str) {
          if (typeof str === 'string') return $.trim(str);
          return str;
        }

        // parse options
        for (ii = opts_len - 1; ii >= 0; ii--) {
          p = opts_arr[ii].split(':');

          if (/true/i.test(p[1])) p[1] = true;
          if (/false/i.test(p[1])) p[1] = false;
          if (isNumber(p[1])) p[1] = parseInt(p[1], 10);

          if (p.length === 2 && p[0].length > 0) {
            opts[trim(p[0])] = trim(p[1]);
          }
        }

        return opts;
      },

      delay : function (fun, delay) {
        return setTimeout(fun, delay);
      },

      // animated scrolling
      scrollTo : function (el, to, duration) {
        if (duration < 0) return;
        var difference = to - $(window).scrollTop();
        var perTick = difference / duration * 10;

        this.scrollToTimerCache = setTimeout(function() {
          if (!isNaN(parseInt(perTick, 10))) {
            window.scrollTo(0, $(window).scrollTop() + perTick);
            this.scrollTo(el, to, duration - 10);
          }
        }.bind(this), 10);
      },

      // not supported in core Zepto
      scrollLeft : function (el) {
        if (!el.length) return;
        return ('scrollLeft' in el[0]) ? el[0].scrollLeft : el[0].pageXOffset;
      },

      // test for empty object or array
      empty : function (obj) {
        if (obj.length && obj.length > 0)    return false;
        if (obj.length && obj.length === 0)  return true;

        for (var key in obj) {
          if (hasOwnProperty.call(obj, key))    return false;
        }

        return true;
      }
    },

    fix_outer : function (lib) {
      lib.outerHeight = function (el, bool) {
        if (typeof Zepto === 'function') {
          return el.height();
        }

        if (typeof bool !== 'undefined') {
          return el.outerHeight(bool);
        }

        return el.outerHeight();
      };

      lib.outerWidth = function (el) {
        if (typeof Zepto === 'function') {
          return el.width();
        }

        if (typeof bool !== 'undefined') {
          return el.outerWidth(bool);
        }

        return el.outerWidth();
      };
    },

    error : function (error) {
      return error.name + ' ' + error.message + '; ' + error.more;
    },

    // remove all foundation events.
    off: function () {
      $(this.scope).off('.fndtn');
      $(window).off('.fndtn');
      return true;
    },

    zj : function () {
      if (typeof Zepto !== 'undefined') {
        return Zepto;
      } else {
        return jQuery;
      }
    }()
  };

  $.fn.foundation = function () {
    var args = Array.prototype.slice.call(arguments, 0);

    return this.each(function () {
      Foundation.init.apply(Foundation, [this].concat(args));
      return this;
    });
  };

}(libFuncName, this, this.document));







/* /managedfe/js/foundation/foundation.magellan.js expireTime 1792 */

/*jslint unparam: true, browser: true, indent: 2 */

;(function ($, window, document, undefined) {
  'use strict';

  Foundation.libs.magellan = {
    name : 'magellan',

    version : '4.2.0',

    settings : {
      activeClass: 'active'
    },

    init : function (scope, method, options) {
      this.scope = scope || this.scope;
      Foundation.inherit(this, 'data_options');

      if (typeof method === 'object') {
        $.extend(true, this.settings, method);
      }

      if (typeof method != 'string') {
        if (!this.settings.init) {
          this.fixed_magellan = $("[data-magellan-expedition]");
          this.set_threshold();
          this.last_destination = $('[data-magellan-destination]').last();
          this.events();
        }

        return this.settings.init;
      } else {
        return this[method].call(this, options);
      }
    },

    events : function () {
      var self = this;
      $(this.scope).on('arrival.fndtn.magellan', '[data-magellan-arrival]', function (e) {
        var $destination = $(this),
            $expedition = $destination.closest('[data-magellan-expedition]'),
            activeClass = $expedition.attr('data-magellan-active-class') 
              || self.settings.activeClass;

          $destination
            .closest('[data-magellan-expedition]')
            .find('[data-magellan-arrival]')
            .not($destination)
            .removeClass(activeClass);
          $destination.addClass(activeClass);
      });

      this.fixed_magellan
        .on('update-position.fndtn.magellan', function(){
          var $el = $(this);
          // $el.data("magellan-fixed-position","");
          // $el.data("magellan-top-offset", "");
        })
        .trigger('update-position');

      $(window)
        .on('TWC.resize', function() {
          this.fixed_magellan.trigger('update-position');
        }.bind(this))

        .on('TWC.scroll', function() {
          var windowScrollTop = $(window).scrollTop();
          self.fixed_magellan.each(function() {
            var $expedition = $(this);
            if (typeof $expedition.data('magellan-top-offset') === 'undefined') {
              $expedition.data('magellan-top-offset', $expedition.offset().top);
            }
            if (typeof $expedition.data('magellan-fixed-position') === 'undefined') {
              $expedition.data('magellan-fixed-position', false)
            }
            var fixed_position = (windowScrollTop + self.settings.threshold) > $expedition.data("magellan-top-offset");
            var attr = $expedition.attr('data-magellan-top-offset');

            if ($expedition.data("magellan-fixed-position") != fixed_position) {
              $expedition.data("magellan-fixed-position", fixed_position);
              if (fixed_position) {
                $expedition.css({position:"fixed", top:0});
              } else {
                $expedition.css({position:"", top:""});
              }
              if (fixed_position && typeof attr != 'undefined' && attr != false) {
                $expedition.css({position:"fixed", top:attr + "px"});
              }
            }
          });
        });


      if (this.last_destination.length > 0) {
        $(window).on('scroll.fndtn.magellan', function (e) {
          var windowScrollTop = $(window).scrollTop(),
              scrolltopPlusHeight = windowScrollTop + $(window).height(),
              lastDestinationTop = Math.ceil(self.last_destination.offset().top);

          $('[data-magellan-destination]').each(function () {
            var $destination = $(this),
                destination_name = $destination.attr('data-magellan-destination'),
                topOffset = $destination.offset().top - windowScrollTop;

            if (topOffset <= self.settings.threshold) {
              $("[data-magellan-arrival='" + destination_name + "']").trigger('arrival');
            }
            // In large screens we may hit the bottom of the page and dont reach the top of the last magellan-destination, so lets force it
            if (scrolltopPlusHeight >= $(self.scope).height() && lastDestinationTop > windowScrollTop && lastDestinationTop < scrolltopPlusHeight) {
              $('[data-magellan-arrival]').last().trigger('arrival');
            }
          });
        });
      }

      this.settings.init = true;
    },

    set_threshold : function () {
      if (!this.settings.threshold) {
        this.settings.threshold = (this.fixed_magellan.length > 0) ? 
          this.outerHeight(this.fixed_magellan, true) : 0;
      }
    },

    off : function () {
      $(this.scope).off('.fndtn.magellan');
    },

    reflow : function () {}
  };
}(Foundation.zj, this, this.document));




