//Mitsuaki Ishimoto, All rights reserved.

if(typeof justoneplanet == 'undefined'){
	var justoneplanet = {};
}
justoneplanet = {
	effect : {},
	widget : {},
	utility : {}
}



justoneplanet.$ = function(ELM){
	if(document.getElementById(ELM)){
		return document.getElementById(ELM);
	}
	else{
		return false;
	}
}

/*Attach Event to each ELM(Array) in each TYPE(Array)*/
justoneplanet.addListen = function(ELM, TYPE, FUNC){
	if(ELM instanceof Array){
		for(var i=0; i<ELM.length; i++){
			justoneplanet.addListen(ELM[i], TYPE, FUNC);
		}
	}
	if(TYPE instanceof Array){
		for(var i=0; i<TYPE.length; i++){
			justoneplanet.addListen(ELM, TYPE[i], FUNC);
		}
	}
	if(!ELM){
		return false;
	}
	if(ELM.addEventListener){
		ELM.addEventListener(TYPE, FUNC, false);
	}
	else if(ELM.attachEvent){
		ELM.attachEvent('on' + TYPE, FUNC);
	}
	else{
		return false;
	}
	return true;
}

justoneplanet.utility.setShortcutKey = function(SETTING, FUNC){
	var set = function(e){
		var shift, ctrl;
		if(!window.event){
			keycode = e.which;
			if(typeof e.modifiers == 'undefined'){
				ctrl = e.ctrlKey;
				shift = e.shiftKey;
			}
			else{
				ctrl = e.modifiers & Event.CONTROL_MASK;
				shift = e.modifiers & Event.SHIFT_MASK;
			}
			e.stopPropagation();
		}
		else{
			keycode = event.keyCode;
			ctrl = event.ctrlKey;
			shift = event.shiftKey;
			event.cancelBubble = true;
		}
		keychar = String.fromCharCode(keycode).toUpperCase();
		if(shift == SETTING.shift && ctrl == SETTING.ctrl){
			if(keychar == SETTING.key){
				FUNC();
				if(!window.event){
					e.preventDefault();
				}
				else{
					event.returnValue = false;
				}
			}
		}
	}
	justoneplanet.addListen(
		document,
		'keydown',
		function(e){set(e);}
	);
}


