function Kw() { };
Kw.addEventListener = function(obj,event,listener) {
	if (typeof(obj.addEventListener) != 'undefined') {
		obj.addEventListener(event, listener, false);
	}
	else if (typeof obj.attachEvent != 'undefined') {
		obj.attachEvent('on'+event, listener);
	}
};
Kw.removeEventListener = function(obj,event,listener) {
	if (typeof(obj.removeEventListener) != 'undefined') {
		obj.removeEventListener(event, listener, false);
	}
	else if (typeof(obj.detachEvent) != 'undefined') {
		obj.detachEvent('on'+event, listener);
	}
};
Kw.changeDisplayObj = function(obj) {
	if (obj.style.display == 'none') {
		obj.style.display = 'block';
		return true;
	}
	else {
		obj.style.display = 'none';
		return false;
	}
};
Kw.changeDisplayId = function(id) {
//	alert(id);
	return Kw.changeDisplayObj(Kw.getObj(id));
}

Kw.getObj = function(id) {
	return document.getElementById(id);
}

Kw.dump = function(arr,tab) {
    var ans = '';
	if (tab == null)
		tab = '';
    if ((typeof(arr) == 'array') || (typeof(arr) == 'object')) {
       for (var k in arr) {
            if ((typeof(arr[k]) == 'array') || (typeof(arr[k]) == 'object')) {
                ans += tab+typeof(arr[k])+'('+k+") {\n";
                if (rec)
                    ans += ggDumpArr(arr[k],tab + '  ');
                ans += tab + "}\n";
            }
            else
                ans += tab+'['+k+'] => '+arr[k]+"\n";
        }
    }
    else {
        ans = tab+arr;
    }
	alert(ans);
    return ans;
}
