
function CCFRegistry(){this.plugins=[];this.timesDomChanged=0;this.metaNodes={};this.addEntry=addEntry;this.populateMetaData=populateMetaData;this.getParameterFromMetadata=getParameterFromMetadata;this.getPluginByPluginName=getPluginByPluginName;this.getPluginByMetaName=getPluginByMetaName;this.evalPlugin=evalPlugin;this.domChanged=domChanged;this.removeEntry=removeEntry;this.getTimesDomChanged=getTimesDomChanged;this.domChangedScheduled=false;this.scheduleDomChanged=scheduleDomChanged;}function addEntry(pluginName,metaName,parameterNameArray){var pluginToAdd=[pluginName,metaName,parameterNameArray];this.plugins.push(pluginToAdd);this.populateMetaData(pluginName,metaName,parameterNameArray);}function getPluginByPluginName(name){for(var i=0;i<this.plugins.length;i++){if(name==this.plugins[i][0]){return this.plugins[i];}}return null;}function getPluginByMetaName(name){for(var i=0;i<this.plugins.length;i++){if(name==this.plugins[i][1]){return this.plugins[i];}}return null;}function domChanged(){this.timesDomChanged++;this.metaNodes.each(function(){jQuery(this).unbind();jQuery.data(this,'validator')?jQuery.data(this,'validator',''):true;});for(var i=0;i<this.plugins.length;i++){this.populateMetaData(this.plugins[i][0],this.plugins[i][1],this.plugins[i][2]);}}function scheduleDomChanged(ms){if(!this.domChangedScheduled){this.domChangedScheduled=true;window.setTimeout(getTimeoutHandler(this),ms);}function getTimeoutHandler(ccfRegistry){return function(){ccfRegistry.domChangedScheduled=false;ccfRegistry.domChanged();};}}function getTimesDomChanged(){return this.timesDomChanged;}function populateMetaData(pluginName,metaName,parameterNameArray){this.metaNodes=jQuery("*[class*={]",document);var parameter='';this.metaNodes.each(function(j){var this_metadata=jQuery(this).metadata()[metaName];if(this_metadata){parameter=getParameterFromMetadata(metaName,parameterNameArray);if(this_metadata instanceof Array){for(var i=0;i<this_metadata.length;i++){eval('jQuery(this).'+pluginName+'('+parameter+'['+i+']'+')');}}else{eval('jQuery(this).'+pluginName+'('+parameter+')');}}});}function getParameterFromMetadata(metaName,parameterNameArray){var parameter='';if(parameterNameArray){for(var i=0;i<parameterNameArray.length;i++){parameter+='jQuery(this).metadata()'+'.'+[metaName]+'.'+parameterNameArray[i];i<parameterNameArray.length-1?parameter+=',':true;}}else{parameter+='jQuery(this).metadata()'+'.'+[metaName];}return parameter;}function evalPlugin(selector,plugin,parameter){return eval('jQuery("'+selector+'").'+plugin+'('+parameter+')');}function removeEntry(name){}pageVariable={};jQuery.metadata.setType("class");defaultRegistry=new CCFRegistry();