function gebi(id) {
  return document.getElementById(id);
}

function showHide(id) {
  var obj = gebi(id);
  if(obj.style.display == '') {
    obj.style.display = 'none';
  } else {
    obj.style.display = '';
  }
  return false;
}

function cformInit() {
  gebi("cfee").checked = true;
  gebi("total").value = 0;  
  gebi("d2004b").value = 0;
  gebi("d2002b").value = 0;
  gebi("pfee").disabled = true;
  cformReInit();
  return false;
}

function cformReInit() {
 if(gebi("cfee").checked == true || gebi("afee").checked == true) {
   gebi("pfee").disabled = true;   
 } else {
   gebi("pfee").disabled = false;
 }
 if(gebi("pfee").checked == true) {
   gebi("cfee").disabled = true;
   gebi("afee").disabled = true;
   gebi("cfee").disabled = true;
   gebi("atitle").disabled = true;
   gebi("aname").disabled = true;
 } else {
   gebi("cfee").disabled = false;
   gebi("afee").disabled = false;
   gebi("cfee").disabled = false;
   gebi("atitle").disabled = false;
   gebi("aname").disabled = false;
 }
 if(gebi("dpackage").checked == true) {
   gebi("d2004b").disabled = true;
   gebi("d2002b").disabled = true;
 } else {
   gebi("d2004b").disabled = false;
   gebi("d2002b").disabled = false;
 }
 if(gebi("d2004b").value > 0 || gebi("d2002b").value > 0) {
   gebi("dpackage").disabled = true;
 } else {
   gebi("dpackage").disabled = false;
 }
 if(gebi("disc1").checked == true && gebi("disc2").checked == true) {
   gebi("disc3").disabled = true;
 } else {
   gebi("disc3").disabled = false;
 }
 if(gebi("disc2").checked == true && gebi("disc3").checked == true) {
   gebi("disc1").disabled = true;
 } else {
   gebi("disc1").disabled = false;
 }
 if(gebi("disc3").checked == true && gebi("disc1").checked == true) {
   gebi("disc2").disabled = true;
 } else {
   gebi("disc2").disabled = false;
 }
}

function cformErrorReport() {
  var error = '';
  if(!gebi("firstname").value) {
    error += "First Name field is blank\n";
  }
  if(!gebi("lastname").value) {
    error += "Last Name field is blank\n";
  }
  if(!gebi("position").value) {
    error += "Position field is blank\n";
  }
  if(!gebi("company").value) {
    error += "Company field is blank\n";
  }
  if(!gebi("address").value) {
    error += "Address field is blank\n";
  }
  if(!gebi("city").value) {
    error += "City field is blank\n";
  }
  if(!gebi("country").value) {
    error += "Country field is blank\n";
  }
  if(!gebi("telcode").value || !gebi("tel").value) {
    error += "Telephone or Telephone code field is blank\n";
  }
  if(!gebi("faxcode").value || !gebi("fax").value) {
    error += "Fax or Fax code field is blank\n";
  }
  if(error != '') {
    alert("The following errors were found in your submission: \n" + error);
    return true;
  } else {
    return false;
  }
}

function cformCalculate() {
  var cfee_price = 420;
  var afee_price = 200;
  var pfee_price = 40;
  var dpackage_price = 80;
  var d2004b_price = 30;
  var d2002b_price = 20;
  var total = 0;
  var discount1 = 0.1;
  var discount2 = 0.1;
  var discount3 = 0.05;

  if(gebi("cfee").checked == true) {
    total = total + cfee_price;
  }
  if(gebi("afee").checked == true) {
    total = total + afee_price;
  }
  if(gebi("pfee").checked == true) {
    total = total + pfee_price;
  }
  if(gebi("dpackage").checked == true) {
    total = total + dpackage_price;
  }
  if(gebi("d2004b").value > 0) {
    total = total + (d2004b_price * gebi("d2004b").value);
  }
  if(gebi("d2002b").value > 0) {
    total = total + (d2002b_price * gebi("d2002b").value);
  }
  if(gebi("disc1").checked == true) {
    total = total - (total * discount1);
  }
  if(gebi("disc2").checked == true) {
    total = total - (total * discount2);
  }
  if(gebi("disc3").checked == true) {
    total = total - (total * discount3);
  }

  var error = cformErrorReport();
  if(!error) {
    gebi("total").value = total;
    if(confirm('Please check your order and calculated Total amount')) {
      form_congress.submit();
    } else {
      return false;
    }
  } else {
    return false;
  }
}

