var Window=Class.create();Window.keepMultiModalWindow=false;Window.hasEffectLib=(typeof Effect!='undefined');Window.resizeEffectDuration=0.4;Window.prototype={initialize:function(){var id;var optionIndex=0;if(arguments.length>0){if(typeof arguments[0]=="string"){id=arguments[0];optionIndex=1;}
else
id=arguments[0]?arguments[0].id:null;}
if(!id)
id="window_"+new Date().getTime();this.options=Object.extend({className:"dialog",blurClassName:null,minWidth:100,minHeight:20,resizable:true,closable:true,icon:false,spinner:false,minimizable:true,maximizable:true,draggable:true,userData:null,autoHide:false,showLoading:false,hideUntilLoaded:false,showEffect:(Window.hasEffectLib?Effect.Appear:Element.show),hideEffect:(Window.hasEffectLib?Effect.Fade:Element.hide),showEffectOptions:{},hideEffectOptions:{},effectOptions:null,parent:document.body,title:"&nbsp;",url:null,onload:Prototype.emptyFunction,width:200,height:300,opacity:1,recenterAuto:true,wiredDrag:false,closeCallback:null,destroyOnClose:false,gridX:1,gridY:1},arguments[optionIndex]||{});if(this.options.blurClassName)
this.options.focusClassName=this.options.className;if(this.options.effectOptions){Object.extend(this.options.hideEffectOptions,this.options.effectOptions);Object.extend(this.options.showEffectOptions,this.options.effectOptions);if(this.options.showEffect==Element.Appear)
this.options.showEffectOptions.to=this.options.opacity;}
if(Window.hasEffectLib){if(this.options.showEffect==Effect.Appear)
this.options.showEffectOptions.to=this.options.opacity;if(this.options.hideEffect==Effect.Fade)
this.options.hideEffectOptions.from=this.options.opacity;}
if(this.options.hideEffect==Element.hide)
this.options.hideEffect=function(){Element.hide(this.element);if(this.options.destroyOnClose)this.destroy();}.bind(this)
if(this.options.parent!=document.body)
this.options.parent=$(this.options.parent);if(typeof this.options.top=="undefined"&&typeof this.options.bottom=="undefined")
this.options.top=this._round(Math.random()*500,this.options.gridY);if(typeof this.options.left=="undefined"&&typeof this.options.right=="undefined")
this.options.left=this._round(Math.random()*500,this.options.gridX);this.element=this._createWindow(id);this.element.win=this;if(this.options.autoHide)
{var that=this;setTimeout(function(){that.close()},3000);}
this.eventMouseDown=this._initDrag.bindAsEventListener(this);this.eventMouseUp=this._endDrag.bindAsEventListener(this);this.eventMouseMove=this._updateDrag.bindAsEventListener(this);this.eventOnLoad=this._getWindowBorderSize.bindAsEventListener(this);this.eventMouseDownContent=this.toFront.bindAsEventListener(this);this.eventResize=this._recenter.bindAsEventListener(this);this.topbar=$(this.element.id+"_top");this.bottombar=$(this.element.id+"_bottom");this.content=$(this.element.id+"_content");Event.observe(this.topbar,"mousedown",this.eventMouseDown);Event.observe(this.bottombar,"mousedown",this.eventMouseDown);Event.observe(this.content,"mousedown",this.eventMouseDownContent);Event.observe(window,"load",this.eventOnLoad);Event.observe(window,"resize",this.eventResize);Event.observe(window,"scroll",this.eventResize);Event.observe(this.options.parent,"scroll",this.eventResize);if(this.options.draggable){var that=this;[this.topbar,this.topbar.up().previous(),this.topbar.up().next()].each(function(element){element.observe("mousedown",that.eventMouseDown);element.addClassName("top_draggable");});[this.bottombar.up(),this.bottombar.up().previous(),this.bottombar.up().next()].each(function(element){element.observe("mousedown",that.eventMouseDown);element.addClassName("bottom_draggable");});}
if(this.options.resizable){this.sizer=$(this.element.id+"_sizer");Event.observe(this.sizer,"mousedown",this.eventMouseDown);}
this.useLeft=null;this.useTop=null;if(typeof this.options.left!="undefined"){this.element.setStyle({left:parseFloat(this.options.left)+'px'});this.useLeft=true;}
else{this.element.setStyle({right:parseFloat(this.options.right)+'px'});this.useLeft=false;}
if(typeof this.options.top!="undefined"){this.element.setStyle({top:parseFloat(this.options.top)+'px'});this.useTop=true;}
else{this.element.setStyle({bottom:parseFloat(this.options.bottom)+'px'});this.useTop=false;}
this.storedLocation=null;this.setOpacity(this.options.opacity);if(this.options.zIndex)
this.setZIndex(this.options.zIndex)
if(this.options.destroyOnClose)
this.setDestroyOnClose(true);this._getWindowBorderSize();this.width=this.options.width;this.height=this.options.height;this.visible=false;this.constraint=false;this.constraintPad={top:0,left:0,bottom:0,right:0};if(this.width&&this.height)
this.setSize(this.options.width,this.options.height);this.setTitle(this.options.title)
Windows.register(this);},destroy:function(){this._notify("onDestroy");Event.stopObserving(this.topbar,"mousedown",this.eventMouseDown);Event.stopObserving(this.bottombar,"mousedown",this.eventMouseDown);Event.stopObserving(this.content,"mousedown",this.eventMouseDownContent);Event.stopObserving(window,"load",this.eventOnLoad);Event.stopObserving(window,"resize",this.eventResize);Event.stopObserving(window,"scroll",this.eventResize);Event.stopObserving(this.content,"load",this.options.onload);if(this._oldParent){var content=this.getContent();var originalContent=null;for(var i=0;i<content.childNodes.length;i++){originalContent=content.childNodes[i];if(originalContent.nodeType==1)
break;originalContent=null;}
if(originalContent)
this._oldParent.appendChild(originalContent);this._oldParent=null;}
if(this.sizer)
Event.stopObserving(this.sizer,"mousedown",this.eventMouseDown);if(this.options.url)
this.content.src=null
if(this.iefix)
Element.remove(this.iefix);Element.remove(this.element);Windows.unregister(this);},setCloseCallback:function(callback){this.options.closeCallback=callback;},getContent:function(){return this.content;},setContent:function(id,autoresize,autoposition){var element=$(id);if(null==element)throw"Unable to find element '"+id+"' in DOM";this._oldParent=element.parentNode;var d=null;var p=null;if(autoresize)
d=Element.getDimensions(element);if(autoposition)
p=Position.cumulativeOffset(element);var content=this.getContent();this.setHTMLContent("");content=this.getContent();content.appendChild(element);element.show();if(autoresize)
this.setSize(d.width,d.height);if(autoposition)
this.setLocation(p[1]-this.heightN,p[0]-this.widthW);},setHTMLContent:function(html){if(this.options.url){this.content.src=null;this.options.url=null;var content="<div id=\""+this.getId()+"_content\" class=\""+this.options.className+"_content\"> </div>";$(this.getId()+"_table_content").innerHTML=content;this.content=$(this.element.id+"_content");}
this.getContent().innerHTML=html;},setAjaxContent:function(url,ajaxOptions,showCentered,showModal){this.showFunction=showCentered?"showCenter":"show";this.showModal=showModal||false;ajaxOptions=ajaxOptions||{};this.setHTMLContent("");this.onComplete=ajaxOptions.onComplete;if(!this._onCompleteHandler)
this._onCompleteHandler=this._setAjaxContent.bind(this);ajaxOptions.onComplete=this._onCompleteHandler;if(this.options.showLoading)
$(this.getId()+"_loading_spinner").show();if(!this.options.hideUntilLoaded)
this[this.showFunction](this.showModal);new Ajax.Request(url,ajaxOptions);ajaxOptions.onComplete=this.onComplete;},_setAjaxContent:function(originalRequest){Element.update(this.getContent(),originalRequest.responseText);if(this.onComplete)
this.onComplete(originalRequest);this.onComplete=null;if(this.options.showLoading)
$(this.getId()+"_loading_spinner").hide();if(!this.options.hideUntilLoaded)
{if(this.content.scrollHeight>0)
this.setSize(this.options.width,this.content.scrollHeight);this._recenter(null,true);}
else
this[this.showFunction](this.showModal)},setURL:function(url){if(this.options.url)
this.content.src=null;this.options.url=url;var content="<iframe frameborder='0' name='"+this.getId()+"_content'  id='"+this.getId()+"_content' src='"+url+"' width='"+this.width+"' height='"+this.height+"'> </iframe>";$(this.getId()+"_table_content").innerHTML=content;this.content=$(this.element.id+"_content");},getURL:function(){return this.options.url?this.options.url:null;},refresh:function(){if(this.options.url)
$(this.element.getAttribute('id')+'_content').src=this.options.url;},setCookie:function(name,expires,path,domain,secure){name=name||this.element.id;this.cookie=[name,expires,path,domain,secure];var value=WindowUtilities.getCookie(name)
if(value){var values=value.split(',');var x=values[0].split(':');var y=values[1].split(':');var w=parseFloat(values[2]),h=parseFloat(values[3]);var mini=values[4];var maxi=values[5];this.setSize(w,h);if(mini=="true")
this.doMinimize=true;else if(maxi=="true")
this.doMaximize=true;this.useLeft=x[0]=="l";this.useTop=y[0]=="t";this.element.setStyle(this.useLeft?{left:x[1]}:{right:x[1]});this.element.setStyle(this.useTop?{top:y[1]}:{bottom:y[1]});}},getId:function(){return this.element.id;},setDestroyOnClose:function(){this.options.destroyOnClose=true;},setConstraint:function(bool,padding){this.constraint=bool;this.constraintPad=Object.extend(this.constraintPad,padding||{});if(this.useTop&&this.useLeft)
this.setLocation(parseFloat(this.element.style.top),parseFloat(this.element.style.left));},_initDrag:function(event){if(Event.element(event)==this.sizer&&this.isMinimized())
return;if(Event.element(event)!=this.sizer&&this.isMaximized())
return;if(Prototype.Browser.IE&&this.heightN==0)
this._getWindowBorderSize();this.pointer=[this._round(Event.pointerX(event),this.options.gridX),this._round(Event.pointerY(event),this.options.gridY)];if(this.options.wiredDrag)
this.currentDrag=this._createWiredElement();else
this.currentDrag=this.element;if(Event.element(event)==this.sizer){this.doResize=true;this.widthOrg=this.width;this.heightOrg=this.height;this.bottomOrg=parseFloat(this.element.getStyle('bottom'));this.rightOrg=parseFloat(this.element.getStyle('right'));this._notify("onStartResize");}
else{this.doResize=false;var closeButton=$(this.getId()+'_close');if(closeButton&&Position.within(closeButton,this.pointer[0],this.pointer[1])){this.currentDrag=null;return;}
this.toFront();if(!this.options.draggable)
return;this._notify("onStartMove");}
Event.observe(document,"mouseup",this.eventMouseUp,false);Event.observe(document,"mousemove",this.eventMouseMove,false);WindowUtilities.disableScreen('__invisible__','__invisible__',this.overlayOpacity);document.body.ondrag=function(){return false;};document.body.onselectstart=function(){return false;};this.currentDrag.show();Event.stop(event);},_round:function(val,round){return round==1?val:val=Math.floor(val/round)*round;},_updateDrag:function(event){var pointer=[this._round(Event.pointerX(event),this.options.gridX),this._round(Event.pointerY(event),this.options.gridY)];var dx=pointer[0]-this.pointer[0];var dy=pointer[1]-this.pointer[1];if(this.doResize){var w=this.widthOrg+dx;var h=this.heightOrg+dy;dx=this.width-this.widthOrg
dy=this.height-this.heightOrg
if(this.useLeft)
w=this._updateWidthConstraint(w)
else
this.currentDrag.setStyle({right:(this.rightOrg-dx)+'px'});if(this.useTop)
h=this._updateHeightConstraint(h)
else
this.currentDrag.setStyle({bottom:(this.bottomOrg-dy)+'px'});this.setSize(w,h);this._notify("onResize");}
else{this.pointer=pointer;if(this.useLeft){var left=parseFloat(this.currentDrag.getStyle('left'))+dx;var newLeft=this._updateLeftConstraint(left);this.pointer[0]+=newLeft-left;this.currentDrag.setStyle({left:newLeft+'px'});}
else
this.currentDrag.setStyle({right:parseFloat(this.currentDrag.getStyle('right'))-dx+'px'});if(this.useTop){var top=parseFloat(this.currentDrag.getStyle('top'))+dy;var newTop=this._updateTopConstraint(top);this.pointer[1]+=newTop-top;this.currentDrag.setStyle({top:newTop+'px'});}
else
this.currentDrag.setStyle({bottom:parseFloat(this.currentDrag.getStyle('bottom'))-dy+'px'});this._notify("onMove");}
if(this.iefix)
this._fixIEOverlapping();this._removeStoreLocation();Event.stop(event);},_endDrag:function(event){WindowUtilities.enableScreen('__invisible__');if(this.doResize)
this._notify("onEndResize");else
this._notify("onEndMove");Event.stopObserving(document,"mouseup",this.eventMouseUp,false);Event.stopObserving(document,"mousemove",this.eventMouseMove,false);Event.stop(event);this._hideWiredElement();this._saveCookie()
document.body.ondrag=null;document.body.onselectstart=null;},_updateLeftConstraint:function(left){if(this.constraint&&this.useLeft&&this.useTop){var width=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;if(left<this.constraintPad.left)
left=this.constraintPad.left;if(left+this.width+this.widthE+this.widthW>width-this.constraintPad.right)
left=width-this.constraintPad.right-this.width-this.widthE-this.widthW;}
return left;},_updateTopConstraint:function(top){if(this.constraint&&this.useLeft&&this.useTop){var height=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;var h=this.height+this.heightN+this.heightS;if(top<this.constraintPad.top)
top=this.constraintPad.top;if(top+h>height-this.constraintPad.bottom)
top=height-this.constraintPad.bottom-h;}
return top;},_updateWidthConstraint:function(w){if(this.constraint&&this.useLeft&&this.useTop){var width=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;var left=parseFloat(this.element.getStyle("left"));if(left+w+this.widthE+this.widthW>width-this.constraintPad.right)
w=width-this.constraintPad.right-left-this.widthE-this.widthW;}
return w;},_updateHeightConstraint:function(h){if(this.constraint&&this.useLeft&&this.useTop){var height=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;var top=parseFloat(this.element.getStyle("top"));if(top+h+this.heightN+this.heightS>height-this.constraintPad.bottom)
h=height-this.constraintPad.bottom-top-this.heightN-this.heightS;}
return h;},_createWindow:function(id){var className=this.options.className;var win=document.createElement("div");win.setAttribute('id',id);win.className="dialog";var content;if((this.options.iframe)&&(this.options.url))
content="<iframe frameborder=\"0\" name=\""+id+"_content\"  id=\""+id+"_content\" src=\""+this.options.url+"\"> </iframe>";else
content="<div id=\""+id+"_content\" class=\""+className+"_content\"> </div>";var closeDiv=this.options.closable?"<div class='"+className+"_close' id='"+id+"_close' onclick='Windows.close(\""+id+"\", event)'> </div>":"";var minDiv=this.options.minimizable?"<div class='"+className+"_minimize' id='"+id+"_minimize' onclick='Windows.minimize(\""+id+"\", event)'> </div>":"";var maxDiv=this.options.maximizable?"<div class='"+className+"_maximize' id='"+id+"_maximize' onclick='Windows.maximize(\""+id+"\", event)'> </div>":"";var icon=this.options.icon?"<div class='"+className+"_icon'> </div>":"";var spinner=this.options.showLoading?"<div class='"+className+"_loading_spinner' id='"+id+"_loading_spinner'> </div>":"";var seAttributes=this.options.resizable?"class='"+className+"_sizer' id='"+id+"_sizer'":"class='"+className+"_se'";var blank="../themes/default/blank.gif";win.innerHTML=closeDiv+minDiv+maxDiv+icon+spinner+"\
      <table id='"+id+"_row1' class=\"top table_window\">\
        <tr>\
          <td class='"+className+"_nw'></td>\
          <td class='"+className+"_n'>&nbsp;</td>\
          <td class='"+className+"_ne'></td>\
        </tr>\
      </table>\
      <table id='"+id+"_row2' class=\"mid table_window\">\
        <tr>\
          <td class='"+className+"_w'></td>\
          <td id='"+id+"_table_content' class='"+className+"_content' valign='top'>\
           <h2 id='"+id+"_top' class='"+className+"_title title_window'>\
    "+this.options.title+"\
   </h2>\
   "+content+"\
    </td>\
          <td class='"+className+"_e'></td>\
        </tr>\
      </table>\
        <table id='"+id+"_row3' class=\"bot table_window\">\
        <tr>\
          <td class='"+className+"_sw'></td>\
            <td class='"+className+"_s'><div id='"+id+"_bottom' class='status_bar'><span style='float:left; width:1px; height:1px'></span></div></td>\
            <td "+seAttributes+"></td>\
        </tr>\
      </table>";Element.hide(win);this.options.parent.insertBefore(win,this.options.parent.firstChild);Event.observe($(id+"_content"),"load",this.options.onload);return win;},changeClassName:function(newClassName){var className=this.options.className;var id=this.getId();$A(["_close","_minimize","_maximize","_sizer","_content"]).each(function(value){this._toggleClassName($(id+value),className+value,newClassName+value)}.bind(this));this._toggleClassName($(id+"_top"),className+"_title",newClassName+"_title");$$("#"+id+" td").each(function(td){td.className=td.className.sub(className,newClassName);});this.options.className=newClassName;},_toggleClassName:function(element,oldClassName,newClassName){if(element){element.removeClassName(oldClassName);element.addClassName(newClassName);}},setLocation:function(top,left){top=this._updateTopConstraint(top);left=this._updateLeftConstraint(left);var e=this.currentDrag||this.element;e.setStyle({top:top+'px'});e.setStyle({left:left+'px'});this.useLeft=true;this.useTop=true;},getLocation:function(){var location={};if(this.useTop)
location=Object.extend(location,{top:this.element.getStyle("top")});else
location=Object.extend(location,{bottom:this.element.getStyle("bottom")});if(this.useLeft)
location=Object.extend(location,{left:this.element.getStyle("left")});else
location=Object.extend(location,{right:this.element.getStyle("right")});return location;},getSize:function(){return{width:this.width,height:this.height};},setSize:function(width,height,useEffect){width=parseFloat(width);height=parseFloat(height);if(!this.minimized&&width<this.options.minWidth)
width=this.options.minWidth;if(!this.minimized&&height<this.options.minHeight)
height=this.options.minHeight;if(this.options.maxHeight&&height>this.options.maxHeight)
height=this.options.maxHeight;if(this.options.maxWidth&&width>this.options.maxWidth)
width=this.options.maxWidth;if(this.useTop&&this.useLeft&&Window.hasEffectLib&&Effect.ResizeWindow&&useEffect){new Effect.ResizeWindow(this,null,null,width,height,{duration:Window.resizeEffectDuration});}else{this.width=width;this.height=height;var e=this.currentDrag?this.currentDrag:this.element;e.setStyle({width:width+this.widthW+this.widthE+"px"})
e.setStyle({height:height+this.heightN+this.heightS+"px"})
if(!this.currentDrag||this.currentDrag==this.element){var content=$(this.element.id+'_content');content.setStyle({height:height+'px'});content.setStyle({width:width+'px'});}}},updateHeight:function(useEffect){if(typeof useEffect=="undefined")
useEffect=true;this.setSize(this.width,this.content.scrollHeight,useEffect);},updateWidth:function(useEffect){if(typeof useEffect=="undefined")
useEffect=true;this.setSize(this.content.scrollWidth,this.height,useEffect);},toFront:function(){if(this.element.style.zIndex<Windows.maxZIndex)
this.setZIndex(Windows.maxZIndex+1);if(this.iefix)
this._fixIEOverlapping();},getBounds:function(insideOnly){if(!this.width||!this.height||!this.visible)
this.computeBounds();var w=this.width;var h=this.height;if(!insideOnly){w+=this.widthW+this.widthE;h+=this.heightN+this.heightS;}
var bounds=Object.extend(this.getLocation(),{width:w+"px",height:h+"px"});return bounds;},computeBounds:function(){if(!this.width||!this.height){var size=WindowUtilities._computeSize(this.content.innerHTML,this.content.id,this.width,this.height,0,this.options.className)
if(this.height)
this.width=size+5
else
this.height=size+5}
this.setSize(this.width,this.height);if(this.centered)
this._center(this.centerTop,this.centerLeft);},show:function(modal){this.visible=true;if(modal){if(typeof this.overlayOpacity=="undefined"){var that=this;setTimeout(function(){that.show(modal)},10);return;}
Windows.addModalWindow(this);this.modal=true;this.setZIndex(Windows.maxZIndex+1);Windows.unsetOverflow(this);}
else
if(!this.element.style.zIndex)
this.setZIndex(Windows.maxZIndex+1);if(this.oldStyle)
this.getContent().setStyle({overflow:this.oldStyle});this.computeBounds();this._notify("onBeforeShow");if(this.options.showEffect!=Element.show&&this.options.showEffectOptions)
this.options.showEffect(this.element,this.options.showEffectOptions);else
this.options.showEffect(this.element);this._checkIEOverlapping();WindowUtilities.focusedWindow=this
this._notify("onShow");},showCenter:function(modal,top,left){this.centered=true;this.centerTop=top;this.centerLeft=left;this.show(modal);},isVisible:function(){return this.visible;},_center:function(top,left){var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);var pageSize=WindowUtilities.getPageSize(this.options.parent);if(typeof top=="undefined")
top=(pageSize.windowHeight-(this.height+this.heightN+this.heightS))/2;top+=windowScroll.top
if(typeof left=="undefined")
left=(pageSize.windowWidth-(this.width+this.widthW+this.widthE))/2;left+=windowScroll.left
this.setLocation(top,left);this.toFront();},_recenter:function(event,manual){if(this.centered){var pageSize=WindowUtilities.getPageSize(this.options.parent);var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);if(!manual&&(this.pageSize&&this.pageSize.windowWidth==pageSize.windowWidth&&this.pageSize.windowHeight==pageSize.windowHeight&&this.windowScroll.left==windowScroll.left&&this.windowScroll.top==windowScroll.top))
return;this.pageSize=pageSize;this.windowScroll=windowScroll;if($('overlay_modal'))
$('overlay_modal').setStyle({height:(pageSize.pageHeight+'px')});if(this.options.recenterAuto)
this._center(this.centerTop,this.centerLeft);}},hide:function(){this.visible=false;if(this.modal){Windows.removeModalWindow(this);Windows.resetOverflow();}
this.oldStyle=this.getContent().getStyle('overflow')||"auto"
this.getContent().setStyle({overflow:"hidden"});this.options.hideEffect(this.element,this.options.hideEffectOptions);if(this.iefix)
this.iefix.hide();if(!this.doNotNotifyHide)
this._notify("onHide");},close:function(){if(this.visible){if(this.options.closeCallback&&!this.options.closeCallback(this))
return;if(this.options.destroyOnClose){var destroyFunc=this.destroy.bind(this);if(this.options.hideEffectOptions.afterFinish){var func=this.options.hideEffectOptions.afterFinish;this.options.hideEffectOptions.afterFinish=function(){func();destroyFunc()}}
else
this.options.hideEffectOptions.afterFinish=function(){destroyFunc()}}
Windows.updateFocusedWindow();this.doNotNotifyHide=true;this.hide();this.doNotNotifyHide=false;this._notify("onClose");}},minimize:function(){if(this.resizing)
return;var r2=$(this.getId()+"_row2");if(!this.minimized){this.minimized=true;var dh=r2.getDimensions().height;this.r2Height=dh;var h=this.element.getHeight()-dh;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,null,null,null,this.height-dh,{duration:Window.resizeEffectDuration});}else{this.height-=dh;this.element.setStyle({height:h+"px"});r2.hide();}
if(!this.useTop){var bottom=parseFloat(this.element.getStyle('bottom'));this.element.setStyle({bottom:(bottom+dh)+'px'});}}
else{this.minimized=false;var dh=this.r2Height;this.r2Height=null;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,null,null,null,this.height+dh,{duration:Window.resizeEffectDuration});}
else{var h=this.element.getHeight()+dh;this.height+=dh;this.element.setStyle({height:h+"px"})
r2.show();}
if(!this.useTop){var bottom=parseFloat(this.element.getStyle('bottom'));this.element.setStyle({bottom:(bottom-dh)+'px'});}
this.toFront();}
this._notify("onMinimize");this._saveCookie()},maximize:function(){if(this.isMinimized()||this.resizing)
return;if(Prototype.Browser.IE&&this.heightN==0)
this._getWindowBorderSize();if(this.storedLocation!=null){this._restoreLocation();if(this.iefix)
this.iefix.hide();}
else{this._storeLocation();Windows.unsetOverflow(this);var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);var pageSize=WindowUtilities.getPageSize(this.options.parent);var left=windowScroll.left;var top=windowScroll.top;if(this.options.parent!=document.body){windowScroll={top:0,left:0,bottom:0,right:0};var dim=this.options.parent.getDimensions();pageSize.windowWidth=dim.width;pageSize.windowHeight=dim.height;top=0;left=0;}
if(this.constraint){pageSize.windowWidth-=Math.max(0,this.constraintPad.left)+Math.max(0,this.constraintPad.right);pageSize.windowHeight-=Math.max(0,this.constraintPad.top)+Math.max(0,this.constraintPad.bottom);left+=Math.max(0,this.constraintPad.left);top+=Math.max(0,this.constraintPad.top);}
var width=pageSize.windowWidth-this.widthW-this.widthE;var height=pageSize.windowHeight-this.heightN-this.heightS;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){new Effect.ResizeWindow(this,top,left,width,height,{duration:Window.resizeEffectDuration});}
else{this.setSize(width,height);this.element.setStyle(this.useLeft?{left:left}:{right:left});this.element.setStyle(this.useTop?{top:top}:{bottom:top});}
this.toFront();if(this.iefix)
this._fixIEOverlapping();}
this._notify("onMaximize");this._saveCookie()},isMinimized:function(){return this.minimized;},isMaximized:function(){return(this.storedLocation!=null);},setOpacity:function(opacity){if(Element.setOpacity)
Element.setOpacity(this.element,opacity);},setZIndex:function(zindex){this.element.setStyle({zIndex:zindex});Windows.updateZindex(zindex,this);},setTitle:function(newTitle){if(!newTitle||newTitle=="")
newTitle="&nbsp;";Element.update(this.element.id+'_top',newTitle);},getTitle:function(){return $(this.element.id+'_top').innerHTML;},setStatusBar:function(element){var statusBar=$(this.getId()+"_bottom");if(typeof(element)=="object"){if(this.bottombar.firstChild)
this.bottombar.replaceChild(element,this.bottombar.firstChild);else
this.bottombar.appendChild(element);}
else
this.bottombar.innerHTML=element;},_checkIEOverlapping:function(){if(!this.iefix&&(navigator.appVersion.indexOf('MSIE')>0)&&(navigator.userAgent.indexOf('Opera')<0)&&(this.element.getStyle('position')=='absolute')){new Insertion.After(this.element.id,'<iframe id="'+this.element.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.element.id+'_iefix');}
if(this.iefix)
setTimeout(this._fixIEOverlapping.bind(this),50);},_fixIEOverlapping:function(){Position.clone(this.element,this.iefix);this.iefix.style.zIndex=this.element.style.zIndex-1;this.iefix.show();},_getWindowBorderSize:function(event){var div=this._createHiddenDiv(this.options.className+"_n")
this.heightN=Element.getDimensions(div).height;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_s")
this.heightS=Element.getDimensions(div).height;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_e")
this.widthE=Element.getDimensions(div).width;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_w")
this.widthW=Element.getDimensions(div).width;div.parentNode.removeChild(div);var div=document.createElement("div");div.className="overlay_"+this.options.className;document.body.appendChild(div);var that=this;setTimeout(function(){that.overlayOpacity=($(div).getStyle("opacity"));div.parentNode.removeChild(div);},10);if(Prototype.Browser.IE){this.heightS=$(this.getId()+"_row3").getDimensions().height;this.heightN=$(this.getId()+"_row1").getDimensions().height;}
if(Prototype.Browser.WebKit&&Prototype.Browser.WebKitVersion<420)
this.setSize(this.width,this.height);if(this.doMaximize)
this.maximize();if(this.doMinimize)
this.minimize();},_createHiddenDiv:function(className){var objBody=document.body;var win=document.createElement("div");win.setAttribute('id',this.element.id+"_tmp");win.className=className;win.style.display='none';win.innerHTML='';objBody.insertBefore(win,objBody.firstChild);return win;},_storeLocation:function(){if(this.storedLocation==null){this.storedLocation={useTop:this.useTop,useLeft:this.useLeft,top:this.element.getStyle('top'),bottom:this.element.getStyle('bottom'),left:this.element.getStyle('left'),right:this.element.getStyle('right'),width:this.width,height:this.height};}},_restoreLocation:function(){if(this.storedLocation!=null){this.useLeft=this.storedLocation.useLeft;this.useTop=this.storedLocation.useTop;if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow)
new Effect.ResizeWindow(this,this.storedLocation.top,this.storedLocation.left,this.storedLocation.width,this.storedLocation.height,{duration:Window.resizeEffectDuration});else{this.element.setStyle(this.useLeft?{left:this.storedLocation.left}:{right:this.storedLocation.right});this.element.setStyle(this.useTop?{top:this.storedLocation.top}:{bottom:this.storedLocation.bottom});this.setSize(this.storedLocation.width,this.storedLocation.height);}
Windows.resetOverflow();this._removeStoreLocation();}},_removeStoreLocation:function(){this.storedLocation=null;},_saveCookie:function(){if(this.cookie){var value="";if(this.useLeft)
value+="l:"+(this.storedLocation?this.storedLocation.left:this.element.getStyle('left'))
else
value+="r:"+(this.storedLocation?this.storedLocation.right:this.element.getStyle('right'))
if(this.useTop)
value+=",t:"+(this.storedLocation?this.storedLocation.top:this.element.getStyle('top'))
else
value+=",b:"+(this.storedLocation?this.storedLocation.bottom:this.element.getStyle('bottom'))
value+=","+(this.storedLocation?this.storedLocation.width:this.width);value+=","+(this.storedLocation?this.storedLocation.height:this.height);value+=","+this.isMinimized();value+=","+this.isMaximized();WindowUtilities.setCookie(value,this.cookie)}},_createWiredElement:function(){if(!this.wiredElement){if(Prototype.Browser.IE)
this._getWindowBorderSize();var div=document.createElement("div");div.className="wired_frame "+this.options.className+"_wired_frame";div.style.position='absolute';this.options.parent.insertBefore(div,this.options.parent.firstChild);this.wiredElement=$(div);}
if(this.useLeft)
this.wiredElement.setStyle({left:this.element.getStyle('left')});else
this.wiredElement.setStyle({right:this.element.getStyle('right')});if(this.useTop)
this.wiredElement.setStyle({top:this.element.getStyle('top')});else
this.wiredElement.setStyle({bottom:this.element.getStyle('bottom')});var dim=this.element.getDimensions();this.wiredElement.setStyle({width:dim.width+"px",height:dim.height+"px"});this.wiredElement.setStyle({zIndex:Windows.maxZIndex+30});return this.wiredElement;},_hideWiredElement:function(){if(!this.wiredElement||!this.currentDrag)
return;if(this.currentDrag==this.element)
this.currentDrag=null;else{if(this.useLeft)
this.element.setStyle({left:this.currentDrag.getStyle('left')});else
this.element.setStyle({right:this.currentDrag.getStyle('right')});if(this.useTop)
this.element.setStyle({top:this.currentDrag.getStyle('top')});else
this.element.setStyle({bottom:this.currentDrag.getStyle('bottom')});this.currentDrag.hide();this.currentDrag=null;if(this.doResize)
this.setSize(this.width,this.height);}},_notify:function(eventName){if(this.options[eventName])
this.options[eventName](this);else
Windows.notify(eventName,this);}};var Windows={windows:[],modalWindows:[],observers:[],focusedWindow:null,maxZIndex:0,overlayShowEffectOptions:{duration:0.5},overlayHideEffectOptions:{duration:0.5},addObserver:function(observer){this.removeObserver(observer);this.observers.push(observer);},removeObserver:function(observer){this.observers=this.observers.reject(function(o){return o==observer});},notify:function(eventName,win){this.observers.each(function(o){if(o[eventName])o[eventName](eventName,win);});},getWindow:function(id){return this.windows.detect(function(d){return d.getId()==id});},getFocusedWindow:function(){return this.focusedWindow;},updateFocusedWindow:function(){this.focusedWindow=this.windows.length>=2?this.windows[this.windows.length-2]:null;},register:function(win){this.windows.push(win);},addModalWindow:function(win){if(this.modalWindows.length==0){WindowUtilities.disableScreen(win.options.className,'overlay_modal',win.overlayOpacity,win.getId(),win.options.parent);}
else{if(Window.keepMultiModalWindow){$('overlay_modal').style.zIndex=Windows.maxZIndex+1;Windows.maxZIndex+=1;WindowUtilities._hideSelect(this.modalWindows.last().getId());}
else
this.modalWindows.last().element.hide();WindowUtilities._showSelect(win.getId());}
this.modalWindows.push(win);},removeModalWindow:function(win){this.modalWindows.pop();if(this.modalWindows.length==0)
WindowUtilities.enableScreen();else{if(Window.keepMultiModalWindow){this.modalWindows.last().toFront();WindowUtilities._showSelect(this.modalWindows.last().getId());}
else
this.modalWindows.last().element.show();}},register:function(win){this.windows.push(win);},unregister:function(win){this.windows=this.windows.reject(function(d){return d==win});},closeAll:function(){this.windows.each(function(w){Windows.close(w.getId())});},closeAllModalWindows:function(){WindowUtilities.enableScreen();this.modalWindows.each(function(win){if(win)win.close()});},minimize:function(id,event){var win=this.getWindow(id)
if(win&&win.visible)
win.minimize();Event.stop(event);},maximize:function(id,event){var win=this.getWindow(id)
if(win&&win.visible)
win.maximize();Event.stop(event);},close:function(id,event){var win=this.getWindow(id);if(win)
win.close();if(event)
Event.stop(event);},blur:function(id){var win=this.getWindow(id);if(!win)
return;if(win.options.blurClassName)
win.changeClassName(win.options.blurClassName);if(this.focusedWindow==win)
this.focusedWindow=null;win._notify("onBlur");},focus:function(id){var win=this.getWindow(id);if(!win)
return;if(this.focusedWindow)
this.blur(this.focusedWindow.getId())
if(win.options.focusClassName)
win.changeClassName(win.options.focusClassName);this.focusedWindow=win;win._notify("onFocus");},unsetOverflow:function(except){this.windows.each(function(d){d.oldOverflow=d.getContent().getStyle("overflow")||"auto";d.getContent().setStyle({overflow:"hidden"})});if(except&&except.oldOverflow)
except.getContent().setStyle({overflow:except.oldOverflow});},resetOverflow:function(){this.windows.each(function(d){if(d.oldOverflow)d.getContent().setStyle({overflow:d.oldOverflow})});},updateZindex:function(zindex,win){if(zindex>this.maxZIndex){this.maxZIndex=zindex;if(this.focusedWindow)
this.blur(this.focusedWindow.getId())}
this.focusedWindow=win;if(this.focusedWindow)
this.focus(this.focusedWindow.getId())}};var Dialog={dialogId:null,onCompleteFunc:null,callFunc:null,parameters:null,confirm:function(content,parameters){if(content&&typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.confirm);return}
content=content||"";parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";var cancelLabel=parameters.cancelLabel?parameters.cancelLabel:"Cancel";parameters=Object.extend(parameters,parameters.windowParameters||{});parameters.windowParameters=parameters.windowParameters||{};parameters.className=parameters.className||"alert";var okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
var cancelButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" cancel_button'"
var content="\
      <div class='"+parameters.className+"_message'>"+content+"</div>\
        <div class='"+parameters.className+"_buttons'>\
          <input type='button' value='"+okLabel+"' onclick='Dialog.okCallback()' "+okButtonClass+"/>\
          <input type='button' value='"+cancelLabel+"' onclick='Dialog.cancelCallback()' "+cancelButtonClass+"/>\
        </div>\
    ";return this._openDialog(content,parameters)},alert:function(content,parameters){if(content&&typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.alert);return}
