//
//  Program         advanstar.js
//  Project         Advanstar
//  Description     Supporting Javascript
//
//  History
//  12/03/2007      Mike Wood       Written
//  02/05/2007      Mike Wood       New function autocheckradio()
//


// Modified output from javascript.inc.php
function checkformdemog (checkquestionidfive) {
  frm = document.forms[0];
  
  
  /* Start Checkbox */
  if (
  frm['Data[demog][checkbox][1][1]'].checked == false && frm['Data[demog][checkbox][1][2]'].checked == false && frm['Data[demog][checkbox][1][3]'].checked == false && frm['Data[demog][checkbox][1][4]'].checked == false && frm['Data[demog][checkbox][1][5]'].checked == false && frm['Data[demog][checkbox][1][6]'].checked == false && frm['Data[demog][checkbox][1][7]'].checked == false && frm['Data[demog][checkbox][1][8]'].checked == false && frm['Data[demog][checkbox][1][9]'].checked == false && frm['Data[demog][checkbox][1][10]'].checked == false && frm['Data[demog][checkbox][1][11]'].checked == false && frm['Data[demog][checkbox][1][12]'].checked == false && frm['Data[demog][checkbox][1][13]'].checked == false && frm['Data[demog][checkbox][1][14]'].checked == false && frm['Data[demog][checkbox][1][15]'].checked == false && 1) {
  alert('Please answer question 1');
  frm['Data[demog][checkbox][1][1]'].focus();
  return false;
  }
  
  
  /* Add Checkbox Other */
  if (frm['Data[demog][checkbox][1][15]'].checked) {
    if (frm['Data[demog][other][1][15]'].value == 0) {
      alert('Please answer question 1 - Specify other.');
      frm['Data[demog][other][1][15]'].focus();
      return false;
    }
  }
  
  
  /* Add Radio Element */
  var radiochecked = false;
  var radiochoices = frm['Data[demog][radio][3]'].length;
  for(i=0; i < radiochoices; i++) {
    if (frm['Data[demog][radio][3]'][i].checked) {
      radiochecked = true;
    }
  }
  if (! radiochecked) {
    alert('Please answer question 2');
    frm['Data[demog][radio][3]'][0].focus();
    return false;
  } else {
    var radiochecked = false;
  }
  
  /* Customised */
  if (frm['Data[demog][radio][3]'][0].checked) {
    if (frm['Data[demog][sub][3][27]'].value == 0) {
      alert('Please answer question 2 - Retailer');
      frm['Data[demog][sub][3][27]'].focus();
      return false;
    } else if (frm['Data[demog][sub][3][27]'].value == 34) {
      // Check the other
      if (frm['Data[demog][other][3][34]'].value == 0) {
        alert('Please answer question 2 - Retailer - Other');
        frm['Data[demog][other][3][34]'].focus();
        return false;
      }
    }
  }
  
  /* Customised - Add Radio Other */
  if (frm['Data[demog][radio][3]'][7].checked) {
    if (frm['Data[demog][other][3][41]'].value == 0) {
      alert('Please answer question 2 - Specify other.');
      frm['Data[demog][other][3][41]'].focus();
      return false;
    }
  }
  
  /* Add Radio Element */
  var radiochecked = false;
  var radiochoices = frm['Data[demog][radio][2]'].length;
  for(i=0; i < radiochoices; i++) {
    if (frm['Data[demog][radio][2]'][i].checked) {
      radiochecked = true;
    }
  }
  if (! radiochecked) {
    alert('Please answer question 3');
    frm['Data[demog][radio][2]'][0].focus();
    return false;
  } else {
    var radiochecked = false;
  }
  
  
  /* Add Radio Other */
  if (frm['Data[demog][radio][2]'][9].checked) {
    if (frm['Data[demog][other][2][25]'].value == 0) {
      alert('Please answer question 3 - Specify other.');
      frm['Data[demog][other][2][25]'].focus();
      return false;
    }
  }
  
  
  /* Start Checkbox */
  if (frm['Data[demog][checkbox][4][42]'].checked == false && frm['Data[demog][checkbox][4][43]'].checked == false && frm['Data[demog][checkbox][4][44]'].checked == false && frm['Data[demog][checkbox][4][45]'].checked == false && frm['Data[demog][checkbox][4][46]'].checked == false && frm['Data[demog][checkbox][4][47]'].checked == false && frm['Data[demog][checkbox][4][48]'].checked == false && frm['Data[demog][checkbox][4][49]'].checked == false && frm['Data[demog][checkbox][4][50]'].checked == false && frm['Data[demog][checkbox][4][51]'].checked == false && 1) {
    alert('Please answer question 4');
    frm['Data[demog][checkbox][4][42]'].focus();
    return false;
  }
  
  
  /* Add Checkbox Other */
  if (frm['Data[demog][checkbox][4][51]'].checked) {
    if (frm['Data[demog][other][4][51]'].value == 0) {
      alert('Please answer question 4 - Specify other.');
      frm['Data[demog][other][4][51]'].focus();
      return false;
    }
  }
  
  
  // Inserted question 06/07/2007
  /* Add Radio Element */

  var radiochecked = false;
  var radiochoices = frm['Data[demog][radio][12]'].length;
  for(i=0; i < radiochoices; i++) {
  if (frm['Data[demog][radio][12]'][i].checked) {
  radiochecked = true;
  }
  }
  if (! radiochecked) {
  alert('Please answer question 5');
  frm['Data[demog][radio][12]'][0].focus();
  return false;
  } else {
  var radiochecked = false;
  }

    // 10/09/2008, For RT postal entries thru Julie's account only - this will be skipped
    if (checkquestionidfive != 'post') {
  
        /* Add Radio Element */
        var radiochecked = false;
        var radiochoices = frm['Data[demog][drop][5]'].length;
        for(i=0; i < radiochoices; i++) {
        if (frm['Data[demog][drop][5]'][i].checked) {
        radiochecked = true;
        }
        }
        if (! radiochecked) {
        alert('Please answer question 6');
        frm['Data[demog][drop][5]'][0].focus();
        return false;
        } else {
        var radiochecked = false;
        }
    
    } else {
    
        // 10/09/2008, The only time this field becomes mandatory
        if (frm['Data[demog][freetext][6]'].value == 0) {
            alert('Please answer question 7 - Enter a code');
            frm['Data[demog][freetext][6]'].focus();
            return false;
        }
    }      
  
  /* Customised */
  if (frm['Data[demog][drop][5]'][0].checked) {
      if (frm['Data[demog][sub][5][52]'].value == 0) {
          alert('Please answer question 6 - Advert');
          frm['Data[demog][sub][5][52]'].focus();
          return false;
      }
  }
  if (frm['Data[demog][drop][5]'][3].checked) {
      if (frm['Data[demog][sub][5][89]'].value == 0) {
          alert('Please answer question 6 - Insert');
          frm['Data[demog][sub][5][89]'].focus();
          return false;
      }
  }
  if (frm['Data[demog][drop][5]'][1].checked) {
      if (frm['Data[demog][sub][5][100]'].value == 0) {
          alert('Please answer question 6 - Direct Mail');
          frm['Data[demog][sub][5][100]'].focus();
          return false;
      }
  }
  if (frm['Data[demog][drop][5]'][2].checked) {
      if (frm['Data[demog][sub][5][103]'].value == 0) {
          alert('Please answer question 6 - Email');
          frm['Data[demog][sub][5][103]'].focus();
          return false;
      }
  }
  if (frm['Data[demog][drop][5]'][4].checked) {
      if (frm['Data[demog][sub][5][161]'].value == 0) {
          alert('Please answer question 6 - Other');
          frm['Data[demog][sub][5][161]'].focus();
          return false;
      }
  }
  
  
  
  
  /* Add Radio Element */
  var radiochecked = false;
  var radiochoices = frm['Data[demog][radio][7]'].length;
  for(i=0; i < radiochoices; i++) {
    if (frm['Data[demog][radio][7]'][i].checked) {
      radiochecked = true;
    }
  }
  if (! radiochecked) {
    alert('Please answer question 8');
    frm['Data[demog][radio][7]'][0].focus();
    return false;
  } else {
    var radiochecked = false;
  }
  
  
  /* Add Radio Element */
  var radiochecked = false;
  var radiochoices = frm['Data[demog][radio][8]'].length;
  for(i=0; i < radiochoices; i++) {
    if (frm['Data[demog][radio][8]'][i].checked) {
      radiochecked = true;
    }
  }
  if (! radiochecked) {
    alert('Please answer question 9');
    frm['Data[demog][radio][8]'][0].focus();
    return false;
  } else {
    var radiochecked = false;
  }
  
  
  /* Add Element */
  if (frm['Data[demog][freetext][9]'].value == "") {
    alert('Please answer question 10');
    frm['Data[demog][freetext][9]'].focus();
    return false;
  } else {
    // theres a value, it must be 2 chars and a number
    var abc_answer = frm['Data[demog][freetext][9]'].value;
    if(abc_answer.length != 2){
      alert('Your answer to question 10 appears incorrect, it must contain 2 digits only');
      return false;
    }
    var ValidChars = "0123456789";
    var char;
    
    for (i = 0; i < abc_answer.length; i++) { 
      Char = abc_answer.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
        alert('Your answer to question 10 appears incorrect, it must contain only numbers');
        return false;
      }
    }
  }

  /* DPA */
  if (frm['Data[demog][checkbox][10][146]'].checked == false && 1) {
      alert('Please answer question 11');
      frm['Data[demog][checkbox][10][146]'].focus();
      return false;
  }

  //alert('All answers OK');
  //return false;

}


