
dojo.require("dojo.lfx.*");var messageContinerNode='message';storefront.ui.messager={MESSAGE_CONTAINER:null,MESSAGES_INFO:new Array(),MESSAGES_ERROR:new Array(),MESSAGES_INFOBOX:new Array(),MESSAGE_DISPLAY_TIME:2500,isInitialized:false,init:function(node){this.MESSAGE_CONTAINER=node;this.isInitialized=true;this.flushMessages();},flushMessages:function(){if(this.MESSAGES_INFO.length>0){var msg;while(msg=this.MESSAGES_INFO.pop()){this.message(msg);}}
if(this.MESSAGES_ERROR.length>0){var msg;while(msg=this.MESSAGES_ERROR.pop()){this.error(msg);}}
if(this.MESSAGES_INFOBOX.length>0){var msg;while(msg=this.MESSAGES_INFOBOX.pop()){this.infobox(msg);}}},isReady:function(){return this.isInitialized;},error:function(message){if(this.isInitialized)
this.doMessage(message,'ERROR');else
this.setUpdateMessage(message,'ERROR');},message:function(message){if(this.isInitialized)
this.doMessage(message,'INFO');else
this.setUpdateMessage(message,'INFO');},infobox:function(message){var ready;ready=this.isReady();if(ready){this.setUpdateMessage(message,'INFOBOX');var box=this.createUpdateMessage('INFOBOX');dojo.byId('content').appendChild(box);dojo.lfx.slideBy(box,[0,-325],1000).play();}else{this.setUpdateMessage(message,'INFOBOX');}},infoboxAndHide:function(message){var ready;ready=this.isReady();if(ready){this.setUpdateMessage(message,'INFOBOX');var box=this.createUpdateMessage('INFOBOX');dojo.byId('content').appendChild(box);dojo.lfx.slideBy(box,[0,-325],1000).play();window.setTimeout(function(){storefront.ui.messager.closeMessage(box);},10000);}else{this.setUpdateMessage(message,'INFOBOX');}},doMessage:function(message,type){this.setUpdateMessage(message,type);var msgNode=this.createUpdateMessage(type);this.MESSAGE_CONTAINER.appendChild(msgNode);var wipeInAndOut=dojo.lfx.wipeIn(msgNode,500,0,function(nodes,anim){dojo.lang.setTimeout(this,function(){dojo.lfx.wipeOut(msgNode,500,0).play();},5000);});wipeInAndOut.play();},closeMessage:function(node){dojo.lfx.fadeHide(node,500,dojo.lfx.easeIn,function(nodes){dojo.lang.forEach(nodes,dojo.dom.removeNode);}).play();},setUpdateMessage:function(message,type){switch(type){case'INFO':this.MESSAGES_INFO.push(message);break;case'ERROR':this.MESSAGES_ERROR.push(message);break;case'INFOBOX':this.MESSAGES_INFOBOX.push(message);break;case'INFOBOX_ERROR':this.MESSAGES_INFOBOX_ERROR.push(message);break;}},createUpdateMessage:function(type){var node;var text;node=document.createElement('div');switch(type){case'INFO':node.className='info_message';text=this.MESSAGES_INFO.pop();break;case'ERROR':node.className='error_message';text=this.MESSAGES_ERROR.pop();break;case'INFOBOX':node.className='infobox';var header=document.createElement('div');header.className='infobox_header';header.innerHTML='Information';a=document.createElement('a');a.href='#';a.onclick=function(){this.closeMessage(node)};a.appendChild(document.createTextNode('Close'));header.appendChild(a);node.appendChild(header);text='<div class="infobox_header">Information<a class="infobox_close" href="#" onClick="storefront.ui.messager.closeMessage(this.parentNode.parentNode);">Close</a></div>';text+=this.MESSAGES_INFOBOX.pop();break;case'INFOBOX_ERROR':node.className='infobox_error';text=this.MESSAGES_ERROR.pop();break;}
node.innerHTML=text;return node;}}
dojo.addOnLoad(function(){storefront.ui.messager.init(dojo.byId(messageContinerNode));dojo.debug('Initialized storefront.ui.messager');});