/*  justoneplanet
 *  (c) 2007-2008 Mitsuaki Ishimoto
 *  justoneplanet is freely distributable under the terms of an MIT-style license.
 *  http://justoneplanet.sakura.ne.jp/
/*--------------------------------------------------------------------------*/

if(typeof justoneplanet == 'undefined'){
	var justoneplanet = {};
}
justoneplanet = {
	effect : {},
	widget : {},
	utility : {}
}
justoneplanet.$ = function(ELM){
	if(document.getElementById(ELM)){
		return document.getElementById(ELM);
	}
	else{
		return false;
	}
}
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.limitedCheckbox = function(NAME, NUM){
	justoneplanet.addListen(
		window,
		'load',
		function(){
			var checkedAry = new Array();
			var name = NAME;
			var limit = NUM;
			var setCheckedAryOnload = function(){
				for(var i=0; i<document.getElementsByName(name).length; i++){
					if(document.getElementsByName(name).item(i).checked){
						checkedAry.unshift(document.getElementsByName(name).item(i));
					}
				}
			}
			setCheckedAryOnload();
			for(var i=0; i<document.getElementsByName(name).length; i++){
				document.getElementsByName(name).item(i).onclick = function(){
					if(this.checked){
						checkedAry.unshift(this);
						if(checkedAry.length > limit){
							var release = checkedAry.pop();
							release.checked = false;
						}
					}
					else{
						for(var i=0; i<checkedAry.length; i++){
							if(checkedAry[i] == this){
								checkedAry.splice(i, 1);
							}
						}
					}
				}
			}
		}
	);
}

