function getBaseHref(){sBaseHref=document.getElementsByTagName("base")[0].href;if(sBaseHref.indexOf("http://www.")!=-1&&String(window.location).indexOf("http://www.")==-1){sBaseHref=sBaseHref.replace("http://www.","http://")}if(sBaseHref.indexOf("http://www.")==-1&&String(window.location).indexOf("http://www.")!=-1){sBaseHref=sBaseHref.replace("http://","http://www.")}return sBaseHref}function addSearchEngine(){if(window.external&&("AddSearchProvider" in window.external)){window.external.AddSearchProvider("http://www.tastekid.com/opensearch.xml")}else{if(window.sidebar&&("addSearchEngine" in window.sidebar)){window.sidebar.addSearchEngine("http://www.tastekid.com/sherlock.src","http://www.tastekid.com/favicon.png","TasteKid","")}else{alert("Your browser does not support search engines.")}}return false}function createCookie(c,d,e){if(e){var b=new Date();b.setTime(b.getTime()+(e*24*60*60*1000));var a="; expires="+b.toGMTString()}else{var a=""}document.cookie=c+"="+d+a+"; path=/"}function readCookie(b){var e=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return f.substring(e.length,f.length)}}return null}function eraseCookie(a){createCookie(a,"",-1)}function urlencode(a){return encodeURIComponent(a).replace(/%20/g,"+").replace(/\*/g,"%2A")}var hashWatch;function HashWatch(){this.curHash="";this.aActions={};var a=this;this.oInterval=setInterval(function(){a.check_new_hash()},50)}HashWatch.prototype.check_new_hash=function(){var b=window.location.hash;var a=b;if(b!=this.curHash){this.curHash=b;if(b.indexOf("/")>-1){a=b.substr(0,b.indexOf("/"));b=b.substr(b.indexOf("/")+1)}if(a in this.aActions){this.aActions[a](b)}}};HashWatch.prototype.add_action=function(b,a){this.aActions[b]=a};function logoOver(){if(!(this instanceof logoOver)){return new logoOver()}var a=this;this.overEl=$("<img/>").attr("src",getBaseHref()+"images/logo_over.gif").addClass("logo-over");$("#logoLink").append(this.overEl);$("#logoLink").mouseenter(function(b){a.showOver()});$("#logoLink").mouseleave(function(b){a.hideOver()})}logoOver.prototype.showOver=function(){this.overEl.fadeIn()};logoOver.prototype.hideOver=function(){this.overEl.fadeOut()};$(document).ready(logoOver);function setUpEvents(){$("#searchtabs a").click(switchType);var d=$("#q");if(d.length){d.focus(searchFocused);d.blur(searchBlurred);d.mouseenter(searchOver);d.mouseleave(searchOut);if(d&&typeof(bDoNotFocusMainInput)=="undefined"){d.focus()}}var a=$("#searchhowto");if(a.length){a.click(showHowtoMessage)}var b=$("#recentsearches");if(b.length){b.click(showRecentSearches)}hashWatch=new HashWatch();if($("#searchinput").length&&sEmmyTalks.length){emchat.setPosition($("#searchinput"),100,-50,"up","auto",530);var c=chatText[sEmmyTalks];c=$(c);emchat.updateContents(c)}$("[data-limit]").bind("keyup",function(j){var g=$(j.currentTarget);var f=parseInt(g.attr("data-limit"));var h=$(g.attr("data-display"));var k=f-g.val().length;if(k<0){g.val(g.val().substr(0,f));k=0}h.show().text(k+" characters left")});$("[data-limit]").keyup();FeedUpdater.init()}function searchFocused(a){$("#searchinput").addClass("focus")}function searchBlurred(a){$("#searchinput").removeClass("focus")}function searchOver(a){$("#searchinput").addClass("over")}function searchOut(a){$("#searchinput").removeClass("over")}function showHowtoMessage(b){var a=$(b.currentTarget);emchat.setPosition(a,a.width()/2,0,"down","left",530);emchat.updateContents($(chatText.howtosearch));b.preventDefault()}function showRecentSearches(b){var a=$(b.currentTarget);emchat.setPosition(a,a.width()/2,0,"down","left",530);emchat.updateContents($(chatText.recentsearches));b.preventDefault()}function switchType(c){var a=$(c.currentTarget);var b=a.attr("data-type");if(!b){b=""}if(0&&!$("#q").val().length){$("#searchtabs a").removeClass("active");a.addClass("active");$("#t").val(b);$("#q").focus();if(b.length){emchat.setPosition($("#searchinput"),100,-50,"up","auto",530);emchat.updateContents($(chatText["switchType_"+b]))}}else{$("#searchtabs a").removeClass("active");a.addClass("active");$("#f").val("ts");$("#t").val(b);$("#searchFrm").submit()}c.preventDefault()}function switchFooterTab(a){$("#footer .whoami .whoamicontent").hide();$("#footer .whoami .whoamicontent:eq("+a+")").show();$("#footer .whoamitabs a").removeClass("active");$("#footer .whoamitabs a:eq("+a+")").addClass("active");return false}function showOverlay(a){if(a){$("#overlay").addClass("loader")}else{$("#overlay").removeClass("loader")}$("#overlay").fadeTo("normal",0.3)}function hideOverlay(){$("#overlay").fadeOut()}function logUserAction(c,b){var a=getBaseHref()+sScriptName+"/ws/lu";$.get(a,{action:c,details:b})}FeedUpdater={delay:5*1000,lastData:"",init:function(){if($("#mainfeed").length){FeedUpdater.timeout=setTimeout(FeedUpdater.update,FeedUpdater.delay);FeedUpdater.lastData=$("#mainfeed").html()}},update:function(){var a=getBaseHref()+sScriptName+"/ws/stream";$.get(a,FeedUpdater.process)},process:function(a){if(a==""){return}if(FeedUpdater.lastData!=a){$("#mainfeed").empty().html(a).hide().fadeIn()}FeedUpdater.lastData=a;FeedUpdater.timeout=setTimeout(FeedUpdater.update,FeedUpdater.delay)}};$(document).ready(setUpEvents);function AutoComplete(b){if(!(this instanceof AutoComplete)){return new AutoComplete(b)}var a=this;this.options=b;this.aSuggestions=[];this.aRefined=[];this.sRequestQuery=$(this.options.input).val().split(",").pop().replace(/^\s+/,"");if(this.options.type){this.sType=$(this.options.type).val();$(this.options.type).change(function(c){a.typeChangeCB(c)})}if(this.options.form){$(this.options.form).submit(function(c){a.ev_formSubmit(c)})}this.checkIntervalID=setInterval(function(){a.checkValue()},20);$(this.options.input).keydown(function(c){a.ev_inputKeyDown(c)});$(this.options.input).blur(function(c){a.ui_hideBox()})}AutoComplete.prototype.config={min:2,max:5,url:getBaseHref()+sScriptName+"/ws/autocomplete"};AutoComplete.prototype.typeChangeCB=function(a){this.sType=$(this.options.type).val();this.get()};AutoComplete.prototype.checkValue=function(){var a=$(this.options.input).val().split(",").pop().replace(/^\s+/,"");if(this.options.type){this.sType=$(this.options.type).val()}if(a!=this.sRequestQuery){if(this.sRequestQuery.length&&a.indexOf(this.sRequestQuery)==0){this.refine();if(this.aRefined.length<=this.config.min){if(this.aSuggestions.length>this.config.max){this.get()}else{this.sRequestQuery=a}}else{this.sRequestQuery=a}}else{if(a.length){this.get()}else{this.sRequestQuery="";this.ui_hideBox()}}}};AutoComplete.prototype.refine=function(){var d,a;var b=$(this.options.input).val().split(",").pop().replace(/^\s+/,"");var c=new RegExp("(^|.+?\\s+?)"+b,"i");this.aRefined=[];for(d in this.aSuggestions){a=this.aSuggestions[d];if(c.test(a)){this.aRefined.push(a);if(this.aRefined.length==this.config.max){break}}}this.ui_updateBox()};AutoComplete.prototype.get=function(){if(this.inRequest){return}this.inRequest=true;var b=$(this.options.input).val().split(",").pop().replace(/^\s+/,"");this.sRequestQuery=b;var c={q:b,format:"JSON"};if(this.options.type){c.t=$(this.options.type).val()}if(this.options.bStrict){c.strict="1"}var a=this;$.get(this.config.url,c,function(d,e){a.handleSuggestions(d,e)},"json")};AutoComplete.prototype.handleSuggestions=function(a,b){this.inRequest=false;this.aSuggestions=a;this.refine()};AutoComplete.prototype.ui_insert=function(){var a=$(this.options.input);var b=a.val();if(b.indexOf(",")>-1){b=b.substr(0,b.lastIndexOf(","))+", "+this.sHighlighted}else{b=this.sHighlighted}if(!this.options.dontUseComma){b+=", "}a.val(b);a.focus();a[0].value=a[0].value;if(a[0].setSelectionRange){a[0].setSelectionRange(b.length,b.length)}a[0].scrollLeft=999999;this.sRequestQuery=this.sHighlighted;this.sHighlighted="";this.ui_hideBox()};AutoComplete.prototype.ui_updateBox=function(){if(this.aRefined.length==0){this.ui_hideBox();return}var h=$(this.options.input);var k=h.val().split(",").pop().replace(/^\s+/,"");var a=new RegExp("(^|.+?\\s+?)("+k+")","i");var g="$1<b>$2</b>";var j=this;var f=$(this.options.box);f.find(".idea").remove();for(var c in this.aRefined){var d=$("<div/>");var e=this.aRefined[c].replace(a,g);d.html(e);d.addClass("idea");if(this.aRefined[c]==this.sHighlighted){d.addClass("focus")}d.mousedown(function(l){j.ui_insert()});d.mouseenter(function(l){j.ev_ideaOver(l)});d.mouseleave(function(l){j.ev_ideaOut(l)});f.append(d)}var b=h.offset();f.css("left",b.left);f.css("top",b.top+h.outerHeight()-9);f.show();h.focus()};AutoComplete.prototype.ui_hideBox=function(){$(this.options.box).hide()};AutoComplete.prototype.ui_getHighlightIndex=function(){var b=$(this.options.box).find(".idea");for(var a=0;a<b.length;a++){if(b.eq(a).text()==this.sHighlighted){return a}}return -1};AutoComplete.prototype.ev_ideaOver=function(b){var a=$(b.currentTarget);this.sHighlighted=a.text();$(this.options.box).find(".idea").removeClass("focus");a.addClass("focus")};AutoComplete.prototype.ev_ideaOut=function(b){var a=$(b.currentTarget);this.sHighlighted="";$(this.options.box).find(".idea").removeClass("focus")};AutoComplete.prototype.ev_inputKeyDown=function(d){if(d.which==40||d.which==38){if(this.aRefined.length){var c=this.ui_getHighlightIndex();c=(d.which==40)?c+1:c-1;$(this.options.box).find(".idea").removeClass("focus");if(c<0||c>=this.aRefined.length){this.sHighlighted=""}else{var b=$(this.options.box).find(".idea").eq(c);this.sHighlighted=b.text();b.addClass("focus")}$(this.options.box).show();d.preventDefault()}}else{if(d.which==13){if(this.sHighlighted.length){this.ui_insert();this.insertedByKeystroke=true}else{var a=$(this.options.input);a.val(a.val().replace(/,\s*$/,""))}}}};AutoComplete.prototype.ev_formSubmit=function(b){if(this.insertedByKeystroke&&!this.options.dontUseComma){b.preventDefault()}else{if(!this.insertedByKeystroke){var a=$(this.options.input);a.val(a.val().replace(/,\s*$/,""))}}this.insertedByKeystroke=false};var emchat={chatTableIdent:"#tooltip",chatContIdent:"#emmySays",arrowUpIdent:"#tooltip .arrow.up",arrowDownIdent:"#tooltip .arrow.down",closeBtnIdent:"#closeEmmy",curElement:null,curOffsetX:0,curOffsetY:0,curDirection:"auto",curAlign:"auto",curMaxWidth:null,isUp:false,init:function(){$(emchat.closeBtnIdent).click(emchat.hideMessage);$(window).resize(emchat.position)},setPosition:function(b,a,f,d,e,c){if(b==null){b=document}if(a==null){a=0}if(f==null){f=0}if(d==null){d="auto"}if(e==null){e="auto"}emchat.curElement=$(b);emchat.curOffsetX=a;emchat.curOffsetY=f;emchat.curDirection=d;emchat.curAlign=e;emchat.curMaxWidth=c},position:function(){if(!emchat.isUp||!emchat.curElement.length){return}var d=emchat.curElement.offset();var c=d.left+emchat.curOffsetX;var b=d.top+emchat.curOffsetY;var a=emchat.curDirection;var e=emchat.curAlign;if(emchat.curMaxWidth){$(emchat.chatTableIdent).css("width",emchat.curMaxWidth)}else{$(emchat.chatTableIdent).css("width","auto")}if(a=="auto"){if(b-$(emchat.chatTableIdent).height()<$(document).scrollTop()){a="down"}else{a="up"}}if(a=="up"){b-=$(emchat.chatTableIdent).height();$(emchat.arrowUpIdent).css("display","none");$(emchat.arrowDownIdent).css("display","block")}else{if(a=="down"){b+=emchat.curElement.height();$(emchat.arrowUpIdent).css("display","block");$(emchat.arrowDownIdent).css("display","none")}}if(e=="auto"){if(c+$(emchat.chatTableIdent).width()>$(document).width()){e="left"}else{e="right"}}if(e=="right"){c-=24;$(emchat.arrowUpIdent).css("background-position","0 0");$(emchat.arrowDownIdent).css("background-position","0 -6px")}else{if(e=="left"){c-=$(emchat.chatTableIdent).width();c+=24;$(emchat.arrowUpIdent).css("background-position","100% 0");$(emchat.arrowDownIdent).css("background-position","100% -6px")}}$(emchat.chatTableIdent).css("left",c);$(emchat.chatTableIdent).css("top",b)},updateContents:function(a){emchat.isUp=true;$(emchat.chatContIdent).empty();$(emchat.chatContIdent).append(a);emchat.position();$(emchat.chatTableIdent).hide();$(emchat.chatTableIdent).fadeIn()},hideMessage:function(){if(emchat.isUp){$(emchat.chatTableIdent).fadeOut();emchat.isUp=false}}};$(document).ready(emchat.init);var hint={hintIdent:"#searchhint",inputIdent:"#q",init:function(){if(!$(hint.inputIdent).length||!$(hint.hintIdent).length){return}$(hint.inputIdent).focus(hint.handleFocus);$(hint.inputIdent).blur(hint.handleBlur);$(hint.inputIdent).keydown(hint.handleKeyDown);$(hint.inputIdent).keyup(hint.handleKeyUp);$(window).resize(hint.reposition);$(hint.hintIdent).click(function(){$(hint.inputIdent).focus()});$(hint.hintIdent).mouseenter(hint.handleMouseEnter);$(hint.hintIdent).mouseleave(hint.handleMouseLeave);$(hint.inputIdent).mouseenter(hint.handleInputEnter);$(hint.inputIdent).mouseleave(hint.handleInputLeave);hint.reposition();if(!$(hint.inputIdent).val().length){$(hint.hintIdent).fadeIn()}},handleFocus:function(){$(hint.hintIdent).addClass("focus")},reposition:function(){$(hint.hintIdent).css("left",$(hint.inputIdent).offset().left);$(hint.hintIdent).css("top",$(hint.inputIdent).offset().top)},handleBlur:function(){$(hint.hintIdent).removeClass("focus")},handleKeyDown:function(a){$(hint.hintIdent).hide()},handleKeyUp:function(a){if(!$(hint.inputIdent).val().length){$(hint.hintIdent).fadeIn()}},handleMouseEnter:function(a){$(hint.inputIdent).mouseenter()},handleMouseLeave:function(a){$(hint.inputIdent).mouseleave();$(hint.hintIdent).removeClass("over")},handleInputEnter:function(a){$(hint.hintIdent).addClass("over")},handleInputLeave:function(a){$(hint.hintIdent).removeClass("over")}};$(document).ready(hint.init);function infotip(){infotip.infoWS=getBaseHref()+sScriptName+"/ws/info";$("a.rsrc").click(infotip.clickCB)}infotip.clickCB=function(c){if(c){c.preventDefault()}var b=$(this).attr("data-name");var a=$(this).attr("data-type");infotip.clickedEl=$(this);infotip.showInfo(b,a)};infotip.showInfo=function(c,b){showOverlay(true);if(!$("#infoTip").length){var a=getBaseHref()+sScriptName+"/ajax-html";$.get(a,{key:"infotip"},function(d){$(document.body).append(d);$(window).resize(infotip.positionModal);$(window).scroll(infotip.positionModal);$("#infoTip .lastTab span").click(infotip.hideModal);$("#infoShare a, #infoGet a, #infoMore, #infoSearch").live("click",infotip.externalClickCB);$("#infoTitle a[data-status]").click(infotip.doUserResource);$(document).keyup(function(f){if(f.which==27){infotip.hideModal()}});$.get(infotip.infoWS,{q:c,t:b},infotip.infoRequestCB,"json")})}else{$.get(infotip.infoWS,{q:c,t:b},infotip.infoRequestCB,"json")}};infotip.externalClickCB=function(g){var d=$(g.currentTarget);var b=d.attr("href");if(b.indexOf("facebook.com")>-1){var a=window.open(b,"fbshare","toolbar=0,status=0,width=626,height=436")}else{var a=window.open(b)}if(a!=null){g.preventDefault()}var b=getBaseHref()+sScriptName+"/ws/lu";var f=d.data("action");var c=(f=="ad")?infotip.curResource.adID:d.attr("href");$.get(b,{action:f,details:c})};infotip.positionModal=function(){oModal=$("#infoTip");var b=$(window).width()/2-oModal.outerWidth()/2;if(b<0){b=0}var a=$(window).height()/2-oModal.outerHeight()/2+$(document).scrollTop();if(a<0||oModal.outerHeight()>$(window).height()){a=0}oModal.css("left",b);oModal.css("top",a)};infotip.hideModal=function(b,a){if(b){b.preventDefault()}$("#infoTip").fadeOut("normal",function(){$("#infoDesc").empty();$("#infoClip").empty();$("#infoShare ul").empty();$("#infoGet ul").empty();if(a){a()}});hideOverlay()};infotip.infoRequestCB=function(e,h){showOverlay();infotip.curResource=e;$("#infoTitle h2").text(e.title);$("#infoClip").removeClass("full");if(e.aInfo&&e.aInfo.teaser){$("#infoDesc").html(e.aInfo.teaser)}else{if(!e.aVideo||!e.aVideo.link){$("#infoDesc").html("Sorry, I don't have any information available yet for <b>"+e.title+"</b>.")}else{$("#infoClip").addClass("full")}}if(e.aInfo&&e.aInfo.url){var d=e.adID?"ad":e.aInfo.website;$("#infoMore").show().attr("href",e.aInfo.url).data("action",d).text("Read more on "+e.aInfo.website)}else{$("#infoMore").hide()}if(e.webSearch){$("#infoSearch").attr("href",e.webSearch.url).data("action",e.webSearch.website).text("Search on "+e.webSearch.website)}if(e.aVideo&&e.aVideo.link){$("#infoClip").show().html('<object width="360" height="222"><param name="movie" value="'+e.aVideo.link+'"></param><embed src="'+e.aVideo.link+'" type="application/x-shockwave-flash" width="360" height="222"></embed></object>')}else{$("#infoClip").hide()}var c=0;if(e.aShare){for(var b in e.aShare){$("#infoShare ul").append($("<li/>").addClass(e.aShare[b].className).append($("<a/>").attr("href",e.aShare[b].url).attr("target","_blank").data("action",e.aShare[b].className).text(e.aShare[b].title)))}$("#infoShare").show();c++}else{$("#infoShare").hide()}if(e.aGet){for(var b in e.aGet){$("#infoGet ul").append($("<li/>").addClass(e.aGet[b].className).append($("<a/>").attr("href",e.aGet[b].url).attr("target","_blank").data("action",e.aGet[b].className).text(e.aGet[b].title)))}$("#infoGet").show();c++}else{$("#infoGet").hide()}var g=["big","medium","small"];$("#infoTip .lastTab").removeClass(g.join(" ")).addClass(g[c]);$("#infoSimilar").attr("href",getBaseHref()+"like/"+urlencode(e.title)+"/"+e.searchType);if($("#q").length){var a=$("#q").val();var f=a.replace(new RegExp(e.name,"i"),"");f+=", "+e.title;f=f.replace(/,\s*,/g,",").replace(/^,\s*/,"").replace(/,\s*$/,"");$("#infoAddQuery").show().attr("href",getBaseHref()+"like/"+urlencode(f))}else{$("#infoAddQuery").hide()}$("#infoComment").attr("href",getBaseHref()+e.infoType+"/"+urlencode(e.title));$("#infoResLinks").hide();$("#infoMistake").hide();infotip.arrangeURButtons();if(!e.noUserActions){$("#infoResLinks").show();if((!e.aInfo||!e.aInfo.teaser)&&(!e.aVideo||!e.aVideo.link)){$("#infoMistake").text("Help me improve")}else{$("#infoMistake").text("Report mistake")}$("#infoMistake").show().attr("href",getBaseHref()+"page/report?n="+encodeURIComponent(e.name)+"&t="+e.type)}else{$("#infoMistake").text("Promote yourself");$("#infoMistake").show().attr("href",getBaseHref()+"page/promote")}infotip.positionModal();$("#infoTip").fadeIn()};infotip.arrangeURButtons=function(){var a=infotip.curResource;$("#infoUndo").hide();$("#infoTitle a.button").hide();if(!a.noUserActions){if(a.nLikes||a.nDislikes||a.nComments){$("#statsLink").show().text(a.nLikes+" likes, "+a.nDislikes+" dislikes, "+a.nComments+" comments").attr("href",getBaseHref()+a.infoType+"/"+urlencode(a.title));$("#statsText").hide()}else{$("#statsLink").hide();$("#statsText").show().text("0 likes, 0 dislikes, 0 comments")}if(!bUserLoggedIn){$("#infoTitle a.button").show()}else{if(!a.userRelation){$("#infoTitle a.button").show()}else{if($.inArray(a.userRelation,[1,2,4])>-1){$("#infoUndo").show();$("#infoUndoType").text(["like","dislike","saved","meh'd"][a.userRelation-1])}else{if(a.userRelation==3){$("#infoLike").show();$("#infoDislike").show();$("#infoUndo").show();$("#infoUndoType").text("saved")}}}}}};infotip.doUserResource=function(d){if(d&&d.preventDefault){d.preventDefault()}if(bUserLoggedIn){var a=getBaseHref()+sScriptName+"/profile/addResource";infotip.requestedStatus=parseInt($(this).attr("data-status"));var c={status:$(this).attr("data-status"),type:infotip.curResource.type,name:infotip.curResource.name,from:"infotip"};$("#infoURLoader").show();$("#infoTitle a.button").addClass("inactive");$.post(a,c,infotip.handleUserResource,"json")}else{var b={action:"ita",status:$(this).attr("data-status"),type:infotip.curResource.type,name:infotip.curResource.name};infotip.hideModal(null,function(){tklogin.showModal(null,function(){tklogin.loginError("To keep a taste profile by liking, disliking and saving items you have to log in or connect first.")},function(){infotip.showInfo(infotip.curResource.name,infotip.curResource.type)},b)})}};infotip.handleUserResource=function(b,c){$("#infoURLoader").hide();$("#infoTitle a.button").removeClass("inactive");for(var a in b){infotip.curResource[a]=b[a]}if(typeof(prf)!="undefined"&&prf.curID==userID&&infotip.clickedEl){infotip.clickedEl.remove()}infotip.arrangeURButtons()};$(document).ready(infotip);function selects(){$("select.dropbox").each(function(b,c){c=$(c);var a=$("<span/>").addClass("dropbox").append("<span/>").data("assoc",c).click(selects.click).insertBefore(c);if(c.attr("data-dropclass")){a.addClass(c.attr("data-dropclass"))}var d=0;c.find("option").each(function(f,e){a.find("span").text($(e).text());d=Math.max(d,a.find("span").width())});if(d){a.find("span").css("width",d)}if(c.attr("data-dropstyle")){a.attr("style",c.attr("data-dropstyle"))}if(c.attr("data-dropwidth")){a.find("span").css("width",parseInt(c.attr("data-dropwidth")))}a.find("span").text(c.find(":selected").text());c.data("assoc",a);c.change(selects.change);c.hide()});$(document.body).click(selects.hideDroplist)}selects.click=function(d){if($(".droplist").length){selects.hideDroplist();return}var c=$(this);var g=c.data("assoc");var b=$("<div/>").addClass("droplist").append("<ul/>").append($("<div/>").addClass("bl")).append($("<div/>").addClass("b"));var a=b.find("ul");g.find("option").each(function(h,j){j=$(j);var e=$("<li/>");e.text(j.text()).data("value",j.val()).data("assoc",g).click(selects.clickOption);if(j.is(":selected")){e.addClass("selected")}else{if(j.is(":disabled")){e.addClass("disabled")}}a.append(e)});var f=c.offset();b.css("left",f.left);b.css("top",f.top+c.outerHeight()-4);b.css("width",c.outerWidth());c.addClass("open");$(document.body).append(b);d.stopPropagation()};selects.change=function(b){var a=$(this);var c=a.data("assoc");c.find("span").text(a.find(":selected").text())};selects.clickOption=function(c){var b=$(this);var d=b.data("assoc");var a=b.data("value");if(!b.hasClass("disabled")){d.val(a);d.change()}else{c.stopPropagation()}};selects.hideDroplist=function(a){$(".dropbox").removeClass("open");$(".droplist").remove()};$(document).ready(selects);var tklogin={loginBtnIdent:"#loginBtn",loginBtn:null,sModalIdent:"#lgc",oModal:null,sTabsIdent:"#lgc .lgctabs a",oTabs:null,sContsIdent:"#lgc .lgccontent",oConts:null,sCloseBtnIdent:"#lgc .lastTab span",oCloseBtn:null,sSignUpErrIdent:"#signup_message",sSignUpFormIdent:"#signup_form",oSignUpForm:null,aSignUpFields:{"#signup_name":{key:"name",hint:"Name"},"#signup_email":{key:"email",hint:"E-mail"},"#signup_pass":{key:"pass",switchBlur:"#bogus_pass"},"#signup_cpass":{key:"cpass",switchBlur:"#bogus_cpass"},"#bogus_pass":{hint:"Password",switchFocus:"#signup_pass"},"#bogus_cpass":{hint:"Repeat password",switchFocus:"#signup_cpass"}},sLoginErrIdent:"#login_message",sLoginFormIdent:"#login_form",oLoginForm:null,aLoginFields:{"#login_email":{key:"email",hint:"E-mail"},"#login_pass":{key:"pass",switchBlur:"#login_bogus"},"#login_bogus":{hint:"Password",switchFocus:"#login_pass"}},fbLoginIdent:"#lgc .fbconnect",fbLogin:null,inRequest:false,signUpUrl:"",loginUrl:"",forgotUrl:"",init:function(){tklogin.loginBtn=$(tklogin.loginBtnIdent);hashWatch.add_action("#resetpw",tklogin.resetPwCb);hashWatch.add_action("#loginrequired",tklogin.loginRequired);if(tklogin.loginBtn.length){tklogin.loginBtn.mouseenter(tklogin.loginBtnOver);tklogin.loginBtn.mouseleave(tklogin.loginBtnOut);tklogin.loginBtn.click(tklogin.showModal)}tklogin.signUpUrl=getBaseHref()+sScriptName+"/account/create";tklogin.loginUrl=getBaseHref()+sScriptName+"/account/login";tklogin.forgotUrl=getBaseHref()+sScriptName+"/account/forgot"},loginBtnOver:function(){emchat.setPosition(tklogin.loginBtn,tklogin.loginBtn.width()/2,15,"down","left");emchat.updateContents($(chatText.loginhelp))},loginBtnOut:function(){emchat.hideMessage()},positionModal:function(){var b=$(window).width()/2-tklogin.oModal.width()/2;if(b<0){b=0}var a=$(window).height()/2-tklogin.oModal.height()/2+$(document).scrollTop();if(a<0){a=0}tklogin.oModal.css("left",b);tklogin.oModal.css("top",a)},showModal:function(f,b,a,d){if(f){f.preventDefault()}tklogin.whenModalReady=b;tklogin.onHide=a;var c=getBaseHref()+sScriptName+"/ajax-html";showOverlay(true);$.post(c,{key:"login",extraData:d},tklogin.gotModalHtml)},gotModalHtml:function(a,b){showOverlay();$(document.body).append(a);tklogin.oModal=$(tklogin.sModalIdent);tklogin.oTabs=$(tklogin.sTabsIdent);tklogin.oTabs.click(tklogin.tabClicked);tklogin.oConts=$(tklogin.sContsIdent);tklogin.oCloseBtn=$(tklogin.sCloseBtnIdent);tklogin.oCloseBtn.click(tklogin.hideModal);tklogin.oSignUpForm=$(tklogin.sSignUpFormIdent);tklogin.oSignUpForm.submit(tklogin.doSignUp);for(ident in tklogin.aSignUpFields){$(ident).bind("focus blur",tklogin.aSignUpFields[ident],tklogin.inputEvent)}tklogin.oLoginForm=$(tklogin.sLoginFormIdent);tklogin.oLoginForm.submit(tklogin.doLogin);for(ident in tklogin.aLoginFields){$(ident).bind("focus blur",tklogin.aLoginFields[ident],tklogin.inputEvent)}$("#forgot_email").bind("focus blur",{hint:"E-mail"},tklogin.inputEvent);$("#forgot_form").submit(tklogin.doForgot);tklogin.fbLogin=$(tklogin.fbLoginIdent);tklogin.fbLogin.click(tklogin.doFBLogin);$(window).resize(tklogin.positionModal);$(window).scroll(tklogin.positionModal);tklogin.positionModal();tklogin.oModal.fadeIn();if(tklogin.whenModalReady){tklogin.whenModalReady()}},hideModal:function(){hideOverlay();tklogin.oModal.fadeOut("normal",function(){$(tklogin.sModalIdent).remove();if(tklogin.onHide){tklogin.onHide()}})},tabClicked:function(b){var a;for(i=0;i<tklogin.oTabs.length;i++){if(tklogin.oTabs[i]==b.currentTarget){a=i;break}}tklogin.showContent(a);b.preventDefault();return false},showContent:function(a){tklogin.oTabs.removeClass("active");$(tklogin.oTabs[a]).addClass("active");tklogin.oConts.hide();$(tklogin.oConts[a]).fadeIn();return false},doFBLogin:function(a){a.preventDefault();FB.login(function(){window.location.reload()},{scope:"friends_likes"})},doLogin:function(f){if(f&&f.preventDefault){f.preventDefault()}if(tklogin.inRequest){return false}tklogin.loginError();var d={},c,a=[];for(var b in tklogin.aLoginFields){if(!tklogin.aLoginFields[b].key){continue}c=$(b).val();if(!c||c==tklogin.aLoginFields[b].hint){a.push(b);if(b=="#login_pass"){a.push("#login_bogus")}}d[tklogin.aLoginFields[b].key]=c}if($("#login_remember:checked").val()!=null){d.remember="1"}if(a.length){tklogin.loginError("Please fill in all fields.",a)}else{tklogin.inRequest=true;$("#login_loader").show();$("#login_button").addClass("inactive");$.post(tklogin.loginUrl,d,tklogin.handleLogin,"json")}return false},handleLogin:function(b,c){$("#login_loader").hide();$("#login_button").removeClass("inactive");tklogin.inRequest=false;if(b.status=="success"){$("#login_button").hide();tklogin.loginSuccess("Successfully logged in.");setTimeout(function(){window.location.hash="";window.location.reload()},2000)}else{var a=[];for(ident in tklogin.aLoginFields){a.push(ident)}tklogin.loginError("Incorrect e-mail / password combination.",a)}},doSignUp:function(f){if(f&&f.preventDefault){f.preventDefault()}if(tklogin.inRequest){return}tklogin.signUpError();var d={},c,a=[];for(var b in tklogin.aSignUpFields){if(!tklogin.aSignUpFields[b].key){continue}c=$(b).val();if(!c||c==tklogin.aSignUpFields[b].hint){a.push(b)}d[tklogin.aSignUpFields[b].key]=c}if($("#signup_remember:checked").val()!=null){d.remember="1"}if(0&&a.length){tklogin.signUpError(["Please fill in all fields."],a)}else{tklogin.inRequest=true;$("#signup_button").addClass("inactive");$("#signup_loader").show();$.post(tklogin.signUpUrl,d,tklogin.handleSignUp,"json")}return false},handleSignUp:function(a,b){$("#signup_loader").hide();$("#signup_button").removeClass("inactive");tklogin.inRequest=false;if(a.status=="error"){tklogin.signUpError(a.errors,a.fields)}else{if(a.status=="success"){tklogin.signUpSuccess("You successfully signed up!");$("#signup_button").hide();setTimeout(function(){window.location.hash="";window.location.reload()},2000)}}},loginError:function(b,d){var e=$(tklogin.sLoginErrIdent);if(b!=null){e.removeClass("success");e.empty();e.append($("<div>"+b+"</div>"));e.fadeIn();tklogin.positionModal();if(d!=null){for(var c in tklogin.aLoginFields){$(c).removeClass("error")}for(var a in d){$(d[a]).addClass("error")}$(d[0]).focus()}}else{e.fadeOut("normal",tklogin.positionModal);for(var c in tklogin.aLoginFields){$(c).removeClass("error")}}},loginSuccess:function(a){var b=$(tklogin.sLoginErrIdent);if(a!=null){b.addClass("success");b.empty();b.append($("<div>"+a+"</div>"));b.fadeIn();tklogin.positionModal()}else{b.fadeOut("normal",tklogin.positionModal)}},signUpError:function(c,d){var e=$(tklogin.sSignUpErrIdent);e.removeClass("success");if(c!=null){e.empty();for(var a=0;a<c.length;a++){e.append($("<div>"+c[a]+"</div>"))}e.fadeIn();tklogin.positionModal();if(d!=null){for(var b in tklogin.aSignUpFields){$(b).removeClass("error")}for(var a in d){$(d[a]).addClass("error")}$(d[0]).focus()}}else{e.fadeOut("normal",tklogin.positionModal);for(var b in tklogin.aSignUpFields){$(b).removeClass("error")}}},signUpSuccess:function(a){var b=$(tklogin.sSignUpErrIdent);if(a!=null){b.addClass("success");b.empty();b.append($("<div>"+a+"</div>"));b.fadeIn();tklogin.positionModal()}else{b.fadeOut("normal",tklogin.positionModal)}},doForgot:function(b){if(b&&b.preventDefault){b.preventDefault()}if(tklogin.inRequest){return}tklogin.inRequest=true;var a=$("#forgot_email").val();if(!a){tklogin.loginError("Please input an e-mail",["#forgot_email"])}else{$("#forgot_loader").show();$("#forgot_button").addClass("inactive");$.post(tklogin.forgotUrl,{email:a},tklogin.handleForgot,"json")}return false},handleForgot:function(a,b){tklogin.inRequest=false;$("#forgot_loader").hide();$("#forgot_button").removeClass("inactive");if(a.status=="success"){tklogin.loginSuccess("An e-mail has been sent to you. Please read it and follow the instructions.");setTimeout(function(){window.location.hash="";window.location.reload()},2000)}else{tklogin.loginError("The e-mail you provided could not be found.")}},showForgot:function(a){if(a&&a.preventDefault){a.preventDefault()}$("#forgot_email").val($("#login_email").val());$("#forgot_form").show();tklogin.oLoginForm.hide();tklogin.loginError();return false},hideForgot:function(a){if(a&&a.preventDefault){a.preventDefault()}$("#forgot_form").hide();tklogin.oLoginForm.show();tklogin.loginError();return false},inputEvent:function(c){var a=c.data;var b=$(c.currentTarget);if(c.type=="focus"){if(a.switchFocus){b.hide();$(a.switchFocus).show();$(a.switchFocus).focus()}else{if(b.val()==a.hint){b.val("")}}}else{if(c.type=="blur"){if(!b.val().length){if(a.switchBlur){b.hide();$(a.switchBlur).show()}else{b.val(a.hint)}}}}},resetPwCb:function(a){if(bUserLoggedIn){return}if(a=="alreadyreset"){tklogin.showModal(null,function(){tklogin.loginError("You already reset your password. Login with your new one here.")})}else{if(a=="ok"){tklogin.showModal(null,function(){tklogin.loginSuccess("Your password has been reset. After logging in with the password received in your E-mail, you can change it from your account settings.")})}else{if(a=="invalid"){tklogin.showModal(null,function(){tklogin.loginError("Invalid password reset URL. Please click the link again or try copy-paste-ing it in your browser's address bar")})}}}},loginRequired:function(){if(bUserLoggedIn){return}if(typeof(sAfterLogin)!="undefined"){data={action:"goto",to:sAfterLogin}}tklogin.showModal(null,function(){tklogin.loginError("You must be logged in to do that.")},null,data)}};$(document).ready(tklogin.init);
