var CantoUtils={update:function(b,a){if(a.nodeType!=document.ELEMENT_NODE){a=a.nextSibling}if(a){var c=CantoUtils.importNode(a,true);b.innerHTML="";b.appendChild(c);if(!document.importNode){b.innerHTML=b.innerHTML}}},importNode:function(g,b){switch(g.nodeType){case document.ELEMENT_NODE:var e=document.createElement(g.nodeName);if(g.attributes&&g.attributes.length>0){for(var d=0,c=g.attributes.length;d<c;){e.setAttribute(g.attributes[d].nodeName,g.getAttribute(g.attributes[d++].nodeName))}}if(b&&g.childNodes&&g.childNodes.length>0){for(var a=0,f=g.childNodes.length;a<f;){e.appendChild(CantoUtils.importNode(g.childNodes[a++],b))}}return e;case document.TEXT_NODE:case document.CDATA_SECTION_NODE:return document.createTextNode(g.nodeValue);case document.COMMENT_NODE:return document.createComment(g.nodeValue)}},updateTooltipPosition:function(f,e,i,d,g){var c=document.viewport.getDimensions();var b=document.viewport.getScrollOffsets().top;var h=Element.getDimensions(i);if((h.width+f+d)>=(c.width-20)){f=f-h.width-d}else{f=f+d}var a=b+c.height;if((e+h.height+d)>=a&&(e-b-h.height+d>0)){e=Math.min(e-h.height+d,a-h.height-g)}else{e=e+d}i.setStyle({top:(e)+"px",left:(f)+"px"})},activateOrDeactivateMasterCheckboxForChildren:function(b,a){if($(a).select('input[type="checkbox"]').detect(function(c){return c.checked})!=undefined){$(b).checked="checked"}else{$(b).checked=""}},optimizePopupWindowHeight:function(a,b){$$(a).each(function(c){c.setStyle({maxHeight:(document.viewport.getHeight()*0.8-b)+"px"})})},adaptHeightTextArea:function(c,e,a){var d=$(c);if(d){d.setStyle({height:e});var b=d.clientHeight;if(b<a){b=Math.max(d.scrollHeight,b);if(a){b=Math.min(a,b)}if(b>d.clientHeight){d.style.height=b+"px"}}}},isLeftClick:function(c,b){var a=Event.isLeftClick(c);if(!a&&b){a=Event.isMiddleClick(c)}return a},updateOptions:function(d,c,b){$(d).select("."+c).each(function(e){Element.addClassName(e,"invisible")}.bind(this));var a=$(c+b);if(a){Element.removeClassName(a,"invisible")}else{$(d).select("."+c+b).each(function(e){Element.removeClassName(e,"invisible")}.bind(this))}},hideFormSelectElements:function(b){if(navigator.appVersion.indexOf("MSIE 6.0")>-1){var c=$("body").getElementsByTagName("select");for(var a=0;a<c.length;a++){if(!Element.childOf(c[a],b)){Element.hide(c[a])}}}},showFormSelectElements:function(){if(navigator.appVersion.indexOf("MSIE 6.0")>-1){var b=$("body").getElementsByTagName("select");for(var a=0;a<b.length;a++){Element.show(b[a])}}},updateRatingUI:function(a,d,h,b,c,f){if(b==1&&a){var i=Event.pointer(a).x;var k=Event.element(a);var m=Position.cumulativeOffset(k)[0];var j=k.width;if(i<m+j/3){h="";b=undefined}}var e=$(d);if(e){var g=(h&&h.length>0)?h:"";if(c){g+=c}e.value=g;var l=e.parentNode.select(".ratingIndicator");if(b==undefined){if(!h||h.length==0){b=0}else{l.each(function(n){var o=n.getAttribute("ratingValue");var p=n.getAttribute("ratingID");if(o&&p&&p==h){b=o}}.bind(this))}}if(b!=undefined){l.each(function(n){var o=Number(n.getAttribute("ratingValue"));var p=Number(n.getAttribute("ratingID"));if(o!=undefined&&p!=undefined){if(o<=b){n.src=f!=undefined?f+"/images/star_on.png":"images/star_on.png"}else{n.src=f!=undefined?f+"/images/star_off.png":"images/star_off.png"}}}.bind(this))}if(e.onfocus){e.onfocus(a)}if(e.onchange){e.onchange(a)}}},showLabelUI:function(c,h){var b=Event.element(c);var a=Element.getDimensions(b);var g=Position.realOffset(b);var e=Position.cumulativeOffset(b);var d=document.viewport.getDimensions();Element.setStyle(h,{position:"absolute",width:(a.width-4)+"px",zIndex:100000});var f=Element.getDimensions(h).height;if(e.top+f>d.height){Element.setStyle(h,{top:(e.top-g.top-f)+"px",left:e.left+"px"});$(h).remove();document.body.appendChild(h)}CantoUtils.hideFormSelectElements();Element.show(h)},updateLabelUI:function(a,c,b,i,f,e,d,h){if(c){c.value=e;if(!d){var g=c.parentNode.select(".labelChooserPopupItem");g.each(function(j){var k=j.getAttribute("labelValue");var l=j.getAttribute("labelID");if(k&&l&&l==e){d=k}}.bind(this))}Element.setStyle(b,{backgroundColor:d});Element.update(i,h!=undefined?h:"");Element.hide(f);CantoUtils.showFormSelectElements();if(c.onfocus){c.onfocus(a)}$(f).remove();i.parentNode.appendChild(f);Event.stop(a)}},horizontalShrink:function(a){if(a){Effect.BlindUp(a,{scaleContent:false,scaleX:true,scaleY:false,delay:0,duration:0.2,queue:"end"})}},horizontalUnshrink:function(a){if(a){Effect.BlindDown(a,{scaleContent:false,scaleX:true,scaleY:false,delay:0,duration:0.2,queue:"end"})}},getStringAsXML:function(c){var a;if(window.ActiveXObject){a=new ActiveXObject("Microsoft.XMLDOM");a.async="false";a.loadXML(c)}else{var b=new DOMParser();a=b.parseFromString(c,"text/xml")}return a},getXMLAsString:function(b){var c=null;var a=b.documentElement;if(a.xml==undefined){c=(new XMLSerializer()).serializeToString(b)}else{c=a.xml}return c}};var CantoBrowserPluginDetector={hasFlashPlayer:function(){return CantoBrowserPluginDetector.getFlashPlayerVersion()!=undefined},getFlashPlayerVersion:function(){try{try{var a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");try{a.AllowScriptAccess="always"}catch(b){return"6,0,0"}}catch(b){}return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(b){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){return(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}}catch(b){}}return undefined}};var CantoAutocompleter=Class.create(Ajax.Autocompleter,{onKeyPress:function(a){if(this.active){switch(a.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:if(this.index==-1){this.hide();this.active=false;return}this.selectEntry();Event.stop(a);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(a);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(a);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(a);return}}else{if(a.keyCode==Event.KEY_TAB||a.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&a.keyCode==0)){return}}this.changed=true;this.hasFocus=true;if(this.observer){clearTimeout(this.observer)}this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000)},markPrevious:function(){if(this.index>0){this.index--}else{this.index=this.entryCount-1;this.update.scrollTop=this.update.scrollHeight}selection=this.getEntry(this.index);selection_top=selection.offsetTop;if(selection_top<this.update.scrollTop){this.update.scrollTop=this.update.scrollTop-selection.offsetHeight}},markNext:function(){if(this.index<this.entryCount-1){this.index++}else{this.index=0;this.update.scrollTop=0}selection=this.getEntry(this.index);selection_bottom=selection.offsetTop+selection.offsetHeight;if(selection_bottom>this.update.scrollTop+this.update.offsetHeight){this.update.scrollTop=this.update.scrollTop+selection.offsetHeight}},updateChoices:function(c){if(!this.changed&&this.hasFocus){this.update.innerHTML=c;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var a=0;a<this.entryCount;a++){var b=this.getEntry(a);b.autocompleteIndex=a;this.addObservers(b)}}else{this.entryCount=0}this.stopIndicator();this.update.scrollTop=0;this.index=-1;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide()}else{this.render()}}}});if(!document.ELEMENT_NODE){document.ELEMENT_NODE=1;document.ATTRIBUTE_NODE=2;document.TEXT_NODE=3;document.CDATA_SECTION_NODE=4;document.ENTITY_REFERENCE_NODE=5;document.ENTITY_NODE=6;document.PROCESSING_INSTRUCTION_NODE=7;document.COMMENT_NODE=8;document.DOCUMENT_NODE=9;document.DOCUMENT_TYPE_NODE=10;document.DOCUMENT_FRAGMENT_NODE=11;document.NOTATION_NODE=12}var ViewDescriptor=Class.create({initialize:function(c,b,a,d){this.recordCollection=c;this.recordView=b;this.imageSizes=$H(a);this.recordsPerPage=$H(d)},getRecordView:function(){return this.recordCollection+this.recordView},setRecordView:function(a){this.recordView=a},getRecordViewRenderer:function(){return this.recordView.toLowerCase()+".jspx"},getImageSizeMinimum:function(){return this.imageSizes.get([this.recordView+"Minimum"])},getImageSizeMaximum:function(){return this.imageSizes.get([this.recordView+"Maximum"])},getImageSizeCurrent:function(){return this.imageSizes.get([this.recordView+"Current"])},setImageSizeCurrent:function(a){this.imageSizes.set([this.recordView+"Current"],a)},getRecordsPerPage:function(){return this.recordsPerPage.get([this.recordView])},setRecordsPerPage:function(a){this.recordsPerPage.set([this.recordView],a)},equals:function(a){return a!=undefined&&(this.recordView==a.recordView)}});var BrowsingHistoryManager=Class.create({initialize:function(a){this.currentHash="";setInterval(function(){var b=top.location.hash.substr(1);if(b!=""&&this.currentHash!=b){this.currentHash=b;return a(this.currentHash)}}.bind(this),250)},navigate:function(a){this.currentHash=a;return top.location.hash=a}});
