Type.registerNamespace('SitrainControlToolkit');

SitrainControlToolkit.PopupLayer = function(element)
{
    SitrainControlToolkit.PopupLayer.initializeBase(this, [element]);
    
    this._onShowHandler = null;
    this._onPopupContentResizeHandler = null; 
    this._onCloseButtonHandler = null;   
    this._onPrintButtonHandler = null;  
    this._popupContentID = null;
    this._popupContent = null;
    this._closeButton = null;
    this._printButton = null;
    this.isOpen = false;
    this._showDropShadow = false;
    this._dropShadow = null;
    this._afterOpenScriptCode = null;
}

SitrainControlToolkit.PopupLayer.prototype =
{
    initialize : function SitrainControlToolkit$PopupLayer$initialize()
    { 
        /// <summary>
        /// Initialize the behavior
        /// </summary> 
        SitrainControlToolkit.PopupLayer.callBaseMethod(this, 'initialize');
        
        this._onShowHandler = Function.createDelegate(this, this.open);               
        $addHandler(this.get_element(), "click", this._onShowHandler);
        //$addHandler(this.get_element(), "mouseout", this._onHideHandler);      
        
        // TODO:
    },
    
    dispose : function SitrainControlToolkit$PopupLayer$dispose()
    {
        /// <summary>
        /// Dispose the behavior
        /// </summary> 
        if (this._onShowHandler)
        {
            $removeHandler(this.get_element(), "click", this._onShowHandler);
            this._onShowHandler = null; 
        } 
        
        if (this._closeButton)
        {
            if (this._onCloseButtonHandler)
            {
                $removeHandler(this._closeButton, "click", this._onCloseButtonHandler);
                this._onCloseButtonHandler = null;                 
            }
        } 
         
       SitrainControlToolkit.PopupLayer.callBaseMethod(this, 'dispose');
    },
    
    getCloseButton:  function SitrainControlToolkit$PopupLayer$getCloseButton() 
    {
        if (this.get_PopupContentID())
        {	    
	        var divArray = $get(this.get_PopupContentID()).getElementsByTagName("div");
            for(i = 0; i < divArray.length; i++)
            {
                if (Sys.UI.DomElement.containsCssClass(divArray[i], "close") == true )
                {
                    return divArray[i];
                }   
            }
        }
        
        return null;        		
	},
	
	getPrintButton:  function SitrainControlToolkit$PopupLayer$getPrintButton() 
    {
        if (this.get_PopupContentID())
        {	    
	        var divArray = $get(this.get_PopupContentID()).getElementsByTagName("div");
            for(i = 0; i < divArray.length; i++)
            {
                if (Sys.UI.DomElement.containsCssClass(divArray[i], "layerprint") == true )
                {
                    return divArray[i];
                }   
            }
        }
        
        return null;        		
	},	
	
	setDropShadow: function SitrainControlToolkit$PopupLayer$setDropShadow( )
	{
	    if (this._showDropShadow === true )
	    {
	        if(this._dropShadow === null)
	        {
	            this._dropShadow = $create(AjaxControlToolkit.DropShadowBehavior, {"Opacity":0.4,"Rounded":false,"id": this.get_id() + "_dropShadowExtender"}, null, null, this._popupContent);
	        }
	    }
	    else
	    {
	        this._dropShadow = null;
	    }
	},
	
	addBackgroundIFrame : function SitrainControlToolkit$PopupLayer$addBackgroundIFrame() 
	{
        /// <summary>
        /// Add an empty IFRAME behind the popup (for IE6 only) so that SELECT, etc., won't
        /// show through the popup.
        /// </summary>
    
        // Get the child frame
        //var element = this.get_element();        
        var element = null;
        
        if ((this._dropShadow !== null) && (this._dropShadow._shadowDiv !== null))
            element = this._dropShadow._shadowDiv;
        else
            element = this._popupContent;
        
        if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && (Sys.Browser.version < 7)) {
            var childFrame = element._hideWindowedElementsIFrame;
            
            // Create the child frame if it wasn't found
            if (!childFrame) {
                childFrame = document.createElement("iframe");
                childFrame.src = "javascript:'<html></html>';";
                childFrame.style.position = "absolute";
                childFrame.style.display = "none";
                childFrame.scrolling = "no";
                childFrame.frameBorder = "0";
                childFrame.tabIndex = "-1";
                childFrame.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
                element.parentNode.insertBefore(childFrame, element);
                element._hideWindowedElementsIFrame = childFrame;
//                this._moveHandler = Function.createDelegate(this, this._onMove);
//                Sys.UI.DomEvent.addHandler(element, "move", this._moveHandler);
            }
            
            // Position the frame exactly behind the element
            var bounds = $common.getBounds(element);  
            if ((this._dropShadow !== null) && (this._dropShadow._shadowDiv !== null))             
            {
                bounds.x -= this._dropShadow._width;  
                bounds.width += this._dropShadow._width;
            }                        
            $common.setBounds(childFrame,bounds); 
            childFrame.style.display = element.style.display;
            if (element.currentStyle && element.currentStyle.zIndex) {
                childFrame.style.zIndex = element.currentStyle.zIndex;
            } else if (element.style.zIndex) {
                childFrame.style.zIndex = element.style.zIndex;
            }
        }
    },
    
    open: function SitrainControlToolkit$PopupLayer$open()
    {
        SitrainControlToolkit.PopupLayer.toggle = !!SitrainControlToolkit.PopupLayer.current; 
        
        if(SitrainControlToolkit.PopupLayer.closeCurrent(this)) 
        {
            if ( this._popupContentID)
            {
                if (this.beforeOpen()) 
                {
                    this.show();                    
				    this.isOpen = true;
				    SitrainControlToolkit.PopupLayer.current = this;
				    SitrainControlToolkit.PopupLayer.toggle = false;
				    this.afterOpen();				    
				    return true;
				}
            }
            return false; 
        } 
    },
    
    close: function SitrainControlToolkit$PopupLayer$close(newPopupLayer)
    {
        if (this.beforeClose(newPopupLayer)) 
        {
            var element = null;
        
            if ((this._dropShadow !== null) && (this._dropShadow._shadowDiv !== null))
                element = this._dropShadow._shadowDiv;
            else
                element = this._popupContent;
            
            // Hide the child frame
            if (Sys.Browser.agent === Sys.Browser.InternetExplorer) 
            {
                var childFrame = element._hideWindowedElementsIFrame;
                if (childFrame) {
                    childFrame.style.display = "none";
                }
            }
                    
			this.hide(newPopupLayer);
			this.isOpen = false;
			SitrainControlToolkit.PopupLayer.current = null;
			this.afterClose(newPopupLayer);
			return true;
		}
		return false;
    },
    
    print: function SitrainControlToolkit$PopupLayer$print()
    {
    },
    
    toggle: function() 
    {
		if (this.isOpen) 
		{
			this.close();
		} 
		else 
		{
			this.open();
		}
	},
	
	superSetOffset: function SitrainControlToolkit$PopupLayer$superSetOffset(offset) 
	{
		this.setOffset(offset);
	},
	
	setOffset: function SitrainControlToolkit$PopupLayer$setOffset(offset) {},
	
	afterClose: function SitrainControlToolkit$PopupLayer$afterClose(newPopupLayer) {},

	afterOpen: function SitrainControlToolkit$PopupLayer$afterOpen() 
	{	
	    $common.setVisible(this._popupContent, true);    
	    if(this._dropShadow !== null)
	    {
	        this._dropShadow.setShadow();
	        this._dropShadow.startTimer();
	    }
	    this.addBackgroundIFrame();	   
	    this._onPopupContentResizeHandler = Function.createDelegate(this, this.addBackgroundIFrame); 	    
	    if ((this._dropShadow !== null) && (this._dropShadow._shadowDiv !== null))	
	    {   
	        $addHandler(this._dropShadow._shadowDiv, "move", this._onPopupContentResizeHandler);	 	                       
            $addHandler(this._dropShadow._shadowDiv, "resize", this._onPopupContentResizeHandler);	  
        }  
	    else	
	    {   
	        $addHandler(this._popupContent, "move", this._onPopupContentResizeHandler);                 
            $addHandler(this._popupContent, "resize", this._onPopupContentResizeHandler);  
        } 
        
        this.runAfterOpenScript();     
	},

	beforeClose: function SitrainControlToolkit$PopupLayer$beforeClose() 
	{ 
	    $common.setVisible(this._popupContent, false);	    
	    if(this._dropShadow !== null)
	    {
	        this._dropShadow.stopTimer();
	        this._dropShadow.setShadow();
	    }	    
	    if(this._onPopupContentResizeHandler)
	    {
	        if ((this._dropShadow !== null) && (this._dropShadow._shadowDiv !== null))
	        {
	            $removeHandler(this._dropShadow._shadowDiv, "move", this._onPopupContentResizeHandler);
	            $removeHandler(this._dropShadow._shadowDiv, "resize", this._onPopupContentResizeHandler);
	        }
	        else
	        {
	            $removeHandler(this._popupContent, "move", this._onPopupContentResizeHandler);
	            $removeHandler(this._popupContent, "resize", this._onPopupContentResizeHandler);
	        }
	    }	    
	    return true;	
	},

	beforeOpen: function SitrainControlToolkit$PopupLayer$beforeOpen() 
	{
	    this.setDropShadow(); 
	    return true; 
	},
	
	show : function SitrainControlToolkit$PopupLayer$show() {},
	
	hide : function SitrainControlToolkit$PopupLayer$hide(newPopupLayer) {},
	
	runAfterOpenScript: function SitrainControlToolkit$PopupLayer$runAfterOpenScript()
	{
	    /// <summary>
        /// Execute the script
    	/// </summary>
    	/// <returns />
        try {
            eval(this._afterOpenScriptCode);
        } catch (ex) {
        }
    },
	
	get_AfterOpenScriptCode: function SitrainControlToolkit$PopupLayer$get_AfterOpenScriptCode()
    {
        return this._afterOpenScriptCode;
    },
    
    set_AfterOpenScriptCode: function SitrainControlToolkit$PopupLayer$set_AfterOpenScriptCode(script)    
    {
        this._afterOpenScriptCode = script;
    },
	
	get_ShowDropShadow: function SitrainControlToolkit$PopupLayer$get_PopupContentID()
    {
        return this._showDropShadow;
    },
    
    set_ShowDropShadow: function SitrainControlToolkit$PopupLayer$set_PopupContentID(allowShadow)    
    {
        this._showDropShadow = allowShadow;
    },
	
	get_PopupContentID: function SitrainControlToolkit$PopupLayer$get_PopupContentID()
    {
        return this._popupContentID;
    },
    
    set_PopupContentID: function SitrainControlToolkit$PopupLayer$set_PopupContentID(content)    
    {
        
        if (this._popupContentID_Changing() === true)
        {   
            this._popupContentID = content; 
            this._popupContnetID_Changed();
        } 
    },
    
    
    _popupContentID_Changing: function SitrainControlToolkit$PopupLayer$_popupContentID_Changing()
    {
        if (this._closeButton)
        {
            if (this._onCloseButtonHandler)
            {
                $removeHandler(this._closeButton, "click", this._onCloseButtonHandler);
            }
        } 
        
        if (this._printButton)
        {
            if (this._onPrintButtonHandler)
            {
                $removeHandler(this._printButton, "click", this._onPrintButtonHandler);
            }
        } 
        
        return true;
    },
    
    _popupContnetID_Changed : function SitrainControlToolkit$PopupLayer$_popupContnetID_Changed()
    {
        if ( this._popupContentID !== null ) 
        {
            this._popupContent = $get(this._popupContentID);
            this._closeButton = this.getCloseButton();
            this._printButton = this.getPrintButton();
            
            if(this._closeButton) 
            {
                this._onCloseButtonHandler = Function.createDelegate(this, this.close);
                $addHandler(this._closeButton, "click", this._onCloseButtonHandler);
            }
            
            if(this._printButton) 
            {
                this._onPrintButtonHandler = Function.createDelegate(this, this.print);
                $addHandler(this._printButton, "click", this._onPrintButtonHandler);
            }
        }  
        else
        {
            this._popupContent = null;
        } 
    }
    
}

