/* File: js/global.js, Ratio: 37.5% */

function openInternational(){var button=$("#chooseLanguage");var langs=$("#international");if(button.hasClass("open")){langs.slideUp("fast");button.removeClass("open");}else{langs.slideDown("fast");button.addClass("open");}
return false;}
function goTo(url){document.location=url;}
function refreshPage(){location.reload(true);}
function toggle(targetDiv,swapImage){var div=$("#"+targetDiv);if(swapImage!=null)
var img=$("#"+swapImage);if(div.is(":hidden")){div.show();if(img){img.attr("src","/img/icons/minimize.png");}}else{div.hide();if(img){img.attr("src","/img/icons/maximize.png");}}
return false;}
function toggleSwap(div1,div2){var div1=$("#"+div1);var div2=$("#"+div2);if(div1.is(":hidden")){div1.show();div2.hide();}else{div1.hide();div2.show();}
return false;}
function toggleCheckboxes(current,form,field){$("#"+form+" :checkbox[name='"+field+"[]']").attr("checked",current.checked);}
function addRecipient(username,field){var to=$("#"+field);var value=to.val();value=value.replace(/\s/ig,"");var list=value.split(",");if(value==""){to.val(username);}else{var length=list.length;if(jQuery.inArray(username,list)<0){value=value.replace(",",", ");to.val(value+', '+username);}}}
function hideStatusBox(id,timer){setTimeout(function(){$("#"+id).hide("slow",function(){$(this).remove();});},timer);}
function charsRemain(textarea,maxLength,div){var currentLength=$(textarea).val().length;var charsLeft=maxLength-currentLength;if(charsLeft<0){charsLeft=0;}
$("#"+div+"_charsRemain").html(charsLeft);if(currentLength>maxLength){var fullText=$(textarea).val().substring(0,maxLength);$(textarea).val(fullText);}}
function enableButton(field,button){var currentLength=$(field).val().length;var button=$("#"+button);if(currentLength>0)
button.removeClass("disabled").attr("disabled","");else
button.addClass("disabled").attr("disabled","disabled");}
function updateButton(button,text,disable){var button=$("#"+button);if(disable==null)
disable=true;if(disable==true)
button.html(text).addClass('disabled').attr('disabled','disabled');else
button.html(text).removeClass('disabled').attr('disabled','');}
function populateUrl(urlField,urlText){var text=$('#'+urlField).val();text=text.replace(/\s/ig,"");text=text.replace(/[^a-zA-Z0-9_-]+/ig,'');text=text.toLowerCase();$("#"+urlText).html(text).val(text);}
function encode(text){text=jQuery.trim(text);text=escape(text);return text;}
function slugify(text){text=text.replace(/[^-a-zA-Z0-9,&\s]+/ig,'');text=jQuery.trim(ucwords(text));text=text.replace(/-/gi,"_");text=text.replace(/\s/gi,"-");return text;}
function slugField(target,dest){var text=$("#"+target).val();text=slugify(text);$("#"+dest).val(text);}
function ucwords(str){return(str+'').replace(/^(.)|\s(.)/g,function($1){return $1.toUpperCase();});}
function changeHomeSearch(dd){$("#UserTerm").attr("name","User["+dd.value+"]");return false;}
function enableUpload(field,button){var fileLength=$(field).val().length;var button=$("#"+button);if(fileLength>0){button.removeClass("disabled").attr("disabled","");}}
function showSignupHelp(field){$("#signupHelp div").hide();$("#signupHelp_"+field).fadeIn("normal");}
function hideSignupHelp(){$("#signupHelp div").hide();$("#signupHelp_intro").fadeIn("normal");}
function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
return new Array(xScroll,yScroll);}
function openOverlay(remoteFile,size){$("#overlay").remove();if(size==null)
var size="large";$("body").append('<div id="overlay" class="'+size+'">\
  <div id="overlayTop">&nbsp;</div>\
  <div id="overlayMid">\
   <div id="overlayContent" class="loading"></div>\
  </div>\
  <div id="overlayBot">&nbsp;</div>\
 </div>');$("#overlay").draggable({cursor:"move",containment:'document',dragPrevention:"input,textarea,img,a",handle:"#overlayTop, #overlayBot"});$("#overlay").css({top:getPageScroll()[1]+100,left:($(window).width()/2)-($("#overlay").width()/2)}).fadeIn("fast");$.get('/overlays'+remoteFile,function(data){$("#overlayContent").removeClass("loading");$("#overlayContent").hide().append(data).fadeIn();});return false;}
