Boxalino={Attributes:function(httpClass,url,callback,scope){return {callback:callback,ctps:{},d:null,getAttributes:function(ctp){if(ctp){if(this.ctps[ctp])return this.ctps[ctp].al;return {};}if(this.d)return this.d.al;return {};},getCount:function(ctp){if(ctp){if(this.ctps[ctp])return this.ctps[ctp].lc;return 0;}if(this.d)return this.d.lc;return 0;},http:null,httpClass:httpClass,load:function(customer,language,ctp){var params={dn:customer,ln:language};if(ctp)params.ctp=ctp;if(this.ctps[ctp])this.onLoad(true,this.ctps[ctp],params);else{if(this.http==null)this.http=new this.httpClass(this.onLoad,this);this.http.get(this.url,params);}},onLoad:function(success,data,params){if(success)if(params.ctp)this.ctps[params.ctp]=data;else this.d=data;else if(params.ctp)this.ctps[params.ctp]=null;else this.d=null;if(this.callback)this.callback.call(this.scope,this,params.ctp);},scope:scope,url:url};},CrossHttp:function(callback,scope){return {callback:callback,get:function(url,params){if(Boxalino.info.ie())if(params)params.__msie=new Date().getTime();else params={__msie:new Date().getTime()};var id=Boxalino.CrossHttpId++;var cgi='?__id='+id;if(params)for(var i in params)cgi+='&'+encodeURIComponent(i)+'='+encodeURIComponent(params[i]);Boxalino.CrossHttpMap[id]={callback:this.onResponse,params:params,scope:this};Boxalino.CrossHttpMap[id].script=new Boxalino.XmlWriter(document).append({attrs:{id:'script-'+id,src:url+cgi,type:'text/javascript'},name:'script'});},onResponse:function(id,data,params){document.body.removeChild(Boxalino.CrossHttpMap[id].script);delete Boxalino.CrossHttpMap[id];this.callback.call(this.scope,true,data,params);},scope:scope};},CrossHttpCall:function(id,data){var ref=Boxalino.CrossHttpMap[id];if(ref)ref.callback.call(ref.scope,id,data,ref.params);},CrossHttpId:0,CrossHttpMap:{},Http:function(callback,scope,sync){return {allocate:function(){if(Boxalino.info.ie()){var activex=['MSXML3.XMLHTTP','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','MICROSOFT.XMLHTTP.1.0','MICROSOFT.XMLHTTP.1','MICROSOFT.XMLHTTP'];for(var i=0;i<activex.length;i++)try{return new ActiveXObject(activex[i]);}catch(e){;}}if(typeof XMLHttpRequest!='undefined')return new XMLHttpRequest();return null;},async:sync?false:true,callback:callback,get:function(url,params){var http=this.allocate();if(!http)return false;if(Boxalino.info.ie())if(params)params.__msie=new Date().getTime();else params={__msie:new Date().getTime()};var cgi='';if(params)for(var i in params){if(cgi.length>0)cgi+='&';else cgi+='?';cgi+=encodeURIComponent(i)+'='+encodeURIComponent(params[i]);}http.open('GET',url+cgi,this.async);var thisScope=this;var thisParams=params;http.onreadystatechange=function(){if(!thisScope.onResponse(http,thisParams))http.abort();};http.send(null);return true;},onResponse:function(http,params){switch(http.readyState){case 4:if(http.responseText)this.callback.call(this.scope,true,eval('('+http.responseText+')'),params);else this.callback.call(this.scope,false,null,params);break;}return true;},scope:scope};},ICC:function(id,path,width,height,configurationType,configurationPath,backgroundColor,playIntro,systemCodePage){return {addListener:function(id,listener,scope){this.listeners[id]={f:listener,s:scope};},backgroundColor:backgroundColor?backgroundColor:'#ffffff',calls:{},configurationPath:configurationPath,configurationType:configurationType,create:function(configurationType,configurationPath){var icc=document[this.id];if(configurationType)this.configurationType=configurationType;if(configurationPath)this.configurationPath=configurationPath;return this.fsCall(['loaded','destroyed'],'create',{iccCreateHeight:this.height,iccCreatePath:this.configurationPath,iccCreateType:this.configurationType,iccCreateWidth:this.width,iccPlayIntro:this.playIntro?'true':'false',iccSystemCodePage:this.systemCodePage?'true':'false'});},destroy:function(){return this.fsCall(['configured'],'destroy',{});},fsAccept:function(states){for(var i in states)if(this.state==states[i])return true;return false;},fsCall:function(states,name,variables){if(!this.locks[name]&&this.fsAccept(states)){this.fsDirectCall(name,variables);return true;}if(!this.calls[name])this.calls[name]=new Array();this.calls[name].push({states:states,variables:variables});return false;},fsCommand:function(name,parameter){var lockChanged=false;switch(name){case 'iccState':this.state=parameter;switch(this.state){case 'loaded':this.create();break;case 'configuring':this.locks['create']=false;lockChanged=true;break;case 'destroyed':this.calls={};this.locks={};lockChanged=true;break;}break;case 'iccRequest':case 'iccAction':this.locks[parameter]=false;lockChanged=true;break;}if(lockChanged)for(var name in this.calls)if(!this.locks[name]&&this.calls[name].length>0){var call=this.calls[name].shift();if(this.fsAccept(call.states))this.fsDirectCall(name,call.variables);else this.calls[name].unshift(call);}this.notifyListeners(name,parameter);},fsDirectCall:function(name,variables){var icc=document[this.id];this.locks[name]=true;for(var variable in variables)if(variable!=null&&variables[variable]!=null)icc.SetVariable(variable,variables[variable]);icc.TCallLabel('/core/',name);},height:height,hideZone:function(name){return this.fsCall(['configured'],'hideZone',{iccHideZoneName:name});},id:id,init:function(){if(this.state==null){this.state='initialized';eval('window.'+this.id+'_DoFSCommand_this = this;');eval('window.'+this.id+'_DoFSCommand = function(name, parameter) { '+this.id+'_DoFSCommand_this.fsCommand(name, parameter); };');if(Boxalino.info.ie()){document.write("<script language=\"VBScript\" >\n");document.write("on error resume next\n");document.write('Sub '+this.id+"_FSCommand(ByVal name, ByVal parameters)\n");document.write("\tcall "+this.id+"_DoFSCommand(name, parameters)\n");document.write("end sub\n");document.write('</script>');}document.write('<object id="'+this.id+'" width="'+this.width+'" height="'+this.height+'" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">');document.write('<param name="allowScriptAccess" value="always" />');document.write('<param name="movie" value="'+this.path+'" />');document.write('<param name="quality" value="high" />');document.write('<param name="bgcolor" value="'+this.backgroundColor+'" />');document.write('<embed name="'+this.id+'" width="'+this.width+'" height="'+this.height+'" src="'+this.path+'" type="application/x-shockwave-flash" bgcolor="'+this.backgroundColor+'" quality="high" allowScriptAccess="always" swLiveConnect="true" pluginspage="http://www.macromedia.com/go/getflashplayer" />');document.write('</object>');return true;}return false;},interact:function(parameters){var variables={};var i=0;if(parameters)for(var key in parameters){i++;variables['iccInteractKey'+i]=key;variables['iccInteractVal'+i]=parameters[key];}variables.iccInteractCount=i;return this.fsCall(['configured'],'interact',variables);},jump:function(name,parameters){if(parameters)parameters.iccName=name;else parameters={iccName:name};return this.notify('jump',parameters);},listeners:{},locks:{},notify:function(name,parameters){var variables={iccNotifyName:name};var i=0;if(parameters)for(var key in parameters){i++;variables['iccNotifyKey'+i]=key;variables['iccNotifyVal'+i]=parameters[key];}variables.iccNotifyCount=i;return this.fsCall(['configured'],'notify',variables);},notifyListeners:function(name,parameters){for(var i in this.listeners){var l=this.listeners[i];if(l&&l.f)l.f.call(l.s,name,parameters);}},path:path,playAnimation:function(zone,name){return this.fsCall(['configured'],'playAnimation',{iccAnimationName:name,iccAnimationZone:zone});},playIntro:playIntro,playSound:function(zone,name){return this.fsCall(['configured'],'playSound',{iccSoundName:name,iccSoundZone:zone});},removeListener:function(id){if(this.listeners[id])delete this.listeners[id];},resetFilters:function(domain,filters){var parameters={};for(var filterIndex in filters)parameters[filters[filterIndex]]=1;parameters.iccDomain=domain;return this.notify('resetFilters',parameters);},search:function(domain,query){return this.notify('search',{iccDomain:domain,iccQuery:query});},setFilters:function(domain,filters){filters.iccDomain=domain;return this.notify('setFilters',filters);},showZone:function(name){return this.fsCall(['configured'],'showZone',{iccShowZoneName:name});},state:null,systemCodePage:systemCodePage,viewSolution:function(domain,solution){return this.notify('viewSolution',{iccDomain:domain,iccSolution:solution});},width:width};},Solution:function(index,id,title,content){return {content:content,id:id,index:index,title:title};},SolutionList:function(httpClass,url,callback,scope){return {callback:callback,d:null,getCtp:function(){if(this.d)return this.d.ctp;return '';},getFilters:function(){if(this.d)return this.d.fl;return {};},getOffset:function(){if(this.d)return this.d.go;return 0;},getPageCount:function(){if(this.d)return this.d.pc;return 0;},getPageIndex:function(){if(this.d)return this.d.pi;return 0;},getPageSize:function(){if(this.d)return this.d.ps;return 10;},getSize:function(){if(this.d)return this.d.sl.length;return 0;},getSolutionAt:function(index){if(this.d.sl[index]){var s=this.d.sl[index];return new Boxalino.Solution(s.ix,s.id,s.st,null);}return null;},getTotalSize:function(){if(this.d)return this.d.gs;return 0;},http:null,httpClass:httpClass,load:function(customer,language,pageIndex,pageSize,ctp){if(!this.loading){var params={dn:customer,ln:language,pi:pageIndex?pageIndex:0,ps:pageSize?pageSize:10};if(ctp)params.ctp=ctp;this.loading=true;if(this.http==null)this.http=new this.httpClass(this.onLoad,this);this.http.get(this.url,params);}},loading:false,onLoad:function(success,data,params){if(success)this.d=data;else this.d=null;if(this.callback)this.callback.call(this.scope,this);this.loading=false;},scope:scope,url:url};},SolutionLoader:function(httpClass,url,callback,scope){return {callback:callback,d:null,getCtp:function(){if(this.d)return this.d.ctp;return '';},getFilters:function(){if(this.d)return this.d.fl;return {};},getId:function(){if(this.d)return this.d.id;return '';},getTitle:function(){if(this.d)return this.d.st;return '';},http:null,httpClass:httpClass,load:function(customer,language){if(!this.loading){var params={dn:customer,ln:language};this.loading=true;if(this.http==null)this.http=new this.httpClass(this.onLoad,this);this.http.get(this.url,params);}},loading:false,onLoad:function(success,data,params){if(success)this.d=data;else this.d=null;if(this.callback)this.callback.call(this.scope,this);this.loading=false;},scope:scope,url:url};},XmlWriter:function(parent){return {append:function(def){var el=this.create(def);this.parent.appendChild(el);return el;},clear:function(){while(this.parent.lastChild!=null)this.parent.removeChild(this.parent.lastChild);},create:function(def){if(typeof def=='object'){var el=this.doc.createElement(def.name);if(Boxalino.info.ie()&&def.ieattrs)for(var i in def.ieattrs)def.attrs[i]=def.ieattrs[i];if(def.attrs)if(Boxalino.info.ie())for(var i in def.attrs)switch(i.toLowerCase()){case 'class':el.setAttribute('className',def.attrs[i]);break;case 'style':el.style.cssText=def.attrs[i];break;default:el.setAttribute(i,def.attrs[i]);break;}else for(var i in def.attrs)el.setAttribute(i,def.attrs[i]);if(def.events)if(Boxalino.info.ie())for(var i in def.events)switch(i){case 'click':el.onclick=def.events[i];break;case 'change':el.onchange=def.events[i];break;default:alert('unsupported event : '+i);break;}else for(var i in def.events)el.addEventListener(i,def.events[i],false);if(def.subs)if(typeof def.subs=='object')for(var i in def.subs){var sub=def.subs[i];el.appendChild(this.create(sub));}else el.appendChild(this.create(def.subs));return el;}return this.doc.createTextNode(def.toString());},doc:parent.ownerDocument,parent:parent};},info:{agent:navigator.userAgent?navigator.userAgent.toLowerCase():'',gecko:function(){return this.agent.indexOf('gecko')>=0;},ie:function(){return this.agent.indexOf('msie')>=0;},linux:function(){return this.platform.indexOf('linux')>=0;},mac:function(){return this.platform.indexOf('mac')>=0;},opera:function(){return this.agent.indexOf('opera')>=0;},platform:navigator.platform?navigator.platform.toLowerCase():'',safari:function(){return this.agent.indexOf('safari')>=0;},windows:function(){return this.platform.indexOf('win')>=0;}}};

