function doChallengeResponse(){str=document.login_form.login_email.value.toLowerCase()+":"+
SHA256(document.login_form.password.value)+":"+
document.login_form.challenge.value;document.login_form.password.value='';document.login_form.challenge.value='';document.login_form.response.value=SHA256(str);return false;}
function SHA256(s){var chrsz=8;var hexcase=0;function safe_add(x,y){var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);}
function S(X,n){return(X>>>n)|(X<<(32-n));}
function R(X,n){return(X>>>n);}
function Ch(x,y,z){return((x&y)^((~x)&z));}
function Maj(x,y,z){return((x&y)^(x&z)^(y&z));}
function Sigma0256(x){return(S(x,2)^S(x,13)^S(x,22));}
function Sigma1256(x){return(S(x,6)^S(x,11)^S(x,25));}
function Gamma0256(x){return(S(x,7)^S(x,18)^R(x,3));}
function Gamma1256(x){return(S(x,17)^S(x,19)^R(x,10));}
function core_sha256(m,l){var K=new Array(0x428A2F98,0x71374491,0xB5C0FBCF,0xE9B5DBA5,0x3956C25B,0x59F111F1,0x923F82A4,0xAB1C5ED5,0xD807AA98,0x12835B01,0x243185BE,0x550C7DC3,0x72BE5D74,0x80DEB1FE,0x9BDC06A7,0xC19BF174,0xE49B69C1,0xEFBE4786,0xFC19DC6,0x240CA1CC,0x2DE92C6F,0x4A7484AA,0x5CB0A9DC,0x76F988DA,0x983E5152,0xA831C66D,0xB00327C8,0xBF597FC7,0xC6E00BF3,0xD5A79147,0x6CA6351,0x14292967,0x27B70A85,0x2E1B2138,0x4D2C6DFC,0x53380D13,0x650A7354,0x766A0ABB,0x81C2C92E,0x92722C85,0xA2BFE8A1,0xA81A664B,0xC24B8B70,0xC76C51A3,0xD192E819,0xD6990624,0xF40E3585,0x106AA070,0x19A4C116,0x1E376C08,0x2748774C,0x34B0BCB5,0x391C0CB3,0x4ED8AA4A,0x5B9CCA4F,0x682E6FF3,0x748F82EE,0x78A5636F,0x84C87814,0x8CC70208,0x90BEFFFA,0xA4506CEB,0xBEF9A3F7,0xC67178F2);var HASH=new Array(0x6A09E667,0xBB67AE85,0x3C6EF372,0xA54FF53A,0x510E527F,0x9B05688C,0x1F83D9AB,0x5BE0CD19);var W=new Array(64);var a,b,c,d,e,f,g,h,i,j;var T1,T2;m[l>>5]|=0x80<<(24-l%32);m[((l+64>>9)<<4)+15]=l;for(var i=0;i<m.length;i+=16){a=HASH[0];b=HASH[1];c=HASH[2];d=HASH[3];e=HASH[4];f=HASH[5];g=HASH[6];h=HASH[7];for(var j=0;j<64;j++){if(j<16)W[j]=m[j+i];else W[j]=safe_add(safe_add(safe_add(Gamma1256(W[j-2]),W[j-7]),Gamma0256(W[j-15])),W[j-16]);T1=safe_add(safe_add(safe_add(safe_add(h,Sigma1256(e)),Ch(e,f,g)),K[j]),W[j]);T2=safe_add(Sigma0256(a),Maj(a,b,c));h=g;g=f;f=e;e=safe_add(d,T1);d=c;c=b;b=a;a=safe_add(T1,T2);}
HASH[0]=safe_add(a,HASH[0]);HASH[1]=safe_add(b,HASH[1]);HASH[2]=safe_add(c,HASH[2]);HASH[3]=safe_add(d,HASH[3]);HASH[4]=safe_add(e,HASH[4]);HASH[5]=safe_add(f,HASH[5]);HASH[6]=safe_add(g,HASH[6]);HASH[7]=safe_add(h,HASH[7]);}
return HASH;}
function str2binb(str){var bin=Array();var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz){bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<(24-i%32);}
return bin;}
function Utf8Encode(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}
else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;}
function binb2hex(binarray){var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++){str+=hex_tab.charAt((binarray[i>>2]>>((3-i%4)*8+4))&0xF)+
hex_tab.charAt((binarray[i>>2]>>((3-i%4)*8))&0xF);}
return str;}
s=Utf8Encode(s);return binb2hex(core_sha256(str2binb(s),s.length*chrsz));};(function($){$.fn.ellipsis=function(enableUpdating){var s=document.documentElement.style;if(!('textOverflow'in s||'OTextOverflow'in s)){return this.each(function(){var el=$(this);if(el.css("overflow")=="hidden"){var originalText=el.html();var w=el.width();var t=$(this.cloneNode(true)).hide().css({'position':'absolute','width':'auto','overflow':'visible','max-width':'inherit'});el.after(t);var text=originalText;while(text.length>0&&t.width()>el.width()){text=text.substr(0,text.length-1);t.html(text+"...");}
el.html(t.html());t.remove();if(enableUpdating==true){var oldW=el.width();setInterval(function(){if(el.width()!=oldW){oldW=el.width();el.html(originalText);el.ellipsis();}},200);}}});}else return this;};})(jQuery);;function clearText(id,deleteOnThisText){if(document.getElementById(id).value==deleteOnThisText)
document.getElementById(id).value='';document.getElementById(id).onblur=function(){if(!document.getElementById(id).value)
document.getElementById(id).value=deleteOnThisText;}}
function show(section,parent){if(!document.getElementById(section).style.display||document.getElementById(section).style.display=='none'){jQuery("#"+section).show();if(parent)
parent.innerHTML='hide';}else{jQuery("#"+section).hide();if(parent)
parent.innerHTML='show';}}
function favorite(){var item_id;if(locId){item_id=locId;type='location';}else if(uid){item_id=uid;type='user';}
request=jQuery.post("/favorites/"+type+'/'+item_id,jQuery("#favorite").serialize(),function(data){request=null;if(data.success){if(data.action=='add'){jQuery("#remove-favorites").fadeIn("slow");jQuery("#add-favorites").fadeOut("slow");}else if(data.action=='delete'){jQuery("#remove-favorites").fadeOut("slow");jQuery("#add-favorites").fadeIn("slow");}}else{if(data.error){alert('There was an error!');}}},"json");}
jQuery(document).ready(function(){jQuery(".trim").ellipsis();});document.getElementsByClassName=function(cl){var retnode=[];var myclass=new RegExp('\\b'+cl+'\\b');var elem=this.getElementsByTagName('*');for(var i=0;i<elem.length;i++){var classes=elem[i].className;if(myclass.test(classes))retnode.push(elem[i]);}
return retnode;};function remove(e){var type=e.href.substring(e.href.indexOf('remove/')+7,e.href.lastIndexOf('/'));if(type=='favorite'){location.href=e.href;return;}
var answer=confirm("Are you sure you want to remove this "+type+"?");if(answer){location.href=e.href;}}