/******************************************************************************
 *
 * Function:
 *
 * Parameters:
 *
 * Returns:
 *
 * Description: Validates the whole newsletter subscription form
 *
 *****************************************************************************/
function ValidateWorkshopsForm( thisForm )
{
   var errTxt
   /* Ensure at least one workshop is selected */
   if( (thisForm.ws_creuxduvan1_num.value == 0) && 
       (thisForm.ws_creuxduvan2_num.value == 0) && 
       (thisForm.ws_pleiades_num.value == 0) && 
       (thisForm.ws_dentsdumidi_num.value == 0) && 
       (thisForm.ws_genevalake_num.value == 0) && 
       (thisForm.ws_teysachaux_num.value == 0) && 
       (thisForm.ws_lacsfenetre_num.value == 0) && 
       (thisForm.ws_matterhorn_num.value == 0) )   
   {
      if(1 == language)
      {
         alert("Aucun stage n'est sélectionné. Veuillez vous inscrire au(x) stage(s) de votre choix en spécifiant sous la colonne \"Inscrire\" de chaque stage ci-dessus, le nombre de personnes à inscrire.");
      }
      else
      {
         alert("No workshop is selected. Please register to one or several workshops of your choice by specifying under the \"Register\" column of each workshop above, the number of people to register.");
      }
      return false;
   }

   if(1 == language)
   {
      errTxt = "Veuillez s'il vous plait spécifier votre titre."
   }
   else
   {
      errTxt = "Please, specify your title."
   }
   if( ValidateField( thisForm.cust_title, errTxt ) == false )
   {
      thisForm.cust_title.focus();
      return false;
   }

   if(1 == language)
   {
      errTxt = "Veuillez s'il vous plait spécifier votre prénom."
   }
   else
   {
      errTxt = "Please, specify your first name."
   }
   if( ValidateField( thisForm.firstname, errTxt ) == false )
   {
      thisForm.firstname.focus();
      return false;
   }
  
   if(1 == language)
   {
      errTxt = "Veuillez s'il vous plait spécifier votre nom."
   }
   else
   {
      errTxt = "Please, specify your surname"
   }
   if( ValidateField( thisForm.surname, errTxt ) == false )
   {
      thisForm.surname.focus();
      return false;
   }
   
   if(1 == language)
   {
      errTxt = "Veuillez s'il vous plait spécifier votre age."
   }
   else
   {
      errTxt = "Please, specify your age"
   }
   if( ValidateField( thisForm.age, errTxt ) == false )
   {
      thisForm.age.focus();
      return false;
   }
   
   /* ensure age is > 13 */
   if(1 == language)
   {
      errTxt = "L'age minimum pour participer aux stages est de 14 ans. Voir l'Article 1 des Conditions Générales."
   }
   else
   {
      errTxt = "The minimum age to participate to a workshop is 14 years old. Refer to Article 1 of the Terms and Conditions."
   }
   if (thisForm.age.value < 14 )
   {
      alert(errTxt);
      thisForm.age.focus();
      return false;
   }

   if(1 == language)
   {
      errTxt = "Veuillez s'il vous plait spécifier votre adresse."
   }
   else
   {
      errTxt = "Please specify your address"
   }
   if( ValidateField( thisForm.address, errTxt ) == false )
   {
      thisForm.address.focus();
      return false;
   }

   if(1 == language)
   {
      errTxt = "Veuillez s'il vous plait spécifier votre ville."
   }
   else
   {
      errTxt = "Please, specify your town"
   }
   if( ValidateField( thisForm.town, errTxt ) == false )
   {
      thisForm.town.focus();
      return false;
   }

   if(1 == language)
   {
      errTxt = "Veuillez s'il vous plait spécifier votre code postal."
   }
   else
   {
      errTxt = "Please specify your post code"
   }
   if( ValidateField( thisForm.post_code, errTxt ) == false )
   {
      thisForm.post_code.focus();
      return false;
   }

   if( ValidateCountry( thisForm.countr ) == false )
   {
      thisForm.countr.focus();
      return false;
   }

   if( ValidateEmail( thisForm.email ) == false )
   {
      thisForm.email.focus();
      return false;
   }

   /* Ensure at least one phone number is entered */
   if( ((thisForm.phone.value == null)  || (thisForm.phone.value=="")) &&
       ((thisForm.mobile.value == null) || (thisForm.mobile.value=="")) )
   {
      if(1 == language)
      {
         alert("Veuillez s'il vous plait spécifier soit votre numéro de téléphone\nsoit votre numéro de natel, soit les deux.")
      }
      else
      {
         alert("Please specify either your phone number or your mobile number, or both.")
      }
      thisForm.phone.focus();
      return false
   }
   
   if( ValidatePhone( thisForm.phone ) == false )
   {
      thisForm.phone.focus();
      return false;
   }

   if( ValidatePhone( thisForm.mobile ) == false )
   {
      thisForm.mobile.focus();
      return false;
   }
   
   /* Ensure the equipment required has been checked  */
   if( false == thisForm.equipment.checked )
   {
      if(1 == language)
      {
         alert("Vous devez confirmer avoir bien pris connaissance de tout l'équipment nécessaire pour tous les stages sélectionnés. Merci de cocher la case appropriée.")
      }
      else
      {
         alert("You must confirm to have read and become aware of all the equipment required for each workshop selected. Please tick the appropriate box.")
      }
      thisForm.equipment.focus();
      return false;
   }
         
   /* Ensure the general conditions are agreed  */
   if( false == thisForm.agree_cond.checked )
   {
      if(1 == language)
      {
         alert("Vous devez accepter les Conditions Générales pour pouvoir réserver votre place dans un stage. Merci de cocher la case appropriée.")
      }
      else
      {
         alert("You must accept the Terms and Conditions to be able to reserve a place in one or more workshops. Please tick the appropriate box.")
      }
      thisForm.agree_cond.focus();
      return false;
   }
         
}
function InitWorkshopPage()
{
   checkCookie();
}
function checkCookie()
{
   var item;
   var formInputValue = 
      ["cust_title",
       "firstname",
       "surname",
       "age",
       "address",
       "town",
       "post_code",
       "email",
       "phone",
       "mobile",
       "ws_creuxduvan1_num",
       "ws_creuxduvan2_num",
       "ws_pleiades_num",
       "ws_dentsdumidi_num",
       "ws_genevalake_num",
       "ws_teysachaux_num",
       "ws_lacsfenetre_num",
       "ws_matterhorn_num",
       "comments"];
   var formInputCheck = 
      ["ws_creuxduvan1",
       "ws_creuxduvan2",
       "ws_pleiades",
       "ws_dentsdumidi",
       "ws_genevalake",
       "ws_teysachaux",
       "ws_lacsfenetre",
       "ws_matterhorn",
       "car",
       "subscribe",
       "equipment",
       "agree_cond"];

   for(field=0;field<formInputValue.length;field++)
   {
      item=getCookie(formInputValue[field]);
      if(item!=null && item!="")
      {
         document.getElementById(formInputValue[field]).value = item;
      }
   }
   item=getCookie('countr');
   if(item!=null && item!="")
   {
      document.getElementById("countr").value = item;
   }
   for(idx=0;idx<formInputCheck.length;idx++)
   {
      item=getCookie(formInputCheck[idx]);
      if(item!=null && item!="")
      {
         if("true"==item)
         {
            document.getElementById(formInputCheck[idx]).checked = "checked";
         }
      }
   }
}
function UpdateInputValue(name)
{
   setCookie(name,document.getElementById(name).value);
}
function UpdateInputCheck(name)
{
   setCookie(name,document.getElementById(name).checked);
}
function UpdateCountry()
{
   setCookie('countr',document.getElementById('countr').value)
}

