/// <reference name="MicrosoftAjax.js"/>
/// <reference name="MicrosoftAjax.Debug.js"/>

var USE_FLASH_IN_HEADER = false; // could be overwritten in template

//var SAFARI_STYLESHEET_REFERENCE = RESOURCES_PATH + "css/styles-safari.css";
//var MACOS_STYLESHEET_REFERENCE  = RESOURCES_PATH + "css/styles-macos.css";
//var SIFR_SLAB_PATH              = RESOURCES_PATH + "sifr/siemensslab.swf";


Type.registerNamespace('SitrainControlToolkit');

var LINK_REL_REGEX = /^jump-to-(.+)$/;

var zone     = {};   // global hash for standard zones
var pageType = null; // page type, set in initGlobals()

var contentZone = null;
var toolbarZone = null;
var headervisualZone = null;
var fluidZone = null;
var headerZone = null;

function Page_Init(e)
{
   setBackgroundImageCache();
}

function BeforePageLoad(e)
{
    $addHandler($get("logo"), "click", function() { window.open($get("logolink").href); return false; } );  
    contentZone = $get("content-zone");
    toolbarZone = $get("toolbar-zone");
    headervisualZone = $get("headervisual-zone");
    fluidZone = $get("fluid-zone");
    headerZone = $get("header-zone");
    
    $addHandler(window, "resize", initLayout_IEPre7);
    initLayout_IEPre7();
}

function AfterPageLoad(e) {
    try {
        var linksiteexplorer = $get("linksiteexplorer");
        if (linksiteexplorer) $create(SitrainControlToolkit.SiteExplorerToolbarPopupContentLayer, { 'PopupContentID': 'toolbar_layer_siteexplorer' }, null, null, linksiteexplorer);

        var linkcontact = $get("linkcontact");
        if (linkcontact) $create(SitrainControlToolkit.ContactToolbarPopupContentLayer, { 'PopupContentID': 'toolbar_layer_contact' }, null, null, linkcontact);

        var linkhelp = $get("linkhelp");
        if (linkhelp) $create(SitrainControlToolkit.HelpToolbarPopupContentLayer, { 'PopupContentID': 'toolbar_layer_help' }, null, null, linkhelp);

        var linkregionselector = $get("linkregionselector");
        if (linkregionselector) $create(SitrainControlToolkit.HelpToolbarPopupContentLayer, { 'PopupContentID': 'toolbar_layer_regionselector' }, null, null, linkregionselector);

        var linkmorelanguages = $get("linkmorelanguages");
        if (linkmorelanguages) $create(SitrainControlToolkit.HelpToolbarPopupContentLayer, { 'PopupContentID': 'toolbar_layer_morelanguages' }, null, null, linkmorelanguages);
    }
    catch (ex) { }

    var specialcontent = $get("specialcontent");
    if (specialcontent) {specialcontent.style.height = "100%";
    }

}

function Page_LoadContent(e)
{
    BeforePageLoad(e);    
    pageType = "content";    
    
    AfterPageLoad(e);
}

function Page_Load(e)
{
    BeforePageLoad(e);  
    pageType = "2"; 
    
    $addHandler($get("whytraining"), "mouseover", eventBubbleBlogger);
//    $addHandler($get("swap-content-contacts-panel"), "mouseover", eventBubbleBlogger);
    $addHandler($get("trainingsthemencontentleft"), "mouseover", eventBubbleBlogger);
    $addHandler($get("trainingsthemencontentright"), "mouseover", eventBubbleBlogger);
    $addHandler($get("trainingscatalogcontentleft"), "mouseover", eventBubbleBlogger);
    $addHandler($get("trainingscatalogcontentright"), "mouseover", eventBubbleBlogger);
    
    $addHandler($get("content-zone"), "mouseover", clearAnimationSettings);
    
    var coursesearchpanel = $get("coursesearchpanel");
    if(coursesearchpanel)
    {
        //GetCourseSearch(coursesearchpanel);
    }    
    
    var linkwhytraining = $get("linkwhytraining");
    if (linkwhytraining) {
        try
        {
            var whytrainingpopup = $create(SitrainControlToolkit.WhyTrainigToolbarPopupContentLayer, {'PopupContentID': 'toolbar_layer_whytraining'}, null, null, linkwhytraining);
            if (whytrainingpopup) $create(SitrainControlToolkit.HeaderVisual, {'HeaderTextSwapContent': $get("headertext-swap-content-whytraining"),'PopupControl': whytrainingpopup}, null, null, linkwhytraining);
        }
        catch (ex) {}
    }
    
    AfterPageLoad(e);    
        
}

function GetCourseSearch(resultpanel)
{
  SetDefaultWaitContent(resultpanel);
  SiTrain.WebServices.GlobalContent.GetControlHtml( "~/UserControls/NWA/Content/ToolbarLayerContentSiteExplorer.ascx", location.href, UserControlSucceedCallback, FailedCallback, resultpanel);
}

function UserControlSucceedCallback(result, userContext, methodName)
{
  var resultElement = userContext;
  if (resultElement != null && resultElement != "undefined")
  {
    resultElement.innerHTML = result;
  }
}

function eventBubbleBlogger(e)
{
    if (e) e.stopPropagation();   
}

function clearAnimationSettings(e)
{
    clearCurrentHeaderSettingsBody();   
}

function setBackgroundImageCache()
{
    try 
    {
        document.execCommand("BackgroundImageCache", false, true);
    } 
    catch(err) 
    {}
}

function initLayout_IEPre7() {

	var innerWidth = getWindowSize().width;

	if (toolbarZone) 
	{
		if (innerWidth < 990) 
		{
			toolbarZone.style.width = "916px";
		} 
		else 
		{
			toolbarZone.style.width = (innerWidth - 66) + "px";
		}
	}

	if (innerWidth > 960) 
	{
		contentZone.style.width = "auto";
	} 
	else 
	{
		contentZone.style.width = "960px";
	}

	if (headervisualZone && fluidZone  && pageType != "1" && pageType != "entry") 
	{
		var realHeaderWidth = Sys.UI.DomElement.getBounds(headervisualZone).width;
		var fluidWidth = Sys.UI.DomElement.getBounds(fluidZone).width;
		realHeaderWidth += fluidWidth;
		if (innerWidth <= realHeaderWidth) 
		{
			var newWidth = innerWidth;
			newWidth = (newWidth - fluidWidth < 364) ? fluidWidth + 364 : newWidth;
			headerZone.style.width = newWidth + "px";
		} 
		else 
		{
			headerZone.style.width = realHeaderWidth + "px";
		}
	}
}

function getWindowSize(w)
{
	var width, height;
	w = w ? w : window;
	width = w.innerWidth || (w.document.documentElement.clientWidth || w.document.body.clientWidth);
	height = w.innerHeight || (w.document.documentElement.clientHeight || w.document.body.clientHeight);
	return { width: width, height: height };
}
