$(document).ready(function(){$(".defText").focus(function(){if($(this).attr("title")===$(this).val()){$(this).removeClass("inactive");$(this).val("");}});$(".defText").blur(function(){if($(this).val()===""){$(this).addClass("inactive");$(this).val($(this).attr("title"));}});$('.submitOnEnter').keypress(function(e){if((e.which&&e.which==13)||(e.keyCode&&e.keyCode==13)){$(this).parent().submit();return false;}else{return true;}});$('.noEmpty').keypress(function(){if($(this).val()==""){$(this).addClass("error");}else{$(this).removeClass("error");}});$('.checkEmail').change(function(){if(checkEmail($(this).val())){$(this).removeClass("error");}else{$(this).addClass("error");}});$('.modal').css('left',((screen.width-530)/2)+'px');$(".panel").css("minHeight",$("#rightCol").height()+"px");$("#frm_task").submit(function(){addTask();return false;});$('#list input').live('click',function(){completeTask($(this));});$('#list_done input').live('click',function(){incompleteTask($(this));});var currToolbarLoc=0;var hoverToolbarOn=true;$('.taskItem').live("mouseover",function(){if(hoverToolbarOn){var id=$(this).attr("id");id=id.substring(4);if(currToolbarLoc!=id){$(".list .long").removeClass("long");$("#itemToolbar").remove();$(this).addClass("long");currToolbarLoc=id;var cat='';cat=$(this).hasClass("today")?"today":"someday";$(this).append($('#liToolbar').html());$(".list .itemTools").attr("id","itemToolbar");$("#itemToolbar .draggable").attr("rel",id);$("#itemToolbar .draggable").draggable({helper:function(){$('body').append("<div id='moveHandle' rel='"+id+"' cat='"+cat+"'>Move this task</div>");return document.getElementById("moveHandle");},start:function(event,ui){resetToolbar();hoverToolbarOn=false;},stop:function(event,ui){hoverToolbarOn=true;}});}}});var rl_currToolbarLoc=0;var rl_hoverToolbarOn=true;$("#list_read_later li").mouseover(function(){if(rl_hoverToolbarOn){var id=$(this).attr("id");id=id.substring(2);if(rl_currToolbarLoc!=id){rl_currToolbarLoc=id;$("#list_read_later li").removeClass("long");$("#rlItemToolbar").remove();$(this).addClass("long");$(this).append($('#rlToolbar').html());$("#list_read_later li .rlTools").attr("id","rlItemToolbar");}}});utilsOn=false;$("#tab_today").click(function(){if(!$(this).hasClass("current")){removeCurrent();$(this).addClass("current");$("#today").val("1");$("#lbl_task").html("Today I must...");showTasks(true);}
return false;});$("#tab_someday").click(function(){if(!$(this).hasClass("current")){removeCurrent();$(this).addClass("current");$("#today").val("0");$("#lbl_task").html("Someday I will...");showTasks(false);}
return false;});$('#utils a').click(function(e){var target=$(this).attr("rel");$('#tasks').addClass('hidden');$('#'+target).removeClass('hidden');$("#listTools").hide();$('#tabs a').removeClass("current");$(this).addClass("current");utilsOn=true;return false;});$("#folders .folderLnk").live("click",function(){if($(this).hasClass("current")){$(this).removeClass("current");showTasks(true);$("#tab_today").addClass("current");$("#today").val("1");}else{removeCurrent();$(this).addClass("current");showTasksByFolder($(this).html());}
return false;});$('.color').live('click',function(){$('#itemToolbar .date').removeClass("current");$('#itemToolbar .scheduleOn').hide();$(this).toggleClass("current");$('#itemToolbar .colorPicker').toggle();return false;});$('.colorPicker a').live("click",function(){var id=currToolbarLoc;var color=$(this).attr("class");$.get("?ajax=true&changeColor="+id+"&color="+color);var el=$("#item"+id);clearColors(el);el.addClass(color);resetToolbar();return false;});$('.date').live("click",function(){$('#itemToolbar .color').removeClass("current");$('#itemToolbar .colorPicker').hide();$(this).toggleClass("current");$('#itemToolbar .scheduleOn').datepicker({onSelect:function(dateText,inst){alert(dateText);resetToolbar();}});$('#itemToolbar .scheduleOn').toggle();return false;});$('#tasks .delete').live('click',function(){var id=currToolbarLoc;deleteTask(id);return false;});$("#tabs a").droppable({drop:function(event,ui){var dest=$(this).attr("rel");var id=ui.helper.attr("rel");var org=ui.helper.attr("cat");if(dest!=org){$("#item"+id).effect("transfer",{to:$(this),className:'ui-effects-transfer'},500,function(){$("#item"+id).remove();});var path="/?ajax&moveTo_"+dest+"="+id;$.get(path);var task=$("#t"+id);task.removeClass("today");task.removeClass("someday");task.addClass(dest);}}});$("#list").sortable({update:function(event,ui){var pos=$(this).children().index(ui.item);var id=currToolbarLoc;$.get("?ajax&changePos&pos="+pos+"&id="+id);}});$('#clearDone').click(function(e){var folderID=$(this).attr("rel");$.get("?ajax=true&clearDone&folderID="+folderID);$("#list_done_"+folderID).html("");return false;});$('#clearAll').click(function(e){var folderID=$(this).attr("rel");$.get("?ajax=true&clearAll&folderID="+folderID);$("#list_"+folderID).html("");$("#list_done_"+folderID).html("");return false;});$('#clearDone').click(function(e){var folderID=$(this).attr("rel");$.get("?ajax=true&clearDone&folderID="+folderID);$("#list_done_"+folderID).html("");return false;});$('#clearAll').click(function(e){if(confirm("Are you sure you want to clear this list?\n\nThis can't be undone you know...")){var folderID=$(this).attr("rel");$.get("?ajax=true&clearAll&folderID="+folderID);$("#list_"+folderID).html("");$("#list_done_"+folderID).html("");}
return false;});$('#list_read_later .delete').live('click',function(){var id=rl_currToolbarLoc;$("#rl"+id).fadeOut("fast",function(){$(this).remove();});$.get("?ajax=true&delReadLater="+id);return false;});});function resetToolbar(){$('#itemToolbar a').removeClass("current");$('#itemToolbar .innerBox').hide();}
function clearColors(el){el.removeClass("red");el.removeClass("orange");el.removeClass("yellow");el.removeClass("green");el.removeClass("blue");el.removeClass("darkBlue");el.removeClass("purple");el.removeClass("maroon");el.removeClass("white");}
function modal(el){$("#modalCover").show();$("#"+el).removeClass("hidden").addClass("currentModal");}
function closeModal(){$("#modalCover").hide();$(".currentModal").addClass("hidden").removeClass("currentModal");}
function checkEmail(email){var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(filter.test(email)){return true;}else{return false;}}
function showTasksByFolder(folder){$("#list").html("");var html="";var id=0;var elID="";$("#all_tasks .f"+folder+".todo").each(function(){id=$(this).attr("id");id=id.substring(1);appendTaskToCurrentList(id,$(this).html(),$(this).attr("task_color"),folder,$(this).attr("sort_order"),false);});$("#all_tasks .f"+folder+".done").each(function(){id=$(this).attr("id");id=id.substring(1);appendTaskToCurrentList(id,$(this).html(),$(this).attr("task_color"),folder,$(this).attr("sort_order"),true);});}
function showTasks(today){$("#list").html("");if(utilsOn){$('#utils a').removeClass("current");$('#readLater').addClass('hidden');$('#tasks').removeClass('hidden');$("#listTools").show();utilsOn=false;}
var html="";var id=0;var elID="";var els="";if(today){els_todo=$("#all_tasks .today.todo");els_done=$("#all_tasks .today.done");$("#frm_task").removeClass("someday");$("#frm_task").addClass("today");}else{els_todo=$("#all_tasks .someday.todo");els_done=$("#all_tasks .someday.done");$("#frm_task").removeClass("today");$("#frm_task").addClass("someday");}
var cl=(today)?"today":"";els_todo.each(function(){id=$(this).attr("id");id=id.substring(1);elID="task_"+id;html+="<li id='item"+id+"' class='taskItem "+cl+" "+$(this).attr("taskColor")+"'><input type='checkbox' id='"+elID+"' name='' value='"+id+"'/>\n"
html+="<label for='"+elID+"'>"+$(this).html()+"</label></li>";appendTaskToCurrentList(id,$(this).html(),$(this).attr("taskColor"),$(this).attr("task_folder"),$(this).attr("sort_order"));});$("#list").html(html);html="";els_done.each(function(){id=$(this).attr("id");id=id.substring(1);elID="task_"+id;html+="<li id='item"+id+"' class='taskItem "+$(this).attr("taskColor")+"'><input type='checkbox' id='"+elID+"' name='' value='"+id+"' checked='checked'/>\n"
html+="<label for='"+elID+"'>"+$(this).html()+"</label></li>";});$("#list_done").html(html);}
function removeCurrent(){$("#tabs a").removeClass("current");$("#folders a.current").removeClass("current");$("#scheduledDates a.current").removeClass("current");}
function addTask(){var txtEl=$("#task");txtEl.addClass("loading");task=txtEl.val();var today=parseInt($("#today").val());if(task!=""){path="/?ajax&addTask&task="+unescape(encodeURIComponent(task)).replace("&","%26");path+="&today="+today;if(task.substring(0,1)==='@'){$.getJSON(path,function(data){if($("#f"+data.folder).length===0){var classes="folderLnk droppable";if($("#folders .emptyList").length>0){$("#folders").html("");classes+=" first singleItem";}
classes+=" last";$("#folders .last").removeClass("last");$("#folders").append("<li id='f"+data.folder+"'><a href='?folderID="+data.folderID+"' class='"+classes+"'>"+data.folder+"</a></li>")
if($("#folders").children().length>1){$("#folders .singleItem").removeClass("singleItem");}}
insertTask(data.ID,data.task,today,'white',data.folder);});}else{$.get(path,function(data){if(data!=""){insertTask(data,task,today,"white","");}});}}
txtEl.val("");txtEl.removeClass("loading");}
function insertTask(id,task,today,color,folder){var ord=$("#all_tasks li:last-child").attr("sort_order");ord++;appendTaskToCurrentList(id,task,color,folder,ord);appendTaskToAllTasks(id,task,today,color,folder);}
function appendTaskToCurrentList(id,task,color,folder,sort_order,done){var html="<li id='item"+id+"' class='taskItem white' task_folder='"+folder+"' sort_order='"+sort_order+"'>";html+="<input type='checkbox' id='task_"+id+"' name='' value='"+id+"'/>\n"
html+="<label for='task_"+id+"'>"+task+"</label></li>";if(!done){$("#list").append(html);}else{$("#list_done").append(html);}}
function appendTaskToAllTasks(id,task,today,color,folder){var html="<li id='t"+id+"' class='";if(today)html+="today";else html+="someday";html+=" f"+folder;html+="' taskColor='"+color+"'>"+task+"</li>";$("#all_tasks").append(html);}
function deleteTask(id){var folder=$("#item"+id).attr("task_folder");$("#item"+id).fadeOut("fast",function(){$(this).remove();});$("#t"+id).remove();if(folder!=""){if($("#all_tasks .f"+folder).length===0){$("#f"+folder).remove();var c=$("#folders li").length;if(c===0){$("#folders").append("<li><a href='#' class='emptyList first'>Add a Folder</a></li>");}else{if(c===1){$("#folders a").addClass("singleItem");}else{$("#folders a:first-child").addClass("first");$("#folders a:last-child").addClass("last");}}}}
$.get("?ajax=true&delete="+id);}
function completeTask(el){var id=el.val();$("#itemToolbar").remove();var li=$("#item"+id);li.removeClass("taskItem");$("#list_done").append(li);li.children("input").attr('checked','checked');var path='?ajax=true&completed='+id;$.get(path);}
function incompleteTask(el){var id=el.val();var li=$("#item"+id);li.addClass("taskItem");$("#list").append(li);li.children("input").removeAttr('checked');sortTasks();var path='?ajax=true&incomplete='+id;$.get(path);}
function sortTasks(){var mylist=$("#list");var listitems=mylist.children('li').get();listitems.sort(function(a,b){var compA=parseInt($(a).attr("sort_order"));var compB=parseInt($(b).attr("sort_order"));return(compA<compB)?-1:(compA>compB)?1:0;})
$.each(listitems,function(idx,itm){mylist.append(itm);});}