﻿/* Author: Antony Benito(tonybenito@gmail.com) +91 9745003819 */




 
 function deleteSprint(spid)
 {
   if(confirm("Are you sure you want to delete this sprint. This sprint and  features and tasks will be lost. Click 'OK' if you want to delete and click 'CANCEL' to abort"))
   {
   if(confirm("If deleted this sprint cannot be available to any one. Click 'OK' to delete and click 'CANCEL' to abort "))
   {
         new Ajax.Request('ajax/SPRINT_delete.aspx?spid='+spid+'', {
      
           onLoading: function x(){   
                                    $('process_'+spid).innerHTML='Deleting...'
                                  },
                              
           onComplete: function x(transport){
                                  
                                   $('process_'+spid).innerHTML=''
                                   
                                  sts=transport.responseText;
                                  if(sts!="done")
                                  {                               
                                     alert(sts);                                
                                     
                                  }
                                  else
                                  {
                                      Effect.DropOut('sprint_'+spid, { duration: 0.5 }); return false;
                                   
                                  }     
                              }
      });
      }
   }
 }
 
 
 
function taskvolunteer(tid,uid,pblid,type)
{
   new Ajax.Request('ajax/TASK_volunteer.aspx?taskid='+tid+'&uid='+uid+'&type='+type+'', {
  
       onLoading: function x(){   
                                $('taskitemprocess_'+tid).innerHTML='Updating..'
                              },
                          
       onComplete: function x(transport){
                              
                            
                              sts=transport.responseText;
                              if(sts!="done")
                              {                               
                                 alert(sts);                                
                                 
                              }
                              else
                              {
                                task_load(pblid)
                              }
                             
                           
                          }
  });
    
}
 
function loadProjectScreen(uid)
{ 

 new Ajax.Updater('holderRight', 'forms/projects.aspx', {
          
          method:'get',
         onLoading: function x(){
                                    $('holderRight').innerHTML="<div class='taskLoading'>Loading...</div>";
                                },
                                  
               onComplete: function x(transport){
                                  
                                              loadProjects(uid)
                                     
                                      }
                                   
                                
          });         
          
}

 function loadProjects(uid)
{ 

 new Ajax.Updater('projects', 'ajax/PROJECT_load.aspx?uid='+uid+'', {
          
          method:'get',
         onLoading: function x(){
                                    $('project_loading').innerHTML="<div class='taskLoading'>Loading...</div>";
                                },
                                  
               onComplete: function x(transport){
                                  
                                 $('project_loading').innerHTML="";
                                     
                                      }
                                   
                                
          });         
          
}

function projectAdd(pname)
{
     new Ajax.Request('ajax/PROJECT_add.aspx?pname='+pname+'', {
  
   onLoading: function x(){   
                            $('project_loading').innerHTML="<div class='taskLoading'>Please wait...</div>";
                          },
                          
       onComplete: function x(transport){
                              
                            
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                $('project_loading').innerHTML="";
                                 alert(sts);
                                  
                                 
                              }
                              else
                              {
                                $('projectname').value="";
                                
                                loadProjects($('HiddenField_uid').value)
                                           
                              }
                             
                           
                          }
  });
}
 
 
 
 function loadHome()
 {
 
      $('holder').innerHTML="";
      $('holderRight').innerHTML="";
       $('BacklogBoxSprintBoard').innerHTML="";
  

     new Ajax.Updater('holder', 'forms/home.aspx', {
          
          method:'get',
          onLoading: function x(){
                                    $('holder').innerHTML="<div class='taskLoading'>Loading...</div>";
                                },
                                  
               onComplete: function x(transport){
                                  
                                    scrap_load($('HiddenField_uid').value,'myscraps')
                                    ListMycontactPending($('HiddenField_uid').value,'contactRequests')
                                  
                                     
                                      }
                                   
                                
          });

      
      
     
      
     
 }

 
 
 
 
 function passwordrecover(email)
 {
 new Ajax.Request('ajax/PASSWORD_recover.aspx?email='+email+'', {
  
   onLoading: function x(){
   
                            $('password_loading').innerHTML="Please wait..";
                          },
                          
       onComplete: function x(transport){
                              
                              $('password_loading').innerHTML="";
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                 
                                 alert(sts)
                                 
                              }
                              else{
                                                                  
                             
                                  }
                           
                          }
  });
   
 }
 function openForgotPassword()
 {
        Effect.SlideDown($('forgot'), { duration: 0.5 }); return false;
}
 function closeForgotPassword()
 {
        Effect.SlideUp($('forgot'), { duration: 0.5 }); return false;
}


