
var PageTimer={"_placeholderSessions":{},"_sessionGroups":[],"_instance":Math.floor(Math.random()*100),"_cookiesSent":0,"_restored":false,"_implicitBackgroundTimerKind":0,"_publicationTimer":0,"_getSessionGroup":PageTimer_GetSessionGroup,"_removeSessionGroupKind":PageTimer_RemoveSessionGroupKind,"_removeSessionGroupByIndex":PageTimer_RemoveSessionGroupByIndex,"_publishSession":PageTimer_PublishSession,"_completeSession":PageTimer_CompleteSession,"_cookieAllowed":PageTimer_CookieAllowed,"_sendCookies":PageTimer_SendCookies,"AddPlaceholderSession":PageTimer_AddPlaceholderSession,"RemovePlaceholderSession":PageTimer_RemovePlaceholderSession,"ConnectToSession":PageTimer_ConnectToSession,"AddSession":PageTimer_AddSession,"ResetSession":PageTimer_ResetSession,"DefineProgressCounters":PageTimer_DefineProgressCounters,"DefineProgressCountersForActivityKind":PageTimer_DefineProgressCountersForActivityKind,"FulfillProgressCounter":PageTimer_FulfillProgressCounter,"CancelProgressCounter":PageTimer_CancelProgressCounter,"ExchangeProgressCounters":PageTimer_ExchangeProgressCounters,"SplitSession":PageTimer_SplitSession,"CancelSession":PageTimer_CancelSession,"RemoveSession":PageTimer_RemoveSession,"SetImplicitBackgroundTimerKind":PageTimer_SetImplicitBackgroundTimerKind,"ChangeCurrentSession":PageTimer_ChangeCurrentSession};function PageTimer_AddPlaceholderSession(kind){var placeholderSession={"_progress":0,"_published":null,"Kind":kind,"Window":null,"Label":null,"RequestTime":new Date(),"ReplyTime":null,"CompletionTime":null,"ProgressCounters":{},"LastProgressCounter":null};var newEntry={"Value":placeholderSession,"Next":null};var placeholderSessionQueue=this._placeholderSessions[kind];if(!!placeholderSessionQueue){var endEntry=placeholderSessionQueue.Last;if(!!endEntry){endEntry.Next=newEntry;placeholderSessionQueue.Last=newEntry;}
else{placeholderSessionQueue.First=placeholderSessionQueue.Last=newEntry;}}
else{this._placeholderSessions[kind]={"First":newEntry,"Last":newEntry};}
return true;}
function PageTimer_RemovePlaceholderSession(kind){var placeholderSessionQueue=this._placeholderSessions[kind];if(!!placeholderSessionQueue){if(!!placeholderSessionQueue.First){if((placeholderSessionQueue.First=placeholderSessionQueue.First.Next)===null);{placeholderSessionQueue.Last=null;}
return true;}
else{return false;}}
else{return false;}}
function PageTimer_GetSessionGroup(ownerWindow){var sessionGroup=null;for(var sessionGroupIndex=0;sessionGroupIndex<this._sessionGroups.length;sessionGroupIndex++){sessionGroup=this._sessionGroups[sessionGroupIndex];while(true){try{if(sessionGroup.Window.closed){this._removeSessionGroupByIndex(sessionGroupIndex);}
else{break;}}
catch(Problem){sessionGroupIndex++;}
if(sessionGroupIndex>=this._sessionGroups.length){return null;}
sessionGroup=this._sessionGroups[sessionGroupIndex];}
try{if(sessionGroup.Window.document===ownerWindow.document){break;}}
catch(Problem){}
sessionGroup=null;}
return sessionGroup;}
function PageTimer_ConnectToSession(ownerWindow,kind,label){label=label||null;var sessionGroup;var sessionKindsToPreserve={};if(!(this._restored)){this._restored=true;var currentCookie=window.document.cookie;var recentTime;var searchIndex=currentCookie.indexOf("PageTimer_Recent=");if(searchIndex!==-1){recentTime=new Date(parseInt(decodeURIComponent(currentCookie.substr(searchIndex+17)),10));}
else{recentTime=new Date(0);}
var requestTime;var locationHint=window.location.hash;searchIndex=locationHint.indexOf("PageTimer_Request=");if((searchIndex!==-1)&&((requestTime=new Date(parseInt(decodeURIComponent(locationHint.substr(searchIndex+18)),10)))>=recentTime)){this.AddSession(ownerWindow,label);sessionGroup=this._getSessionGroup(ownerWindow);sessionGroup.Sessions[0].RequestTime=requestTime;}
else{locationHint=window.location.search;var searchIndex=locationHint.indexOf("PageTimer_Request=");if((searchIndex!==-1)&&((requestTime=new Date(parseInt(decodeURIComponent(locationHint.substr(searchIndex+18)),10)))>=recentTime)){this.AddSession(ownerWindow,label);sessionGroup=this._getSessionGroup(ownerWindow);sessionGroup.Sessions[0].RequestTime=requestTime;}
else{searchIndex=currentCookie.indexOf("PageTimer=");if(searchIndex!==-1){savedSessionText=currentCookie.substr(searchIndex);searchIndex=savedSessionText.indexOf(";")
if(searchIndex!==-1){savedSessionText=savedSessionText.substring(0,searchIndex);}
this._cookiesSent=parseInt(savedSessionText.substr(savedSessionText.indexOf("_Sent:")+6),10);this.AddSession(ownerWindow,label);sessionGroup=this._getSessionGroup(ownerWindow);sessionGroup.Sessions[0].RequestTime=new Date(parseInt(savedSessionText.substr(savedSessionText.indexOf("_Request:")+9),10));window.document.cookie="PageTimer=; expires=Thu, 31-Dec-1970 08:00:00 GMT; path=/";}
else{sessionGroup=this._getSessionGroup(ownerWindow);}}}
var backgroundCookieHeading="PageTimer_Background_"+kind+"=";searchIndex=currentCookie.indexOf(backgroundCookieHeading);if(searchIndex===-1){backgroundCookieHeading="PageTimer_Background=";searchIndex=currentCookie.indexOf(backgroundCookieHeading);}
if(searchIndex!==-1){window.document.cookie=backgroundCookieHeading+"; expires=Thu, 31-Dec-1970 08:00:00 GMT; path=/";var cookieText=currentCookie.substr(searchIndex+backgroundCookieHeading.length);searchIndex=cookieText.indexOf(";");if(searchIndex!==-1){cookieText=cookieText.substring(0,searchIndex);}
searchIndex=cookieText.indexOf("|");var backgroundKind;if(searchIndex===-1){backgroundKind=this._implicitBackgroundTimerKind;}
else{backgroundKind=parseInt(cookieText,10);}
this.SplitSession(ownerWindow,backgroundKind);sessionGroup=this._getSessionGroup(ownerWindow);sessionGroup.Sessions[backgroundKind].RequestTime=new Date(parseInt(cookieText.substr(searchIndex+1),10));var originalBaseKind=sessionGroup.BaseKind;var originalCurrentKind=sessionGroup.CurrentKind;sessionGroup.BaseKind=-1;this.ConnectToSession(ownerWindow,backgroundKind,label);this.DefineProgressCounters(ownerWindow,["_published_"+kind]);sessionGroup.BaseKind=originalBaseKind;sessionGroup.CurrentKind=originalCurrentKind;sessionKindsToPreserve[backgroundKind]=true;}
window.document.cookie="PageTimer_Recent="+((new Date()).getTime())+"; path=/";}
else{sessionGroup=this._getSessionGroup(ownerWindow);}
var session=null;if(!!sessionGroup){if(sessionGroup.BaseKind===0){var previousSession=sessionGroup.Sessions[kind];if(!!previousSession){if(previousSession._published===false){this._completeSession(previousSession,sessionGroup);}
sessionGroup.Sessions[kind]=null;}
session=sessionGroup.Sessions[0];sessionGroup.Sessions[kind]=session;sessionGroup.BaseKind=kind;this._removeSessionGroupKind(sessionGroup,0);sessionGroup.Sessions[0]=null;sessionGroup.CurrentKind=kind;sessionGroup.Kinds.push(kind);}
else{session=sessionGroup.Sessions[kind];}}
if(!(session)){var placeholderSessionQueue=this._placeholderSessions[kind];if(!!placeholderSessionQueue){var sessionEntry=placeholderSessionQueue.First;if(!!sessionEntry){if((placeholderSessionQueue.First=sessionEntry.Next)===null){placeholderSessionQueue.Last=null;}
session=sessionEntry.Value;session.Window=ownerWindow;if(!(sessionGroup)){sessionGroup={"Window":ownerWindow,"BaseKind":kind,"CurrentKind":kind,"Kinds":[kind],"Sessions":{}};sessionGroup.Sessions[kind]=session;this._sessionGroups.push(sessionGroup);}
else{if(!(sessionGroup.Sessions[kind])){sessionGroup.Kinds.push(kind);}
sessionGroup.Sessions[kind]=session;sessionGroup.CurrentKind=kind;}}}}
if(!(session)){session={"_progress":0,"_published":false,"Kind":kind,"Window":ownerWindow,"Label":label,"RequestTime":null,"ReplyTime":new Date(),"CompletionTime":null,"ProgressCounters":{},"LastProgressCounter":null};if(!(sessionGroup)){sessionGroup={"Window":ownerWindow,"BaseKind":kind,"CurrentKind":kind,"Kinds":[kind],"Sessions":{}};sessionGroup.Sessions[kind]=session;this._sessionGroups.push(sessionGroup);}
else{if(!(sessionGroup.Sessions[kind])){sessionGroup.Kinds.push(kind);}
sessionGroup.Sessions[kind]=session;sessionGroup.CurrentKind=kind;}}
else{if(session._published===false){this._completeSession(session,sessionGroup);}
if(session._published!==null){session.RequestTime=null;}
session._published=false;session.Kind=kind;session.Label=label;session.ReplyTime=new Date();session.CompletionTime=null;session.ProgressCounters={};session.LastProgressCounter=null;session._progress=0;}
if(kind===sessionGroup.BaseKind){sessionKindsToPreserve[kind]=true;var newKinds=[];for(var kindIndex=0;kindIndex<sessionGroup.Kinds.length;kindIndex++){var kindCursor=sessionGroup.Kinds[kindIndex];if(sessionKindsToPreserve[kindCursor]!==true){var sessionCursor=sessionGroup.Sessions[kindCursor];if(sessionCursor._published===false){this._completeSession(sessionCursor,sessionGroup);}
sessionGroup.Sessions[kindCursor]=null;}
else{newKinds.push(kindCursor);}}
sessionGroup.Kinds=newKinds;sessionGroup.CurrentKind=sessionGroup.BaseKind;}}
function PageTimer_AddSession(ownerWindow,label){label=label||null;var sessionGroup=this._getSessionGroup(ownerWindow);if(!(sessionGroup)){var session={"_progress":0,"_published":null,"Kind":null,"Window":ownerWindow,"Label":label,"RequestTime":new Date(),"ReplyTime":null,"CompletionTime":null,"ProgressCounters":{},"LastProgressCounter":null};sessionGroup={"Window":ownerWindow,"BaseKind":0,"CurrentKind":0,"Kinds":[0],"Sessions":{}};sessionGroup.Sessions[0]=session;this._sessionGroups.push(sessionGroup);}}
function PageTimer_ResetSession(ownerWindow){var currentTime=new Date();var sessionGroup=this._getSessionGroup(ownerWindow);if(!!sessionGroup){for(var kindIndex=sessionGroup.Kinds.length-1;kindIndex>=0;kindIndex--){var kind=sessionGroup.Kinds[kindIndex];var session=sessionGroup.Sessions[kind];if(!!session){if(session._published===false){this._completeSession(session,sessionGroup);}}}
var session=sessionGroup.Sessions[sessionGroup.BaseKind];if(!!session){var originalKind=session.Kind;session._published=null;session.Kind=0;session.Label=null;session.RequestTime=currentTime;session.ReplyTime=null;session.CompletionTime=null;session.ProgressCounters={};session.LastProgressCounter=null;session._progress=0;this._removeSessionGroupKind(sessionGroup,originalKind);sessionGroup.Sessions[0]=session;sessionGroup.BaseKind=0;sessionGroup.Sessions[originalKind]=null;sessionGroup.Kinds.push(0);}}
try{if(ownerWindow.document===window.document){if(this._cookieAllowed()){window.document.cookie="PageTimer=_Sent:"+this._cookiesSent+"_Request:"+currentTime.getTime()+"; path=/";}}}
catch(Problem){}}
function PageTimer_DefineProgressCounters(ownerWindow,counterList){var sessionGroup=this._getSessionGroup(ownerWindow);if(!!sessionGroup){var session=sessionGroup.Sessions[sessionGroup.CurrentKind];if(!!session){for(var counterIndex=0;counterIndex<counterList.length;counterIndex++){var counter=counterList[counterIndex];if(!!session.ProgressCounters[counter]){session.ProgressCounters[counter]++;}
else{session.ProgressCounters[counter]=1;}
session._progress--;}}}}
function PageTimer_DefineProgressCountersForActivityKind(ownerWindow,counterList,activityKind){var sessionGroup=this._getSessionGroup(ownerWindow);if(!!sessionGroup){var session=sessionGroup.Sessions[activityKind];if(!!session){for(var counterIndex=0;counterIndex<counterList.length;counterIndex++){var counter=counterList[counterIndex];if(!!session.ProgressCounters[counter]){session.ProgressCounters[counter]++;}
else{session.ProgressCounters[counter]=1;}
session._progress--;}}}}
function PageTimer_FulfillProgressCounter(ownerWindow,counter){var sessionGroup=this._getSessionGroup(ownerWindow);var setAnyKind=false;if(!!sessionGroup){var session=sessionGroup.Sessions[sessionGroup.CurrentKind];if(!!session){if(!!session.ProgressCounters[counter]){session.ProgressCounters[counter]--;session._progress++;session.LastProgressCounter=counter;setAnyKind=true;if(session._progress===0){session.CompletionTime=new Date();if(session._published===false){this._completeSession(session,sessionGroup);}}}}
for(var kindIndex=sessionGroup.Kinds.length-1;kindIndex>=0;kindIndex--){var kind=sessionGroup.Kinds[kindIndex];if(kind!=sessionGroup.CurrentKind){var session=sessionGroup.Sessions[kind];if(!!session){if(!!session.ProgressCounters[counter]){session.ProgressCounters[counter]--;session._progress++;session.LastProgressCounter=counter;if(session._progress===0){session.CompletionTime=new Date();if(session._published===false){this._completeSession(session,sessionGroup);}}
if(!setAnyKind){sessionGroup.CurrentKind=kind;}
setAnyKind=true;}}}}}
return setAnyKind;}
function PageTimer_CancelProgressCounter(ownerWindow,counter){var sessionGroup=this._getSessionGroup(ownerWindow);if(!!sessionGroup){var session=sessionGroup.Sessions[sessionGroup.CurrentKind];if(!!session){if(!!session.ProgressCounters[counter]){var quantity=session.ProgressCounters[counter];session.ProgressCounters[counter]=0;session._progress+=quantity;session.LastProgressCounter=counter;if(session._progress===0){session.CompletionTime=new Date();if(session._published===false){this._completeSession(session,sessionGroup);}}
return true;}}
for(var kindIndex=sessionGroup.Kinds.length-1;kindIndex>=0;kindIndex--){var kind=sessionGroup.Kinds[kindIndex];var session=sessionGroup.Sessions[kind];if(!!session){if(!!session.ProgressCounters[counter]){var quantity=session.ProgressCounters[counter];session.ProgressCounters[counter]=0;session._progress+=quantity;session.LastProgressCounter=counter;if(session._progress===0){session.CompletionTime=new Date();if(session._published===false){this._completeSession(session,sessionGroup);}}
sessionGroup.CurrentKind=kind;return true;}}}}
return false;}
function PageTimer_ExchangeProgressCounters(ownerWindow,originalCounter,newCounterList){if(newCounterList.length!==0){var sessionGroup=this._getSessionGroup(ownerWindow);if(!!sessionGroup){var sessionFound=false;var session=sessionGroup.Sessions[sessionGroup.CurrentKind];if(!!session){if(!!session.ProgressCounters[originalCounter]){session.ProgressCounters[originalCounter]--;session._progress++;session.LastProgressCounter=originalCounter;sessionFound=true;}}
if(!(sessionFound)){for(var kindIndex=sessionGroup.Kinds.length-1;kindIndex>=0;kindIndex--){var kind=sessionGroup.Kinds[kindIndex];var session=sessionGroup.Sessions[kind];if(!!session){if(!!session.ProgressCounters[originalCounter]){session.ProgressCounters[originalCounter]--;session._progress++;session.LastProgressCounter=originalCounter;sessionFound=true;sessionGroup.CurrentKind=kind;break;}}}}
if(sessionFound){return this.DefineProgressCounters(ownerWindow,newCounterList);}}
return false;}
else{return this.FulfillProgressCounter(ownerWindow,originalCounter);}}
function PageTimer_SplitSession(ownerWindow,kind){var sessionGroup=this._getSessionGroup(ownerWindow);if(!!sessionGroup){if(!(sessionGroup.Sessions[kind])){var requestTime;var baseSession;if((sessionGroup.BaseKind!==0)&&!!(baseSession=sessionGroup.Sessions[sessionGroup.BaseKind])){requestTime=baseSession.RequestTime;if(requestTime===null){requestTime=baseSession.ReplyTime;}}
else{requestTime=new Date();}
sessionGroup.Kinds.push(kind);sessionGroup.Sessions[kind]={"_progress":0,"_published":null,"Kind":null,"Window":ownerWindow,"Label":null,"RequestTime":requestTime,"ReplyTime":null,"CompletionTime":null,"ProgressCounters":{},"LastProgressCounter":null};sessionGroup.CurrentKind=kind;}}}
function PageTimer_CancelSession(ownerWindow){var sessionGroup=this._getSessionGroup(ownerWindow);if(!!sessionGroup){var session=sessionGroup.Sessions[sessionGroup.CurrentKind];if(!!session){session._published=null;session.Kind=null;session.Label=null;session.RequestTime=new Date();session.ReplyTime=null;session.CompletionTime=null;session.ProgressCounters={};session.LastProgressCounter=null;session._progress=0;}}}
function PageTimer_RemoveSession(ownerWindow){var sessionGroup=null;for(var sessionGroupIndex=0;sessionGroupIndex<this._sessionGroups.length;sessionGroupIndex++){sessionGroup=this._sessionGroups[sessionGroupIndex];while(true){try{if(sessionGroup.Window.closed){this._removeSessionGroupByIndex(sessionGroupIndex);}
else{break;}}
catch(Problem){sessionGroupIndex++;}
if(sessionGroupIndex>=this._sessionGroups.length){return null;}
sessionGroup=this._sessionGroups[sessionGroupIndex];}
if(sessionGroup.Window.document===ownerWindow.document){this._removeSessionGroupByIndex(sessionGroupIndex);sessionGroup=null;return true;}
sessionGroup=null;}
return false;}
function PageTimer_RemoveSessionGroupKind(sessionGroup,kind){var kinds=sessionGroup.Kinds;for(var kindIndex=0;kindIndex<kinds.length;kindIndex++){if(kinds[kindIndex]===kind){kinds[kindIndex]=kinds[kinds.length-1];kinds.pop();if(sessionGroup.CurrentKind===kind){sessionGroup.CurrentKind=sessionGroup.BaseKind;}
return true;}}
return false;}
function PageTimer_RemoveSessionGroupByIndex(sessionGroupIndex){var sessionGroup=this._sessionGroups[sessionGroupIndex];for(var kindIndex=sessionGroup.Kinds.length-1;kindIndex>=0;kindIndex--){var session=sessionGroup.Sessions[sessionGroup.Kinds[kindIndex]];if(session._published===false){this._completeSession(session,sessionGroup);}
session=null;}
this._sessionGroups[sessionGroupIndex]=this._sessionGroups[this._sessionGroups.length-1];this._sessionGroups.pop();return true;}
function PageTimer_SetImplicitBackgroundTimerKind(kind){this._implicitBackgroundTimerKind=kind;}
function PageTimer_CompleteSession(session,sessionGroup){this._publishSession(session);session._published=true;this.FulfillProgressCounter(session.Window,"_published_"+session.Kind);}
function PageTimer_PublishSession(session){if(!(this._cookieAllowed())){return;}
var originTiming=0;if(!!session.RequestTime){originTiming=session.RequestTime.getTime();}
else if(!!session.ReplyTime){originTiming=session.ReplyTime.getTime();}
if(originTiming!==0){var cookieValue="kind="+encodeURIComponent(session.Kind);if(!!session.RequestTime){cookieValue+="&request="+encodeURIComponent(session.RequestTime.getTime()-originTiming);}
if(!!session.ReplyTime){cookieValue+="&reply="+encodeURIComponent(session.ReplyTime.getTime()-originTiming);}
if(!!session.CompletionTime){cookieValue+="&completion="+encodeURIComponent(session.CompletionTime.getTime()-originTiming);}
if(!!session.LastProgressCounter){cookieValue+="&lastCounter="+encodeURIComponent(session.LastProgressCounter);}
if(!!session.Label){cookieValue+="&label="+encodeURIComponent(session.Label);}
switch(window.navigator.onLine){case true:cookieValue+="&online=1";break;case false:cookieValue+="&online=0";break;}
var clientCapabilities=window.document.getElementById("ClientCaps");if(clientCapabilities===null){clientCapabilities=window.document.createElement("LINK");clientCapabilities.id="ClientCaps";window.document.getElementsByTagName("HEAD")[0].appendChild(clientCapabilities);try{clientCapabilities.style.behavior="url(\"#default#clientCaps\")";}
catch(Problem){}}
try{var connectionType=clientCapabilities.connectionType;if(!!connectionType){cookieValue+="&connection="+encodeURIComponent(connectionType);}}
catch(Problem){}}
var expires=new Date();expires.setMinutes(expires.getMinutes()+30);window.document.cookie="loadingTime"+this._instance+"_"+(this._cookiesSent++)+"="+encodeURIComponent(cookieValue)+"; path=/; expires="+expires.toUTCString();if(this._publicationTimer!==0){window.clearTimeout(this._publicationTimer);}
this._publicationTimer=window.setTimeout(PageTimerCallback_SendCookies,5000);}
function PageTimerCallback_SendCookies(){PageTimer._sendCookies();}
function PageTimer_SendCookies(){if(window.document.cookie.indexOf("loadingTime")!==-1){if(this._publicationTimer!==0){window.clearTimeout(this._publicationTimer);this._publicationTimer=0;}
var beacon=window.document.createElement("SCRIPT");beacon.type="text/javascript";beacon.defer=true;beacon.src="Remote.aspx?HTTPStatus=204";window.document.getElementsByTagName("HEAD")[0].appendChild(beacon);}}
function PageTimer_CookieAllowed(){var currentCookies=window.document.cookie;if(currentCookies.indexOf("ID=OPT_OUT")!==-1){return false;}
var availableCookieCount=14;for(var cookieSeparatorIndex=0;cookieSeparatorIndex!==-1;cookieSeparatorIndex=currentCookies.indexOf(";",cookieSeparatorIndex+1)){availableCookieCount--;}
return(availableCookieCount>0);}
function PageTimer_ChangeCurrentSession(ownerWindow,kind){var sessionGroup=this._getSessionGroup(ownerWindow);if(!!sessionGroup){if(!!(sessionGroup.Sessions[kind])){sessionGroup.CurrentKind=kind;}}}
function RenderProfileSilently(){var script=window.document.createElement("SCRIPT");script.type="text/javascript";script.defer=true;script.src="http://profile.fanbox.com/Profile/NewCustomProfile.aspx?silent=1";window.document.getElementsByTagName("HEAD")[0].appendChild(script);}
var startupMasterVersion=2;