MWTN.leftmenu = {
	current_cat: undefined,
	cat_obj:     undefined,
	arrow_obj:   undefined,

	init: function() {
		var p = MWTN.leftmenu.getPage();
		var cat = MWTN.leftmenu.pageToCategory(p);
		MWTN.leftmenu.catClicked(cat);
	},

	getPage: function() {
		var regex = new RegExp(".*://[^/]*/([^?#]*)");
		var result = regex.exec(window.location.href);
		if(result == null) {
			return '';
		} else if(result[1] != undefined) {
			return result[1];
		}
	},

	catClicked: function(cat) {
		MWTN.leftmenu.closeCurrent();

		MWTN.leftmenu.current_cat = cat;
		MWTN.leftmenu.cat_obj   = document.getElementById('lm_cat_'+cat);
		MWTN.leftmenu.arrow_obj = document.getElementById('lm_arrow_'+cat);

		MWTN.leftmenu.openCurrent();
	},

	closeCurrent: function() {
		if(
			MWTN.leftmenu.current_cat != undefined &&
			MWTN.leftmenu.cat_obj     != undefined &&
			MWTN.leftmenu.arrow_obj   != undefined
		) {
			MWTN.leftmenu.cat_obj.className = 'leftsubmenu';
			MWTN.leftmenu.arrow_obj.src = '/ART/leftmenu_closed.png';
		}
	},

	openCurrent: function() {
		if(
			MWTN.leftmenu.current_cat != undefined &&
			MWTN.leftmenu.cat_obj     != undefined &&
			MWTN.leftmenu.arrow_obj   != undefined
		) {
			MWTN.leftmenu.cat_obj.className = 'leftsubmenu_on';
			MWTN.leftmenu.arrow_obj.src = '/ART/leftmenu_open.png';
		}
	},

	pageToCategory: function(page) {
		switch(page) {
			case 'business/offerings/deals':
			case 'business/offerings/telephone':
			case 'business/offerings/internet':
			case 'business/offerings/hardware':
			case 'business/offerings/other':
			case 'business/quote':
				// Business Services
				return 1;
			case 'business/support':
			case 'business/support/tech':
			case 'business/support/sales':
			case 'business/support/billing':
			case 'business/support/resources':
				// Business Support
				return 2;
			case 'residential/offerings/deals':
			case 'residential/offerings/telephone':
			case 'residential/offerings/internet':
			case 'residential/offerings/hardware':
			case 'residential/offerings/other':
				// Residential Services
				return 3;
			case 'residential/cart':
			case 'residential/cart/hardware':
				// Residential Ordering
				return 4;
			case 'residential/support':
			case 'residential/support/tech':
			case 'residential/support/sales':
			case 'residential/support/billing':
			case 'residential/support/resources':
				// Residential Support
				return 5;
		}
	}
};

