(function($) {

	function init() {
	
        // get url data
        var scripts = document.getElementsByTagName('script');
        var script = scripts[scripts.length - 1];
        var urlParts = script.src.split('?');

        // clean up the URL and grab only the query strings
        var pairs = urlParts[1].split('&');
		
		var type, parentCss, override = false;
		
        // pairs will contain value of query strings
        var i = pairs.length;
        while (i--) {
            var pair = pairs[i].split('=');
            var param = pair[0].toLowerCase();
			var val = pair[1];
			
            switch (param) {
                case 'type': 
					type = val.toLowerCase();
                    break;
				case 'parent': 
					parentCss = val;
                    break;
				case 'override':
					override = val.toLowerCase() == 'true';
                    break;
            }
        }
		
		// get server's utc time and parse to milsec
		var fromUTC = Date.parse($('#__fromUTC').val());
		var toUTC = Date.parse($('#__toUTC').val());
		
		// dont' show if date range is blank
		if ((isNaN(fromUTC) || isNaN(toUTC)) && !override) {
			return;
		}
		
		// convert current time to milsec then add timezone offset to get UTC milsec
		var localDate = new Date();	
		var localUTC = localDate.getTime() + (localDate.getTimezoneOffset() * 60000);
		
		// don't show the ad if its not time
		if (!override && (fromUTC > localUTC || localUTC > toUTC)) {
			return;
		}
		
		// show parent container if one has been set
		if (parentCss) {
			$(script).closest('.' + parentCss).show();
		}
		
		// adjust css for alternate layout if its time
		if (fromUTC < localUTC && localUTC < toUTC) {
			$(script).closest('.ad').addClass('ad-cba').find('.adlabel').hide();
		}
		
		var adTag;
		if (type == 'gam') {
			adTag = unescape($('#__gamScript').val());
		} else if (type == 'leader') {
			adTag = unescape($('#__leaderScript').val());
		} else {
			adTag = unescape($('#__towerScript').val());
		}
		
		document.write(adTag);
		
    };

	init();

})(jQuery);
