﻿
 // AJAX handler class
var toolboxAJAX = new Class(
{    
    initialize: function() 
    {        
		this.addSlider = new Fx.Style('toolbox_add', 'top', {duration: 400, onComplete: this.showAddBoxComplete, wait: false});
        this.loginSlider = new Fx.Style('toolbox_login','top', {duration: 400, onComplete: this.loginCheck, wait: false});
        this.toolboxSlider = new Fx.Style('toolbox_main_box','top', {duration: 400, onComplete: this.toolboxCheck, wait: false});           
                                   
        this.addSlider.set(-70);
        this.loginSlider.set(-175);
        this.toolboxSlider.set(-235);
                                                  
        this.positionElements();        
        
        this.loginVisible = "false";  
        this.toolboxVisible = "false";                                    
	},
	
	positionElements: function()
	{	    
	    var xPos = findPosX($('toolboxPosition')) + 34;  
	    //var yPos = findPosY($('toolboxPositionY'));              
        	                    
        $('toolbox_main_box_mask').style.left =  (xPos - 245) + "px";
        $('toolbox_add_mask').style.left =  (xPos - 130) + "px"; 
        $('toolbox_login_mask').style.left =  (xPos - 210) + "px";
        
        //$('toolbox_main_box_mask').style.top =  (yPos) + "px";
        //$('toolbox_add_mask').style.top =  (yPos) + "px"; 
        //$('toolbox_login_mask').style.top =  (yPos) + "px";
	},
	
	showProductList: function()
	{
	    $('productList').setStyle('display', 'block');	    
	    _toolbox.listFader.start(1);
	},
	
	showToolbox: function()
	{	   
	    $('toolbox_main_box_mask').setStyle('display', 'block');
	    
	    if(_toolbox.toolboxVisible == "true")
	    {
	        _toolbox.closeToolbox();
	    }	
	    else
	    {    	    
	        _toolbox.toolboxSlider.start(0);
	    }	   
	    	    
	    //SCROLLBAR        
        this.productsScroller = new MooScroller($E('div.scroller div.toolbox_list'), $E('div.scroller .scrollKnob'), 
            {
                scrollLinks: 
	            {
		            forward: $E('div.scroller div.scrollForward'),
		            back: $E('div.scroller div.scrollBack')
	            }	         
            }
        );	         
        
        //SCROLLBAR        
        this.productsScroller2 = new MooScroller($E('div.scroller2 div.project_list'), $E('div.scroller2 .scrollKnob'), 
            {
                scrollLinks: 
	            {
		            forward: $E('div.scroller2 div.scrollForward'),
		            back: $E('div.scroller2 div.scrollBack')
	            }	         
            }
        );	  
              
	},
	
	updateProjects: function()
	{
	    Anthem_InvokeControlMethod('ctl00_masterHeader_Toolbox', 'getProjects');
	},
	
	closeToolbox: function()
	{	
	    _toolbox.hideToolbox();
	},
	
	hideToolbox: function()
	{	  
	    _toolbox.toolboxSlider.start(-235);
	},
	
	toolboxCheck: function()
	{
	    if (_toolbox.toolboxVisible == "true")
	    {
	        $('toolbox_main_box_mask').setStyle('display', 'none');
	        _toolbox.toolboxVisible = "false";
	    }
	    else
	    {
	        _toolbox.toolboxVisible = "true"
	    }
	},
	
	loginToolbox: function()
	{
	    if ($('loginSuccess').value == "true")
	    {
	        _toolbox.showToolbox();
	    }
	    else
	    {
	        $('toolbox_login_mask').setStyle('display', 'block');	    
	        $('loginBox').setStyle('display', 'block');
	        $('loginLoader').setStyle('display', 'none');
	        $('loginComplete').setStyle('display', 'none');
	        
	        if (_toolbox.loginVisible == "true")
	        {
	            _toolbox.loginClose();
	        }
	        else
	        {
	            _toolbox.loginSlider.start(0);	        
	        }	    
	        
	        $('ctl00_masterHeader_Toolbox_UsernameField').focus();    
	    }
	},
	
	login: function(imagePath, typeName, bvin)
	{	    
	    if ($('loginSuccess').value == "true")
	    {
	        this.add(imagePath, typeName, bvin);
	    }
	    else
	    {
	        $('toolbox_login_mask').setStyle('display', 'block');	    
	        $('loginBox').setStyle('display', 'block');
	        $('loginLoader').setStyle('display', 'none');
	        $('loginComplete').setStyle('display', 'none');	        
	        
	        if (_toolbox.loginVisible == "true")
	        {
	            _toolbox.loginClose();
	        }
	        else
	        {
	            this.loginSlider.start(0);	        
	        }	       	        
	        
	        $('ctl00_masterHeader_Toolbox_UsernameField').focus();
	    }
	},
	
	loginLoad: function()
	{
	    //updateLogin();
	    //updatePassword();
	    $('loginBox').setStyle('display', 'none');
	    $('closeBox').setStyle('display', 'none');	     
	    $('loginLoader').setStyle('display', 'block');	     	     	     
	},
	
	loginClose: function()
	{
	    _toolbox.loginSlider.start(-175);	    
	},
	
	loginProcess: function()
	{	    	    
	    if ($('loginSuccess').value == "true")
	    {	    	        
	        $('loginBox').setStyle('display', 'none');
	        $('closeBox').setStyle('display', 'none');
	        $('loginLoader').setStyle('display', 'none');
	        $('loginComplete').setStyle('display', 'block');
	        
	        _toolbox.loginSlider.start(-175);
	        
	        if($('showToolbox').value == "true")
	        {
	            _toolbox.showToolbox();
	        }
	    }
	    else
	    {
	        $('closeBox').setStyle('display', 'block');
	        $('loginBox').setStyle('display', 'block');
	        $('loginLoader').setStyle('display', 'none');
	        $('loginComplete').setStyle('display', 'none');
	    }
	},
	
	loginCheck: function()
	{
	    if (_toolbox.loginVisible == "true")
	    {
	        $('toolbox_login_mask').setStyle('display', 'none');
	        _toolbox.loginVisible = "false";
	    }
	    else
	    {
	        _toolbox.loginVisible = "true"
	    }
	},
	
	add: function(imagePath, typeName, bvin)
	{	      
	    Anthem_InvokeControlMethod('ctl00_masterHeader_Toolbox', 'addToToolbox', [bvin]);
	    
	    $('toolbox_add_mask').setStyle('display', 'block');
	    $('toolbox_add_img').src = "/" + imagePath;
	    $('toolbox_add_copy').innerHTML = "You've just added " + typeName + " to your toolbox.";
	    
	    clearTimeout(_toolbox.timer);
	    	    	    
	    _toolbox.addSlider.set(-70);
	    _toolbox.addSlider.start(0);	    	  	    	              	    	  	    	    
	},
	
	showAddBoxComplete: function()
	{
	    _toolbox.timer = setTimeout('_toolbox.hideAddBox()', 4000);
	},
	
	hideAddBox: function()
	{
	    clearTimeout(_toolbox.timer);
	    _toolbox.addSlider.start(-70);	   
	},
	
	test: function()
	{
	    alert('test');
	}
});


var _toolbox = new toolboxAJAX();		
var me = this;
window.onresize = _toolbox.positionElements;

function updateLogin()
{
    Anthem_InvokeControlMethod('ctl00_masterHeader_Toolbox', 'loginChange', [$('ctl00_masterHeader_Toolbox_UsernameField').value]);  
}

function updatePassword()
{    
    Anthem_InvokeControlMethod('ctl00_masterHeader_Toolbox', 'passwordChange', [$('ctl00_masterHeader_Toolbox_PasswordField').value]);  
}

function findPosX(obj)
{
  var curleft = 0;
  if(obj.offsetParent)
      while(1) 
      {
        curleft += obj.offsetLeft;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.x)
      curleft += obj.x;
  return curleft;
}

function findPosY(obj)
{
  var curtop = 0;
  if(obj.offsetParent)
      while(1)
      {
        curtop += obj.offsetTop;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.y)
      curtop += obj.y;
  return curtop;
}