var corewindow=window;
function configGetKey(key) {
	var splitkey=key.split(".");
	if(!config) {
		return null;
	}
	var tmp=(corewindow) ? corewindow.config : config;
	for(var i=0;i<splitkey.length;i++) {
		if(tmp[splitkey[i]] != undefined) {
			tmp=tmp[splitkey[i]];
		} else {
			return null;
		}
	}
	return clone(tmp);
}

function configSetKey(key,value) {
	if(!corewindow.config) {
		corewindow.config=new Object();
	}
	var tmp=(corewindow) ? corewindow.config : config;
	var splitkey = key.split(".");
	for(var i=0;i<splitkey.length-1;i++) {
		if(tmp[splitkey[i]]) {
			tmp=tmp[splitkey[i]];
			if(typeof(tmp) != "object") {
				alert(""+tmp+" parentNode is a value");
				return;
			}
		} 
		else {
			tmp[splitkey[i]]=new Object();
			tmp=tmp[splitkey[i]];				
		}
	}
	tmp[splitkey[splitkey.length-1]]=clone(value);
	configuration_changed_outside=true;
	triggerEvent("OX_Configuration_Parameter_Changed",key,value);	
}

function configContainsKey(key) {
	var splitkey=key.split(".");
	if(!config) {
		return false;
	}
	var tmp=(corewindow) ? corewindow.config : config;
	for(var i=0;i<splitkey.length;i++) {
		if(tmp[splitkey[i]] != undefined ) {
			tmp=tmp[splitkey[i]];
		} else {
			return false;
		}
	}
	return true;
}
