﻿/*
	data调用
	$.ebm.data.create({
		data:JSON数据,
		element:调用data的dom对象
		public:是否为全局源
	})


Depends
	util.js
	jQuery.js(1.3.2)
	ui.file.js //文件上传域控件 初始化文件上传域
*/
var data = {
	data:{
		create:function(cfg){
			var d = cfg.data;
			var n = cfg.element;
			//替换%aa%部分
			$(n).html( $.ebm.util.replace( $(n).html(), d ) );
			var regex = /%([\w\.]+)?%/g;
			//替换%aa.bb%部分
				var b = $(n).html().match(regex);
				if(b){
					$.each(b,function(bi,bv){
						if(bv){
							if(bv.indexOf(".") != -1){
								var p = bv.substring(1, bv.indexOf("."));
								var tag = bv.substring(bv.indexOf(".")+1, bv.length-1);
								if($('#'+p) && $('#'+p).data("data")){
									var compileData = $('#'+p).data("data").root.rows.row;
									if(compileData[tag] != "undefined"){									
										$("body").html( $("body").html().replace( bv, compileData[tag] ) );
										//重新赋值data
										//$('#'+p).data("data", compileData);
									}			
								}
							}
						}
					})	
				}
				//替换对应id部分
				var c = $(n).find("[id]").get();
				$.each(d, function( di, dv ){
					$.each(c, function(ci, cv){
						if( $(cv).attr("id") == di){
								if( $(cv).hasClass("ebm_radio") ){
									var o = $.ebm.util.jsonToObj($(cv).attr("option"));
									o.value = dv;
									$(cv).attr("option", $.ebm.util.objToJson(o) );
								}else if( $(cv).hasClass("ebm_file") ){
									var dd = $.ebm.util.getData("a.ebm.file.getRelaPath",null,1,{"fileId":dv});
									var d = { fileId:dv,relaPath:dd[0].relaPath,pid:di };
									$(cv).data("data",d);
									$.file.create( $(cv),1 );
								}else if( $(cv).hasClass("ebm_edit") ){
									//$(cv).data("data",dv);
									var parm = {
										tools:'full',                       
										upLinkUrl:ACT.uf,
										upLinkExt:'txt,doc,docx,rar,pdf',
										upImgUrl:ACT.uf,
										upImgExt:'jpg,jpeg,gif,png',
										upFlashUrl:ACT.uf,
										upFlashExt:'swf',									
										upMediaUrl:ACT.uf,
										upMediaExt:'avi'
									}
									var edit = $(cv).xheditor(true,parm);
									$(cv).data("selfJsObj",edit);
									$(cv)[0].xheditor.setSource( dv );
								}else{
									try{
										if($.browser.msie){
											$( cv ).html( dv );
										}else{
											$( cv ).val( dv ).html( dv );		
										}
									}catch(ex){
										$( cv ).val( dv );
									}
								}	
						}	
					})	
				})
				//alertValue($(n).attr("id"), $(n).html());
				
		}	
	}	
}

if($.ebm === undefined){
	$.extend({ebm: data});
	data = null;
}else{
	$.extend($.ebm, data);	
	data = null;
}

