window.addEvent('domready', function(){
  // Dialog box with spinner ============================================

  function showDialog(state)
  {
    if (state=="show"){
      positionTop = (window.getHeight().toInt() / 2) + window.getScrollTop().toInt();
      positionLeft = (window.getWidth().toInt() / 2) + window.getScrollLeft().toInt();
      $('dialog_box').setStyle("top",positionTop - 50)
      $('dialog_box').setStyle("left",positionLeft - 187)
      $('dialog_box').setStyle("display","block")
    }
    else
    {
      setTimeout("$('dialog_box').setStyle('display','none')",800) 
    }
  }
  
  // help popup ==========================================================

  $$('.people .person a').each(function(element){
    element.addEvent('click', function(el){
        el.stop();
        divPopup({ 
         state: "show",
         div: "people_popup",
         offset_y: 170,
         offset_x: 300
         });

         //load form through ajax
           new Ajax(element.href, {
          		method: "get",
              update: "people_data",
              onSuccess: function(){
          	    showDialog("hide");
                }
          	}).request();

        //set up close link
        closeDivPopup('people_popup');
    });
  });

   function divPopup(options)
   {
     state = options.state;
     div_name = options.div;
     y = options.offset_y;
     x = options.offset_x;

     popupfx = new Fx.Style(div_name, 'opacity');

     if (state=="show")
     {
       backgroundOverlay("show");
       positionTop = (window.getHeight().toInt() / 2) + window.getScrollTop().toInt();
       positionLeft = (window.getWidth().toInt() / 2) + window.getScrollLeft().toInt();
       setTimeout("$('" + div_name + "').setStyle('top',positionTop - " + y + ");$('" + div_name + "').setStyle('left',positionLeft - " + x + ");popupfx.start(0,1);",500);
     }
     else
     {
       backgroundOverlay("hide");
       popupfx.start(1,0);
     }
   }

   function backgroundOverlay(state)
   {
     var scroll = window.getScroll();
     newHeight = scroll.y;

     if (newHeight > 0)
     {
       $('background_overlay').setStyle('height',newHeight + 1000);
     }

     fx = new Fx.Style('background_overlay', 'opacity');
     opacity = 0.7

     if (state=="show"){
       $('background_overlay').setStyle('display','block');
       fx.start(0,opacity);
     }
     else
     {
       fx.start(opacity,0).chain(function(){$('background_overlay').setStyle('display','none')});
     }
   }
   
   // close popup links ===================================================

   function closeDivPopup(divname){
     $$('.close').each(function(element){
       element.addEvent('click', function(el){
         el.stop
         divPopup({ div: divname, state: "hide"});
         });
       });
   }
   
   
   // search results inline login
   $$(".protected").each(function(element){
     
     element.addEvent("click", function(el){
       
       el.stop();
       
       //push url via ajax
        new Ajax(element.href, {
        		method: "get",
            update: "inline_login_data",
            evalScripts: true,
            onSuccess: function(){
              // position the login form regardless of whether it is needed (easier to deal with)
              positionTop = element.getPosition().y
              positionLeft = element.getPosition().x
              positionTop = positionTop - 60
              positionLeft = positionLeft - 10
              $('inline_login').setStyle("top",positionTop);
              $('inline_login').setStyle("left",positionLeft);
              
              $("inline_login").addEvent("submit", function(){
                setTimeout("fx.start(0.99,0);",2000); 
              });
            },
            onFailure: function(){
             alert("Request failed. Please try again.");
            }
        	}).request();
     });
   });
   
   
   $("site_search_keywords").addEvent("focus",function(){
		$("site_search_keywords").set("value","");	
   });
   if ($("start_date")){ new DatePicker('#start_date', { pickerClass: 'datepicker_dashboard',allowEmpty: true, inputOutputFormat: "d/m/y" }); }
   if ($("end_date")){ new DatePicker('#end_date', { pickerClass: 'datepicker_dashboard',allowEmpty: true, inputOutputFormat: "d/m/y"  }); }

  
  
    if ($("select_all")){

      // loop through all of the checkboxes to see if any are unchecked. if one is then select all should be unchecked.
      checkbox_status()

       // set listeners for each check box, if unchecked set the select all checkbox to unchecked
       $$(".input").each(function(element){
          element.addEvent("click", function(){checkbox_status();});
       });

      $("select_all").addEvent("click", function(el){
        if ($("select_all").getProperty("checked")){
          action = "check";
        }
        else
        {
          action = "uncheck";
        }

        $$(".input").each(function(element){
          if (action == "check")
          {
            element.set("checked",true);
          }
          else
          {
            element.set("checked",false);
          }

        });
      })
    }

 });

function checkbox_status(){
 found_false = 0;
 $$(".input").each(function(element){
     if (element.getProperty("checked") == false)
     {
       found_false = 1;
     }    
 });
   if (found_false == 1)
   {
     $("select_all").set("checked",false);
   }
   else
   {
     $("select_all").set("checked",true);
   }

}


function inlineLogin(){
  
  fx = new Fx.Style('inline_login', 'opacity');
  $('inline_login').setStyle("display","block");
  fx.start(0,0.99);

  $("inline_close").addEvent("click", function(){
    fx.start(0.99,0);
  });
}

