/*
	Copyright (c) 2004-2008, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/book/dojo-book-0-9/introduction/licensing
*/


if(dojo.version.flag!=="macde"){
dojo.registerModulePath("site","/js/v1/site");
}
dojo.require("generic.img");
dojo.require("site.cart");
dojo.require("generic._base");
dojo.require("generic.flashx");
dojo.require("site.popupMessage");
dojo.require("site.bottomFixed");
dojo.require("generic.menu");
var cartStatus={};
var global={cartHandler:new site.cart(),playerversion:null};
if(navigator.userAgent.indexOf("Macintosh")!=-1){
global.playerversion="10.0.0";
}
dojo.addOnLoad(function(){
heightHandler.init();
cartStatus.init();
utilitynav.init();
if(dojo.isIE==6){
var _1=new site.bottomFixed({node:dojo.byId("footernav")});
}
var _2=new site.bottomFixed({node:dojo.byId("utilitynav"),minTop:450});
var _3=new generic.menu({menu:"countries_container",target:"countries_hd"});
dojo.query("img.rollover").forEach(function(_4){
var _5=new generic.rollover(_4,null);
});
initLiveChatPopup("gnav_popup_live_chat");
initLiveChatPopup("popup_live_chat");
initLiveChatPopup("popup_live_chat_2");
});
cartStatus={doCartRefresh:false,init:function(){
this.countNode=dojo.byId("global_cart_count");
this.cartHandler=global.cartHandler;
this.updateCount();
var _6=dojo.byId("shopping_bag_items");
if(_6){
dojo.removeClass(_6,"hidden");
}else{
return;
}
var _7=this;
dojo.subscribe("/page/cart/alterCart",this,function(_8){
_7.onAlterCart(_8);
});
},onAlterCart:function(_9){
this.updateCount();
if(_9.action==="add"&&_9.cartType==="checkout"){
this.doCartRefresh=true;
if(dojo.global.mymacNav){
dojo.global.mymacNav.handlePanelRefresh({event:"alter_cart"});
}
}
},updateCount:function(){
if(this.countNode){
var _a=this.cartHandler.getItemCount();
this.countNode.innerHTML=_a;
}
}};
heightHandler={pagetype:null,min:620,winh:0,bodyh:0,bodyhOriginal:0,bodyhWithoutPanel:0,offset:0,isCMS:false,spacer:null,excludeOnResize:["color_play"],excludeOnload:["color_play","locator"],isLoading:false,isResizing:false,timer:null,isIE6:false,hasCMSLayers:false,init:function(){
this.hasCMSLayers=(dojo.query(".cms_layer","main_content_td").length>0);
if(this.hasCMSLayers){
this.cmsCleanup();
}
var _b=dojo.byId("globalnav_container");
if(!_b){
return;
}
var _c=dojo.byId("column_spacer");
if(dojo.isIE==6){
this.isIE6=true;
var _d=dojo.byId("color_nav_td");
_c=(_d?_d:_c);
}
this.spacer=_c;
this.setPageType();
var _e=dojo.byId("footernav");
this.offset=(_e?_e.offsetHeight:this.offset);
this.winh=this.getWindowHeight();
if(this.winh<=this.offset){
this.winh=(this.offset*2);
}
if(this.pagetype!=="home"){
this.bodyhOriginal=this.getBodyHeight();
this.bodyh=this.bodyhOriginal;
}
this.onLoad();
dojo.subscribe("/panelnav/event/show",this,function(_f){
var _10=(_f.type==="accordion"?true:false);
if(!_10){
try{
_10=dijit.byId(_f.subId).hasLoaded;
}
catch(err){
}
}
if(_10){
this.onPanel("show",_f);
}
});
dojo.subscribe("/globalnav/event/getcontent/onload",this,function(_11){
try{
_11.id=dijit.byId(_11.parentId).panelId;
}
catch(err){
}
if(_11.id){
this.onPanel("show",_11);
}
});
dojo.subscribe("/panelnav/event/hide",this,function(_12){
this.onPanel("hide",_12);
});
if(dojo.indexOf(this.excludeOnResize,this.pagetype)==-1){
dojo.connect(window,"onresize",this,"onResize");
}
this.isLoading=false;
},cmsCleanup:function(){
var _13=[];
dojo.forEach(dojo.query(".cms_layer","main_content_td"),function($_){
pushNew(_13,$_.parentNode);
});
dojo.forEach(_13,function($_){
if(!dojo.hasClass($_,"noCMSCleanup")){
parseCMSLayers($_);
}
});
function parseCMSLayers(_16){
var _17=false;
if(dojo.hasClass(_16,"hidden")){
_17=true;
_16.origLeft=_16.style.left;
_16.style.left="-5000px";
dojo.removeClass(_16,"hidden");
}
var _18=dojo.query(".cms_layer",_16);
try{
var _19=_18.sort(function(a,b){
return parseInt(a.style.top)-parseInt(b.style.top);
});
}
catch(e){
var _1c=[];
for(var i=0;i<_18.length;i++){
_1c.push(_18[i]);
}
try{
var _19=_1c.sort(function(a,b){
return parseInt(a.style.top)-parseInt(b.style.top);
});
}
catch(e){
}
}
if(!_19){
console.log("parseCMSLayers: output is null");
return;
}
var _20=[];
var _21=[];
_20[0]=[];
var _22=0;
var _23=0;
for(var i=0;i<_19.length;i++){
_19[i].style.height="auto";
_19[i].cmsTop=parseInt(_19[i].style.top);
_19[i].actualHeight=parseInt(_19[i].clientHeight);
_19[i].impliedTopMargin=(i==0)?_19[i].cmsTop:_19[i].cmsTop-_19[i-1].cmsTop-_19[i-1].actualHeight;
_23=(i==0)?_19[i].style.top:_19[i-1].style.top;
if(_19[i].style.top==_23){
}else{
_20[_22]=_20[_22].sort(function(a,b){
return parseInt(a.style.left)-parseInt(b.style.left);
});
_22++;
_20[_22]=[];
}
_20[_22].push(_19[i]);
}
_20[_22]=_20[_22].sort(function(a,b){
return parseInt(a.style.left)-parseInt(b.style.left);
});
var o={};
var css="";
var _2a=(_16.id=="main_content_td")?476:0;
for(var i=0;i<_20.length;i++){
for(var j=0;j<_20[i].length;j++){
o=_20[i][j];
css="position:relative;";
css+="width:"+o.style.width+";";
css+="height:"+o.actualHeight+"px;";
css+="margin-left:"+(parseInt(o.style.left)-_2a)+"px;";
css+="margin-top:"+o.impliedTopMargin+"px;";
o.style.cssText=css;
_16.appendChild(o);
}
}
if(_17){
dojo.addClass(_16,"hidden");
_16.style.left=_16.origLeft;
}
};
function pushNew(arr,o){
var n=true;
for(var i=0;i<arr.length;i++){
if(arr[i]==o){
n=false;
break;
}
}
if(n){
arr.push(o);
}
};
try{
var _30=(dojo.isSafari)?dojo.byId("color_nav_standalone"):dojo.byId("color_nav");
_30.style.height=(dojo.byId("main_table").scrollHeight+dojo.byId("footernav").clientHeight+50)+"px";
}
catch(e){
}
},onLoad:function(){
if(dojo.indexOf(this.excludeOnload,this.pagetype)>-1){
if(!this.isIE6){
return;
}else{
if(!dojo.byId("color_nav_container")){
return;
}
}
}
this.isLoading=true;
var h=(this.winh>this.min)?this.winh:this.min;
var _32=this.spacer;
if(this.pagetype==="home"){
h=(this.winh-this.offset);
this.spacer=_32=dojo.byId("main_content");
_32.style.height=h+"px";
}else{
if(!this.hasCMSLayers&&(h>=this.bodyh)){
_32.style.height=h+"px";
}
if(this.isIE6){
var _33=(dojo.isSafari)?dojo.byId("color_nav_standalone"):dojo.byId("color_nav");
if(_33){
var _34=(2800>this.bodyh)?2800:this.bodyh;
if(dojo.isIE){
_33.style.height=this.bodyh+"px";
}else{
if(dojo.isSafari){
_33.style.height=_34+"px";
}else{
setTimeout(function(){
_33.style.height=_34+"px";
},2000);
}
}
}
_32.style.height=this.bodyh+"px";
}else{
if(this.pagetype==="flash_browser"){
_32.style.height=h+"px";
}
}
}
this.bodyhOriginal=this.bodyh=this.bodyhWithoutPanel=h;
},setPageType:function(){
var pd=dojo.global.page_data;
if(this.pagetype){
type=this.pagetype;
}else{
try{
this.pagetype=pd.panel_nav["default"].id;
}
catch(err){
}
}
this.isCMS=(pd?pd.cms_generated:null);
},onPanel:function(_36,_37){
if(this.isResizing){
return;
}
var _38=_37.type;
var _39=_37.parentId;
if(_39==="globalnav_container"&&_38==="accordion"){
return;
}
var _3a=this.spacer;
var id=_37.id;
if(_38==="panel"){
this.activePanelId=id;
}
var _3c=this.activePanelId;
var _3d=dojo.byId(_3c);
if(!_3d){
return;
}
this.isResizing=true;
var _3e=this;
var _3f=function(){
if(_36==="hide"&&_38==="panel"){
var h=_3e.bodyhWithoutPanel;
if(h<_3e.winh){
h=_3e.winh;
}
_3a.style.height=h+"px";
_3e.bodyh=h;
}else{
if(_36==="show"){
var _41=_3d.offsetHeight;
if(_41>_3e.winh&&_41>_3e.bodyh){
_3a.style.height=_41+"px";
_3e.bodyh=_41;
}
}
}
_3e.isResizing=false;
};
setTimeout(_3f,600);
},onResize:function(){
if((this.isResizing||this.isLoading)&&!this.isIE6){
return;
}
var _42=this.getWindowHeight();
var _43=this.bodyh;
var _44=this.pagetype;
if(_42>_43){
this.doResize(_44,_42);
}else{
if(_44==="home"){
if((_42<this.min)&&(this.min>_43)){
this.doResize(_44,this.min);
}
}else{
if(this.isIE6){
_43=this.getBodyHeight();
if(_43!=this.bodyh){
this.doResize(_44,_43);
this.bodyh=_43;
}
}
}
}
this.winh=_42;
},doResize:function(_45,_46){
var _47=this.timer;
var _48=this.spacer;
var _49=this.offset;
var h=_46;
var _4b=this;
var _4c=function(){
if(_45==="home"){
h=(_46-_49);
}
_48.style.height=h+"px";
_4b.bodyh=_4b.bodyhWithoutPanel=h;
};
if(dojo.isIE){
if(_47){
clearTimeout(_47);
}
_47=setTimeout(_4c,300);
}else{
_4c();
}
},getBodyHeight:function(){
var h=dojo.body().scrollHeight;
return h;
},getWindowHeight:function(){
var h;
if(typeof window.innerHeight!=="undefined"){
h=window.innerHeight;
}else{
h=document.documentElement.clientHeight;
}
return h;
},getCMSHeight:function(){
var h=0;
var _50=dojo.query(".cms_layer","#main_content_td");
if(_50.length==0){
return 800;
}
var _51=_50[_50.length-1];
_51.style.height="auto";
var _52=parseInt(_51.clientHeight);
var _53=parseInt(_51.style.top);
h=(_52+_53+40);
return h;
}};
var utilitynav={formelements:{},buttonsets:{},init:function(){
var ns=dojo.query(".utilitynav_button","utilitynav");
var _55=this;
dojo.forEach(ns,function(_56){
var _57=_56.id.replace(/utilitynav_button_/g,"");
var _58=dojo.byId("utilitynav_form_"+_57);
var _59=dojo.query("input[type=text]",_58);
var _5a=dojo.query("input[type=image]",_58);
var _5b=_59[0];
var _5c=_5a[0];
if(_57&&_58&&_5b){
_55.buttonsets[_56.id]=_57;
_55.buttonsets[_5b.id]=_57;
_55.buttonsets[_5c.id]=_57;
_55.formelements[_57]={field:_5b.id,submit:_5c.id};
dojo.connect(_56,"onclick",_55,"showForm");
dojo.connect(_5b,"onblur",_55,"showButton");
_5c.isfocused=false;
_5c.onfocus=function(){
this.isfocused=true;
};
dojo.connect(_5c,"onblur",_55,"showButton");
}
});
if(this.formelements.email){
var _5d=dojo.byId(this.formelements.email.submit);
var _5e=dojo.byId(this.formelements.email.field);
}
if(this.formelements.locator){
var _5f=dojo.byId(this.formelements.locator.submit);
}
if(_5d&&_5e){
dojo.connect(_5d,"onclick",this,"validateEmail");
dojo.connect(_5e,"onkeypress",this,"validateEmail");
}
if(_5f){
dojo.connect(_5f,"onclick",this,"validateLocator");
}
},showForm:function(e){
var _61,_62;
var _63=e.currentTarget;
var _62=_63;
var _64=this.buttonsets[_63.id];
var _61=dojo.byId("utilitynav_form_"+_64);
this.toggle(_62,_61);
var _65=(this.formelements[_64]?dojo.byId(this.formelements[_64].field):null);
if(!_65){
return;
}
_65.focus();
_65.value="";
_65.isfocused=true;
},showButton:function(e){
var _67,_68;
var _69=e.currentTarget;
_69.isfocused=false;
var _6a=this.buttonsets[_69.id];
var _6b=this;
var _6c=dojo.byId(this.formelements[_6a].submit);
var _6d=dojo.byId(this.formelements[_6a].field);
var _6e=function(){
if(!_6c.isfocused&&!_6d.isfocused){
var _6f=dojo.byId("utilitynav_form_"+_6a);
var _70=dojo.byId("utilitynav_button_"+_6a);
_6b.toggle(_6f,_70);
}
};
setTimeout(_6e,200);
},toggle:function(_71,_72){
if(_71&&_72){
_71.style.display="none";
_72.style.display="block";
}
},validateEmail:function(e){
var _74=dojo.byId(this.formelements.email.field);
dojo.require("dojox.validate.web");
var _75;
if(e.type==="keypress"&&(e.keyCode!=dojo.keys.ENTER)){
return false;
}
if(dojox.validate.isEmailAddress(_74.value)){
_75=new site.popupMessage({popup:dojo.byId("pop_email_valid"),buttonClose:dojo.byId("pop_close_valid"),displayDuration:5000});
dojo.require("generic.jsonrpc");
var _76=[{EMAIL_ADDRESS:_74.value}];
var _77=new generic.jsonrpc();
var d=_77.callRemote("User.json_signup_for_email_wrapper",_76);
}else{
_75=new site.popupMessage({popup:dojo.byId("pop_email_invalid"),buttonClose:dojo.byId("pop_close_invalid"),displayDuration:5000});
}
_75.show();
dojo.stopEvent(e);
return false;
},validateLocator:function(e){
var _7a=dojo.byId(this.formelements.locator.field);
if(!_7a.value){
var _7b=new site.popupMessage({popup:dojo.byId("pop_location_invalid"),buttonClose:dojo.byId("pop_close_location"),displayDuration:5000});
_7b.show();
dojo.stopEvent(e);
return false;
}
}};
var colorNav={placeholder:"color_nav_placeholder",flashid:"color_nav",offW:8,onW:90,timer:null,embed:function(){
if(dojo.isSafari){
var cn=dojo.byId("color_nav_container");
if(cn){
cn.style.display="none";
}
this.placeholder="color_nav_placeholder_standalone";
this.flashid="color_nav_standalone";
}
var _7d={gradient_uri:"/flash/color_nav/assets/color_gradient.png",application_uri:"/flash/color_play/index.tmpl",application_query_string:"?colorplaysample="};
var _7e={quality:"high",menu:"false",swliveconnect:"true",allowscriptaccess:"always",scale:"noScale",allowfullscreen:"false",wmode:"transparent",movie:"/flash/color_nav/color_nav.swf",flashvars:dojo.objectToQuery(_7d)};
var _7f={id:this.flashid,name:this.flashid,data:"/flash/color_nav/color_nav.swf",width:this.offW,height:"100%",hspace:0,vspace:0,align:"top"};
if(global.playerversion){
_7f.playerversion=global.playerversion;
}
generic.flash.Api.embedSwf(_7f,_7e,this.placeholder);
},setWidth:function(e){
if(e=="mouseover"){
clearTimeout(colorNav.timer);
dojo.byId(this.flashid).style.width=this.onW+"px";
}else{
colorNav.timer=setTimeout(function(){
dojo.byId(colorNav.flashid).style.width=colorNav.offW+"px";
},600);
}
}};
function clearField(_81,_82){
_82=_82?_82:"";
_81.value=_82;
if(_81.createTextRange){
var rng=_81.createTextRange();
rng.move("character",0);
rng.select();
}else{
if(_81.selectionStart){
_81.focus();
_81.setSelectionRange(0,0);
}
}
};
var livechatPopArgs={url:"/includes/live_chat_popup.tmpl",resizable:"no",scrollbars:"no",width:483,height:409};
function initLiveChatPopup(_84){
var lc=new generic.popup({activator:_84,url:livechatPopArgs.url,resizable:livechatPopArgs.resizable,scrollbars:livechatPopArgs.scrollbars,width:livechatPopArgs.width,height:livechatPopArgs.height,onOpen:function(){
livechat_cm_tag();
}});
};
function openLiveChatPopup(){
var lc=window.open(livechatPopArgs.url,"live_chat","resizable=0, scrollbars=0, width="+livechatPopArgs.width+", height="+livechatPopArgs.height);
livechat_cm_tag();
};
function openFullWindow(url,_88,w,h){
var w=window.open(url,_88,"menubar=1, toolbar=1, resizable=1, scrollbars=1, width="+w+", height="+h);
};
function openPopup(url,_8c,w,h){
var w=window.open(url,_8c,"resizable=1, scrollbars=1, width="+w+", height="+h);
};
var newsPopup={open:function(id){
var pop=dojo.byId("pop_news-"+id);
if(pop){
dojo.style(pop,"top","0");
}
},close:function(id){
var pop=dojo.byId("pop_news-"+id);
if(pop){
dojo.style(pop,"top","-5000px");
}
}};
function livechat_cm_tag(){
cmCreateConversionEventTag("Live Chat","1","ASK AN ARTIST","10");
};