function togle(item,style)
{
    item.className=style
} 
function initialise(SPID)
{
    $('BacklogBoxSprintBoard').innerHTML="";
    $('holder').innerHTML="";
    
    SBL_load_all(SPID,'holder')
    sprintInfo(SPID,'holderRight')
    
}


function addUser(fname,lname,password,email)
{

new Ajax.Request('ajax/USER_add.aspx?password='+password+'&email='+email+'&fname='+fname+'&lname='+lname+'', {
  
   onLoading: function x(){
                            $('useradd').disabled=true;
                            $('useradd').value='Please wait...';
                          },
                          
       onComplete: function x(transport){
                              
                             
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                 $('useradd').disabled=false;
                                 $('useradd').value='Create my account';
                                 alert(sts)
                                 
                              }
                              else{
                          
                              location.href='sprint_board.aspx'
                             
                              }
                           
                          }
  });
}

function login(uname,password)
{

    new Ajax.Request('ajax/USER_login.aspx?username='+uname+'&password='+password+'', {
      
       onLoading: function x(){
                                $('login').disabled=true;
                                $('login').value='Please wait...';
                              },
                              
           onComplete: function x(transport){
                                  
                                 
                                  sts=transport.responseText;
                                  if(sts!="done")
                                  {
                                     $('login').disabled=false;
                                     $('login').value='login';
                                     
                                     alert(sts)
                                  }
                                  else{
                                
                                  location.href="sprint_board.aspx"
                                 
                                  }
                               
                              }
      });
}


function laodForm_newSprint(loadhere)
{

$('holderRight').innerHTML="";
$('holder2').innerHTML="";
  $('BacklogBoxSprintBoard').innerHTML="";

 new Ajax.Updater(loadhere, 'forms/Sprint_New.aspx', {
          
          method:'get',
         onLoading: function x(){
                                    $(loadhere).innerHTML="<div class='taskLoading'>Loading...</div>";
                                  },
                                  
               onComplete: function x(transport){
                                  
                                   curv('newsprintBox',10)
                                      }
                                   
                                
          });
}

function sprint_save(spname,sptheme,stdate,eddate)
{


new Ajax.Request('ajax/SPRINT_add.aspx?name='+spname+'&theme='+sptheme+'&stdate='+stdate+'&eddate='+eddate+'', {
  
   onLoading: function x(){
                            $('sp_save').disabled=true;
                            $('sp_save').value='Please wait...';
                          },
                          
       onComplete: function x(transport){
                              
                             // $(loadhere).innerHTML=""
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                 $('sp_save').disabled=false;
                                 $('sp_save').value='Add new sprint';
                                 alert(sts)
                              }
                              else{
                            
                               sprintAll($('HiddenField_uid').value,'holder')
                             
                              }
                           
                          }
  });
	
}

function sprintAll(userId,loadhere)
{
        $('holderRight').innerHTML="";
        $('holder2').innerHTML="";
        $('holderRight').innerHTML="";
          $('BacklogBoxSprintBoard').innerHTML="";
        
        loadTagsFilterScreen(userId)
        
        LoasSprintTagwise('all',loadhere)

     /*  new Ajax.Updater(loadhere, 'ajax/SPRINT_all.aspx?uid='+userId+'', {
          
         onLoading: function x(){
                                    $(loadhere).innerHTML="<div class='taskLoading'>Loading...</div>";
                                  },
                                  
               onComplete: function x(transport){
                                   
                                     
                                      }
                                   
                                
          });*/
}