function closeOverlay(){$("#overlay").fadeOut("normal",function(){$("#overlay").remove();});}
function handleOverlay(response,overlay,interval){if(interval==null)
interval=1000;setTimeout(function(){$("#"+overlay+"_content").hide();if(response.success==true){$("#"+overlay+"_pass").fadeIn("slow");}else{$("#"+overlay+"_fail").fadeIn("slow");}},interval);}
function flagContent(content_id,contentType,buttonText){var flagType=$("input[name='flagType']:checked").val();var comment=$("#reasonBody").val();$("#flagContent_error").hide("normal");if(flagType=='other'&&comment==''){$("#flagContent_error").show("normal");}else{updateButton("flagContent_button",buttonText);$.ajax({type:"POST",url:"/ajax/flagContent/",data:"content_id="+content_id+"&contentType="+contentType+"&flagType="+flagType+"&comment="+encode(comment),dataType:"json",success:function(response){handleOverlay(response,"flagContent");}});}
return false;}
function blockUser(profile_id,buttonText){updateButton("blockUser_button",buttonText);$.ajax({type:"POST",url:"/ajax/blockUser/",data:"profile_id="+profile_id,dataType:"json",success:function(response){handleOverlay(response,"blockUser");}});return false;}
function addGame(games_system_id,buttonText){updateButton("addGame_button_"+games_system_id,buttonText,false);$.ajax({type:"POST",url:"/ajax/addUserGame/",data:"games_system_id="+games_system_id,dataType:"json",success:function(response){updateButton("addGame_button_"+games_system_id,response.data,true);}});}
function teamApply(team_id,buttonText){handleButton("applyToTeam_button",buttonText);var content=$("#RecruitContent").val();$.ajax({type:"POST",url:"/ajax/applyToTeam/",data:"team_id="+team_id+"&comment="+encode(content),dataType:"json",success:function(response){handleOverlay(response,"applyToTeam");}});return false;}
function addRecruit(team_id,buttonText){updateButton("addRecruit_button",buttonText);var game=$("#RecruitGames option:selected").text();var data=$("#RecruitAdd").serialize();data+="&team_id="+team_id+"&gameName="+encode(game);$.ajax({type:"POST",url:"/ajax/addRecruit/",data:data,dataType:"json",success:function(response){handleOverlay(response,"addRecruit");}});return false;}
function sendMessage(profile_id,buttonText){$("#sendMessage_error").hide("normal");var message=$("#MessageMessage").val();var subject=$("#MessageSubject").val();if(message!=''){updateButton("sendMessage_button",buttonText);$.ajax({type:"POST",url:"/ajax/sendMessage/",data:"profile_id="+profile_id+"&message="+encode(message)+"&subject="+subject,dataType:"json",success:function(response){handleOverlay(response,"sendMessage");}});}else{$("#sendMessage_error").show("normal");}
return false;}
function rateGame(game_id,buttonText){updateButton("rate_button",buttonText);data=new Array();data.length="game_id="+game_id;var fields=$("#RatingAddForm").serializeArray();jQuery.each(fields,function(i,field){data.length=""+field.name+"="+encode(field.value);});$.ajax({type:"POST",url:"/ajax/rateGame/",data:data.join("&"),dataType:"json",success:function(response){handleOverlay(response,"rate");}});return false;}
function leaveReview(game_id,buttonText){$("#leaveReview_error").hide("normal");var content=$("#ReviewContent").val();if(content!=''){updateButton("leaveReview_button",buttonText);$.ajax({type:"POST",url:"/ajax/leaveReview/",data:"game_id="+game_id+"&content="+encode(content),dataType:"json",success:function(response){handleOverlay(response,"leaveReview");}});}else{$("#leaveReview_error").show("normal");}
return false;}
function loadPanel(genre,li){$("#panelTabs li").removeClass("active");$("#panelContent").html("").addClass("loading");$("#panelTabs li#"+li).addClass("active");$.get("/ajax/loadPanel/"+genre,function(data){$("#panelContent").removeClass("loading");$("#panelContent").hide().append(data).fadeIn();});return false;}
function loadServer(id,game,ip,port){$.get("/ajax/loadServer/"+game+"/"+ip+"/"+port,function(data){$("#"+id).removeClass("loading");$("#"+id).html(data);});return false;}