diff --git a/Short bio.html b/Short bio.html new file mode 100644 index 0000000..7468351 --- /dev/null +++ b/Short bio.html @@ -0,0 +1,255 @@ + + + + + + + + + Short bio + + + + + + + + + + +
+
+ +
+
 
+
+
+
+
+
+ + + +
+
+ +
+
+
+
+
 
+
 
+
+
+
+

I received a PhD in Computer Science and Engineering from the University of Bologna in 2002 and currently I'm associate professor, with national scientific habilitation 09/H1 for the role of full professor, at the Department of Computer Science and Engineering, School of Engineering and Architecture, University of Bologna. My research focuses on scene perception to infer depth, optical flow, semantic segmentation, and so on from images — with monocular, stereo, and multi-view setups — and sensor fusion — using LiDARs/ToFs and cameras — for the same purposes, mostly using self-adaptive learning-based methodologies. I’m IEEE Senior member. [CV]

+
+
+
+ + + +
+
+
+

Short bio

+
+
+
+ + + +
+
+
+

Stefano Mattoccia

+

Associate Professor, PhD

Department of Computer Science and Engineering (DISI)
School of Engineering and Architecture
University of Bologna

+


Address: Viale del Risorgimento, 2  40136 Bologna, Italy

+

Phone:   +39 051 2093860  - Fax +29 051 2093869 

+

Email:     stefano.mattoccia#AT#unibo.it

+
+
+
+ + + +
+
+
+

Research

+
+
+
+ + + +
+ +
+ + + +
+
+
+

PhD students

+
+
+
+ + + +
+
+
+

Keywords: computer vision, machine-learning, 3D vision, depth and scene flow estimation from monocular and stereo images, domain adaptation, embedded computer vision

+

My research activity is concerned with computer vision, machine learning applied to computer vision problems and embedded vision systems. For a more detailed overview take a look at the publications, Google Scholar, or Orcid

+
+
+
+ + + +
+ +
+ + + +
+
+
+

