function CTransNavPopup(a_szInstanceVariableName, a_oTransManager, a_oTransSoundManager, a_cTransPopupWindow, a_szNavItemsClassName, a_szContainerID)
{ var m_szInstanceVariableName = a_szInstanceVariableName; this.m_szInstanceVariableName = m_szInstanceVariableName; var m_oTransManager = a_oTransManager; this.m_oTransManager = m_oTransManager; var m_oTransSoundManager = a_oTransSoundManager; this.m_oTransSoundManager = m_oTransSoundManager; var m_cTransPopupWindow = a_cTransPopupWindow; this.m_cTransPopupWindow = m_cTransPopupWindow; var m_szNavItemsClassName = a_szNavItemsClassName; this.m_szNavItemsClassName = m_szNavItemsClassName; var m_szContainerID = a_szContainerID; this.m_szContainerID = m_szContainerID; var m_oContainer = ei(m_szContainerID); this.m_oContainer = m_oContainer; var m_cTransDelay = new CTransDelay(m_oTransManager,250); this.m_cTransDelay = m_cTransDelay; var m_iPaddingTop = 0; this.m_iPaddingTop = m_iPaddingTop; var m_iMouseOverPaddingTop = 4; this.m_iMouseOverPaddingTop = m_iMouseOverPaddingTop; var m_oCurrentSelectedItem = null; var m_szCurrentSelectedItemId = null; var m_szPopupCloseSequenceName = '__popup_window_close'; var m_szToPrefix = '__to_'; if(m_szNavItemsClassName)
{ var oCollection = etc("td",m_szNavItemsClassName); var szClassName; for(var i = 0; i < oCollection.length; i++)
{ setupSequenceForManager(oCollection[i]); if(oCollection[i].style.backgroundColor)
{ if(!oCollection[i].style.backgroundColor)
{ oCollection[i].style.color = '#ffffff';}
oCollection[i].backgroundColorOriginal = oCollection[i].style.backgroundColor; if(!oCollection[i].style.color)
{ oCollection[i].style.color = '#000000';}
oCollection[i].colorOriginal = oCollection[i].style.color; var oLightenedBackgroundColor = new HSL(getStyle(oCollection[i], 'background-color')); if( oLightenedBackgroundColor.getHexColor() == '#ffffff' )
{ oCollection[i].backgroundColorOnMouseOver = oLightenedBackgroundColor.brightness(-0.90);}
else
{ oCollection[i].backgroundColorOnMouseOver = oLightenedBackgroundColor.brightness(0.5);}
var oDarkenedColor = new HSL(oCollection[i].backgroundColorOnMouseOver); oCollection[i].colorOnMouseOver = oDarkenedColor.brightness(-0.5);}
}
if(m_oTransManager)
{ if(ie)
{ m_oTransManager.addDefaultSequence( { Line01: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('navBarMouseClick');"
} );}
else
{ m_oTransManager.addDefaultSequence( { Line01: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('navBarMouseClick');", Line02: m_szInstanceVariableName+".GetCurrentSelectedItem().otransmultifade.startFadeOut();", Line03: m_szInstanceVariableName+".GetCurrentSelectedItem().otransmultifade.startFadeIn();"
} );}
m_oTransManager.addSequence("navBarMouseOver", { Line01: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('navBarMouseOver')"
} ); if(m_cTransPopupWindow.m_szCloseClassName)
{ var oCollection = etc("td", m_cTransPopupWindow.m_szCloseClassName); if(oCollection)
{ for(var i = 0; i < oCollection.length; i++)
{ oCollection[i].onclick = popupWindowClickClose;}
if(ie)
{ m_oTransManager.addSequence(m_szPopupCloseSequenceName, { Line01: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.hide();", Line02: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('primaryShrink');", Line03: m_szInstanceVariableName+".m_cTransPopupWindow.minimizeToMouse();", Line04: m_szInstanceVariableName+".m_cTransPopupWindow.fadeOut();", Line05: m_szInstanceVariableName+".m_cTransPopupWindow.setTransparency(0);", Line06: m_szInstanceVariableName+".m_cTransPopupWindow.hide();"
} );}
else
{ m_oTransManager.addSequence(m_szPopupCloseSequenceName, { Line01: m_szInstanceVariableName+".GetCurrentSelectedItem().otransmultifade.startFadeOut();", Line02: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.setTransparency(0);", Line03: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.hide();", Line04: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('primaryShrink');", Line05: m_szInstanceVariableName+".m_cTransPopupWindow.minimizeToMouse();", Line06: m_szInstanceVariableName+".m_cTransPopupWindow.fadeOut();", Line07: m_szInstanceVariableName+".m_cTransPopupWindow.setTransparency(0);", Line08: m_szInstanceVariableName+".m_cTransPopupWindow.hide();"
} );}
}
}
}
}
function GetCurrentSelectedItem()
{ if(m_oCurrentSelectedItem)
{ return m_oCurrentSelectedItem;}
else if(m_szCurrentSelectedItemId)
{ m_oCurrentSelectedItem = ei(m_szCurrentSelectedItemId); return m_oCurrentSelectedItem;}
else
{ return null;}
}
this.GetCurrentSelectedItem = GetCurrentSelectedItem; function SetCurrentSelectedItem(a_szNewSelectedItemId,a_bDontContinue)
{ if(a_szNewSelectedItemId)
{ var lastId = null; m_szCurrentSelectedItemId = a_szNewSelectedItemId; m_oCurrentSelectedItem = ei(m_szCurrentSelectedItemId); if(a_bDontContinue)
{ }
else
{ if(m_oTransManager)
{ m_oTransManager.continueSequence();}
}
}
}
this.SetCurrentSelectedItem = SetCurrentSelectedItem; function setupSequenceForManager(a_oElement)
{ if(!a_oElement) return; var szSequenceName = a_oElement.id; if(m_oTransManager)
{ if(ie)
{ m_oTransManager.addSequence(szSequenceName, { Line01: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('navBarMouseClick');", Line02: m_szInstanceVariableName+".m_cTransPopupWindow.minimize();", Line03: m_szInstanceVariableName+".m_cTransPopupWindow.moveCenterToMouse();", Line04: m_szInstanceVariableName+".m_cTransPopupWindow.setTransparency(0);", Line05: m_szInstanceVariableName+".m_cTransPopupWindow.show();", Line06: m_szInstanceVariableName+".m_cTransPopupWindow.fadeIn();", Line07: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('primaryGrow');", Line08: m_szInstanceVariableName+".m_cTransPopupWindow.maximizeTo();", Line09: m_szInstanceVariableName+".SetCurrentSelectedItem('"+szSequenceName+"');", Line10: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.show();"
} ); m_oTransManager.addSequence(m_szToPrefix + szSequenceName, { Line01: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('navBarMouseClick');", Line02: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.hide();", Line03: m_szInstanceVariableName+".SetCurrentSelectedItem('"+szSequenceName+"');", Line04: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.show();"
} );}
else
{ m_oTransManager.addSequence(szSequenceName, { Line01: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('navBarMouseClick');", Line03: m_szInstanceVariableName+".m_cTransPopupWindow.minimize();", Line02: m_szInstanceVariableName+".m_cTransPopupWindow.moveCenterToMouse();", Line04: m_szInstanceVariableName+".m_cTransPopupWindow.setTransparency(0);", Line05: m_szInstanceVariableName+".m_cTransPopupWindow.show();", Line06: m_szInstanceVariableName+".m_cTransPopupWindow.fadeIn();", Line07: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('primaryGrow');", Line08: m_szInstanceVariableName+".m_cTransPopupWindow.maximizeTo();", Line09: m_szInstanceVariableName+".SetCurrentSelectedItem('"+szSequenceName+"');", Line10: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.setTransparency(0);", Line11: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.show();", Line12: m_szInstanceVariableName+".GetCurrentSelectedItem().otransmultifade.startFadeIn();"
} ); m_oTransManager.addSequence(m_szToPrefix + szSequenceName, { Line01: m_szInstanceVariableName+".m_oTransSoundManager.playEvent('navBarMouseClick');", Line02: m_szInstanceVariableName+".GetCurrentSelectedItem().otransmultifade.startFadeOut();", Line03: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.setTransparency(0);", Line04: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.hide();", Line05: m_szInstanceVariableName+".SetCurrentSelectedItem('"+szSequenceName+"');", Line06: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.setTransparency(0);", Line07: m_szInstanceVariableName+".GetCurrentSelectedItem().otranscontent.show();", Line08: m_szInstanceVariableName+".GetCurrentSelectedItem().otransmultifade.startFadeIn();"
} );}
}
a_oElement.otransmultifade = new CTransMultiFade ( m_oTransManager , szSequenceName+"_body" ); a_oElement.otranscontent = new CTransContent ( m_oTransManager , szSequenceName+"_body" ); a_oElement.onclick = itemClick; a_oElement.onmouseover = itemMouseOver; a_oElement.onmouseout = itemMouseOut;}
function popupWindowClickClose(a_e)
{ if(m_oTransManager)
{ m_oTransManager.runSequence(m_szPopupCloseSequenceName);}
}
function itemClick(a_e)
{ var oe = getElementFromEvent(a_e); if(!oe) return; if(m_oContainer)
{ var iTop = getPageY(m_oContainer); var iLeft = getPageX(m_oContainer); var iWidth = m_oContainer.offsetWidth; var iHeight = m_oContainer.offsetHeight; m_cTransPopupWindow.m_iTop = iTop - m_cTransPopupWindow.m_iTopOffset; m_cTransPopupWindow.m_iLeft = iLeft - m_cTransPopupWindow.m_iLeftOffset; m_cTransPopupWindow.m_iWidth = iWidth; m_cTransPopupWindow.m_iHeight = iHeight; m_cTransPopupWindow.m_iMouseX = getMouseX(a_e); m_cTransPopupWindow.m_iMouseY = getMouseY(a_e); m_cTransPopupWindow.m_iCenterX = parseInt(iLeft-0 + iWidth/2); m_cTransPopupWindow.m_iCenterY = parseInt(iTop-0 + iHeight/2); if(m_oTransManager)
{ var oSelectedItem = GetCurrentSelectedItem(); if( (null == oSelectedItem) || m_cTransPopupWindow.isHidden() )
{ m_oTransManager.runSequence(oe.id);}
else if(m_oTransManager.getLastSequenceRan() == oe.id)
{ m_oTransManager.runDefaultSequence();}
else
{ m_oTransManager.runSequence(oe.id);}
}
}
}
function itemMouseOver(a_e)
{ var oe = getElementFromEvent(a_e); if(!oe) return; if(oe.backgroundColorOnMouseOver)
{ oe.style.backgroundColor = oe.backgroundColorOnMouseOver;}
if(oe.colorOnMouseOver)
{ oe.style.color = oe.colorOnMouseOver;}
oe.style.paddingTop = m_iMouseOverPaddingTop; if(m_oTransManager)
{ m_oTransManager.runSequence('navBarMouseOver');}
}
function itemMouseOut(a_e)
{ var oe = getElementFromEvent(a_e); if(!oe) return; if(oe.backgroundColorOriginal)
{ oe.style.backgroundColor = oe.backgroundColorOriginal;}
if(oe.colorOriginal)
{ oe.style.color = oe.colorOriginal;}
oe.style.paddingTop = m_iPaddingTop; if(m_oTransManager)
{ m_oTransManager.runSequence('navBarMouseOver');}
}
}