content=content||"";parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";parameters=Object.extend(parameters,parameters.windowParameters||{});parameters.windowParameters=parameters.windowParameters||{};parameters.className=parameters.className||"alert";var okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
var content="\
      <div class='"+parameters.className+"_message'>"+content+"</div>\
        <div class='"+parameters.className+"_buttons'>\
          <input type='button' value='"+okLabel+"' onclick='Dialog.okCallback()' "+okButtonClass+"/>\
        </div>";return this._openDialog(content,parameters)},info:function(content,parameters){if(content&&typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.info);return}
content=content||"";parameters=parameters||{};parameters=Object.extend(parameters,parameters.windowParameters||{});parameters.windowParameters=parameters.windowParameters||{};parameters.className=parameters.className||"alert";var content="<div id='modal_dialog_message' class='"+parameters.className+"_message'>"+content+"</div>";if(parameters.showProgress)
content+="<div id='modal_dialog_progress' class='"+parameters.className+"_progress'>  </div>";parameters.ok=null;parameters.cancel=null;return this._openDialog(content,parameters)},setInfoMessage:function(message){$('modal_dialog_message').update(message);},closeInfo:function(){Windows.close(this.dialogId);},_openDialog:function(content,parameters){var className=parameters.className;if(!parameters.height&&!parameters.width){parameters.width=WindowUtilities.getPageSize(parameters.options.parent||document.body).pageWidth/2;}
if(parameters.id)
this.dialogId=parameters.id;else{var t=new Date();this.dialogId='modal_dialog_'+t.getTime();parameters.id=this.dialogId;}
if(!parameters.height||!parameters.width){var size=WindowUtilities._computeSize(content,this.dialogId,parameters.width,parameters.height,5,className)
if(parameters.height)
parameters.width=size+5
else
parameters.height=size+5}
parameters.effectOptions=parameters.effectOptions;parameters.resizable=parameters.resizable||false;parameters.minimizable=parameters.minimizable||false;parameters.maximizable=parameters.maximizable||false;parameters.draggable=parameters.draggable||false;parameters.closable=parameters.closable||false;var win=new Window(parameters);win.getContent().innerHTML=content;win.showCenter(true,parameters.top,parameters.left);win.setDestroyOnClose();win.cancelCallback=parameters.onCancel||parameters.cancel;win.okCallback=parameters.onOk||parameters.ok;return win;},_getAjaxContent:function(originalRequest){Dialog.callFunc(originalRequest.responseText,Dialog.parameters)},_runAjaxRequest:function(message,parameters,callFunc){if(message.options==null)
message.options={}
Dialog.onCompleteFunc=message.options.onComplete;Dialog.parameters=parameters;Dialog.callFunc=callFunc;message.options.onComplete=Dialog._getAjaxContent;new Ajax.Request(message.url,message.options);},okCallback:function(){var win=Windows.focusedWindow;if(!win.okCallback||win.okCallback(win)){$$("#"+win.getId()+" input").each(function(element){element.onclick=null;})
win.close();}},cancelCallback:function(){var win=Windows.focusedWindow;$$("#"+win.getId()+" input").each(function(element){element.onclick=null})
win.close();if(win.cancelCallback)
win.cancelCallback(win);}}
if(Prototype.Browser.WebKit){var array=navigator.userAgent.match(new RegExp(/AppleWebKit\/([\d\.\+]*)/));Prototype.Browser.WebKitVersion=parseFloat(array[1]);}
var WindowUtilities={getWindowScroll:function(parent){var T,L,W,H;parent=parent||document.body;if(parent!=document.body){T=parent.scrollTop;L=parent.scrollLeft;W=parent.scrollWidth;H=parent.scrollHeight;}
else{var w=window;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}
if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight}}}
return{top:T,left:L,width:W,height:H};},getPageSize:function(parent){parent=parent||document.body;var windowWidth,windowHeight;var pageHeight,pageWidth;if(parent!=document.body){windowWidth=parent.getWidth();windowHeight=parent.getHeight();pageWidth=parent.scrollWidth;pageHeight=parent.scrollHeight;}
else{var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}}
return{pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight};},disableScreen:function(className,overlayId,overlayOpacity,contentId,parent){WindowUtilities.initLightbox(overlayId,className,function(){this._disableScreen(className,overlayId,overlayOpacity,contentId)}.bind(this),parent||document.body);},_disableScreen:function(className,overlayId,overlayOpacity,contentId){var objOverlay=$(overlayId);var pageSize=WindowUtilities.getPageSize(objOverlay.parentNode);if(contentId&&Prototype.Browser.IE){WindowUtilities._hideSelect();WindowUtilities._showSelect(contentId);}
objOverlay.style.height=(pageSize.pageHeight+'px');objOverlay.style.display='none';if(overlayId=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayShowEffectOptions){objOverlay.overlayOpacity=overlayOpacity;new Effect.Appear(objOverlay,Object.extend({from:0,to:overlayOpacity},Windows.overlayShowEffectOptions));}
else
objOverlay.style.display="block";},enableScreen:function(id){id=id||'overlay_modal';var objOverlay=$(id);if(objOverlay){if(id=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayHideEffectOptions)
new Effect.Fade(objOverlay,Object.extend({from:objOverlay.overlayOpacity,to:0},Windows.overlayHideEffectOptions));else{objOverlay.style.display='none';objOverlay.parentNode.removeChild(objOverlay);}
if(id!="__invisible__")
WindowUtilities._showSelect();}},_hideSelect:function(id){if(Prototype.Browser.IE){id=id==null?"":"#"+id+" ";$$(id+'select').each(function(element){if(!WindowUtilities.isDefined(element.oldVisibility)){element.oldVisibility=element.style.visibility?element.style.visibility:"visible";element.style.visibility="hidden";}});}},_showSelect:function(id){if(Prototype.Browser.IE){id=id==null?"":"#"+id+" ";$$(id+'select').each(function(element){if(WindowUtilities.isDefined(element.oldVisibility)){try{element.style.visibility=element.oldVisibility;}catch(e){element.style.visibility="visible";}
element.oldVisibility=null;}
else{if(element.style.visibility)
element.style.visibility="visible";}});}},isDefined:function(object){return typeof(object)!="undefined"&&object!=null;},initLightbox:function(id,className,doneHandler,parent){if($(id)){Element.setStyle(id,{zIndex:Windows.maxZIndex+1});Windows.maxZIndex++;doneHandler();}
else{var objOverlay=document.createElement("div");objOverlay.setAttribute('id',id);objOverlay.className="overlay_"+className
objOverlay.style.display='none';objOverlay.style.position='absolute';objOverlay.style.top='0';objOverlay.style.left='0';objOverlay.style.zIndex=Windows.maxZIndex+1;Windows.maxZIndex++;objOverlay.style.width='100%';parent.insertBefore(objOverlay,parent.firstChild);if(Prototype.Browser.WebKit&&id=="overlay_modal"){setTimeout(function(){doneHandler()},10);}
else
doneHandler();}},setCookie:function(value,parameters){document.cookie=parameters[0]+"="+escape(value)+
((parameters[1])?"; expires="+parameters[1].toGMTString():"")+
((parameters[2])?"; path="+parameters[2]:"")+
((parameters[3])?"; domain="+parameters[3]:"")+
((parameters[4])?"; secure":"");},getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else{begin+=2;}
var end=document.cookie.indexOf(";",begin);if(end==-1){end=dc.length;}
return unescape(dc.substring(begin+prefix.length,end));},_computeSize:function(content,id,width,height,margin,className){var objBody=document.body;var tmpObj=document.createElement("div");tmpObj.setAttribute('id',id);tmpObj.className=className+"_content";if(height)
tmpObj.style.height=height+"px"
else
tmpObj.style.width=width+"px"
tmpObj.style.position='absolute';tmpObj.style.top='0';tmpObj.style.left='0';tmpObj.style.display='none';tmpObj.innerHTML=content;objBody.insertBefore(tmpObj,objBody.firstChild);var size;if(height)
size=$(tmpObj).getDimensions().width+margin;else
size=$(tmpObj).getDimensions().height+margin;objBody.removeChild(tmpObj);return size;}}
WindowStore={doSetCookie:false,cookieName:"__window_store__",expired:null,init:function(cookieName,expired){WindowStore.cookieName=cookieName||WindowStore.cookieName
if(!expired){var today=new Date();today.setYear(today.getYear()+1903);WindowStore.expired=today;}
else
WindowStore.expired=expired;Windows.windows.each(function(win){win.setCookie(win.getId(),WindowStore.expired);});var myObserver={onShow:function(eventName,win){WindowStore._saveCookie();},onClose:function(eventName,win){WindowStore._saveCookie();},onHide:function(eventName,win){WindowStore._saveCookie();}}
Windows.addObserver(myObserver);WindowStore._restoreWindows();WindowStore._saveCookie();},show:function(win){eval("var cookie = "+WindowUtilities.getCookie(WindowStore.cookieName));if(cookie!=null){if(cookie[win.getId()])
win.show();}
else
win.show();},_saveCookie:function(){if(!doSetCookie)
return;var cookieValue="{";Windows.windows.each(function(win){if(cookieValue!="{")
cookieValue+=","
cookieValue+=win.getId()+": "+win.isVisible();});cookieValue+="}"
WindowUtilities.setCookie(cookieValue,[WindowStore.cookieName,WindowStore.expired]);},_restoreWindows:function(){eval("var cookie = "+WindowUtilities.getCookie(WindowStore.cookieName));if(cookie!=null){doSetCookie=false;Windows.windows.each(function(win){if(cookie[win.getId()])
win.show();});}
doSetCookie=true;}}
WindowCloseKey={keyCode:Event.KEY_ESC,init:function(keyCode){if(keyCode)
WindowCloseKey.keyCode=keyCode;Event.observe(document,'keydown',this._closeCurrentWindow.bindAsEventListener(this));},_closeCurrentWindow:function(event){var e=event||window.event
var characterCode=e.which||e.keyCode;var win=top.Windows.focusedWindow;if(characterCode==WindowCloseKey.keyCode&&win){if(win.cancelCallback)
top.Dialog.cancelCallback();else if(win.okCallback)
top.Dialog.okCallback();else
top.Windows.close(top.Windows.focusedWindow.getId());}}}
Effect.ResizeWindow=Class.create();Object.extend(Object.extend(Effect.ResizeWindow.prototype,Effect.Base.prototype),{initialize:function(win,top,left,width,height){this.window=win;this.window.resizing=true;var size=win.getSize();this.initWidth=parseFloat(size.width);this.initHeight=parseFloat(size.height);var location=win.getLocation();this.initTop=parseFloat(location.top);this.initLeft=parseFloat(location.left);this.width=width!=null?parseFloat(width):this.initWidth;this.height=height!=null?parseFloat(height):this.initHeight;this.top=top!=null?parseFloat(top):this.initTop;this.left=left!=null?parseFloat(left):this.initLeft;this.dx=this.left-this.initLeft;this.dy=this.top-this.initTop;this.dw=this.width-this.initWidth;this.dh=this.height-this.initHeight;this.r2=$(this.window.getId()+"_row2");this.content=$(this.window.getId()+"_content");this.contentOverflow=this.content.getStyle("overflow")||"auto";this.content.setStyle({overflow:"hidden"});if(this.window.options.wiredDrag){this.window.currentDrag=win._createWiredElement();this.window.currentDrag.show();this.window.element.hide();}
this.start(arguments[5]);},update:function(position){var width=Math.floor(this.initWidth+this.dw*position);var height=Math.floor(this.initHeight+this.dh*position);var top=Math.floor(this.initTop+this.dy*position);var left=Math.floor(this.initLeft+this.dx*position);if(window.ie){if(Math.floor(height)==0)
this.r2.hide();else if(Math.floor(height)>1)
this.r2.show();}
this.r2.setStyle({height:height});this.window.setSize(width,height);this.window.setLocation(top,left);},finish:function(position){if(this.window.options.wiredDrag){this.window._hideWiredElement();this.window.element.show();}
this.window.setSize(this.width,this.height);this.window.setLocation(this.top,this.left);this.r2.setStyle({height:null});this.content.setStyle({overflow:this.contentOverflow});this.window.resizing=false;}});Effect.ModalSlideDown=function(element){var windowScroll=WindowUtilities.getWindowScroll();var height=element.getStyle("height");element.setStyle({top:-(parseFloat(height)-windowScroll.top)+"px"});element.show();return new Effect.Move(element,Object.extend({x:0,y:parseFloat(height)},arguments[1]||{}));};Effect.ModalSlideUp=function(element){var height=element.getStyle("height");return new Effect.Move(element,Object.extend({x:0,y:-parseFloat(height)},arguments[1]||{}));};PopupEffect=Class.create();PopupEffect.prototype={initialize:function(htmlElement){this.html=$(htmlElement);this.options=Object.extend({className:"popup_effect",duration:0.4},arguments[1]||{});},show:function(element,options){var position=Position.cumulativeOffset(this.html);var size=this.html.getDimensions();var bounds=element.win.getBounds();this.window=element.win;if(!this.div){this.div=document.createElement("div");this.div.className=this.options.className;this.div.style.height=size.height+"px";this.div.style.width=size.width+"px";this.div.style.top=position[1]+"px";this.div.style.left=position[0]+"px";this.div.style.position="absolute"
document.body.appendChild(this.div);}
if(!window.ie53790a&&this.options.fromOpacity)
this.div.setStyle({opacity:this.options.fromOpacity});if(!window.ie53790)
this.div.show();var style="top:"+bounds.top+";left:"+bounds.left+";width:"+bounds.width+";height:"+bounds.height;if(this.options.toOpacity)
style+=";opacity:"+this.options.toOpacity;new Effect.Morph(this.div,{style:style,duration:this.options.duration,afterFinish:this._showWindow.bind(this)});},hide:function(element,options){var position=Position.cumulativeOffset(this.html);var size=this.html.getDimensions();this.window.visible=true;var bounds=this.window.getBounds();this.window.visible=false;this.window.element.hide();this.div.style.height=bounds.height;this.div.style.width=bounds.width;this.div.style.top=bounds.top;this.div.style.left=bounds.left;if(this.options.toOpacity)
this.div.setStyle({opacity:this.options.toOpacity})
this.div.show();var style="top:"+position[1]+"px;left:"+position[0]+"px;width:"+size.width+"px;height:"+size.height+"px";if(this.options.fromOpacity)
style+=";opacity:"+this.options.fromOpacity;new Effect.Morph(this.div,{style:style,duration:this.options.duration,afterFinish:this._hideDiv.bind(this)});},_showWindow:function(){this.div.hide();this.window.element.show();},_hideDiv:function(){this.div.hide();}}
TooltipManager={options:{cssClassName:'tooltip',delayOver:200,delayOut:1000,shiftX:10,shiftY:10,className:'alphacube',width:200,height:null,draggable:false,minimizable:false,maximizable:false,showEffect:Element.show,hideEffect:Element.hide},ajaxInfo:null,elements:null,showTimer:null,hideTimer:null,init:function(cssClassName,ajaxInfo,tooltipOptions){TooltipManager.options=Object.extend(TooltipManager.options,tooltipOptions||{});cssClassName=TooltipManager.options.cssClassName||"tooltip";TooltipManager.ajaxInfo=ajaxInfo;TooltipManager.elements=$$("."+cssClassName);TooltipManager.elements.each(function(element){element=$(element)
var info=TooltipManager._getInfo(element);if(info.ajax){element.ajaxId=info.id;element.ajaxInfo=ajaxInfo;}
else{element.tooltipElement=$(info.id);}
element.observe("mouseover",TooltipManager._mouseOver);element.observe("mouseout",TooltipManager._mouseOut);});Windows.addObserver(this);},addHTML:function(element,tooltipElement,tooltipOptions){element=$(element);tooltipElement=$(tooltipElement);element.tooltipElement=tooltipElement;TooltipManager.options=Object.extend(TooltipManager.options,tooltipOptions||{});element.height=TooltipManager.options.height;element.width=TooltipManager.options.width;element.observe("mouseover",TooltipManager._mouseOver);element.observe("mouseout",TooltipManager._mouseOut);},addAjax:function(element,ajaxInfo){element=$(element);element.ajaxInfo=ajaxInfo;element.observe("mouseover",TooltipManager._mouseOver);element.observe("mouseout",TooltipManager._mouseOut);},addURL:function(element,url,width,height){element=$(element);element.url=url;element.frameWidth=width;element.frameHeight=height;element.observe("mouseover",TooltipManager._mouseOver);element.observe("mouseout",TooltipManager._mouseOut);},close:function(){if(TooltipManager.tooltipWindow)
TooltipManager.tooltipWindow.hide();},preloadImages:function(path,images,extension){if(!extension)
extension=".gif";$A(images).each(function(i){var image=new Image();image.src=path+"/"+i+extension;});},_showTooltip:function(element){if(this.element==element)
return;while(element&&(!element.tooltipElement&&!element.ajaxInfo&&!element.url))
element=element.parentNode;this.element=element;TooltipManager.showTimer=null;if(TooltipManager.hideTimer)
clearTimeout(TooltipManager.hideTimer);var position=Position.cumulativeOffset(element);var dimension=element.getDimensions();if(!this.tooltipWindow)
this.tooltipWindow=new Window("__tooltip__",TooltipManager.options);this.tooltipWindow.hide();this.tooltipWindow.setLocation(position[1]+dimension.height+TooltipManager.options.shiftY,position[0]+TooltipManager.options.shiftX);Event.observe(this.tooltipWindow.element,"mouseover",function(event){TooltipManager._tooltipOver(event,element)});Event.observe(this.tooltipWindow.element,"mouseout",function(event){TooltipManager._tooltipOut(event,element)});this.tooltipWindow.height=TooltipManager.options.height;this.tooltipWindow.width=TooltipManager.options.width;if(element.ajaxInfo){var p=element.ajaxInfo.options.parameters;var saveParam=p;if(element.ajaxId){if(p)
p+="&id="+element.ajaxId;else
p="id="+element.ajaxId;}
element.ajaxInfo.options.parameters=p||"";this.tooltipWindow.setHTMLContent("");this.tooltipWindow.setAjaxContent(element.ajaxInfo.url,element.ajaxInfo.options);element.ajaxInfo.options.parameters=saveParam;}
else if(element.url){this.tooltipWindow.setURL(element.url);this.tooltipWindow.setSize(element.frameWidth,element.frameHeight);this.tooltipWindow.height=element.frameHeight;this.tooltipWindow.width=element.frameWidth;}
else
{this.tooltipWindow.setHTMLContent(element.tooltipElement.innerHTML);var dim=$(element.tooltipElement).getDimensions();this.tooltipWindow.height=dim.height;this.tooltipWindow.width=dim.width;}
if(!element.ajaxInfo){this.tooltipWindow.show();this.tooltipWindow.toFront();}},_hideTooltip:function(element){if(this.tooltipWindow){this.tooltipWindow.hide();this.element=null;}},_mouseOver:function(event){var element=Event.element(event);if(TooltipManager.showTimer)
clearTimeout(TooltipManager.showTimer);TooltipManager.showTimer=setTimeout(function(){TooltipManager._showTooltip(element)},TooltipManager.options.delayOver)},_mouseOut:function(event){var element=Event.element(event);if(TooltipManager.showTimer){clearTimeout(TooltipManager.showTimer);TooltipManager.showTimer=null;return;}
if(TooltipManager.tooltipWindow)
TooltipManager.hideTimer=setTimeout(function(){TooltipManager._hideTooltip(element)},TooltipManager.options.delayOut)},_tooltipOver:function(event,element){if(TooltipManager.hideTimer){clearTimeout(TooltipManager.hideTimer);TooltipManager.hideTimer=null;}},_tooltipOut:function(event,element){if(TooltipManager.hideTimer==null)
TooltipManager.hideTimer=setTimeout(function(){TooltipManager._hideTooltip(element)},TooltipManager.options.delayOut)},_getInfo:function(element){var id=element.className.split(' ').detect(function(name){return name.indexOf("html_")==0});var ajax=true;if(id)
ajax=false;else
id=element.className.split(' ').detect(function(name){return name.indexOf("ajax_")==0});id=id.substr(id.indexOf('_')+1,id.length)
return id?{ajax:ajax,id:id}:null;},onBeforeShow:function(eventName,win){var top=parseFloat(win.getLocation().top);var dim=win.element.getDimensions();if(top+dim.height>TooltipManager._getScrollTop()+TooltipManager._getPageHeight()){var position=Position.cumulativeOffset(this.element);var top=position[1]-TooltipManager.options.shiftY-dim.height;win.setLocation(top,position[0]+TooltipManager.options.shiftX)}},_getPageWidth:function(){return window.innerWidth||document.documentElement.clientWidth||0;},_getPageHeight:function(){return window.innerHeight||document.documentElement.clientHeight||0;},_getScrollTop:function(){return document.documentElement.scrollTop||window.pageYOffset||0;},_getScrollLeft:function(){return document.documentElement.scrollLeft||window.pageXOffset||0;}};;if(typeof JSON=="undefined"||!JSON){document.write('<script type="text/javascript" src="http://www.opinian.com/js/json/json2.js"></script>');}
var OPINIAN={initialize:function(domain_base,debug){this._version="2.0";this._contentLanguages=null;this._appLanguages=null;this._contentLanguage=null;if(typeof(debug)!="undefined")
this._debug=debug;else
this._debug=false;this._domainBase=domain_base;if(!this._domainBase.substring)
this._domainBase=this._domainBase.toString();if(this._domainBase.substring(-1)!="/")
this._domainBase+="/";},strings:$H({"window_login_title":"Please login to enable this action","next":"next","previous":"previous","ohic_box_title-item_title":"What is the full name of the thing you are giving opinion on?","ohic_box_title-item_category":"Select the category for this item","ohic_box_title-item_address":"Set the location for this item","facebook_publish":"Publish on Facebook","item_address_tip":"Enter address below and modify pin on the map to correct location if neccessary","country":"Country","region":"region/state","city":"City","address":"Address","close":"close","after_save":"You created this item but it seems that you could fill it up little bit more... check out the following sections:","show me":"show me","ratings":"ratings","media":"images","attributes":"attributes","opinions":"opinions","tags":"tags","characters":"characters","current":"current"}),data:$H({"feed_type":"all","category_id":null,"category_name":null,"countries":null}),set_strings:function(new_strings){this.strings.update(new_strings);},set_data:function(){if(arguments.length==1)
this.data.update(arguments[0]);else
{var what=arguments[0];var value=arguments[1];this.data.set(what,value);}},get_data:function(what){return this.data.get(what);},set_contentLanguages:function(languages){this._contentLanguages=languages;},contentLanguages:function(){return this._contentLanguages;},set_contentLanguage:function(language)
{this._contentLanguage=language;},contentLanguage:function()
{return this._contentLanguage;},set_appLanguages:function(languages){this._appLanguages=languages;},appLanguages:function(){return $H(this._appLanguages);},appDomainBase:function(){return this._domainBase;},USER:{_hasFacebook:0,_loggedIn:false,set_loggedIn:function(login)
{this._loggedIn=login;},loggedIn:function()
{if(!this._loggedIn===false)
return this._loggedIn;else
return false;},set_hasFacebook:function(facebook_id)
{if((typeof(facebook_id)=="undefined")||(facebook_id==false))
this._hasFacebook=false;else
this._hasFacebook=true;},hasFacebook:function()
{return this._hasFacebook;}},UTIL:{URL:{encode:function(string){return escape(this._utf8_encode(string));},decode:function(string){return this._utf8_decode(unescape(string));},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}
else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;},_utf8_decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;}
else if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}
else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return string;}},log:function()
{},classExists:function(c){return typeof(c)=="function"&&typeof(c.prototype)=="object"?true:false;},browserList:{IE:0,MOZILLA:1,SAFARI:2,OPERA:3,OTHER:4},browserMajorVersion:0,browserMinorVersion:0,_browser:-1,getBrowser:function(){if(this._browser==-1)
{var userAgent=window.navigator.userAgent.toLowerCase();var index;var version=null;if((index=userAgent.indexOf('msie'))>=0){this._browser=this.browserList.IE;version=userAgent.substr(index+5);}
else if((index=userAgent.indexOf('firefox'))>=0){this._browser=this.browserList.MOZILLA;version=userAgent.substr(index+8);}
else if((index=userAgent.indexOf('safari'))>=0){this._browser=this.browserList.SAFARI;version=userAgent.substr(index+7);}
else if((index=userAgent.indexOf('gecko'))>=0){this._browser=this.browserList.MOZILLA;version=window.navigator.appVersion;}
else{this._browser=this.browserList.OTHER;}
if(version){var verFloat=parseFloat(version);this.browserMajorVersion=parseInt(verFloat);if((index=version.indexOf('.'))>=0){this.browserMinorVersion=parseInt(version.substr(index+1));}}}
return this._browser;},parseDate:function(iso8601){var s=this.trim(iso8601);s=s.replace(/\.\d\d\d+/,"");s=s.replace(/-/,"/").replace(/-/,"/");s=s.replace(/T/," ").replace(/Z/," UTC");s=s.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2");return new Date(s);},LTrim:function(value){var re=/\s*((\S+\s*)*)/;return value.replace(re,"$1");},RTrim:function(value){var re=/((\s*\S+)*)\s*/;return value.replace(re,"$1");},trim:function(value){return this.LTrim(this.RTrim(value));},checkEmail:function(str)
{var emailRegEx=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(str.match(emailRegEx)){return true;}else{return false;}},addEventListener:function(element,type,handler){if(this.getBrowser()!==this.browserList.IE){(element).addEventListener(type,handler,false);}
else{handler._ieEventHandler=function(){handler(window.event);};(element).attachEvent('on'+type,(handler._ieEventHandler));}},removeEventListener:function(element,type,handler){if(this.getBrowser()!==this.browserList.IE){(element).removeEventListener(type,handler,false);}
else{(element).detachEvent('on'+type,(handler._ieEventHandler));}},waitForLoaded:function(domElement,callback){var eventHandler=null;eventHandler=function(e){this.removeEventListener(domElement,'load',eventHandler);callback();};this.addEventListener(domElement,'load',eventHandler);}},HTML:{htmlEncode:function(s){htmlEncMap={'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;'};htmlEncRE=/([&<>\"])/g;if(htmlEncRE.test(s)){s=s.replace(htmlEncRE,function(str,m){return htmlEncMap[m];});}
return s;},addCssClass:function(domElement,newClass){var cssClassWithSpace=' '+domElement.className+' ';var newClassWithSpace=' '+newClass+' ';if(cssClassWithSpace.indexOf(newClassWithSpace)<0){domElement.className=domElement.className+' '+newClass;}},getChildById:function(root,id){if(root.id===id){return root;}
var c=root.childNodes.length;for(var i=0;i<c;i++){var child=root.childNodes[i];var result=this.getChildById(child,id);if(result){return result;}}
return null;},moveTo:function(container,element){Position.prepare();container_y=Position.cumulativeOffset($(container))[1];element_y=Position.cumulativeOffset($(element))[1];new Effect.Scroll(container,{x:0,y:(element_y-container_y)});return false;},post_to_url:function(path,params,method){method=method||"post";var form=document.createElement("form");form.setAttribute("method",method);form.setAttribute("action",path);for(var key in params){var hiddenField=document.createElement("input");hiddenField.setAttribute("type","hidden");hiddenField.setAttribute("name",key);hiddenField.setAttribute("value",params[key]);form.appendChild(hiddenField);}
document.body.appendChild(form);form.submit();},createTextarea:function(event_source_element,p_options)
{var options=Object.extend({hide_source:true,destination:null,textarea_id:'my_textarea',textarea_name:null,textarea_height:'80px',textarea_minlength:0,textarea_maxlength:-1,form_id:'my_form',callback_blur:function(){},callback_focus:function(){}},p_options||{});var orig_element=$(event_source_element);var destination_element=options.destination;var my_form=new Element('form',{'id':options.form_id,'style':'display: none'});var my_textarea=new Element('textarea',{'id':options.textarea_id,'name':options.textarea_name});var start_height;var dest_height;$(my_form).insert({bottom:my_textarea});if((typeof(destination_element)=='undefined')||(destination_element==null))
{destination_element=$(event_source_element).up();$(event_source_element).insert({after:my_form});start_height=$(event_source_element).getStyle('height');if(start_height.substring(start_height.length-2,start_height.length)!="px"){start_height=start_height+'px';}}
else
{destination_element=$(destination_element);$(destination_element).insert({top:my_form});start_height="1px";}
var textarea=my_textarea;dest_height=options.textarea_height;if(!dest_height.substring)
dest_height=dest_height.toString();if(dest_height.substring(dest_height.length-2,dest_height.length)!="px")
dest_height=dest_height+'px';$(textarea).setStyle({height:start_height});if(options.hide_source)
$(event_source_element).hide();$(my_form).show();Event.observe(textarea,'focus',function(event)
{new Effect.Morph(this,{style:'height:'+dest_height,duration:0.33});options.callback_focus();});Event.observe(textarea,'blur',function(event){var obj=this;if(obj.value.length==0)
{try{obj.up('form').remove()}
catch(e)
{}
$(event_source_element).show();options.callback_blur();}});textarea.focus();textarea.expander=new OPINIAN.TextareaExpander(textarea,{'min_height':options.textarea_height,'min_length':options.textarea_minlength,'max_length':options.textarea_maxlength});return textarea;}},TIMEAGO:{strings:{prefixAgo:null,prefixFromNow:null,suffixAgo:"ago",suffixFromNow:"from now",seconds:"less than a minute",minute:"about a minute",minutes:"%d minutes",hour:"about an hour",hours:"about %d hours",day:"a day",days:"%d days",month:"about a month",months:"%d months",year:"about a year",years:"%d years",numbers:[]},set_strings:function(stringsObj){this.strings=stringsObj;},substitute:function(stringOrFunction,number){var string=Object.isFunction(stringOrFunction)?stringOrFunction(number,distanceMillis):stringOrFunction;var value=(this.strings.numbers&&this.strings.numbers[number])||number;return string.replace(/%d/i,value);},inWords:function(dateTo,dateFrom){periods=[];periods['week']=604800;periods['day']=86400;periods['hour']=3600;periods['minute']=60;periods['second']=1;(typeof(dateFrom)=='string')?date1=OPINIAN.UTIL.parseDate(dateFrom).getTime():date1=new Date().getTime();(typeof(dateTo)=='string')?date2=OPINIAN.UTIL.parseDate(dateTo).getTime():date2=new Date().getTime();if(date1>date2){distanceMillis=date1-date2;}else{distanceMillis=date2-date1;}
var $l=this.strings;var prefix=$l.prefixAgo;var suffix=$l.suffixAgo;if(distanceMillis<0){prefix=$l.prefixFromNow;suffix=$l.suffixFromNow;}
distanceMillis=Math.abs(distanceMillis);var seconds=distanceMillis/1000;var minutes=seconds/60;var hours=minutes/60;var days=hours/24;var years=days/365;var words=seconds<45&&this.substitute($l.seconds,Math.round(seconds))||seconds<90&&this.substitute($l.minute,1)||minutes<45&&this.substitute($l.minutes,Math.round(minutes))||minutes<90&&this.substitute($l.hour,1)||hours<24&&this.substitute($l.hours,Math.round(hours))||hours<48&&this.substitute($l.day,1)||days<30&&this.substitute($l.days,Math.floor(days))||days<60&&this.substitute($l.month,1)||days<365&&this.substitute($l.months,Math.floor(days/30))||years<2&&this.substitute($l.year,1)||this.substitute($l.years,Math.floor(years));return OPINIAN.UTIL.trim([prefix,words,suffix].join(" "));}},WINDOW:{win:null,open:function(arguments)
{if(this.win!=null)
{this.win.destroy();this.win=null;}
var that=this;this.options=Object.extend({content:"'content' is mandatory argument!",resizable:false,closable:true,icon:true,spinner:false,minimizable:false,maximizable:false,width:350,height:null,destroyOnClose:true,className:"fb_style",zIndex:999},arguments||{});if(this.options.onClose)
{var user_onClose_func=this.options.onClose;this.options.onClose=function()
{that.win=null;user_onClose_func();}}
else
this.options.onClose=function(){that.win=null;}
this.win=new Window(this.options);if(!$(this.options.content))
this.win.setHTMLContent("<div style='padding: 10px'>"+this.options.content+"</div>");else
this.win.setContent(this.options.content);WindowCloseKey.init();this.win.showCenter();},openAjax:function(arguments)
{if(this.win!=null)
this.win.destroy();var that=this;var options=Object.extend({url:"'url' is mandatory argument!",showLoading:true,iframe:false,hideUntilLoaded:false,resizable:false,closable:true,icon:true,minimizable:false,maximizable:false,width:350,maxHeight:null,maxWidth:null,height:null,destroyOnClose:true,className:"fb_style",zIndex:999},arguments||{});var ajax_url=options.url;if(!options.iframe)
options.url=null;if(options.onClose)
{var user_onClose_func=options.onClose;options.onClose=function()
{that.win=null;user_onClose_func();}}
else
options.onClose=function(){that.win=null;}
this.win=new Window(options);if(options.iframe)
this.win.showCenter();else
{this.win.setAjaxContent(ajax_url,options,true,false);}
WindowCloseKey.init();},close:function()
{this.win.close();}},COOKIE:{set:function(name,value,path,domain,days){if(!value||(typeof(value)=='undefined')){value='';}
var cookie=name+'='+encodeURIComponent(value)+';';if(days){var today=new Date();var expire=new Date(today.getTime()+3600000*24*days);cookie+='expires='+expire.toUTCString()+';';}
if(path){cookie+='path='+path+';';}
if(domain){cookie+='domain='+domain+';';}
document.cookie=cookie;},clear:function(name,path,domain){this.set(name,'',path,domain,-10);},get:function(name){var nameEQ=name+'=';var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];c=c.replace(/^\s*|\s*$/g,'');if(!c.indexOf(nameEQ)){c=decodeURIComponent(c.substr(nameEQ.length));return c;}}
return null;},list:function(){var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++)
alert(ca[i]);}},MAP:{lat_lng:null,show:function(div,size_x,size_y,address,baloon,show_baloon,map_callback)
{this.lat_lng=null;div=$(div);$(div).setStyle({height:size_y+'px',width:size_x+'px'});var mapCenter=new google.maps.LatLng(0,0);map=new google.maps.Map(div,{center:mapCenter,zoom:15,size:new google.maps.Size(size_x,size_y),mapTypeId:google.maps.MapTypeId.ROADMAP});var geocoder=new google.maps.Geocoder();var that=this;geocoder.geocode({'address':address},function(results,status)
{if(status==google.maps.GeocoderStatus.OK){point=results[0].geometry.location;map.setCenter(point,13);var marker=new google.maps.Marker({position:point,map:map});if(baloon)
{marker.clickable=true;that.infowindow=new google.maps.InfoWindow();google.maps.event.addListener(marker,'click',function(){OPINIAN.MAP.infowindow.close();OPINIAN.MAP.infowindow.setContent(baloon);OPINIAN.MAP.infowindow.open(map,marker);});if(show_baloon)
{OPINIAN.MAP.infowindow.setContent(baloon);OPINIAN.MAP.infowindow.open(map,marker);}}
OPINIAN.MAP.set_point(point);if(typeof(map_callback)=="function")
map_callback();}
else
{if($(div+'_notfound'))
{$(div).innerHTML=$(div+'_notfound').innerHTML;$(div).style.height='100%';}
if(typeof(map_callback)=="function")
map_callback();}});return map;},show_point:function(div,size_x,size_y,latitude,longitude,baloon,show_baloon,map_callback)
{this.lat_lng=null;$(div).setStyle({height:size_y+'px',width:size_x+'px'});var point=new google.maps.LatLng(latitude,longitude);map=new google.maps.Map($(div),{center:point,zoom:15,size:new google.maps.Size(size_x,size_y),mapTypeId:google.maps.MapTypeId.ROADMAP});var marker=new google.maps.Marker({position:point,map:map});if(baloon)
{marker.clickable=true;this.infowindow=new google.maps.InfoWindow();google.maps.event.addListener(marker,'click',function(){OPINIAN.MAP.infowindow.close();OPINIAN.MAP.infowindow.setContent(baloon);OPINIAN.MAP.infowindow.open(map,marker);});if(show_baloon)
{OPINIAN.MAP.infowindow.setContent(baloon);OPINIAN.MAP.infowindow.open(map,marker);}}
OPINIAN.MAP.set_point(point);if(typeof(map_callback)=="function")
map_callback();return map;},add_point_address:function(map_object,address,baloon,show_baloon,do_center,map_callback)
{var geocoder=new google.maps.Geocoder();geocoder.geocode({'address':address},function(results,status)
{if(status==google.maps.GeocoderStatus.OK)
{point=results[0].geometry.location;if(do_center)
{var bounds=map_object.getBounds();bounds.extend(point);setTimeout(function(){map_object.fitBounds(bounds);},1);}
var img_path=OPINIAN.appDomainBase();img_path=img_path.substr(0,img_path.length-3);var marker=new google.maps.Marker({position:point,map:map_object,icon:img_path+'img/opinian_pin.png'});if(baloon)
{marker.clickable=true;this.infowindow=new google.maps.InfoWindow();google.maps.event.addListener(marker,'click',function(){OPINIAN.MAP.infowindow.close();OPINIAN.MAP.infowindow.setContent(baloon);OPINIAN.MAP.infowindow.open(map_object,marker);});if(show_baloon)
{OPINIAN.MAP.infowindow.setContent(baloon);OPINIAN.MAP.infowindow.open(map_object,marker);}}
OPINIAN.MAP.set_point(point);if(typeof map_callback=="function")
map_callback();}});},add_point_location:function(map_object,latitude,longitude,baloon,show_baloon,do_center,map_callback)
{var point=new google.maps.LatLng(latitude,longitude);var img_path=OPINIAN.appDomainBase();img_path=img_path.substr(0,img_path.length-3);if(do_center)
{var bounds=map_object.getBounds();bounds.extend(point);setTimeout(function(){map_object.fitBounds(bounds);},1);}
var marker=new google.maps.Marker({position:point,map:map_object,icon:img_path+'img/opinian_pin.png'});if(baloon)
{this.infowindow=new google.maps.InfoWindow();google.maps.event.addListener(marker,'click',function(){OPINIAN.MAP.infowindow.close();OPINIAN.MAP.infowindow.setContent(baloon);OPINIAN.MAP.infowindow.open(map_object,marker);});if(show_baloon)
{OPINIAN.MAP.infowindow.setContent(baloon);OPINIAN.MAP.infowindow.open(map_object,marker);}}
OPINIAN.MAP.set_point(point);if(typeof map_callback=="function")
map_callback();},get_point:function()
{return this.lat_lng;},set_point:function(point)
{this.lat_lng=point;},get_distance:function(lat1,lon1,lat2,lon2)
{var R=6371;var dLat=((lat2-lat1)*Math.PI/180);var dLon=((lon2-lon1)*Math.PI/180);var a=Math.sin(dLat/2)*Math.sin(dLat/2)+
Math.cos(lat1*Math.PI/180)*Math.cos(lat2*Math.PI/180)*Math.sin(dLon/2)*Math.sin(dLon/2);var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return(R*c);}},ITEM:{user_actions_data:{},add_rating_category:function()
{if(!OPINIAN.USER.loggedIn())
OPINIAN.MISC.showLoginWindow();else
{if($('random_rating_categories')&&$('signed_in_as'))
{$('random_rating_categories').hide();$('add_rating_button').hide();}
if($('add_rating_category').visible())
$('add_rating_category').hide();else
$('add_rating_category').show();if($("item_ratings").up().id=="item_ratings_window_content")
{OPINIAN.WINDOW.win.updateHeight(false);$("item_ratings").up().scrollTop=0;}
if($('add_rating_category')&&$('add_rating_category').visible())
{if($('add_rating_category_language').visible())
{$('RatingCategoryRatingSearchStr').focus();OPINIAN.HTML.moveTo($('item_ratings'),$('add_rating_category_language'));}
else
{$('RatingCategoryRatingSearchStrEn').focus();OPINIAN.HTML.moveTo($('item_ratings'),$('add_rating_category_in_english'));}}}},rate:function(item_id,rating_category_id,rating,title,can_revote,analytics,show_flag,class_name,rating_unitwidth)
{if(!OPINIAN.USER.loggedIn())
OPINIAN.MISC.showLoginWindow();else
{$('ul_'+item_id+'_'+rating_category_id).style.display='none';new Ajax.Updater('rating_'+item_id+'_'+rating_category_id,OPINIAN.appDomainBase()+'items/rate/iid:'+item_id+'/rid:'+rating_category_id+'/rating:'+rating+'/title:'+title+'/can_revote:1/analytics:'+analytics+'/show_flag:'+show_flag+'/class:'+class_name+'/rating_unitwidth:'+rating_unitwidth,{asynchronous:true,evalScripts:true,onComplete:function(request,json){Element.hide('loading_'+item_id+'_'+rating_category_id)},onLoading:function(request){Element.show('loading_'+item_id+'_'+rating_category_id)},requestHeaders:['X-Update','rating_'+item_id+'_'+rating_category_id]});}},rate_opinion:function(review_id,rating){if(!OPINIAN.USER.loggedIn())
OPINIAN.MISC.showLoginWindow();else
{new Ajax.Updater('post_voting_'+review_id,OPINIAN.appDomainBase()+'items/review_vote/'+review_id+'/'+rating,{asynchronous:true,evalScripts:true,onComplete:function(request,json){Element.hide('review_'+review_id+'_wait')},onLoading:function(request){Element.show('review_'+review_id+'_wait')},requestHeaders:['X-Update','post_voting_'+review_id]});}},user_actions_notice:function(user_item_data)
{if(OPINIAN.USER.loggedIn())
{if(typeof(user_item_data)!="undefined")
{this.user_actions_data={ratings:0,media:0,attributes:0,opinions:0,tags:0};if(typeof(user_item_data['ratings'])!='undefined')
if(user_item_data['ratings'].length>0)
this.user_actions_data.ratings=1;if(($$('#reviews_comments_body .review_comment').length>1)||($$('#reviews_comments_body .user_'+OPINIAN.USER.loggedIn()).length>0))
this.user_actions_data.opinions=1;if($$('#attributes .attribute .date').length>1)
this.user_actions_data.attributes=1;if($$('.tags_list .tag').length>0)
this.user_actions_data.tags=1;if($('media_player').down('img'))
this.user_actions_data.media=1;}
var notice="<ul>";for(key in this.user_actions_data)
if(this.user_actions_data[key]==0)
{notice+="<li>";notice+="<a href='#' onclick='OPINIAN.HELP.ITEM.help_"+key+"(true, 5); event.returnValue = false; return false;' >"+OPINIAN.strings.get(key)+"</a>";notice+="</li>";}
notice+="</ul>"
if(notice!="<ul></ul>")
{notice=OPINIAN.strings.get("after_save")+notice;var elem=new Element("div",{"class":"item_fill","style":"display:none"});elem.insert({bottom:notice});$('page_body').insert({bottom:elem});OPINIAN.MISC.show_notice(elem,{autohide:false});}}}},CATEGORY:{},OHIC:{ohic_data:{review:null,item_title:null,item_id:null,item_category_id:null,item_address:null,facebook_publish:0},opinion:null,step:0,steps:{},address_mandatory:null,category_selected_no_subcategories:0,show_next_step:function(callback)
{new Effect.BlindUp($('step_'+this.step),{queue:'end',duration:0.4});this.step+=1;new Effect.BlindDown($('step_'+this.step),{queue:'end',duration:0.4,afterFinish:callback});},show_prev_step:function(callback){new Effect.BlindUp($('step_'+this.step),{queue:'end',duration:0.4});this.step-=1;new Effect.BlindDown($('step_'+this.step),{queue:'end',duration:0.4,afterFinish:callback});},start:function(event_source_element)
{this.buttons_orig=$("ohic_opinion_box").down(".buttons")
this.buttons_new=this.buttons_orig.cloneNode(true);this.buttons_orig.hide();this.buttons_new.setStyle({position:'relative',float:'right'});if((OPINIAN.USER.hasFacebook())&&!($("buttons_wrapper_opinion").down(".facebook_publish")))
{$("buttons_wrapper_opinion").insert({top:'<div class="input facebook_publish"><input type="hidden" name="data[Facebook][publish]" id="FacebookPublish_" value="0"><input type="checkbox" name="data[Facebook][publish]" checked="checked" value="1" id="FacebookPublish"><label for="FacebookPublish">'+OPINIAN.strings.get('facebook_publish')+'</label></div>'});}
$("buttons_wrapper_opinion").appendChild(this.buttons_new);$('buttons_wrapper_opinion').show();this.ohic_data={};var that=this;var p_options={textarea_id:'ReviewReview',textarea_name:'data[Review][review]',textarea_height:50,textarea_minlength:50,callback_blur:function(){try{that.buttons_new.remove();that.buttons_new=null;}catch(e){}
that.buttons_orig.show();$('buttons_wrapper_opinion').hide();}};this.steps.OPINION=1;this.opinion=OPINIAN.HTML.createTextarea(event_source_element,p_options);Event.observe(this.opinion,'keyup',function(event){obj=Event.element(event);if(obj.value.length==0)$("buttons_wrapper_opinion").down('.button.next').addClassName('disabled');else $("buttons_wrapper_opinion").down('.button.next').removeClassName('disabled')});},enter_title:function()
{if($("buttons_wrapper_opinion").down(".facebook_publish"))
this.ohic_data.facebook_publish=$("buttons_wrapper_opinion").down("#FacebookPublish").checked;if(!this.opinion)
return;if(!this.opinion.expander.can_continue)
return;this.ohic_data.review=this.opinion.value;if(typeof(this.steps.ITEM_TITLE)!="undefined")
{this.show_next_step();return;}
if(this.opinion.value.length==0)
return;else
{var new_step_wrapper=new Element('div',{'id':'step_'+(this.step+1),'class':'ohic_step','style':'display: none'});var item_title=new Element('input',{'type':'text','id':'ItemTitle','name':'data[Item][title]'});var item_title_autocomplete=new Element('div',{'class':'auto_complete','id':'ItemTitle_autoComplete','style':'display:none'});var buttons_wrapper=new Element('div',{'id':'buttons_wrapper_item_title','class':'buttons_wrapper'});buttons_wrapper.insert({bottom:'<div class="buttons"><div onclick="OPINIAN.OHIC.show_prev_step()" class="button prev">'+OPINIAN.strings.get('previous')+'</div><div onclick="OPINIAN.OHIC.enter_category()" class="button next disabled">'+OPINIAN.strings.get('next')+'</div><div class="clearfix">&nbsp;</div></div>'});var img_path=OPINIAN.appDomainBase();img_path=img_path.substr(0,img_path.length-3);$(new_step_wrapper).insert({bottom:'<div class="ohic_step_title">'+OPINIAN.strings.get('ohic_box_title-item_title')+'<img id="item_title_wait" style="display:none" src="'+img_path+'img/ajax-loader.gif" alt="">'+'</div>'});$(new_step_wrapper).insert({bottom:item_title});$(new_step_wrapper).insert({bottom:item_title_autocomplete});$(new_step_wrapper).insert({bottom:buttons_wrapper});$('step_'+this.step).up().insert({bottom:new_step_wrapper});Event.observe(item_title,'keyup',function(event){obj=Event.element(event);if(obj.value.length==0)$("buttons_wrapper_item_title").down('.button.next').addClassName('disabled');else $("buttons_wrapper_item_title").down('.button.next').removeClassName('disabled')});new Ajax.Autocompleter('ItemTitle','ItemTitle_autoComplete',OPINIAN.appDomainBase()+'search/searchAutocompleteOhicItems',{minChars:2,select:'item_title',afterUpdateElement:OPINIAN.OHIC.item_autocomplete_selected,indicator:'item_title_wait'});this.steps.ITEM_TITLE=1;this.show_next_step(function(){$('ItemTitle').focus()});}},item_autocomplete_selected:function(element,selectedElement)
{if(selectedElement.down('.item_id'))
{OPINIAN.OHIC.ohic_data.item_id=selectedElement.down('.item_id').innerHTML;OPINIAN.OHIC.ohic_data.item_category_id=selectedElement.down('.item_category_id').innerHTML;}
else
OPINIAN.OHIC.ohic_data.item_id=null;},enter_category:function()
{if($('ItemTitle').value.length==0)
return;if($("buttons_wrapper_item_title").down('.button.next').hasClassName('disabled'))
return;this.ohic_data.item_title=$('ItemTitle').value;if(typeof(this.ohic_data.item_id)=="string")
{$$("#buttons_wrapper_item_title .button").each(function(obj){obj.addClassName('disabled')});new Ajax.Updater('page_middle',OPINIAN.appDomainBase()+'items/add_ohic',{parameters:'ohic_data='+JSON.stringify(this.ohic_data)+'&opinian_data='+JSON.stringify(OPINIAN.data),asynchronous:true,evalScripts:true,onComplete:function(request,json){Element.hide('feed_wait');},onLoading:function(request){Element.show('feed_wait');},requestHeaders:['X-Update','page_middle']});this.ohic_data={};this.opinion=null;this.step=0;this.steps={};}
else
{if(typeof(this.steps.ITEM_CATEGORY)!="undefined")
{this.show_next_step();return;}
var new_step_wrapper=new Element('div',{'id':'step_'+(this.step+1),'class':'ohic_step','style':'display: none'});var buttons_wrapper=new Element('div',{'id':'buttons_wrapper_item_category','class':'buttons_wrapper'});buttons_wrapper.insert({bottom:'<div class="buttons"><div onclick="OPINIAN.OHIC.show_prev_step()" class="button prev">'+OPINIAN.strings.get('previous')+'</div><div onclick="OPINIAN.OHIC.enter_address()" class="button next disabled">'+OPINIAN.strings.get('next')+'</div><div class="clearfix">&nbsp;</div></div>'});$(new_step_wrapper).insert({bottom:'<div class="ohic_step_title">'+OPINIAN.strings.get('ohic_box_title-item_category')+'</div>'});var img_path=OPINIAN.appDomainBase();img_path=img_path.substr(0,img_path.length-3);$(new_step_wrapper).insert({bottom:'<div class="categories_select" id="categories_select">'+'<div id="select_subcategories_0" class="categories_select">'+'<div id="category_wait" style="display:none" class="category_wait first"><img src="'+img_path+'img/ajax-loader.gif" alt=""></div>'+'</div>'+'<div class="clearfix">&nbsp;</div>'+'</div>'});$(new_step_wrapper).insert({bottom:buttons_wrapper});$('step_'+this.step).up().insert({bottom:new_step_wrapper});this.category_selected(null,0);this.steps.ITEM_CATEGORY=1;this.show_next_step();}},category_selected:function(obj,subcategory_div_indicator)
{var category_id;if(obj!=null)
{category_id=obj.options[obj.selectedIndex].value;OPINIAN.OHIC.ohic_data.item_category_id=category_id;}
else
category_id="-1";if($("buttons_wrapper_item_category"))
$("buttons_wrapper_item_category").down(".next").addClassName('disabled');OPINIAN.OHIC.category_selected_no_subcategories=0;var link=OPINIAN.appDomainBase()+'items/populate_select_after_category_onchange';new Ajax.Updater('select_subcategories_'+subcategory_div_indicator,link+'/'+category_id+'/'+(subcategory_div_indicator+1),{asynchronous:true,evalScripts:true,onComplete:function(request,json){Element.hide('category_wait')},onLoading:function(request){Element.show('category_wait')},requestHeaders:['X-Update','select_subcategories_'+subcategory_div_indicator]});},category_can_continue:function(){OPINIAN.OHIC.category_selected_no_subcategories=1;if($("buttons_wrapper_item_category"))
$("buttons_wrapper_item_category").down(".next").removeClassName('disabled');},is_address_mandatory:function(category_address_status)
{if((typeof category_address_status!='undefined')&&(category_address_status!=null))
{if((category_address_status.address==1)||(category_address_status.city==1)||(category_address_status.region==1)||(category_address_status.country==1))
{this.address_mandatory=category_address_status;}
else
this.address_mandatory=false;}
else
this.address_mandatory=false;},enter_address:function()
{if(OPINIAN.OHIC.category_selected_no_subcategories==0)
return;if(!this.address_mandatory)
{$$("#buttons_wrapper_item_category .button").each(function(obj){obj.addClassName('disabled')});Element.show('feed_wait');var params={};params["opinian_data"]=JSON.stringify(OPINIAN.data);params["ohic_data"]=JSON.stringify(this.ohic_data);OPINIAN.HTML.post_to_url(OPINIAN.appDomainBase()+'items/add_ohic',params);}
else
{if(typeof(this.steps.ITEM_ADDRESS)!="undefined")
{this.check_address_fields();this.show_on_map();this.show_next_step();return;}
var new_step_wrapper=new Element('div',{'id':'step_'+(this.step+1),'class':'ohic_step','style':'display: none'});var buttons_wrapper=new Element('div',{'id':'buttons_wrapper_item_address','class':'buttons_wrapper'});buttons_wrapper.insert({bottom:'<div class="buttons"><div onclick="OPINIAN.OHIC.show_prev_step()" class="button prev">'+OPINIAN.strings.get('previous')+'</div><div onclick="OPINIAN.OHIC.finish()" class="button next disabled">'+OPINIAN.strings.get('next')+'</div><div class="clearfix">&nbsp;</div></div>'});var address_input_elements='<div id="map"></div>'+'<div class="address">'+'<div class="tip">'+OPINIAN.strings.get('item_address_tip')+'</div>'+'<ul>'+'<li>'+'<div>'+OPINIAN.strings.get('address')+'</div>'+'<input type="text" id="ItemAddress" class="address_part"/>'+'</li>'+'<li>'+'<div>'+OPINIAN.strings.get('city')+'</div>'+'<input type="text" id="ItemCity" class="address_part"/>'+'</li>'+'<li>'+'<div>'+OPINIAN.strings.get('region')+'</div>'+'<input type="text" id="ItemRegion" class="address_part"/>'+'</li>'+'<li>'+'<div>'+OPINIAN.strings.get('country')+'</div>'+'<select id="ItemCountry" class="address_part">'+'<option></option>';var countries=OPINIAN.data.get("countries");for(idx in countries)
address_input_elements+='<option value=\''+idx+'\'>'+countries[idx]+'</option>';address_input_elements+='</select>'+'</li>'+'<input type="hidden" id="ItemLatitude" class="address_part2"/>'+'<input type="hidden" id="ItemLongitude" class="address_part2"/>'+'<div class="clearfix">&nbsp;</div>'+'</ul></div>';$(new_step_wrapper).insert({bottom:address_input_elements});$(new_step_wrapper).insert({bottom:buttons_wrapper});$('step_'+this.step).up().insert({bottom:new_step_wrapper});show_map=OPINIAN.OHIC.show_map.bind(this);this.show_next_step(show_map);this.steps.ITEM_ADDRESS=1;}},check_address_fields:function()
{$$('.address .address_part').each(function(obj){obj.removeClassName('disabled');obj.removeClassName('mandatory');obj.enable()});if(this.address_mandatory.country==1)
$('ItemCountry').addClassName('mandatory');if(this.address_mandatory.country==0)
{$('ItemCountry').removeClassName('mandatory');$('ItemCountry').value="";$('ItemCountry').disable();$('ItemCountry').addClassName('disabled');}
if(this.address_mandatory.region==1)
$('ItemRegion').addClassName('mandatory');if(this.address_mandatory.region==0)
{$('ItemRegion').removeClassName('mandatory');$('ItemRegion').value="";$('ItemRegion').disable();$('ItemCountry').addClassName('disabled');}
if(this.address_mandatory.city==1)
$('ItemCity').addClassName('mandatory');if(this.address_mandatory.city==0)
{$('ItemCity').removeClassName('mandatory');$('ItemCity').value="";$('ItemCity').disable();$('ItemCountry').addClassName('disabled');}
if(this.address_mandatory.address==1)
$('ItemAddress').addClassName('mandatory');if(this.address_mandatory.address==0)
{$('ItemAddress').removeClassName('mandatory');$('ItemAddress').value="";$('ItemAddress').disable();$('ItemAddress').addClassName('disabled');}},show_map:function()
{this.geocoder=new google.maps.Geocoder();var mapCenter=new google.maps.LatLng(0,0);this.map=new google.maps.Map($('step_'+this.step).down('#map'),{zoom:1,center:mapCenter,mapTypeId:google.maps.MapTypeId.ROADMAP});var img_path=OPINIAN.appDomainBase();img_path=img_path.substr(0,img_path.length-3);this.marker=new RichMarker({position:mapCenter,map:OPINIAN.OHIC.map,draggable:true,content:'<div class="my-marker"><img src="'+img_path+'img/opinian_pin.png"></div>',shadow:""});google.maps.event.addListener(OPINIAN.OHIC.marker,'position_changed',function(){var pos=OPINIAN.OHIC.marker.getPosition();$('ItemLatitude').value=pos.lat();$('ItemLongitude').value=pos.lng();});$$('#step_'+this.step+' .address .address_part').each(function(obj){obj.removeClassName('mandatory')});this.check_address_fields();$$('.address_part').each(function(obj){google.maps.event.addDomListener(obj,'change',OPINIAN.OHIC.show_on_map);});},show_on_map:function(e)
{var address="";var map_zoom=5;if($('ItemCountry').options[$('ItemCountry').selectedIndex].text!="")
address=$('ItemCountry').options[$('ItemCountry').selectedIndex].text;if($('ItemRegion').value!=""){address=$('ItemRegion').value+','+address;map_zoom=8;}
if($('ItemCity').value!="")
{address=$('ItemCity').value+','+address;map_zoom=10;}
if($('ItemAddress').value!="")
{address=$('ItemAddress').value+','+address;map_zoom=15;}
if(address=="")
{$("buttons_wrapper_item_address").down('.button.next').addClassName('disabled');return;}
$("buttons_wrapper_item_address").down('.button.next').removeClassName('disabled');OPINIAN.OHIC.geocoder.geocode({'address':address},function(results,status){if(status==google.maps.GeocoderStatus.OK){OPINIAN.OHIC.map.setCenter(results[0].geometry.location);OPINIAN.OHIC.map.setZoom(map_zoom);OPINIAN.OHIC.marker.setPosition(results[0].geometry.location);}else{OPINIAN.UTIL.log("Geocode was not successful for the following reason: "+status);}});},finish:function(){var is_ok=true;$$('.address .address_part.mandatory').each(function(obj){if(obj.value==""){is_ok=false;new Effect.Highlight(obj);}});if(!is_ok)
return;this.show_on_map();this.ohic_data.item_country=$('ItemCountry').options[$('ItemCountry').selectedIndex].value;this.ohic_data.item_region=$('ItemRegion').value;this.ohic_data.item_city=$('ItemCity').value;this.ohic_data.item_address=$('ItemAddress').value;this.ohic_data.item_address_latitude=$('ItemLatitude').value;this.ohic_data.item_address_longitude=$('ItemLongitude').value;$$("#buttons_wrapper_item_address .button").each(function(obj){obj.addClassName('disabled')});Element.show('feed_wait');var params={};params["opinian_data"]=JSON.stringify(OPINIAN.data);params["ohic_data"]=JSON.stringify(this.ohic_data);OPINIAN.HTML.post_to_url(OPINIAN.appDomainBase()+'items/add_ohic',params);}},HELP:{show:function(help_name,help_for,p_options)
{var options=Object.extend({position:'left',effect:true,focus:true,offset_x:0,offset_y:0,scroll_offset:-300,close_button:false,on_close:function(){},autohide:false},p_options||{});var x,y;var help;var randomnumber=Math.floor(Math.random()*99999);if($(help_name))
{help=$(help_name).cloneNode(true);$(help_name).remove();}
else
help=new Element('div',{'id':'help_'+randomnumber,'class':'help'}).update(help_name);$(document.body).appendChild(help);$(help).addClassName(options.position);if(options.close_button===true)
{if($(help).down('.close_help'))
{$(help).down('.close_help').remove();}
var elem=new Element('div',{'id':'close_help_'+randomnumber,'class':'close_help'});help.insert({top:elem});Event.observe($('close_help_'+randomnumber),'click',function(){new Effect.Fade(help);new Effect.Fade(this,{afterFinish:function(){$('close_help_'+randomnumber).remove()}});options.on_close();});}
x=Element.cumulativeOffset($(help_for))[0];y=Element.cumulativeOffset($(help_for))[1]-$(help).up().cumulativeOffset()[1];if(!$(help).down('.help_arrow'))
$(help).insert({top:Element('div',{'class':'help_arrow'})});$(help).down('.help_arrow').addClassName(options.position);switch(options.position){case'left':x=x-$(help).getWidth()-250;y=y-($(help).getHeight()/2)+10;x_effect=230;y_effect=0;break;case'right':x=x+$(help_for).getWidth()+250;y=y-($(help).getHeight()/2)+10;x_effect=-230;y_effect=0;break;case'top':x=x;y=y-$(help).getHeight()-250;x_effect=0;y_effect=230;break;case'bottom':x=x;y=y+$(help_for).getHeight()+250;x_effect=0;y_effect=-230;break;}
x=x+options.offset_x;y=y+options.offset_y;$(help).setStyle({position:'absolute',left:x+'px',top:y+'px'});$(help).show();$(help).style.visibility="hidden";if(options.focus)
new Effect.ScrollTo($(help),{offset:options.scroll_offset+y_effect,afterFinish:function(){$(help).style.visibility="visible"}});else
$(help).style.visibility="visible";if(options.effect)
{new Effect.Move(help,{x:x_effect,y:y_effect,mode:'relative',transition:Effect.Transitions.spring,duration:2});}
else
{$(help).setStyle({left:Element.cumulativeOffset($(help))[0]+x_effect+'px',top:Element.cumulativeOffset($(help))[1]+y_effect+'px'});}
if(options.autohide!==false)
{setTimeout(function(){new Effect.Fade(help);},options.autohide*1000);}
return help;},ITEM:{help_window:null,help_ratings:function(hide_menu){if(hide_menu===true)
{$('help_item_ratings').down('.help_menu').hide();var on_close_fnc=function(){};var autohide=10;}
else
{$('help_item_ratings').down('.help_menu').show();var on_close_fnc=OPINIAN.HELP.ITEM.finish;var autohide=false;}
if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_item_ratings','item_ratings',{position:'left',offset_y:80,autohide:autohide,close_button:true,on_close:on_close_fnc});},help_media:function(hide_menu){if(hide_menu===true)
{$('help_item_media').down('.help_menu').hide();var on_close_fnc=function(){};var autohide=10;}
else
{$('help_item_media').down('.help_menu').show();var on_close_fnc=OPINIAN.HELP.ITEM.finish;var autohide=false;}
if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_item_media','pictures',{position:'right',offset_y:110,offset_x:-100,autohide:autohide,close_button:true,on_close:on_close_fnc});},help_attributes:function(hide_menu){if(hide_menu===true)
{$('help_item_attributes').down('.help_menu').hide();var on_close_fnc=function(){};var autohide=5;}
else
{$('help_item_attributes').down('.help_menu').show();var on_close_fnc=OPINIAN.HELP.ITEM.finish;var autohide=false;}
if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_item_attributes','attributes',{position:'right',offset_x:-100,offset_y:70,autohide:autohide,close_button:true,on_close:on_close_fnc});},help_opinions:function(hide_menu){if(hide_menu===true)
{$('help_item_opinions').down('.help_menu').hide();var on_close_fnc=function(){};var autohide=10;}
else
{$('help_item_opinions').down('.help_menu').show();var on_close_fnc=OPINIAN.HELP.ITEM.finish;var autohide=false;}
if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_item_opinions','reviews_comments',{position:'top',offset_x:150,autohide:autohide,close_button:true,on_close:on_close_fnc});},help_tags:function(hide_menu){if(hide_menu===true)
{$('help_item_tags').down('.help_menu').hide();var on_close_fnc=function(){};var autohide=10;}
else
{$('help_item_tags').down('.help_menu').show();var on_close_fnc=OPINIAN.HELP.ITEM.finish;var autohide=false;}
if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_item_tags','tags',{position:'left',offset_y:40,autohide:autohide,close_button:true,on_close:on_close_fnc});},finish:function(){new Ajax.Updater('',OPINIAN.appDomainBase()+'help/end/item',{asynchronous:true});$('help_item_tags').fade();}},FEED:{help_window:null,help_search:function(){if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_feed_search','search',{position:'bottom',offset_x:30,close_button:true,on_close:OPINIAN.HELP.FEED.finish});},help_feed:function(){if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_feed','activities',{position:'top',offset_y:20,offset_x:150,close_button:true,on_close:OPINIAN.HELP.FEED.finish});},help_left_menu:function(){if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_feed_menu_left','menu_left',{position:'right',offset_x:0,offset_y:100,close_button:true,on_close:OPINIAN.HELP.FEED.finish});},help_compare_box:function(){if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_feed_compare_box','compare_box',{position:'left',offset_y:120,close_button:true,on_close:OPINIAN.HELP.FEED.finish});},help_tags:function(){if($(this.help_window))
$(this.help_window).fade();this.help_window=OPINIAN.HELP.show('help_feed_tags','tags_cloud',{position:'left',offset_y:140,close_button:true,on_close:OPINIAN.HELP.FEED.finish});},finish:function(){new Ajax.Updater('',OPINIAN.appDomainBase()+'help/end/feed',{asynchronous:true});$('help_feed_tags').fade();}}},MISC:{showLoginWindow:function()
{OPINIAN.WINDOW.openAjax({id:"window_login",width:515,title:OPINIAN.strings.get('window_login_title'),url:OPINIAN.appDomainBase()+"users/login_form/1"});return false;},show_notice:function(notice_elem,p_options)
{var options=Object.extend({effect:true,min_height:false,width:700,autohide:5},p_options||{});if($('opinian_notice'))
$('opinian_notice').remove();var x,y;var notice;if(!$(notice_elem))
{notice=new Element('div')
notice.insert({top:notice_elem});}
else
notice=$(notice_elem).cloneNode(true);notice.id='opinian_notice';notice.addClassName('opinian_notice');var viewport=document.viewport.getDimensions();notice.setStyle({position:'fixed',width:options.width+'px',top:'-1000px',left:(viewport.width/2-options.width/2)+'px'});if(options.min_height!==false)
if(notice.getHeight()<options.min_height)
notice.setStyle({height:options.min_height+'px'});$(document.body).appendChild(notice);notice.show();notice.setStyle({top:'-'+notice.getHeight()+'px'});new Effect.Move($('opinian_notice'),{x:0,y:notice.getHeight(),mode:'relative',transition:Effect.Transitions.linear,duration:0.8,queue:'end'});if(options.autohide!==false)
{options.autohide*=1000;setTimeout(function(){new Effect.Move($('opinian_notice'),{x:0,y:-notice.getHeight(),mode:'relative',transition:Effect.Transitions.linear,duration:0.5,queue:'end',afterFinish:function(){try{notice.remove();}catch(e){}}});},options.autohide);Event.observe(notice,'click',function(){new Effect.Move($('opinian_notice'),{x:0,y:-notice.getHeight(),mode:'relative',transition:Effect.Transitions.linear,duration:0.5,queue:'end',afterFinish:function(){try{notice.remove();}catch(e){}}})});}
else
{var elem=new Element('div',{'id':'close_notice'});notice.insert({top:elem});Event.observe($('close_notice'),'click',function(){new Effect.Move($('opinian_notice'),{x:0,y:-notice.getHeight(),mode:'relative',transition:Effect.Transitions.linear,duration:0.5,queue:'end',afterFinish:function(){try{notice.remove();}catch(e){}}})});}}},FACEBOOK:{publishing:0,publish:function(publish_data,asked_permission,action_links)
{if(OPINIAN.FACEBOOK.publishing==1)
return;OPINIAN.FACEBOOK.publishing=1;obj=eval(publish_data);if(typeof FB!="undefined")
{FB.ui(obj);}}},TextareaExpander:Class.create
({initialize:function(textarea,options)
{this.textarea=$(textarea);this.options=$H({'min_height':80,'max_length':-1,'min_length':0,'debug':false,'onresize':function(){}}).update(options);this.can_continue=true;this.textarea.observe('keyup',this.refresh.bind(this));this.textarea.observe('blur',this.validate.bind(this));var l_min_height=this.options.get('min_height');var l_lineHeight=this.textarea.getStyle('lineHeight');var l_fontSize=this.textarea.getStyle('fontSize');if(isNaN(l_lineHeight.replace('px','')))
{l_lineHeight=l_fontSize.replace('px','');if(isNaN(l_lineHeight))
l_lineHeight="15px";else
l_lineHeight=parseInt(l_lineHeight)+3+'px';this.textarea.setStyle({'lineHeight':l_lineHeight});}
if(l_min_height.replace)
if(isNaN(l_min_height.replace('px','')))
{l_min_height=l_min_height.replace('px','');l_min_height=parseInt(l_min_height);this.options.set('min_height',l_min_height);}
else
this.options.set('min_height',parseInt(l_min_height));this._shadow=new Element('div').setStyle({lineHeight:l_lineHeight,fontSize:l_fontSize,fontFamily:this.textarea.getStyle('fontFamily'),position:'absolute',top:'-10000px',left:'-10000px',width:this.textarea.getWidth()+'px'});this.textarea.insert({after:this._shadow});this._textareaInfo=new Element('div').addClassName('textarea_info');this.textarea.insert({after:this._textareaInfo});if(this.options.get('debug'))
{this._debug=new Element('div').addClassName('textarea_debug');this._textareaInfo.insert({after:this._debug});}
this.refresh(true);},refresh:function(first_call)
{this._shadow.update($F(this.textarea).replace(/\n/g,'<br/>'));var calculated_height=Math.max(parseInt(this._shadow.getHeight())+parseInt(this.textarea.getStyle('lineHeight').replace('px','')),this.options.get('min_height'));if(this.options.get('debug'))
this._debug.update('calculated height: '+calculated_height+'px'+', textarea height: '+parseInt(this.textarea.getHeight())+'px');var remaining=this.options.get('max_length')-$F(this.textarea).length;var todo_for_minimum=this.options.get('min_length')-$F(this.textarea).length;var length=OPINIAN.UTIL.trim(this.textarea.value).length;if(this.options.get('max_length')!=-1)
{if(remaining<0)
{this.textarea.value=this.textarea.value.substring(0,$F(this.textarea).length-1);remaining=0;}}
if(this.options.get('min_length')!=0)
{if(todo_for_minimum<0)
todo_for_minimum=0;if(todo_for_minimum>0)
this.can_continue=false;else
this.can_continue=true;this._textareaInfo.update('Minimum: '+this.options.get('min_length')+' '+OPINIAN.strings.get('characters')+' ('+OPINIAN.strings.get('current')+': '+length+')');}
if(this.options.get('debug'))
{if(this.options.get('max_length')==-1)
this._textareaDebug.update('no maximum limit on characters');if(this.options.get('min_length')==0)
this._textareaDebug.update('no minimum limit on characters');}
if((calculated_height>parseInt(this.textarea.getHeight()))||((calculated_height+parseInt(this.textarea.getStyle('lineHeight').replace('px','')))<parseInt(this.textarea.getHeight())))
{if((typeof this.options.get('onresize')=="function")&&(first_call!=true))
this.options.get('onresize')();new Effect.Morph(this.textarea,{style:'height:'+calculated_height+'px',duration:0.1,queue:'end'});}},validate:function()
{var todo_for_minimum=this.options.get('min_length')-$F(this.textarea).length;if(todo_for_minimum>0)
{this.can_continue=false;this.textarea.focus();new Effect.Highlight(this._textareaInfo,{startcolor:'#FB7878',duration:0.5});}
else
this.can_continue=true;}}),TextareaCheck:Class.create
({initialize:function(textarea,options)
{this.textarea=$(textarea);this.options=$H({'max_length':-1,'min_length':0,'debug':false}).update(options);this.can_continue=true;this.textarea.observe('keyup',this.refresh.bind(this));this.textarea.observe('blur',this.validate.bind(this));this._textareaInfo=new Element('div').addClassName('textarea_info');this.textarea.insert({after:this._textareaInfo});if(this.options.get('debug'))
{this._debug=new Element('div').addClassName('textarea_debug');this._textareaInfo.insert({after:this._debug});}
this.refresh(true);},refresh:function(first_call)
{var remaining=this.options.get('max_length')-$F(this.textarea).length;var todo_for_minimum=this.options.get('min_length')-$F(this.textarea).length;var length=OPINIAN.UTIL.trim(this.textarea.value).length;if(this.options.get('max_length')!=-1)
{if(remaining<0)
{this.textarea.value=this.textarea.value.substring(0,$F(this.textarea).length-1);remaining=0;}}
if(this.options.get('min_length')!=0)
{if(todo_for_minimum<0)
todo_for_minimum=0;if(todo_for_minimum>0)
this.can_continue=false;else
this.can_continue=true;this._textareaInfo.update('Minimum: '+this.options.get('min_length')+' '+OPINIAN.strings.get('characters')+' ('+OPINIAN.strings.get('current')+': '+length+')');}
if(this.options.get('debug'))
{if(this.options.get('max_length')==-1)
this._textareaDebug.update('no maximum limit on characters');if(this.options.get('min_length')==0)
this._textareaDebug.update('no minimum limit on characters');}},validate:function()
{var todo_for_minimum=this.options.get('min_length')-$F(this.textarea).length;if(todo_for_minimum>0)
{this.can_continue=false;this.textarea.focus();new Effect.Highlight(this._textareaInfo,{startcolor:'#FB7878',duration:0.5});}
else
this.can_continue=true;}})}
var Opinian={_version:"1.0",_domainBase:"",init:function(domain_base,loggedIn)
{Opinian._domainBase=domain_base+"/";Opinian.User.set_loggedIn(loggedIn);},isLoggedIn:function()
{return Opinian.User.loggedIn();},User:{_hasFacebook:0,_loggedIn:false,set_loggedIn:function(login)
{this._loggedIn=login;},loggedIn:function()
{if(!this._loggedIn===false)
return this._loggedIn;else
return false;},set_hasFacebook:function(facebook_id){if(facebook_id!==false)
this._hasFacebook=true;else
this._hasFacebook=false;},hasFacebook:function(bool){return this._hasFacebook;}},Util:{Url:{encode:function(string){return escape(this._utf8_encode(string));},decode:function(string){return this._utf8_decode(unescape(string));},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}
else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;},_utf8_decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;}
else if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}
else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return string;}},TimeAgo:{strings:{prefixAgo:null,prefixFromNow:null,suffixAgo:"ago",suffixFromNow:"from now",seconds:"less than a minute",minute:"about a minute",minutes:"%d minutes",hour:"about an hour",hours:"about %d hours",day:"a day",days:"%d days",month:"about a month",months:"%d months",year:"about a year",years:"%d years",numbers:[]},setStringsObj:function(stringsObj){Opinian.Util.TimeAgo.strings=stringsObj;},substitute:function(stringOrFunction,number){var string=Object.isFunction(stringOrFunction)?stringOrFunction(number,distanceMillis):stringOrFunction;var value=(Opinian.Util.TimeAgo.strings.numbers&&Opinian.Util.TimeAgo.strings.numbers[number])||number;return string.replace(/%d/i,value);},inWords:function(dateTo,dateFrom){periods=[];periods['week']=604800;periods['day']=86400;periods['hour']=3600;periods['minute']=60;periods['second']=1;(typeof(dateFrom)=='string')?date1=Opinian.Util.parseDate(dateFrom).getTime():date1=new Date().getTime();(typeof(dateTo)=='string')?date2=Opinian.Util.parseDate(dateTo).getTime():date2=new Date().getTime();if(date1>date2){distanceMillis=date1-date2;}else{distanceMillis=date2-date1;}
var $l=Opinian.Util.TimeAgo.strings;var prefix=$l.prefixAgo;var suffix=$l.suffixAgo;if(distanceMillis<0){prefix=$l.prefixFromNow;suffix=$l.suffixFromNow;}
distanceMillis=Math.abs(distanceMillis);var seconds=distanceMillis/1000;var minutes=seconds/60;var hours=minutes/60;var days=hours/24;var years=days/365;var words=seconds<45&&Opinian.Util.TimeAgo.substitute($l.seconds,Math.round(seconds))||seconds<90&&Opinian.Util.TimeAgo.substitute($l.minute,1)||minutes<45&&Opinian.Util.TimeAgo.substitute($l.minutes,Math.round(minutes))||minutes<90&&Opinian.Util.TimeAgo.substitute($l.hour,1)||hours<24&&Opinian.Util.TimeAgo.substitute($l.hours,Math.round(hours))||hours<48&&Opinian.Util.TimeAgo.substitute($l.day,1)||days<30&&Opinian.Util.TimeAgo.substitute($l.days,Math.floor(days))||days<60&&Opinian.Util.TimeAgo.substitute($l.month,1)||days<365&&Opinian.Util.TimeAgo.substitute($l.months,Math.floor(days/30))||years<2&&Opinian.Util.TimeAgo.substitute($l.year,1)||Opinian.Util.TimeAgo.substitute($l.years,Math.floor(years));return Opinian.Util.trim([prefix,words,suffix].join(" "));}},parseDate:function(iso8601){var s=Opinian.Util.trim(iso8601);s=s.replace(/\.\d\d\d+/,"");s=s.replace(/-/,"/").replace(/-/,"/");s=s.replace(/T/," ").replace(/Z/," UTC");s=s.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2");return new Date(s);},LTrim:function(value){var re=/\s*((\S+\s*)*)/;return value.replace(re,"$1");},RTrim:function(value){var re=/((\s*\S+)*)\s*/;return value.replace(re,"$1");},trim:function(value){return Opinian.Util.LTrim(Opinian.Util.RTrim(value));},checkEmail:function(str)
{var emailRegEx=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(str.match(emailRegEx)){return true;}else{return false;}},browserMajorVersion:0,browserMinorVersion:0,_browser:-1,browserList:{IE:0,MOZILLA:1,SAFARI:2,OPERA:3,OTHER:4},getBrowser:function(){if(this._browser==-1)
{var userAgent=window.navigator.userAgent.toLowerCase();var index;var version=null;if((index=userAgent.indexOf('msie'))>=0){this._browser=Opinian.Util.browserList.IE;version=userAgent.substr(index+5);}
else if((index=userAgent.indexOf('firefox'))>=0){this._browser=Opinian.Util.browserList.MOZILLA;version=userAgent.substr(index+8);}
else if((index=userAgent.indexOf('safari'))>=0){this._browser=Opinian.Util.browserList.SAFARI;version=userAgent.substr(index+7);}
else if((index=userAgent.indexOf('gecko'))>=0){this._browser=Opinian.Util.browserList.MOZILLA;version=window.navigator.appVersion;}
else{this._browser=Opinian.Util.browserList.OTHER;}
if(version){var verFloat=parseFloat(version);this.browserMajorVersion=parseInt(verFloat);if((index=version.indexOf('.'))>=0){this.browserMinorVersion=parseInt(version.substr(index+1));}}}
return this._browser;},htmlEncode:function(s){htmlEncMap={'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;'};htmlEncRE=/([&<>\"])/g;if(htmlEncRE.test(s)){s=s.replace(htmlEncRE,function(str,m){return htmlEncMap[m];});}
return s;},addEventListener:function(element,type,handler){if(Opinian.Util.getBrowser()!==Opinian.Util.browserList.IE){(element).addEventListener(type,handler,false);}
else{handler._ieEventHandler=function(){handler(window.event);};(element).attachEvent('on'+type,(handler._ieEventHandler));}},removeEventListener:function(element,type,handler){if(Opinian.Util.getBrowser()!==Opinian.Util.browserList.IE){(element).removeEventListener(type,handler,false);}
else{(element).detachEvent('on'+type,(handler._ieEventHandler));}},waitForLoaded:function(domElement,callback){var eventHandler=null;eventHandler=function(e){this.removeEventListener(domElement,'load',eventHandler);callback();};this.addEventListener(domElement,'load',eventHandler);}},Html:{addCssClass:function(domElement,newClass){var cssClassWithSpace=' '+domElement.className+' ';var newClassWithSpace=' '+newClass+' ';if(cssClassWithSpace.indexOf(newClassWithSpace)<0){domElement.className=domElement.className+' '+newClass;}},getChildById:function(root,id){if(root.id===id){return root;}
var c=root.childNodes.length;for(var i=0;i<c;i++){var child=root.childNodes[i];var result=this.getChildById(child,id);if(result){return result;}}
return null;},moveTo:function(container,element){Position.prepare();container_y=Position.cumulativeOffset($(container))[1];element_y=Position.cumulativeOffset($(element))[1];new Effect.Scroll(container,{x:0,y:(element_y-container_y)});return false;}},Window:{win:null,open:function(arguments)
{if(Opinian.Window.win!=null)
return;this.options=Object.extend({content:"'content' is mandatory argument!",resizable:false,closable:true,icon:true,spinner:false,minimizable:false,maximizable:false,width:350,height:null,destroyOnClose:true,className:"fb_style",zIndex:999},arguments||{});if(this.options.onClose)
{var user_onClose_func=this.options.onClose;this.options.onClose=function()
{Opinian.Window.win=null;user_onClose_func();}}
else
this.options.onClose=function(){Opinian.Window.win=null;}
Opinian.Window.win=new Window(this.options);if(!$(this.options.content))
Opinian.Window.win.setHTMLContent("<div style='padding: 10px'>"+this.options.content+"</div>");else
Opinian.Window.win.setContent(this.options.content);WindowCloseKey.init();Opinian.Window.win.showCenter();},openAjax:function(arguments)
{if(Opinian.Window.win!=null)
Opinian.Window.win.destroy();var options=Object.extend({url:"'url' is mandatory argument!",showLoading:true,iframe:false,hideUntilLoaded:false,resizable:false,closable:true,icon:true,minimizable:false,maximizable:false,width:350,maxHeight:null,maxWidth:null,height:null,destroyOnClose:true,className:"fb_style",zIndex:999},arguments||{});var ajax_url=options.url;if(!options.iframe)
options.url=null;if(options.onClose)
{var user_onClose_func=options.onClose;this.options.onClose=function()
{Opinian.Window.win=null;user_onClose_func();}}
else
options.onClose=function(){Opinian.Window.win=null;}
Opinian.Window.win=new Window(options);if(options.iframe)
Opinian.Window.win.showCenter();else
{Opinian.Window.win.setAjaxContent(ajax_url,options,true,false);}
WindowCloseKey.init();},close:function()
{Opinian.Window.win.close();}},Textarea:{initialize:function(textarea,options)
{this.textarea=$(textarea);this.options=$H({'min_height':80,'max_length':400}).update(options);this.textarea.observe('keyup',this.refresh.bind(this));this._shadow=new Element('div').setStyle({lineHeight:this.textarea.getStyle('lineHeight'),fontSize:this.textarea.getStyle('fontSize'),fontFamily:this.textarea.getStyle('fontFamily'),position:'absolute',top:'-10000px',left:'-10000px',width:this.textarea.getWidth()+'px'});this.textarea.insert({after:this._shadow});this._remainingCharacters=new Element('p').addClassName('remainingCharacters');this.textarea.insert({after:this._remainingCharacters});this._debug=new Element('p').addClassName('textarea-debug');this._remainingCharacters.insert({after:this._debug});this.refresh();},refresh:function()
{this._shadow.update($F(this.textarea).replace(/\n/g,'<br/>'));this._debug.update('calculated height: '+Math.max(parseInt(this._shadow.getHeight())+parseInt(this.textarea.getStyle('lineHeight').replace('px','')),this.options.get('min_height'))+'px'+', textarea height: '+parseInt(this.textarea.getHeight())+'px');var calculated_height=Math.max(parseInt(this._shadow.getHeight())+parseInt(this.textarea.getStyle('lineHeight').replace('px','')),this.options.get('min_height'));if(calculated_height!=parseInt(this.textarea.getHeight()))
new Effect.Morph(this.textarea,{style:'height:'+calculated_height+'px',duration:0.3,queue:'end'});var remaining=this.options.get('max_length')-$F(this.textarea).length;this._remainingCharacters.update(Math.abs(remaining)+' characters '+(remaining>0?'remaining':'over the limit'));}},Cookie:{set:function(name,value,path,domain,days){if(!value||(typeof(value)=='undefined')){value='';}
var cookie=name+'='+encodeURIComponent(value)+';';if(days){var today=new Date();var expire=new Date(today.getTime()+3600000*24*days);cookie+='expires='+expire.toUTCString()+';';}
if(path){cookie+='path='+path+';';}
if(domain){cookie+='domain='+domain+';';}
document.cookie=cookie;},clear:function(name,path,domain){Opinian.Cookie.set(name,'',path,domain,-10);},get:function(name){var nameEQ=name+'=';var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];c=c.replace(/^\s*|\s*$/g,'');if(!c.indexOf(nameEQ)){c=decodeURIComponent(c.substr(nameEQ.length));return c;}}
return null;},list:function(){var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++)
alert(ca[i]);}},Map:{lat_lng:null,show:function(div,size_x,size_y,address,baloon,show_baloon,map_callback)
{this.lat_lng=null;if((typeof GBrowserIsCompatible=="function")&&GBrowserIsCompatible())
{var map=new GMap2(document.getElementById(div),{size:new GSize(size_x,size_y)});map.addControl(new GMapTypeControl());map.addControl(new GLargeMapControl());var geocoder=new GClientGeocoder();geocoder.getLatLng(address,function(point){if((point!=null)&&(typeof(point)!="undefined"))
{map.setCenter(point,13);var marker=new GMarker(point);map.addOverlay(marker);if(show_baloon)
{marker.openInfoWindowHtml(baloon);GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(baloon);});}
Opinian.Map.set_point(point);if(typeof(map_callback)=="function")
map_callback();}
else
{if($(div+'_notfound'))
{$(div).innerHTML=$(div+'_notfound').innerHTML;$(div).style.height='100%';}
if(typeof(map_callback)=="function")
map_callback();}});return map;}},add_point_address:function(map_object,address,baloon,show_baloon,do_center,map_callback)
{if((typeof GBrowserIsCompatible=="function")&&GBrowserIsCompatible())
{var geocoder=new GClientGeocoder();geocoder.getLatLng(address,function(point){if(point)
{if(do_center)
{var bounds=map_object.getBounds();bounds.extend(point);map_object.setCenter(bounds.getCenter(),map_object.getBoundsZoomLevel(bounds));}
var marker=new GMarker(point);map_object.addOverlay(marker);if(show_baloon)
marker.openInfoWindowHtml(baloon);GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(baloon);});Opinian.Map.set_point(point);if(typeof map_callback=="function")
map_callback();}});}},add_point_location:function(map_object,latitude,longitude,baloon,show_baloon,do_center,map_callback)
{if((typeof GBrowserIsCompatible=="function")&&GBrowserIsCompatible())
{var point=new GLatLng(latitude,longitude);if(do_center)
{var bounds=map_object.getBounds();bounds.extend(point);map_object.setCenter(bounds.getCenter(),map_object.getBoundsZoomLevel(bounds));}
var marker=new GMarker(point);map_object.addOverlay(marker);if(show_baloon)
marker.openInfoWindowHtml(baloon);GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(baloon);});Opinian.Map.set_point(point);if(typeof map_callback=="function")
map_callback();}},get_point:function()
{return this.lat_lng;},set_point:function(point)
{this.lat_lng=point;},get_distance:function(lat1,lon1,lat2,lon2)
{var R=6371;var dLat=((lat2-lat1)*Math.PI/180);var dLon=((lon2-lon1)*Math.PI/180);var a=Math.sin(dLat/2)*Math.sin(dLat/2)+
Math.cos(lat1*Math.PI/180)*Math.cos(lat2*Math.PI/180)*Math.sin(dLon/2)*Math.sin(dLon/2);var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return(R*c);}},Item:{add_rating_category:function(){if(!Opinian.User.loggedIn())
show_login_window();else
{if($('random_rating_categories')&&$('signed_in_as'))
{$('random_rating_categories').hide();$('add_rating_button').hide();}
if($('add_rating_category').visible())
$('add_rating_category').hide();else
$('add_rating_category').show();if($("item_ratings").up().id=="item_ratings_window_content")
{Opinian.Window.win.updateHeight(false);$("item_ratings").up().scrollTop=0;}
if($('add_rating_category')&&$('add_rating_category').visible())
{if($('add_rating_category_language').visible())
{$('RatingCategoryRatingSearchStr').focus();Opinian.Html.moveTo($('item_ratings'),$('add_rating_category_language'));}
else
{$('RatingCategoryRatingSearchStrEn').focus();Opinian.Html.moveTo($('item_ratings'),$('add_rating_category_in_english'));}}}},rate:function(item_id,rating_category_id,rating,title,can_revote,analytics,show_flag,class_name,rating_unitwidth){if(!Opinian.User.loggedIn())
show_login_window();else
{$('ul_'+item_id+'_'+rating_category_id).style.display='none';new Ajax.Updater('rating_'+item_id+'_'+rating_category_id,Opinian._domainBase+'items/rate/iid:'+item_id+'/rid:'+rating_category_id+'/rating:'+rating+'/title:'+title+'/can_revote:1/analytics:'+analytics+'/show_flag:'+show_flag+'/class:'+class_name+'/rating_unitwidth:'+rating_unitwidth,{asynchronous:true,evalScripts:true,onComplete:function(request,json){Element.hide('loading_'+item_id+'_'+rating_category_id)},onLoading:function(request){Element.show('loading_'+item_id+'_'+rating_category_id)},requestHeaders:['X-Update','rating_'+item_id+'_'+rating_category_id]});}},rate_opinion:function(review_id,rating){if(!Opinian.User.loggedIn())
show_login_window();else
{new Ajax.Updater('post_voting_'+review_id,Opinian._domainBase+'items/review_vote/'+review_id+'/'+rating,{asynchronous:true,evalScripts:true,onComplete:function(request,json){Element.hide('review_'+review_id+'_wait')},onLoading:function(request){Element.show('review_'+review_id+'_wait')},requestHeaders:['X-Update','post_voting_'+review_id]});}}}};Effect.Scroll=Class.create();Object.extend(Object.extend(Effect.Scroll.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);var options=Object.extend({x:0,y:0,mode:'absolute'},arguments[1]||{});this.start(options);},setup:function(){if(this.options.continuous&&!this.element._ext){this.element.cleanWhitespace();this.element._ext=true;this.element.appendChild(this.element.firstChild);}
this.originalLeft=this.element.scrollLeft;this.originalTop=this.element.scrollTop;if(this.options.mode=='absolute'){this.options.x-=this.originalLeft;this.options.y-=this.originalTop;}else{}},update:function(position){this.element.scrollLeft=this.options.x*position+this.originalLeft;this.element.scrollTop=this.options.y*position+this.originalTop;}});function show_languages()
{if($('languages_selector').visible())
$('languages_selector').hide();else
$('languages_selector').show();}
function show_languages2()
{if($('languages_selector2').visible())
$('languages_selector2').hide();else
$('languages_selector2').show();}
function change_language(event)
{$('languages_selector').hide();var selectedOption=Event.element(event);$('homeLang').value=selectedOption.readAttribute('value');var lf=document.getElementById('language_form');lf.submit();}
function toggleHighlight(event){var item=event.target;item.toggleClassName('selected');}
function main_left_menu_clicked(selected_menu_left_item){$$("#menu_left .menu_left_item").each(function(obj){$(obj).removeClassName("selected")});$("menu_left_item_"+selected_menu_left_item).addClassName("selected");}
function activateMenu(id,first)
{if((eval("typeof("+id+")")=='object')&&first)
return;eval("(function(){"+id+" = new FSMenu('"+id+"', true, 'display', 'block', 'none'); "+id+".animations["+id+".animations.length] = FSMenu.animFade; "+id+".animations["+id+".animations.length] = FSMenu.animSwipeDown;})();");eval("(function(){"+id+".activateMenu('"+id+"');})()");var posy=0;}
function show_subcategories_menu(event,menu_name)
{if(!$("subcategories_menu_"+menu_name))
return;if($("subcategories_menu_wrapper_"+menu_name).visible()&&$("subcategories_menu_wrapper_"+menu_name).down("ul.menulist").visible())
{return;}
var IE=document.all?true:false;if(IE){tempX=event.clientX+document.body.scrollLeft;tempY=event.clientY+document.body.scrollTop;}else{tempX=event.pageX;tempY=event.pageY;}
$$('.subcategories_menu_wrapper').each(function(o){$(o).hide();});obj=event.srcElement?event.srcElement:event.target;obj=$(obj);posx=obj.cumulativeOffset().left-$("container").cumulativeOffset().left;posy=$('page_body').cumulativeOffset().top;$("subcategories_menu_wrapper_"+menu_name).style.position='absolute';$("subcategories_menu_wrapper_"+menu_name).style.left=posx-2+'px';$("subcategories_menu_wrapper_"+menu_name).style.top=(posy+46)+'px';if(!$("subcategories_menu_wrapper_"+menu_name).visible())
$("subcategories_menu_wrapper_"+menu_name).show();activateMenu("subcategories_menu_"+menu_name,1);}
function menu_item_select(event)
{$(this).addClassName('menu_item_selected_hover');}
function menu_item_deselect(event)
{$(this).removeClassName('menu_item_selected_hover');var c=event.relatedTarget||((event.type=="mouseover")?event.fromElement:event.toElement);while(c&&(c.className!='subcategories_menu_wrapper'&&c.className!='subcategories_menu_wrapper_favorites'))try{c=c.parentNode}catch(e){c=o}
if(c&&(c.className=='subcategories_menu_wrapper'||c.className=='subcategories_menu_wrapper_favorites'))
return;$$(".subcategories_menu_wrapper").each(function(o){o.hide();});}
function menu_move()
{if($("menu_arrow").hasClassName("menu_left"))
{Effect.Fade($("menu_items_slide"),{duration:0.3,queue:'end',afterFinish:function(){$("menu_items_slide").style.left="0px";$("menu_arrow").removeClassName("menu_left");$("menu_arrow").addClassName("menu_right");}});Effect.Appear($("menu_items_slide"),{duration:0.3,queue:'end'});}
else
{Effect.Fade($("menu_items_slide"),{duration:0.3,queue:'end',afterFinish:function(){$("menu_items_slide").style.left="-735px";$("menu_arrow").removeClassName("menu_right");$("menu_arrow").addClassName("menu_left");}});Effect.Appear($("menu_items_slide"),{duration:0.3,queue:'end'});}};var autoExpand=function(){var interval;var elements=$$('.expand');if(elements.size()>0){for(var index=0,length=elements.size();index<length;++index){autoExpandContract(elements[index]);}}
function getStyleFromCSS(el,style){var value=$(el).getStyle(style);if(!value){if(document.defaultView){value=document.defaultView.getComputedStyle(el,null).getPropertyValue(style);}else if(el.currentStyle){value=el.currentStyle[style];if(value.substring(value.length-2,value.length)=="px"){value=value+'px';}}}
if(value.length>0){if(value.charAt(value.length-1)=="x"){value=parseInt(value.substring(0,value.length-2));}}
return value;}
function autoExpandContract(el){var __heightFromElement=el.offsetHeight;var __heightFromCSS=parseInt(getStyleFromCSS(el,'height'));if(__heightFromCSS>0){__heightFromElement=__heightFromCSS;}
$(el).setStyle({overflow:'hidden',overflowX:'auto'});el.style.width=getStyleFromCSS(el,'width')+'px';el.style.height=getStyleFromCSS(el,'height')+'px';var dummy_id=Math.floor(Math.random()*99999)+'_dummy';var div=document.createElement('div');div.setAttribute('id',dummy_id);document.body.appendChild(div);var dummy=$(dummy_id);dummy.style.fontFamily=getStyleFromCSS(el,'font-family');dummy.style.fontWeight=getStyleFromCSS(el,'font-weight');dummy.style.fontSize=getStyleFromCSS(el,'font-size')+'px';if(navigator.userAgent.indexOf('MSIE')!=-1){dummy.style.width=getStyleFromCSS(el,'width');}else{dummy.style.width=getStyleFromCSS(el,'width')+'px';}
dummy.style.padding=getStyleFromCSS(el,'padding');dummy.style.margin=getStyleFromCSS(el,'margin');dummy.style.overflowX='auto';dummy.style.position='absolute';dummy.style.top='0px';dummy.style.left='-9999px';dummy.innerHTML='&nbsp;42';var __lineHeight=dummy.offsetHeight;var checkExpandContract=function(){var html=el.value;html=html.replace(/\n/g,'<br />');if(dummy.innerHTML!=html){dummy.innerHTML=html;var __dummyHeight=dummy.offsetHeight;var __elHeight=el.offsetHeight;if(__elHeight!=__dummyHeight){if(__dummyHeight>=(__heightFromElement-__lineHeight)){new Effect.Morph(el,{style:'height:'+(__dummyHeight+__lineHeight)+'px',duration:0.3,queue:'end'});}else{el.style.height=__heightFromElement;}}}}
var expandElement=function(){interval=window.setInterval(function(){checkExpandContract()},250);}
var contractElement=function(){clearInterval(interval);}
$(el).observe('focus',expandElement);$(el).observe('blur',contractElement);checkExpandContract();}}
document.observe("dom:loaded",autoExpand);
