var dom_browser = (document.getElementById)?true:false;
var ie4_browser = (document.all && !document.getElementById)?true:false;
var old_browser = ( (!dom_browser && !ie4_browser) || (navigator.userAgent.toLowerCase().indexOf("opera") != -1) )?true:false;

var tabTranslation = new Array();       /* EN-US, EN-UK, EN-AU, FR, DE, IT, ES */

tabTranslation["val-not_empty"]   = ["must not be empty","must not be empty","must not be empty","ne doit pas être vide","Bitte machen Sie eine Angabe!","non deve essere vuoto","debe ser cumplimentado"];
tabTranslation["val-number"]      = ["must be a number","must be a number","must be a number","doit contenir un nombre","Bitte geben Sie eine Zahl ein!","non deve essere vuoto","introduzca un número"];
tabTranslation["val-email"]       = ["must be a valid email address","must be a valid email address","must be a valid email address","doit contenir une adresse email valide","Bitte geben Sie eine gültige E-Mail-Adresse ein!","deve contenere un indirizzo e-mail valido","debe contener una dirección de email válida"];
tabTranslation["val-url"]         = ["must be a valid HTTP URL address","must be a valid HTTP URL address","must be a valid HTTP URL address","doit contenir une adresse HTTP valide","Bitte geben Sie eine gültige http-Adresse ein!","deve contenere un indirizzo HTTP valido","debe contener una dirección HTML válida"];
tabTranslation["val-range-1"]     = ["must be a number between","must be a number between","must be a number between","doit contenir un nombre entre","Bitte geben Sie eine Zahl von","deve contenere un numero tra","debe ser un número entre"];
tabTranslation["val-range-2"]     = ["and","and","and","et","bis","e","y"];
tabTranslation["val-not_valid"]   = ["is not a valid entry","is not a valid entry","is not a valid entry","n'est pas valide","Eingabe nicht gültig!","non è valido","entrada no válida"];
tabTranslation["val-not_checked"] = ["must be specified","must be specified","must be specified","n'est pas indiqué","","","debe estar indicado"];

/*---------------------------------------------------------------------------------------------------------------------*/
function Translate(sToken, sLanguage)
{
  var nIndex;

  sLanguage = sLanguage || gLanguage;

  switch (sLanguage)
  {
    case "FR" : nIndex = 3; break;
    case "US" : nIndex = 0; break;
    case "UK" : nIndex = 1; break;
    case "AU" : nIndex = 2; break;
    case "DE" : nIndex = 4; break;
    case "IT" : nIndex = 5; break;
    case "ES" : nIndex = 6; break;
    default: nIndex = 0;
  }
  
  if ( tabTranslation[sToken] )
      return tabTranslation[sToken][nIndex];

  return sToken;
}

/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/

function pg_InitPage()
{
}


/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/

function dom_GetObject(sID)
{
  if (dom_browser)
    return document.getElementById(sID);
  if (ie4_browser)
    return document.all[sID];

  return null;
}

/*---------------------------------------------------------------------------------------------------------------------*/
function dom_GetTop(oElement)
{
  if (dom_browser)
    return oElement.offsetTop;
  else
    return 0;
}
function dom_SetTop(oElement, nValue)
{
  if (dom_browser)
    oElement.style.top = nValue;
}

/*---------------------------------------------------------------------------------------------------------------------*/
function dom_GetLeft(oElement)
{
  if (dom_browser)
    return oElement.offsetLeft;
  else
    return 0;
}
function dom_SetLeft(oElement, nValue)
{
  if (dom_browser)
    oElement.style.left = nValue;
}

/*---------------------------------------------------------------------------------------------------------------------*/
function dom_GetWidth(oElement)
{
  if (dom_browser)
    return oElement.clientWidth;
  else
    return 0;
}
function dom_SetWidth(oElement, nValue)
{
  if (dom_browser)
    oElement.style.width = nValue;
}

/*---------------------------------------------------------------------------------------------------------------------*/
function dom_GetHeight(oElement)
{
  if (dom_browser)
    return oElement.clientHeight;
  else
    return 0;
}
function dom_SetHeight(oElement, nValue)
{
  if (dom_browser)
    oElement.style.height = nValue;
}

