
SM.namespace('util','widget');SM.util.getCookie=function(name){var nameEQ=name+"=";var ca=document.cookie.split(';');var c;for(var i=0,len=ca.length;i<len;i++){c=ca[i];while(c.charAt(0)==' '){c=c.substring(1,c.length);}
if(c.indexOf(nameEQ)===0){return c.substring(nameEQ.length,c.length);}}};SM.util.setCookie=function(name,value,days){var expires,date;var yearFromNow=new Date();yearFromNow.setTime(yearFromNow.getTime()+(365*24*60*60*1000));if(days==365){expires="; expires="+yearFromNow;}else if(days!==''){date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString();}else{expires="";}
var cookieString=name+'='+value+expires+'; path=/; domain='+SM.hostConfig.sessionDomain;document.cookie=cookieString;};SM.util.getCloneDimensions=function(el,forceWidth,forceHeight){el=YAHOO.util.Dom.get(el);if(!el){return;}
var clone=el.cloneNode(true);clone.style.visibility='hidden';clone.style.width=forceWidth||'auto';clone.style.height=forceHeight||'auto';clone.style.position='absolute';clone.style.display='block';var cloneParent=el.parentNode;cloneParent.appendChild(clone);var dimensions=YAHOO.util.Region.getRegion(clone);dimensions.width=clone.offsetWidth;dimensions.height=clone.offsetHeight;cloneParent.removeChild(clone);return dimensions;};SM.util.copy2clipboard=function(copyThis){if(copyThis.createTextRange){var range=copyThis.createTextRange();if(range){range.execCommand('Copy');}}else{var flashcopier=YAHOO.util.Dom.get('flashcopier');if(!flashcopier){flashcopier=document.createElement('div');flashcopier.id='flashcopier';document.body.appendChild(flashcopier);}
flashcopier.innerHTML='<embed src="/include/clipboard.swf" FlashVars="clipboard='+encodeURIComponent(copyThis)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';}};SM.util.normalizeURL=function(url){url=url||window.location.href;url=url.replace(/https?:\/\/[^\/]+/,'');url=url.replace(/\?.*/,'');var base,baseTest=url.match(/.*\/(((gallery|keyword(\/all|\/today)?|date\/([^\/]+))(\/[^\/|#]+)?)|(popular(\/all|\/today)?))/);if(baseTest){base=baseTest[0];url=url.replace(base,'');}else{return url;}
var page,pageTest=url.match(/(?:#P\-|\/)(\d+)(?:\-\d+)?(?:\/|$)/);page=pageTest?'/'+pageTest[1]:'/1';var image,imageTest=url.match(/(?:#|\/\d+\/)(\w+)(?:\-[A-Z0-9]+\-LB)?(?:\/(?:Small|Medium|[xX]?\d?Large|Original))?$/);image=imageTest?'/'+imageTest[1]:'';return base+page+image;};SM.util.lTrimString=function(str){return str.replace(/^\s+/g,'');};SM.util.rTrimString=function(str){return str.replace(/\s+$/g,'');};SM.util.trimString=function(str){str=SM.util.lTrimString(str);str=SM.util.rTrimString(str);return str;};SM.util.formatString=function(str){var re;for(var i=1,len=arguments.length;i<len;i++){re=new RegExp('\\{'+(i-1)+'\\}','g');str=str.replace(re,arguments[i].toString().replace('$','$$'));}
return str;};SM.util.formatCurrency=function(oData){var nAmount=oData;var cCurrency;if((nAmount!==undefined)&&(nAmount!==null)&&!isNaN(parseFloat(nAmount))){nAmount=Math.round(nAmount*100)/100;cCurrency='$'+nAmount;var dotIndex=cCurrency.indexOf('.');if(dotIndex<0){cCurrency+='.00';}else{while(dotIndex>cCurrency.length-3){cCurrency+='0';}}}else{cCurrency=oData;}
return cCurrency;};SM.util.formatDate=function(oData){var oDate=oData;var dDate;if(oDate instanceof Date){dDate=(oDate.getMonth()+1)+"/"+oDate.getDate()+"/"+oDate.getFullYear();}else{dDate=oData;}
return dDate;};SM.util.formatNumber=function(oData){var nNumber=oData;if((nNumber!==undefined)&&(nNumber!==null)){nNumber=nNumber.toString();}else{nNumber=oData;}
return nNumber;};SM.util.reduceFraction=function(num,den){var found=false;var tempNum=0,tempDen=0;var ctr=Math.min(Math.abs(num),Math.abs(den));while(ctr>0&&!found){tempNum=num/ctr;tempDen=den/ctr;if(tempNum==Math.round(tempNum)&&tempDen==Math.round(tempDen)){found=true;}else{ctr--;}}
if(tempNum<0&&tempDen<0){ctr*=-1;tempNum*=-1;tempDen*=-1;}
return[tempNum,tempDen];};(function(){var SimpleCache=function(dataUrl){this.liveData=dataUrl;this.responseType=YAHOO.util.DataSource.TYPE_JSON;this.maxCacheEntries=100;this.connTimeout=0;SimpleCache.superclass.constructor.call(this,this.liveData);_initEvents.call(this);};YAHOO.lang.extend(SimpleCache,YAHOO.util.DataSource);SimpleCache.prototype.load=function(sig){this.data=null;var signature='';for(var s in sig){signature+=(signature===''?'?':'&')+s+'='+sig[s];}
var responseHandler={success:function(oReq,oResp){if(!oResp.status){this.data=oResp;this.fireEvent('load',oResp);}else{if(oResp.status==='success'){this.data=oResp.result;this.fireEvent('load',{'status':oResp.status,'msg':oResp.msg,'args':oResp.args});}else{_removeCacheEntry.call(this);this.fireEvent('failure',{'status':oResp.status,'msg':oResp.msg,'args':oResp.args});}}},failure:function(){},scope:this};this.sendRequest(signature,responseHandler);};SimpleCache.prototype.parseJSONData=function(oRequest,oFullResponse){return oFullResponse;};_removeCacheEntry=function(oRequest){var aCache=this._aCache;var nCacheLength=((aCache)?aCache.length:0);if((this.maxCacheEntries>0)&&aCache&&(nCacheLength>0)){for(var i=nCacheLength-1;i>=0;i--){var oCacheElem=aCache[i];if(this.isCacheHit(oRequest,oCacheElem.request)){aCache.splice(i,1);break;}}}};var _initEvents=function(){this.createEvent('load');this.createEvent('failure');};SM.util.SimpleAjaxCache=SimpleCache;})();(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Lang=YAHOO.lang;var DEFAULT_CONFIG={'minValue':0,'maxValue':999,'delay':1000,'useKeys':true,'active':false,'activateOnHover':true,'activateOnFocus':true};var Spinner=function(el,attr){attr=attr||{};if(arguments.length==1&&!YAHOO.lang.isString(el)&&!el.nodeName){attr=el;el=attr.element;}
if(!el&&!attr.element){el=_createSpinnerElement.call(this,attr);}
Spinner.superclass.constructor.call(this,el,attr);};Spinner._instances={};Spinner.getSpinnerById=function(id){return Spinner._instances[id]||false;};YAHOO.extend(Spinner,YAHOO.util.Element,{CSS_SPINNER:'sm-spinner',CSS_SPINNER_LESS:'sm-spinner-less',CSS_SPINNER_MORE:'sm-spinner-more',CSS_SPINNER_INPUT:'sm-spinner-input',_changeTimer:null,_hasFocus:false,toString:function(){var el=this.get('element');var id=el.id||el.tagName;return'Spinner '+id;},destroy:function(){var el=this.get('element'),lessEl=this.get('lessEl'),moreEl=this.get('moreEl'),inputEl=this.get('inputEl');Event.purgeElement(el);Event.purgeElement(lessEl);Event.purgeElement(moreEl);Event.purgeElement(inputEl);this.removeChild(lessEl);this.removeChild(moreEl);this.removeChild(inputEl);delete Spinner._instances[this.get('id')];for(var i in this){if(Lang.hasOwnProperty(this,i)){this[i]=null;delete this[i];}}},init:function(el,attr){Spinner.superclass.init.call(this,el,attr);var setActive=function(ev){var rel=Event.getRelatedTarget(ev);if(Dom.isAncestor(this.get('element'),rel)){return;}
this.set('active',true);};var setInactive=function(ev){var target=Event.getTarget(ev);var rel=Event.getRelatedTarget(ev);if(ev.type==='blur'&&Dom.isAncestor(this.get('element'),target)){return;}
if(Dom.isAncestor(this.get('element'),rel)){return;}
if(this._hasFocus){return;}
this.set('active',false);};var inputEl=this.get('inputEl');Event.on(inputEl,'focus',function(){this._hasFocus=true;},this,true);Event.on(inputEl,'blur',function(){this._hasFocus=false;},this,true);if(this.get('activateOnHover')){this.on('mouseover',setActive);this.on('mouseout',setInactive);}
if(this.get('activateOnFocus')){Event.on(inputEl,'focus',setActive,this,true);Event.on(inputEl,'blur',setInactive,this,true);}
this.createEvent('spinnerChange');var id=el.id;if(!Lang.isString(id)){id=Dom.generateId(id);}
Spinner._instances[id]=this;},initAttributes:function(attr){Spinner.superclass.initAttributes.call(this,attr);var el=this.get('element');attr=Lang.merge(DEFAULT_CONFIG,attr);this.setAttributeConfig('delay',{value:attr.delay,validator:Lang.isNumber});this.setAttributeConfig('minValue',{value:attr.minValue,validator:Lang.isNumber});this.setAttributeConfig('maxValue',{value:attr.maxValue,validator:Lang.isNumber});this.setAttributeConfig('useKeys',{value:attr.useKeys,validator:Lang.isBoolean});this.setAttributeConfig('activateOnHover',{value:attr.activateOnHover,validator:Lang.isBoolean});this.setAttributeConfig('activateOnFocus',{value:attr.activateOnFocus,validator:Lang.isBoolean});this.setAttributeConfig('lessEl',{value:attr.lessEl||this._getLessElement(),method:function(value){var current=this.get('lessEl');if(current){if(current===value){return false;}
this.replaceChild(value,current);}else if(el.firstChild){this.insertBefore(value,el.firstChild);}else{this.appendChild(value);}}});this.setAttributeConfig('moreEl',{value:attr.moreEl||this._getMoreElement(),method:function(value){var current=this.get('moreEl');if(current){if(current===value){return false;}
this.replaceChild(value,current);}else{var inputEl=this.get('inputEl');if(inputEl){this.insertBefore(value,inputEl);}else{this.appendChild(value);}}}});this.setAttributeConfig('inputEl',{value:attr.inputEl||this._getInputElement(),method:function(value){var current=this.get('inputEl');if(current){if(current===value){return false;}
this.replaceChild(value,current);}else{this.appendChild(value);}}});this.setAttributeConfig('value',{value:attr.value||parseInt(this.get('inputEl').value,10),method:function(value){this.get('inputEl').value=value;this._setValue(value);},validator:function(value){if(!Lang.isNumber(value)){return false;}
if(value>this.get('maxValue')){return false;}
if(value<this.get('minValue')){return false;}
return true;}},true);this.setAttributeConfig('active',{value:attr.value||false,method:function(value){var current=this.get('active');if(current===value){return false;}
if(!value){this._deactivate();}else{this._activate();}},validator:Lang.isBoolean});},_createSpinnerElement:function(attr){var el=document.createElement('span');Dom.addClass(el,this.CSS_SPINNER);var lessEl=attr.lessEl||null;var moreEl=attr.moreEl||null;var inputEl=attr.inputEl||null;if(!lessEl){lessEl=_createLessElement.call(this);}
Dom.addClass(lessEl,this.CSS_SPINNER_LESS);el.appendChild(lessEl);if(!moreEl){moreEl=_createMoreElement.call(this);}
Dom.addClass(lessEl,this.CSS_SPINNER_MORE);el.ap

