﻿function fieldTestVoid(aField,aName)
{ var lMessage = _cltvar_voidMask;
if (new RegExp('^\[ \t]*$').test(aField.value)) { return lMessage.replace('%s',aName); }
else { return ''; }
}

function fieldTestNumber(aField,aName)
{ var lMessage = _cltvar_numberMask;
if ( !new RegExp('^\\d+$').test(aField.value) ) { return lMessage.replace('%s',aName); }
else { return ''; }
}

function fieldTestPhone(aField,aName)
{ var lMessage = _cltvar_phoneMask;
if ( !new RegExp('^\\d{9,15}$').test(aField.value) ) { return lMessage.replace('%s',aName); }
else { return ''; }
}

function fieldTestEmail(aField,aName)
{ var lMessage = _cltvar_emailMask;
if ( !new RegExp('^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$').test(aField.value) ) { return lMessage.replace('%s',aName); }
else { return ''; }
}

function ValidateBookingForm()
{
    var lRequest = _$req(),
        lForm = $("_request"),
        lInputs = lForm.getElementsByTagName("input"),
        lSelects = lForm.getElementsByTagName("select"),
        lTextAreas = lForm.getElementsByTagName("textarea"),
        lParams,
        lCount,
        lError = '',
        lT1,
        lT2;

    lError += fieldTestVoid($('_name'),_cltvar_name);
    lError += fieldTestPhone($('_mobile'),_cltvar_mobile);
    lError += fieldTestEmail($('_email'),_cltvar_email);
    if (lError!='') { ShowDialog(_cltvar_formError+"<ul>"+lError+"</ul>",false); }
    else
    {
       ShowDialog(_cltvar_formSending,true);
       lParams = "_lang="+$("lang").value;
       for(lCount=0; lCount<lInputs.length;lCount++)
       {
          if(lInputs[lCount].name!=null && lInputs[lCount].name.length>0)
          {
            if(lInputs[lCount].type=='checkbox') { if(lInputs[lCount].checked) { lParams += "&"+lInputs[lCount].name+'='+lInputs[lCount].value } }
            else { lParams += "&"+lInputs[lCount].name+'='+lInputs[lCount].value; }
          }
       }
       
       for(lCount=0; lCount<lSelects.length;lCount++)
       {
          if(lSelects[lCount].name!=null && lSelects[lCount].name.length>0) { lParams += "&"+lSelects[lCount].name+'='+lSelects[lCount].value; }
       }
       
       for(lCount=0; lCount<lTextAreas.length;lCount++)
       {
          if(lTextAreas[lCount].name!=null && lTextAreas[lCount].name.length>0) { lParams += "&"+lTextAreas[lCount].name+'='+lTextAreas[lCount].value; }
       }
       
       lRequest.open("POST", "Booking.aspx",false);
       lRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
       lRequest.send(encodeURI(lParams));
       
       if ( lRequest.status == 200 )
       {
          ShowDialog(_cltvar_formSent,false,RequestCallback);
       }
       else
       {
          ShowDialog(_cltvar_formFail,false);
       }
    }
}

function ValidateVoucherForm()
{
    var lRequest = _$req(),
        lForm = $("_request"),
        lInputs = lForm.getElementsByTagName("input"),
        lParams,
        lCount,
        lError = '',
        lT1,
        lT2;

    lError += fieldTestVoid($('_name'),_cltvar_name);
    lError += fieldTestVoid($('_address'),_cltvar_address);
    lError += fieldTestVoid($('_zip'),_cltvar_zip);
    lError += fieldTestPhone($('_mobile'),_cltvar_mobile);
    lError += fieldTestEmail($('_email'),_cltvar_email);
    if (lError!='') { ShowDialog(_cltvar_formError+"<ul>"+lError+"</ul>",false); }
    else
    {
       ShowDialog(_cltvar_formSending,true);
       lParams = "_lang="+$("lang").value;
       for(lCount=0; lCount<lInputs.length;lCount++)
       {
          if(lInputs[lCount].name!=null && lInputs[lCount].name.length>0)
          {
            lParams += "&"+lInputs[lCount].name+'='+lInputs[lCount].value;
          }
       }
       
       lRequest.open("POST", "Voucher.aspx",false);
       lRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
       lRequest.send(encodeURI(lParams));
       
       if ( lRequest.status == 200 )
       {
          ShowDialog(_cltvar_formSent,false,RequestCallback);
       }
       else
       {
          ShowDialog(_cltvar_formFail,false);
       }
    }
}

function RequestCallback()
{
  Navigate(0);
}

function setFrom(aDate)
{ 
  var
    lDiff = Math.round((new Date(gDTo.year,gDTo.month,gDTo.day)-aDate)/86400000),
    lPost = new Date(Number(aDate) + 86400000);

  if (lDiff<=0)
  { 
    gDTo.update(lPost.getFullYear(),lPost.getMonth(),lPost.getDate());
    $('_to').value = lPost.getDate()+'/'+(lPost.getMonth()+1)+'/'+lPost.getFullYear();
    lDiff=1;
  }
  $('_from').value = aDate.getDate()+'/'+(aDate.getMonth()+1)+'/'+aDate.getFullYear();
  $('_nights').value = lDiff;
  return true; 
}

function setTo(aDate)
{ 
  var
    lDiff = Math.round((aDate-new Date(gDFrom.year,gDFrom.month,gDFrom.day))/86400000);

  if (lDiff>0)
  {
    $('_to').value = aDate.getDate()+'/'+(aDate.getMonth()+1)+'/'+aDate.getFullYear();
    $('_nights').value = lDiff;
    return true;
  }
  else 
  { 
    ShowDialog(_cltvar_formDates,false);
    return false; 
  }  
}