function $init(p_url,p_lng){
	var v_lib = ['box','rss'];
	if(p_lng == 'vie'){
		v_lib.unshift('kbv');
	}
	for(var v_idx in v_lib){
		document.write('<script type="text/javascript" src="' + 
			p_url + '/_lib/_' + v_lib[v_idx] + '.js"></script>')
	}
	var v_app = [p_lng];
	for(var v_idx in v_app){
		document.write('<script type="text/javascript" src="' + 
			p_url + '/scripts/usr/' + v_app[v_idx] + '.js"></script>')
	}
	/*---*/
	delete $init;
}
/*---*/
APP.ttl = function(p_ttl){
	SYS.out(p_ttl,'ttlsec');
};
APP.dtm = function(p_arg){
	var v_ret = '';
	if(p_arg){
		var v_dtm = p_arg.dtm;
		v_ret = SYS.DTM.fmt(v_dtm,false,true) + ' (GMT+7)';
		if(this.DOW && this.DOW[v_dtm.w]){
			v_ret = this.DOW[v_dtm.w] + ', ' + v_ret;
		}
		var v_att = p_arg.att || {CLASS:'datetime'};
		v_ret = SYS.CNV.dat2xml({div: [v_att,v_ret]});
	}
	return v_ret;
};
APP.qry = function(p_fld){
	var v_ret = {};
	var v_ret = {};
	for(var v_fld in p_fld){
		var v_obj = getElementById(v_fld);
		if(v_obj && v_obj.value != ''){
			var v_val = v_obj.value;
			switch(p_fld[v_fld]){
				case 'd':
					v_val = SYS.DTM.fmt(v_val,true);
					break;
				case 'o':
					v_val = this.opt('s2v',v_val);
					break;
			}
			v_ret[v_fld] = v_val;
		}
	}
	return v_ret;
};
APP.med = function(p_src){
	if(p_src){
		APP.win({_wca:'commng',_wci:'v_itm',_wce:'med',src:p_src});
	}
};
APP.vot = function(p_arg,p_win){
	if(p_arg){
		var v_iid = p_arg.iid;
		var v_opt = p_arg.opt;
		p_arg.opt = null;
		if(v_opt && !SYS.cki('VOT',v_iid)){
			var v_obj = getElementById('APP_FRM');
			if(v_obj){
				var v_col = v_obj.elements(v_opt);
				for(var v_idx = 0; v_idx < v_col.length; v_idx++){
					v_obj = v_col.item(v_idx);
					if(v_obj.checked){
						p_arg.opt = v_obj.value;
						var v_cki = {};
						v_cki[v_iid] = 1;
						SYS.cki('VOT',v_cki);
						break;
					}
				}
			}
		}
		p_win ? APP.win(p_arg,p_win) : SYS.act(p_arg);
	}
};
APP.opt = function(p_toa,p_arg){
	var v_ret = null;
	switch(p_toa){
		case 's2v':
			v_ret = 0;
			var v_lst = p_arg.split(',');
			for (var v_idx in v_lst) {
				v_ret |= parseInt(v_lst[v_idx],10);
			}
			v_ret = v_ret || '';
			break;
		case 'v2s':
			v_ret = '';
			p_arg = parseInt(p_arg,10);
			var v_flg = 1;
			while(p_arg){
				if(p_arg & 1){
					v_ret += (v_ret ? ',' : '') + v_flg; 
				}
				p_arg >>= 1;
				v_flg <<= 1;
			}
			break;
	}
	return v_ret;
};
APP.prn = function(p_arg){
	this.win({_wca:'commng',_wci:'v_itm',_wce:'prn',_arg:SYS.CNV.dat2str(p_arg,1)},{win:'APP_PRN'});
};
APP.eml = function(p_arg){
	this.win({_wca:'commng',_wci:'v_eml',_wce:'edt',_arg:SYS.CNV.dat2str(p_arg,1)},{win:'APP_EML'});
};
APP.fdb = function(p_arg){
	this.win({_wca:'fdbmng',_wci:'s_itm',_wce:'edt',_arg:SYS.CNV.dat2str(p_arg,1)},{win:'APP_FDB'});
};
APP.utl = function(p_arg){
	p_arg = SYS.CNV.dat2str(p_arg);
	return {div: [{CLASS:'util-bar'},{
		span: [{CLASS:'button',title:'Tao trang in',onmouseover:"this.className='button hover';",onmouseout:"this.className='button';",onclick:'APP.prn(' + p_arg + ')'},{
			img:{src:'/_ico/ico_printer.gif'
		}}]
	},{
		span: [{CLASS:'button',title:'Gui den ban be',onmouseover:"this.className='button hover';",onmouseout:"this.className='button';",onclick:'APP.eml(' + p_arg + ')'},{
			img:{src:'/_ico/ico_email.gif'
		}}]
	},{
		span: [{CLASS:'button',title:'Y kien cua ban',onmouseover:"this.className='button hover';",onmouseout:"this.className='button';",onclick:'APP.fdb(' + p_arg + ')'},{
			img:{src:'/_ico/ico_reply.gif'
		}}]
	}]};
};