function sprintInfo(sprintid,loadhere)
{

       new Ajax.Updater(loadhere, 'ajax/SPRINT_info.aspx?spid='+sprintid+'', {
          
         onLoading: function x(){
                                    $(loadhere).innerHTML="<div class='taskLoading'>Loading...</div>";
                                  },
                                  
               onComplete: function x(transport){
               
                                        SprintShareCurrent(sprintid,'currentsharing')
                                        AppledTagsLoad(sprintid,'sprinttags')
                                        MyTagsLoad('mytags')
               
                                        new Ajax.InPlaceEditor(
                                                                  'sp_name',
                                                                  'ajax/inplace_sprint.aspx',
                                                                  {
                                                                     rows:0,
                                                                     cols:20,
                                                                     callback: function(form, value) { return 'spid='+sprintid+'&type=title&myparam='+escape(value) },
                                                                     formId: 'whatever',
                                                                     okText: 'Save',
                                                                     cancelText: 'Cancel'
                                                                    
                                                                  }
                                                               );
                                                               
                                                               new Ajax.InPlaceEditor(
                                                                  'sp_desc',
                                                                  'ajax/inplace_sprint.aspx',
                                                                  {
                                                                     rows:2,
                                                                     cols:20,
                                                                     callback: function(form, value) { return 'spid='+sprintid+'&type=desc&myparam='+escape(value) },
                                                                     formId: 'whatever',
                                                                     okText: 'Save',
                                                                     cancelText: 'Cancel'
                                                                    
                                                                  }
                                                               );
                                     
                                      }
                                   
                                
          });
}

function LoadSprintBoard(spid,loadhere)
{
        $('BacklogBoxSprintBoard').innerHTML="";
        SBL_load_all(spid,loadhere)
}

function SBL_load_all(spid,loadhere)
{

new Ajax.Updater(loadhere, 'ajax/SBL_load.aspx?spid='+spid+'', {
  
  
   onLoading: function x(){
                             $(loadhere+'_loading').innerHTML="<div class='taskLoading'>Loading...</div>";
                          },
                          
       onComplete: function x(){
       
                          $(loadhere+'_loading').innerHTML="";
                          EnableFeatureSorting();
                                               
                     
                        $$(".fetchpblids").each(function(elmt) {task_load(elmt.value)});
                     
                        $$(".delete2").each(function(elmt) {
                     
                                         //  curv(elmt.id,1)
                                             
                                             });
                                             
                        $$(".backlog_title").each(function(elmt) {
                     
                                            new Ajax.InPlaceEditor(
                                                                  elmt,
                                                                  'ajax/inplace_pbl_title.aspx',
                                                                  {
                                                                     rows:2,
                                                                     cols:20,
                                                                     callback: function(form, value) { return 'pblid='+elmt.parentNode.id.substring(8)+'&myparam='+escape(value) },
                                                                     formId: 'whatever',
                                                                     okText: 'Save',
                                                                     cancelText: 'Cancel'
                                                                    
                                                                  }
                                                               );
                                             
                                             });                                             
                                              

                     
                          }
  });
}

function EnableFeatureSorting()
{
 Sortable.create("features", {
                                            tag:'div',
                                            
                                           
                                          onUpdate: function(){
                                           
                                          // alert(Sortable.serialize("features"));

                                              new Ajax.Request("ajax/SBL_reorder.aspx", {
                                           
                                              method: "post",
                                              parameters: { data: Sortable.serialize("features") },
                                              onLoading: function x(){
                                              
                                                                     $('loading_holder').innerHTML="<img src='images/ajax-loader.gif'>";
                                                         
                                                                     },
                          
                                               onComplete: function x(transport){
                                                                      
                                                                      $('loading_holder').innerHTML=""
                                                                      sts=transport.responseText;
                                                                      if(sts!="done")
                                                                      {
                                                                         alert(sts)
                                                                      }
                                                                      else{
                                                                   
                                                                     
                                                                      }
                           
                          }
                                              
                                          
                                              });
                                      
                                             }
                              
                                  });
                           
}

function SBL_add(spid,title,point,loadhere)
{
new Ajax.Request('ajax/SBL_add.aspx?spid='+spid+'&title='+title+'&point='+point+'', {
  
   onLoading: function x(){
                             $(loadhere).innerHTML="Saving...";
                          },
                          
       onComplete: function x(transport){
                              
                              $(loadhere).innerHTML=""
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                 alert(sts)
                              }
                              else{
                             $('pbl_title').value="";
                             $('pbl_point').value="";
                             
                             SBL_load_all(spid,'holder')
                             
                              }
                           
                          }
  });
}

