/*
-----------------------------------------------
UB Blogs
Global JavaScript
----------------------------------------------- */

var global = {
	scope : function() {
		var scope_obj = {
			page : $('#page'),
			content : $('#content'),
			sidebar : $('#sidebar'),
				modules : $('ul.modules > li'),
			main_content : $('#main_content')
		};
		return scope_obj;
	},
	preparePage : function() {
		// ie6 background flicker
		try {document.execCommand("BackgroundImageCache", false, true);} catch(err) {}	
	},
	prepareFormInputs : function() {
		var inputs = $('input, textarea, select');
		inputs
			.addClass('unfocus')
			.focus(function() {$(this).removeClass('unfocus').addClass('focus')})
			.blur(function() {$(this).removeClass('focus').addClass('unfocus')});

		// find linked labels
		$('label[for]').addClass('linked');
	},
	sidebarCloser : function() {
		var closer = $('<div class="module closer"><!-- --></div>').markupCorners('tl tr');
		
		$s.sidebar
			.find('li:last-child').css('marginBottom', 0)
			.end()
			.append(closer);
	},
	applyMarkupCorners : function() {
		$.each([$s.modules, $s.content.find('#main_content .module')], function() {
			$(this).markupCorners('all');
		});
		$s.main_content.markupCorners('tl tr');
	},
	initTracking: function() {
		var samesite = jQuery('link[@rel=home]').attr('href');
		var sameserver = samesite.substr(0, samesite.substr(7).indexOf('/')+8);
		jQuery('a').each(function() {
			var h = abs(jQuery(this).attr('href'));
			if(h.substr(0,samesite.length) != samesite || h.substr(-4).toLowerCase() == '.pdf') {
				var trackURL;
				if(h.substr(0,sameserver.length)==sameserver) {
					trackURL = h.substr(sameserver.length-1);
					}
				else {
					trackURL = '/external/'+h.replace(/^\w+:\/*/, '');
					}
				jQuery(this).click(function() { pageTracker._trackPageview(trackURL) });
				}
			});
		function abs(url, base) {
			if(!base) base = location.href;
			if(url.length == 0) return "";
			if(url.indexOf('?') > -1) url = url.substr(0, url.indexOf('?'));
			if(url.indexOf('#') > -1) url = url.substr(0, url.indexOf('#'));
			if(base.indexOf('?') > -1) base = base.substr(0, base.indexOf('?'));
			if(base.indexOf('#') > -1) base = base.substr(0, base.indexOf('#'));
			if(url.indexOf(':') > -1) return url;
			if (url.substr(0, 1) == '/') return base.href.substr(0, base.href.indexOf('/', 8)) + url;
			return base.substr(0,base.lastIndexOf('/')+1) + url;
			}
	},
	init : function() {
		$s = global.scope();
		global.preparePage();
		global.sidebarCloser();
		global.prepareFormInputs();
		global.applyMarkupCorners();
		global.initTracking();
	}
};

$(function() {
	global.init();
});


jQuery.fn.extend({
	markupCorners : function(o) {
		var tl = $('<div class="corner top left top_left"><!-- --></div>');
		var tr = $('<div class="corner top right top_right"><!-- --></div>');
		var bl = $('<div class="corner bottom left bottom_left"><!-- --></div>');
		var br = $('<div class="corner bottom right bottom_right"><!-- --></div>');
		var t = $('<div class="corner top"><!-- --></div>');
		var b = $('<div class="corner bottom"><!-- --></div>');

		$(this).addClass(o).addClass('corner_container');
		if ($(this).hasClass('tl')) {$(this).append(tl)}
		if ($(this).hasClass('tr')) {$(this).append(tr)}
		if ($(this).hasClass('bl')) {$(this).append(bl)}
		if ($(this).hasClass('br')) {$(this).append(br)}
		if ($(this).hasClass('t')) {$(this).append(t)}
		if ($(this).hasClass('b')) {$(this).append(b)}
		if ($(this).hasClass('all') || o == 'all') {$(this).append(tl).append(tr).append(bl).append(br);}

		return $(this);
	}
});