function checkcontact () {

    var frm = document.forms[0];

    if (frm['Data[dlg][title]'].value == 0) {
        alert('Please enter a title, eg. Mr, Mrs, Miss');
        frm['Data[dlg][title]'].focus();
        return false;
    }

    if (frm['Data[dlg][firstname]'].value == '') {
        alert('Please enter a firstname');
        frm['Data[dlg][firstname]'].focus();
        return false;
    }

    if (frm['Data[dlg][lastname]'].value == '') {
        alert('Please enter a lastname');
        frm['Data[dlg][lastname]'].focus();
        return false;
    }

    if (frm['Data[dlg][jobtitle]'].value == '') {
        alert('Please enter a job title');
        frm['Data[dlg][jobtitle]'].focus();
        return false;
    }

    if (frm['Data[dlg][orgname]'].value == '') {
        alert('Please enter your company name');
        frm['Data[dlg][orgname]'].focus();
        return false;
    }

    if (frm['Data[dlg][address1]'].value == '') {
        alert('Please enter a company address');
        frm['Data[dlg][address1]'].focus();
        return false;
    }

    if (frm['Data[dlg][town]'].value == '') {
        alert('Please enter a town');
        frm['Data[dlg][town]'].focus();
        return false;
    }

    if (frm['Data[dlg][postcode]'].value == '') {
        alert('Please enter a postcode');
        frm['Data[dlg][postcode]'].focus();
        return false;
    }

    if (frm['Data[dlg][countryid]'].value == 0) {
        alert('Please select a country');
        frm['Data[dlg][countryid]'].focus();
        return false;
    }

    if (frm['Data[dlg][email]'].value == '') {
        alert('Please enter an email address');
        frm['Data[dlg][email]'].focus();
        return false;
    }

    if (frm['Data[dlg][confirmemail]'].value == '') {
        alert('Please confirm your email address');
        frm['Data[dlg][confirmemail]'].focus();
        return false;
    }

    if (frm['Data[dlg][email]'].value != frm['Data[dlg][confirmemail]'].value) {
        alert('Email addresses do not match - please try again');
        frm['Data[dlg][confirmemail]'].focus();
        return false;
    }

    // Check the address format
    if (! isValidEmail(frm['Data[dlg][email]'].value)) {
        alert ('Your email address appears to be invalid');
        frm['Data[dlg][email]'].focus();
        return false;
    }

    return true;
}


