//Easy-Booking v3.0 - 21 May 2003
//Author: F.Leroux
//(C)1998-2003 Inter ART Multimedia

var SubIndex;
var SubIndexAcc;
var Code;
var CodeAcc;
var WeekIndex;
var WeekIndexAcc;
var Duration;

function Erase()
{ window.status = "";
}

function MouseMove(parText)
{ window.status = parText;
}

function MakeArray()
{ this.length = MakeArray.arguments.length
  for (var i = 0; i < this.length; i++)
      this[i+1] = MakeArray.arguments[i]
}

function MakeEmptyArray(n)
{ this.length = n
  for (var i = 0; i<= n; i++)
      { this[i] = 0     
      }               
  return this
}

function O_WEEK(parNbWeeks, parPrices)
{ this.NbWeeks = parNbWeeks
  this.Prices = parPrices
}

function SetPriceAcc(parForm, parPrice)
{ //alert('Price: ' + parPrice); 
  if (parPrice >= 0)
      parForm.T_PriceAcc.value = parPrice;
  else // <0
     { parForm.T_PriceAcc.value = '...';
       alert('Ask for more details about this accommodation...');
     }
}

function SetPrice(parForm, parPrice)
{ //alert('Price: ' + parPrice); 
  if (parPrice >= 0)
     parForm.T_Price.value = parPrice;
  else
     { parForm.T_Price.value = '...';
       alert('Ask for more details about this course...');
     }
}

function SetTotal(parForm)
{ var tmpTotal=0;
  if ((parForm.T_PriceAcc.value == '...') || (parForm.T_Price.value == '...'))
     parForm.T_Total.value = '?..';
  else
     //parForm.T_Total.value = eval(parForm.T_Price.value) + eval(parForm.T_PriceAcc.value) + eval(parForm.T_Reg.value);
     {  tmpTotal = eval(parForm.T_Price.value) + eval(parForm.T_PriceAcc.value) + eval(parForm.T_From.value) + eval(parForm.T_To.value) + eval(parForm.T_Reg.value);
        if (eval(parForm.T_PriceAcc.value) == 0)
           parForm.T_Total.value = tmpTotal;
        else
           parForm.T_Total.value = tmpTotal + eval(parForm.T_FindFee.value);
     }
}

function SelectAcc(form)
{ IndexAcc = form.MenuAcc.selectedIndex;
  //CodeAcc = form.MenuAcc.options[form.MenuAcc.selectedIndex].value;
  CodeAcc = form.MenuAcc.selectedIndex+1
  Code = form.MenuCourses.selectedIndex+1;
  WeekIndex = form.MenuWeeks.selectedIndex;
  WeekIndexAcc = form.MenuWeeksAcc.selectedIndex; //NEW 22/10/04

  //NEW 03/11
  //Duration = eval('A_Fees'+Code+'['+WeekIndexAcc+'].NbWeeks');
  Duration =form.MenuWeeksAcc[WeekIndexAcc].value
  //alert('Duration Weeks: ' + form.MenuWeeksAcc[WeekIndexAcc].value);

  //--- Display course message if available:
  form.T_MsgAcc.value = A_AccMsg[CodeAcc];

  //form.H_MenuAcc.value = A_Acc[IndexAcc+1];

  //alert("Code Acc: " + CodeAcc);
  //alert("Duration: " + Duration);

  //if (Index == 0)
  //   { alert('Choose a course!');
  //     return;
  //   }

  var exec = 'NbSubAcc = A_SubAcc' + CodeAcc + '.length'
  eval (exec)
  //alert(NbSubAcc);

  //var exec = 'NbWeeks = A_Weeks'+Code+'.length'
  //var exec = 'NbWeeks = A_Fees'+Code+'.length'
  //eval (exec)
  
  for (var i = 1; i <= NbSubAcc ; i++)
      { //form.MenuSubAcc.options[i-1] = new Option(eval('A_SubAcc'+CodeAcc+'[i]'), i , 0, 0);
        form.MenuSubAcc.options[i-1] = new Option(eval('A_SubAcc'+CodeAcc+'[i]'), eval('A_SubAcc'+CodeAcc+'[i]') , 0, 0);
        //alert (eval('A_SubAcc'+CodeAcc+'[i]') + ' added!');
      }
  form.MenuSubAcc.options.length = NbSubAcc;
  SubIndexAcc = 0
  form.MenuSubAcc.selectedIndex=SubIndexAcc;

  //form.H_MenuSubAcc.value = eval('A_SubAcc' + CodeAcc + '[' + (SubIndexAcc+1) +']');

  //Promo display:
  //form.T_PromoAcc.value = eval('PromoSubAcc'+CodeAcc);

  //form.T_Price.value = eval('A_FeesAcc'+Code+'['+WeekIndex+'].Prices['+SubIndex+']');
  //alert('Weeks: ' + form.MenuWeeksAcc[WeekIndexAcc].value);
  SetPriceAcc(form, eval('A_FeesAcc' + CodeAcc + '[' + (SubIndexAcc+1) + ']') * Duration);
  SetTotal(form);
}

