/*______________
|       ______  |   B U I L T     O N     U I Z E     F R A M E W O R K
|     /      /  |   ---------------------------------------------------
|    /    O /   |   This JavaScript application is developed using the object
|   /    / /    |   oriented UIZE JavaScript framework as its foundation.
|  /    / /  /| |
| /____/ /__/_| |    ONLINE : http://www.uize.com
|          /___ |   LICENSE : UIZE is distributed under the GNU General Public License
|_______________|             http://www.gnu.org/licenses/gpl.txt
*/

Uize.module({name:'Uize.Widget.CollectionItem',required:['Uize.Node','Uize.Widget.Button'],builder:function(c_a){var c_b=true,c_c=false,c_d;var c_e=c_a.subclass(function(){this.c_f={};},function(){var c_g=this;c_g.c_h('select',function(c_i){c_g.c_j(c_i.domEvent,c_b)}).set({clickToDeselect:c_b});c_g.c_k();c_g.c_h('remove',function(c_i){c_g.fire({name:'Remove',byUser:c_b})});}),c_l=c_e.prototype;c_l.c_h=c_l.addChildButton=Uize.Widget.Button.addChildButton;c_l.c_m=function(){if(this.isWired){var c_n=this.c_n;if(c_n!=c_d)this.setNodeInnerHtml('title',c_n);}};c_l.c_o=function(){var c_g=this;if(c_g.isWired){c_g.setNodeProperties('',{className:c_g.c_p+' '+((c_g.c_q?c_g.c_r:c_g.c_s&&c_g.c_t)||'')});var c_u=c_g.c_u,c_v=c_g.c_v;if(typeof c_u=='string'&&typeof c_v=='string')c_g.setNodeProperties('preview',{className:c_g.c_s?c_v:c_u});}};c_l.c_j=function(c_w,c_x){this.fire({name:'Click Selected',domEvent:c_w,forceToggle:c_x});};c_l.c_k=function(){this.children.select.set({selected:this.c_q});};
c_l.selectedConformerFunction=function(c_y){return c_y};c_l.updateUi=function(){this.c_o();this.c_m();};c_l.wireUi=function(){var c_g=this;if(!c_g.isWired){if(!c_g.c_p)c_g.set({c_p:c_g.getNode().className});var c_z=c_g.getNode('previewShell')||'imageLink';c_g.wireNodeEvents(c_z,{onmouseover:function(){c_g.set({c_s:c_b})},onmouseout:function(){c_g.set({c_s:c_c})},onmousedown:function(c_i){c_g.fire({name:'Item Mouse Down',domEvent:c_i,bubble:c_b})}});if(c_g.c_A)c_g.wireNodeEvent(c_z,'onclick',function(c_i){var c_x=c_g.c_A=='Toggle Selected';c_x||c_g.c_A=='Select'?c_g.c_j(c_i,c_x):c_g.fire({name:'Click Preview',bubble:c_b});});c_a.prototype.wireUi.call(c_g);}};c_e.registerProperties({c_r:'cssClassActive',c_p:'cssClassBase',c_u:'cssClassImage',c_v:'cssClassImageOver',c_t:'cssClassOver',c_B:{name:'locked',value:c_c},c_s:{name:'over',onChange:[function(){var c_g=this;if(c_g.isWired&&c_g.c_C&&Uize.Tooltip)Uize.Tooltip.showTooltip(c_g.c_C,c_g.c_s);},c_l.c_o],value:c_c},c_A:'previewClickAction',c_C:'previewTooltip',
c_f:{name:'properties',onChange:function(){this.set({c_n:this.c_f.title})}},c_q:{name:'selected',conformer:function(c_y){return this.selectedConformerFunction(c_y)},onChange:function(){if(this.children.select)this.c_k();this.c_o();},value:c_c},c_n:{name:'title',onChange:function(){var c_g=this,c_f=c_g.c_f;if(c_f){c_f.title=c_g.c_n;c_g.c_m();}}}});return c_e;}});