/*---------------------------------------------------------------------------------------------------------------------*/
function dom_GetScrollX(oElement)
{
  if (dom_browser)
 	  return oElement.scrollLeft;
  else
    return 0;
}
function dom_GetScrollY(oElement)
{
  if (dom_browser)
 	  return oElement.scrollTop;
  else
    return 0;
}

/*---------------------------------------------------------------------------------------------------------------------*/
function dom_Show(oElement)
{
  if (oElement)
    oElement.style.visibility = "visible";
}
function dom_Hide(oElement)
{
  if (oElement)
    oElement.style.visibility = "hidden";
}

/*---------------------------------------------------------------------------------------------------------------------*/
function dom_Enable(oElement)
{
  if (oElement)
    oElement.style.display = "auto";
}
function dom_Disable(oElement)
{
  if (oElement)
    oElement.style.display = "none";
}

/*---------------------------------------------------------------------------------------------------------------------*/
function dom_GetInnerHTML(oElement)
{
  if (oElement)
    return oElement.innerHTML;
}
function dom_SetInnerHTML(oElement, sValue)
{
  if (oElement)
    oElement.innerHTML = sValue;
}


/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/

/*
function SubmitForm()
{
  var sStr = ""

	if (window.AdditionnalCheck)
		sStr = AdditionnalCheck(sStr)

  if (sStr != "")
    alert(sStr)
  else
    document.formular.submit()
}
*/

/*---------------------------------------------------------------------------------------------------------------------*/
function ClearForm()
{
  var i;

  document.formular.reset()

  for (i = 0 ; i < document.formular.length ; i++)
    if (document.formular[i].name.indexOf("_PF_") != 0)
      document.formular[i].value = "";
}


/*---------------------------------------------------------------------------------------------------------------------*/

function IsValidNumber(sValue, sName)
{
  if ( (sValue == null) || (sValue == "") )
    return "[" + sName + "] " + Translate("val-not_empty") + "\n";

  if (isNaN(sValue))
    return "[" + sName + "] " + Translate("val-number") + "\n";

  return "";
}

/*---------------------------------------------------------------------------------------------------------------------*/

function IsValidString(sValue, sName)
{
  if ( (sValue == null) || (sValue == "") )
    return "[" + sName + "] " + Translate("val-not_empty") + "\n";

  return "";
}

/*---------------------------------------------------------------------------------------------------------------------*/

function IsValidEmail(sValue, sName)
{
  if (sValue == null)
      return "[" + sName + "] " + Translate("val-email") + "\n";

  var pos = sValue.indexOf('@');

  if (pos < 1 || pos == (sValue.length-1))
     return "[" + sName + "] " + Translate("val-email") + "\n";

  return "";
}

/*---------------------------------------------------------------------------------------------------------------------*/

function IsValidHTTPURL(sValue, sName)
{
  if (sValue == null)
    return "[" + sName + "] " + Translate("val-not_empty") + "\n";

  var pos1 = sValue.indexOf('http://');
  var pos2 = sValue.lastIndexOf('.');

  if (pos1 != 0 || pos2 < 8 || pos2 > (sValue.length-3))
     return "[" + sName + "] " + Translate("val-url") + "\n";

  return "";
}

/*---------------------------------------------------------------------------------------------------------------------*/

function IsInRange(sValue, min, max, sName)
{
  if ((sValue == null) || isNaN(sValue) || (sValue < min || max < sValue))
      return "[" + sName + "] " + Translate("val-range-1") + " " + min + " " + Translate("val-range-2") + " " + max + "\n";

  return "";
}

/*---------------------------------------------------------------------------------------------------------------------*/

function IsMatchingRegEx(sValue, sPattern, sFlag,  sName)
{
  if (sValue == null)
      return "[" + sName + "] " + Translate("val-not_valid") + "\n";

  var rRegEx = new RegExp(sPattern, sFlag);

  if (! rRegEx.test(sValue))
      return "[" + sName + "] " + Translate("val-not_valid") + "\n";

  return "";
}

/*---------------------------------------------------------------------------------------------------------------------*/