SitrainControlToolkit.PopupLayer.registerClass('SitrainControlToolkit.PopupLayer', Sys.UI.Behavior );

SitrainControlToolkit.PopupLayer.current = null;
SitrainControlToolkit.PopupLayer.toggle = false;
SitrainControlToolkit.PopupLayer.HeaderAnimation = null;

SitrainControlToolkit.PopupLayer.closeCurrent = function SitrainControlToolkit$PopupLayer$closeCurrent(newPopupLayer)
{
    if (SitrainControlToolkit.PopupLayer.current)
    {
        var _var = SitrainControlToolkit.PopupLayer.current.close(newPopupLayer); 
        SitrainControlToolkit.PopupLayer.current = null;
        return _var;
    }
    
    return true;
}

///////////////////////////////////////////////////////////////////////////////////////////////////

SitrainControlToolkit.PopupContentLayer = function(element)
{
    SitrainControlToolkit.PopupContentLayer.initializeBase(this, [element]);
    
}

SitrainControlToolkit.PopupContentLayer.prototype =
{
    initialize : function SitrainControlToolkit$PopupContentLayer$initialize()
    { 
        /// <summary>
        /// Initialize the behavior
        /// </summary> 
        SitrainControlToolkit.PopupContentLayer.callBaseMethod(this, 'initialize');
        
        // TODO:
    },
  
    dispose : function SitrainControlToolkit$PopupContentLayer$dispose()
    {
        /// <summary>
        /// Dispose the behavior
        /// </summary> 
        
        // TODO:
        
       SitrainControlToolkit.PopupContentLayer.callBaseMethod(this, 'dispose');
    },
    
    afterClose: function SitrainControlToolkit$PopupContentLayer$afterClose(newPopupLayer)
    {
        SitrainControlToolkit.PopupContentLayer.callBaseMethod(this, 'afterClose');
		
		if (!SitrainControlToolkit.PopupLayer.toggle) 
		{
		    if(SitrainControlToolkit.PopupLayer.HeaderAnimation)
		    {
			    SitrainControlToolkit.PopupLayer.HeaderAnimation.augment();
			}
		}
	},

	afterOpen: function SitrainControlToolkit$PopupContentLayer$afterOpen() 
	{
	    SitrainControlToolkit.PopupContentLayer.callBaseMethod(this, 'afterOpen');
	    
	    if(SitrainControlToolkit.PopupLayer.HeaderAnimation)
		{
		    SitrainControlToolkit.PopupLayer.HeaderAnimation.diminish();
		}
	},

	beforeClose: function SitrainControlToolkit$PopupContentLayer$beforeClose() 
	{
	    if(SitrainControlToolkit.PopupLayer.HeaderAnimation)
		{
		    SitrainControlToolkit.PopupLayer.HeaderAnimation.unregisterLayer();
		}
		
		return SitrainControlToolkit.PopupContentLayer.callBaseMethod(this, 'beforeClose');
	},

	beforeOpen: function SitrainControlToolkit$PopupContentLayer$beforeOpen() 
	{
	    if(SitrainControlToolkit.PopupLayer.HeaderAnimation)
		{
		    SitrainControlToolkit.PopupLayer.HeaderAnimation.registerLayer(this);
		}
		
		return SitrainControlToolkit.PopupContentLayer.callBaseMethod(this, 'beforeOpen');
	},
	
    
    show : function SitrainControlToolkit$PopupContentLayer$show()
	{
	    SitrainControlToolkit.PopupContentLayer.callBaseMethod(this, 'show');
	    
	    if ( this._popupContent)
	    {
	        Sys.UI.DomElement.addCssClass(this._popupContent, "active-layer");
	        
	        var bounds = Sys.UI.DomElement.getBounds($get("toolbar-zone"));
	        this.setOffset(bounds.y + bounds.height);
	    }	     	    
	    
	},
	
	hide : function SitrainControlToolkit$PopupContentLayer$hide(newPopupLayer) 
	{	    
	    if ( this._popupContent)
	    {
	        Sys.UI.DomElement.removeCssClass(this._popupContent, "active-layer");
	    }
	        
	    SitrainControlToolkit.PopupContentLayer.callBaseMethod(this, 'hide');
	},
	
	setOffset: function SitrainControlToolkit$PopupContentLayer$setOffset(offset) 
	{
	    if (this._popupContent)
	    {
	        Sys.UI.DomElement.setLocation(this._popupContent, 44, offset);
	    }
	}
}

