
if(!LOCM){var LOCM={};}
var rating=0;var photos=[];var videos=[];var queue=[];var articleKey=new ArticleKey(key);var photosul=null;var videosul=null;var reviewsPager=null;var vgallery=null;var pgallery=null;var showwc=true;var initialload=true;var profileData=key+"|"+article_title+"|"+article_loc;$_.OnLoad(function(){ensureArticle(key,article_title,article_loc,function(res){loadReviews();});var objul=$_dom.ById("set-rating");$_.Each($_dom.ByTag("li",objul),function(item){$_.AddHandler(item,"click",function(){$_dom.SetClass(objul,"rating "+item.className+"star");switch(item.className.toLowerCase()){case"half":rating=".5";break;case"one":rating="1";break;case"oneandhalf":rating="1.5";break;case"two":rating="2";break;case"twoandhalf":rating="2.5";break;case"three":rating="3";break;case"threeandhalf":rating="3.5";break;case"four":rating="4";break;case"fourandhalf":rating="4.5";break;case"five":rating="5";break;}
return false;});});photosul=$_dom.ById("uploaded-photos");videosul=$_dom.ById("uploaded-video");var rbc=$_dom.ById("review-body-count");$_.AddListener($_dom.ById("review-body"),"keyup",function(e,item){var len=item.value.length;if(len>=3000)item.value=item.value.substr(0,3000);$_dom.SetContent(rbc,(3000-len)+" characters left");});var rtc=$_dom.ById("review-title-count");$_.AddListener($_dom.ById("review-title"),"keyup",function(e,item){var len=item.value.length;if(len>=100)item.value=item.value.substr(0,100);$_dom.SetContent(rtc,(100-len)+" characters left");});reviewsPager=LOCM.createPager();});LOCM.createPager=function(){return reviewsPager=pagingControl($_dom.ById("paging-control"),{Callback:function(a,page){loadReviews();}});};LOCM.detectRequiredPhotoTitles=function(){try{var strMsg='';var intCounter=0;var oInputs=$_dom.GetByTag('input');var i=-1;var j=oInputs.length;while(++i<j){if(oInputs[i].className==='photo-title'){intCounter++;var strId=oInputs[i].id;var strTitle=oInputs[i].value;if(strTitle.length===0){if(strMsg.length===0){document.getElementById(oInputs[i].id).focus();}
if(strId.indexOf('photo')>-1){strMsg+='* Photo '+intCounter+'\n';}else if(strId.indexOf('video')>-1){strMsg+='* Video '+intCounter+'\n';}else{}}}}
if(strMsg.length>0){strMsg='A Title is Required for: \n'+strMsg;alert(strMsg);return false;}else{return true;}}catch(e){return true;}};var _totalPages=0;function goToOtherPage(lnk,tens){if(tens){if(lnk.innerHTML=="&gt;"){$('#paging-control').empty();$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this,'+parseInt(tens-10)+')">&lt;</a></li>');for(var i=tens;i<tens+10;i++){$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this)">'+i+'</a></li>');if(i==_totalPages)
return;}
$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this,'+parseInt(tens+10)+')">&gt;</a></li>');}
else if(lnk.innerHTML=="&lt;"){$('#paging-control').empty();if(tens>10)
$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this,'+parseInt(tens-10)+')">&lt;</a></li>');for(var i=tens;i<tens+10;i++){$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this)">'+i+'</a></li>');}
$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this,'+parseInt(tens+10)+')">&gt;</a></li>');}}
else{loadReviews(lnk.innerHTML);}}
function loadReviews(pagenum){pagenum=pagenum||reviewsPager.CurrentPage;var section=$_dom.ById("reviews-section");var p=$_dom.ById("reviews");if(!p)return;p.innerHTML="";if(!window.attachEvent)
loading(section);$_ajax.Get("/ver1.0/ReviewPage.app?onPage="+pagenum+"&reviewsPerPage=10&articleKey="+artKey+"&pcksl="+encodeURIComponent(pcksl)+"&pckdt="+pckdt,function(res){var page=res.ParseJson();document.getElementById('totalReviewsText').innerHTML='('+page.ReviewsPage.TotalItems+')';switch(Math.round(page.ReviewsPage.AverageReviewRating)){case 0:break;case 1:$('#reviews-summary-stars').addClass('onestar');break;case 2:$('#reviews-summary-stars').addClass('twostar');break;case 3:$('#reviews-summary-stars').addClass('threestar');break;case 4:$('#reviews-summary-stars').addClass('fourstar');break;case 5:$('#reviews-summary-stars').addClass('fivestar');break;}
_totalPages=Math.ceil(parseInt(page.ReviewsPage.TotalItems)/page.ReviewsPage.ItemsPerPage);$('#paging-control').empty();var pageNumStr=pagenum.toString();if(pageNumStr.length==1){if(_totalPages>1){for(var i=1;i<=10;i++){if(pagenum==i)
$('#paging-control').append('<li><a style="font-weight:bold" href="javascript:void(0)" onclick="goToOtherPage(this)">'+i+'</a></li>');else
$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this)">'+i+'</a></li>');if(i>_totalPages-1)break;}
if(_totalPages>10)
$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this,'+parseInt(11)+')">&gt;</a></li>');}}
else{var pageNum10=parseInt(pageNumStr.substr(0,1)+1);$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this,'+parseInt(pageNum10-10)+')">&lt;</a></li>');for(var i=pageNum10;i<pageNum10+10;i++){if(pagenum==i)
$('#paging-control').append('<li><a style="font-weight:bold" href="javascript:void(0)" onclick="goToOtherPage(this)">'+i+'</a></li>');else
$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this)">'+i+'</a></li>');if(i>_totalPages-1)break;}
if(_totalPages>=pageNum10+10)
$('#paging-control').append('<li><a href="javascript:void(0)" onclick="goToOtherPage(this,'+parseInt(pageNum10+10)+')">&gt;</a></li>');}
if(!page||!$_.Defined(page,"ReviewsPage")){alert("An error has occurred loading the review data");return;}
$_dom.Clear(p);for(var i=0;i<page.ReviewsPage.Items.length;i++)
buildReview(page.ReviewsPage.Items[i],p);if(!window.attachEvent)
loading(section);if(initialload&&revkey&&revkey.length>0){var revdiv=$_dom.ById("review_"+revkey);if(revdiv)
revdiv.scrollIntoView(true);}
initialload=false;});}
LOCM.loadReviews=loadReviews;function loadCustomCollection(key,review,cb){pluck(new CustomCollectionPage(key,10,1),function(res){if(res.Response.Responses.length==0||res.Response.Responses[0].CustomCollectionPage.NumberOfItems==0)
return;var temp=null;var hasPhotos=false;var hasVideos=false;var reviewKey=review.ReviewKey.Key.replace("ReviewKey:","");var items=res.Response.Responses[0].CustomCollectionPage.Items;var photosDiv=$_dom.ById("review-photos-"+reviewKey);var videosDiv=$_dom.ById("review-videos-"+reviewKey);for(var j=0;j<items.length;j++){if(typeof(items[j].Photo)!=="undefined"){temp=photosDiv.appendChild($_dom.Elem("div",null,{className:"media-thumb"}));temp.appendChild($_dom.Elem("img",{"src":items[j].Photo.Image.Small,"alt":items[j].Photo.Title},{onclick:function(){viewImage(this.src.replace("Small.jpg","Large.jpg"),this.alt);}}));temp.appendChild($_dom.Elem("span",null,{innerHTML:pDecode(items[j].Photo.Title)}));hasPhotos=true;continue;}
if(typeof(items[j].Video)!=="undefined"){temp=videosDiv.appendChild($_dom.Elem("div",null,{className:"media-thumb"}));temp.appendChild($_dom.Elem("img",{"src":items[j].Video.VideoThumbnail,"alt":items[j].Video.Title},{onclick:function(video){return function(){viewVideo(video,this.alt);}}(items[j].Video)}));temp.appendChild($_dom.Elem("span",null,{innerHTML:pDecode(items[j].Video.Title)}));hasVideos=true;continue;}}
if(hasPhotos)$_dom.Toggle("review-photos-container-"+reviewKey,"block");if(hasVideos)$_dom.Toggle("review-videos-container-"+reviewKey,"block");if(typeof(cb)!=="undefined"&&cb)
setTimeout(function(){cb(review);},0);},{AlertOnError:false});}
LOCM.loadCustomCollection=loadCustomCollection;function createReview(){var title=$_dom.ById("review-title").value;var desc=$_dom.ById("review-body").value;if(!title.length){alert('Please enter a title');$_dom.Focus('review-title')
return;}
if(desc.length<50){alert('Please enter a review. Your review must be a minimum of 50 characters');$_dom.Focus('review-body');return;}
if(rating==0){alert('Please select a rating for this review using the stars above');return;}
function createColl(rkey,name,col,isPhoto){if(col&&col.length>0){var colkey=new CustomCollectionKey(rkey+"_"+name);pluck(new AddCustomCollectionAction(colkey,name),function(res){var k=profileData+"|"+rkey;var actions=[];for(var i=0;i<col.length;i++){actions.push(new InsertIntoCollectionAction(colkey,(isPhoto?new PhotoKey(col[i].Key):new VideoKey(col[i].Key)),0));if(isPhoto)
actions.push(new UpdatePhotoAction(new PhotoKey(col[i].Key),pEncode(col[i].Title||"Untitled"),pEncode(k),""));else
actions.push(new UpdateVideoAction(new VideoKey(col[i].Key),pEncode(col[i].Title||"Untitled"),pEncode(k),""));}
if(actions.length>0)
pluck(actions);});}
for(var i=0;i<col.length;i++){if(col[i].Thumbnail){col[i].Thumbnail.parentNode.removeChild(col[i].Thumbnail);col[i].Thumbnail=null;}}}
pluck(new ReviewAction(articleKey,key,pEncode(article_title),pEncode(title),parseInt(rating),pEncode(desc),pEncode(profileData),""),function(res){if(res.Errors.length){var messages=new Array();for(var i=0;i<res.Errors.length;i++){messages.push(res.Errors[i].Message);}
alert(messages.join("\n"));return;}
if(res.IsOk){var reviewkey=res.ResponseKeys.ReviewKey;createColl(reviewkey,"photos",photos,true);createColl(reviewkey,"videos",videos,false);pluck(new UpdateCustomItemAction(new CustomItemKey(reviewkey+"_metadata"),"ProfileData","","",pEncode(profileData),false));if(pgallery||vgallery){if(pgallery)
pluck(new UpdateGalleryAction(new GalleryKey(pgallery.GalleryKey.Key),new GalleryType(pgallery.GalleryType.Name),new MediaType(pgallery.MediaType.Name),pEncode(title+" Media"),"",pgallery.Tags,new Section(pgallery.Section.Name)));if(vgallery)
pluck(new UpdateGalleryAction(new GalleryKey(vgallery.GalleryKey.Key),new GalleryType(vgallery.GalleryType.Name),new MediaType(vgallery.MediaType.Name),pEncode(title+" Media"),"",vgallery.Tags,new Section(vgallery.Section.Name)));}
$_dom.SetContent("review-title","");$_dom.SetContent("review-body","");for(var i=1;i<=5;i++){$_dom.ById("frm-review-photo-"+i).removeChild($_dom.ById("review-photo-"+i));newFileInput=document.createElement("input");newFileInput.setAttribute("type","file");newFileInput.setAttribute("name","Filedata");newFileInput.setAttribute("id","review-photo-"+i);newFileInput.setAttribute("class","pluck-media-input");$_dom.ById("frm-review-photo-"+i).appendChild(newFileInput);}
$_dom.ById("frm-review-video-1").removeChild($_dom.ById("review-video-1"));newFileInput=document.createElement("input");newFileInput.setAttribute("type","file");newFileInput.setAttribute("name","Filedata");newFileInput.setAttribute("id","review-video-1");newFileInput.setAttribute("class","pluck-media-input");$_dom.ById("frm-review-video-1").appendChild(newFileInput);var rtc=$_dom.ById("review-title-count");$_dom.SetContent(rtc,(100)+" characters left");var rbc=$_dom.ById("review-body-count");$_dom.SetContent(rbc,(3000)+" characters left");$_dom.SetClass($_dom.ById("set-rating"),"rating");$_dom.Toggle("upload-videos","block");$_dom.Toggle("upload-photos","block");$_dom.Toggle("write-review","none");loadReviews(1);}else
alert("An error occurred creating your review.");},{AlertOnError:false});}
LOCM.createReview=createReview;function uploadPhotos(){var opt={DialogId:"upload.photo",TemplateName:"dialog.pluck",Width:"500",Height:"350",Title:"Upload Photos",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;cont=cont.appendChild(lcd("pluck-media-dialog"));var title=cont.appendChild(lcd("pluck-upload-title-bar"));title.appendChild(ce("span","pluck-upload-title","Photos"));title.appendChild(ce("span","pluck-upload-disclaimer","* Titles of Photos Required"));var ul=cont.appendChild($_dom.Elem("ul",null,{className:"pluck-media-uploads"}));queue=[];var imgs=[];var img=null;for(var i=1;i<6;i++){img=$_dom.ById("review-photo-"+i);if(img.value.length>0&&img.disabled==false){imgs.push(img);buildMediaContent(img,ul);}}
var li=ul.appendChild($_dom.Elem("li"));saveButton(li);clearButton(li);function u(){if(imgs.length==0)return;var img=imgs.shift();var obj=null;for(var i=queue.length-1;i>=0;i--){if(queue[i].ElemId==img.id){obj=queue[i];break;}}
if(!obj)return;uploadPhoto(obj,function(){u()});}
u();}};$_dom.Toggle("select-photos","none");$_dom.Toggle("uploaded-photos-container","block");$_dialogs.SkinnedDialog(null,opt);}
LOCM.uploadPhotos=uploadPhotos;function uploadVideo(){var img=$_dom.ById("review-video-1");if(img.value.length>0){var validext=[".mp4",".vob",".mpg",".3gp",".avi",".asf",".wmv",".mov",".flv",".vp6"];var exts=/\.\w{2,4}$/.exec(img.value);var ext=exts.length>0?exts[0]:null;var valid=false;for(var i=0;i<validext.length;i++){if(validext[i]==ext.toLowerCase()){valid=true;break;}}
if(!valid){alert("Please select a supported video format: .mp4, .vob, .mpg, .3gp, .avi, .asf, .wmv, .mov, .flv, .vp6");return;}}
var opt={DialogId:"upload.video",TemplateName:"dialog.pluck",Width:"500",Height:"350",Title:"Upload 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;cont=cont.appendChild(lcd("pluck-media-dialog"));var title=cont.appendChild(lcd("pluck-upload-title-bar"));title.appendChild(ce("span","pluck-upload-title","Video"));title.appendChild(ce("span","pluck-upload-disclaimer","* Titles of Video Required"));var ul=cont.appendChild($_dom.Elem("ul",null,{className:"pluck-media-uploads"}));queue=[];buildMediaContent(img,ul);var obj=null;if(queue.length==1)
obj=queue[0];if(!obj)return;var li=ul.appendChild($_dom.Elem("li"));saveButton(li);clearButton(li);uploadVideoContent(obj);}};$_dom.Toggle("select-video","none");$_dom.Toggle("uploaded-video-container","block");$_dialogs.SkinnedDialog(null,opt);}
LOCM.uploadVideo=uploadVideo;function saveButton(parentObj){$_.AddHandler(parentObj.appendChild($_dom.Elem("a",{"href":"#"},{className:"upload-media-button",innerHTML:"Save"})),"click",function(){var titleinput=null;var delinput=null;var canSave=LOCM.detectRequiredPhotoTitles();if(!canSave)return;for(var i=0;i<queue.length;i++){titleinput=$_dom.ById("uploaded-title-"+queue[i].ElemId);delinput=$_dom.ById("uploaded-delete-"+queue[i].ElemId);if(delinput&&delinput.checked){if(queue[i].Thumbnail){queue[i].Thumbnail.parentNode.removeChild(queue[i].Thumbnail);queue[i].Thumbnail=null;}
var xcol=[];var col=queue[i].IsPhoto?photos:videos;for(var j=0;j<col.length;j++)
if(col[j].Id!=queue[i].Id)
xcol.push(col[j]);if(queue[i].IsPhoto)
photos=xcol;else
videos=xcol;}else{var exists=false;var col=queue[i].IsPhoto?photos:videos;for(var j=0;j<col.length;j++){if(col[j].Id==queue[i].Id){exists=true;break;}}
if(!exists){if(queue[i].IsPhoto)
photos.push(queue[i]);else
videos.push(queue[i]);}
if(titleinput.value.length>0){queue[i].Title=titleinput.value;var action=null;if(queue[i].IsPhoto)
action=new UpdatePhotoAction(new PhotoKey(queue[i].Key),pEncode(queue[i].Title),"","")
else
action=new UpdateVideoAction(new VideoKey(queue[i].Key),pEncode(queue[i].Title),"","")
pluck(action,function(obj){var item=obj;return function(res){var titleelem=$_dom.ById("photo-title-"+item.Id);titleelem.innerHTML=item.Title;};}(queue[i]));}}}
if(queue.length>0)
{if(queue[0].IsPhoto){if($_dom.ById('uploaded-photos').getElementsByTagName('li').length>=5)
$_dom.Toggle("upload-photos","none");else
$_dom.Toggle("upload-photos","block");}
else if(!queue[0].IsPhoto){if($_dom.ById('uploaded-video').getElementsByTagName('li').length>=1)
$_dom.Toggle("upload-videos","none");else
$_dom.Toggle("upload-videos","block");}}
queue=[];$_dialogs.Remove();return false;});}
LOCM.saveButton=saveButton;function clearButton(parentObj){$_.AddHandler(parentObj.appendChild($_dom.Elem("a",{"href":"#"},{className:"upload-media-button",innerHTML:"Cancel"})),"click",function(){if(confirm("Are you sure you would like to cancel this upload?")){for(var i=0;i<queue.length;i++){if(queue[i].Thumbnail&&queue[i].ElemId!="edit-photo"){queue[i].Thumbnail.parentNode.removeChild(queue[i].Thumbnail);queue[i].Thumbnail=null;}}
queue=[];$_dialogs.Remove();}
return false;});}
LOCM.clearButton=clearButton;function editButton(item){var opt={DialogId:"edit.dialog",TemplateName:"dialog.pluck",Width:"500",Height:"280",Title:item.IsPhoto?"Edit Photo":"Edit 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;cont=cont.appendChild(lcd("pluck-media-dialog"));var title=cont.appendChild(lcd("pluck-upload-title-bar"));title.appendChild(ce("span","pluck-upload-title",item.IsPhoto?"Edit Photo":"Edit Video"));var ul=cont.appendChild($_dom.Elem("ul",null,{className:"pluck-media-uploads"}));buildMediaContent({id:"edit-photo"},ul,{ImageSrc:item.Src,Title:item.Title,AllowDelete:true,Object:item});var li=ul.appendChild($_dom.Elem("li"));saveButton(li);clearButton(li);}};$_dialogs.SkinnedDialog(null,opt);}
LOCM.editButton=editButton;function deleteButton(parentobj,item){if(confirm("Are you sure you want to delete this item?")){parentobj.parentNode.removeChild(parentobj);}
var col=item.IsPhoto?photos:videos;var xcol=[];for(var i=0;i<col.length;i++)
if(col[i].Id!=item.Id)
xcol.push(col[i]);if(item.IsPhoto)
photos=xcol;else
videos=xcol;queue=xcol;if(queue.length==0){if(item.IsPhoto)
$_dom.Toggle("upload-photos","block");else
$_dom.Toggle("upload-videos","block");}
else{if(queue[0].IsPhoto&&$_dom.ById('uploaded-photos').getElementsByTagName('li').length<5)
$_dom.Toggle("upload-photos","block");else if(!queue[0].IsPhoto&&$_dom.ById('uploaded-video').getElementsByTagName('li').length<1)
$_dom.Toggle("upload-videos","block");}}
LOCM.deleteButton=deleteButton;function buildMediaContent(obj,pobj,opt){var div=null;var p=null;var li=null;opt=opt||{};$_.Default(opt,"ImageSrc","");$_.Default(opt,"Title","");$_.Default(opt,"AllowDelete",true);li=pobj.appendChild(ce("li"));li.appendChild($_dom.Elem("div",null,{className:"pluck-media-thumb",innerHTML:"<img id=\""+obj.id+"-photo-preview\" src=\""+(opt.ImageSrc.length>0?opt.ImageSrc:"/skins/default/g/loading2.gif")+"\" class=\""+(opt.ImageSrc.length>0?"loaded":"")+"\"/>"}));div=li.appendChild(lcd("pluck-media-fileinfo"));p=div.appendChild($_dom.Elem("p",null,{innerHTML:"Title: "}));p.appendChild($_dom.Elem("input",{type:"text",id:"uploaded-title-"+obj.id,maxlength:"50",value:opt.Title},{className:"photo-title"}));if(opt.AllowDelete){p=div.appendChild($_dom.Elem("p"));p.appendChild($_dom.Elem("input",{type:"checkbox",id:"test-media",id:"uploaded-delete-"+obj.id},{className:"photo-delete"}));p.appendChild($_dom.Elem("label",{"for":"test-media"},{innerHTML:"Delete Item"}));}
if(typeof(opt.Object)!=="undefined"){opt.Object.ElemId=obj.id;queue.push(opt.Object);}else
queue.push({Id:$_.GenerateId(),ElemId:obj.id,Key:"",Elem:li,Title:"",Src:null,Thumbnail:null,Object:null,IsPhoto:true,Uploaded:false});}
LOCM.buildMediaContent=buildMediaContent;function uploadPhoto(photo,cb){var frm=null;function doupload(){if(typeof(frm.HasKeys)==="undefined"||!frm.HasKeys){frm.appendChild($_dom.Elem("input",{type:"hidden",name:"galleryKey",value:""+pgallery.GalleryKey.Key}));frm.appendChild($_dom.Elem("input",{type:"hidden",name:"userKey",value:userId}));frm.HasKeys=true;}
new iframe(frm,{onComplete:function(res){if(typeof(res.responseText)==="undefined"||res.responseText.length==0||res.responseText.indexOf("Error:")!=-1){alert("There was an error uploading your photo.");photo.Elem.parentNode.removeChild(photo.Elem);return;}
photo.Key=res.responseText;photo.Uploaded=true;loadImage(photo,function(){if(photo.Src.length>0){var li=photosul.appendChild($_dom.Elem("li"));li.appendChild($_dom.Elem("img",{src:photo.Src},{className:"thumb"}));li.appendChild($_dom.Elem("div",{"id":"photo-title-"+photo.Id},{innerHTML:photo.Title&&photo.Title.length>0?photo.Title:""}));var aEdit=li.appendChild($_dom.Elem("a",{"href":"#"},{innerHTML:"edit"}));$_.AddHandler(aEdit,"click",function(){editButton(photo);return false;});li.appendChild($_dom.Elem("span",null,{innerHTML:"&nbsp;|&nbsp;"}));var aDel=li.appendChild($_dom.Elem("a",{"href":"#"},{innerHTML:"delete"}));$_.AddHandler(aDel,"click",function(){deleteButton(li,photo);return false;});photo.Thumbnail=li;}
if(typeof(cb)!=="undefined"&&cb)
setTimeout(cb,0);});}});}
frm=$_dom.ById("frm-"+photo.ElemId);if(!frm)return;if(!pgallery){createReviewGallery(function(){doupload();},"Photo");}else
doupload();}
LOCM.uploadPhoto=uploadPhoto;function loadImage(photo,cb){pluck(new PhotoKey(photo.Key),function(imgres){if(imgres.Response.Responses.length==0){alert("There was an error uploading your photo.");return;}
var d=$_dom.ById(photo.ElemId+"-photo-preview");if(!d)return;photo.Object=imgres.Response.Responses[0].Photo;d.src=photo.Object.Image.Small;photo.Src=photo.Object.Image.Small;if(typeof(cb)!=="undefined"&&cb)
setTimeout(cb,0);});}
LOCM.loadImage=loadImage;function createReviewGallery(cb,galleryType){galleryType=galleryType||"Photo";pluck(new UpdateGalleryAction(null,new GalleryType("Persona"),new MediaType(galleryType),"Title","Desc","",new Section("Main")),function(res){if(!res||res.Response.Responses.length==0){alert('There was a problem uploading your photo (G20)');return;}
var gallery=res.Response.Responses[0].Gallery;if(galleryType.toLowerCase()=="photo")
pgallery=gallery;else
vgallery=gallery;if(cb)
cb(gallery);});}
LOCM.createReviewGallery=createReviewGallery;function uploadVideoContent(video,cb){var frm=null;function doupload(){if(typeof(frm.HasKeys)==="undefined"||!frm.HasKeys){frm.appendChild($_dom.Elem("input",{type:"hidden",name:"galleryKey",value:""+vgallery.GalleryKey.Key}));frm.appendChild($_dom.Elem("input",{type:"hidden",name:"userKey",value:userId}));frm.HasKeys=true;}
new iframe(frm,{onComplete:function(res){if(typeof(res.responseText)==="undefined"||res.responseText.length==0||res.responseText.indexOf("Error:")!=-1){alert("There was an error uploading your video.");video.Elem.parentNode.removeChild(video.Elem);return;}
video.Key=res.responseText;video.Uploaded=true;loadVideo(video,function(videoitem){if(video.Src.length>0){var li=videosul.appendChild($_dom.Elem("li"));li.appendChild($_dom.Elem("img",{src:video.Src},{className:"thumb"}));li.appendChild($_dom.Elem("div",{"id":"photo-title-"+video.Id},{innerHTML:video.Title&&video.Title.length>0?video.Title:""}));var aEdit=li.appendChild($_dom.Elem("a",{"href":"#"},{innerHTML:"edit"}));$_.AddHandler(aEdit,"click",function(){editButton(video);return false;});li.appendChild($_dom.Elem("span",null,{innerHTML:"&nbsp;|&nbsp;"}));var aDel=li.appendChild($_dom.Elem("a",{"href":"#"},{innerHTML:"delete"}));$_.AddHandler(aDel,"click",function(){deleteButton(li,video);return false;});video.Thumbnail=li;}
if(typeof(cb)!=="undefined"&&cb)
setTimeout(cb,0);});}});}
frm=$_dom.ById("frm-"+video.ElemId);if(!frm)return;if(!vgallery){createReviewGallery(function(){doupload();},"Video");}else
doupload();}
LOCM.uploadVideoContent=uploadVideoContent;function loadVideo(video,cb){pluck(new VideoKey(video.Key),function(vidres){if(vidres.Response.Responses.length==0){alert("There was an error uploading your video.");return;}
video.IsPhoto=false;video.Object=vidres.Response.Responses[0].Video;video.Src=video.Object.VideoThumbnail;if(!video.Src||video.Src.length==0)
video.Src="/skins/default/g/video.gif";var d=$_dom.ById(video.ElemId+"-photo-preview");if(d){d.src=video.Src;$_dom.SetClass(d,"loaded");}
if(typeof(cb)!=="undefined"&&cb)
setTimeout(cb,0);});}
LOCM.loadVideo=loadVideo;function writeComment(review,reviewKey,title,cb){var opt={DialogId:"review.writecomment no-title-bar",TemplateName:"dialog.pluck",Width:"470",Height:"250",Title:"Write Comment",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","Write a Comment"));divbody.appendChild($_dom.Elem("div","pluck-write-comment-divider"));divbody.appendChild($_dom.Elem("div","pluck-leave-comment","Leave a comment for this review"));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/submit-comment.gif"})),"click",function(e,obj){if(!txt.value.length){alert('Please enter a comment and click Submit');return;}
pluck(new CommentAction(new ArticleKey(reviewKey),pEncode(profileData),title,pEncode(txt.value)),function(res){if(res.Errors.length){var messages=new Array();for(var i=0;i<res.Errors.length;i++){messages.push(res.Errors[i].Message);}
alert(messages.join("\n"));return;}
if(typeof(cb)!=="undefined"&&cb)
setTimeout(cb,0);loadComments(review,reviewKey,true);$_dialogs.Remove();},{AlertOnError:false});});div.appendChild($_dom.Elem("div","pluck-write-comment-btm"));}};$_dialogs.SkinnedDialog(null,opt);}
LOCM.writeComment=writeComment;function buildReview(review,pobj){var dreview=lcd("pluck-review-block");var div1=null;var div2=null;var reviewKey=review.ReviewKey.Key;var uireviewKey=reviewKey.replace("ReviewKey:","");function comment(){writeComment(review,reviewKey,review.Title,function(){review.NumberOfComments++;$_dom.SetContent(elemCommentCount,review.NumberOfComments+"<span class=\"pluck-arrow\"></span>");});}
dreview.appendChild($_dom.Elem("a",{"name":"review_"+uireviewKey}));var maindiv=div1=dreview.appendChild($_dom.Elem("div",{id:"review_"+uireviewKey},{className:"pluck-padding"}));div1.appendChild(lcd("pluck-review-image","<img style=\"width:85px;height:85px;border:solid 1px #ccc;background:#eee;\" src=\""+review.Owner.AvatarPhotoUrl+"\"></div>"));div2=div1.appendChild(lcd("pluck-review-poster"));div2.appendChild(lcd("pluck-right","<strong>Rating</strong>&nbsp;<ul class=\"rating "+numToWord(parseInt(review.Rating))+"star pluck-review-rating\"></ul>"));div2.appendChild(lcd("pluck-poster-name","<a href=\"/user/"+review.Owner.UserKey.Key+"/"+review.Owner.DisplayName+".aspx\">"+pDecode(review.Owner.DisplayName)+"</a>"));div2.appendChild(lcd("pluck-poster-loc",pDecode(review.Owner.Location)));div2.appendChild(lcd("pluck-poster-cred","written "+review.Owner.NumberOfReviews+" reviews"));div2.appendChild(lcd("pluck-posted-date","posted: "+getDate(review.DatePosted).toDateString()));div1.appendChild(lcd("clear"));div1=dreview.appendChild(lcd("pluck-padding"));div1.appendChild(lcd("pluck-review-title",pDecode(review.Title)));div1.appendChild(lcd("pluck-review-contents",pDecode(review.Body.replace("\n","<br>"))));div2=div1.appendChild($_dom.Elem("div",{id:"review-photos-container-"+uireviewKey},{className:"review-media-link"}));div2.appendChild($_dom.Elem("div",null,{className:"pluck-media-title",innerHTML:"<span class=\"media-title\">Photos from this review</span> (click to view)</div>"}));div2.appendChild($_dom.Elem("div",{"id":"review-photos-"+uireviewKey}));div2.appendChild($_dom.Elem("div",null,{className:"clear"}));div2=div1.appendChild($_dom.Elem("div",{id:"review-videos-container-"+uireviewKey},{className:"review-media-link"}));div2.appendChild($_dom.Elem("div",null,{className:"pluck-media-title",innerHTML:"<span class=\"media-title\">Videos from this review</span> (click to view)</div>"}));div2.appendChild($_dom.Elem("div",{"id":"review-videos-"+uireviewKey}));div2.appendChild($_dom.Elem("div",null,{className:"clear"}));$_dom.InsertHtml(div1,"<br/>");div1=dreview.appendChild(lcd("pluck-padding"));div2=div1.appendChild(lcd("pluck-brief-bar"));var elemCommentCount=div2.appendChild($_dom.Elem("span","pluck-number",review.NumberOfComments+"<span class=\"pluck-arrow\"></span>"));$_.AddHandler(div2.appendChild($_dom.Elem("a",{"href":"#"},{className:"aggregate",innerHTML:"Comment(s)"})),"click",function(){loadComments(review,reviewKey);return false;});div2.appendChild($_dom.Elem("span","pluck-pipe","|"));div2.appendChild($_dom.Elem("span","pluck-number",review.NumberOfPhotos+"<span class=\"pluck-arrow\"></span>"));$_.AddHandler(div2.appendChild($_dom.Elem("a",{"href":"#"},{className:"aggregate",innerHTML:"Photo(s)"})),"click",function(){if(!review.PhotosLoaded){loadCustomCollection(new CustomCollectionKey(reviewKey+"_photos"),review);review.PhotosLoaded=true;}
return false;});div2.appendChild($_dom.Elem("span","pluck-pipe","|"));div2.appendChild($_dom.Elem("span","pluck-number",review.NumberOfVideos+"<span class=\"pluck-arrow\"></span>"));$_.AddHandler(div2.appendChild($_dom.Elem("a",{"href":"#"},{className:"aggregate",innerHTML:"Video(s)"})),"click",function(){if(!review.VideosLoaded){loadCustomCollection(new CustomCollectionKey(reviewKey+"_videos"),review);review.VideosLoaded=true;}
return false;});div2.appendChild($_dom.Elem("span","pluck-pipe","|"));$_.AddHandler(div2.appendChild($_dom.Elem("a",{"href":"javascript:void(0);"},{innerHTML:"Report Abuse"})),"click",function(e,obj){if(loggedIn){reportAbuse(new ReviewKey(reviewKey),"review");}else{pluck_signin(false,false,null,"wc="+uireviewKey);}});div2.appendChild($_dom.Elem("span","pluck-pipe","|"));$_.AddHandler(div2.appendChild($_dom.Elem("a",{"href":"javascript:void(0);"},{innerHTML:"Write a Comment"})),"click",function(e,obj){if(loggedIn)
comment();else
pluck_signin(false,false,null,"wc="+uireviewKey);});dreview.appendChild($_dom.Elem("div",{id:"review-comments-container-"+uireviewKey},{className:"pluck-comment review-media-link"}));pobj.appendChild(dreview);if(typeof(wc)!=="undefined"&&showwc&&uireviewKey==wc){maindiv.scrollIntoView(true);comment();showwc=false;}}
LOCM.buildReview=buildReview;function loadComments(review,reviewKey,force){force=force===true?true:false;var uireviewKey=reviewKey.replace("ReviewKey:","");if(!force&&review.CommentsLoaded)
return false;pluck(new CommentPage(new ArticleKey(reviewKey),10,1),function(res){if(!res.IsOk||res.Response.Responses.length==0)return;var cpage=res.Response.Responses[0].CommentPage;if(!cpage)return;if(parseInt(cpage.NumberOfComments)>0){var div=$_dom.ById("review-comments-container-"+uireviewKey);$_dom.Clear(div);$_dom.Toggle(div,"block");var div2=null;for(var c=0;c<cpage.Comments.length;c++){div2=div.appendChild($_dom.Elem("div","pluck-comment"));div2.appendChild($_dom.Elem("span","pluck-comment-name",pDecode(cpage.Comments[c].Author.DisplayName)));div2.appendChild($_dom.Elem("span","pluck-comment-says","says: "));div2.appendChild($_dom.Elem("span",null,pDecode(cpage.Comments[c].CommentBody)));div2.appendChild($_dom.Elem("span","pluck-comment-date",cpage.Comments[c].PostedAtTime.substring(0,cpage.Comments[c].PostedAtTime.indexOf(' '))));}}
review.CommentsLoaded=true;});}
LOCM.loadComments=loadComments;