function pbl_delete(sblid,pblid)
{
  

check=confirm("Are you sure you want to remove this feature from board?")
if(check)
{

new Ajax.Request('ajax/SBL_delete.aspx?pblid='+sblid+'', {
  
   onLoading: function x(){
                             new Effect.Highlight($('process_'+pblid), { startcolor: '#f5ff79', endcolor: '#ffffff' });
                            
                             $('process_'+pblid).innerHTML='Deleting...'
                          },
                          
       onComplete: function x(transport){
                                                            
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                 alert(sts)
                              }
                              else{
                                  Effect.SlideUp($('feature_'+pblid), { duration: 0.5 }); return false;                             
                             
                              }
                           
                          }
  });
  }



}

function task_load(pblid)
{
new Ajax.Updater('tasksholder_'+pblid, 'ajax/TASK_load.aspx?pblid='+pblid+'', {
  
   onLoading: function x(){                          
                            
                             $('process_'+pblid).innerHTML='Loading...'
                          },
                          
       onComplete: function x(transport){
                            
                              $('process_'+pblid).innerHTML=''            
                              
                         
                      
                      Sortable.create('S100'+pblid+'', 
                            {
                              tag:'div',
                              hoverclass:'dropableHover',
                              constraint: false,
                              containment: ['S100'+pblid+'','S50'+pblid+'','S0'+pblid+''], 
                              dropOnEmpty: true,
                               onUpdate: function(){
                                           
                                          // alert(Sortable.serialize('S100'+pblid+''));
                                           new Ajax.Request("ajax/TASK_move.aspx", {
                                           
                                              method: "post",
                                              parameters: { data: Sortable.serialize('S100'+pblid+'') ,status:'100'},
                                              onLoading: function x(){
                                                         
                                                                     },
                          
                                               onComplete: function x(transport){
                                                                      
                                                                        
                                                                          sts=transport.responseText;
                                                                          if(sts!="done"&&sts.length>0)
                                                                          {
                                                                             alert(sts)
                                                                          }
                                                                          else
                                                                          {
                                                                          }
                           
                                                                      }                                            
                                          
                                                         });
                                                }                              
                            
                            });
                            
                             Sortable.create('S50'+pblid+'', 
                            {
                              tag:'div',
                              hoverclass:'dropableHover',
                              constraint: false,
                              containment: ['S100'+pblid+'','S50'+pblid+'','S0'+pblid+''], 
                              dropOnEmpty: true,
                               onUpdate: function(){
                                           
                                           
                                           new Ajax.Request("ajax/TASK_move.aspx", {
                                           
                                              method: "post",
                                              parameters: { data: Sortable.serialize('S50'+pblid+''),status:'50' },
                                              onLoading: function x(){
                                                         
                                                                     },
                          
                                               onComplete: function x(transport){
                                                                      
                                                                        
                                                                          sts=transport.responseText;
                                                                          if(sts!="done"&&sts.length>0)
                                                                          {
                                                                             alert(sts)
                                                                          }
                                                                          else
                                                                          {
                                                                          }
                           
                                                                      }                                            
                                          
                                                         });
                                          }    
                              
                            
                            });
                            
                             Sortable.create('S0'+pblid+'', 
                            {
                              tag:'div',
                              hoverclass:'dropableHover',
                              constraint: false,
                              containment: ['S100'+pblid+'','S50'+pblid+'','S0'+pblid+''], 
                              dropOnEmpty: true,
                              onUpdate: function(){
                                           
                                           // alert(Sortable.serialize('S100'+pblid+''));
                                           new Ajax.Request("ajax/TASK_move.aspx", {
                                           
                                              method: "post",
                                              parameters: { data: Sortable.serialize('S0'+pblid+''),status:'0' },
                                              onLoading: function x(){
                                                         
                                                                     },
                          
                                               onComplete: function x(transport){
                                                                      
                                                                        
                                                                          sts=transport.responseText;
                                                                          if(sts!="done"&&sts.length>0)
                                                                          {
                                                                             alert(sts)
                                                                          }
                                                                          else
                                                                          {
                                                                          }
                           
                                                                      }                                            
                                          
                                                         });
                                          }    
                              
                            
                            });

                     
                          EnableFeatureSorting();
                     
                     /****/
                                                                         
                                     /***********************************/
                                     
                                     var spid=$('sprintselected').value;
                                     
                                          var x='.'+pblid+'_task_title'
                                                                  
                                          $$(x).each(function(elmt) {
                  
                                          var editor=  new Ajax.InPlaceEditor(
                                                                  elmt.id,
                                                                  'ajax/inplace_task.aspx',
                                                                  {
                                                                     rows:2,
                                                                     cols:20,
                                                                     callback: function(form, value) { return 'tid='+elmt.parentNode.id.substring(9)+'&type=title&spid='+spid+'&myparam='+escape(value) },
                                                                     formId: 'whatever',
                                                                     okText: 'Save',
                                                                     cancelText: 'Cancel'
                                                                    
                                                                  }
                                                               );
                                                               
                                                             
                                             
                                             });
                                             
                                           var x='.'+pblid+'_task_er'
                                                                  
                                          $$(x).each(function(elmt) {
                  
                                          var editor=  new Ajax.InPlaceEditor(
                                                                  elmt.id,
                                                                  'ajax/inplace_task.aspx',
                                                                  {
                                                                     
                                                                     cols:1,
                                                                     callback: function(form, value) { return 'tid='+elmt.parentNode.id.substring(9)+'&type=er&spid='+spid+'&myparam='+escape(value) },
                                                                     formId: 'whatever',
                                                                     okText: 'Save',
                                                                     cancelText: 'Cancel'
                                                                    
                                                                  }
                                                               );
                                                               
                                                             
                                             
                                             });
                                             
                                             
                                              var x='.'+pblid+'_task_ep'
                                                                  
                                          $$(x).each(function(elmt) {
                  
                                          var editor=  new Ajax.InPlaceEditor(
                                                                  elmt.id,
                                                                  'ajax/inplace_task.aspx',
                                                                  {
                                                                     
                                                                     cols:1,
                                                                     callback: function(form, value) { return 'tid='+elmt.parentNode.id.substring(9)+'&type=ep&spid='+spid+'&myparam='+escape(value) },
                                                                     formId: 'whatever',
                                                                     okText: 'Save',
                                                                     cancelText: 'Cancel'
                                                                    
                                                                  }
                                                               );
                                                               
                                                             
                                             
                                             });
                                             
                                               var x='.'+pblid+'_task_ea'
                                                                  
                                          $$(x).each(function(elmt) {
                  
                                          var editor=  new Ajax.InPlaceEditor(
                                                                  elmt.id,
                                                                  'ajax/inplace_task.aspx',
                                                                  {
                                                                     
                                                                     cols:1,
                                                                     callback: function(form, value) { return 'tid='+elmt.parentNode.id.substring(9)+'&type=ea&spid='+spid+'&myparam='+escape(value) },
                                                                     formId: 'whatever',
                                                                     okText: 'Save',
                                                                     cancelText: 'Cancel'
                                                                    
                                                                  }
                                                               );
                                                               
                                                             
                                             
                                             });
                                     
                                     
                                     /**********************************/
                     
                           
                          }
  });
  
}

 function applyTaskInplaceEditor()
 {
     
                    //  $$(".newtask1").each(function(elmt) {
                     
                  // curv(elmt.id,5)
                     
                  //   });  
                  
//                    $$(".task_title").each(function(elmt) {
//               
//                                  //  alert(elmt.className);
//                                             });
//                                                                  
//                                          $$(".task_title").each(function(elmt) {
//                  
//                                          var editor=  new Ajax.InPlaceEditor(
//                                                                  elmt.id,
//                                                                  'ajax/inplace_pbl_title.aspx',
//                                                                  {
//                                                                     rows:3,
//                                                                     cols:20,
//                                                                     callback: function(form, value) { return 'pblid='+elmt.parentNode.id.substring(8)+'&myparam='+escape(value) },
//                                                                     formId: 'whatever',
//                                                                     okText: 'Save',
//                                                                     cancelText: 'Cancel'
//                                                                    
//                                                                  }
//                                                               );
//                                                               
//                                                             
//                                             
//                                             });
//                                             
                                            
                     
 }