Uize.module({name:'Uize.Widget.CollectionItem.Zooming',required:['Uize.Node','Uize.Fade'],builder:function(d_a){var d_b=true,d_c=false,d_d,d_e=Uize.Node;var d_f=d_a.subclass(),d_g=d_f.prototype;function d_h(d_i,d_j){return+d_e.getStyle(d_i,d_j).replace(/px/i,'')||0;}d_g.d_k=function(){if(this.isWired&&this.d_l)this.setNodeProperties(['preview','previewZoom'],{src:this.d_l});};d_g.d_m=function(){var d_n=this;if(d_n.isWired&&d_n.d_o){var d_p={};function d_q(d_r){var d_s=d_r=='x',d_t=d_s?'width':'height';d_p[d_s?'left':'top']=d_n.get(d_s?'alignX':'alignY')*(d_n.d_u[d_t]-(d_p[d_t]=d_n.d_v[d_t]*d_n.d_w));}d_q('x');d_q('y');d_n.setNodeStyle('previewZoom',d_p);}};d_g.d_x=function(d_y){this.displayNode('previewZoom',this.d_o=d_y);};d_g.updateUi=function(){this.d_k();d_a.prototype.updateUi.call(this);};d_g.wireUi=function(){var d_n=this;if(!d_n.isWired){var d_z=d_n.getNode('preview'),d_A=d_n.getNode('previewShell')||(d_z?d_z.parentNode:null);d_n.wireNodeEvent(d_A,'onmouserest(150)',function(){
if(!d_n.get('over'))return;if(d_n.d_B>1){d_n.set({inUse:d_b});function d_C(){var d_D=d_e.getEventAbsPos(),d_E=d_n.d_E;function d_F(d_s){return(d_f.constrain((d_D[d_s?'left':'top']-(d_n.d_u[d_s?'x':'y']+d_E))/(d_n.d_u[d_s?'width':'height']-d_E*2),0,1))}d_n.set({d_G:d_F(d_b),d_H:d_F()});}d_C();d_n.wireNodeEvent(document.documentElement,'onmousemove',d_C);}});d_n.wire('Changed.over',function(){if(!d_n.get('over')){d_n.unwireNodeEvent(document.documentElement,'onmousemove');d_n.set({inUse:d_c});}});d_a.prototype.wireUi.call(d_n);}};d_f.registerProperties({d_G:{name:'alignX',onChange:d_g.d_m,value:0},d_H:{name:'alignY',onChange:d_g.d_m,value:0},d_E:{name:'deadMargin',value:20},d_w:{name:'displayedZoomPower',onChange:d_g.d_m,value:1},d_I:{name:'inUse',onChange:function(){var d_n=this;if(d_n.isWired){if(d_n.d_I){var d_n=this,d_z=d_n.getNode('preview'),d_J=d_n.getNode('previewZoom'),d_A=d_n.getNode('previewShell')||(d_z?d_z.parentNode:null);d_n.d_u=d_e.getCoords(d_A);if(!d_n.d_l)d_n.set({d_l:d_z.src});
var d_K=d_n.get('previewZoomUrl');if(typeof d_K=='function')d_K=d_K.call(d_n);if(d_K){if(d_n.d_B>1){d_n.d_v=d_e.getDimensions(d_z);d_n.d_v.width-=d_h(d_z,'borderLeftWidth')+d_h(d_z,'borderRightWidth');d_n.d_v.height-=d_h(d_z,'borderTopWidth')+d_h(d_z,'borderBottomWidth');if(!d_J){var d_L=d_z.parentNode;d_e.setStyle(d_L,{overflow:'hidden',height:d_L.offsetHeight-d_h(d_L,'borderTopWidth')-d_h(d_L,'borderBottomWidth')});d_n.flushNodeCache('previewZoom');var d_B=d_n.get('zoomPower');d_J=d_z.cloneNode(d_b);d_e.setProperties(d_J,{id:d_n.get('idPrefix')+'-previewZoom',title:''});d_e.setStyle(d_J,{left:'0',top:'0',border:'none',width:d_n.d_v.width,height:d_n.d_v.height,position:'absolute',backgroundImage:''});d_z.parentNode.appendChild(d_J);}d_e.setProperties(d_J,{src:d_K,lowsrc:d_n.d_l});d_n.d_x(d_b);d_n.d_m();d_n.d_M||(d_n.d_M=new Uize.Fade).wire('Changed.value',function(){d_n.set({d_w:+d_n.d_M})});d_n.d_M.start(d_f.copyInto({startValue:1,endValue:d_n.d_B},d_n.d_N));}else{d_z.src=d_K;}d_n.set({d_O:d_b});}}else{
if(d_n.d_o){d_n.set({d_w:1});d_n.d_x(d_c);}else{d_n.d_k();}d_n.set({d_O:d_c});}}},value:d_c},d_l:{name:'previewUrl',onChange:d_g.d_k},d_K:{name:'previewZoomUrl'},d_O:{name:'showingPreview',value:d_c},d_B:{name:'zoomPower',value:1},d_N:{name:'zoomFadeProperties',value:{duration:600,acceleration:0,deceleration:1}}});return d_f;}});