function initialise() {
    return true;
}

function isValidEmail(str) {
   return (str.indexOf(".") > 0) && (str.indexOf("@") > 0);
}

// Automatically check associated radio button when a dropdown value is changed
function autocheckradio (obj) {
    frm = document.forms[0];
    var target_element;
    switch (obj.name) {
        case "Data[demog][sub][3][27]":
            target_id = "Data[demog][radio][3][26]";
            break;
        case "Data[demog][sub][5][52]":
            frm['Data[demog][sub][5][89]'].value = 0;
            frm['Data[demog][sub][5][100]'].value = 0;
            frm['Data[demog][sub][5][103]'].value = 0;
            frm['Data[demog][sub][5][161]'].value = 0;
            target_id = "Data[demog][drop][5][52]";
            break;
        case "Data[demog][sub][5][89]":
            frm['Data[demog][sub][5][52]'].value = 0;
            frm['Data[demog][sub][5][100]'].value = 0;
            frm['Data[demog][sub][5][103]'].value = 0;
            frm['Data[demog][sub][5][161]'].value = 0;
            target_id = "Data[demog][drop][5][89]";
            break;
        case "Data[demog][sub][5][100]":
            frm['Data[demog][sub][5][52]'].value = 0;
            frm['Data[demog][sub][5][89]'].value = 0;
            frm['Data[demog][sub][5][103]'].value = 0;
            frm['Data[demog][sub][5][161]'].value = 0;
            target_id = "Data[demog][drop][5][100]";
            break;
        case "Data[demog][sub][5][103]":
            frm['Data[demog][sub][5][52]'].value = 0;
            frm['Data[demog][sub][5][89]'].value = 0;
            frm['Data[demog][sub][5][100]'].value = 0;
            frm['Data[demog][sub][5][161]'].value = 0;
            target_id = "Data[demog][drop][5][103]";
            break;
        case "Data[demog][sub][5][161]":
            frm['Data[demog][sub][5][52]'].value = 0;
            frm['Data[demog][sub][5][89]'].value = 0;
            frm['Data[demog][sub][5][100]'].value = 0;
            frm['Data[demog][sub][5][103]'].value = 0;
            target_id = "Data[demog][drop][5][161]";
            break;
        default:
            break
    }
    if (obj.value == 0) {
        document.getElementById(target_id).checked = false;
    } else {
        document.getElementById(target_id).checked = true;
    }

}