function SelectSubAcc(form)
{ SubIndexAcc = form.MenuSubAcc.selectedIndex;
  CodeAcc = form.MenuAcc.selectedIndex+1
  Code = form.MenuCourses.selectedIndex+1;
  WeekIndexAcc = form.MenuWeeksAcc.selectedIndex; //NEW 22/10/04
  //Duration = eval('A_Fees'+Code+'['+WeekIndex+'].NbWeeks'); //NEW 22/10/04
  //form.H_MenuSubAcc.value = eval('A_SubAcc' + CodeAcc + '[' + (SubIndexAcc+1) +']');

  //NEW 03/11
  //Duration = eval('A_Fees'+Code+'['+WeekIndexAcc+'].NbWeeks');
  Duration =form.MenuWeeksAcc[WeekIndexAcc].value
  //alert('Duration Weeks: ' + form.MenuWeeksAcc[WeekIndexAcc].value);

  CodeAcc = form.MenuAcc.selectedIndex+1;
  SetPriceAcc(form, eval('A_FeesAcc' + CodeAcc + '[' + (SubIndexAcc+1) + ']') * Duration);
  SetTotal(form);
}

function SelectCourse(form)
{ Index = form.MenuCourses.selectedIndex;
  //Code = form.MenuCourses.options[form.MenuCourses.selectedIndex].value;
  Code = form.MenuCourses.selectedIndex+1;

  //--- Display course message if available:
  form.T_MsgProg.value = A_CoursesMsg[Index+1];

  //form.H_MenuCourse.value = A_Courses[Index+1];

  //if (Index == 0)
  //   { alert('Choose a course!');
  //     return;
  //   }

  var exec = 'NbSubCourses = A_SubCourses'+Code+'.length'
  eval (exec)
  //alert(NbSubCourses);

  //var exec = 'NbWeeks = A_Weeks'+Code+'.length'
  var exec = 'NbWeeks = A_Fees'+Code+'.length'
  eval (exec)
  //alert(NbWeeks);

//Date use:
  var exec = 'NbDates = A_Dates'+Code+'.length'
  eval (exec)

  for (var i = 1; i <= NbSubCourses ; i++)
      { //form.MenuSubCourses.options[i-1] = new Option(eval('A_SubCourses'+Code+'[i]'), i , 0, 0);
        form.MenuSubCourses.options[i-1] = new Option(eval('A_SubCourses'+Code+'[i]'), eval('A_SubCourses'+Code+'[i]') , 0, 0);
        //alert (eval('A_SubCourses'+Code+'[i]') + ' added!');

        //form.MenuWeeks.options[i-1] = new Option(eval('A_Weeks'+Code+'[i].NbWeeks'), eval('A_Weeks'+Code+'[i].Price') , 0, 0);
      }
  form.MenuSubCourses.options.length = NbSubCourses;
  SubIndex = 0
  form.MenuSubCourses.selectedIndex=SubIndex;

  //form.H_MenuSubCourse.value = eval('A_SubCourses' + Code + '[' + (SubIndex+1) +']');

  //for (var i = 1; i <= NbWeeks ; i++)
  for (var i = 0; i < NbWeeks ; i++)
      { //form.MenuWeeks.options[i-1] = new Option(eval('A_Weeks'+Code+'[i].NbWeeks') + " weeks", i , 0, 0);
        if (eval('A_Fees'+Code+'[i].NbWeeks') <= 1)
           form.MenuWeeks.options[i] = new Option(eval('A_Fees'+Code+'[i].NbWeeks') + " week", eval('A_Fees'+Code+'[i].NbWeeks'), 0, 0);
        else
           form.MenuWeeks.options[i] = new Option(eval('A_Fees'+Code+'[i].NbWeeks') + " weeks", eval('A_Fees'+Code+'[i].NbWeeks'), 0, 0);

        //form.MenuWeeks.options[i] = new Option(eval('A_Fees'+Code+'[i].NbWeeks') + " weeks", i , 0, 0);
      }
  form.MenuWeeks.options.length = NbWeeks;
  WeekIndex = 0
  form.MenuWeeks.selectedIndex=WeekIndex;

  //indWeeks=form.MenuWeeks.options[form.MenuWeeks.selectedIndex].value;
  //alert('Weeks: ' + indWeeks);
  Duration = eval('A_Fees'+Code+'[0].NbWeeks');
  //form.H_Weeks.value = Duration;

  //alert('Weeks: ' + Duration);


  for (var i = 1; i <= NbDates ; i++)
      { form.MenuDates.options[i-1] = new Option(eval('A_Dates'+Code+'[i]'), eval('A_Dates'+Code+'[i]'), 0, 0);
      }
  form.MenuDates.options.length = NbDates;
  DateIndex = 0
  form.MenuDates.selectedIndex=DateIndex;


  //form.T_Price.value = eval('A_Fees'+Code+'['+WeekIndex+'].Prices['+SubIndex+']');
  SetPrice(form, eval('A_Fees'+Code+'['+WeekIndex+'].Prices['+SubIndex+']'));
  //				NEW 03/11 SetPriceAcc(form, eval('A_FeesAcc' + CodeAcc + '[' + (SubIndexAcc+1) + ']') * Duration);
  SetTotal(form);
}

