var objLink;var iCourseId;var sItemCode;var UpdateUrl;var UpdateRatingUrl;var FlagUrl;var currDate;var sUserName;var flgIsAdmin=false;function updatelist(obj,ltype){var sUrl=UpdateUrl;var id=obj.id.substring(1).replace("_fave","").replace("_played","");objLink=obj;if(typeof xmlhttp=="undefined"||xmlhttp==null)xmlhttp=getXmlParser();if(typeof xmlhttp!="undefined"&&xmlhttp!=null){sUrl+="?l="+ltype+"&i="+sItemCode+id+"&a="+(isActive(obj)?"0":"1")+"&ts="+(new Date()).getTime();fetch(sUrl,handleUpdateList);}}function handleUpdateList(){var result=null;var link2id=null,link2=null,currType;var id=null;var active=null;if(xmlhttp.readyState==4){if(xmlhttp.status==200){result=xmlhttp.responseText;if(result){active=isActive(objLink);togglelink(objLink,active);if(location.href.search("/mygame/courses/")>-1){currType=objLink.id.substring(0,1);id=objLink.id.substring(1);switch(currType){case"p":link2id="f"+id;break;case"f":link2id="p"+id;break;}if(link2id&&(link2=document.getElementById(link2id))!=null){togglelink(link2,active);}}}}xmlhttp=null;}}function togglelink(obj,active){var fld;var objId;if(obj){if(obj.id){objId=obj.id.substring(0,1);}if(active){if(objId=="p"){obj.className=obj.className.replace("icon_x","icon_favorites");}else if(objId=="w"){obj.className=obj.className.replace("icon_x","icon_wishlist");}setText(obj,getText(obj).replace(/added to/i,"Add to"));if(location.href.search("/mygame/courses/")>-1){if((fld=document.getElementById("f"+obj.id.substring(1).replace("_fave","")))!=null||(fld=document.getElementById("p"+obj.id.substring(1).replace("_played","")))!=null){fld.style.display="none";}}}else{obj.className=obj.className.replace("icon_favorites","icon_x");obj.className=obj.className.replace("icon_wishlist","icon_x");setText(obj,getText(obj).replace(/add to/i,"Added to"));if(location.href.search("/mygame/courses/")>-1){if((fld=document.getElementById("f"+obj.id.substring(1).replace("_fave","")))!=null){fld.style.display="block";if(document.getElementById('nofavorites'))document.getElementById('nofavorites').style.display='none';}}}}}function isActive(obj){return(getText(obj).toLowerCase().indexOf("added to")>-1);}function updateWishList(obj,active){var sUrl=UpdateUrl;var ltype=3;var id=obj.id.substring(1).replace("_wish","");objLink=obj;if(typeof xmlhttp=="undefined"||xmlhttp==null)xmlhttp=getXmlParser();if(typeof xmlhttp!="undefined"&&xmlhttp!=null){sUrl+="?l="+ltype+"&i="+sItemCode+id+"&a="+active+"&ts="+(new Date()).getTime();fetch(sUrl,handleUpdateWishList);}}function handleUpdateWishList(){var result=null;var fld=null;if(xmlhttp.readyState==4){if(xmlhttp.status==200){result=xmlhttp.responseText;if(result){if((fld=document.getElementById("w"+result.substring(1)))!=null){fld.style.display="none";}}}xmlhttp=null;}}function showall(obj,maxReviews){var div=document.getElementById("moreReviews");if(div){div.style.display=div.style.display=="inline"?"none":"inline";setText(obj,div.style.display=="none"?"Show All":"Show "+maxReviews+" Most Recent");}}function handleFlagEvent(){var result=null;var id=0;if(xmlhttp.readyState==4){if(xmlhttp.status==200){result=xmlhttp.responseText;if(id=parseInt(result)){var fld=document.getElementById(id);if(fld){fld.onclick=null;fld.style.textDecoration="none";fld.style.cursor="default";fld.style.color="#dc143c";fld.enabled=false;if(!flgIsAdmin){setText(fld,"Flagged as Inappropriate");}else{setText(fld,"Comment Deleted");if((commentDesc=document.getElementById("commentDesc"+id))!=null){commentDesc.innerHTML="";}}}}}flgIsAdmin=false;xmlhttp=null;}}function flagComment(pO,flgAdmin){var sUrl=FlagUrl;if(flgAdmin&&!confirm("Are you sure you want to delete this review?\n\nOnce deleted, it cannot be recovered."))return;flgIsAdmin=flgAdmin;if(typeof xmlhttp=="undefined"||xmlhttp==null)xmlhttp=getXmlParser();if(typeof xmlhttp!="undefined"&&xmlhttp!=null){sUrl+=("?"+sItemCode+"="+iCourseId+"&u="+pO.id+"&a="+flgAdmin+"&t="+(new Date()).getTime());fetch(sUrl,handleFlagEvent);}}function ShowRating(flgAppend){var html,fld;if(flgAppend){html="<div id=\"new_comment\" class=\"comment display_none\"><div class=\"username\">"+sUserName+"</div><div class=\"data\"><div class=\"comment_meta\">";html+="<div class=\"date fl hilight1\">"+currDate+"</div><div class=\"actions fr\"></div><div class=\"cb\"></div></div>";html+="<p>"+$("#txt_comment").val().replace(/(<([^>]+)>)/ig,"")+"</p></div></div>";$("#comments").append(html);$("#new_comment").slideDown();}else if((fld=document.getElementById("mycomment"))!=null){setText(fld,$("#txt_comment").val().replace(/(<([^>]+)>)/ig,""));}$("#comment").fadeOut('slow',function(){$("#rate").fadeIn();});}function EditComment(obj){var fld=document.getElementById("div_comment");if(fld)$(fld).slideDown();$(obj).fadeOut('slow');}function SubmitReview(){if(document.getElementById("frmReviewSubmit")){if(sItemCode=="c"){$("#frmReviewSubmit > input[@name='comment']").attr({value:getText(document.getElementById("txt_comment"))});$("#frmReviewSubmit > input[@name='amenities']").attr({value:document.getElementById("amenities-rating").value});$("#frmReviewSubmit > input[@name='difficulty']").attr({value:document.getElementById("difficulty-rating").value});$("#frmReviewSubmit > input[@name='maintenance']").attr({value:document.getElementById("maintenance-rating").value});$("#frmReviewSubmit > input[@name='scenery']").attr({value:document.getElementById("scenery-rating").value});$("#frmReviewSubmit > input[@name='value']").attr({value:document.getElementById("value-rating").value});$("#frmReviewSubmit > input[@name='overall']").attr({value:document.getElementById("overall-rating").value});if(ValidateRatings()){$("#frmReviewSubmit > input[@name='isSubmit']").attr({value:"1"});document.getElementById("aspnetForm").submit();}else{document.getElementById("validation_message").className="display_inline";}}else{$("#frmReviewSubmit > input[@name='comment']").attr({value:getText(document.getElementById("txt_comment"))});$("#frmReviewSubmit > input[@name='overall']").attr({value:document.getElementById("overall-rating").value});if(ValidateRatings()){$("#frmReviewSubmit > input[@name='isSubmit']").attr({value:"1"});document.getElementById("aspnetForm").submit();}else{document.getElementById("validation_message").className="display_inline";}}}}function ValidateRatings(){var overall;var amenities;var difficulty;var maintenance;var scenery;var value;if(document.getElementById("frmReviewSubmit")){overall=$("#frmReviewSubmit > input[@name='overall']").attr("value");if(sItemCode=="c"){amenities=$("#frmReviewSubmit > input[@name='amenities']").attr("value");difficulty=$("#frmReviewSubmit > input[@name='difficulty']").attr("value");maintenance=$("#frmReviewSubmit > input[@name='maintenance']").attr("value");scenery=$("#frmReviewSubmit > input[@name='scenery']").attr("value");value=$("#frmReviewSubmit > input[@name='value']").attr("value");if(amenities.length==0||amenities=="0")return false;if(difficulty.length==0||difficulty=="0")return false;if(maintenance.length==0||maintenance=="0")return false;if(scenery.length==0||scenery=="0")return false;if(value.length==0||value=="0")return false;if(overall.length==0||overall=="0")return false;}else{if(overall.length==0||overall=="0")return false;}}return true;}function HandleClick(rating,category){var tab,fld,id;document.getElementById(category+'-rating').value=rating;RenderStars(rating,category);tab=category.substring(0,1);id=category.substring(1);if(tab=="p")tab="f";else if(tab=="f")tab="p";else tab="";if(tab.length>0&&document.getElementById(tab+id+'-star1')!=null){RenderStars(rating,tab+id);}}function HandleMouseOver(rating,category){var currentRating;RenderStars(rating,category);}function HandleMouseOut(category){var rating;rating=document.getElementById(category+'-rating').value;rating=rating-0;RenderStars(rating,category);}function RenderStars(rating,category){var currentRating;var imgSrc;var i;for(i=1;i<=rating;i++){if((i%2)==0)imgSrc="star_half_onR.gif";else imgSrc="star_half_onL.gif";document.getElementById(category+'-star'+i).src='/img/icons/'+imgSrc;}for(i=rating+1;i<=10;i++){if((i%2)==0)imgSrc="star_half_offR.gif";else imgSrc="star_half_offL.gif";document.getElementById(category+'-star'+i).src='/img/icons/'+imgSrc;}}function UpdateStars(obj,rating){if(obj!=null){for(var i=2;i<=10;i+=2){if(i<=rating)obj.innerHTML+="<img src=\"/img/icons/star.gif\" />";else if(i-1==rating){obj.innerHTML+="<img src=\"/img/icons/star_half.gif\" />";}else obj.innerHTML+="<img src=\"/img/icons/star_gray.gif\" />";}}}function UpdateRatingElement(obj,rating){obj.className="rate_now";obj.innerHTML="";UpdateStars(obj,rating);}function updateRating(obj){var sUrl=UpdateRatingUrl;var idRoot=obj.id.replace("_save","");var id=idRoot.substring(1);var tab=idRoot.substring(0,1);var a=document.getElementById(idRoot+"_amenities-rating").value;var d=document.getElementById(idRoot+"_difficulty-rating").value;var m=document.getElementById(idRoot+"_maintenance-rating").value;var s=document.getElementById(idRoot+"_scenery-rating").value;var v=document.getElementById(idRoot+"_value-rating").value;var o=document.getElementById(idRoot+"_overall-rating").value;var r="",fld;if((fld=document.getElementById(idRoot+"_comment"))!=null){r=getText(fld).replace(/(<([^>]+)>)/ig,"");}setText(fld,r);if(a==0||d==0||m==0||s==0||v==0||o==0){document.getElementById(idRoot+"_validation").className="display_inline";}else{objLink=obj;if(tab=="p")tab="f";else if(tab=="f")tab="p";else tab="";if(arRatings!='undefined'&&arRatings[tab+id]!=null){arRatings[tab+id]=new Array(a-0,d-0,m-0,s-0,v-0,o-0,r);}if(typeof xmlhttp=="undefined"||xmlhttp==null)xmlhttp=getXmlParser();if(typeof xmlhttp!="undefined"&&xmlhttp!=null){var ar=new Array();ar["c"]=id;ar["a"]=a;ar["d"]=d;ar["m"]=m;ar["s"]=s;ar["v"]=v;ar["o"]=o;ar["r"]=r;post(sUrl,ar,handleUpdateRating);}}}function handleUpdateRating(){var result=null;var fld1,fld2,tab1,tab2,id;var rating;if(xmlhttp.readyState==4){if(xmlhttp.status==200){result=xmlhttp.responseText;if(result=="0"){if(objLink){closeRating(objLink);var idRoot=objLink.id.replace("_save","");rating=document.getElementById(idRoot+"_overall-rating").value;if((fld1=document.getElementById(idRoot+"_ratenow"))!=null){UpdateRatingElement(fld1,rating)}tab1=idRoot.substring(0,1);id=idRoot.substring(1);if(tab1=="p")tab2="f";else if(tab1=="f")tab2="p";else tab2="";if(tab2.length>0&&(fld2=document.getElementById(tab2+id+"_ratenow"))!=null){UpdateRatingElement(fld2,rating);}if(tab2.length>0&&(fld2=document.getElementById(tab2+id+"_comment"))!=null){setText(fld2,getText(document.getElementById(tab1+id+"_comment")));}}}}xmlhttp=null;}}function closeRating(obj){$(obj).parent().parent().parent().parent().find('.overall_rating_mini').fadeOut();}function closeReview(obj){$(obj).parent().parent().parent().parent().fadeOut();}function setText(pObj,pText){if(document.all)pObj.innerText=pText;else{if(pObj.type=="textarea")pObj.value=pText;else pObj.textContent=pText;}}function getText(pObj){if(document.all)return pObj.innerText;else{if(pObj.type=="textarea")return pObj.value;else return pObj.textContent;}}function ratingsHtml(id){var ar=arRatings[id];var names=new Array("Amenities","Difficulty","Maintenance","Scenery","Value","Overall");var lname;var str="";if(ar){for(var j=0;j<names.length;j++){lname=names[j].toLowerCase();str+="<div class=\"cb\">\n"+"<div class=\"fl rating_votes\">"+names[j]+"</div>\n"+"<div class=\"fl rating_my\" style=\"cursor:pointer;\">\n";for(var i=1;i<=10;i++){str+="<img id=\""+id+"_"+lname+"-star"+i+"\" src=\"/img/icons/"+starImage(i-1,ar[j])+"\" alt=\""+i/2+" out of 5 stars\" onclick=\"HandleClick("+i+",'"+id+"_"+lname+"');\"  onmouseover=\"HandleMouseOver("+i+",'"+id+"_"+lname+"');\"  onmouseout=\"HandleMouseOut('"+id+"_"+lname+"');\" />";if((i%2)==0)str+="\n";}str+="<input type=\"hidden\" id=\""+id+"_"+lname+"-rating\" name=\""+lname+"\" value=\""+ar[j]+"\" />\n"+"</div>\n"+"</div>\n"}str+="<div class=\"cb\">\nCourse review:<br/>\n"+"<textarea id=\""+id+"_comment\" class=\"comment\" style=\"margin-bottom: 4px; overflow:auto;font-size: 11px; font-family: Verdana; color:#000000; height: 53px; width: 300px;\">"+ar[names.length]+"</textarea>\n"+"<div class=\"fl rating_votes\">\n"+"</div>\n"+"<div class=\"fr\">"+"<a href=\"javascript:void(0);\" title=\"Cancel your changes\" onclick=\"closeRating(this)\">Cancel</a>&nbsp;\n"+"<a id=\""+id+"_save\" href=\"javascript:void(0);\" title=\"Save your ratings and comments\" onclick=\"updateRating(this);\">Save</a>\n"+"</div>"+"</div>";arRatings[id]=null;}return str;}function starImage(idx,rating){if((idx%2)==0)return rating>idx?"star_half_onL.gif":"star_half_offL.gif";else return rating>idx?"star_half_onR.gif":"star_half_offR.gif";}