SitrainControlToolkit.PopupContentLayer.registerClass('SitrainControlToolkit.PopupContentLayer', SitrainControlToolkit.PopupLayer );

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

SitrainControlToolkit.ToolbarPopupContentLayer = function(element)
{
     SitrainControlToolkit.ToolbarPopupContentLayer.initializeBase(this, [element]);
}

SitrainControlToolkit.ToolbarPopupContentLayer.prototype =
{
    initialize : function SitrainControlToolkit$ToolbarPopupContentLayer$initialize()
    { 
        /// <summary>
        /// Initialize the behavior
        /// </summary> 
        SitrainControlToolkit.ToolbarPopupContentLayer.callBaseMethod(this, 'initialize');
        
        // TODO:
    },
  
    dispose : function SitrainControlToolkit$ToolbarPopupContentLayer$dispose()
    {
        /// <summary>
        /// Dispose the behavior
        /// </summary> 
        
        // TODO:
        
       SitrainControlToolkit.ToolbarPopupContentLayer.callBaseMethod(this, 'dispose');
    },
    
    afterClose: function SitrainControlToolkit$PopupContentLayer$afterClose() 
	{
	    var element = this.get_element();
	    if(element !== null)
	    {
	        if(element.nodeParent !== null)
	            Sys.UI.DomElement.removeCssClass(element.parentNode, "active");
	    }
	    
	    SitrainControlToolkit.ToolbarPopupContentLayer.callBaseMethod(this, 'afterClose');
	},
	
	beforeOpen: function SitrainControlToolkit$ToolbarPopupContentLayer$beforeOpen() 
	{
	    var element = this.get_element();
	    if(element !== null)
	    {
	        if(element.nodeParent !== null)
	            Sys.UI.DomElement.addCssClass(element.parentNode, "active");
	    }
	
	    return SitrainControlToolkit.ToolbarPopupContentLayer.callBaseMethod(this, 'beforeOpen');
	},	
    
    setOffset: function SitrainControlToolkit$ToolbarPopupContentLayer$setOffset(offset) 
	{	    
	    if (this._popupContent)
	    {
	        Sys.UI.DomElement.setLocation(this._popupContent, $common.getLocation(this.get_element()).x, offset);
	    }
	}
}

