if(typeof UnitedPrint=="undefined"){UnitedPrint={}}UnitedPrint.Utils={globalEval:function(s_js_code){if(window.execScript){window.execScript(s_js_code)}else{var fn=function(){window.eval.call(window,s_js_code)};fn()}},isJSLoaded:function(s_jsfile){var scripts=document.getElementsByTagName("script");var is_loaded=this.test_object(scripts,function(key,value){if(!key.toString().match(/\d/)){return false}if(!value.src){return false}if(value.src==s_jsfile){return true}return false});return is_loaded},isCSSLoaded:function(s_cssfile){var links=document.getElementsByTagName("link");var is_loaded=this.test_object(links,function(key,value){if(!key.toString().match(/\d/)){return false}if(!value.href){return false}if(value.href==s_cssfile){return true}return false});return is_loaded},test_object:function(obj,cb_filter){if(typeof cb_filter!="function"){throw new TypeError()}for(var element in obj){if(cb_filter(element,obj[element])){return true}}return false},loadJS:function(s_jsfile,s_onLoad){if(this.isJSLoaded(s_jsfile)){UnitedPrint.Utils.globalEval(s_onLoad);return}var e=document.createElement("script");e.setAttribute("type","text/javascript");e.setAttribute("src",s_jsfile);if(navigator.appVersion.indexOf("MSIE")>0){e.onreadystatechange=function(){if(this.readyState=="complete"||this.readyState=="loaded"){UnitedPrint.Utils.globalEval(s_onLoad)}}}else{if(s_onLoad){e.setAttribute("onload",s_onLoad)}}document.getElementsByTagName("head")[0].appendChild(e)},loadCSS:function(s_cssfile,s_onLoad){if(this.isCSSLoaded(s_cssfile)){UnitedPrint.Utils.globalEval(s_onLoad);return}var e=document.createElement("link");e.setAttribute("type","text/css");e.setAttribute("href",s_cssfile);e.setAttribute("rel","stylesheet");if(navigator.appVersion.indexOf("MSIE")>0){e.onreadystatechange=function(){if(this.readyState=="complete"||this.readyState=="loaded"){UnitedPrint.Utils.globalEval(s_onLoad)}}}else{if(s_onLoad){e.setAttribute("onload",s_onLoad)}}document.getElementsByTagName("head")[0].appendChild(e)},getObjectClass:function(obj){if(obj&&obj.constructor&&obj.constructor.toString){var arr=obj.constructor.toString().match(/function\s*(\w+)/);if(arr&&arr.length==2){return arr[1]}}return undefined},dump:function(arr,max_level,level,item_path){var dumped_text="";if(!level){level=0;item_path=".";dumped_text+="[object: "+this.getObjectClass(arr)+"]\n"}var level_padding="";for(var j=0;j<level+1;j++){level_padding+="    "}if(typeof(arr)=="object"){var n=0;for(var item in arr){n++;try{var value=arr[item];if(value===null){dumped_text+=level_padding+"'"+item+"' => NULL \n"}else{if(typeof(value)=="object"){dumped_text+=level_padding+"'"+item+"' [object: "+this.getObjectClass(value)+"]";if(level<max_level){dumped_text+="\n";dumped_text+=dump(value,max_level,level+1,item_path+item+".")}else{dumped_text+=" (nesting level exceeded)\n"}}else{if(typeof(value)=="unknown"){dumped_text+=level_padding+"'"+item+"' => UNKNOWN ... \n"}else{if(typeof(value)=="function"){dumped_text+=level_padding+"'"+item+"' => function() ... \n"}else{if(typeof(value)=="string"){dumped_text+=level_padding+"'"+item+"' => \""+value+'"\n'}else{if(typeof(value)=="number"){dumped_text+=level_padding+"'"+item+"' => "+value+"\n"}else{if(typeof(value)=="boolean"){dumped_text+=level_padding+"'"+item+"' => "+(value?"true":"false")+"\n"}else{dumped_text+=level_padding+"'"+item+"' => \""+value+'"\n'}}}}}}}}catch(e){dumped_text+=level_padding+"'"+item+"' => INACCESIBLE \n"}}if(n==0){dumped_text+=level_padding+'toString(): => "'+arr.toString()+'"\n'}}else{dumped_text+=level_padding+'"'+arr+'" ('+typeof(arr)+")\n"}return dumped_text}};Object.extend(String.prototype,{trimfast:function(){var str=this.replace(/^\s\s*/,""),ws=/\s/,i=str.length;while(ws.test(str.charAt(--i))){}return str.slice(0,i+1)}});Object.extend(Array.prototype,{grep:function(cb_filter){var len=this.length;if(typeof cb_filter!="function"){throw new TypeError()}var res=new Array();var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this){var val=this[i];if(cb_filter.call(thisp,val,i,this)){res.push(val)}}}return res}});