Uize.module({name:'Uize.Widget.Stretchy',required:['Uize.Node','Uize.Fade'],builder:function(c_a){var c_b=true,c_c=false,c_d=Uize.Node;var c_e=c_a.subclass(null,function(){var c_f=this;c_f.fade=new Uize.Fade({deceleration:1,duration:500,quantization:1});}),c_g=c_e.prototype;c_g.wireUi=function(){var c_f=this;if(!c_f.isWired){var c_h=c_f.getNode(),c_i=c_f.getNode('short'),c_j=c_f.getNode('long'),c_k=c_d.getCoords(c_i).height,c_l=0;c_m=c_i;c_d.setStyle(c_h,{height:c_d.getCoords(c_h).height,overflow:'hidden'});c_d.setStyle([c_i,c_j],{position:'absolute',top:0,left:0});c_f.fade.wire({'Changed.value':function(){c_d.setStyle(c_h,{height:c_f.fade});},Done:function(){if(c_m==c_i){c_f.displayNode(c_j,c_c);c_f.displayNode(c_i);}}});function c_n(){c_f.displayNode(c_i,c_c);c_f.displayNode(c_j);c_l=c_l||c_d.getCoords(c_j).height;c_m=c_j;c_f.fade.start({startValue:c_k,endValue:c_l});}function c_o(){c_m=c_i;c_l=c_l||c_d.getCoords(c_j).height;if(!c_k){c_f.displayNode(c_i);c_k=c_d.getCoords(c_i).height;
c_f.displayNode(c_i,c_c);}c_f.fade.start({startValue:c_l,endValue:c_k});}c_f.wireNodeEvent('expand','onclick',c_n);c_f.wireNodeEvent('contract','onclick',c_o);c_a.prototype.wireUi.call(c_f);}};return c_e;}});
Uize.module({name:'Zazzle.GridCell',superclass:'Uize.Widget.CollectionItem.Zooming',required:'Uize.Url',builder:function(e_a){var e_b=null,e_c=Uize.Url;var e_d=e_a.subclass(),e_e=e_d.prototype;e_d.set({cssClassActive:'selected',cssClassOver:'over',cssClassImage:'realviewImage',cssClassImageOver:'realviewImageHover',previewZoomUrl:function(){var e_f=this,e_g=e_b,e_h=e_f.get('previewUrl'),e_i=e_f.get('productType'),e_j=e_f.get('zoomPower');if(e_j>1){e_g=e_d.setUrlMaxDim(e_h,e_d.getUrlMaxDim(e_h)*e_j);}else{var e_k={rvtype:'pre'},e_l=e_c.fromParams(e_h);if(e_l.action!=='getimage'){if(!e_i)e_i=e_l.pdt;if(!e_i)e_i=e_h.replace(/.*-[a-z](\d{3,3})\d{15,}.*/,'$1');if(e_i=='print'||e_i=='128'){e_k.zfct=e_k.sh=e_b;}else if(e_i=='tie'||e_i=='151'){e_k.view_x=e_b;e_k.view_y=.9;e_k.view_width=.6;e_k.view_height=.1;}else if(e_i=='kedsshoe'||e_i=='167'){e_k={view_auto:'0.7'};}else if(e_i=='skateboard'||e_i=='186'){e_k={view_auto:'0.7',rvtype:'product'};}else{e_k.view_x=e_k.view_y=e_k.view_width=e_k.view_height=e_b;}
if(e_l.action){e_g=e_c.resolve([e_h,e_l,e_k]);}else{if(e_k.rvtype=='pre'){e_g=e_h.replace(/-[a-z](\d{18,}[a-z0-9]+_\d+\.[a-zA-Z]{3})/,'-d$1');if(e_g!==e_h)e_k.rvtype=e_b;}else{e_g=e_h;}for(var e_m in e_k){if(e_k[e_m]!==e_b){e_g=e_c.resolve(e_g,e_k);break;}}}}}return e_g;}});var e_n=/(max_dim=)(\d+)(.*)/,e_o=/(_)(\d+)(\.[^\.]*(\?|#|$))/;e_d.getUrlMaxDim=function(e_p){return(e_p.match(e_n)||e_p.match(e_o))[2];};e_d.setUrlMaxDim=function(e_p,e_q){var e_r;function e_s(e_t,e_u,e_v,e_w){e_r=true;return e_u+Math.round(e_q)+e_w;}var e_g=e_p.replace(e_n,e_s);if(!e_r)e_g=e_p.replace(e_o,e_s);return e_g;};e_d.set({zoomPower:2.5});return e_d;}});
Uize.module({name:'Zazzle.GridCell.Product',required:'Uize.Url',builder:function(e_a){var e_b=true,e_c=false;var e_d=e_a.subclass(null,function(){var e_e=this,e_f=e_e.get('properties');e_e.addChildButton('moveTo',function(e_g){e_e.fire({name:'Move To',bubble:e_b})});e_e.addChildButton('edit',function(e_g){e_e.fire({name:'Edit',bubble:e_b})});e_e.e_h=e_e.getNode('preview').src;e_e.e_i=e_f.pid;e_e.e_j=e_e.e_i.substring(0,3);e_e.e_k=e_f.un;var e_j=e_e.e_j,e_l=e_e.e_l=e_f.views;if(e_l){e_e.e_m=0;if(e_j=='158'){e_e.e_l=['cover'];for(var e_n=0;e_n<e_l;++e_n)e_e.e_l.push('page_'+e_n);e_e.e_l.push('back');}else{if(e_j=='137'){e_e.e_o=e_l[1];e_l=e_l[0];}if(typeof e_l=='string'){e_e.e_l=e_j=='235'?(e_l.indexOf('front')==0?[e_l,'back']:['front',e_l]):e_p[e_j];while(e_e.e_m<e_e.e_l.length&&e_e.e_l[e_e.e_m]!=e_l)++e_e.e_m;if(e_e.e_m==e_e.e_l.length)e_e.e_l.push(e_l);}}}}),e_q=e_d.prototype;var e_p={168:['0','270','90'],167:['top','outside','outsidefront','front','insidefront','inside','back'],
137:['front','inside2','inside1','back'],239:['front','back'],240:['front','back']},e_r={front:'viewFront',back:'viewBack',angle0:'viewFront',angle0_2:'viewFront',angle45:'viewFrontRight',angle90:'viewLeft',angle180:'viewBack',angle270:'viewRight',angle315:'viewFrontLeft',cover:'viewCover',calendar:'viewMonth',inside1horz:'viewInsideTop',inside2horz:'viewInsideBottom',inside1vert:'viewInsideLeft',inside2vert:'viewInsideRight',90:'viewBack',0:'viewCenter',270:'viewLeft',shoetop:'viewUpper',shoeoutside:'viewOutsideQuarter',shoeoutsidefront:'viewOutsideFront',shoefront:'viewTongue',shoeinsidefront:'viewInsideFront',shoeinside:'viewInsideQuarter',shoeback:'viewHeel'};e_q.e_s=function(e_t){return this.localize(e_r[e_t]);};e_q.wireUi=function(){var e_e=this;if(!e_e.isWired){var e_u=e_e.getNode('nextviewLink'),e_l=e_e.e_l,e_v=e_u&&e_l,e_j=e_e.e_j,e_w=e_e.getNode('productTypeIcon');e_e.wireNodeEvent('contributorLink','onclick',function(){location.href=e_e.getInherited('env').www+e_e.e_k});
if(e_j=='231'||e_j=='232'||e_j=='233'){if(e_w!=null){e_w.title=e_e.localize('seeStitch');e_e.wireNodeEvent(e_w,'onclick',function(){e_e.callInherited('animateStitch')({pd:e_e.e_i});});}}e_e.wire('Changed.showingPreview',function(){var e_x= !e_e.get('showingPreview');e_e.showNode(e_w,e_x);if(e_v)e_e.showNode(e_u,e_x);});if(e_v){function e_y(e_z){var e_h=e_e.e_h,e_n=(e_e.e_m+1)%e_l.length,e_A=e_l[e_n];var e_B=Uize.Url.resolve(e_h,e_j=='168'?{lon:e_A}:{view:e_A});e_z?(e_e.e_m=e_n):(e_B=e_d.setUrlMaxDim(e_B,e_d.getUrlMaxDim(e_h)/3));return e_B;}function e_C(){var e_n=(e_e.e_m+1)%e_l.length,e_t=e_l[e_n],e_D=e_e.localize('clickToView');if(e_j=='158'){e_D+=e_t.indexOf('page')!=0?e_e.e_s(e_t):e_e.e_s('calendar').replace('{0}',e_n).replace('{1}',e_l.length-2);}else{if(e_j=='235')e_t=e_n==0?'front':'back';else if(e_j=='167')e_t='shoe'+e_t;else if(e_t=='inside1'||e_t=='inside2')e_t+=e_e.e_o;e_D+=e_e.e_s(e_t);};e_u.style.backgroundImage='url("'+e_y()+'")';e_u.title=e_D;}e_C();e_e.displayNode(e_u,e_b);e_e.wireNodeEvent(
e_u,'onclick',function(){if(e_e.isWired){e_e.set({previewUrl:e_y(e_b)});e_C();e_u.blur();}});e_e.wire('Changed.previewUrl',function(){e_e.e_h=e_e.getNode('preview').src;e_C();});}e_a.prototype.wireUi.call(e_e);}};return e_d;}});
Uize.module({name:'Zazzle.ProductsGrid',superclass:'Uize.Widget',required:'Zazzle.GridCell.Product',builder:function(c_a){var c_b=true,c_c=false,c_d=null,c_e=Zazzle;var c_f=c_a.subclass(c_d,function(){var c_g=this,c_h=c_g.c_h,c_i=c_h.length;if(c_e.JumpPagination)c_g.addChild('jumpPagination',c_e.JumpPagination);for(var c_j=0;c_j<c_i;c_j++){var c_k=c_h[c_j];c_g.addChild(c_k.id,c_g.c_l,{isPrivate:c_k.isPrivate,productId:c_k.pid,productType:c_k.pdt,title:c_k.tl,index:c_k.idx,properties:c_k,productTypeDisplayName:c_k.pdtname,avgRating:c_k.rating});}}),c_m=c_f.prototype;c_m.getCell=function(c_n){return this.children[c_n];};c_m.wireUi=function(){var c_g=this,c_o=c_g.children.timer;if(!c_g.isWired){c_a.prototype.wireUi.call(c_g);if(c_o)c_o.resume();}};c_f.registerProperties({c_l:{name:'itemWidgetClass',value:c_e.GridCell.Product},c_h:{name:'items',value:[]},c_p:'maxPages'});return c_f;}});
Uize.module({name:'Zazzle.JumpPagination',superclass:'Uize.Widget',builder:function(c_a){var c_b=c_a.subclass(function(){var c_c=this;c_c.c_d=c_c.callInherited('wwwSearchPag');}),c_e=c_b.prototype;c_e.wireUi=function(){var c_c=this;if(!c_c.isWired){function c_f(){var c_g=c_c.getNode('targetPage').value,c_h=c_c.getInherited('env').params,c_i=c_h.pg||1,c_j=c_c.getInherited('pageSize'),c_k=c_c.getInherited('maxPages')||1,c_l=c_c.getInherited('numResults');if(c_k<999&&c_i+10==c_k&&c_j*c_k==c_l)c_k=999;c_h.pg=Number(c_g)?Math.min(c_g,c_k):1;location.href=c_c.c_d(c_h,c_c.getInherited('env').path);return false;}c_c.wireNodeEvent('goButton','onclick',function(){return c_f();});c_c.wireNodeEvent('form','onsubmit',function(){return c_f();});c_a.prototype.wireUi.call(c_c);}};return c_b;}});
Uize.module({name:'Zazzle.Page.Search',required:['Uize.Widget.Stretchy','Zazzle.ProductsGrid','Zazzle.GridCell.Product','Zazzle.SearchInput'],builder:function(e_a){var e_b=e_a.subclass(null,function(){var e_c=this,e_d=e_c.get('urls');if(e_c.e_e){e_c.addChild('productsGrid',Zazzle.ProductsGrid,{itemWidgetClass:e_c.Class.itemWidgetClass,items:e_c.e_e,parameters:e_c.e_f});}e_c.addChild('narrowByProduct',Uize.Widget.Stretchy);e_c.addChild('narrowByCategory',Uize.Widget.Stretchy);for(var e_g=0;e_g<e_c.e_h.length;e_g++)e_c.addChild(e_c.e_h[e_g],Zazzle.SearchInput);e_c.getInherited('env').params.pt=e_c.e_f.zcdProductType;}),e_i=e_b.prototype;e_i.wireUi=function(){var e_c=this;if(!e_c.isWired){e_c.wireNodeEvent('feedbackLink','onclick',function(){e_c.launchPopup({url:e_c.get('urls').feedbackUrl,height:250,width:300});});e_a.prototype.wireUi.call(e_c);}};e_i.copySearchInfo=function(e_j,e_k){var e_c=this,e_l=e_c.children[e_j],e_m=e_l.getNode('queryInput').value,e_n=e_c.children[e_k];
if(e_l.get('emptyLabel')!=e_m)e_n.getNode('queryInput').value=e_m;e_n.getNode('productTypes').selectedIndex=e_l.getNode('productTypes').selectedIndex;};e_b.itemWidgetClass=Zazzle.GridCell.Product;e_b.registerProperties({e_e:{name:'items',value:[]},e_o:'maxPages',e_f:{name:'parameters',value:{}},e_p:'resultsId',e_h:{name:'searchInputs',value:[]}});return e_b;}});

