window.onload = f_ShowMenu;
function f_ShowMenu(vp_MenuId) 
{ 
  var vl_Elt = document.getElementById(vp_MenuId);
	for (var vl_i = 1; vl_i<=10; vl_i++) 
  {
		if (document.getElementById('SUB_MENU_'+vl_i)) 
    {
      document.getElementById('SUB_MENU_'+vl_i).style.display = 'none';
    }
	}
  
  if (vl_Elt) 
  {
    vl_Elt.style.display = 'block';
  }
}

function f_VerifForm(vp_Form, vp_UrlAjax) 
{
  var vl_Return = false;
  if(vp_Form.name.value == "") 
  {
    alert("Merci de bien vouloir nous donner votre nom.");
  }
  else if(vp_Form.message.value == "") 
  {
    alert("Votre message est vide.");
  }
  else if((vp_Form.email.value == "") && (vp_Form.tel.value== ""))
  {
    alert("Merci de renseigner soit votre adresse mail soit votre numéro de téléphone.");
  }
  else if(vp_Form.tel.value != "")
  {
    var regex = new RegExp(/^(01|02|03|04|05|06|08)[0-9]{8}/gi);
    if(!regex.test(vp_Form.tel.value))
    {
      alert("Votre numéro de téléphone n'est pas correct, il doit être au format: 0000000000.");
    }
    else
    {
      vl_Return = true;
    }
  }
  else if(vp_Form.email.value != "")
  {
    if ( !(    (vp_Form.email.value.indexOf("@") >= 0)
            && (vp_Form.email.value.lastIndexOf(".") > vp_Form.email.value.indexOf("@"))
          )
    ) 
    {
      alert("Votre adresse mail n'est pas correcte, merci de bien vouloir la réécrire.");
    }
    else
    {
      vl_Return = true;
    }
  }
  else
  {
    vl_Return = true;
  }
  
  if(vl_Return == true)
  {
    /* Before sending to AJAX component, we display our progress bar */
    f_HideAndStopProgressBar(vg_TimerProgressBarId);
    vg_TimerProgressBarId = f_ShowAndStartProgressBar();
  
    /* And send AJAX data */
    sendAjaxData( vp_UrlAjax, f_GetMyFormString(vp_Form) );
  }
  
  return vl_Return;
}

function f_GetQueryString(pp_Tag, pp_Str)
{
  var vl_QueryStr = pp_Tag + "=" + escape(pp_Str);
  return vl_QueryStr;
}

function f_GetMyFormString(vp_Form)
{
	var vl_QueryStr;
	
  vl_QueryStr  = "send_form_contact=" + escape('check_mail_ok');
	vl_QueryStr += "&name="             + escape(vp_Form.name.value);
	vl_QueryStr += "&tel="              + escape(vp_Form.tel.value);
	vl_QueryStr += "&email="            + escape(vp_Form.email.value);
	vl_QueryStr += "&list_offer="       + escape(vp_Form.list_offer.options[vp_Form.list_offer.selectedIndex].value);
	vl_QueryStr += "&message="          + escape(vp_Form.message.value);
	
  return vl_QueryStr;
}

function updatePage(ppStr)  
{
  /* At reception of AJAX, first we kill our progress bar */
  f_HideAndStopProgressBar(vg_TimerProgressBarId);
  
  if(document.getElementById('MyForm'))
  {
    document.getElementById('MyForm').innerHTML =  ppStr;
  }        
}

function sendAjaxData( pp_UrlScript, pp_Args )
{
  var vl_XHR_Object = null;

  if(window.XMLHttpRequest)
  {
     /* Firefox */
     vl_XHR_Object = new XMLHttpRequest();
  }
  else if(window.ActiveXObject)
  {
     /* Internet Explorer */
     vl_XHR_Object = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else
  {
     /* XMLHttpRequest non supported par the browser */
     alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
     return;
  }

  vl_XHR_Object.open("POST", pp_UrlScript, true);
  vl_XHR_Object.onreadystatechange = function() {
        if(vl_XHR_Object.readyState == 4) {
          updatePage(vl_XHR_Object.responseText);
       }
       return vl_XHR_Object.readyState;
   };

  vl_XHR_Object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  vl_XHR_Object.send(pp_Args);
}

var vg_TimerProgressBarId    = 0;
var vg_TimerProgressBarStep  = 10;
var vg_TimerProgressBarValue = 0;
var vg_TimerProgressBarIsNegativeValue = false;
var vg_TimerTimeOut = 0;
function f_ShowAndStartProgressBar()
{
  var vl_TimerId = 0;
	if (document.getElementById('ProgressPopUp'))
	{
	  /* Show our Progress bar */
		var vl_Obj  = document.getElementById('ProgressPopUp');
    var vl_Top  = Math.floor((window.document.getElementById('dataBoxBorder').offsetHeight - window.document.getElementById('ProgressPopUp').offsetHeight)/2);
		var vl_Left = Math.floor((window.document.getElementById('dataBoxBorder').offsetWidth - window.document.getElementById('ProgressPopUp').offsetWidth)/2);
		
    vl_Obj.style.top        = vl_Top+"px";
		vl_Obj.style.left       = vl_Left+"px";
		vl_Obj.style.visibility = "visible";
		
		/* And now start our timer */
		vl_TimerId = f_StartTimer(500, "f_AnimateMyProgressBar()");
	}
	
	return vl_TimerId;
}

function f_HideAndStopProgressBar(vp_TimerId)
{
	if (document.getElementById('ProgressPopUp'))
	{
	  /* Hide our progress bar */
		var vl_Obj = document.getElementById('ProgressPopUp');
		vl_Obj.style.visibility = "hidden";
		
		/* And clear our timer */
		f_StopTimer(vp_TimerId);
	}
}

function f_AnimateMyProgressBar()
{
  vg_TimerTimeOut += 1;
  if(vg_TimerTimeOut>50)
  {
    f_HideAndStopProgressBar(vg_TimerProgressBarId);
    alert ('Erreure à l\'envoie, merci de bien vouloir recommencer.');
    return;
  }
  
	if( window.document.getElementById('BarInternal') ) 
	{
	  /* Animate our progress bar */
	  window.document.getElementById('BarInternal').style.width  = vg_TimerProgressBarValue + vg_TimerProgressBarStep + "%";
	  
    /* Manager our animation */
    if(vg_TimerProgressBarIsNegativeValue == false)
	  {
	     vg_TimerProgressBarValue += vg_TimerProgressBarStep;
	     
	     if(vg_TimerProgressBarValue >= 90)
       {
         vg_TimerProgressBarIsNegativeValue = true;
       }
		}
		else
		{
	     vg_TimerProgressBarValue -= vg_TimerProgressBarStep;
	     
		   if(vg_TimerProgressBarValue <= 0)
       {
         vg_TimerProgressBarIsNegativeValue = false;
       }
    }
		/* And restart our timer */
		vg_TimerProgressBarId = f_StartTimer(500, "f_AnimateMyProgressBar()");
	}
}

function f_StartTimer(vp_Duration, vp_CallBack)
{
  return self.setTimeout(vp_CallBack,vp_Duration);
}

function f_StopTimer(vp_TimerId)
{
  clearTimeout(vp_TimerId);
}

function f_UpdatePageHeight()
{
    document.getElementById('dataHeight').style.height    = document.getElementById('data').offsetHeight+60+"px";
    document.getElementById('dataBoxBorder').style.height = (document.getElementById('data').offsetHeight)+"px";
}
