
if(typeof Panagora!='object')
Panagora={};Panagora=Panagora;Panagora.internal={errors:{1:{constant:'ERROR_GENERIC',internal:'Unknown'}},logLevels:{NONE:0,ERROR:1,WARN:2,LOG:3,INFO:4,DEBUG:5}};if(typeof console=="undefined"){console={'log':function(){this.debug.apply(this,arguments);},'info':function(){this.debug.apply(this,arguments);},'warn':function(){this.debug.apply(this,arguments);},'error':function(){this.debug.apply(this,arguments);},'debug':function(){var debug;if(!document.getElementById('debug')){debug=document.createElement('pre');debug.id='debug';debug.innerHTML='debug:\r\n';document.body.appendChild(debug);}else{debug=document.getElementById('debug');}
var output=[];for(var i=0,l=arguments.length;i<l;i++){if(typeof arguments[i]!='string'&&arguments[i].length){for(var x=0,l2=arguments[i].length;x<l2;x++){output.push(arguments[i][x]);}}else{output.push(arguments[i]);}}
debug.firstChild.nodeValue+=output.join(' ')+'\r\n';}};Panagora.logLevel=Panagora.internal.logLevels.ERROR;}
if(Panagora.logLevel===undefined){Panagora.logLevel=Panagora.internal.logLevels.DEBUG;}
Panagora.ready=function _ready(fn){$j(document).ready(fn);};Panagora.Class=function _Class(className){var self=this;function outputLog(func,args){var caller=outputLog.caller?outputLog.caller.caller:null;var callingClass=className||this.constructor.name;var output=['('+new Date().toLocaleTimeString()+')',callingClass];var callingFunc=caller&&caller.name?(caller.name.length&&caller.name!=callingClass?caller.name:null):caller||'function()';if(callingFunc){output.push(':');output.push(callingFunc);}
output.push('>');output.push(args);try{func.apply(console,output);}catch(ex){}}
this.debug=function debug(){if(Panagora.logLevel>=Panagora.internal.logLevels.DEBUG){outputLog(console.debug,arguments);}};this.info=function info(){if(Panagora.logLevel>=Panagora.internal.logLevels.INFO){outputLog(console.info,arguments);}};this.log=function log(){if(Panagora.logLevel>=Panagora.internal.logLevels.LOG){outputLog(console.log,arguments);}};this.warn=function warn(){if(Panagora.logLevel>=Panagora.internal.logLevels.WARN){outputLog(console.warn,arguments);}};this.error=function error(){if(Panagora.logLevel>=Panagora.internal.logLevels.ERROR){outputLog(console.error,arguments);}};};Panagora.Class.create=function _create(func){func.prototype=new Panagora.Class(func.name||'unknown');func.prototype.constructor=func;func.prototype.uber=func.prototype;return func;};Panagora.renderMergedScripts=function _renderMergedScripts(){var output=[];var reqs=[];var count=0;$j('head script[src]').each(function iterateScripts(){console.log(reqs,this.src);if(this.src.match(/panagora([^\/]+)*\.js/i)){reqs[count++]={url:this.src,dataType:'text',async:false};}});$j.each(reqs,function fetchFiles(){var req=$j.ajax(this);var scriptName=this.url.replace(/^.+\/(Panagora[^\/]+)$/i,'$1');output.push('/* begin '+scriptName+' */');output.push(req.responseText);output.push('/* end '+scriptName+' */');});output=output.join('\n\n');var textarea=$j('<textarea/>').css('position','absolute').css('top',0).css('left',0).css('width','100%').css('height','100%').css('z-index','1000').appendTo(document.body).val(output).keyup(function(e){if(e.which==27)
textarea.remove();});};Panagora.confirm=function _confirm(message){var str=Panagora.applyConstants(message);if(arguments.length>1){var args=[str];for(var i=1;i<arguments.length;i++){args.push(arguments[i]);}
str=String.format.apply(null,args);}
return window.confirm(str);}
Panagora.alert=function _alert(message){var str=Panagora.applyConstants(message);if(arguments.length>1){var args=[str];for(var i=1;i<arguments.length;i++){args.push(arguments[i]);}
str=String.format.apply(null,args);}
return window.alert(str);}