function show_files(show) {
  if (show) {
    document.getElementById('file2').style.display = 'inline';  
    document.getElementById('file3').style.display = 'inline';  
    document.getElementById('file4').style.display = 'inline';  
    document.getElementById('file5').style.display = 'inline';  
    document.getElementById('file6').style.display = 'inline';  
    document.getElementById('file7').style.display = 'inline';  
    document.getElementById('file8').style.display = 'inline';  
    document.getElementById('file9').style.display = 'inline';  
    document.getElementById('file10').style.display = 'inline';  
  }
  if (!show) {
    document.getElementById('file2').style.display = 'none';  
    document.getElementById('file3').style.display = 'none';  
    document.getElementById('file4').style.display = 'none';  
    document.getElementById('file5').style.display = 'none';  
    document.getElementById('file6').style.display = 'none';  
    document.getElementById('file7').style.display = 'none';  
    document.getElementById('file8').style.display = 'none';  
    document.getElementById('file9').style.display = 'none';  
    document.getElementById('file10').style.display = 'none';  
  }
}

function show_file1(show) {
  if (show) {
    document.getElementById('file1').style.display = 'inline';  
  }
  if (!show) {
    document.getElementById('file1').style.display = 'none';  
  }
}

function check_form_data() {
  err = '';
  if (document.getElementById('email').value == '')
    err += 'Email field cannot be blank!\r\n'; 
  if (!validEmail(document.getElementById('email').value))
    err += 'Email address is not valid!\r\n';  
  if (document.getElementById('period').value == '')
    err += 'Period field cannot be blank!\r\n'; 
  filename1 = document.getElementById('file1').value;
  fn1_ext = filename1.substring(filename1.length - 4).toUpperCase();
  if (location.href.indexOf('files[]=') == -1) {
    if (document.getElementById('user_type_farmer').checked && filename1 == '')
      err += 'Data file name must be specified!\r\n';   
    if (document.getElementById('user_type_farmer').checked && filename1 != '' && fn1_ext != '.ZIP')
      err += 'File '+filename1+' is not a ZIP file!\r\n'+'Please see the help icon on the homepage for more information.\r\n';        
  }
  if (document.getElementById('user_type_org').checked && (location.href.indexOf('files[]=') == -1)) {
    no_files = true;
    zip_only = true;
    for (i=1; i<11; i++) {
      filename = document.getElementById('file'+i).value;
      fn_ext = filename.substring(filename.length - 4).toUpperCase();
      if (filename != '') {
        no_files = false;
      }
      if (filename != '' && fn_ext != '.ZIP') {
        err += 'File '+filename+' is not a ZIP file!\r\n';
        zip_only = false;
      }
    }
    if (no_files)
      err += 'At least one data file name must be specified!\r\n';
    if (!zip_only)
      err += 'Please see the help icon on the homepage for more information.\r\n';      
  }
  if (err == '') {
    if (document.body.scrollHeight) { 
      window.scrollTo(0, document.body.scrollHeight); 
    } else if (screen.height) { 
     // IE5 
     window.scrollTo(0, screen.height); 
    }     
    return true;
  } else {  
    alert(err);
    return false;
  }
}

function show_progress() {
  document.getElementById('step1_text').style.display = 'none';  
  document.getElementById('step2_progress').style.display = 'block'; 
  document.getElementById('step2_text').style.display = 'block';   
}

function validEmail(email) {
  var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if(email.match(emailRegEx))
    return true;
  else
    return false;
}

function sleep(seconds) {
    // http://kevin.vanzonneveld.net
    // +   original by: Christian Doebler
    // +   bugfixed by: Brett Zamir
    // %          note: For study purposes. Current implementation could lock up the user's browser. 
    // %          note: Consider using setTimeout() instead.
    // *     example 1: sleep(1);
    // *     returns 1: 0
    
    var start = new Date().getTime();
    while (new Date() < start + seconds*1000);
    return 0;
}