function nwCat(tgtF,obj){
	var h ='';
	if(!obj || !obj.checkObj || obj.checkObj.length<=1){return false;}

	// init
	if(!obj.checkBoxClass){obj.checkBoxClass='limitcate';}
	if(obj.checkBoxStyle==undefined){obj.checkBoxStyle=true;}
	if(obj.styles==undefined){obj.styles={};}
	var checked;
	var styles = {div:'',label:'',input:''};

	// add CSS Style
	if(obj.checkBoxStyle){
		if(!obj.styles.div){
			obj.styles.div  ='overflow:hidden;padding:5px 0 0;zoom:1;';
		}
		if(!obj.styles.label){
			obj.styles.label='float:left;white-space:nowrap;padding:2px 15px 2px 0;font-size:75%;line-height:1.5em;';
		}
		if(!obj.styles.input){
			obj.styles.input='vertical-align:middle;margin-right:3px;';
		}
		styles = {
			div  :' style="'+obj.styles.div+'"',
			label:' style="'+obj.styles.label+'"',
			input:' style="'+obj.styles.input+'"'
		};
	}

	// write checkbox src
	var args = getPrmsFromUrl();
	for(var i=0;i<obj.checkObj.length;i++){
		checked = '';
		if(args.gr){ // gr from URL is checkd
			var grs = args.gr.split(/%2C|%2c|,/);
			for(var j=0;j<grs.length;j++){
				if(obj.checkObj[i].id == grs[j]){
					checked =' checked="checked"';
					break;
				}
			}
		}else{ // or all is checked as default
			if(obj.checkObj[i].id=='all'){
				checked =' checked="checked"';
			}
		}
		h += '<label'+styles.label+'><input type="checkbox" value="'+obj.checkObj[i].id+'"'+checked+styles.input+' onClick="catCheck(this)" />'+obj.checkObj[i].catName+'</label>\n';
	}
	if(h){
		h = '<div class="'+obj.checkBoxClass+'"'+styles.div+'>'+h+'</div>';
		var tgtForm = document.getElementById(tgtF);
		var inputTag = document.createElement('input');
		tgtForm.onsubmit = function(){return limitCatSubmit(tgtForm);};
	}
	document.write(h);
	return;
}
function getPrmsFromUrl(){
	var Args = new Array();
	var q = location.search ;
	if (q.length > 0) {
		q = q.replace("?","") ;
		var vars = q.split("&") ;
		for (var i=0;i<vars.length;i++) { 
			var tmp = vars[i].split("=") ;
			Args[tmp[0]] = tmp[1] ;
		}
	}
	return Args;
}
function catCheck(obj){
	var chkval = obj.value;
	var chks = obj.parentNode.parentNode.getElementsByTagName('label');
	for(var i=0;i<chks.length;i++){
		var chk = chks[i].getElementsByTagName('input')[0];
		if((chkval == 'all' && chk.value != 'all') || (chkval != 'all' && chk.value == 'all')){
			chk.checked = false;
		}
	}
}
function limitCatSubmit(t){
	inputs = t.getElementsByTagName('input');
	var allFlg = false;
	var grArgs ='';
	var grInput;
	catAry =[];
	for(var i=0;i<inputs.length;i++){
		if(inputs[i].nodeType==1){
			if(inputs[i].getAttribute('type')=='checkbox' && inputs[i].getAttribute('value') && inputs[i].checked==true){
				if(inputs[i].getAttribute('value')=='all'){
					allFlg = true;
				}
				catAry.push(inputs[i].getAttribute('value'));
			}
			if(inputs[i].getAttribute('name')=='gr'){
				grInput = inputs[i];
			}
		}
	}
	if(!allFlg && catAry.length){
		grArgs = catAry.join(',');
		grInput.setAttribute('value',grArgs);
	}
	return true;
}
