
if(typeof(RequestBatch)==='undefined'){RequestBatch=function(){this.initialize.apply(this,arguments);};var counter=0;var pendingRequests=0;function DirectAccessErrorHandler(msg,ex){}
(function(){function buildJsonpUrl(serverUrl,jsonString,callbackName){var separator=serverUrl.indexOf('?')==-1?"?":"&";serverUrl=serverUrl.replace('/Process','/Jsonp');return serverUrl+separator+"r="+encodeURIComponent(jsonString)+'&cb='+callbackName+'&pcksl='+encodeURIComponent(pcksl)+'&pckdt='+pckdt;}
function useJsonp(serverUrl,jsonString,callbackName){serverUrl=buildJsonpUrl(serverUrl,jsonString,callbackName);var isIE=false;if((isIE&&serverUrl.length<2083)||(!isIE&&serverUrl.length<4000)){return serverUrl;}
return false;}
function getCurrentUserFromCookie(){var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)===" ")c=c.substring(1,c.length);var eqIndex=c.indexOf("=");if(eqIndex>0){name=c.substring(0,eqIndex);value=c.substring(eqIndex+1);if(name.toLowerCase()=='hd'){value=unescape(value);value=value.split('|');return value[0];}}}
return null;}
function createSrcUrl(baseUrl,url,userId,gcid,currentTime){var regexstring=/\DDirect\/Process\?\w\S*/;myregexp=new RegExp(regexstring);baseUrl=baseUrl.indexOf('?')==-1?baseUrl.replace('/Direct/Process','/Stats/Tracker.gif'):baseUrl.replace(myregexp,'/Stats/Tracker.gif');return srcUrl=baseUrl+"?plckUrl="+encodeURIComponent(url)+"&plckUserId="+userId+"&plckGcid="+gcid+"&plckCurrentTime="+currentTime;}
RequestBatch.prototype={initialize:function(){this.UniqueId=counter++;this.Requests=new Array()},gcid:"daapiCall",InsertTrackerNode:function(serverUrl,requestUrl,userIdTrckr,gcid,currentTime){if(document.getElementById('slImgNodeTrckr')===null){var trackImgNode=document.createElement('img');trackImgNode.setAttribute('id',"slImgNodeTrckr");trackImgNode.src=createSrcUrl(serverUrl,requestUrl,userIdTrckr,gcid,currentTime);if(trackImgNode.style.setAttribute){trackImgNode.style.setAttribute('display','none');}else{trackImgNode.setAttribute('style','display:none');}
document.getElementsByTagName('body')[0].appendChild(trackImgNode);}},InitializeTracking:function(){var requestUrl=location.href;var userId=getCurrentUserFromCookie();var d=new Date();var me=this;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);me.InsertTrackerNode(serverUrl,requestUrl,userId,me.gcid,d.getTime());},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);me.InsertTrackerNode(serverUrl,requestUrl,userId,me.gcid,d.getTime());}});if(document.documentElement.doScroll&&window==window.top)(function(){try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
me.InsertTrackerNode(serverUrl,requestUrl,userId,me.gcid,d.getTime());})();}},HasTemplate:function(){return typeof(this["Template"])!="undefined";},AddToRequest:function(requestThis){this.Requests[this.Requests.length]=requestThis;},BeginRequest:function(serverUrl,callback){pendingRequests++;if(!RequestBatch.callbacks){RequestBatch.callbacks={};}
var jsonString=YAHOO.lang.JSON.stringify(this),ie=false;if(ie&&!RequestBatch.container){var body=document.body,div;RequestBatch.container=div=body.insertBefore(document.createElement('div'),body.firstChild);div.style.height=div.style.width=div.style.margin=div.style.padding=0;div.style.visibility=div.style.overflow='hidden';div.style.display='none';}
var daapiCallbackName='daapiCallback'+this.UniqueId;var thisRequest=this;if(jsonpServerUrl=useJsonp(serverUrl,jsonString,'RequestBatch.callbacks.'+daapiCallbackName)){var jsonpScriptNode=document.createElement('script');jsonpScriptNode.type="text/javascript";jsonpScriptNode.src=jsonpServerUrl;var headElem=document.getElementsByTagName('head')[0];RequestBatch.callbacks[daapiCallbackName]=(function(userCallback,headElem,scriptNode){return function(responses){if(thisRequest.HasTemplate()){userCallback(responses);}else{userCallback(responses.ResponseBatch);userCallback=headElem=scriptNode=null;}}})(callback,headElem,jsonpScriptNode);headElem.appendChild(jsonpScriptNode);}
else{var form=generateForm(this.UniqueId,serverUrl,jsonString);new iframe(form,{onComplete:function(request){processResponse(callback,request,thisRequest.HasTemplate());}},this.UniqueId);}
thisRequest.InitializeTracking();this.UniqueId=counter++;}};})();}
function generateForm(formId,serverUrl,inputVal){var form=document.createElement("form");form.acceptCharset="UTF-8";form.name="f"+formId;form.id="f"+formId;form.action=serverUrl;var inputElem=document.createElement("input");inputElem.name="jsonRequest";inputElem.type="hidden";inputElem.value=inputVal;form.appendChild(inputElem);form.method="post";if(navigator.userAgent.toLowerCase().indexOf('firefox')!=-1){var separator=serverUrl.indexOf('?')==-1?"?":"&";var fullRequestURL=serverUrl+separator+"jsonRequest="+escape(inputVal);if(fullRequestURL.length<4000){var sidPos=serverUrl.indexOf('sid=');if(sidPos!=-1){var endPos=serverUrl.indexOf('&',sidPos);var sid=serverUrl.substring(sidPos+'sid='.length,endPos==-1?serverUrl.length:endPos);var sidInputElem=document.createElement("input");sidInputElem.name="sid";sidInputElem.type="hidden";sidInputElem.value=sid;form.appendChild(sidInputElem);form.action=serverUrl.substring(0,sidPos-1);}
form.method="get";}}
(RequestBatch.container||document.body).appendChild(form);return form;}
function processResponse(callback,request,isTemplated)
{pendingRequests--;try{if(isTemplated){callback(request.ResponseText);}else{var jsonResponse=unescape(request.responseText);jsonResponse=jsonResponse.replace(/\\\>/g,">");var responseObject=YAHOO.lang.JSON.parse(jsonResponse);try{callback(responseObject.ResponseBatch);}catch(e){DirectAccessErrorHandler("exception during client callback",e);}}}catch(e){DirectAccessErrorHandler("exception during processResponse",e);}}
function getPendingRequestCount()
{return pendingRequests;}
document.iframeLoaders={};iframe=function(){this.initialize.apply(this,arguments);};iframe.prototype={initialize:function(form,options,count){count=count||(new Date()*1);if(!options)options={};this.form=form;this.uniqueId=count;document.iframeLoaders[this.uniqueId]=this;var url=form.action+'?jsonRequest='+escape(form.elements[0].value);var firstSlash=url.indexOf("/",url.indexOf("//")+2);this.transport=this.getTransport((firstSlash>0)?url.substring(0,firstSlash):"");this.onComplete=options.onComplete||null;this.update=this.$(options.update)||null;this.updateMultiple=options.multiple||false;if(((navigator.vendor&&(navigator.vendor.indexOf('Apple'))>-1)||window.opera)&&(/\/Direct\/Process(\?|$)/.test(form.action))&&form.elements&&(form.elements.length==1)){var doc=this.transport.contentWindow||this.transport.contentDocument;if(url.length<80000){if(doc.document)
doc=doc.document;try{doc.location.replace(url);return;}catch(e){};}}
form.target='frame_'+this.uniqueId;form.setAttribute("target",'frame_'+this.uniqueId);form.submit();},onStateChange:function(){this.transport=this.$('frame_'+this.uniqueId);try{var doc=this.transport.contentDocument.body.innerHTML;this.transport.contentDocument.close();}
catch(e){try{var doc=this.transport.contentWindow.document.body.innerHTML;this.transport.contentWindow.document.close();}
catch(e){try{var doc=this.transport.document.body.innerHTML;this.transport.document.body.close();}
catch(e){try{var doc=window.frames['frame_'+this.uniqueId].document.body.innerText;}
catch(e){}}}}
this.transport.responseText=doc;if(this.onComplete)setTimeout(this.bind(function(){this.onComplete(this.transport);},this),10);if(this.update)setTimeout(this.bind(function(){this.update.innerHTML=this.transport.responseText;},this),10);if(this.updateMultiple){setTimeout(this.bind(function(){try{var hasscript=false;eval("var inputObject = "+this.transport.responseText);for(var i in inputObject){if(i=='script'){hasscript=true;}
else{if(elm=this.$(i)){elm.innerHTML=inputObject[i];}else{}}}if(hasscript)eval(inputObject['script']);}catch(e){}},this),10);}},getTransport:function(baseUrl){var divElm=document.createElement('DIV'),frame;divElm.setAttribute('style','width: 0; height: 0; margin: 0; padding: 0; visibility: hidden; overflow: hidden');if(navigator.userAgent.indexOf('MSIE')>0&&navigator.userAgent.indexOf('Opera')==-1){divElm.style.width=0;divElm.style.height=0;divElm.style.margin=0;divElm.style.padding=0;divElm.style.visibility='hidden';divElm.style.overflow='hidden';divElm.innerHTML='<iframe name=\"frame_'+this.uniqueId+'\" id=\"frame_'+this.uniqueId+'\" src=\"'+baseUrl+'/ver1.0/Content/blank.html\" onload=\"setTimeout(function(){document.iframeLoaders['+this.uniqueId+'].onStateChange()},20);"></iframe>';}else{frame=document.createElement("iframe");frame.setAttribute("name","frame_"+this.uniqueId);frame.setAttribute("id","frame_"+this.uniqueId);frame.addEventListener("load",this.bind(function(){this.onStateChange();},this),false);divElm.appendChild(frame);}
(RequestBatch.container||document.body).appendChild(divElm);return frame;},bind:function(functionObject,referenceObject){return function(){return functionObject.apply(referenceObject,arguments);}},'$':function(id){return document.getElementById(id);}};var sections={};function pluck_signin(gotoProfile,writeAReview,u,urlqs){gotoProfile=gotoProfile===true?true:false;writeAReview=writeAReview===true?true:false;var url="/dialogs/signin.aspx";var idx=location.href.indexOf('#');u=(u&&u.length>0)?u:(idx==-1?location.href:location.href.substring(0,idx));var qs="";if(gotoProfile)
qs+="p=1";if(u){if(urlqs)
u+=(urlqs.indexOf("?")==-1?"?":"")+urlqs;if(writeAReview)
u+=(u.indexOf("?")==-1?"?":"")+"wrl=1#wrl";qs+=(qs==""?"":"&")+"u="+encodeURIComponent(u);}
if(qs.length>0)
url=url+"?"+qs;$_dialogs.SkinnedDialog(url,{DialogId:"pluck.signin",TemplateName:"dialog.pluck",Height:350,Width:700,Title:"Sign-In"});}
function pluck_register(){top.location.href='/Register.aspx?r='+encodeURIComponent(top.location.href);return false;}
function pluck(obj,func,opt){if(!obj)return;opt=opt||{};var req=new RequestBatch();if(typeof(obj.length)==="undefined")
obj=[obj];for(var i=0;i<obj.length;i++)
req.AddToRequest(obj[i]);function PluckResponse(res){var gexKey=/^(\w+)\:(.*?)$/;var foulLang=/(foul\slanguage)/gi;var rapidPosting=/(rapid\sposting)/gi;this.Response=res;if(!res.Messages||res.Messages.Count==0){this.IsOk=false;}else{for(var i=0;i<res.Messages.length;i++){if(res.Messages[i].Message.toLowerCase()=="ok"){this.IsOk=true;}else if(res.Messages[i].Message.match(gexKey)){var match=gexKey.exec(res.Messages[i].Message);if(match!=null&&match.length==3)
this.ResponseKeys[match[1]]=match[0];}else{if(res.Messages[i].Message.match(foulLang)){this.Errors.push({Type:"FoulLanguage",Message:res.Messages[i].Message});}else if(res.Messages[i].Message.match(rapidPosting)){this.Errors.push({Type:"RapidPosting",Message:res.Messages[i].Message});}else
this.Errors.push({Type:"Unknown",Message:res.Messages[i].Message});this.IsOk=false;}}}}
PluckResponse.prototype={Response:null,IsOk:false,Message:null,AlertOnError:opt.AlertOnError===false?false:true,ResponseKeys:{},Errors:[]};if(serverUrl.indexOf("://")==-1)
serverUrl="http://"+serverUrl;if(serverUrl.indexOf("/ver1.0/Direct/Process")==-1)
serverUrl=serverUrl+"/ver1.0/Direct/Process";req.BeginRequest(serverUrl,function(res){var pr=new PluckResponse(res);if(!pr.IsOk&&pr.AlertOnError)
alert("[Pluck Message]\n"+pr.Message);if(typeof(func)!=="undefined"&&func)
func(pr);});}
function ensureArticle(key,name,location,cb){var article=new UpdateArticleAction(new ArticleKey(key),pEncode(key+"|"+name+"|"+location),pEncode(name+" ("+location+")"),new Section(location),[]);pluck(article,function(res){cb(res);});}
function addSection(name,elem,requestType,handler){sections[name]={Name:name,Element:elem,RequestType:requestType,Handler:handler};}
function loadSections(){var item=null;var valid=true;loading(sections);for(var s in sections){item=sections[s];pluck(item.RequestType,function(section){return function(res){valid=true;if(!res.Response.Responses||res.Response.Responses.length==0)
valid=false;section.Handler(res,valid);loading(section.Element);}}(item));}}
function viewImage(url,title){var opt={DialogId:"view.image",TemplateName:"dialog.pluck",Width:"500",Height:"380",Title:"View Photo",Callback:function(div,frame){if(typeof(opt.ElementMap)==="undefined"||typeof(opt.ElementMap.Content)==="undefined")
return;if(typeof(opt.ElementMap.IFrame)!=="undefined")
opt.ElementMap.IFrame.parentNode.removeChild(opt.ElementMap.IFrame);var cont=opt.ElementMap.Content;var div=cont.appendChild($_dom.Elem("div",null,{className:"view-photo"}));div.appendChild($_dom.Elem("img",{src:url}));div.appendChild($_dom.Elem("div",null,{className:"title",innerHTML:title}));}};$_dialogs.SkinnedDialog(null,opt);}
function viewVideo(video,title){var opt={DialogId:"view.video",TemplateName:"dialog.pluck",Width:"500",Height:"380",Title:"View Video",Callback:function(div,frame){if(typeof(opt.ElementMap)==="undefined"||typeof(opt.ElementMap.Content)==="undefined")
return;if(typeof(opt.ElementMap.IFrame)!=="undefined")
opt.ElementMap.IFrame.parentNode.removeChild(opt.ElementMap.IFrame);var cont=opt.ElementMap.Content;var div=cont.appendChild($_dom.Elem("div",null,{className:"view-photo"}));$_.AddHandler(div,"mouseover",ic0n.fixTitle);div.appendChild($_dom.Elem("embed",{"type":"application/x-shockwave-flash","src":"/player.swf","width":"425","height":"320","wmode":"transparent","flashvars":"file="+video.VideoUrl}));div.appendChild($_dom.Elem("div",null,{className:"title",innerHTML:title}));}};$_dialogs.SkinnedDialog(null,opt);}
function loading(item,force){function cl(obj){if(obj.loader||force){$_dom.SetClass(obj,obj.className.replace("pluck-loading",""));if(obj.loader){obj.loader.parentNode.removeChild(obj.loader);obj.loader=null;}}else{obj.loader=loader($_dom.GetPosition(obj));$_dom.SetClass(obj,obj.className+" pluck-loading");}}
if(typeof(item.className)!=="undefined")
cl(item);else
$_.Each(item,function(k,i){if(i.Element)
cl(i.Element);else
cl(i);});}
function loader(pos){var div=document.body.appendChild(document.createElement("div"));div.style.position="absolute";div.innerHTML="<img src=\"/skins/default/g/loading2.gif\" style=\"float: right; margin: 8px;\"/>";$_dom.SetPosition(div,{Left:pos.Left,Top:pos.Top,Width:pos.Width});return div;}
function lcd(classname,content){return ce("div",classname,content);}
function ce(elem,classname,content){var div=document.createElement(elem);if(classname)div.className=classname;if(content)div.innerHTML=content;return div;}
function numToWord(str){str=parseFloat(str);switch(str){case 1:return"one";case 1.5:return"oneandhalf";case 2:return"two";case 2.5:return"twoandhalf";case 3:return"three";case 3.5:return"threeandhalf";case 4:return"four";case 4.5:return"fourandhalf";case 5:return"five";}
return str;}
function pagingControl(ul,opt){var pager=null;function link(pagenum,text,selected,clickevent){var a=$_dom.Elem("a",{"href":"javascript:void(0);"},text);if(selected===true)
$_dom.SetClass(a,"selected");if(clickevent===true){$_.AddHandler(a,"click",function(e,obj){opt.Page=pagenum;pager.CurrentPage=opt.Page;$_.Each($_dom.ByTag("a",ul),function(item){$_dom.SetClass(item,parseInt(item.innerHTML)==opt.Page?"selected":"");});if($_.Defined(opt,"Callback"))
opt.Callback(a,opt.Page);});}
ul.appendChild($_dom.Elem("li")).appendChild(a);return a;}
opt=opt||{};$_.Default(opt,"Page",1);$_.Default(opt,"FirstPage",1);$_.Default(opt,"Pages",10);$_.Default(opt,"TotalPages",10);$_.Default(opt,"Next",true);$_.Default(opt,"Previous",true);if(!ul)
ul=$_dom.Elem("ul","pluck-paging-control");pager={Element:ul,CurrentPage:opt.Page,TotalPages:opt.TotalPages,SetPage:function(pagenum){opt.CurrentPage=1;opt.Page=1;},Render:function(renderOptions){$_.Merge(opt,renderOptions);opt.LastPage=(opt.FirstPage+parseInt(opt.Pages))-1;if(opt.TotalPages<=opt.Pages){opt.Pages=opt.TotalPages;opt.LastPage=opt.Pages;opt.Next=false;opt.Previous=false;}else{if((opt.FirstPage+parseInt(opt.Pages))>=opt.TotalPages){opt.Next=false;opt.Previous=true;opt.LastPage=opt.TotalPages;}else{opt.Next=true;opt.Previous=opt.FirstPage==1?false:true;}}
pager.CurrentPage=opt.Page;pager.TotalPages=opt.TotalPages;$_dom.Clear(ul);if(opt.Previous===true){$_.AddHandler(link((opt.Page>1?opt.Page-1:1),"&lt;"),"click",function(e,obj){if(opt.FirstPage==1)
return;pager.Render({FirstPage:opt.FirstPage-opt.Pages,Page:opt.FirstPage});});}
for(var i=opt.FirstPage;i<=opt.LastPage;i++)
link(i,i.toString(),i==parseInt(opt.Page),true);if(opt.Next===true){$_.AddHandler(link((opt.Page+1),"&gt;"),"click",function(e,obj){pager.Render({FirstPage:opt.FirstPage+opt.Pages,Page:opt.FirstPage});});}}};return pager;}
function getDate(datetime){var postedDate=null;try{var d=/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})/.exec(datetime);postedDate=new Date(d[1],parseFloat(d[2])-1,d[3],d[4],d[5],d[6]);}catch(ex){}
return postedDate;}
function getProfileData(onpageurl){var p=/([^|]*)\|([^|]*)\|([^\|\?]*)((\?|\|)(.*))?/.exec(pDecode(onpageurl))
if(!p)return null;return{Id:p[1],Name:p[2],Location:p[3],Data:p.length>=7?p[6]:p[4]};}
function reportAbuse(objKey,abuseReason,cb){abuseReason=abuseReason||"General";cb=cb||false;var rKey=null;var reportKeys=new Array();if(typeof(objKey.ReviewKey)!=='undefined'){reportKeys=getPhotoVideoKeys(objKey.ReviewKey.Key);}
reportKeys.push(objKey);var opt={DialogId:"pluck.abuse",TemplateName:"dialog.pluck",Width:"470",Height:"243",Title:"Report Abuse",Callback:function(div,frame){if(typeof(opt.ElementMap)==="undefined"||typeof(opt.ElementMap.Content)==="undefined")
return;if(typeof(opt.ElementMap.IFrame)!=="undefined")
opt.ElementMap.IFrame.parentNode.removeChild(opt.ElementMap.IFrame);var cont=opt.ElementMap.Content;var div=cont.appendChild($_dom.Elem("div","pluck-write-comment"));div.appendChild($_dom.Elem("div","pluck-write-comment-top"));var divbody=div.appendChild($_dom.Elem("div","pluck-write-comment-contents"));divbody.appendChild($_dom.Elem("div","pluck-write-comment-title","Report Abuse"));divbody.appendChild($_dom.Elem("div","pluck-write-comment-divider"));divbody.appendChild($_dom.Elem("div","pluck-leave-comment","Description of abuse"));var txt=divbody.appendChild($_dom.Elem("textarea",{maxlength:300},{className:"pluck-comment-textarea"}));var txtcounter=divbody.appendChild($_dom.Elem("div","pluck-comment-character-count","300 characters left"));$_.AddListener(txt,"keyup",function(e,item){var len=txt.value.length;if(len>=300)txt.value=txt.value.substr(0,300);$_dom.SetContent(txtcounter,(300-len)+" characters left");});divbody.appendChild($_dom.Elem("div","pluck-write-comment-divider"));$_.AddHandler(divbody.appendChild($_dom.Elem("input",{"type":"image","src":"/skins/default/g/pluck/report.gif"})),"click",function(e,obj){if(!txt.value.length){alert('Please enter a description and click Submit');return;}
var abuseErrors=new Array();for(var j=0;j<reportKeys.length;j++){pluck(new ReportAbuseAction(reportKeys[j],abuseReason,txt.value),function(res){if(res.Errors.length){for(var i=0;i<res.Errors.length;i++){abuseErrors.push(res.Errors[i].Message);}}
if(typeof(cb)!=="undefined"&&cb)
setTimeout(cb,0);},{AlertOnError:false});}
if(abuseErrors.length){alert(abuseErrors.join("\n"));}
alert("Thank you for reporting abuse.");$_dialogs.Remove();});div.appendChild($_dom.Elem("div","pluck-write-comment-btm"));}};$_dialogs.SkinnedDialog(null,opt);}
function pEncode(text){var goodchars=[{Pattern:/(\%20)/gm,Value:" "},{Pattern:/(\%7c)/gim,Value:"|"}];text=escape(text);for(var i=0;i<goodchars.length;i++)
text=text.replace(goodchars[i].Pattern,goodchars[i].Value);return text;}
function pDecode(text){try{text=decodeURIComponent(text);}catch(ex1){try{text=unescape(text);}catch(ex2){}}
return text;}
function getPhotoVideoKeys(reviewKey,cb){cb=cb||function(res){return;};reviewKey=reviewKey||null;var keys=new Array();if(reviewKey){var pKey=new CustomCollectionKey(reviewKey+"_photos");var vKey=new CustomCollectionKey(reviewKey+"_videos");pluck([new CustomCollectionPage(pKey,10,1),new CustomCollectionPage(pKey,10,1)],function(res){if(res.Response.Responses.length==0||res.Response.Responses[0].CustomCollectionPage.NumberOfItems==0)
return;var items=res.Response.Responses[0].CustomCollectionPage.Items;for(var i=0;i<items.length;i++){if(typeof(items[i].Photo)!=='undefined')
keys.push(new PhotoKey(items[i].Photo.PhotoKey.Key));if(typeof(items[i].Video)!=='undefined')
keys.push(new VideoKey(items[i].Video.VideoKey.Key));}},{AlertOnError:false});}
return keys;}