if (typeof GUI=="undefined"||!GUI) {
	var GUI={};
}


GUI.main = {
	include: function (file, basepath) {
		document.write('<' + 'script');
	    document.write(' language="javascript"');
	    document.write(' type="text/javascript"');
	    document.write(' src="' + basepath + '/' + file + '">');
	    document.write('</' + 'script' + '>');
	},
	
	
	includeYUI: function (file) {
		this.include(file, 'js/yui');
	},
	
	includeGUI: function (file) {
		this.include(file, 'js/gui');
	},
	
	getPage: function(url, targetID) {
		
		if ( url.href != null )
			url = url.href;
		
		YAHOO.util.Dom.get(targetID).innerHTML += '<div id="' + targetID + '-loader"></div>';
 		var region = YAHOO.util.Dom.getRegion(targetID);
 		YAHOO.util.Dom.setStyle(targetID + '-loader', 'position', 'absolute');
 		YAHOO.util.Dom.setX(targetID + '-loader', Number(region.left));
 		YAHOO.util.Dom.setY(targetID + '-loader', Number(region.top));
 		YAHOO.util.Dom.setStyle(targetID + '-loader', 'width', Number(region.right - region.left));
 		YAHOO.util.Dom.setStyle(targetID + '-loader', 'height', Number(region.bottom - region.top));
 		YAHOO.util.Dom.setStyle(targetID + '-loader', 'zIndex', '2');
 		YAHOO.util.Dom.setStyle(targetID + '-loader', 'opacity', '.5');
 		YAHOO.util.Dom.setStyle(targetID + '-loader', 'background-color', '#FFFFFF');
		
		var callbacks = {
			success : function (o) {
				YAHOO.util.Dom.get(targetID).innerHTML = o.responseText;
			}
		}
		if ( this.strpos(url, '?', 0) !== false)
			urlAsync = url + '&';
		else
			urlAsync = url + '?';
			
		YAHOO.util.Connect.asyncRequest('GET', urlAsync + 'jt_nolayout', callbacks);
		
		if ( this.strpos(url, '?', 0) !== false )
			url = url.substring(0, this.strpos(url, '?', 0));
		
// 		YAHOO.util.History.navigate("navigation", basename(url, '.htm'))
// alert(YAHOO.util.History.getQueryStringParameter("section", url))
			
		document.location.href = 'section#' + basename(url, '.htm');
		return false;
	},
	
	strpos: function(haystack, needle, offset) {
    	var i = (haystack+'').indexOf( needle, offset ); 
    	return i===-1 ? false : i;
	}	
	
}

GUI.main.includeYUI('yahoo-dom-event/yahoo-dom-event.js');
GUI.main.includeYUI('element/element-beta-min.js');
GUI.main.includeYUI('connection/connection.js');
GUI.main.includeYUI('history/history-min.js');


function basename(path, suffix) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Ash Searle (http://hexmen.com/blog/)
    // +   improved by: Lincoln Ramsay
    // +   improved by: djmix
    // *     example 1: basename('/www/site/home.htm', '.htm');
    // *     returns 1: 'home'
 
    var b = path.replace(/^.*[\/\\]/g, '');
    
    if (typeof(suffix) == 'string' && b.substr(b.length-suffix.length) == suffix) {
        b = b.substr(0, b.length-suffix.length);
    }
    
    return b;
}
