function namespace(ns,separator){if(typeof(separator)=="undefined"){separator="."}var nsParts=ns.split(separator);var parent=window;for(var idx=0;idx<nsParts.length;idx++){parent[nsParts[idx]]=parent[nsParts[idx]]||{};parent=parent[nsParts[idx]]}}namespace("UPC.util");namespace("UPC.widget");namespace("UPC.apps");UPC.util.Cookie=function(){function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" "){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length)}}return null}function readToJson(name){var value=readCookie(name);if(null!=value){var json=unescape(value);json=json.evalJSON();return json}return null}function writeCookieJ(name,value,days,path,domain){value=escape(value.toJSON());writeCookie(name,value,days,path,domain)}function writeCookie(name,value,days,path,domain){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString()}else{var expires=""}if(typeof(path)=="undefined"){path="/"}if(typeof(domain)=="undefined"){domain=""}document.cookie=name+"="+value+expires+"; path="+path+(domain!=""?"; domain="+domain:"")}function deleteCookie(name){writeCookie(name,"",-1)}return{read:readCookie,readJ:readToJson,write:writeCookie,writeJ:writeCookieJ,"delete":deleteCookie}}();UPC.util.Popup=Class.create({popup_attribs:"",popup_name:"",initialize:function(className){if(arguments[1]){Object.extend(this,arguments[1])}var elements=document.getElementsByClassName(className);if(elements!=null){$A(elements).each(this.add_click_event.bind(this))}},show_popup:function(e){var element=Event.element(e);if(element=Event.findElement(e,"A")){if(Element.hasClassName(element,"ch_popup")){attribs=this.get_attribs(element)||this.popup_attribs;window.open(element.href,this.popup_name,attribs)}}if(e.preventDefault){e.preventDefault()}return false},add_click_event:function(element,i){Event.observe(element,"click",this.show_popup.bindAsEventListener(this))},get_attribs:function(element){attribs="";classNames=Element.classNames(element);if($A(classNames).length>0){$A(classNames).each(function(className,i){if(matches=/w_([1-9][0-9]*)/gi.exec(className)){attribs+="width="+matches[1]+","}if(matches=/h_([1-9][0-9]*)/gi.exec(className)){attribs+="height="+matches[1]+","}if(matches=/top_([1-9][0-9]*)/gi.exec(className)){attribs+="top="+matches[1]+","}if(matches=/left_([1-9][0-9]*)/gi.exec(className)){attribs+="left="+matches[1]+","}if(className=="toolbar"){attribs+="toolbar=1,"}if(className=="scroll"){attribs+="scrollbars=1,"}if(className=="resize"){attribs+="resizable=1,"}if(className=="location"){attribs+="location=1,"}if(className=="menu"){attribs+="menu=1,"}if(className=="status"){attribs+="status=1,"}})}if(attribs){return attribs.substring(0,attribs.length-1)}else{return false}}});var PopupHandler=UPC.util.Popup;UPC.util.Error=function(){if(typeof Prototype=="undefined"){throw"UPC.util.Error: could not find required components."}var showToUser=true;var errorTemplate=new Template("<h3>#{title}</h3><p>#{msg}</p>");function raise(msg,title){if(typeof(UPC.widget.modalWindow)!="undefined"){if(typeof title=="undefined"||title==""){title=UPC.util.Localization.getString("error.default_title")}var content=errorTemplate.evaluate({title:title,msg:msg});new UPC.widget.modalWindow.Alert(content,{destroyOnClose:true,width:552,height:"auto",id:"error",className:"error",okButton:{label:"",show:true}}).show()}else{alert(title+":"+msg)}}return{raise:raise}}();UPC.util.Configuration=function(){var config={};function initialize(configObj){if(typeof(configObj)!="undefined"){config=configObj}}function addConfig(key,obj){if(typeof(obj)=="object"){configObj={};configObj[key]=obj;Object.extend(config,configObj);return true}else{return false}}function getConfigValue(key){key=key.split(".");var result=config;for(var part=0;part<key.length;part++){result=result[key[part]]}if(typeof(result)!="undefined"){return result}return null}return{init:initialize,setConfig:addConfig,getConfigValue:getConfigValue}}();UPC.util.Localization=function(){var defaultOptions={localeBasePath:new Template("/script/locales/#{locale}/#{application}.js"),application:"default"};var options={};var strings={};var locale="";function initialize(l,userOptions){Object.extend(options,defaultOptions);if(typeof(userOptions)!="undefined"){Object.extend(options,userOptions)}setLocale(l);return this}function setStrings(transport){if(typeof(transport.responseJSON)!="undefined"){strings=Object.extend(strings,transport.responseJSON)}}function getLocaleString(key){key=key.split(".");var result=strings[locale];if(isLoaded(locale)){for(var part=0;part<key.length;part++){result=result[key[part]]}}if(typeof(result)=="string"){return result}return""}function getLocale(){return locale}function setLocale(l){if(!isLoaded(l)){var path=options.localeBasePath.evaluate({application:options.application,locale:l});new Ajax.Request(path,{method:"get",onComplete:setStrings,onFailure:raiseException,onException:raiseException,evalJSON:"force"})}locale=l;return l}function isLoaded(locale){if(typeof strings[locale]!="undefined"){return true}else{return false}}function raiseException(){UPC.util.Error.raise("Locale could not be loaded.",9000)}return{init:initialize,getString:getLocaleString,isLoaded:isLoaded,getLocale:getLocale,setLocale:setLocale}}();var mediaplayer=Class.create();mediaplayer.prototype={url:"",width:"",height:"",options:null,DefaultOptions:{uiMode:"full",autoStart:"true",volume:"100"},initialize:function(url,width,height,options){this.options=Object.extend({},this.DefaultOptions);if(typeof options=="object"){Object.extend(this.options,options)}this.options.filename=url;this.options.URL=url;this.width=parseInt(width);this.height=parseInt(height);document.write(this.display())},display:function(){var ie=(document.all?true:false);var html="";html+='<object id="MediaPlayer"';html+=(ie?' classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"':' type="application/x-mplayer2"');html+=' style="width:'+this.width+"px;height:"+this.height+'px">\n';for(var name in this.options){html+='<param name="'+name+'" value ="'+this.options[name]+'" />\n'}html+="</object>";return html}};Event.observe(window,"load",function(){$$(".flashContainer").each(function(obj){var id=obj.readAttribute("id");var swfConfig=window.upcSwfConf[id];swfobject.embedSWF(swfConfig.swfUrl,id,swfConfig.width,swfConfig.height,swfConfig.version,"/media/pc/flash/expressInstall.swf",swfConfig.flashVars,swfConfig.params,swfConfig.attributes)})});namespace("UPC.util");UPC.util.Flash=Class.create({url:"",width:"",height:"",no_flash:"",version:["8","*","*"],options:null,DefaultOptions:{wmode:"transparent",quality:"high",salign:"tl"},initialize:function(url,width,height,no_flash,options,version){this.options=Object.extend({},this.DefaultOptions);if(typeof options=="object"){Object.extend(this.options,options)}this.options.movie=url;this.options.base=url.substring(0,url.lastIndexOf("/")+1);this.width=parseInt(width);this.height=parseInt(height);this.no_flash=no_flash;this.version=version||this.version;if(this.check()){document.write(this.display())}else{document.write(this.no_flash)}},check:function(){var flash_NS=false;var flash_IE=false;var flashVersion=false;if(navigator.plugins&&navigator.plugins.length>0){for(i=0;i<navigator.plugins.length;i++){plugin=navigator.plugins[i];if(new RegExp(/Shockwave Flash(.*)/gi).test(plugin.description)){flash_NS=true;flashVersion=new RegExp(/Shockwave Flash (.*)\.(.*) r(.*)/gi).exec(plugin.description);flashVersion=[flashVersion[1],flashVersion[2],flashVersion[3]]}}}else{try{obj=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+this.version[0]);if(obj){flash_IE=true;flashVersion=obj.getVariable("$version");flashVersion=flashVersion.split(",");if(flashVersion[0].indexOf(" ")>-1){flashVersion[0]=flashVersion[0].split(" ")[1]}delete obj}}catch(e){return false}}if(flash_NS||flash_IE&&(flashVersion!=false)){return((parseInt(flashVersion[0])>parseInt(this.version[0]))||(parseInt(flashVersion[0])==parseInt(this.version[0])&&(this.version[1]=="*"||parseInt(flashVersion[1])>parseInt(this.version[1])))||(parseInt(flashVersion[0])==parseInt(this.version[0])&&(this.version[2]=="*"||parseInt(flashVersion[1])==parseInt(this.version[1])&&parseInt(flashVersion[2])>parseInt(this.version[2]))))}return false},display:function(){var ie=(document.all?true:false);var html="";if(typeof this.version=="object"){html+="<object";html+=(ie?' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"':' type="application/x-shockwave-flash"');html+=(ie?' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"':"");html+=' data="'+this.options.movie+'"';html+=' style="width:'+this.width+"px;height:"+this.height+'px">\n';for(var name in this.options){html+='<param name="'+name+'" value ="'+this.options[name]+'" />\n'}html+=this.no_flash+"\n";html+="</object>";return html}else{throw"Illegal version parameter (not an array)."}}});var flash=UPC.util.Flash;