SitrainControlToolkit.ToolbarPopupContentLayer.registerClass('SitrainControlToolkit.ToolbarPopupContentLayer', SitrainControlToolkit.PopupContentLayer);

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


SitrainControlToolkit.PopupTrainingTopicLayer = function(element)
{
     SitrainControlToolkit.PopupTrainingTopicLayer.initializeBase(this, [element]);
    
     this._topicvalue = null; 
     this._country = null;
     this._trainingTopicID = null;
     this._currentSelectedTrainingTopic = null;
     this._currentSelectedTrainingCountryTopic = null;
     this._layerIsInitialized = false;
     this._onTrainingTopicClickHandler = Function.createDelegate(this, this.onTrainingTopicClick); 
     this._onTrainingTopicCountryClickHandler = Function.createDelegate(this, this.onTrainingTopicCountryClick); 
     this._onTrainingTocListOverviewClickHandler = Function.createDelegate(this, this.onTrainingTocListOverviewClick);   
     this._onTrainingTocListDescriptionClickHandler = Function.createDelegate(this, this.onTrainingTocListDescriptionClick);     
     this._onTrainingTocListContactClickHandler = Function.createDelegate(this, this.onTrainingTocListContactClick);  
     this._onTrainingTopOfLayerClickHandler = Function.createDelegate(this, this.onTrainingTopOfLayerClick);  
     this._TrainingTopicCountryLinkList = null;
}

