CAPP.DOW = {
	vie: ['Chủ nhật','Thứ hai','Thứ ba','Thứ tư','Thứ năm','Thứ sáu','Thứ bảy'],
	eng: ['Sunday','Monday','Tuesday','Wednesday','Thurday','Friday','Saturday']
};
CAPP.prototype.dtm = function(){
	var v_lng = SYS.sys('etc.lng','vie');
	var v_dtm = new Date();
	var v_dow = CAPP.DOW[v_lng];
	v_dtm = v_dow[v_dtm.getDay()] + ', ' + v_dtm.getDate() + '-' + (v_dtm.getMonth() + 1) + '-' + v_dtm.getYear(); 
	SYS.out(dat_xml({
		div: [{
			'class': 'dtm'
		},v_dtm]
	}));
};
CAPP.prototype.run = function(){
	document.title = this.get('ttl','ITSVN.NET');
	this.$cpy(this.get('cpy'));
};
CAPP.prototype.prn = function(p_arg){
	if(p_arg){
		p_arg.tpl = 'out';
		window.open(this.$url(p_arg),"APP_PRN");
	}
};
CAPP.prototype.fdb = function(p_arg){
	this.dlg({wca:'fdbmng',wci:'u_dat',lnk:escape(this.$url(p_arg))},'APP_FDB');
};
CAPP.prototype.fwd = function(p_arg){
	if(p_arg){
		var v_url = fullURL(this.$url(p_arg));
		this.dlg({wca:'auxmng',wci:'u_fwd',lnk:v_url},'APP_FWD');
//		this.dlg({wca:'auxmng',wci:'u_fwd',lnk:escape(v_url)},'APP_FWD');
	}
};
CAPP.prototype.dlg = function(p_arg,p_win){
	if(p_arg){
		p_arg.tpl = 'dlg';
		window.open(this.$url(p_arg),p_win ? p_win : 'APP_DLG',
			"width=640,height=440,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no"
		);
	}
};
CAPP.prototype.win = function(p_url,p_wid,p_hei){
	window.open(p_url,'APP_WIN',
		"location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=" + p_wid + ",height=" + p_hei
	);
};
CAPP.prototype.gui = function(p_arg){
	if(CMNU && p_arg.iid && p_arg.dat){
		var v_obj = new CMNU({iid:p_arg.iid,opa:95,flg:MNU.FLG.ICO1,cls:['mnu']}); 
		v_obj.draw({iid:p_arg.iid,dat:p_arg.dat,lng:p_arg.lng,wid:'100%'});
	}
};
CAPP.prototype.rol = function(p_arg){
	if(p_arg.iid && p_arg.dat){
		if((p_arg.flg == 1) && CROL){
			var v_len = p_arg.len ? p_arg.len : 80;
			new CROL({iid:p_arg.iid,spd:100,pau:1000,max:v_len,cls:'rol',dat:p_arg.dat}).run();
		} else {
			SYS.out('<div class="rol"><marquee>' + p_arg.dat.join(' >>> ') + '</marquee></div>');
		}
	}
};
CAPP.prototype.udb = function(p_arg){
	if(CBOX && p_arg){
		var v_lbl = {
			vie: {css: 'Kiểu',lng:'Ngôn ngữ'},
			eng: {css: 'Style',lng:'Language'}
		};
		var v_lst = {
			vie: [{iid:'vie',ttl:'Tiếng Việt'},{iid:'eng',ttl:'Tiếng Anh'}],
			eng: [{iid:'vie',ttl:'Vietnam'},{iid:'eng',ttl:'English'}]
		};
		var v_lng = SYS.cki('ETC','lng');
		var v_bdy = [];
		var v_cls = p_arg.cls ? p_arg.cls : 'box_com';
		var v_cbo = APP.cbo({
			dat: p_arg.css,
			act: 'APP.etc(\'css\',this.value)',
			def: SYS.cki('ETC','css')
		});
		if(v_cbo){
			v_bdy.push({
				tr: [{
					'class': v_cls + '_row'
				},{
					td: [{'class': v_cls + '_col',align:'right'},v_lbl[v_lng].css]
				},{
					td: [{'class': v_cls + '_col',align:'left'},v_cbo]
				}]
			});
		}
		v_cbo = APP.cbo({
			dat: p_arg.tpl,
			act: 'APP.etc(\'tpl\',this.value)',
			def: SYS.cki('ETC','tpl')
		});
		if(v_cbo){
			v_bdy.push({
				tr: [{
					'class': v_cls + '_row'
				},{
					td: [{'class': v_cls + '_col',align:'right'},'Bố cục:']
				},{
					td: [{'class': v_cls + '_col',align:'left'},v_cbo]
				}]
			});
		}
		v_cbo = APP.cbo({
			dat: v_lst[v_lng],
			act: 'APP.etc(\'lng\',this.value)',
			def: v_lng
		});
		if(v_cbo){
			v_bdy.push({
				tr: [{
					'class': v_cls + '_row'
				},{
					td: [{'class': v_cls + '_col',align:'right'},v_lbl[v_lng].lng]
				},{
					td: [{'class': v_cls + '_col',align:'left'},v_cbo]
				}]
			});
		}
		if(v_bdy){
			v_bdy = dat_xml({
				table: [{
					'class': v_cls + '_tbl',
					cellpadding: 2,
					cellspacing: 0,
					align: 'center',
					border: 0
				}, v_bdy]
			});
			var v_flg = BOX.FLG.TTL | BOX.FLG.BDY_VIS;
			v_flg |= p_arg.hdr ?  BOX.FLG.HDR_VIS : 0;
			v_flg |= p_arg.ftr ?  BOX.FLG.FTR_VIS : 0;
			new CBOX({
				iid: 'UDB',
				wid: '100%',
				flg: v_flg,
				ico: 'ico_view.gif',
				ttl: p_arg.ttl,
				hdr: p_arg.hdr,
				ftr: p_arg.ftr,
				bdy: v_bdy,
				cls: v_cls
			}).draw();
		}
	}
};
CAPP.prototype.etc = function(p_key,p_val){
	if(p_key && p_val){
		SYS.etc(p_key,p_val,true);
	}
};
CAPP.prototype.vot = function(p_arg){
	if(CBOX && p_arg && p_arg.iid){
		var v_opt = [];
		var v_cls = p_arg.cls ? p_arg.cls : 'box_com';
		var v_iid = p_arg.iid;
		var v_dtl = p_arg.dtl;
		for(var v_idx in v_dtl){
			var v_itm = v_dtl[v_idx];
			v_opt.push({
				tr: [{
					'class': v_cls + '_row'
				},{
					td: [{
						'class': v_cls + '_col'
					},{
						input: {
							type: 'radio',
							name: 'vot_' + v_iid,
							value: v_itm.iid
						}
					},v_itm.ttl]
				}]
			});
		}
		if(v_opt){
			var v_bdy = dat_xml({
				table: [{
					'class': v_cls + '_tbl',
					width: '100%',
					border: 0,
					cellspacing: 1,
					cellpadding: 0
				},v_opt]
			});
			var v_ftr = dat_xml([{
				button: [{
					onclick: "APP.$vot('" + v_iid + "',true)"
				},'Chọn']
			},{
				button: [{
					onclick: "APP.$vot('" + v_iid + "',false)"
				},'Xem']
			}]);
			new CBOX({
				iid: v_iid,
				wid: '100%',
				flg: BOX.FLG.TTL | BOX.FLG.HDR_VIS | BOX.FLG.BDY_VIS | BOX.FLG.FTR_VIS,
				ico: p_arg.ico ? p_arg.ico : 'ico_view.gif',
				ttl: p_arg.ttl,
				hdr: p_arg.cnt,
				bdy: v_bdy,
				ftr: v_ftr,
				cls: v_cls
			}).draw();
		}
	}
};
CAPP.prototype.qry = function(p_fld){
	var v_qry = {};
	for(var v_idx in p_fld){
		var v_key = p_fld[v_idx];
		var v_obj = getElementById(v_key);
		if(v_obj){
			var v_val = v_obj.value;
			v_qry[v_key] = v_val ? v_val : null;
		}
	}
	SYS.app({qry:null});
	SYS.app({qry:v_qry});
};
CAPP.prototype.cbo = function(p_arg){
	var v_dat = p_arg.dat;
	if(p_arg.flg){
		v_dat.unshift({iid:'',ttl:''});
	}
	var v_ret = cboBox({
		dat: v_dat,
		def: p_arg.def,
		att: {id:p_arg.iid,name:p_arg.iid,onchange:p_arg.act,style:p_arg.css}
	});
	if(p_arg.flg){
		v_dat.shift();
	}
	return v_ret;
};
CAPP.prototype.btn = function(p_arg){
	var v_arg = dat2str(p_arg);
	var v_lng = SYS.cki('ETC','lng');
	var v_lbl = {
		vie : {
			fav: ' Đánh dấu',
			prn: ' Bản in',
			fdb: ' Đóng góp ý kiến',
			fwd: ' Gửi tới bạn bè'
		},
		eng: {
			fav: ' Bookmark',
			prn: ' Print document',
			fdb: ' Feedback',
			fwd: ' Send to your friends'
		}
	};
	return dat_xml({
		div: [{'class':'dtl_itm_btn'},{
			a: [{
				href: 'javascript:APP.prn(' + v_arg + ')'
			},{
				img: {src:'/_ico/ico_print.gif',border: 0}
			},v_lbl[v_lng].prn]
		},{
			img: {src:'/images/spacer.gif',border:0,width:20}
		},{
			a: [{
				href: 'javascript:APP.fdb(' + v_arg + ')'
			},{
				img: {src:'/_ico/ico_reply.gif',border: 0}
			},v_lbl[v_lng].fdb]
		},{
			img: {src:'/images/spacer.gif',border:0,width:20}
		},{
			a: [{
				href: 'javascript:APP.fwd(' + v_arg + ')'
			},{
				img: {src:'/_ico/ico_forward.gif',border: 0}
			},v_lbl[v_lng].fwd]
		}]
	});
};
CAPP.prototype.box = function(p_arg){
	var v_ret = '';
	if(CBOX){
		var v_hdr = [];
		var v_map = p_arg.map;
		var v_dat = p_arg.hdr;
		for(var v_idx in v_map){
			var v_itm = v_map[v_idx];
			var v_val = v_dat[v_itm.iid];
			if(v_val){
				v_hdr.push({
					tr: [null,{
						td: [{align:'left'},'<b>',v_itm.ttl,'</b>']
					},{
						td: [{align:'left'},': ',v_val]
					}]
				})
			}
		}
		if(v_hdr){
			v_hdr = dat_xml({
				table: [{
					border: 0,
					cellpadding: 2,
					cellspacing: 0
				},v_hdr]
			});
		} else {
			v_hdr = '';
		}
		v_ret = new CBOX({
			iid: p_arg.iid,
			wid: '100%',
			flg: BOX.FLG.TTL | BOX.FLG.HDR | BOX.FLG.BDY,
			cls: p_arg.cls,
			ico: p_arg.ico,
			ttl: p_arg.ttl,
			hdr: v_hdr,
			bdy: p_arg.bdy,
			ftr: p_arg.ftr
		}).make();
	}
	return v_ret;
};
CAPP.prototype.cal = function(p_iid){
	if(!WCal) return;
	if(!this._cal){
		var v_lng = SYS.sys('etc.lng','vie');
		var v_ttl = {vie: 'Chọn ngày',eng: 'Select a day'};
		this._cal = new WCal({
			iid:'cal',
			cls:'win',
			flg: 1,
			url:'/_ico/',
			ico:'ico_calendar.gif',
			wid:'270',
			hei:'212',
			ttl:v_ttl[v_lng],
			hdr:CAPP.DOW[v_lng]
		});
		this._cal.draw();
	}
	/*---*/
	var v_obj = getElementById(p_iid);
	if(v_obj){
		var v_arg = {
			p_x: document.body.scrollLeft + event.clientX,
			p_y: document.body.scrollTop + event.clientY,
			evt: {sel:$setCal,arg:p_iid},
			abs: true
		}
		v_arg.dtm = dtm2dat(v_obj.value,SYS.sys('fmt.dtm','d-m-y'));
		this._cal.show(v_arg);
	}
};
function $setCal(p_dtm,p_iid){
	var v_obj = getElementById(p_iid);
	if(v_obj){
		v_obj.value = dtm2str(p_dtm,SYS.sys('fmt.dtm','d-m-y'));
	}
};