Team: Stefano Mattoccia (Associate professor), Matteo Poggi (Tenure-Track Assistant professor), Fabio Tosi (Junior Assistant Professor), Youmin Zhang (PhD student), Fan Rizhao (PhD student), Huan Li (PhD student), Andrea Conti (PhD student), Luca Bartolomei (PhD student), Alessio Mingozzi (PhD student), Enrico Mannocci (PhD student), Ugo Leone Cavalcanti (PhD student), Ziren Gong (PhD student). Visiting PhD students: Xin Qiao (Xi'an Jiaotong University), Chaoqiang Zhao (East China University of Science and Technology, Shanghai).

Former members: Filippo Aleotti (now at Niantic).

+
+
+
+ + + +
+
+
+

Enrico Mannocci, University of Bologna (2023-present)
    End-to-end autonomous driving

    Ugo Leone Cavalcanti, University of Bologna (2023-present), funded by Sony Depthsensing Solutions
    Monocular depth estimation and applications

    Gong Ziren University of Bologna/China Scholarship Council (2023-present)
    Simultaneous Localization And Mapping

+

Luca Bartolomei, University of Bologna (2022-present)
    Deep stereo vision, co-supervised with Matteo Poggi

+

Alessio Mingozzi, University of Bologna (2022-present), funded by The Edge Company
    Flow estimation, co-supervised with Matteo Poggi

+

Andrea Conti, University of Bologna (2021-present), funded by Sony Depthsensing Solutions
    Monocular depth sensing with active sensors, co-supervised with Matteo Poggi

+

Huan Li, University of Bologna/China Scholarship Council (2021-present)
    Monocular depth sensing, co-supervised with Matteo Poggi

+

Youmin Zhang, University of Bologna/China Scholarship Council (2020-2024)
    Stereo and monocular depth sensing, , co-supervised with Matteo Poggi

+

Fan Rizhao, University of Bologna /China Scholarship Council (2020-2024)
    Depth completion, co-supervised with Matteo Poggi

+

Filippo Aleotti, University of Bologna (2018-2021)
    Unsupervised monocular depth estimation

+

Fabio Tosi, University of Bologna (2017-2020)
    Deep-learning for 3D reconstruction - [Best PhD Thesis Award 2020-2022 (CVPL)]

    Matteo Poggi, University of Bologna (2014-2017)
    Machine learning for stereo vision

+

Leonardo De-Maeztu Reinares, Public University of Navarre, Pamplona, Spain (2009-2012)
    Towards accurate and real-time local stereo correspondence algorithms: computational efficiency and massively
    parallel architectures
, co-supervised with Arantxa Villanueva (Public University of Navarre)

+

Federico Tombari, University of Bologna (2006-2009)
    Methodologies for visual correspondence, co-supervised with Luigi Di Stefano

+
+
+
+ + + +
+
+
+

Informativa sulla privacy disponibile a questo link

+
+
+
+ + + +
+
+
+

Updates

+
+
+
+ + + +
+
+
+

See Publications section

+
+
+
+
 
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/Short bio_files/Home.css b/Short bio_files/Home.css new file mode 100644 index 0000000..c6de77d --- /dev/null +++ b/Short bio_files/Home.css @@ -0,0 +1,426 @@ +.style { + padding: 4px; +} +.paragraph_style { + color: rgb(0, 0, 0); + font-family: 'Helvetica', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 18px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 12px; + padding-top: 0px; + text-align: justify; + text-decoration: none; + text-indent: 19px; + text-transform: none; +} +.style_1 { + font-family: 'Helvetica-Oblique', 'Helvetica', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: italic; + font-weight: 400; + line-height: 18px; +} +.style_2 { + font-family: 'Helvetica-Bold', 'Helvetica', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: normal; + font-weight: 700; + line-height: 18px; +} +.paragraph_style_1 { + color: rgb(88, 77, 77); + font-family: 'Arial-BoldMT', 'Arial', sans-serif; + font-size: 20px; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: 700; + letter-spacing: 0; + line-height: 25px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 0px; + padding-top: 0px; + text-align: left; + text-decoration: none; + text-indent: 0px; + text-transform: none; +} +.style_External_798_50 { + position: relative; +} +.style_3 { + color: rgb(0, 0, 0); + font-family: 'Arial-BoldMT', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: normal; + font-weight: 700; + line-height: 20px; + opacity: 1.00; +} +.paragraph_style_2 { + color: rgb(81, 81, 81); + font-family: 'Arial-ItalicMT', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: italic; + font-variant: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 20px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 0px; + padding-top: 0px; + text-align: left; + text-decoration: none; + text-indent: 0px; + text-transform: none; +} +.style_4 { + color: rgb(94, 94, 94); + line-height: 20px; + opacity: 1.00; +} +.style_5 { + color: rgb(0, 0, 0); + line-height: 20px; + opacity: 1.00; +} +.paragraph_style_3 { + color: rgb(81, 81, 81); + font-family: 'ArialMT', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 20px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 0px; + padding-top: 0px; + text-align: left; + text-decoration: none; + text-indent: 0px; + text-transform: none; +} +.style_6 { + color: rgb(4, 51, 255); + line-height: 20px; + opacity: 1.00; +} +.style_7 { + color: rgb(146, 146, 146); + line-height: 20px; + opacity: 1.00; +} +.style_External_805_116 { + position: relative; +} +.style_SkipStroke_1 { + background: transparent; + opacity: 1.00; +} +.style_SkipStroke_2 { + background: transparent; + opacity: 1.00; +} +.style_SkipStroke { + background: transparent; + opacity: 1.00; +} +.style_SkipStroke_3 { + background: transparent; + opacity: 1.00; +} +.style_SkipStroke_4 { + background: transparent; + opacity: 1.00; +} +.style_8 { + color: rgb(34, 34, 34); + font-family: 'ArialMT', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: normal; + font-weight: 400; + line-height: 17px; + opacity: 1.00; +} +.style_External_801_704 { + position: relative; +} +.paragraph_style_4 { + color: rgb(0, 0, 0); + font-family: 'Helvetica', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 18px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 12px; + padding-top: 0px; + text-align: justify; + text-decoration: none; + text-indent: 19px; + text-transform: none; +} +.style_External_630_27 { + position: relative; +} +.paragraph_style_5 { + color: rgb(0, 0, 0); + font-family: 'Helvetica', 'Arial', sans-serif; + font-size: 12px; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 14px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 0px; + padding-top: 0px; + text-align: center; + text-decoration: none; + text-indent: 0px; + text-transform: none; +} +.style_External_805_56 { + position: relative; +} +.style_External_444_156 { + position: relative; +} +.Body { + color: rgb(88, 77, 77); + font-family: 'ArialMT', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 20px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 0px; + padding-top: 0px; + text-align: left; + text-decoration: none; + text-indent: 0px; + text-transform: none; +} +.Free_Form { + color: rgb(88, 77, 77); + font-family: 'ArialMT', 'Arial', sans-serif; + font-size: 15px; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 20px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 0px; + padding-top: 0px; + text-align: left; + text-decoration: none; + text-indent: 0px; + text-transform: none; +} +.Normal { + padding: 4px; +} +.Normal_External_444_156 { + position: relative; +} +.Normal_External_798_50 { + position: relative; +} +.Normal_External_805_56 { + position: relative; +} +.Normal_External_805_116 { + position: relative; +} +.Normal_External_630_27 { + position: relative; +} +.Normal_External_801_704 { + position: relative; +} +.Title { + color: rgb(88, 77, 77); + font-family: 'ArialMT', 'Arial', sans-serif; + font-size: 20px; + font-stretch: normal; + font-style: normal; + font-variant: normal; + font-weight: 400; + letter-spacing: 0; + line-height: 25px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + opacity: 1.00; + padding-bottom: 0px; + padding-top: 0px; + text-align: left; + text-decoration: none; + text-indent: 0px; + text-transform: none; +} +.graphic_generic_body_textbox_style_default_SkipStroke { + background: transparent; + opacity: 1.00; +} +.graphic_generic_header_textbox_style_default_SkipStroke { + background: transparent; + opacity: 1.00; +} +.graphic_generic_title_textbox_style_default_SkipStroke { + background: transparent; + opacity: 1.00; +} +.graphic_image_style_default_SkipStroke { + background: transparent; + opacity: 1.00; +} +.graphic_shape_layout_style_default_External_802_32 { + position: relative; +} +.graphic_shape_layout_style_default_External_804_32 { + position: relative; +} +.graphic_shape_layout_style_default { + padding: 4px; +} +.graphic_textbox_layout_style_default_External_468_231 { + position: relative; +} +.graphic_textbox_layout_style_default { + padding: 4px; +} +.graphic_textbox_layout_style_default_External_443_224 { + position: relative; +} +.graphic_textbox_style_default_SkipStroke { + background: transparent; + opacity: 1.00; +} +a { + color: rgb(88, 77, 77); + text-decoration: underline; +} +a:visited { + color: rgb(121, 121, 121); + text-decoration: underline; +} +a:hover { + color: rgb(0, 0, 0); + text-decoration: underline; +} +.bumper { + font-size: 1px; + line-height: 1px; +} +.tinyText { + font-size: 1px; + line-height: 1px; +} +#widget0 a:hover { + color: rgb(0, 0, 0); + text-decoration: underline; +} +#widget0 a:visited { + color: rgb(121, 121, 121); + text-decoration: underline; +} +#widget0 a { + color: rgb(88, 77, 77); + text-decoration: underline; +} +.spacer { + font-size: 1px; + line-height: 1px; +} +body { + -webkit-text-size-adjust: none; +} +div { + overflow: visible; +} +img { + border: none; +} +.InlineBlock { + display: inline; +} +.InlineBlock { + display: inline-block; +} +.inline-block { + display: inline-block; + vertical-align: baseline; + margin-bottom:0.3em; +} +.inline-block.shape-with-text { + vertical-align: bottom; +} +.vertical-align-middle-middlebox { + display: table; +} +.vertical-align-middle-innerbox { + display: table-cell; + vertical-align: middle; +} +div.paragraph { + position: relative; +} +li.full-width { + width: 100; +} diff --git a/Short bio_files/Home.js b/Short bio_files/Home.js new file mode 100644 index 0000000..332776e --- /dev/null +++ b/Short bio_files/Home.js @@ -0,0 +1,11 @@ +// Created by iWeb 3.0.4 local-build-20240704 + +setTransparentGifURL('Media/transparent.gif');function applyEffects() +{var registry=IWCreateEffectRegistry();registry.registerEffects({stroke_0:new IWEmptyStroke()});registry.applyEffects();} +function hostedOnDM() +{return false;} +function onPageLoad() +{loadMozillaCSS('Home_files/HomeMoz.css') +adjustLineHeightIfTooBig('id1');adjustFontSizeIfTooBig('id1');adjustLineHeightIfTooBig('id2');adjustFontSizeIfTooBig('id2');adjustLineHeightIfTooBig('id3');adjustFontSizeIfTooBig('id3');adjustLineHeightIfTooBig('id4');adjustFontSizeIfTooBig('id4');adjustLineHeightIfTooBig('id5');adjustFontSizeIfTooBig('id5');adjustLineHeightIfTooBig('id6');adjustFontSizeIfTooBig('id6');adjustLineHeightIfTooBig('id7');adjustFontSizeIfTooBig('id7');adjustLineHeightIfTooBig('id8');adjustFontSizeIfTooBig('id8');adjustLineHeightIfTooBig('id9');adjustFontSizeIfTooBig('id9');adjustLineHeightIfTooBig('id10');adjustFontSizeIfTooBig('id10');adjustLineHeightIfTooBig('id11');adjustFontSizeIfTooBig('id11');Widget.onload();fixupAllIEPNGBGs();fixAllIEPNGs('Media/transparent.gif');fixupIECSS3Opacity('id12');applyEffects()} +function onPageUnload() +{Widget.onunload();} diff --git a/Short bio_files/Nettuno_2022.jpg b/Short bio_files/Nettuno_2022.jpg new file mode 100644 index 0000000..e1245d7 Binary files /dev/null and b/Short bio_files/Nettuno_2022.jpg differ diff --git a/Short bio_files/WidgetCommon.js b/Short bio_files/WidgetCommon.js new file mode 100644 index 0000000..6c7ba96 --- /dev/null +++ b/Short bio_files/WidgetCommon.js @@ -0,0 +1,423 @@ +// +// 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;icropped.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(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;ithis.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;ibottom) +{new_content_top=bottom;} +this.content.scrollTop=new_content_top;var scrollbars=this._scrollbars;var c=scrollbars.length;for(var i=0;iright) +{new_content_left=right;} +this.content.scrollLeft=new_content_left;var scrollbars=this._scrollbars;var c=scrollbars.length;for(var i=0;i"+ +this.m_widget.localizedString(this.statusMessageKey)+"";} +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");}}); \ No newline at end of file diff --git a/Short bio_files/droppedImage.jpg b/Short bio_files/droppedImage.jpg new file mode 100644 index 0000000..70d1f16 Binary files /dev/null and b/Short bio_files/droppedImage.jpg differ diff --git a/Short bio_files/iWebImage.js b/Short bio_files/iWebImage.js new file mode 100644 index 0000000..c7589b4 --- /dev/null +++ b/Short bio_files/iWebImage.js @@ -0,0 +1,339 @@ +// +// iWeb - iWebImage.js +// Copyright 2007-2008 Apple Inc. +// All rights reserved. +// + +var IWAllImages={};var IWAllImageObjects={};function IWCreateImage(url) +{return IWAllImages[url]||new IWImage(url);} +var IWNamedImages={};function IWImageNamed(name) +{var url=IWNamedImages[name];return url?IWCreateImage(url):null} +function IWRegisterNamedImage(name,url) +{IWNamedImages[name]=url;} +var IWImageEnableUnload=isiPhone;var IWImage=Class.create({initialize:function(url) +{if(IWAllImages.hasOwnProperty(url)) +{iWLog("warning -- use IWCreateImage rather than new IWImage and you'll get better performance");} +this.mPreventUnloading=0;this.mLoading=false;this.mLoaded=false;this.mURL=url;this.mCallbacks=[];IWAllImages[url]=this;},sourceURL:function() +{return this.mURL;},loaded:function() +{return this.mLoaded;},load:function(callback,delayCallbackIfLoaded) +{if(this.mLoaded&&(callback!=null)) +{delayCallbackIfLoaded?setTimeout(callback,0):callback();} +else +{if(callback!=null) +{this.mCallbacks.push(callback);} +if(this.mLoading==false) +{this.mLoading=true;var img=new Image();IWAllImageObjects[this.sourceURL()]=img;img.onload=this.p_onload.bind(this);img.src=this.mURL;}}},unload:function(evenIfNotEnabled) +{if((evenIfNotEnabled||IWImageEnableUnload)&&this.mLoaded) +{if(this.mPreventUnloading<=0) +{this.mLoaded=false;this.mLoading=false;IWAllImageObjects[this.sourceURL()]=null;} +else +{this.mPreventedUnload=true;}}},preventUnloading:function() +{if(this.mPreventUnloading==0) +{this.mPreventedUnload=false;} +++this.mPreventUnloading;},allowUnloading:function() +{--this.mPreventUnloading;if(this.mPreventUnloading<=0&&this.mPreventedUnload) +{this.unload();}},naturalSize:function() +{(function(){return this.mNaturalSize!==undefined}).bind(this).assert();return this.mNaturalSize;},imgObject:function() +{return IWAllImageObjects[this.sourceURL()];},p_onload:function() +{this.preventUnloading();this.mLoaded=true;if(this.mNaturalSize===undefined) +{var imgObject=this.imgObject();(function(){return imgObject!==undefined}).assert();this.mNaturalSize=new IWSize(imgObject.width,imgObject.height);} +for(var i=0;i0) +{var element=elements.shift();var children=element.select("."+effectClass);if(children.length>0) +{elements=elements.minusArray(children);effectQueue=effectQueue.concat(this.p_queueForEffectClass(effect,effectClass,children));} +effectQueue.push({element:element,effect:effect});} +return effectQueue;},p_allStyleSheetsLoaded:function() +{if(isCamino||isFirefox) +{if(timeStyleSheetsAppearedInDOM!=null) +{duration=(new Date().getTime())-timeStyleSheetsAppearedInDOM;if(duration>100) +{allStyleSheetsLoaded=true;timeStyleSheetsAppearedInDOM=null;}} +else if(!allStyleSheetsLoaded) +{for(var i=0,sheetCount=document.styleSheets.length;i0&&duration<100&&readyToApplyEffects) +{var queueEntry=queue.shift();if(queueEntry&&queueEntry.effect&&queueEntry.element) +{queueEntry.effect.applyToElement(queueEntry.element);} +duration=(new Date().getTime())-startTime;} +if(queue.length>0) +{setTimeout(this.p_applyEffectsFromQueue.bind(this,queue),0);} +else +{performPostEffectsFixups();}}});function IWChildOffset(child,parent,positionedOnly) +{var l=0;var t=0;if(parent) +{var current=child;while(current&¤t!=parent) +{if(!positionedOnly||(current.style.position=="absolute")||(current.style.position=="relative")) +{l+=current.offsetLeft;t+=current.offsetTop;} +current=current.parentNode;}} +return new IWPoint(l,t);} +function IWImageExtents(ancestor,images,left,top,right,bottom) +{var unionedBounds=new IWRect(left,top,right-left,bottom-top);for(var e=0;e0)&&(imageClippedBounds.size.height>0)) +{if((unionedBounds.size.width>0)&&(unionedBounds.size.height>0)) +{unionedBounds=unionedBounds.union(imageClippedBounds);} +else +{unionedBounds=imageClippedBounds.clone();}}} +var extents={left:unionedBounds.origin.x,top:unionedBounds.origin.y,right:unionedBounds.origin.x+unionedBounds.size.width,bottom:unionedBounds.origin.y+unionedBounds.size.height};return extents;} +function IWEffectChildren(element,imagesOnly) +{element=$(element);var inlineBlocks=element.select('.inline-block');return element.descendants().findAll(function(child){if((!imagesOnly&&child.match("div.badge-fill"))||child.match("img")) +{var inline=false;for(var index=0,end=inlineBlocks.length;inline==false&&index0);var divBounds=new IWRect(-leftOffset,-topOffset,frameSize.width,frameSize.height).round();if(fillBackground) +{context.fillStyle='rgba(0,0,0,1)';divBounds.fill(context);} +for(var k=0;k=4) +{context.shadowColor="rgba("+parseInt(components[1],16)+", "+parseInt(components[2],16)+", "+parseInt(components[3],16)+", "+self.mOpacity+")";} +else +{components=self.mColor.match(/rgb\(([0-9\.]+),[ ]*([0-9\.]+),[ ]*([0-9\.]+)\)/);if(components&&components.length>=4) +{context.shadowColor="rgba("+components[1]+", "+components[2]+", "+components[3]+", "+self.mOpacity+")";} +else +{iWLog("not using shadow alpha, failed to match "+self.mColor);usingShadowAlpha=false;}}} +if(usingShadowAlpha==false) +{context.globalAlpha*=self.mOpacity;context.shadowColor=self.mColor;} +context.shadowBlur=self.mBlurRadius;context.shadowOffsetX=self.mOffset.x;context.shadowOffsetY=self.mOffset.y;context.drawImage(workingCanvas,0,0);context.restore();if(usingShadowAlpha==false) +{drawImageUnshadowed=self.mOpacity<1.0;} +else +{drawImageUnshadowed=false;}} +if(drawImageUnshadowed) +{context.drawImage(workingCanvas,0,0);} +if(fillBackground) +{divBounds.clear(context);context.save();context.globalAlpha=opacity;context.rect(divBounds.origin.x,divBounds.origin.y,divBounds.size.width,divBounds.size.height);context.clip();for(var k=0;k0) +{for(var j=0;j=this.imgCount) +{allImagesLoaded=true;for(var k=0;allImagesLoaded&&k';clippingDivPost='';thumbRect.origin.x-=left;thumbRect.origin.y-=top;} +var markup='
';markup+=clippingDivPre;markup+=imageStreamEntry.thumbnailMarkupForRect(thumbRect);markup+=clippingDivPost;markup+=this.p_imageMarkup(imageSize,2);markup+='
';return markup;},applyToElement:function(div) +{div=$(div);if(div!=null) +{if(div.parentNode) +{$(div.parentNode).ensureHasLayoutForIE();} +var size=new IWSize(div.offsetWidth,div.offsetHeight);div.insert(this.p_imageMarkup(size,(div.hasClassName("aboveStrokesAndFrames")?-1:"auto")));if(!div.hasClassName("flowDefining")) +{if(div.style.position!='absolute') +{var divRect=new IWRect(0,0,div.offsetWidth,div.offsetHeight);var unionRect=IWZeroRect();var layoutRects=this.p_imageLayout(size);layoutRects.each(function(r) +{unionRect=unionRect.union(r);});var padding=divRect.paddingToRect(unionRect);var marginLeft=Element.getStyle(div,"marginLeft");marginLeft=marginLeft?(toPixelsAtElement(div,marginLeft,false)):0;var marginTop=Element.getStyle(div,"marginTop");marginTop=marginTop?(toPixelsAtElement(div,marginTop,true)):0;var marginRight=Element.getStyle(div,"marginRight");marginRight=marginRight?(toPixelsAtElement(div,marginRight,false)):0;var marginBottom=Element.getStyle(div,"marginBottom");marginBottom=marginBottom?(toPixelsAtElement(div,marginBottom,true)):0;if(windowsInternetExplorer) +{div.setStyle({marginLeft:px(Math.max(0,padding.left-1)+marginLeft),marginTop:px(Math.max(0,padding.top-1)+marginTop),marginRight:px(Math.max(0,padding.right-1)+marginRight),marginBottom:px(Math.max(0,padding.bottom-1)+marginBottom)});if(effectiveBrowserVersion==7) +{updateListOfIE7FloatsFix(div);}} +else +{div.setStyle({marginLeft:px(padding.left+marginLeft),marginTop:px(padding.top+marginTop),marginRight:px(padding.right+marginRight),marginBottom:px(padding.bottom+marginBottom)});}}}}},strokeExtra:function(imageSize) +{if(!imageSize) +{imageSize=this.mMaxImageSize;} +rect=new IWRect(IWZeroPoint(),imageSize);var layout=this.p_imageLayout(rect.size);var unionRect=IWZeroRect();layout.each(function(r) +{unionRect=unionRect.union(r);});return rect.paddingToRect(unionRect);}});var IWStroke=Class.create({initialize:function(strokeURL,strokeRect,maxImageSize) +{this.mStrokeURL=strokeURL;this.mStrokeRect=strokeRect;this.mMaxImageSize=maxImageSize;},p_strokeRect:function(imageSize) +{var hScale=imageSize.width/this.mMaxImageSize.width;var vScale=imageSize.height/this.mMaxImageSize.height;var strokeRect=this.mStrokeRect.scale(hScale,vScale,true);return strokeRect;},p_imageMarkup:function(imageSize,zIndex) +{var style=this.p_strokeRect(imageSize).position();if(zIndex) +{style+='z-index: '+zIndex+';';} +return imgMarkup(this.mStrokeURL,style);},markupForImageStreamEntry:function(imageStreamEntry,imageSize) +{var rect=new IWRect(0,0,imageSize.width,imageSize.height);var markup='
';markup+=imageStreamEntry.thumbnailMarkupForRect(rect);markup+=this.p_imageMarkup(imageSize,2);markup+='
';return markup;},applyToElement:function(div) +{div=$(div);if(div!=null) +{if(div.parentNode) +{$(div.parentNode).ensureHasLayoutForIE();} +var size=new IWSize(div.offsetWidth,div.offsetHeight);div.insert(this.p_imageMarkup(size,(div.hasClassName("aboveStrokesAndFrames")?-1:"auto")));if(!div.hasClassName("flowDefining")) +{if(div.style.position!='absolute') +{var divRect=new IWRect(0,0,div.offsetWidth,div.offsetHeight);var padding=divRect.paddingToRect(this.mStrokeRect);var marginLeft=Element.getStyle(div,"marginLeft");marginLeft=marginLeft?(toPixelsAtElement(div,marginLeft,false)):0;var marginTop=Element.getStyle(div,"marginTop");marginTop=marginTop?(toPixelsAtElement(div,marginTop,true)):0;var marginRight=Element.getStyle(div,"marginRight");marginRight=marginRight?(toPixelsAtElement(div,marginRight,false)):0;var marginBottom=Element.getStyle(div,"marginBottom");marginBottom=marginBottom?(toPixelsAtElement(div,marginBottom,true)):0;div.setStyle({marginLeft:px(padding.left+marginLeft),marginTop:px(padding.top+marginTop),marginRight:px(padding.right+marginRight),marginBottom:px(padding.bottom+marginBottom)});if(windowsInternetExplorer&&effectiveBrowserVersion==7) +{updateListOfIE7FloatsFix(div);}}}}},strokeExtra:function(imageSize) +{if(imageSize===undefined) +{imageSize=this.mMaxImageSize;} +var imageRect=new IWRect(IWZeroPoint(),imageSize);return imageRect.paddingToRect(this.p_strokeRect(imageSize));}});var IWEmptyStroke=Class.create({initialize:function() +{},markupForImageStreamEntry:function(imageStreamEntry,imageSize) +{var rect=new IWRect(0,0,imageSize.width,imageSize.height);var markup='
';markup+=imageStreamEntry.thumbnailMarkupForRect(rect);markup+='
';return markup;},applyToElement:function(div) +{},strokeExtra:function() +{return new IWPadding(0,0,0,0);}});var kSFRFrameTopLeft=0;var kSFRFrameTop=1;var kSFRFrameTopRight=2;var kSFRFrameRight=3;var kSFRFrameBottomRight=4;var kSFRFrameBottom=5;var kSFRFrameBottomLeft=6;var kSFRFrameLeft=7;var kSFRFrameClip=0;var kSFRFrameStretchEvenly=1;var kSFRFrameStretchToFit=2;var IWPhotoFrame=Class.create({initialize:function(images,maskImages,tilingMode,assetScale,leftInset,topInset,rightInset,bottomInset,unscaledLeftWidth,unscaledTopHeight,unscaledRightWidth,unscaledBottomHeight,leftTileHeight,topTileWidth,rightTileHeight,bottomTileWidth,adornmentURL,adornmentPosition,adornmentSize,minimumAssetScale) +{this.mImages=images;this.mMaskImages=maskImages;this.mTilingMode=tilingMode;this.mLeftInset=leftInset;this.mTopInset=topInset;this.mRightInset=rightInset;this.mBottomInset=bottomInset;this.mUnscaledLeftWidth=unscaledLeftWidth;this.mUnscaledTopHeight=unscaledTopHeight;this.mUnscaledRightWidth=unscaledRightWidth;this.mUnscaledBottomHeight=unscaledBottomHeight;this.mLeftTileHeight=leftTileHeight;this.mTopTileWidth=topTileWidth;this.mRightTileHeight=rightTileHeight;this.mBottomTileWidth=bottomTileWidth;this.mAdornmentURL=adornmentURL;this.mAdornmentPosition=adornmentPosition;this.mAdornmentSize=adornmentSize;this.mMinimumAssetScale=minimumAssetScale;this.setAssetScale(assetScale);},setAssetScale:function(assetScale) +{assetScale=Math.min(assetScale,1.0);assetScale=Math.max(this.mMinimumAssetScale,assetScale);this.mAssetScale=assetScale;this.mLeftWidth=this.scaledValue(this.mUnscaledLeftWidth);this.mTopHeight=this.scaledValue(this.mUnscaledTopHeight);this.mRightWidth=this.scaledValue(this.mUnscaledRightWidth);this.mBottomHeight=this.scaledValue(this.mUnscaledBottomHeight);},scaledValue:function(valueToScale) +{return Math.ceil(valueToScale*this.mAssetScale);},markupForImageStreamEntry:function(imageStreamEntry,size) +{var oldAssetScale=this.mAssetScale;var maximumScale=this.maximumAssetScaleForImageSize(size);if((maximumScale=this.mMinimumAssetScale)) +{this.setAssetScale(maximumScale);} +var coverageRect=this.coverageRect(new IWRect(0,0,size.width,size.height));var imageRect=new IWRect(-coverageRect.origin.x,-coverageRect.origin.y,size.width,size.height);coverageRect=coverageRect.offsetToOrigin();var markup='
';markup+=imageStreamEntry.thumbnailMarkupForRect(imageRect);if(maximumScale>=this.mMinimumAssetScale) +{if(this.mImages!=null) +{markup+=this.p_buildFrame(this.mImages,coverageRect.size,2);} +if(this.mAdornmentURL!=null) +{markup+=this.p_adornmentMarkupForRect(imageRect,2);} +if(this.mMaskImages) +{}} +markup+='
';if(oldAssetScale!=this.mAssetScale)this.setAssetScale(oldAssetScale);return markup;},strokeExtra:function() +{var adornmentExtraTopMargin=0;if(this.mAdornmentURL) +{adornmentExtraTopMargin=Math.max(0,(this.scaledValue(this.mAdornmentSize.height)-this.mTopHeight)/2.0-this.mAdornmentPosition.y);} +return new IWPadding(this.mLeftWidth-this.scaledValue(this.mLeftInset),this.mTopHeight-this.scaledValue(this.mTopInset)+adornmentExtraTopMargin,this.mRightWidth-this.scaledValue(this.mRightInset),this.mBottomHeight-this.scaledValue(this.mBottomInset));},applyToElement:function(div) +{div=$(div);if(div!=null) +{if(div.parentNode) +{$(div.parentNode).ensureHasLayoutForIE();} +var markup='';var divRect=new IWRect(0,0,div.offsetWidth,div.offsetHeight);if((divRect.size.width>=(this.scaledValue(this.mLeftInset)+this.scaledValue(this.mRightInset)))&&(divRect.size.height>=(this.scaledValue(this.mTopInset)+this.scaledValue(this.mTopInset)))) +{if(this.mImages!=null) +{var coverageRect=this.coverageRect(divRect);var containerRect=new IWRect(coverageRect.origin.x,coverageRect.origin.y,0,0);markup+='
';markup+=this.p_buildFrame(this.mImages,coverageRect.size,(div.hasClassName("aboveStrokesAndFrames")?-1:"auto"));markup+='
';} +if(this.mAdornmentURL!=null) +{markup+=this.p_adornmentMarkupForRect(divRect);}} +div.insert(markup);if(!div.hasClassName("flowDefining")) +{if(div.style.position!='absolute') +{var frameExtra=this.strokeExtra();var marginLeft=Element.getStyle(div,"marginLeft");marginLeft=marginLeft?(toPixelsAtElement(div,marginLeft,false)):0;var marginTop=Element.getStyle(div,"marginTop");marginTop=marginTop?(toPixelsAtElement(div,marginTop,true)):0;var marginRight=Element.getStyle(div,"marginRight");marginRight=marginRight?(toPixelsAtElement(div,marginRight,false)):0;var marginBottom=Element.getStyle(div,"marginBottom");marginBottom=marginBottom?(toPixelsAtElement(div,marginBottom,true)):0;div.setStyle({marginLeft:px(frameExtra.left+marginLeft),marginTop:px(frameExtra.top+marginTop),marginRight:px(frameExtra.right+marginRight),marginBottom:px(frameExtra.bottom+marginBottom)});if(windowsInternetExplorer&&effectiveBrowserVersion==7) +{updateListOfIE7FloatsFix(div);}}}}},maximumAssetScaleForImageSize:function(in_imgSize) +{var maxScale=1;if((in_imgSize.width>this.mLeftInset+this.mRightInset)&&(in_imgSize.height>this.mTopInset+this.mBottomInset)) +{maxScale=1;} +else if((in_imgSize.width=in_imgSize.width)&&((this.mLeftInset+this.mRightInset)>0)) +{var leftChunkRatio=Math.floor(this.mLeftInset/(this.mLeftInset+this.mRightInset)*in_imgSize.width)/this.mLeftInset;var rightChunkRatio=Math.floor(this.mRightInset/(this.mLeftInset+this.mRightInset)*in_imgSize.width)/this.mRightInset;leftChunkRatio-=floatEpsilon;rightChunkRatio-=floatEpsilon;maxWidthScale=Math.max(leftChunkRatio,rightChunkRatio);if(in_imgSize.width<(Math.ceil(this.mLeftInset*maxWidthScale)+Math.ceil(this.mRightInset*maxWidthScale))) +{maxWidthScale=Math.min(leftChunkRatio,rightChunkRatio);} +if((maxWidthScale=in_imgSize.height)&&((this.mTopInset+this.mBottomInset)>0)) +{var topChunkRatio=Math.floor(this.mTopInset/(this.mTopInset+this.mBottomInset)*in_imgSize.height)/this.mTopInset;var bottomChunkRatio=Math.floor(this.mBottomInset/(this.mTopInset+this.mBottomInset)*in_imgSize.height)/this.mBottomInset;topChunkRatio-=floatEpsilon;bottomChunkRatio-=floatEpsilon;maxHeightScale=Math.max(topChunkRatio,bottomChunkRatio);if(in_imgSize.height<(Math.ceil(this.mTopInset*maxHeightScale)+Math.ceil(this.mBottomInset*maxHeightScale))) +{maxHeightScale=Math.min(topChunkRatio,bottomChunkRatio);} +if((maxHeightScale20) +{IWAssert(function(){return true},"Please remove this assert and the surrouding block.");iWLog("Too many frame image tiles are getting generated. Performance may be affected.");} +if(tilingMode==kSFRFrameStretchEvenly) +{offset=(end-start)/maxTiles;if(vertical) +{imageRect.size.height=offset;} +else +{imageRect.size.width=offset;}} +else if(tilingMode==kSFRFrameClip) +{markup+='
';imageRect.origin.x=0;imageRect.origin.y=0;} +for(var i=0;i-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement('div').__proto__&&document.createElement('div').__proto__!==document.createElement('form').__proto__},ScriptFragment:']*>([\\S\\s]*?)<\/script>',JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x}};if(Prototype.Browser.MobileSafari) +Prototype.BrowserFeatures.SpecificElementExtensions=false;if(Prototype.Browser.WebKit) +Prototype.BrowserFeatures.XPath=false;var Class={create:function(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0])) +parent=properties.shift();function klass(){this.initialize.apply(this,arguments);} +Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){var subclass=function(){};subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass);} +for(var i=0;i0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length);}else{result+=source,source='';}} +return result;},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=count===undefined?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});},scan:function(pattern,iterator){this.gsub(pattern,iterator);return String(this);},truncate:function(length,truncation){length=length||30;truncation=truncation===undefined?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this);},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'');},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)});},escapeHTML:function(){var self=arguments.callee;self.text.data=this;return self.div.innerHTML;},unescapeHTML:function(){var div=new Element('div');div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):'';},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join('='):pair[0];if(value!=undefined)value=decodeURIComponent(value);if(key in hash){if(!Object.isArray(hash[key]))hash[key]=[hash[key]];hash[key].push(value);} +else hash[key]=value;} +return hash;});},toArray:function(){return this.split('');},succ:function(){return this.slice(0,this.length-1)+ +String.fromCharCode(this.charCodeAt(this.length-1)+1);},times:function(count){return count<1?'':new Array(count+1).join(this);},camelize:function(){var parts=this.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=this.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i-1;},startsWith:function(pattern){return this.indexOf(pattern)===0;},endsWith:function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d;},empty:function(){return this=='';},blank:function(){return/^\s*$/.test(this);},interpolate:function(object,pattern){return new Template(this,pattern).evaluate(object);}});if(Prototype.Browser.WebKit||Prototype.Browser.IE)Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,'&').replace(//g,'>');},unescapeHTML:function(){return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');}});String.prototype.gsub.prepareReplacement=function(replacement){if(Object.isFunction(replacement))return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement('div'),text:document.createTextNode('')});with(String.prototype.escapeHTML)div.appendChild(text);var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){if(Object.isFunction(object.toTemplateReplacements)) +object=object.toTemplateReplacements();return this.template.gsub(this.pattern,function(match){if(object==null)return'';var before=match[1]||'';if(before=='\\')return match[2];var ctx=object,expr=match[3];var pattern=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/,match=pattern.exec(expr);if(match==null)return before;while(match!=null){var comp=match[1].startsWith('[')?match[2].gsub('\\\\]',']'):match[1];ctx=ctx[comp];if(null==ctx||''==match[3])break;expr=expr.substring('['==match[3]?match[1].length:match[0].length);match=pattern.exec(expr);} +return before+String.interpret(ctx);}.bind(this));}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(iterator,context){var index=0;iterator=iterator.bind(context);try{this._each(function(value){iterator(value,index++);});}catch(e){if(e!=$break)throw e;} +return this;},eachSlice:function(number,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var index=-number,slices=[],array=this.toArray();while((index+=number)=result) +result=value;});return result;},min:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==undefined||valueb?1:0;}).pluck('value');},toArray:function(){return this.map();},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last())) +iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});},size:function(){return this.toArray().length;},inspect:function(){return'#';}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(iterable){if(!iterable)return[];if(iterable.toArray)return iterable.toArray();var length=iterable.length,results=new Array(length);while(length--)results[length]=iterable[length];return results;} +if(Prototype.Browser.WebKit){function $A(iterable){if(!iterable)return[];if(!(Object.isFunction(iterable)&&iterable=='[object NodeList]')&&iterable.toArray)return iterable.toArray();var length=iterable.length,results=new Array(length);while(length--)results[length]=iterable[length];return results;}} +Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i1?this:this[0];},uniq:function(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value))) +array.push(value);return array;});},intersect:function(array){return this.uniq().findAll(function(item){return array.detect(function(value){return item===value});});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';},toJSON:function(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(value!==undefined)results.push(value);});return'['+results.join(', ')+']';}});if(Object.isFunction(Array.prototype.forEach)) +Array.prototype._each=Array.prototype.forEach;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(item,i){i||(i=0);var length=this.length;if(i<0)i=length+i;for(;i1;}()){function each(iterator){var cache=[];for(var key in this._object){var value=this._object[key];if(cache.include(key))continue;cache.push(key);var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}}}else{function each(iterator){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}}} +function toQueryPair(key,value){if(Object.isUndefined(value))return key;return key+'='+encodeURIComponent(String.interpret(value));} +return{initialize:function(object){this._object=Object.isHash(object)?object.toObject():Object.clone(object);},_each:each,set:function(key,value){return this._object[key]=value;},get:function(key){return this._object[key];},unset:function(key){var value=this._object[key];delete this._object[key];return value;},toObject:function(){return Object.clone(this._object);},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},index:function(value){var match=this.detect(function(pair){return pair.value===value;});return match&&match.key;},merge:function(object){return this.clone().update(object);},update:function(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result;});},toQueryString:function(){return this.map(function(pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=='object'){if(Object.isArray(values)) +return values.map(toQueryPair.curry(key)).join('&');} +return toQueryPair(key,values);}).join('&');},inspect:function(){return'#';},toJSON:function(){return Object.toJSON(this.toObject());},clone:function(){return new Hash(this);}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ();}},include:function(value){if(value1&&!((readyState==4)&&this._complete)) +this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,'Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+ +(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005) +headers['Connection']='close';} +if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(Object.isFunction(extras.push)) +for(var i=0,length=extras.length;i=200&&status<300);},getStatus:function(){try{return this.transport.status||0;}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);if(state=='Complete'){try{this._complete=true;(this.options['on'+response.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(response,response.headerJSON);}catch(e){this.dispatchException(e);} +var contentType=response.getHeader('Content-type');if(this.options.evalJS=='force'||(this.options.evalJS&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) +this.evalResponse();} +try{(this.options['on'+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch('on'+state,this,response,response.headerJSON);}catch(e){this.dispatchException(e);} +if(state=='Complete'){this.transport.onreadystatechange=Prototype.emptyFunction;}},getHeader:function(name){try{return this.transport.getResponseHeader(name);}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||'').unfilterJSON());}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON();} +if(readyState==4){var xml=transport.responseXML;this.responseXML=xml===undefined?null:xml;this.responseJSON=this._getResponseJSON();}},status:0,statusText:'',getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||'';}catch(e){return''}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders();}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name);},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders();},_getHeaderJSON:function(){var json=this.getHeader('X-JSON');if(!json)return null;json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON);}catch(e){this.request.dispatchException(e);}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!='force'&&!(this.getHeader('Content-type')||'').include('application/json'))) +return null;try{return this.transport.responseText.evalJSON(options.sanitizeJSON);}catch(e){this.request.dispatchException(e);}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=options||{};var onComplete=options.onComplete;options.onComplete=(function(response,param){this.updateContent(response.responseText);if(Object.isFunction(onComplete))onComplete(response,param);}).bind(this);$super(url,options);},updateContent:function(responseText){var receiver=this.container[this.success()?'success':'failure'],options=this.options;if(!options.evalScripts)responseText=responseText.stripScripts();if(receiver=$(receiver)){if(options.insertion){if(Object.isString(options.insertion)){var insertion={};insertion[options.insertion]=responseText;receiver.insert(insertion);} +else options.insertion(receiver,responseText);} +else receiver.update(responseText);} +if(this.success()){if(this.onComplete)this.onComplete.bind(this).defer();}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=response.responseText;} +this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes);} +if(!cache[tagName])cache[tagName]=Element.extend(document.createElement(tagName));return Element.writeAttribute(cache[tagName].cloneNode(false),attributes);};Object.extend(this.Element,element||{});}).call(window);Element.cache={};Element.Methods={visible:function(element){return $(element).style.display!='none';},toggle:function(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element;},hide:function(element){$(element).style.display='none';return element;},show:function(element){$(element).style.display='';return element;},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element;},update:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;},replace:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();else if(!Object.isElement(content)){content=Object.toHTML(content);var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts());} +element.parentNode.replaceChild(content,element);return element;},insert:function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML))) +insertions={bottom:insertions};var content,t,range;for(position in insertions){content=insertions[position];position=position.toLowerCase();t=Element._insertionTranslations[position];if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){t.insert(element,content);continue;} +content=Object.toHTML(content);range=element.ownerDocument.createRange();t.initializeRange(element,range);t.insert(element,range.createContextualFragment(content.stripScripts()));content.evalScripts.bind(content).defer();} +return element;},wrap:function(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper)) +$(wrapper).writeAttribute(attributes||{});else if(Object.isString(wrapper))wrapper=new Element(wrapper,attributes);else wrapper=new Element('div',wrapper);if(element.parentNode) +element.parentNode.replaceChild(wrapper,element);wrapper.appendChild(element);return wrapper;},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({'id':'id','className':'class'}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);});return result+'>';},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property]) +if(element.nodeType==1) +elements.push(Element.extend(element));return elements;},ancestors:function(element){return $(element).recursivelyCollect('parentNode');},descendants:function(element){return $A($(element).getElementsByTagName('*')).each(Element.extend);},firstDescendant:function(element){element=$(element).firstChild;while(element&&element.nodeType!=1)element=element.nextSibling;return $(element);},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[];},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling');},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling');},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings());},match:function(element,selector){if(Object.isString(selector)) +selector=new Selector(selector);return selector.match($(element));},up:function(element,expression,index){element=$(element);if(arguments.length==1)return $(element.parentNode);var ancestors=element.ancestors();return expression?Selector.findElement(ancestors,expression,index):ancestors[index||0];},down:function(element,expression,index){element=$(element);if(arguments.length==1)return element.firstDescendant();var descendants=element.descendants();return expression?Selector.findElement(descendants,expression,index):descendants[index||0];},previous:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.previousElementSibling(element));var previousSiblings=element.previousSiblings();return expression?Selector.findElement(previousSiblings,expression,index):previousSiblings[index||0];},next:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.nextElementSibling(element));var nextSiblings=element.nextSiblings();return expression?Selector.findElement(nextSiblings,expression,index):nextSiblings[index||0];},select:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args);},adjacent:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element.parentNode,args).without(element);},identify:function(element){element=$(element);var id=element.readAttribute('id'),self=arguments.callee;if(id)return id;do{id='anonymous_element_'+self.counter++}while($(id));element.writeAttribute('id',id);return id;},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];if(name.include(':')){return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value;}} +return element.getAttribute(name);},writeAttribute:function(element,name,value){element=$(element);var attributes={},t=Element._attributeTranslations.write;if(typeof name=='object')attributes=name;else attributes[name]=value===undefined?true:value;for(var attr in attributes){var name=t.names[attr]||attr,value=attributes[attr];if(t.values[attr])name=t.values[attr](element,value);if(value===false||value===null) +element.removeAttribute(name);else if(value===true) +element.setAttribute(name,name);else element.setAttribute(name,value);} +return element;},getHeight:function(element){return $(element).getDimensions().height;},getWidth:function(element){return $(element).getDimensions().width;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));},addClassName:function(element,className){if(!(element=$(element)))return;if(!element.hasClassName(className)) +element.className+=(element.className?' ':'')+className;return element;},removeClassName:function(element,className){if(!(element=$(element)))return;element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ').strip();return element;},toggleClassName:function(element,className){if(!(element=$(element)))return;return element[element.hasClassName(className)?'removeClassName':'addClassName'](className);},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue)) +element.removeChild(node);node=nextNode;} +return element;},empty:function(element){return $(element).innerHTML.blank();},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);if(element.compareDocumentPosition) +return(element.compareDocumentPosition(ancestor)&8)===8;if(element.sourceIndex&&!Prototype.Browser.Opera){var e=element.sourceIndex,a=ancestor.sourceIndex,nextAncestor=ancestor.nextSibling;if(!nextAncestor){do{ancestor=ancestor.parentNode;} +while(!(nextAncestor=ancestor.nextSibling)&&ancestor.parentNode);} +if(nextAncestor)return(e>a&&e','',1],TBODY:['','
',2],TR:['','
',3],TD:['
','
',4],SELECT:['',1]}};(function(){this.bottom.initializeRange=this.top.initializeRange;Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD});}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(element,attribute){attribute=Element._attributeTranslations.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return node&&node.specified;}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement('div').__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement('div').__proto__;Prototype.BrowserFeatures.ElementExtensions=true;} +Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions) +return Prototype.K;var Methods={},ByTag=Element.Methods.ByTag;var extend=Object.extend(function(element){if(!element||element._extendedByPrototype||element.nodeType!=1||element==window)return element;var methods=Object.clone(Methods),tagName=element.tagName,property,value;if(ByTag[tagName])Object.extend(methods,ByTag[tagName]);for(property in methods){value=methods[property];if(Object.isFunction(value)&&!(property in element)) +element[property]=value.methodize();} +element._extendedByPrototype=Prototype.emptyFunction;return element;},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated);}}});extend.refresh();return extend;})();Element.hasAttribute=function(element,attribute){if(element.hasAttribute)return element.hasAttribute(attribute);return Element.Methods.Simulated.hasAttribute(element,attribute);};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{"FORM":Object.clone(Form.Methods),"INPUT":Object.clone(Form.Element.Methods),"SELECT":Object.clone(Form.Element.Methods),"TEXTAREA":Object.clone(Form.Element.Methods)});} +if(arguments.length==2){var tagName=methods;methods=arguments[1];} +if(!tagName)Object.extend(Element.Methods,methods||{});else{if(Object.isArray(tagName))tagName.each(extend);else extend(tagName);} +function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName]) +Element.Methods.ByTag[tagName]={};Object.extend(Element.Methods.ByTag[tagName],methods);} +function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;for(var property in methods){var value=methods[property];if(!Object.isFunction(value))continue;if(!onlyIfAbsent||!(property in destination)) +destination[property]=value.methodize();}} +function findDOMClass(tagName){var klass;var trans={"OPTGROUP":"OptGroup","TEXTAREA":"TextArea","P":"Paragraph","FIELDSET":"FieldSet","UL":"UList","OL":"OList","DL":"DList","DIR":"Directory","H1":"Heading","H2":"Heading","H3":"Heading","H4":"Heading","H5":"Heading","H6":"Heading","Q":"Quote","INS":"Mod","DEL":"Mod","A":"Anchor","IMG":"Image","CAPTION":"TableCaption","COL":"TableCol","COLGROUP":"TableCol","THEAD":"TableSection","TFOOT":"TableSection","TBODY":"TableSection","TR":"TableRow","TH":"TableCell","TD":"TableCell","FRAMESET":"FrameSet","IFRAME":"IFrame"};if(trans[tagName])klass='HTML'+trans[tagName]+'Element';if(window[klass])return window[klass];klass='HTML'+tagName+'Element';if(window[klass])return window[klass];klass='HTML'+tagName.capitalize()+'Element';if(window[klass])return window[klass];window[klass]={};window[klass].prototype=document.createElement(tagName).__proto__;return window[klass];} +if(F.ElementExtensions){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true);} +if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass))continue;copy(T[tag],klass.prototype);}} +Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh)Element.extend.refresh();Element.cache={};};document.viewport={getDimensions:function(){var dimensions={};$w('width height').each(function(d){var D=d.capitalize();dimensions[d]=self['inner'+D]||(document.documentElement['client'+D]||document.body['client'+D]);});return dimensions;},getWidth:function(){return this.getDimensions().width;},getHeight:function(){return this.getDimensions().height;},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop);}};var Selector=Class.create({initialize:function(expression){this.expression=expression.strip();this.compileMatcher();},compileMatcher:function(){if(Prototype.BrowserFeatures.XPath&&!(/(\[[\w-]*?:|:checked)/).test(this.expression)) +return this.compileXPathMatcher();var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return;} +this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],'');break;}}} +this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join('\n'));Selector._cache[this.expression]=this.matcher;},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m;if(Selector._cache[e]){this.xpath=Selector._cache[e];return;} +this.matcher=['.//*'];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){if(m=e.match(ps[i])){this.matcher.push(Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m));e=e.replace(m[0],'');break;}}} +this.xpath=this.matcher.join('');Selector._cache[this.expression]=this.xpath;},findElements:function(root){root=root||document;if(this.xpath)return document._getElementsByXPath(this.xpath,root);return this.matcher(root);},match:function(element){this.tokens=[];var e=this.expression,ps=Selector.patterns,as=Selector.assertions;var le,p,m;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){if(as[i]){this.tokens.push([i,Object.clone(m)]);e=e.replace(m[0],'');}else{return this.findElements(document).include(element);}}}} +var match=true,name,matches;for(var i=0,token;token=this.tokens[i];i++){name=token[0],matches=token[1];if(!Selector.assertions[name](element,matches)){match=false;break;}} +return match;},toString:function(){return this.expression;},inspect:function(){return"#";}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:'/following-sibling::*',tagName:function(m){if(m[1]=='*')return'';return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']";},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:"[@#{1}]",attr:function(m){m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m);},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h)return'';if(Object.isFunction(h))return h(m);return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);},operators:{'=':"[@#{1}='#{3}']",'!=':"[@#{1}!='#{3}']",'^=':"[starts-with(@#{1}, '#{3}')]",'$=':"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",'*=':"[contains(@#{1}, '#{3}')]",'~=':"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",'|=':"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{'first-child':'[not(preceding-sibling::*)]','last-child':'[not(following-sibling::*)]','only-child':'[not(preceding-sibling::* or following-sibling::*)]','empty':"[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",'checked':"[@checked]",'disabled':"[@disabled]",'enabled':"[not(@disabled)]",'not':function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,m,v;var exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in p){if(m=e.match(p[i])){v=Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],'');break;}}} +return"[not("+exclusion.join(" and ")+")]";},'nth-child':function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m);},'nth-last-child':function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m);},'nth-of-type':function(m){return Selector.xpath.pseudos.nth("position() ",m);},'nth-last-of-type':function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m);},'first-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-of-type'](m);},'last-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-last-of-type'](m);},'only-of-type':function(m){var p=Selector.xpath.pseudos;return p['first-of-type'](m)+p['last-of-type'](m);},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';if(mm=formula.match(/^(\d+)$/)) +return'['+fragment+"= "+mm[1]+']';if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-")mm[1]=-1;var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and "+"((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b});}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c); c = false;',className:'n = h.className(n, r, "#{1}", c); c = false;',id:'n = h.id(n, r, "#{1}", c); c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}"); c = false;',attr:function(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m);},pseudo:function(m){if(m[6])m[6]=m[6].replace(/"/g,'\\"');return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s)|(?=:))/,attrPresence:/^\[([\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},assertions:{tagName:function(element,matches){return matches[1].toUpperCase()==element.tagName.toUpperCase();},className:function(element,matches){return Element.hasClassName(element,matches[1]);},id:function(element,matches){return element.id===matches[1];},attrPresence:function(element,matches){return Element.hasAttribute(element,matches[1]);},attr:function(element,matches){var nodeValue=Element.readAttribute(element,matches[1]);return Selector.operators[matches[2]](nodeValue,matches[3]);}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++) +a.push(node);return a;},mark:function(nodes){for(var i=0,node;node=nodes[i];i++) +node._counted=true;return nodes;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++) +node._counted=undefined;return nodes;},index:function(parentNode,reverse,ofType){parentNode._counted=true;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;i>=0;i--){var node=nodes[i];if(node.nodeType==1&&(!ofType||node._counted))node.nodeIndex=j++;}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++) +if(node.nodeType==1&&(!ofType||node._counted))node.nodeIndex=j++;}},unique:function(nodes){if(nodes.length==0)return nodes;var results=[],n;for(var i=0,l=nodes.length;i0?[b]:[];return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0)memo.push(i);return memo;});},nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0)return[];if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++){if(!node.parentNode._counted){h.index(node.parentNode,reverse,ofType);indexed.push(node.parentNode);}} +if(formula.match(/^\d+$/)){formula=Number(formula);for(var i=0,node;node=nodes[i];i++) +if(node.nodeIndex==formula)results.push(node);}else if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-")m[1]=-1;var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++){for(var j=0;j+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip());});var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i1)?h.unique(results):results;}});function $$(){return Selector.findChildElements(document,$A(arguments));} +var Form={reset:function(form){$(form).reset();return form;},serializeElements:function(elements,options){if(typeof options!='object')options={hash:!!options};else if(options.hash===undefined)options.hash=true;var key,value,submitted=false,submit=options.submit;var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();if(value!=null&&(element.type!='submit'||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true)))){if(key in result){if(!Object.isArray(result[key]))result[key]=[result[key]];result[key].push(value);} +else result[key]=value;}} +return result;});return options.hash?data:Object.toQueryString(data);}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options);},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()]) +elements.push(Element.extend(child));return elements;});},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i=0;}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute('action')||'';if(action.blank())action=window.location.href;options.parameters=form.serialize(true);if(params){if(Object.isString(params))params=params.toQueryParams();Object.extend(options.parameters,params);} +if(form.hasAttribute('method')&&!options.method) +options.method=form.method;return new Ajax.Request(action,options);}};Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair);}} +return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element;},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type))) +element.select();}catch(e){} +return element;},disable:function(element){element=$(element);element.blur();element.disabled=true;return element;},enable:function(element){element=$(element);element.disabled=false;return element;}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element,value){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element,value);default:return Form.Element.Serializers.textarea(element,value);}},inputSelector:function(element,value){if(value===undefined)return element.checked?element.value:null;else element.checked=!!value;},textarea:function(element,value){if(value===undefined)return element.value;else element.value=value;},select:function(element,index){if(index===undefined) +return this[element.type=='select-one'?'selectOne':'selectMany'](element);else{var opt,value,single=!Object.isArray(index);for(var i=0,length=element.length;i=0?this.optionValue(element.options[index]):null;},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;fireContentLoadedEvent();}};}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(element,content){return Element.insert(element,{before:content});},Top:function(element,content){return Element.insert(element,{top:content});},Bottom:function(element,content){return Element.insert(element,{bottom:content});},After:function(element,content){return Element.insert(element,{after:content});}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},within:function(element,x,y){if(this.includeScrollOffsets) +return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);return(y>=this.offset[1]&&y=this.offset[0]&&x=this.offset[1]&&this.ycomp=this.offset[0]&&this.xcomp0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();try +{if(NodeList&&NodeList.prototype&&!NodeList.prototype._each) +{Object.extend(NodeList.prototype,{_each:function(iterator){for(var i=0,length=this.length;i0) +{var iPhoto=navigator.mimeTypes[iPhotoMimeTypePlugin];if(iPhoto) +{var description=iPhoto.description;try +{var components=description.split(" ");if(components&&components.length>1) +{var pluginVersion=components[1];if(pluginVersion>=iPhotoVersionMin) +{feed.mProtocol="photo";}}} +catch(exception) +{}}} +window.location=feed.toURLString();} +function loadCSS(file) +{var cssNode=document.createElement('link');cssNode.setAttribute('rel','stylesheet');cssNode.setAttribute('type','text/css');cssNode.setAttribute('href',file);document.getElementsByTagName('head')[0].appendChild(cssNode);} +function loadMozillaCSS(file) +{if(isMozilla||isFirefox||isCamino) +{loadCSS(file);}} +function utf8sequence(c) +{if(c<=0x0000007f)return[c];if(c<=0x000007ff)return[(0xc0|(c>>>6)),(0x80|(c&0x3f))];if(c<=0x0000ffff)return[(0xe0|(c>>>12)),(0x80|((c>>>6)&0x3f)),(0x80|(c&0x3f))];if(c<=0x001fffff)return[(0xf0|(c>>>18)),(0x80|((c>>>12)&0x3f)),(0x80|((c>>>6)&0x3f)),(0x80|(c&0x3f))];if(c<=0x03ffffff)return[(0xf8|(c>>>24)),(0x80|((c>>>18)&0x3f)),(0x80|((c>>>12)&0x3f)),(0x80|((c>>>6)&0x3f)),(0x80|(c&0x3f))];if(c<=0x7fffffff)return[(0xfc|(c>>>30)),(0x80|((c>>>24)&0x3f)),(0x80|((c>>>18)&0x3f)),(0x80|((c>>>12)&0x3f)),(0x80|((c>>>6)&0x3f)),(0x80|(c&0x3f))];return[];} +function utf8encode(s) +{var result=[];var firstSurrogate=0;for(var i=0;i=0xDC00)&&(code<=0xDFFF)) +{code=(firstSurrogate-0xD800)*0x400+(code-0xDC00)+0x10000;firstSurrogate=0;}} +else +{if((code<0xD800)||(code>0xDFFF)) +{} +else if((code>=0xD800)&&(code<0xDC00)) +{firstSurrogate=code;continue;} +else +{continue;}} +result=result.concat(utf8sequence(code));} +var resultString="";for(i=0;i0) +{converted=parseFloat(value);} +else if(value.indexOf("pt")>0) +{converted=px_per_pt*parseFloat(value);} +else if(value.indexOf("in")>0) +{converted=72*px_per_pt*parseFloat(value);} +else if(value.indexOf("pc")>0) +{converted=12*px_per_pt*parseFloat(value);} +else if(value.indexOf("mm")>0) +{converted=2.83465*px_per_pt*parseFloat(value);} +else if(value.indexOf("cm")>0) +{converted=28.3465*px_per_pt*parseFloat(value);} +return converted;} +function toPixelsAtElement(element,value,vertical) +{var converted=0;if(value.indexOf("%")>0) +{var containerSize=0;if(vertical) +{containerSize=$(element.parentNode).getHeight();} +else +{containerSize=$(element.parentNode).getWidth();} +converted=containerSize*parseFloat(value)/100.0;} +else if(value.indexOf("em")>0) +{converted=parseFloat(value)*toPixels(Element.getStyle(element,'fontSize'));} +else +{converted=toPixels(value);} +return converted;} +function backgroundPositionDimension(oBlock,currentBGPosition,blockDimension,imageDimension) +{var position=0;if(currentBGPosition==='center') +{position=(blockDimension/2)-(imageDimension/2);} +else if((currentBGPosition==='right')||(currentBGPosition==='bottom')) +{position=blockDimension-imageDimension;} +else if((currentBGPosition==='left')||(currentBGPosition==='top')) +{position=0;} +else if(currentBGPosition.indexOf("px")>0) +{position=parseFloat(currentBGPosition);} +else if(currentBGPosition.indexOf("em")>0) +{position=parseFloat(currentBGPosition)*toPixels(oBlock.currentStyle.fontSize);} +else if(currentBGPosition.indexOf("%")>0) +{position=parseFloat(currentBGPosition)*blockDimension/100.0;} +else if((currentBGPosition.indexOf("pt")>0)||(currentBGPosition.indexOf("in")>0)||(currentBGPosition.indexOf("pc")>0)||(currentBGPosition.indexOf("cm")>0)||(currentBGPosition.indexOf("mm")>0)) +{position=toPixels(currentBGPosition);} +return position;} +function elementHasCSSBGPNG(element) +{return(element.currentStyle&&element.currentStyle.backgroundImage&&(element.currentStyle.backgroundImage.indexOf('url(')!=-1)&&(element.currentStyle.backgroundImage.indexOf('.png")')!=-1));} +function fixupIEPNGBG(oBlock) +{if(oBlock) +{if(elementHasCSSBGPNG(oBlock)) +{var currentBGImage=oBlock.currentStyle.backgroundImage;var currentBGRepeat=oBlock.currentStyle.backgroundRepeat;var currentBGPositionX=oBlock.currentStyle.backgroundPositionX;var currentBGPositionY=oBlock.currentStyle.backgroundPositionY;var urlStart=currentBGImage.indexOf('url(');var urlEnd=currentBGImage.indexOf(')',urlStart);var imageURL=currentBGImage.substring(urlStart+4,urlEnd);if(imageURL.charAt(0)=='"') +{imageURL=imageURL.substring(1);} +if(imageURL.charAt(imageURL.length-1)=='"') +{imageURL=imageURL.substring(0,imageURL.length-1);} +imageURL=IEConvertURLForPNGFix(imageURL);var overrideRepeat=false;var filterStyle="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ +imageURL+"', sizingMethod='crop');";var fixupIEPNGBG_helper=function(img) +{var tileWidth=img.width;var tileHeight=img.height;var blockWidth=0;var blockHeight=0;if(oBlock.style.width) +{blockWidth=parseInt(oBlock.style.width,10);} +else +{blockWidth=oBlock.offsetWidth;} +if(oBlock.style.height) +{blockHeight=parseInt(oBlock.style.height,10);} +else +{blockHeight=oBlock.offsetHeight;} +var blockPaddingLeft=parseInt(oBlock.style.paddingLeft||0,10);if((blockWidth===0)||(blockHeight===0)) +{return;} +var wholeRows=1;var wholeCols=1;var extraHeight=0;var extraWidth=0;if(((currentBGRepeat.indexOf("repeat-x")!=-1)&&(tileWidth==1)&&(tileHeight==blockHeight))||((currentBGRepeat.indexOf("repeat-y")!=-1)&&(tileWidth==blockWidth)&&(tileHeight==1))||((currentBGRepeat=="repeat")&&(tileWidth==1)&&(tileHeight==1))) +{tileWidth=blockWidth;tileHeight=blockHeight;filterStyle="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ +imageURL+"', sizingMethod='scale');";} +else if((currentBGRepeat.indexOf("no-repeat")!=-1)||((tileWidth===0)&&(tileHeight===0))) +{tileWidth=blockWidth;tileHeight=blockHeight;} +else if((currentBGRepeat.indexOf("repeat-x")!=-1)||(tileHeight===0)) +{wholeCols=Math.floor(blockWidth/tileWidth);extraWidth=blockWidth-(tileWidth*wholeCols);tileHeight=blockHeight;} +else if(currentBGRepeat.indexOf("repeat-y")!=-1) +{wholeRows=Math.floor(blockHeight/tileHeight);extraHeight=blockHeight-(tileHeight*wholeRows);tileWidth=blockWidth;} +else +{wholeCols=Math.floor(blockWidth/tileWidth);wholeRows=Math.floor(blockHeight/tileHeight);extraWidth=blockWidth-(tileWidth*wholeCols);extraHeight=blockHeight-(tileHeight*wholeRows);} +var wrappedContent=$(document.createElement("div"));var pngBGFixIsWrappedContentEmpty=true;wrappedContent.setStyle({position:"relative",zIndex:"1",left:0,top:0,background:"transparent"});if(!isNaN(parseInt(oBlock.style.width,10))) +{wrappedContent.style.width=px(blockWidth);} +if(!isNaN(parseInt(oBlock.style.height,10))) +{wrappedContent.style.height=px(blockHeight);} +while(oBlock.hasChildNodes()) +{if(oBlock.firstChild.nodeType==3) +{if(RegExp("^ *$").exec(oBlock.firstChild.data)===null) +{pngBGFixIsWrappedContentEmpty=false;}} +else +{pngBGFixIsWrappedContentEmpty=false;} +wrappedContent.appendChild(oBlock.firstChild);} +if(pngBGFixIsWrappedContentEmpty) +{wrappedContent.style.lineHeight=0;} +var bgPositionX=backgroundPositionDimension(oBlock,currentBGPositionX,blockWidth,img.width);var bgPositionY=backgroundPositionDimension(oBlock,currentBGPositionY,blockHeight,img.height);bgPositionX-=blockPaddingLeft;var newMarkup="";for(var currentRow=0;currentRow
";} +if(extraWidth!==0) +{newMarkup+="
";}} +if(extraHeight!==0) +{for(currentCol=0;currentCol ";} +if(extraWidth!==0) +{newMarkup+="
";}} +oBlock.innerHTML=newMarkup;if(!pngBGFixIsWrappedContentEmpty) +{oBlock.appendChild(wrappedContent);} +oBlock.style.background="";} +var backgroundImage=new Image();backgroundImage.src=imageURL;if(backgroundImage.complete) +{fixupIEPNGBG_helper(backgroundImage);} +else +{backgroundImage.onload=fixupIEPNGBG_helper.bind(null,backgroundImage);}}}} +function fixupIEPNGBGsInTree(oAncestor,forceAutoFixup) +{if(shouldApplyCSSBackgroundPNGFix()) +{try +{var allDivs=$(oAncestor).select('div');if(isDiv(oAncestor)) +{allDivs.push(oAncestor);} +allDivs.each(function(oNode) +{if((!($(oNode).hasClassName("noAutoPNGFix"))&&!($(oNode).hasClassName("noAutoPNGFixInTree"))&&($(oNode.up(".noAutoPNGFixInTree")==undefined)))||forceAutoFixup) +{fixupIEPNGBG(oNode);}});} +catch(e) +{}}} +function fixupAllIEPNGBGs() +{setTimeout(fixupIEPNGBGsInTree.bind(null,document),1);} +function optOutOfCSSBackgroundPNGFix(element) +{if(shouldApplyCSSBackgroundPNGFix()) +{$(element).select('div').each(function(div) +{if(elementHasCSSBGPNG(div)) +{$(div).addClassName("noAutoPNGFix");}});}} +function fixupIECSS3Opacity(strElementID) +{if(windowsInternetExplorer) +{var oNode=$(strElementID);if(oNode&&(parseFloat(oNode.currentStyle.getAttribute('opacity'))<1)) +{var opacity=parseFloat(oNode.currentStyle.getAttribute('opacity'));oNode.style.height=px(oNode.offsetHeight);var targetNode=oNode;if(oNode.tagName.toLowerCase()=='img') +{targetNode=$(document.createElement('div'));targetNode.setStyle({position:oNode.style.position,top:oNode.style.top,left:oNode.style.left,width:oNode.style.width,height:oNode.style.height,opacity:oNode.style.opacity,zIndex:oNode.style.zIndex});oNode.setStyle({left:0,top:0,opacity:''});if(oNode.parentNode.tagName.toLowerCase()=='a') +{var anchor=oNode.parentNode;anchor.parentNode.insertBefore(targetNode,anchor);targetNode.appendChild(anchor);} +else +{oNode.parentNode.insertBefore(targetNode,oNode);targetNode.appendChild(oNode);}} +else if(oNode.tagName.toLowerCase()=='div') +{var bufferWidth=100;var oNodeWidth=oNode.offsetWidth;var oNodeHeight=oNode.offsetHeight;extents=new IWExtents(-bufferWidth,-bufferWidth,oNodeWidth+bufferWidth,oNodeHeight*2+bufferWidth);var positionStyleVal=oNode.getStyle("position");var floatStyleVal=oNode.getStyle("float");var positioned=((positionStyleVal=="relative")||(positionStyleVal=="absolute"));var absolutelyPositioned=(positionStyleVal=="absolute"&&(floatStyleVal=="none"));targetNode=$(document.createElement('div'));var classString=oNode.className;classString=classString.replace(/(shadow_\d+)/g,'');classString=classString.replace(/(stroke_\d+)/g,'');classString=classString.replace(/(reflection_\d+)/g,'');targetNode.className=classString;targetNode.setStyle({position:positioned?positionStyleVal:"relative",styleFloat:floatStyleVal,clear:oNode.getStyle("clear"),width:px(extents.right-extents.left),height:px(extents.bottom-extents.top),opacity:oNode.style.opacity,zIndex:oNode.style.zIndex});if(absolutelyPositioned) +{targetNode.setStyle({top:px((parseFloat(oNode.getStyle("top"))||0)+extents.top),left:px((parseFloat(oNode.getStyle("left"))||0)+extents.left)});} +else +{targetNode.setStyle({marginTop:px((parseFloat(oNode.getStyle("marginTop"))||0)+extents.top),marginLeft:px((parseFloat(oNode.getStyle("marginLeft"))||0)+extents.left),marginBottom:px((parseFloat(oNode.getStyle("marginBottom"))||0)- +(extents.bottom-oNodeHeight)),marginRight:px((parseFloat(oNode.getStyle("marginRight"))||0)- +(extents.right-oNodeWidth))});} +oNode.setStyle({position:"absolute",styleFloat:"none",clear:"none",left:px(-extents.left),top:px(-extents.top),margin:0,verticalAlign:'baseline',display:'block',opacity:''});if(effectiveBrowserVersion<7||actualBrowserVersion>=8) +{oNode.className=oNode.className.replace(/(shadow_\d+)/g,'');} +oNode.parentNode.insertBefore(targetNode,oNode);targetNode.appendChild(oNode);} +$(targetNode).setFilter('progid:DXImageTransform.Microsoft.BasicImage','opacity='+opacity);}}} +function IWSetDivOpacity(div,fraction,suppressFilterRemoval) +{if(windowsInternetExplorer) +{if(fraction<.99||(suppressFilterRemoval==true)) +{$(div).setFilter('alpha','opacity='+fraction*100);} +else +{$(div).killFilter('alpha');}} +else +{$(div).setOpacity(fraction);}} +function IMpreload(path,name,areaIndex) +{var rolloverName=name+'_rollover_'+areaIndex;var rolloverPath=path+'/'+rolloverName+'.png';self[rolloverName]=new Image();self[rolloverName].src=rolloverPath;var linkName=name+'_link_'+areaIndex;var linkPath=path+'/'+linkName+'.png';self[linkName]=new Image();self[linkName].src=linkPath;return true;} +function swapAlphaImageLoaderFilterSrc(img,src) +{var filterName='progid:DXImageTransform.Microsoft.AlphaImageLoader';var filterParams='src="'+IEConvertURLForPNGFix(src)+'", sizingMethod="scale"';img.setFilter(filterName,filterParams);img.originalSrc=img.src;} +function IMmouseover(name,areaIndex) +{var rolloverName=name+'_rollover_'+areaIndex;var linkName=name+'_link_'+areaIndex;var img=$(linkName);if(img) +{if(windowsInternetExplorer&&img.originalSrc) +{swapAlphaImageLoaderFilterSrc(img,self[rolloverName].src);} +else +{img.src=self[rolloverName].src;}} +return true;} +function IMmouseout(name,areaIndex) +{var linkName=name+'_link_'+areaIndex;var img=$(linkName);if(img) +{if(windowsInternetExplorer&&img.originalSrc) +{swapAlphaImageLoaderFilterSrc(img,self[linkName].src);} +else +{img.src=self[linkName].src;}} +return true;} +var quicktimeAvailable=false;var quicktimeVersion702=false;var isQuicktimeDetectionInitialized=false;var minVersionNum=0x7028000;var minVersionArray=['7','0','2'];function initializeQuicktimeDetection() +{if((navigator.plugins!==null)&&(navigator.plugins.length>0)) +{for(i=0;iminVersionComponent)||((qtVersionComponent==minVersionComponent)&&(j==minVersionArray.length-1))) +{quicktimeVersion702=true;break;} +else if(qtVersionComponent=minVersionNum) +{quicktimeVersion702=true;}}} +catch(e) +{}} +isQuicktimeDetectionInitialized=true;} +function fixupPodcast(mediaId,anchorId) +{if(!isQuicktimeDetectionInitialized) +{initializeQuicktimeDetection();} +if(!quicktimeVersion702) +{var oMediaElem=$(mediaId);var oAnchorElem=$(anchorId);if(oMediaElem&&oAnchorElem) +{oAnchorElem.style.display='inline';oMediaElem.parentNode.removeChild(oMediaElem);}}} +function allListBulletImagesContainedBy(node) +{var result=[];for(var i=0;i0) +{return true;} +else +{return containsFixedHeightIntermediate(oDescendant.parentNode,oAncestor);}} +function getShrinkableParaDescendants(oAncestor) +{return $(oAncestor).select('div.paragraph, p').findAll(function(paragraph){return!containsFixedHeightIntermediate(paragraph,oAncestor);});} +var MINIMUM_FONT="10";var UNITS="";function elementFontSize(element) +{var fontSize=MINIMUM_FONT;if(document.defaultView) +{var computedStyle=document.defaultView.getComputedStyle(element,null);if(computedStyle) +{fontSize=computedStyle.getPropertyValue("font-size");}} +else if(element.currentStyle) +{fontSize=element.currentStyle.fontSize;} +if((UNITS.length===0)&&(fontSize!=MINIMUM_FONT)) +{UNITS=fontSize.substring(fontSize.length-2,fontSize.length);} +return parseFloat(fontSize);} +function isExceptionToOneLineRule(element) +{return $(element).hasClassName("Header");} +var HEIGHT_ERROR_MARGIN=2;function adjustFontSizeIfTooBig(idOfElement) +{var oParagraphDiv;var oSpan;var oTextBoxInnerDiv;var oTextBoxOuterDiv=$(idOfElement);if(oTextBoxOuterDiv) +{oTextBoxInnerDiv=oTextBoxOuterDiv.selectFirst("div.text-content");if(oTextBoxInnerDiv) +{hideAllListBulletImagesContainedBy(oTextBoxInnerDiv);var offsetHeight=oTextBoxInnerDiv.offsetHeight;var specifiedHeight=offsetHeight;if(oTextBoxOuterDiv.style.height!=="") +{specifiedHeight=parseFloat(oTextBoxOuterDiv.style.height);} +if(offsetHeight>(specifiedHeight+HEIGHT_ERROR_MARGIN)) +{var smallestFontSize=200;var aParaChildren=getShrinkableParaDescendants(oTextBoxInnerDiv);var oneLine=false;var exceptionToOneLineRule=false;for(i=0;i=specifiedHeight);exceptionToOneLineRule=oneLine&&isExceptionToOneLineRule(oParagraphDiv);} +var fontSize=elementFontSize(oParagraphDiv);if(!isNaN(fontSize)) +{smallestFontSize=Math.min(smallestFontSize,fontSize);} +for(j=0;jminimum)&&(offsetHeight>(specifiedHeight+HEIGHT_ERROR_MARGIN))&&(count<10)) +{++count;if(oneLine&&!exceptionToOneLineRule) +{var oldWidth=parseInt(oTextBoxOuterDiv.style.width,10);oTextBoxInnerDiv.style.width=px(oldWidth*Math.pow(1.05,count));} +else +{var scale=Math.max(0.95,minimum/smallestFontSize);for(i=0;i(specifiedHeight+HEIGHT_ERROR_MARGIN)) +{var adjusted=true;var count=0;while((adjusted)&&(offsetHeight>(specifiedHeight+HEIGHT_ERROR_MARGIN))&&(count<10)) +{adjusted=false;++count;var aParaChildren=getShrinkableParaDescendants(oTextBoxInnerDiv);for(i=0;i=(fontSize*1.1)) +{oParagraphDiv.style.lineHeight=lineHeight+UNITS;adjusted=true;} +for(j=0;j=(fontSize*1.1)) +{oSpan.style.lineHeight=lineHeight+UNITS;adjusted=true;}}}} +offsetHeight=oTextBoxInnerDiv.offsetHeight;}} +showAllListBulletImagesContainedBy(oTextBoxInnerDiv);}}} +function isDiv(node) +{return(node.nodeType==Node.ELEMENT_NODE)&&(node.tagName=="DIV");} +function fixupAllMozInlineBlocks() +{if(isFirefox||isCamino) +{var oInlineBlocks=$$("div.inline-block");for(var i=0,inlineBlocksLength=oInlineBlocks.length;i0) +{var floatElem=floatDescendants.shift();floatValue=floatElem.getStyle("float");if(floatValue=="left"||floatValue=="right") +{var floatAncestor=getWidthDefiningAncestor(floatElem);if(floatAncestor===commonAncestor) +{if(!listOfIE7FloatsFix.include(floatElem)) +{listOfIE7FloatsFix.push(floatElem);}}}}}} +function fixupFloatsIfIE7() +{if(windowsInternetExplorer&&effectiveBrowserVersion==7) +{if(listOfIE7FloatsFix.length>0) +{var floatsToRestore=[];var floatElem;var displayStyle;while(listOfIE7FloatsFix.length>0) +{floatElem=listOfIE7FloatsFix.shift();displayStyle=floatElem.getStyle("display");$(floatElem).hide();floatsToRestore.push({element:floatElem,displayStyle:displayStyle});} +while(floatsToRestore.length>0) +{var queueEntry=floatsToRestore.shift();floatElem=queueEntry.element;displayStyle=queueEntry.displayStyle;$(floatElem).setStyle({"display":displayStyle});}}}} +function joltLater(element) +{setTimeout(function(element){$(element).hide();}.bind(null,element),100);setTimeout(function(element){$(element).show();}.bind(null,element),200);} +function performPostEffectsFixups() +{fixupAllMozInlineBlocks();fixupFloatsIfIE7();} +function reduceLeftMarginIfIE6(element) +{if(windowsInternetExplorer&&effectiveBrowserVersion<7) +{$(element).style.marginLeft=px(parseFloat($(element).style.marginLeft||0)-1);}} +function reduceRightMarginIfIE6(element) +{if(windowsInternetExplorer&&effectiveBrowserVersion<7) +{$(element).style.marginRight=px(parseFloat($(element).style.marginRight||0)-1);}} +Object.objectType=function(obj) +{var result=typeof obj;if(result=="object") +{if(obj.constructor==Array) +result="Array";} +return result;} +var trace=function(){};function ajaxGetDocumentElement(req) +{var dom=null;if(req) +{if(req.responseXML&&req.responseXML.documentElement) +{dom=req.responseXML;} +else if(req.responseText) +{if(window.DOMParser) +{dom=(new DOMParser()).parseFromString(req.responseText,"text/xml");} +else if(window.ActiveXObject) +{dom=new ActiveXObject("MSXML.DOMDocument");if(dom) +{dom.async=false;dom.loadXML(req.responseText);}}}} +return dom?dom.documentElement:null;} +function iWLog(str) +{if(window.console) +{window.console.log(str);} +else if(window.dump) +{window.dump(str+"\n");}} +function iWPosition(abs,left,top,width,height) +{var pos="";if(abs) +pos="position: absolute; ";var size="";if(width&&height) +size=' width: '+width+'px; height: '+height+'px;';return pos+'left: '+left+'px; top: '+top+'px;'+size;} +var gIWUtilsTransparentGifURL="";function setTransparentGifURL(url) +{if(gIWUtilsTransparentGifURL=="") +{gIWUtilsTransparentGifURL=url;}} +function transparentGifURL() +{(function(){return gIWUtilsTransparentGifURL!=""}).assert("Transparent image URL not set");return gIWUtilsTransparentGifURL;} +function imgMarkup(src,style,attributes,alt,forceFixupIE7) +{var markup="";if(src) +{style=style||"";attributes=attributes||"";alt=alt||"";if(windowsInternetExplorer&&((effectiveBrowserVersion<7)||(effectiveBrowserVersion<8&&forceFixupIE7!==false))) +{style+=" filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+IEConvertURLForPNGFix(src)+"', sizingMethod='scale');";src=gIWUtilsTransparentGifURL;} +if(style.length>0) +{style=' style="'+style+'"';} +if(attributes.length>0) +{attributes=' '+attributes;} +if(alt.length>0) +{alt=' alt="'+alt.stringByEscapingXML(true)+'"';} +markup='';} +return markup;} +function setImgSrc(imgElement,src,forceFixupIE7) +{if(windowsInternetExplorer&&((effectiveBrowserVersion<7)||(effectiveBrowserVersion<8&&forceFixupIE7!==false))&&src.slice(-4).toLowerCase()==".png") +{$(imgElement).setFilter('progid:DXImageTransform.Microsoft.AlphaImageLoader','src="'+IEConvertURLForPNGFix(src)+'", sizingMethod="scale"');imgElement.src=gIWUtilsTransparentGifURL;} +else +{imgElement.src=src;}} +function iWOpacity(opacity) +{var style="";if(windowsInternetExplorer) +{style=" progid:DXImageTransform.Microsoft.Alpha(opacity="+opacity*100+"); ";} +else +{style=" opacity: "+opacity+"; ";} +return style;} +var IWRange=Class.create({initialize:function(location,length) +{this.setLocation(location);this.setLength(length);},length:function() +{return this.p_length;},setLength:function(length) +{this.p_length=parseFloat(length);},location:function() +{return this.p_location;},setLocation:function(location) +{this.p_location=parseFloat(location);},max:function() +{return this.location()+this.length();},min:function() +{return this.location();},shift:function(amount) +{this.setLocation(this.location()+amount);},containsLocation:function(location) +{return((location>=this.min())&&(location0&&scaledSize.height>0) +{var wScale=targetSize.width/scaledSize.width;var hScale=targetSize.height/scaledSize.height;var scale=fitTarget?Math.min(wScale,hScale):Math.max(wScale,hScale);scaledSize.width*=scale;scaledSize.height*=scale;} +return scaledSize;},scaleToFit:function(sizeToFit) +{return this.scaleToTargetSize(sizeToFit,true);},round:function() +{return this.scale(1,1,true);},toString:function() +{return"Size("+this.width+", "+this.height+")";},aspectRatio:function() +{return this.width/this.height;},subtractSize:function(s) +{return new IWSize(this.width-s.width,this.height-s.height);}});function IWZeroPoint() +{return new IWPoint(0,0);} +var IWPoint=Class.create({initialize:function(x,y) +{this.x=x;this.y=y;},scale:function(hscale,vscale,round) +{if(round===undefined)round=false;if(vscale===undefined)vscale=hscale;var scaled=new IWPoint(this.x*hscale,this.y*vscale);if(round) +{scaled.x=Math.round(scaled.x);scaled.y=Math.round(scaled.y);} +return scaled;},round:function() +{return this.scale(1,1,true);},offset:function(deltaX,deltaY) +{return new IWPoint(this.x+deltaX,this.y+deltaY);},toString:function() +{return"Point("+this.x+", "+this.y+")";}});function IWZeroRect() +{return new IWRect(0,0,0,0);} +var IWRect=Class.create({initialize:function() +{if(arguments.length==1) +{this.origin=arguments[0].origin;this.size=arguments[0].size;} +else if(arguments.length==2) +{this.origin=arguments[0];this.size=arguments[1];} +else if(arguments.length==4) +{this.origin=new IWPoint(arguments[0],arguments[1]);this.size=new IWSize(arguments[2],arguments[3]);}},clone:function() +{return new IWRect(this.origin.x,this.origin.y,this.size.width,this.size.height);},toString:function() +{return"Rect("+this.origin.toString()+", "+this.size.toString()+")";},maxX:function() +{return this.origin.x+this.size.width;},maxY:function() +{return this.origin.y+this.size.height;},union:function(that) +{var minX=Math.min(this.origin.x,that.origin.x);var minY=Math.min(this.origin.y,that.origin.y);var maxX=Math.max(this.maxX(),that.maxX());var maxY=Math.max(this.maxY(),that.maxY());return new IWRect(minX,minY,maxX-minX,maxY-minY);},intersection:function(that) +{var intersectionRect;var minX=Math.max(this.origin.x,that.origin.x);var minY=Math.max(this.origin.y,that.origin.y);var maxX=Math.min(this.maxX(),that.maxX());var maxY=Math.min(this.maxY(),that.maxY());if((minX0)?children[0]:null;} +function getChildElementTextByTagName(node,tagName) +{var result="";if(node!==null) +{var children=node.getElementsByTagName(tagName);if(children.length>1) +{throw"MultipleResults";} +if(children.length==1) +{result=getTextFromNode(children[0]);}} +return result;} +function getChildElementTextByTagNameNS(node,ns,nsPrefix,localName) +{var result="";if(node) +{var children=getChildElementsByTagNameNS(node,ns,nsPrefix,localName);if(children.length>1) +throw"MultipleResults";if(children.length==1) +{result=getTextFromNode(children[0]);}} +return result;} +function adjustNodeIds(node,suffix) +{var undefined;if(node.id!="") +{node.id+=("$"+suffix);} +$(node).childElements().each(function(e){adjustNodeIds(e,suffix);});} +function substituteSpans(parentNode,replacements) +{$H(replacements).each(function(pair) +{var selector="span."+pair.key;$(parentNode).select(selector).each(function(node) +{var contentType=pair.value[0];var newContent=pair.value[1];if(contentType=="text") +{node.update(newContent);} +else if(contentType=="html") +{node.innerHTML=newContent;}});});} +Element.addMethods({selectFirst:function(element,tag_name){var elements=$(element).select(tag_name);return(elements.length>0)?$(elements[0]):null;},setVisibility:function(element,visible){element=$(element);if(visible) +{element.style.display='inline';} +else +{element.style.display='none';} +return element;},ensureHasLayoutForIE:function(element) +{element=$(element);if(windowsInternetExplorer&&effectiveBrowserVersion<8) +{if(!element.currentStyle.hasLayout) +{element.style.zoom=1;}}},setFilter:function(element,filterName,filterParams) +{element=$(element);var regex=new RegExp(filterName+'\\([^\\)]*\\);','gi');element.style.filter=element.style.filter.replace(regex,'')+ +filterName+'('+filterParams+'); ';return element;},killFilter:function(element,filterName) +{element=$(element);var regex=new RegExp(filterName+'\\([^\\)]*\\);','gi');element.style.filter=element.style.filter.replace(regex,'');return element;},cloneNodeExcludingIDs:function(element,deep) +{var clone=element.cloneNode(deep);if(deep) +{var descendantsWithID=clone.select("[id]");for(var i=0,length=descendantsWithID.length;i0) +{formatted+=format.substring(0,foundIndex)} +var matchInfo=format.match(formatPattern);var formatCharacter=matchInfo[3];if(formatCharacter=="%") +{formatted+="%";} +else +{if(matchInfo[2]) +{argumentNumber=parseInt(matchInfo[2]);} +else +{argumentNumber=nextArgument++;} +argument=(argumentNumberlastSeparatorIndex+1)&&lastDotIndex>0)?this.slice(lastDotIndex+1):this;},stringByDeletingLastPathComponent:function() +{return this.substr(0,this.lastIndexOf("/"));},stringByDeletingPathExtension:function() +{var lastSeparatorIndex=this.lastIndexOf("/");var lastDotIndex=this.lastIndexOf(".");if((lastDotIndex>lastSeparatorIndex+1)&&lastDotIndex>0) +return this.slice(0,lastDotIndex);return this;},stringByAppendingPathComponent:function(component) +{return this.endsWith("/")?(this+component):(this+"/"+component);},stringByAppendingAsQueryString:function(parameters) +{return this+'?'+$H(parameters).toQueryString();},stringByUnescapingXML:function() +{var str=this.replace(/</g,'<');str=str.replace(/>/g,'>');str=str.replace(/"/g,'"');str=str.replace(/'/g,"'");str=str.replace(/&/g,'&');return str;},stringByEscapingXML:function(escapeAdditionalCharacters) +{var str=this.replace(/&/g,'&');str=str.replace(//g,'>');str=str.replace(/"/g,'"');str=str.replace(/'/g,''');} +return str;},stringByConvertingNewlinesToBreakTags:function() +{return this.replace(/\n\r|\n|\r/g,'
');},urlStringByDeletingQueryAndFragment:function() +{var result=this;var lastIndex=result.lastIndexOf("?");if(lastIndex>0) +return result.substr(0,lastIndex);lastIndex=result.lastIndexOf("#");if(lastIndex>0) +result=result.substr(0,lastIndex);return result;},toRelativeURL:function(baseURL) +{var result=this;if(baseURL&&this.indexOf(baseURL)==0) +{var chop=baseURL.length;if(this.charAt(chop)=='/') +++chop;result=this.substring(chop);} +return result;},toAbsoluteURL:function() +{var result=this;if(this.indexOf(":/")==-1) +{var pageURL=document.URL.urlStringByDeletingQueryAndFragment();var pathURL=pageURL.stringByDeletingLastPathComponent();result=pathURL.stringByAppendingPathComponent(this);} +return result;},toRebasedURL:function(baseURL) +{return this.toRelativeURL(baseURL).toAbsoluteURL();},httpURLRegExp:function() +{if(String.m_httpurlRegExp==undefined) +{var alpha="[A-Za-z]";var digit="[0-9]";var safe="[$_.+-]";var extra="[!*'(),]";var unreserved="("+alpha+"|"+digit+"|"+safe+"|"+extra+")";var hex="("+digit+"|"+"[A-Fa-f])";var escapeSeq="(%"+hex+hex+")";var uchar="("+unreserved+"|"+escapeSeq+")";var alphadigit="("+alpha+"|"+digit+")";var digits=digit+"+";var hostnumber="("+digits+"\\."+digits+"\\."+digits+"\\."+digits+")";var toplabel="(("+alpha+"("+alpha+"|"+"-)*"+alphadigit+")|"+alpha+")";var domainlabel="(("+alphadigit+"("+alphadigit+"|"+"-)*"+alphadigit+")|"+alphadigit+")";var hostname="(("+domainlabel+"\\.)*"+toplabel+")";var host="("+hostname+"|"+hostnumber+")";var port=digits;var hostport="(("+host+")(:"+port+")?)";var hsegment="((("+uchar+")|[;:@&=])*)";var search="((("+uchar+")|[;:@&=])*)";var hpath="("+hsegment+"(/"+hsegment+")*)";var httpurl="((http)|(feed)|(https))://"+hostport+"(/"+hpath+"(\\?"+search+")?)?" +String.m_httpurlRegExp=new RegExp(httpurl);} +return String.m_httpurlRegExp;},isHTTPURL:function() +{var matchResult=this.match(this.httpURLRegExp());return matchResult?(matchResult[0]==this):false;},firstHTTPURL:function() +{var matchResult=this.match(this.httpURLRegExp());return matchResult?matchResult[0]:undefined;},httpURLQueryString:function() +{var charIndex=this.indexOf("?");charIndex=((charIndex==-1)?this.indexOf("&"):charIndex);return(charIndex==-1)?"":this.slice(charIndex+1);},plaintextgsub:function(pattern,replacement) +{var value=this;while(true) +{var index=value.indexOf(pattern);if(index==-1) +break;value=value.substr(0,index)+replacement+value.substr(index+pattern.length);} +return value;}});function IWURL(urlString) +{try +{if((arguments.length==0)||(arguments.length==1&&(urlString==""||urlString==null))) +{this.p_initWithParts(null,null,null,null,null);} +else if(arguments.length==1) +{urlString.replace("file://localhost/","file:///");var urlParts=urlString.match(/^([A-Z]+):\/\/([^/]*)((\/[^?#]*)(\?([^#]*))?(#(.*))?)?/i);if(urlParts) +{this.p_initWithParts(urlParts[1],urlParts[2],urlParts[4]||"/",urlParts[6]||null,urlParts[8]||null);} +else +{urlParts=urlString.match(/^([^?#]*)(\?([^#]*))?(#(.*))?/);if(urlParts) +{this.p_initWithParts(null,null,urlParts[1],urlParts[3]||null,urlParts[5]||null);} +else +{}}}} +catch(e) +{print("Exception Parsing URL:"+e);}} +Object.extend(IWURL,{p_normalizePathComponents:function(components) +{var index=0;while(index0) +{var previousComponent=components[index-1];if(previousComponent=="/") +{components.splice(index,1);} +else if(previousComponent!="..") +{components.splice(index-1,2);index-=1;} +else +{index+=1;}} +else +{index+=1;}} +else +{index+=1;}} +return components;}});Object.extend(IWURL.prototype,{p_initWithParts:function(inProtocol,inAuthority,inPath,inQuery,inFragment) +{this.mProtocol=inProtocol;this.mAuthority=inAuthority;this.mQuery=inQuery;this.mFragment=inFragment;this.mPathComponents=null;if(inPath) +{this.mPathComponents=inPath.split('/');if(this.mPathComponents[0]=="") +this.mPathComponents[0]='/';for(var i=0;i0)&&(this.mProtocol==base.mProtocol)&&(this.mAuthority==base.mAuthority)) +{var commonAncestorIndex=0;for(var index=0;indexcommonAncestorIndex;--up) +{relativePath.push("..");} +for(var down=commonAncestorIndex+1;down