﻿var CjgaBlack = {
	headerBanner: [],
	mmsSiteUrl: '',
	cmsSiteUrl: '',
	seasonYear: '',
	setHeaderBanner: function(p_data)
	{
		this.headerBanner = p_data;
	},
	getHeaderBanner: function()
	{
		return this.headerBanner;
	},
	setMmsSiteUrl: function(p_url)
	{
		this.mmsSiteUrl = p_url;
	},
	getMmsSiteUrl: function()
	{
		return this.mmsSiteUrl;
	},
	setCmsSiteUrl: function(p_url)
	{
		this.cmsSiteUrl = p_url;
	},
	getCmsSiteUrl: function()
	{
	    return this.cmsSiteUrl;
	},
	setSeasonYear: function(p_seasonYear)
	{
		this.seasonYear = p_seasonYear;
	},
	openURL: function(p_url,p_target)
	{
	    if(p_url != "")
	    {
	        window.open(p_url,p_target);
	    }
	},
	replaceTokens: function()
	{
		jQuery('iframe').each(function(i)
		{
			var MMSTOKEN = '$mmssiteurl$';
			var SEASONTOKEN = '$seasonYear$';
			var rawUrl = this.src;
			var rawUri = parseUri(rawUrl);
			var changeSrc = false;
			var newSrc = rawUrl;
			if(rawUrl.indexOf(MMSTOKEN) >= 0)
			{
			    newSrc = CjgaBlack.mmsSiteUrl + rawUri.relative;
			    changeSrc = true;
            }
            if(rawUrl.indexOf(SEASONTOKEN) >= 0)
            {
                newSrc = newSrc.replace(SEASONTOKEN,CjgaBlack.seasonYear);
			    changeSrc = true;
            }            
            if(changeSrc)
            {
                var iframeContainer = document.getElementById(this.id).parentNode;
		        var newIframe = document.createElement('IFRAME');
                newIframe.id = this.id;
                newIframe.src = newSrc;
                newIframe.width = this.width;
                newIframe.height = this.height;
                newIframe.scrolling = this.scrolling;
                newIframe.frameBorder = this.frameBorder;
                newIframe.align = this.align;
                newIframe.valign= this.valign;
                newIframe.marginwidth = this.marginwidth;
                newIframe.marginheight = this.marginheight;
                newIframe.hspace = this.hspace;
                newIframe.vspace = this.vspace;
                iframeContainer.removeChild(this);
                iframeContainer.appendChild(newIframe); 
            }
		});
		jQuery('a').each(function(i)
		{
			var MMSTOKEN = '$mmssiteurl$';
			var CMSTOKEN = '$cmssiteurl$';
			var rawUrl = this.href;
			var rawUri = parseUri(rawUrl);
			if(rawUrl.indexOf(MMSTOKEN) >= 0)
			{
			    this.href = CjgaBlack.mmsSiteUrl + rawUri.relative;
            }
            if(rawUrl.indexOf(CMSTOKEN) >= 0)
			{
			    this.href = CjgaBlack.cmsSiteUrl + rawUri.relative;
            }
		});
	},
	onResize: function()
	{
	    try
	    {
	        if(typeof(getFlashVersion) != undefined && getFlashVersion() > 8)
	        {
                if (navigator.appName.indexOf("Microsoft") != -1)
                {
                    if(document.getElementById('siteHdr') != undefined && typeof(document.getElementById('siteHdr').refreshContent) != undefined)
                    {
                        document.getElementById('siteHdr').refreshContent();
                    }
                    if(document.getElementById('feedHdr') != undefined && typeof(document.getElementById('feedHdr').refreshContent) != undefined)
                    {
                        document.getElementById('feedHdr').refreshContent();
                    }                        
                }
                else 
                {
                    if(document['siteHdr'] != undefined && typeof(document['siteHdr'].refreshContent) != undefined)
                    {
                        document['siteHdr'].refreshContent();
                    }
                    if(document['feedHdr'] != undefined && typeof(document['feedHdr'].refreshContent) != undefined)
                    {
                        document['feedHdr'].refreshContent();
                    }
                }
            }
        }
        catch(e){}
	}
};

jQuery(window).resize(CjgaBlack.onResize);

/*
	parseUri 1.2.1
	(c) 2007 Steven Levithan <stevenlevithan.com>
	MIT License
	http://blog.stevenlevithan.com/archives/parseuri
*/
function parseUri (str) {
	var	o   = parseUri.options,
		m   = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
		uri = {},
		i   = 14;

	while (i--) uri[o.key[i]] = m[i] || "";

	uri[o.q.name] = {};
	uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
		if ($1) uri[o.q.name][$1] = $2;
	});

	return uri;
};

parseUri.options = {
	strictMode: false,
	key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
	q:   {
		name:   "queryKey",
		parser: /(?:^|&)([^&=]*)=?([^&]*)/g
	},
	parser: {
		strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
		loose:  /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
	}
};