/*
 * Requea JavaScript utilities
 */
if (typeof RQ == "undefined") {
    var RQ = {};
}

function initLoader(rqLoader) {
	rqLoader.base = ContextPath+"/yui/";
	//Add the module to YUILoader
	rqLoader.addModule({
		name: "rqutil",
		type: "js",
	    path : "../sys/js/rqutil-2.1.6.js",
	    requires: ["dom"]
	});
	rqLoader.addModule({
		name: "dispatcher",
		type: "js",
	    path: "../sys/js/dispatcher.js",
	    requires: ["dom","connection"]
	});
	rqLoader.addModule({
		name: "rqnav",
		type: "js",
	    path: "../sys/js/rqnav-2.1.6.js",
	    requires: ["connection","dispatcher","menu","animation","container","button"]
	});
	rqLoader.addModule({
		name: "rqdd",
		type: "js",
	    path: "../sys/js/rqdd-2.1.6.js",
	    requires: ["animation", "dragdrop", "connection","rqutil"]
	});
	rqLoader.addModule({
		name: "rqchart",
		type: "js",
	    path: "../sys/js/rqchart-2.1.6.js"
	});
	rqLoader.addModule({
		name: "rqeval",
		type: "js",
	    path: "../sys/js/rqeval-2.1.6.js"
	});
	rqLoader.addModule({
		name: "rqportal",
		type: "js",
	    path: "../sys/js/rqportal-2.1.6.js",
	    requires: ["rqdd"]
	});
}

function onBodyLoad() {
	var rqLoader = new YAHOO.util.YUILoader(); 
	initLoader(rqLoader);
	rqLoader.require(["rqnav","rqportal","rqchart","rqeval"]);
	rqLoader.insert({ onSuccess: function() {
		RQ.dragdrop.initDragAndDropTargets(document);	
		RQ.menu.initMenus(document);	
		RQ.portal.init();
		
		// scroll pos?
		var scrollPos = YAHOO.util.Dom.get("rqScrollPos");
		if(scrollPos != null && window.scrollTo) {
		    var pos = scrollPos.value;
		    var left = RQ.util.docScrollLeft();
		    
		    // scroll the window
		    window.scrollTo(left,pos);
		}
        if(typeof(RQFirstEdit) != "undefined") {
            // lookup for the form
            var forms = RQ.util.getElementsByTagAndClassName(document, "FORM", "rqform");
            for(var i=0; i<forms.length; i++) {
                var form = forms[i];
                var ctl = form[RQFirstEdit];
                if(ctl) {
                    ctl.focus();
                }
            }
        }
        
        // init pooler
        setTimeout("RQ.debug.poolListener()", 550);
        setTimeout("RQ.debug.poolDebugger()", 520);
        
        
        		
		// debug key listeners (f5=stepinto,...)
        var kl = new YAHOO.util.KeyListener(document, { keys:116 }, 
                                                       { fn:RQ.debug.stepinto } );
        kl.enable();
        kl = new YAHOO.util.KeyListener(document, { keys:117 }, 
                                                       { fn:RQ.debug.stepover } );
        kl.enable();
        kl = new YAHOO.util.KeyListener(document, { keys:118 }, 
                                                       { fn:RQ.debug.stepreturn } );
        kl.enable();
        kl = new YAHOO.util.KeyListener(document, { keys:119 }, 
                                                       { fn:RQ.debug.resume } );
        kl.enable();
        
	}});  
	
	
}

