
typeof defaultRegistry!='undefined'?defaultRegistry.addEntry({fileName:'jquery.3rdparty.metadata.js',url:'/ccf/plugins/js/jquery.3rdparty.metadata.js',plugins:[]}):true;(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var braceStack=0;var jsonArr=[];mergedArr=[];var insideJson=false;var classValue=elem.className;for(var i=0;i<classValue.length;i++){if(classValue.charAt(i)=='}'&&braceStack==1){insideJson=false;}if(insideJson){jsonArr[jsonArr.length-1]=jsonArr[jsonArr.length-1].concat(classValue.charAt(i));}if(classValue.charAt(i)=='{'&&braceStack==0){insideJson=true;jsonArr.push('');}if(classValue.charAt(i)=='{'){braceStack++;}else if(classValue.charAt(i)=='}'){braceStack--;}}for(var i=0;i<jsonArr.length;i++){if(jsonArr[i]){var isArr=false;var key=jsonArr[i].split(':')[0];var val=jsonArr[i].substring(jsonArr[i].indexOf(':')+1,jsonArr[i].length);for(j=i+1;j<jsonArr.length;j++){if(jsonArr[j].split(':')[0]==key){val+=','+jsonArr[j].substring(jsonArr[j].indexOf(':')+1,jsonArr[j].length);jsonArr[j]=null;isArr=true;}}isArr?val='['+val+']':true;mergedArr.push(key+':'+val);}}jsonArr.length>0?m='{'+mergedArr.join()+'}':m=null;if(m)data=m;}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);