function IsRadioChecked(oRadioGroup,  sName)
{
  var i;

  if (! oRadioGroup)
      return "";

  if (! oRadioGroup.length)
      return "";

  if (oRadioGroup.length == 0)
      return "";
  
  for (i = 0 ; i < oRadioGroup.length ; i++)
    if (oRadioGroup[i].checked)
      break;


  if (i == oRadioGroup.length)   
    return "[" + sName + "] " + Translate("val-not_checked") + "\n";

  return "";
}


/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/

function swf_DisplayFlash(sSWFPath, nWidth, nHeight, sNodeToKill)
{
	var UseFlash = 0;


	if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] )	// Check for Flash version 4 or greater in Netscape
	{
		var plugin = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
		if (plugin && parseInt(plugin.description.substring(plugin.description.indexOf(".")-1))>=4)
			UseFlash = 1;
	}
	else if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) 		// Assume any Windows IE except for Windows 3.1 supports the OBJECT tag
	{
		UseFlash = 1;
	}

	if (window.gUserAgent && gUserAgent.indexOf("CLICKTRACKS") != -1)
		UseFlash = 0;

	if (window.location.href.indexOf("swf=no") != -1)
		UseFlash = 0;


	if ( UseFlash )  // Use Flash player
	{
		document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="' + nWidth + '" + height="' + nHeight + '">\n');
		document.write(' <param name="movie" value="' + sSWFPath + '">\n');
		document.write(' <param name="quality" value="high">\n');
		document.write(' <param name="wmode" value="opaque">\n');
		document.write(' <embed src="' + sSWFPath + '" width="' + nWidth + '" height="' + nHeight + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>\n');
		document.write('</OBJECT>');

		if (sNodeToKill)
		{
			var oNode   = dom_GetObject(sNodeToKill);
			var oParent = oNode.parentNode;

			oParent.removeChild(oNode);
		}
	}

	return UseFlash;
}


/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/

function hl_Highlight(sID)
{
	var i;


	if (! sID)
		sID = window.location.hash;

	i = sID.indexOf("#");
	if (i == -1)
		return;

	sID = sID.substring(i);
	if (sID == gAnchorSelected)
		return;

	if (document.getElementById(sID))
	{
		hl_UnHighlight(gAnchorHighlighted);
		document.getElementById(sID).className = "AnchorHighlighted";
		gAnchorHighlighted = sID;
	}
}


/*---------------------------------------------------------------------------------------------------------------------*/
function hl_Select(sID)
{
	var i;

	if (! sID)
		sID = window.location.hash;

	i = sID.indexOf("#");

	if (i == -1)
		return;

	sID = sID.substring(i);

	if (document.getElementById(sID))
	{
		hl_UnSelect(gAnchorSelected);
		document.getElementById(sID).className = "AnchorSelected";
		gAnchorSelected = sID;
	}
}

/*---------------------------------------------------------------------------------------------------------------------*/
function hl_UnHighlight(sID)
{
	if (! sID)
		sID = gAnchorHighlighted;

	if (sID == gAnchorSelected)
		return;

	if (document.getElementById(sID))
		document.getElementById(sID).className = "";
}

/*---------------------------------------------------------------------------------------------------------------------*/
function hl_UnSelect(sID)
{
	if (! sID)
		sID = gAnchorSelected;

	if (document.getElementById(sID))
		document.getElementById(sID).className = "";
}

/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/
/***********************************************************************************************************************/

function l_DisplayLayer(oLayer, nOffsetX, nOffsetY, nWidth, nHeight)
{
  if (oLayer)
  {
    if (nOffsetY)
    {
       if (nOffsetY >=0)
           dom_SetTop(oLayer, nOffsetY);
       else
           dom_SetBottom(oLayer, -nOffsetY);
    }

    if (nOffsetX)
    {
      if (nOffsetX >=0)
          dom_SetLeft(oLayer, nOffsetX);
      else
          dom_SetRight(oLayer, -nOffsetX);
    }

    if (nWidth)
      dom_SetWidth(oLayer, nWidth);

    if (nHeight)
      dom_SetHeight(oLayer, nHeight);

    dom_SetZIndex(oLayer, 5);
    dom_Show(oLayer);
  }
}

