vmf.ns.use("psz");
psz.STATE_COOKIE="pszState";
psz.TRAILS_COOKIE="pszTrails";
psz.PROMO_COOKIE="pszPromo";
psz.REGION_COOKIE="pszGeoPreference";
psz.GENERAL_COOKIE_EXPIRE=30;
psz.rules=[];
psz.states={};
psz.Rule=function(r){
this.id=r.id;
this.lmDate=r.lmDate;
this.expire=r.expire;
this.def=r.def;
};
psz.Rule.prototype.initState=function(){
var _2=[];
for(var i in this.def.conditions){
_2.push("0");
}
return _2.join("");
};
psz.Rule.prototype.process=function(){
for(var i in this.def.conditions){
this.i=i;
this.bindCondition();
}
};
psz.Rule.prototype.isSatisfied=function(_5){
var _6=psz.states[this.id].toString();
if(_5){
return _6.charAt(_5)=="1";
}
for(var i=0;i<_6.length;i++){
if(_6.charAt(i)=="0"){
return false;
}
}
return true;
};
psz.Rule.prototype.bindCondition=function(){
switch(this.def.conditions[this.i].obj.type){
case "cookie":
psz.cookie.handle(this);
break;
}
};
psz.Rule.prototype.updateState=function(_8){
psz.states[this.id]=vmf.string.setCharAt(psz.states[this.id],this.i,(_8||"1"));
if(this.isSatisfied()){
this.fireActions();
}
};
psz.Rule.prototype.fireActions=function(){
var _9=this.def.actions;
var _a=psz.func;
var _b=psz.localActions[this.id];
for(var i in _9){
var a=_9[i];
if(a.scope=="global"||(_b&&vmf.array.contains(i,vmf.array.txtToAry(_b)))){
_a[a.func](a.param);
}
}
};
psz.init=function(){
psz.initRules();
if(!psz.localActions){
psz.localActions={};
}
psz.states=eval(vmf.json.txtToObj(vmf.cookie.read(psz.STATE_COOKIE)))||{};
for(var i in psz.rules){
var _f=psz.rules[i];
if(!psz.states[_f.id]){
psz.states[_f.id]=_f.initState();
}
_f.process();
}
psz.cookie.write(psz.STATE_COOKIE,vmf.json.objToTxt(psz.states));
};
vmf.dom.onload(psz.init);
psz.addRule=function(r){
psz.rules.push(new psz.Rule(r));
};
psz.utility={};
psz.utility.appendTrails=function(_11){
var c=vmf.cookie.read(psz.TRAILS_COOKIE);
var _13=[];
if(c){
_13=vmf.array.txtToAry(c);
}
if(!vmf.array.contains(_11,_13)){
_13.push(_11);
}
psz.cookie.write(psz.TRAILS_COOKIE,vmf.array.aryToTxt(_13));
};
psz.func={};
psz.func.modifyContent=function(_14){
var _15=psz.service;
var _16=_15[_14.service](_14.serviceParam);
if(_16){
vmf.dom.setHtml(_14.target,_16);
vmf.dom.id(_14.target).style.visibility="";
}
};
psz.func.modifyCookie=function(_17){
var _18=psz.service;
_18[_17.service](_17.serviceParam);
};
psz.func.redirect=function(_19){
var url=_19.url||psz.service[_19.service]();
if(!url){
return;
}
switch(_19.target){
case "new":
window.open(url);
break;
default:
document.location=url;
}
};
psz.cookie={};
psz.cookie.contains=function(_1b){
var _1c=_1b.def.conditions[_1b.i].obj.id;
var val=_1b.def.conditions[_1b.i].event.param;
vmf.dom.onload(function(){
var c=vmf.cookie.read(_1c);
var s=false;
if(c){
if(c==val){
s=true;
}else{
var _20=array.txtToAry(c);
s=vmf.array.contains(val,_20);
}
}
_1b.updateState((s?"1":"0"));
});
};
psz.cookie.exists=function(_21){
var _22=_21.def.conditions[_21.i].obj.id;
vmf.dom.onload(function(){
var c=vmf.cookie.read(_22);
_21.updateState((c?"1":"0"));
});
};
psz.cookie.handle=function(_24){
psz.cookie[_24.def.conditions[_24.i].event.name](_24);
};
psz.cookie.write=function(_25,val,_27){
var _28=_27||psz.GENERAL_COOKIE_EXPIRE;
vmf.cookie.write(_25,val,_28);
};
psz.service={};
psz.service.getHeroService=function(_29){
switch(_29){
case "vi3":
return "<a href=\"/tryvmware/login.php?eval=vi3&src=WWW_08Q3_hero_eval_vi3\"><img width=\"720\" height=\"216\" src=\"/files/images/home/hero_hp-vi3.jpg\"/></a>";
default:
return null;
}
};
psz.service.deleteCookie=function(obj){
var _2b=function(){
vmf.cookie.clear(obj.cookieName);
};
switch(obj.when){
case "unload":
vmf.dom.unload(_2b);
break;
default:
_2b();
}
};
psz.service.setCookieExpire=function(obj){
if(vmf.cookie.read(obj.cookieName)){
vmf.cookie.write(obj.cookieName,vmf.cookie.read(obj.cookieName),obj.expire);
}
};
psz.service.writeCookie=function(obj){
vmf.cookie.write(obj.cookieName,obj.value,obj.expire);
};
psz.service.appendCookie=function(obj){
var _2f=vmf.cookie.read(obj.cookieName);
if(!_2f){
psz.service.writeCookie(obj);
}else{
var _30=vmf.array.txtToAry(_2f);
if(!vmf.array.contains(obj.value,_30)){
_30.push(obj.value);
}
vmf.cookie.write(obj.cookieName,vmf.array.aryToTxt(_30),obj.expire);
}
};
psz.service.getRegionalUrl=function(){
var _31=vmf.cookie.read(psz.REGION_COOKIE);
switch(_31){
case "brazil":
return "/br";
case "china":
return "/cn/";
case "france":
return "/fr/";
case "germany":
return "/de/";
case "italy":
return "/it/";
case "japan":
return "/jp/";
case "korea":
return "/kr/";
case "latin-america":
return "/lasp/";
case "russia":
return "/ru/";
case "switzerland-german":
return "/ch/";
case "taiwan-traditional-chinese":
return "/tw/";
default:
return null;
}
};