/* PRIVATE METHODS */

CAPP.prototype.$vot = function(p_iid,p_flg){
	var v_arg = {wca:'votmng',wci:'v_dat',wce:'dtl',iid:p_iid};
	if(p_flg && !SYS.cki('VOT',p_iid)){
		var v_obj = getElementById('APP_FRM');
		if(v_obj){
			var v_col = v_obj.elements('vot_' + p_iid);
			for(var v_idx = 0; v_idx < v_col.length; v_idx++){
				v_obj = v_col.item(v_idx);
				if(v_obj.checked){
					v_arg.opt = v_obj.value;
					var v_cki = {};
					v_cki[p_iid] = 1;
					SYS.cki('VOT',v_cki);
					break;
				}
			}
		}
	}
	this.dlg(v_arg,'APP_VOT');
};

CAPP.prototype.$url = function(p_arg){
	var v_qry = this.$qry(p_arg);
	return this.get('cgi') + (v_qry ? '?' + v_qry : '');
};

CAPP.prototype.$qry = function(p_arg){
	var v_ret = '';
	for(var v_key in p_arg){
		var v_val = p_arg[v_key];
		if(v_val){
			v_ret += (v_ret ? '&' : '') + escape(v_key) + '=' + escape(v_val);
		}
	}
	return v_ret;
};
CAPP.prototype.$cpy = function(p_arg){
	if(p_arg){
		var v_obj = getElementById('APP_CPY');
		if(v_obj){
			v_obj.innerHTML = p_arg;
		}
	}
};