function SelectSubCourse(form)
{ SubIndex = form.MenuSubCourses.selectedIndex;
  WeekIndex = form.MenuWeeks.selectedIndex;
  //form.H_MenuSubCourse.value = eval('A_SubCourses' + Code + '[' + (SubIndex+1) +']');

  //form.T_Price.value = eval('A_Fees'+Code+'['+WeekIndex+'].Prices['+SubIndex+']');
  SetPrice(form, eval('A_Fees'+Code+'['+WeekIndex+'].Prices['+SubIndex+']'));
  SetTotal(form);

//if (Index == 0)
  //   { alert('Choose an intensity!');
  //     return;
  //   }

  //if (Index != 0)
     //for (var i = 1; i <= A_SubCourses1.length; i++)
         { //alert (form.MenuSubCourses.options[SubIndex].value);
         }

  //return;
}

function SelectWeek(form)
{ WeekIndex = form.MenuWeeks.selectedIndex;
  //alert ('Sub Index: ' + SubIndex);
  //alert ('Week Index: ' + WeekIndex);
  //alert ('Code: ' + Code);

  //form.H_Weeks.value = eval('A_Fees'+Code+'['+WeekIndex+'].NbWeeks');

  Duration = eval('A_Fees'+Code+'['+WeekIndex+'].NbWeeks');
  //alert('Weeks: ' + Duration);
 
  //if (i == 0) 
  //   alert('Choose a course!');
  //else
     { //alert('NbWeeks: ' + eval('A_Fees'+Code+'['+WeekIndex+'].NbWeeks'));
       //alert('Price: £' + eval('A_Fees'+Code+'['+WeekIndex+'].Prices['+SubIndex+']'));
       //form.T_Price.value = eval('A_Fees'+Code+'['+WeekIndex+'].Prices['+SubIndex+']');
       SetPrice(form, eval('A_Fees'+Code+'['+WeekIndex+'].Prices['+SubIndex+']'));

//alert('CodeAcc1: ' + CodeAcc);
  CodeAcc = form.MenuAcc.selectedIndex+1;
//alert('CodeAcc2: ' + CodeAcc);
//alert('SubAcc: ' + SubIndexAcc);
//alert('prix:'+eval('A_FeesAcc' + CodeAcc + '[' + (SubIndexAcc+1) + ']'));

       //Accommodation ha snow its own list of weeks: 22/10/2004:
       //SetPriceAcc(form, eval('A_FeesAcc' + CodeAcc + '[' + (SubIndexAcc+1) + ']') * Duration);
       SetTotal(form);
     }
}

function SelectWeekAcc(form)
{ WeekIndexAcc = form.MenuWeeksAcc.selectedIndex;

  //NEW 03/11
  //Duration = eval('A_Fees'+Code+'['+WeekIndexAcc+'].NbWeeks');
  Duration =form.MenuWeeksAcc[WeekIndexAcc].value
  //alert('Duration Weeks: ' + form.MenuWeeksAcc[WeekIndexAcc].value);
 
  //SetPrice(form, eval('A_Fees'+Code+'['+WeekIndex+'].Prices['+SubIndex+']'));

  CodeAcc = form.MenuAcc.selectedIndex+1;
  SetPriceAcc(form, eval('A_FeesAcc' + CodeAcc + '[' + (SubIndexAcc+1) + ']') * Duration);
  SetTotal(form);
}

function SelectDate(form)
{ DateIndex = form.MenuDates.selectedIndex;
}

function SelectFrom(parForm)
{ parForm.T_From.value = eval(A_FromFees[parForm.MenuFrom.selectedIndex+1]);

  SetTotal(parForm);
}
function SelectTo(parForm)
{ parForm.T_To.value = eval(A_ToFees[parForm.MenuTo.selectedIndex+1]);

  SetTotal(parForm);
}

function Init()
{ Duration = eval(A_Fees1[0].NbWeeks);  

  CodeAcc = '1'; //form.MenuAcc.selectedIndex+1;
  SubIndexAcc = 0; //form.MenuSubAcc.selectedIndex;
  Code = '1'; //form.MenuCourses.selectedIndex+1;
  SubIndex = 0; //form.MenuSubCourses.selectedIndex;

  WeekIndex = 0; //form.MenuWeeks.selectedIndex;
  WeekIndexAcc = 0; //form.MenuWeeksAcc.selectedIndex;

  //alert(Duration);
  //alert(Code);
}

function Euro(parForm)
{ var tmpTotalEuro=0;
  tmpTotalEuro = eval(parForm.T_Total.value);
  TotalEuro = Math.round(tmpTotalEuro * 1.62);
  //alert(TotalEuro);
  return TotalEuro;
}