SitrainControlToolkit.PopupTrainingTopicLayer.prototype =
{
    initialize : function SitrainControlToolkit$PopupTrainingTopicLayer$initialize()
    { 
        /// <summary>
        /// Initialize the behavior
        /// </summary> 
        SitrainControlToolkit.PopupTrainingTopicLayer.callBaseMethod(this, 'initialize'); 
    },
  
    dispose : function SitrainControlToolkit$PopupTrainingTopicLayer$dispose()
    {
        /// <summary>
        /// Dispose the behavior
        /// </summary> 
        
        // TODO:
        
//        if (this._layerIsInitialized)
//        {
//            var trainingTocListOverview = $get("TrainingTocListOverview", this._popupContent);
//            if (trainingTocListOverview) $RemoveHandler(, "click", this._onTrainingTocListOverviewClickHandler);
//        }	    
        
       SitrainControlToolkit.PopupTrainingTopicLayer.callBaseMethod(this, 'dispose');
    },
    
    print: function SitrainControlToolkit$PopupLayer$print()
    {
        var url = "./printtrainingtopic.aspx?topicid=";
        if(this._topicvalue !== null) url += this._topicvalue;
        if(this._country !== null) url += "&country=" + this._country;
        
        openPrintDialog(url);
    },
    
    afterOpen: function SitrainControlToolkit$PopupTrainingTopicLayer$afterOpen() 
	{
	    SitrainControlToolkit.PopupTrainingTopicLayer.callBaseMethod(this, 'afterOpen');
	    
	    if (this._layerIsInitialized === false)
	    {
	        if (this._trainingTopicID)
	        {
	            SiTrainWorldApplication.WebServices.GlobalContent.GetTrainingTopicLayerContent(this._trainingTopicID, this.getTrainingTopicLayerContentCallback, this.getTrainingTopicLayerContentFailedCallback, this);
	        }
	    }
	},
	
	getTrainingTopicLayerContentCallback: function(result, userContext) 
	{
	    var control = $get("trainingTopicContent", userContext._popupContent);	    
	    control.innerHTML = result;
	    
	    var controls = $get("TrainingsCategoryTopicsLinkList", control).getElementsByTagName("a");
	    for(i=0; i < controls.length; i++)
	    {
	        $addHandler(controls[i], "click", userContext._onTrainingTopicClickHandler);
	    }
	    
	    userContext.setSpezialContentHandler(userContext);
	    
	    userContext.loadCurrentTrainingTopicContent(controls[0]);	  
	    userContext._layerIsInitialized = true;	    
	},
	
	setSpezialContentHandler: function(userContext)
	{
	    var trainingTocListDescription = $get("TrainingTocListDescription",  userContext._popupContent);	
	    if (trainingTocListDescription)
	        $addHandler(trainingTocListDescription, "click", userContext._onTrainingTocListDescriptionClickHandler);
	        
	    var trainingTocListContact = $get("TrainingTocListContact",  userContext._popupContent);	
	    if (trainingTocListContact)
	        $addHandler(trainingTocListContact, "click", userContext._onTrainingTocListContactClickHandler);     
	    
	    var trainingTocListOverview = $get("TrainingTocListOverview",  userContext._popupContent);	
	    if (trainingTocListOverview)
	        $addHandler(trainingTocListOverview, "click", userContext._onTrainingTocListOverviewClickHandler);
	        
	    var trainingSifrH1 = $get("TrainingSifrH1",  userContext._popupContent);	
	    if (trainingSifrH1)
	        $addHandler(trainingSifrH1, "click", userContext._onTrainingTocListOverviewClickHandler);
	        
	    var trainingTopOfLayerDescription = $get("TrainingTopOfLayerDescription",  userContext._popupContent);	
	    if (trainingTopOfLayerDescription)
	        $addHandler(trainingTopOfLayerDescription, "click", userContext._onTrainingTopOfLayerClickHandler);
	        
	    var trainingTopOfLayerContact = $get("TrainingTopOfLayerContact",  userContext._popupContent);	
	    if (trainingTopOfLayerContact)
	        $addHandler(trainingTopOfLayerContact, "click", userContext._onTrainingTopOfLayerClickHandler);
	},
	
	getTrainingTopicLayerDetailContentCallback: function(result, userContext) 
	{
	    var control = $get("PanelTopicInformation", userContext._popupContent);	
	    control.innerHTML = result;
	    
	},
	
	getTrainingTopicLayerCountriesContentCallback: function(result, userContext) 
	{
	    if(userContext._TrainingTopicCountryLinkList)
	    {
	        for(i=0; i < userContext._TrainingTopicCountryLinkList.length; i++)
	        {
	            $removeHandler(userContext._TrainingTopicCountryLinkList[i], "click", userContext._onTrainingTopicCountryClickHandler);
	        }
	    }
	
	    userContext._currentSelectedTrainingCountryTopic = null;
	    var control = $get("CategoryTopicAvaibleCountry", userContext._popupContent);	
	    control.innerHTML = result;
	    
	    var controls = control.getElementsByTagName("a");
	    for(i=0; i < controls.length; i++)
	    {
	        $addHandler(controls[i], "click", userContext._onTrainingTopicCountryClickHandler);
	    }
	    
	    userContext._TrainingTopicCountryLinkList = controls;	    
	},
	
	getTrainingTopicLayerCountryDetailContentCallback: function(result, userContext) 
	{
	    var control = $get("PanelTopicContact", userContext._popupContent);	
	    control.innerHTML = result;	   
	},
	
	getTrainingTopicLayerContentFailedCallback : function(error)
	{
	},
	
	getTrainingTopicLayerDetailContentFailedCallback : function(error)
	{
	},
	
	getTrainingTopicLayerCountriesFailedCallback : function(error)
	{
	},
	
	getTrainingTopicLayerCountryDetailContentFailedCallback : function(error)
	{
	},
	
	onTrainingTopicClick: function(e)
    {
        this.loadCurrentTrainingTopicContent(e.target);
    },
    
    loadCurrentTrainingTopicContent: function(activeControl)
    {
        if(this._currentSelectedTrainingTopic)
        {
            Sys.UI.DomElement.removeCssClass(this._currentSelectedTrainingTopic, "selectedLinkTopic");     
            this._currentSelectedTrainingTopic.style.color = '';        
        }
        
        if(Sys.UI.DomElement.containsCssClass(activeControl,"selectedLinkTopic") == false)
        {
            Sys.UI.DomElement.addCssClass(activeControl, "selectedLinkTopic");
            //e.target.style.color = e.target.currentStyle.color;
            activeControl.style.color = "#900";
        }
        
        this._currentSelectedTrainingTopic = activeControl;
        
        this.showTrainingContactLayer();
        this.showTrainingDescriptionLayer();
        this.setTrainingSifrH1Text(activeControl.innerHTML);
       
        this._country = null; 
        this._topicvalue = activeControl.attributes.getNamedItem('topicvalue').value;
    
        if (this._topicvalue)
	    {
	        $get("PanelTopicContact", this._popupContent).innerHTML = '';
	        SiTrainWorldApplication.WebServices.GlobalContent.GetTrainingTopicLayerDetailContent(this._topicvalue, this.getTrainingTopicLayerDetailContentCallback, this.getTrainingTopicLayerDetailContentFailedCallback, this);
	        SiTrainWorldApplication.WebServices.GlobalContent.GetTrainingTopicLayerCountriesContent(this._topicvalue, this.getTrainingTopicLayerCountriesContentCallback, this.getTrainingTopicLayerCountriesFailedCallback, this);
	    }        
    },
    
    setTrainingSifrH1Text: function(text)
    {
        var header = $get("TrainingSifrH1", this._popupContent);	    
	    header.innerHTML = text;
    },
    
    showTrainingContactLayer: function()
    {
        $get('training_contact', this._popupContent).style.display='block';
    },
    
    showTrainingDescriptionLayer: function()
    {
        $get('training_description', this._popupContent).style.display='block';
    },
    
    hideTrainingContactLayer: function()
    {
        $get('training_contact', this._popupContent).style.display='none';
    },
    
    hideTrainingDescriptionLayer: function()
    {
        $get('training_description', this._popupContent).style.display='none';
    },
    
    setDescriptionScrollPositionOnTop: function()
    {
        $get('TrainingScrollContainer', this._popupContent).scrollTop=0;
    },
    
    onTrainingTocListOverviewClick: function(e)
    {
        this.showTrainingContactLayer();
        this.showTrainingDescriptionLayer();
    },
    
    onTrainingTocListDescriptionClick: function(e)
    {
        this.hideTrainingContactLayer();
        this.showTrainingDescriptionLayer();
    },
    
    onTrainingTocListContactClick: function(e)
    {
        this.showTrainingContactLayer();
        this.hideTrainingDescriptionLayer();
    },
    
    onTrainingTopOfLayerClick: function(e)
    {
        this.showTrainingContactLayer();
        this.showTrainingDescriptionLayer();
        this.setDescriptionScrollPositionOnTop();
    },
    
    onTrainingTopicCountryClick: function(e)
    {
        if(this._currentSelectedTrainingCountryTopic)
        {
            Sys.UI.DomElement.removeCssClass(this._currentSelectedTrainingCountryTopic, "selectedLinkTopic");     
            this._currentSelectedTrainingCountryTopic.style.color = '';        
        }
        
        if(Sys.UI.DomElement.containsCssClass(e.target,"selectedLinkTopic") == false)
        {
            Sys.UI.DomElement.addCssClass(e.target, "selectedLinkTopic");
            //e.target.style.color = e.target.currentStyle.color;
            e.target.style.color = "#900";
        }
        
        this._currentSelectedTrainingCountryTopic = e.target;
        
        this.showTrainingContactLayer();        
        this._country = e.target.attributes.getNamedItem('country').value;
        
        if (this._country)
	    {
	        SiTrainWorldApplication.WebServices.GlobalContent.GetFullAddressByCountry2(this._country, this.getTrainingTopicLayerCountryDetailContentCallback, this.getTrainingTopicLayerCountryDetailContentFailedCallback, this);
	    }
    },
	
	get_TrainingTopicID: function()
	{
	    return this._trainingTopicID;
	},
	
	set_TrainingTopicID: function(id)
	{
	    this._trainingTopicID = id;
	}
}


