﻿var lightboxBackground;
var lightboxImage;
var previousDocumentOnclick;
function viewImage(imageUrl)
{	

/*	
	lightboxBackground = document.createElement("div");
	lightboxBackground.className="lightboxBackground";
	
	lightboxImage=document.createElement("img");
	lightboxImage.className = "lightboxImage";
	lightboxImage.src=imageUrl;
    
	document.body.appendChild(lightboxBackground);
	document.body.appendChild(lightboxImage);
	
	previousDocumentOnclick = document.body.onclick;
	
	document.body.onclick=closeImage;
	*/
	
	//window.open(imageUrl, '_image', 'width=500,height=500,status=no');
}
function closeImage()
{
	document.body.onclick = previousDocumentOnclick;
	document.body.removeChild(lightboxBackground);
	document.body.removeChild(lightboxImage);
}

function openWindow(url,title, w, h, center, windowName) {
    var options = "width=" + w + ",height=" + h + ",";
    options += "resizable=yes,scrollbars=yes,status=yes,";
    options += "menubar=no,toolbar=no,location=no,directories=no";
    var newWin = window.open(url, windowName.split('/').join(''), options);
    newWin.focus();
 }


if (typeof Ext != "undefined") 
{
    Ext.tree.AjaxProTreeLoader = function(config){
        Ext.tree.AjaxProTreeLoader.superclass.constructor.call(this, config);
    };
    Ext.extend(Ext.tree.AjaxProTreeLoader, Ext.tree.TreeLoader, {
        load : function(node, callback){
            if(this.clearOnLoad){
                while(node.firstChild){
                    node.removeChild(node.firstChild);
                }
            }
            if(node.attributes.children){ // preloaded json children
                var cs = node.attributes.children;
                for(var i = 0, len = cs.length; i < len; i++){
                    node.appendChild(this.createNode(cs[i]));
                }
                if(typeof callback == "function"){
                    callback();
                }
            }else if(node.attributes.ajaxProCall || this.ajaxProCall){
                this.requestData(node, callback);
            }
        },
        requestData : function(node, callback){
            if(this.fireEvent("beforeload", this, node, callback) !== false){
              var argument = {callback: callback, node: node};
              var loader = this;
              var ajaxProCallback = function(response) {
                response.argument = argument;
                if(response.error) {
                  return loader.handleFailure(response);
                }
                return loader.handleResponse(response);
              };
              if(node.attributes.ajaxProCall) {
                //root node has a ajaxProCall that gets data for direct children
                this.transId = true;
                node.attributes.ajaxProCall(ajaxProCallback);
              }
              else if(this.ajaxProCall){
                //non-root node uses the predefined ajaxProCall in the TreeLoader
                this.transId  = true;
                this.ajaxProCall(node.id, ajaxProCallback);
              }
              else {
                this.fireEvent('loadexception', this, node, 'no ajaxProCall configured.');
              }
            }else{
                // if the load is cancelled, make sure we notify 
                // the node that we are done
                if(typeof callback == "function"){
                    callback();
                }
            }
        },
        processResponse : function(response, node, callback){
            try {
                var o = response.value;
	            for(var i = 0, len = o.length; i < len; i++){
                    var n = this.createNode(o[i]);
                    if(n){
                        node.appendChild(n); 
                    }
	            }
	            if(typeof callback == "function"){
                    callback(this, node);
                }
            }catch(e){
                this.handleFailure(response);
            }
        }
    });
}