	Ext.Cookie = [];
 
 	Ext.Cookie.set = function(name, value, days, path, domain, secure){
		if (days){
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
		}
		else var date = "";

		document.cookie= name + "=" + escape(value) +
        	((date) ? "; expires=" + date.toGMTString() : "") +
        	((path) ? "; path=" + path : "") +
        	((domain) ? "; domain=" + domain : "") +
        	((secure) ? "; secure" : "");
		};

 	Ext.Cookie.get = function(name){
    	var dc = document.cookie;
    	var prefix = name + "=";
    	var begin = dc.indexOf("; " + prefix);
    	if (begin == -1){
        	begin = dc.indexOf(prefix);
        	if (begin != 0) return null;
    	}
    	else{
        	begin += 2;
    	}
		var end = document.cookie.indexOf(";", begin);
    	if (end == -1){
        	end = dc.length;
    	}
		return unescape(dc.substring(begin + prefix.length, end));
	};

 	Ext.Cookie.del = function(name, path, domain){
    	if (getCookie(name)){
        	document.cookie = name + "=" +
        	((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    	}
	};

	Ext.doJSON = function(stringData) {
		try {
			var jsonData = Ext.util.JSON.decode(stringData);
			return jsonData;
		}
		catch (err) {
			Ext.MessageBox.alert('ERROR', 'Could not decode ' + stringData);
		}
	};

	Ext.unikID = function(prefix,val){
		if (typeof prefix=="undefined") prefix = "ID_";
		if (typeof val=="undefined") val = 0;
		var ID = prefix + val; 
		if (document.getElementById(ID)==null) {
			var id = document.getElementById(ID);
			returnValue = ID;
		}
		else returnValue = unikID(prefix,val+1);
		return returnValue;
	};
	
	Ext.GetServerSelf = function(){
		var u = window.location.protocol + "//" + window.location.hostname + window.location.pathname;
		var e= u.lastIndexOf("/")+1; 
		var r = u.substr(0,e);
		return r;
	};

	Ext.GetUrlParam = function(paramName){
		var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
		var oMatch = oRegex.exec( decodeURIComponent(window.location.search) ) ;
		if ( oMatch && oMatch.length > 1 ) return oMatch[1] ;
		else return '' ;
	};
	Ext.formatDate = function(d,f){
		var aD = d.split(" ");
		var sD = aD[0].replace(/-/g,"/");
		sD = sD.replace(/:/g,"/");
		aSd = sD.split("/");
		var Y = (aSd[0].length==4) ? aSd[0]:aSd[2];
		var m = aSd[1];
		var day = (aSd[0].length==4) ? aSd[2]:aSd[0];
		var dt = new Date(m + "/" + day + "/" + Y +' ' + aD[1]);
		return dt.format(f);                           ;
			
	};
	
	function showObject(Obj,n){
		if (!n) n=1;
		else n++;
		var s="";
		var getVal = function(o){
			for (var v in o){
				s+= "<span style='color: red;'>" + v + "</span> = <span style='color: blue;'>" +o[v] + "</span><br><br>";
			}
			return s;
		}
		getVal(Obj);
		var oWin = new Ext.Window({
			title: "ObjectViewer"
			,width: 600
			,height: 400
			,autoScroll: true
			,closeAction: "close"
			,resizable: true
			,bodyStyle:'padding:5px;'
			,modal : true
			,html: s
		});
		oWin.show();
	}