function  moveItem(draggable,droparea)
{

var taskid=draggable.id.substring(9)
var status=droparea.id.substring(0,1)


 draggable.parentNode.removeChild(draggable);
 droparea.appendChild(draggable);
 

 updateTaskStatus(taskid,status)
 
 
}

function updateTaskStatus(taskid,status)
{


new Ajax.Request('ajax/TASK_statusupdate.aspx?tskid='+taskid+'&status='+status+'', {
  
   onLoading: function x(){
                            // new Effect.Highlight($('process_'+pblid), { startcolor: '#f5ff79', endcolor: '#ffffff' });
                            
                           $('taskitemprocess_'+taskid).innerHTML='Saving..'
                          },
                          
       onComplete: function x(transport){
       
                              $('taskitemprocess_'+taskid).innerHTML='' 
                                                            
                                                  
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                 alert(sts)
                              }
                              else{
                                  
                                
                             
                              }
                           
                          }
  }); 


}

function showTaskAddBox(pblid)
{
     // Lightbox.showBoxByAJAX('GroupCreate.htm', 600, 350);return false;
     
     Effect.BlindDown('taskaddbox_'+pblid, { duration: 0.5 });
   //  new Effect.Highlight($('taskaddbox_'+pblid), { startcolor: '#f5ff79', endcolor: '#ffffff' });
}
function hideTaskAddBox(pblid)
{
     // Lightbox.showBoxByAJAX('GroupCreate.htm', 600, 350);return false;
    
     
     Effect.BlindUp('taskaddbox_'+pblid, { duration: 0.5 }); return false;
}

