/*
 * 	Created on Apr 17, 2008
 *
 * 	Meastas Taekwondo
 *	Arvada, Colorado
 *	Author: Paul Voris
 *	Description:
 *
 *	Revisions:
 *		20080417:Created
 *
 *
 */

var userToggle = false;
loadBillboard();

Ext.onReady(function() {
	loadSection(1)
})

function loadBillboard() {
	var flashvars = {};
	flashvars.folderPath = "/lib/banner/";
	var params = {};
	params.scale = "noscale";
	params.salign = "tl";
	params.wmode = "transparent";
	params.allowfullscreen = "false";
	var attributes = {};
	swfobject.embedSWF("/lib/banner/banner.swf", "billboard-flash", "710", "340", "9.0.0", false, flashvars, params, attributes);

}

function loadSection(sectionid) {
	var myMask = new Ext.LoadMask(Ext.get('content'), {
		msg : "Please wait..."
	});
	myMask.show();
	Ext.Ajax.request( {
		url : 'shared/php/ajax.php',
		method : 'POST',
		params : {
			doit : 'GetSubMenu',
			sid : sectionid,
			value : '_REQUEST'
		},
		success : function(result, request) {
			procReply(result.responseText);
		},
		failure : function(result, request) {
			Ext.MessageBox.alert('Failed', result.responseText);
		}
	});
}

function loadPage(pageid) {
	var myMask = new Ext.LoadMask(Ext.get('content'), {
		msg : "Please wait..."
	});
	myMask.show();
	if (!userToggle) {
		toggleBillboard(true);
	}
	var els = Ext.select('.content-submenu-item', false);
	els.each(function(el) {
		el.removeClass('content-submenu-item-selected');
	});
	Ext.Ajax.request( {
		url : 'shared/php/ajax.php',
		method : 'POST',
		params : {
			doit : 'GetPage',
			pid : pageid,
			value : '_REQUEST'
		},
		success : function(result, request) {
			procReply(result.responseText);
			el = Ext.get("content-submenu-" + pageid);
			if (el)
				el.addClass('content-submenu-item-selected');
		},
		failure : function(result, request) {
			Ext.MessageBox.alert('Failed', result.responseText);
		}
	});
}

function toggleBillboard(hide) {
	var billboard = Ext.get('billboard');
	var img = Ext.get('toggle-img');
	if (billboard.isDisplayed() || hide) {
		billboard.slideOut('t', {
			easing : 'easeOut',
			duration : 1,
			remove : false,
			useDisplay : true
		});
		img.set( {
			src : 'images/expand.png'
		});
	} else {
		billboard.slideIn('t', {
			easing : 'easeOut',
			duration : 1,
			useDisplay : true
		});
		img.set( {
			src : 'images/collapse.png'
		});
	}
}

function procReply(result) {
	try {
		var data = Ext.util.JSON.decode(result);
	} catch (err) {
		Ext.MessageBox.alert('ERROR', 'Could not decode ' + result);
	}
	// Eval Calls
	var calls = data.calls;
	if (calls > 0) {
		for ( var i = 0; i < calls; i++) {
			var func = data.call[i]['function'];
			var pcount = data.call[i]['paramiters'].length;
			if (pcount >= 1) {
				if (typeof (data.call[i]['paramiters'][0]) == "string") {
					var params = '"' + data.call[i]['paramiters'][0] + '"';
				} else {
					var params = data.call[i]['paramiters'][0];
				}
			}
			if (pcount > 1) {
				for ( var p = 1; p < pcount; p++) {
					if (typeof (data.call[i]['paramiters'][p]) == "string") {
						params = params + ', "' + data.call[i]['paramiters'][p] + '"';
					} else {
						params = params + ', ' + data.call[i]['paramiters'][p];
					}
				}
			}
			eval(func + '(' + params + ')');
		}
	}
	// Eval Updates
	var updates = data.updates;
	if (updates > 0) {
		var el;
		for ( var i = 0; i < updates; i++) {
			el = Ext.get(data.update[i].element);
			el.update(data.update[i].content);
		}
	}
	// Eval Assigns
	var assigns = data.assigns;
	if (assigns > 0) {
		for ( var i = 0; i < assigns; i++)
			eval(data.varname[i] = data.varvalue[i]);
	}
	// Eval Scripts
	var scripts = data.scripts;
	if (scripts > 0) {
		for ( var i = 0; i < scripts; i++) {
			eval(data.script[i]);
		}
	}
}

