/* Start Header ------------------------------------------------------------

    Kodak Graphic Communications Canada Company
    Burnaby B.C. Canada
    V5G 4M1

    Copyright (C) 2009 Kodak Graphic Communications Canada Company
    
    Reproduction or disclosure of this file or its contents without the
    prior written consent of Kodak Graphic Communications Canada Company
    is prohibited.

    Purpose  : Creates a webcontrol for selecting language

* End Header --------------------------------------------------------------
*/

/************************************************************ AWEC_LanguageSelection_ImageSwap()
*
* Swaps in the correct image and clips out
* everything but the item we need.
*
************************************************************/
function AWEC_LanguageSelection_ImageSwap
(
    objEvent,
    strMenuId
)
{
  
  switch (objEvent.type)
  {
    case "mouseout" :
        document.getElementById( strMenuId ).style.visibility = "hidden";
        break;
      
    case "mouseover" :
        var objMenuElement = (objEvent.target) ? objEvent.target : objEvent.srcElement;
        var arrCoords = objMenuElement.coords.split(",");
        var strClipVal = "rect(" + arrCoords[1] + "px " +
                             arrCoords[2] + "px " +
                             arrCoords[3] + "px " +
                             arrCoords[0] + "px)";
        var objImageStyle = document.getElementById( strMenuId ).style;
        objImageStyle.clip = strClipVal;
        objImageStyle.visibility = "visible";
        break;
  }
  objEvent.cancelBubble = true;
  return false;
  
} // AWEC_LanguageSelection_ImageSwap


/************************************************************ AWEC_LanguageSelection_ToggleMenu()
*
* Shows or hides the menu, depending on its current 
* visibility.
*
************************************************************/
function AWEC_LanguageSelection_ToggleMenu
(
    strMenuIdRegularState,
    strMenuIdHoverState
)
{
  var objMenuElementRegularState = document.getElementById( strMenuIdRegularState );
  var objMenuElementHoverState = document.getElementById( strMenuIdHoverState );
  
  if ( ( objMenuElementRegularState.style.visibility == "visible" ) ||
       ( objMenuElementHoverState.style.visibility == "visible" ) )
  {
    AWEC_LanguageSelection_HideMenu( strMenuIdRegularState, strMenuIdHoverState );
  }
  else
  {
    objMenuElementRegularState.style.visibility = "visible";
  }
    
} // AWEC_LanguageSelection_ToggleMenu

/************************************************************ AWEC_LanguageSelection_HideMenu()
*
* Hides the menu.
*
************************************************************/
function AWEC_LanguageSelection_HideMenu
(
    strMenuIdRegularState,
    strMenuIdHoverState
)
{
  
  document.getElementById( strMenuIdRegularState ).style.visibility = "hidden";
  document.getElementById( strMenuIdHoverState ).style.visibility = "hidden";
  
} //AWEC_LanguageSelection_HideMenu

/************************************************************* AWEC_LanguageSelection_HideMenuFromCanvas()
*
* Causes the menu to be hidden when the user clicks in the
* page but outside of the menu.
*
* Called from the onClick handler in <BODY>.
*
* See incINTL_LanguageSelection.asp for a function to write
* an onClick handler for the <BODY> tag that calls this function.
*
*************************************************************/
function AWEC_LanguageSelection_HideMenuFromCanvas
(
    objEvent,
    strSelectedLanguageImageId,
    strMenuIdRegularState,
    strMenuIdHoverState
)
{
  var objMenuElement;
  var strEventSourceId;

  objMenuElement = (objEvent.target) ? objEvent.target : objEvent.srcElement;
  strEventSourceId = objMenuElement.id;

  if ( strEventSourceId == null )
  {
      AWEC_LanguageSelection_HideMenu( strMenuIdRegularState, strMenuIdHoverState );
  }
  else if ( strEventSourceId != strSelectedLanguageImageId )
  {
      AWEC_LanguageSelection_HideMenu( strMenuIdRegularState, strMenuIdHoverState );
  }
} // AWEC_LanguageSelection_HideMenuFromCanvas

/************************************************************* RefreshLanguage()
*
* Refreshes the page to display the currently selected language.
*
*************************************************************/
function AWEC_LanguageSelection_RefreshLanguage
(
    strLanguageCode,
    strImagesPath,
    strLanguageImageId,
    strLanguageFieldId,
    strRegularMenuId,
    strHoverMenuId
)
{
    document.images[strLanguageImageId].src = strImagesPath + strLanguageCode + ".gif";
    document.getElementById(strLanguageFieldId).value = strLanguageCode;
    AWEC_LanguageSelection_HideMenu( strRegularMenuId, strHoverMenuId );
} //RefreshLanguage