SitrainControlToolkit.PopupTrainingTopicLayer.registerClass('SitrainControlToolkit.PopupTrainingTopicLayer', SitrainControlToolkit.PopupContentLayer );

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


SitrainControlToolkit.PopupContactsWorldwideLayer = function(element)
{
     SitrainControlToolkit.PopupContactsWorldwideLayer.initializeBase(this, [element]);   
     this._selectedCountry = null;
}

SitrainControlToolkit.PopupContactsWorldwideLayer.prototype =
{
    initialize : function SitrainControlToolkit$PopupContactsWorldwideLayer$initialize()
    { 
        /// <summary>
        /// Initialize the behavior
        /// </summary> 
        SitrainControlToolkit.PopupContactsWorldwideLayer.callBaseMethod(this, 'initialize');
        
        // TODO:
        this._selectedCountryChanged();
    },
  
    dispose : function SitrainControlToolkit$PopupContactsWorldwideLayer$dispose()
    {
        /// <summary>
        /// Dispose the behavior
        /// </summary> 
        
        // TODO:
        
       SitrainControlToolkit.PopupContactsWorldwideLayer.callBaseMethod(this, 'dispose');
    },
    
    afterOpen: function SitrainControlToolkit$PopupTrainingTopicLayer$afterOpen() 
	{
	    SitrainControlToolkit.PopupTrainingTopicLayer.callBaseMethod(this, 'afterOpen');
	    
	    var dpeWorldContactsBehavior = $find('dpeWorldContactsBehavior');
	    {
	        dpeWorldContactsBehavior.populate();
	    }
	},
    
    print: function SitrainControlToolkit$PopupContactsWorldwideLayer$print()
    {
        var url = "./PrintContactWorldwide.aspx";
        if(this._selectedCountry !== null) url += "?country=" + this._selectedCountry;
        
        openPrintDialog(url);
    },
    
    _selectedCountryChanged: function SitrainControlToolkit$PopupContactsWorldwideLayer$_selectedCountryChanged()
    {
        if(this._selectedCountry !== null)        
            Sys.UI.DomElement.setVisible(this._printButton, true);
        else
            Sys.UI.DomElement.setVisible(this._printButton, false); 
    },
//    
    get_SelectedCountry: function SitrainControlToolkit$PopupContactsWorldwideLayer$get_SelectedCountry()
    {
        return this._selectedCountry;
    },
    
    set_SelectedCountry: function SitrainControlToolkit$PopupContactsWorldwideLayer$set_SelectedCountry(country)
    {
        this._selectedCountry = country;
        this._selectedCountryChanged();
    }  
}

SitrainControlToolkit.PopupContactsWorldwideLayer.registerClass('SitrainControlToolkit.PopupContactsWorldwideLayer', SitrainControlToolkit.PopupContentLayer );

    