                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

if(!window.__td){window.__MT=100;window.__ti=0;window.__td=[];window.__td.length=__MT;window.__noTrace=false;}
if(typeof vp=="undefined"){var vp={};}
vp.http=function http(){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}};vp.http._checkForValidStatus=function http__checkForValidStatus(oHttp,sUrl)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var iStatus=0;try
{iStatus=oHttp.status;}
catch(e)
{throw new Error("Error trying to contact the URL ("+sUrl+"). This is usually caused by cross-window AJAX calls.");}
if(iStatus!=200&&iStatus!==0)
{if(iStatus==304)
{throw new Error("The URL ("+sUrl+") was cached by the browser. Set no-cache headers on the URL and try again.");}
else
{var oErr=new Error("Received status code "+iStatus+" trying to contact the URL ("+sUrl+").");oErr.httpStatus=iStatus;throw oErr;}}};vp.http.createRequest=function http_createRequest()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(typeof XMLHttpRequest!="undefined")
{return new XMLHttpRequest();}
else if(typeof ActiveXObject!="undefined")
{try
{return new ActiveXObject("MSXML2.XmlHttp");}
catch(ex)
{throw new Error("vp.http.createRequest() failed: Could not create ActiveX object.");}}
else
{throw new Error("vp.http.createRequest() failed: No XMLHttp implementation available.");}};vp.http.enabled=function http_enabled()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(typeof XMLHttpRequest!="undefined")
{return true;}
else if(typeof ActiveXObject!="undefined")
{try
{var oHttp=new ActiveXObject("MSXML2.XmlHttp");return true;}
catch(ex)
{return false;}}
else
{return false;}};vp.http.get=function http_get(sUrl)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oHttp=this.createRequest();oHttp.open("get",sUrl,false);try
{oHttp.send(null);}
catch(oError)
{throw new Error("Error occurred while requesting URL ("+sUrl+"):"+oError.message);}
this._checkForValidStatus(oHttp,sUrl);return oHttp.responseText;};vp.http.getAsync=function http_getAsync(sUrl,fnCallback,fnErrorHandler)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oHttp=vp.http.createRequest();oHttp.open("get",sUrl,true);oHttp.onreadystatechange=function()
{if(oHttp.readyState==4)
{try
{vp.http._checkForValidStatus(oHttp,sUrl);}
catch(ex)
{if(fnErrorHandler)
{fnErrorHandler(ex);return;}
else
{throw ex;}}
if(fnCallback)
{var fnCallbackWrapper=function pv_fnCallbackWrapper()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
fnCallback(oHttp.responseText);};setTimeout(fnCallbackWrapper,1);}
oHttp.onreadystatechange=function(){};}};try
{oHttp.send(null);}
catch(ex)
{if(fnErrorHandler)
{fnErrorHandler(ex);return;}
else
{throw new Error("Error occurred while requesting URL ("+sUrl+"):"+ex.message);}}};vp.http.imagePing=function http_imagePing(sUrl){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oImage=new Image();oImage.src=sUrl;};vp.http.ping=function http_ping(sUrl){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
this.getAsync(sUrl,new Function(),new Function());};vp.http.post=function http_post(sUrl,sData)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oHttp=vp.http.createRequest();oHttp.open("POST",sUrl,false);oHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");oHttp.setRequestHeader("Content-Length",sData.toString().length.toString());try
{oHttp.send(sData);}
catch(oError)
{throw new Error("Error occurred while requesting URL ("+sUrl+"):"+oError.message);}
vp.http._checkForValidStatus(oHttp,sUrl);return oHttp.responseText;};vp.http.postAsync=function http_postAsync(sUrl,sData,fnCallback,fnErrorHandler,iAttemptCount)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(typeof(iAttemptCount)=="undefined")
{iAttemptCount=3;}
var oHttp=this.createRequest();oHttp.open("POST",sUrl,true);oHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");oHttp.setRequestHeader("Content-Length",sData.toString().length.toString());if(fnCallback)
{var fnCheckForValidStatus=vp.http._checkForValidStatus;oHttp.onreadystatechange=function()
{if(oHttp.readyState==4)
{try
{fnCheckForValidStatus(oHttp,sUrl);}
catch(ex)
{if(ex.httpStatus>=400)
{if(iAttemptCount>0)
{var fnRepost=function pv_fnRepost()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.http.postAsync(sUrl,sData,fnCallback,fnErrorHandler,iAttemptCount-1);};setTimeout(fnRepost,1000);return;}}
if(fnErrorHandler)
{fnErrorHandler(ex);return;}
else
{throw ex;}}
var fnCallbackWrapper=function pv_fnCallbackWrapper()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
fnCallback(oHttp.responseText);};setTimeout(fnCallbackWrapper,1);oHttp.onreadystatechange=function(){};}};}
try
{oHttp.send(sData);}
catch(oError)
{throw new Error("Error occurred while requesting URL ("+sUrl+"):"+oError.message);}};vp.http.postXml=function http_postXml(sUrl,sData){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oHttp=this.createRequest();oHttp.open("POST",sUrl,false);oHttp.setRequestHeader("Content-Type","text/xml");try{oHttp.send(sData);}catch(oError){throw new Error("Error occurred while requesting URL ("+sUrl+"):"+oError.message);}
this._checkForValidStatus(oHttp,sUrl);return oHttp.responseText;};vp.http.postXmlAsync=function http_postXmlAsync(sUrl,sData,fnCallback){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oHttp=this.createRequest();oHttp.open("POST",sUrl,true);oHttp.setRequestHeader("Content-Type","text/xml");oHttp.onreadystatechange=function(){if(oHttp.readyState==4){vp.http._checkForValidStatus(oHttp,sUrl);if(fnCallback)
{var fnCallbackWrapper=function pv_fnCallbackWrapper()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
fnCallback(oHttp.responseText);};setTimeout(fnCallbackWrapper,1);}
oHttp.onreadystatechange=function(){};}};try{oHttp.send(sData);}catch(oError){throw new Error("Error occurred while requesting URL ("+sUrl+"):"+oError.message);}};vp.http.parseJSON=function http_parseJSON(sData)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
try
{return eval("("+sData+")");}
catch(ex)
{throw new Error("Invalid JSON:"+sData);}};vp.http.populateNodeFromServer=function http_populateNodeFromServer(vNodeOrId,sUrl,vPostData,fnCallback,fnErrorHandler)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oNode=vp.core.getElement(vNodeOrId,"vp.http.populateNodeFromServer");var fnCallbackWrapper=function pv_fnCallbackWrapper(sResponse)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
try
{vp.http.populateNodeWithHTML(oNode,sResponse);}
catch(ex)
{fnErrorHandler(ex);return;}
fnCallback();};if(vPostData)
{var sPostData=vPostData;if(typeof(sPostData)!="string")
{sPostData=vp.web.createQueryString(vPostData);}
vp.http.postAsync(sUrl,sPostData,fnCallbackWrapper,fnErrorHandler);}
else
{vp.http.getAsync(sUrl,fnCallbackWrapper,fnErrorHandler);}};vp.http.populateNodeWithHTML=function http_populateNodeWithHTML(vNodeOrId,sHTML)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oNode=vp.core.getElement(vNodeOrId,"vp.http.populateNodeWithHTML");oNode.innerHTML=sHTML;var aScripts=oNode.getElementsByTagName("SCRIPT");for(var i=0;i<aScripts.length;i++)
{eval(aScripts[i].innerHTML);}};vp.http.getBrowserMaxURLSize=function http_getBrowserMaxURLSize()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return vp.ui.browserSupportsPNG()?1900:760;};vp.http.getURLSizedForGET=function http_getURLSizedForGET(vUrl,vPotentiallyLargeParams,fnCallback)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var sUrl=vUrl.toString();if(sUrl.length<vp.http.getBrowserMaxURLSize())
{return sUrl;}
var oUrl=new vp.web.URL(sUrl);var sQueryString;if(!vPotentiallyLargeParams)
{sQueryString=oUrl.queryString;oUrl.queryString="";}
else
{var aParams;if(typeof(vPotentiallyLargeParams)=="string")
{aParams=[];aParams.add(vPotentiallyLargeParams);}
else
{aParams=vPotentiallyLargeParams;}
var oData={};for(var i=0;i<aParams.length;i++)
{var sValue=oUrl.getItem(aParams[i]);if(sValue)
{oData[aParams[i]]=sValue;oUrl.removeItem(aParams[i]);}}
sQueryString=vp.web.createQueryString(oData);}
var oPostData=new vp.web.QueryString();oPostData.setItem("long_url_storage_data",sQueryString);var fnCallbackWrapper=function pv_fnCallbackWrapper(sResponse)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oResponse=vp.http.parseJSON(sResponse);if(oResponse.isError)
{throw new Error("Couldn't store text data: "+oResponse.message);}
oUrl.setItem("long_url_storage_id",oResponse.id);var sUrl=oUrl.toString();if(sUrl.length>vp.http.getBrowserMaxURLSize())
{throw new Error("URL too long for GET");}
if(fnCallback)
{fnCallback(oUrl.toString());return false;}
else
{return oUrl.toString();}};if(fnCallback)
{vp.http.postAsync(vp.http._urlDataStorageWebServiceURL,oPostData.toString(),fnCallbackWrapper);return false;}
else
{return fnCallbackWrapper(vp.http.post(vp.http._urlDataStorageWebServiceURL,oPostData.toString()));}};vp.http._urlDataStorageWebServiceURL="/services/long-url-storage-service.aspx";(function(){var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},s={'boolean':function(x){return String(x);},'null':function(x){return"null";},number:function(x){return isFinite(x)?String(x):'null';},string:function(x){if(/["\\\x00-\x1f]/.test(x)){x=x.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c;}
c=b.charCodeAt();return'\\u00'+
Math.floor(c/16).toString(16)+
(c%16).toString(16);});}
return'"'+x+'"';},array:function(x){var a=['['],b,f,i,l=x.length,v;for(i=0;i<l;i+=1){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=',';}
a[a.length]=v;b=true;}}}
a[a.length]=']';return a.join('');},object:function(x){if(x){if(x instanceof Array){return s.array(x);}
var a=['{'],b,f,i,v;for(i in x){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=',';}
a.push(s.string(i),':',v);b=true;}}}
a[a.length]='}';return a.join('');}
return'null';}};vp.http.serializeJSON=function http_serializeJSON(o){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return s.object(o);};})();