function tformInit() {
  gebi("subtotal1").value = 0;
  gebi("subtotal2").value = 0;
  gebi("total").value = 0;
  gebi("sum1_q1").value = 1;
  gebi("cost1").value = 0;
  gebi("sum1_q2").value = 0;
  gebi("price2").value = 0;
  gebi("cost2").value = 0;
  gebi("sum1_q3").value = 0;
  gebi("price3").value = 0;
  gebi("cost3").value = 0;
  gebi("sum1_q4").value = 0;
  gebi("price4").value = 0;
  gebi("cost4").value = 0;
  gebi("insurance").value = 0;
  tformReInit();
  return false;
}

function tformErrorReport() {
  var error = '';
  if(!gebi("ccname").value) {
    error += "Company Name field is blank\n";
  }
  if(!gebi("caddress").value) {
    error += "Company Address field is blank\n";
  }
  if(!gebi("ccity").value) {
    error += "Company City field is blank\n";
  }
  if(!gebi("ccountry").value) {
    error += "Company Country field is blank\n";
  }
  if(!gebi("czip").value) {
    error += "Company Zip/Postal field is blank\n";
  }
  if(!gebi("ctelcode").value || !gebi("ctel").value) {
    error += "Company Telephone or Telephone code field is blank\n";
  }
  if(!gebi("cfaxcode").value || !gebi("cfax").value) {
    error += "Company Fax or Fax code field is blank\n";
  }
  if(!gebi("cpname").value) {
    error += "Personal Name field is blank\n";
  }
  if(!gebi("cpposition").value) {
    error += "Personal Position field is blank\n";
  }
  if(!gebi("cptelcode").value || !gebi("cptel").value) {
    error += "Personal Telephone or Telephone code field is blank\n";
  }
  if(error != '') {
    alert("The following errors were found in your submission: \n" + error);
    return true;
  } else {
    return false;
  }
}

function tformReInit() {
  var reg_fee_price = 400;
  var insurance_price = 1.2;
  var extra1 = 0.1;  
  var extra2 = 0.15;
  var extra3 = 0.2;
  var extra4 = 0.4;
  var total = 0;
  var subtotal1 = 0;
  var subtotal2 = 0;

  if(gebi("tariff2").value > 0) {
    gebi("price2").value = gebi("tariff2").value;
  }
  if(gebi("tariff3").value > 0) {
    gebi("price3").value = gebi("tariff3").value;
  }
  if(gebi("tariff4").value > 0) {
    gebi("price4").value = gebi("tariff4").value;
  }
  if(gebi("sum1_q1").value >= 0) {
    gebi("cost1").value = reg_fee_price * gebi("sum1_q1").value;
  }
  if(gebi("sum1_q2").value >= 0) {
    gebi("cost2").value = gebi("price2").value * gebi("sum1_q2").value;
  }
  if(gebi("sum1_q3").value >= 0) {
    gebi("cost3").value = gebi("price3").value * gebi("sum1_q3").value;
  }
  if(gebi("sum1_q4").value >= 0) {
    gebi("cost4").value = gebi("price4").value * gebi("sum1_q4").value;
  }

  gebi("insurance").value = eval(eval(gebi("sum1_q2").value) + eval(gebi("sum1_q3").value) + eval(gebi("sum1_q4").value))*insurance_price;

  if(gebi("extra1").checked) {
    subtotal2 = eval((gebi("subtotal1").value * extra1));
  }
  if(gebi("extra2").checked) {
    subtotal2 = eval((gebi("subtotal1").value * extra2));
  }
  if(gebi("extra3").checked) {
    subtotal2 = eval((gebi("subtotal1").value * extra3));
  }
  if(gebi("extra4").checked) {
    subtotal2 = eval((gebi("subtotal1").value * extra4));
  }
  if(gebi("cost1").value > 0) {
    subtotal1 += eval(gebi("cost1").value);
  }
  if(gebi("cost2").value > 0) {
    subtotal1 += eval(gebi("cost2").value); 
  }
  if(gebi("cost3").value > 0) {
    subtotal1 += eval(gebi("cost3").value);
  }
  if(gebi("cost4").value > 0) {
    subtotal1 += eval(gebi("cost4").value);
  }
  if(gebi("insurance").value > 0) {
    subtotal1 += eval(gebi("insurance").value);
  }
  gebi("subtotal1").value = subtotal1;
  gebi("subtotal2").value = subtotal2;
  gebi("total").value = subtotal1 + subtotal2;
  return false;
}

function tformCalculate() {
  var error = '';
  error = tformErrorReport();
  if(!error) {
    if(confirm('Please check your order and calculated Total amount')) {
      form_fair.submit();
    } else {
      tformReInit();
    }
  } else {
    return false;
  }
}