function task_add(pblid,comment,color,pe)
{
//alert(pblid+comment+color+pe)
//alert($('taskprocess_'+pblid).innerHTML);

new Ajax.Request('ajax/TASK_add.aspx?pblid='+pblid+'&comment='+comment+'&pe='+pe+'&color='+color+'', {
  
   onLoading: function x(){
                            // new Effect.Highlight($('process_'+pblid), { startcolor: '#f5ff79', endcolor: '#ffffff' });
                            
                             $('process_'+pblid).innerHTML='Please wait..'
                          },
                          
       onComplete: function x(transport){
                                    $('process_'+pblid).innerHTML=''                        
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                 alert(sts)
                              }
                              else{
                                  
                                 
                                  $('COMMENT_'+pblid).value='' 
                                  
                                  task_load(pblid)
                                  
                             
                              }
                           
                          }
  }); 
  

}

function task_delete(tskid)
{
check=confirm("Are you sure you want to remove this task?")
if(check)
{
new Ajax.Request('ajax/TASK_delete.aspx?tskid='+tskid+'', {
  
   onLoading: function x(){
                            // new Effect.Highlight($('process_'+pblid), { startcolor: '#f5ff79', endcolor: '#ffffff' });
                            
                             $('taskitemprocess_'+tskid).innerHTML='Deleting..'
                          },
                          
       onComplete: function x(transport){
                                                     
                              sts=transport.responseText;
                              if(sts!="done")
                              {
                                 alert(sts)
                              }
                              else{
                                  
                                 Effect.DropOut('taskitem_'+tskid, { duration: 0.5 }); return false;
                             
                              }
                           
                          }
  }); 
}
   
   
}
function checkAvailability(username,loadhere)
{
//alert(username+loadhere)
new Ajax.Request('ajax/USER_checkavailable.aspx?username='+username+'', {
  
   onLoading: function x(){
                            // new Effect.Highlight($('process_'+pblid), { startcolor: '#f5ff79', endcolor: '#ffffff' });
                            
                           //  $(loadhere).innerHTML='Please wait..'
                          },
                          
       onComplete: function x(transport){
                                                     
                              sts=transport.responseText;
                              
                                 $(loadhere).innerHTML=sts
                             
                           
                          }
  }); 
}

function curv(partid,radiusValue)
{
 
    var settings = {
      tl: { radius: radiusValue },
      tr: { radius: radiusValue },
      bl: { radius: radiusValue },
      br: { radius: radiusValue },
      antiAlias: true
   }
curvyCorners(settings, "#"+partid);

}
