(function(){
function $(id){
return document.getElementById(id)}
function setStyleDisplay(id,status){
$(id).style.display=status}
function goTop(acceleration,time){
acceleration=acceleration || 0.1
time=time || 16
var dx=0
var dy=0
var bx=0
var by=0
var wx=0
var wy=0
if(document.documentElement){
dx=document.documentElement.scrollLeft || 0
dy=document.documentElement.scrollTop || 0}
if(document.body){
bx=document.body.scrollLeft || 0
by=document.body.scrollTop || 0}
var wx=window.scrollX || 0
var wy=window.scrollY || 0
var x=Math.max(wx,Math.max(bx,dx))
var y=Math.max(wy,Math.max(by,dy))
var speed=1+acceleration
window.scrollTo(Math.floor(x/speed),Math.floor(y/speed))
if(x>0 || y>0){
var invokeFunction="MGJS.goTop("+acceleration+", "+time+")"
window.setTimeout(invokeFunction,time)}}
function switchTab(showPanel,hidePanel,activeTab,activeClass,fadeTab,fadeClass){
$(activeTab).className=activeClass
$(fadeTab).className=fadeClass
setStyleDisplay(showPanel,'block')
setStyleDisplay(hidePanel,'none')}
window['MGJS']={}
window['MGJS']['$']=$
window['MGJS']['setStyleDisplay']=setStyleDisplay
window['MGJS']['goTop']=goTop
window['MGJS']['switchTab']=switchTab
})()
function switchImage(imageId,imageUrl,linkId,linkUrl,preview,title,alt){
if(imageId&&imageUrl){
var image=$(imageId)
image.src=imageUrl
if(title){
image.title=title}
if(alt){
image.alt=alt}}
if(linkId&&linkUrl){
var link=$(linkId)
link.href=linkUrl}}
(function(){
var Class={
create: function(){
return function(){
this.initialize.apply(this,arguments)}}}
var GhostlyMenu=Class.create()
GhostlyMenu.prototype={
initialize: function(target,align,opacity,offset){
this.obj=cleanWhitespace(target)
this.align=align || 'left'
this.opacity=0
this.maxopacity=opacity || 1
this.offset=offset || 0
this.menu=this.obj.childNodes
if(this.menu.length<2){return;}
this.title=this.menu[0]
this.body=this.menu[1]
cleanWhitespace(this.body).firstChild.className='first'
if(/MSIE/i.test(navigator.userAgent)){
var readers=getElementsByClassName('reader','a',this.body)
for(var i=0;i<readers.length;i++){
setStyle(readers[i],'cursor','hand')}}
setStyle(this.body,'visibility','hidden')
setStyle(this.body,'position','absolute')
setStyle(this.body,'overflow','hidden')
setStyle(this.body,'display','block')
addListener(this.obj,'mouseover',bind(this,this.activate),false)
addListener(this.obj,'mouseout',bind(this,this.deactivate),false)
},
activate: function(){
var pos=cumulativeOffset(this.title)
var left=pos[0]
if(this.align=='right'){
var offset=getWidth(this.title)-getWidth(this.body)+this.offset
left+=offset}
var top=pos[1]+getHeight(this.title)
setStyle(this.body,'left',left+'px')
setStyle(this.body,'top',top+'px')
setStyle(this.body,'visibility','visible')
setStyle(this.body,'opacity',this.opacity)
setStyle(this.body,'MozOpacity',this.opacity)
setStyle(this.body,'KhtmlOpacity',this.opacity)
setStyle(this.body,'filter','alpha(opacity='+this.opacity*100+')')
if(this.tid){
clearTimeout(this.tid)}
this.tid=setInterval(bind(this,this.appear),30)
},
deactivate: function(){
if(this.tid){
clearTimeout(this.tid)}
this.tid=setInterval(bind(this,this.fade),30)
},
appear: function(){
this.opacity+=0.1
if(this.opacity>=this.maxopacity){
this.opacity=this.maxopacity
clearTimeout(this.tid)}
setStyle(this.body,'opacity',this.opacity)
setStyle(this.body,'MozOpacity',this.opacity)
setStyle(this.body,'KhtmlOpacity',this.opacity)
setStyle(this.body,'filter','alpha(opacity='+this.opacity*100+')')
},
fade:function(){
this.opacity-=0.1
if(this.opacity<=0){
this.opacity=0
setStyle(this.body,'visibility','hidden')
clearTimeout(this.tid)}
setStyle(this.body,'opacity',this.opacity)
setStyle(this.body,'MozOpacity',this.opacity)
setStyle(this.body,'KhtmlOpacity',this.opacity)
setStyle(this.body,'filter','alpha(opacity='+this.opacity*100+')')}}
$=function(id){
return document.getElementById(id)}
$A=function(iterable){
if(!iterable){
return []}
if(iterable.toArray){
return iterable.toArray()
}else{
var results=[]
for(var i=0;i<iterable.length;i++){
results.push(iterable[i])}
return results}}
getElementsByClassName=function(className,tag,parent){
parent=parent || document
var allTags=(tag=='*'&&parent.all)? parent.all : parent.getElementsByTagName(tag)
var matchingElements=new Array()
className=className.replace(/\-/g,'\\-')
var regex=new RegExp('(^|\\s)'+className+'(\\s|$)')
var element
for(var i=0;i<allTags.length;i++){
element=allTags[i]
if(regex.test(element.className)){
matchingElements.push(element)}}
return matchingElements}
bind=function(){
var array=this.$A(arguments)
var func=array[array.length-1]
var _method=func,args=array,object=args.shift()
return function(){
return _method.apply(object,args.concat(array))}}
getHeight=function(element){
return element.offsetHeight}
getWidth=function(element){
return element.offsetWidth}
setStyle=function(element,key,value){
element.style[key]=value}
getStyle=function(element,key){
return element.style[key]}
cleanWhitespace=function(list){
var node=list.firstChild
while(node){
var nextNode=node.nextSibling
if(node.nodeType==3&&!/\S/.test(node.nodeValue)){
list.removeChild(node)}
node=nextNode}
return list}
cumulativeOffset=function(element){
var valueT=0,valueL=0
do{
valueT+=element.offsetTop || 0
valueL+=element.offsetLeft || 0
element=element.offsetParent
}while(element)
return [valueL,valueT]}
addListener=function(element,name,observer,useCapture){
if(element.addEventListener){
element.addEventListener(name,observer,useCapture)
}else if(element.attachEvent){
element.attachEvent('on'+name,observer)}}
function loadMenus(){
var menubar=$('menus')
var list=cleanWhitespace(menubar.childNodes)
for(var i=0;i<list.length;i++){
new GhostlyMenu(list[i],'left',1,1)}}
if(document.addEventListener){
document.addEventListener("DOMContentLoaded",loadMenus,false)
}else if(/MSIE/i.test(navigator.userAgent)){
document.write('<script id="__ie_onload_for_inove" defer src="javascript:void(0)"></script>')
var script=$('__ie_onload_for_inove')
script.onreadystatechange=function(){
if(this.readyState=='complete'){
loadMenus()}}
}else if(/WebKit/i.test(navigator.userAgent)){
var _timer=setInterval(function(){
if(/loaded|complete/.test(document.readyState)){
clearInterval(_timer)
loadMenus()}
},10)
}else{
window.onload=function(e){
loadMenus()}}
window['MGJS_MENU']={}
})()