// REFTECH ONLY VERSION - SKIPS VALIDATION (Still validates for 'other' etc)
function checkformdemogrt () {
  frm = document.forms[0];
  
  /* Add Checkbox Other */
  if (frm['Data[demog][checkbox][1][15]'].checked) {
    if (frm['Data[demog][other][1][15]'].value == 0) {
      alert('Please answer question 1 - Specify other.');
      frm['Data[demog][other][1][15]'].focus();
      return false;
    }
  }
  
  /* Customised */
  if (frm['Data[demog][radio][3]'][0].checked) {
    if (frm['Data[demog][sub][3][27]'].value == 0) {
      alert('Please answer question 2 - Retailer');
      frm['Data[demog][sub][3][27]'].focus();
      return false;
    } else if (frm['Data[demog][sub][3][27]'].value == 34) {
      // Check the other
      if (frm['Data[demog][other][3][34]'].value == 0) {
        alert('Please answer question 2 - Retailer - Other');
        frm['Data[demog][other][3][34]'].focus();
        return false;
      }
    }
  }
  
  /* Customised - Add Radio Other */
  if (frm['Data[demog][radio][3]'][7].checked) {
    if (frm['Data[demog][other][3][41]'].value == 0) {
      alert('Please answer question 2 - Specify other.');
      frm['Data[demog][other][3][41]'].focus();
      return false;
    }
  }
  
  /* Add Radio Other */
  if (frm['Data[demog][radio][2]'][9].checked) {
    if (frm['Data[demog][other][2][25]'].value == 0) {
      alert('Please answer question 3 - Specify other.');
      frm['Data[demog][other][2][25]'].focus();
      return false;
    }
  }
  
  /* Add Checkbox Other */
  if (frm['Data[demog][checkbox][4][51]'].checked) {
    if (frm['Data[demog][other][4][51]'].value == 0) {
      alert('Please answer question 4 - Specify other.');
      frm['Data[demog][other][4][51]'].focus();
      return false;
    }
  }
  
    // 10/09/2008, The only time this field becomes mandatory
    if (frm['Data[demog][freetext][6]'].value == 0) {
        alert('Please answer question 7 - Enter a code');
        frm['Data[demog][freetext][6]'].focus();
        return false;
    }
  
  /* Customised */
  if (frm['Data[demog][drop][5]'][0].checked) {
      if (frm['Data[demog][sub][5][52]'].value == 0) {
          alert('Please answer question 6 - Advert');
          frm['Data[demog][sub][5][52]'].focus();
          return false;
      }
  }
  if (frm['Data[demog][drop][5]'][3].checked) {
      if (frm['Data[demog][sub][5][89]'].value == 0) {
          alert('Please answer question 6 - Insert');
          frm['Data[demog][sub][5][89]'].focus();
          return false;
      }
  }
  if (frm['Data[demog][drop][5]'][1].checked) {
      if (frm['Data[demog][sub][5][100]'].value == 0) {
          alert('Please answer question 6 - Direct Mail');
          frm['Data[demog][sub][5][100]'].focus();
          return false;
      }
  }
  if (frm['Data[demog][drop][5]'][2].checked) {
      if (frm['Data[demog][sub][5][103]'].value == 0) {
          alert('Please answer question 6 - Email');
          frm['Data[demog][sub][5][103]'].focus();
          return false;
      }
  }
  if (frm['Data[demog][drop][5]'][4].checked) {
      if (frm['Data[demog][sub][5][161]'].value == 0) {
          alert('Please answer question 6 - Other');
          frm['Data[demog][sub][5][161]'].focus();
          return false;
      }
  }
  
  
  /* Add Element */
  if (frm['Data[demog][freetext][9]'].value == "") {
    /* Can be blank, but still check format otherwise
    alert('Please answer question 10');
    frm['Data[demog][freetext][9]'].focus();
    return false;
    */
  } else {
    // theres a value, it must be 2 chars and a number
    var abc_answer = frm['Data[demog][freetext][9]'].value;
    if(abc_answer.length != 2){
      alert('Your answer to question 10 appears incorrect, it must contain 2 digits only');
      return false;
    }
    var ValidChars = "0123456789";
    var char;
    
    for (i = 0; i < abc_answer.length; i++) { 
      Char = abc_answer.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
        alert('Your answer to question 10 appears incorrect, it must contain only numbers');
        return false;
      }
    }
  }

}
