
$(function(){var dialog=$('#project_edit_dialog');if(dialog.length==0)
return;var idtag=$('#projid');var name=$('#projname');var tag=$('#projtag');var desc=$('#projdesc');var editFields=$([]).add(idtag).add(name).add(tag).add(desc);name.limit('255','#proj_counter');dialog.dialog({bgiframe:true,autoOpen:false,modal:true,width:600,buttons:{'Delete Project':function(){var doit=confirm("Are you sure you want to delete this project?");if(doit){$.ajax({type:'GET',url:'/Projects/Delete/'+idtag.val(),success:function(result){var ops=JSON.parse(result);for(var i=0;i<ops.length;i++){if(ops[i].Operation=='remove'){$(ops[i].Id).remove();}else if(ops[i].Operation=='redirect'){window.location=ops[i].Id;}}
dialog.dialog('close');},error:function(XMLHttpRequest,textStatus,errorThrown){var errObj=JSON.parse(XMLHttpRequest.responseText);alert("There was a problem deleting your task: "+errObj.Error);}});}},'OK':function(){var valid=true;var nametxt=name.val();if(nametxt.length==0){alert("Oops, you forgot to name your project!");return false;}
if(nametxt.search(/^\\s$/g)!=-1){alert("You can't have a whitespace-only project name!");return false;}
var tagtxt=tag.val();if(tagtxt.charAt(0)=='!'){tag=tagtxt.substring(1);}
tagtxt.replace(/\s(\w)/g,function(match,group1){return group1.toUpperCase()});if(tagtxt.search(/\W/)!=-1){alert("You can only use letters, numbers and the underscore in a project tag.");return false;}
var desctext=desc.val();if(valid){$.ajax({type:'POST',url:'/Projects/Edit/'+idtag.val(),data:({name:nametxt,tag:tagtxt,description:desctext}),success:function(result){var project=JSON.parse(result);if(project.Error!==undefined){alert("There was a problem updating your project: "+project.Error);return;}else{var link=window.location.pathname.toString().toLowerCase();var oldtag=$('#projtag_old').val();if(link.search('/project/'+oldtag+'$')!=-1){if(tagtxt!=oldtag){window.location=link.replace('/'+oldtag,'/'+tagtxt);dialog.dialog('close');return;}else{$('#pbl'+project.Id).text(project.Name);}}
var projLine=$('#p'+project.Id);if(projLine.length>0){projLine.find('.name').html(linkTagString(project.Name));projLine.find('.tag').text('!'+project.Tag);projLine.find('.description').markdown(project.Description);}
dialog.dialog('close');}},error:function(XMLHttpRequest,textStatus,errorThrown){var errObj=JSON.parse(XMLHttpRequest.responseText);alert("There was a problem updating your project: "+errObj.Error);}});}},Cancel:function(){$(this).dialog('close');}},close:function(){}});});$(function(){var editbtn=$('#edit_proj');editbtn.click(function(){var dialog=$('#project_edit_dialog');dialog.dialog('option','title','Editing "'+$('#projname').val()+'"');dialog.dialog('open');return false;});editbtn.attr('href','#');});function plEditButtonClick(btn){var id=btn.parent().siblings('input[type="hidden"].id').attr('value');btn.attr('src','/Content/icons/progress.gif');$.ajax({type:'GET',url:'/Projects/View/'+id,data:'json=true',success:function(result){var project=JSON.parse(result);if(project.Error!==undefined){alert("There was a problem getting your note: "+note.Error);return false;}
var dialog=$('#project_edit_dialog');$('#projid').val(project.Id);$('#projname').val(project.Name);$('#projtag').val(project.Tag);$('#projtag_old').val(project.Tag);$('#projdesc').val(project.Description);dialog.dialog('option','title','Editing "'+project.Name+'"');dialog.dialog('open');btn.attr('src','/Content/icons/edit.png');},error:function(XMLHttpRequest,textStatus,errorThrown){var errObj=JSON.parse(XMLHttpRequest.responseText);alert("There was a problem getting your task: "+errObj.Error);btn.attr('src','/Content/icons/edit.png');}});}
function plShowButtonClick(btn){btn.toggleClass('hidden');btn.siblings('.hideButton').toggleClass('hidden');btn.parents('.projectLine').find('.details').toggleClass('hidden');}
function plHideButtonClick(btn){btn.toggleClass('hidden');btn.siblings('.showButton').toggleClass('hidden');btn.parents('.projectLine').find('.details').toggleClass('hidden');}
$(document).ready(function(){$('.projectLine .showButton').click(function(){plShowButtonClick($(this));});$('.projectLine .hideButton').click(function(){plHideButtonClick($(this));});$('.projectLine .editProject').click(function(){plEditButtonClick($(this));return false;});});function hookupProjectLine(projectLine){projectLine.find('abbr[class*=timeago]').timeago();projectLine.find('.markdown').markdown();projectLine.find('.showButton').click(function(){plShowButtonClick($(this));});projectLine.find('.hideButton').click(function(){plHideButtonClick($(this));});projectLine.find('.editProject').click(function(){plEditButtonClick($(this));return false;});};