﻿// JScript File
function CalculateConsumption(form, Energy, GreenPower)
{
  var ok = true;
  var factor1, factor2;
  
  if (form.c21_c14.value == "KWh")
  {
    factor1 = 0.001;
  }
  else if (form.c21_c14.value == "MWh")
  {
    factor1 = 1.0;
  }
  else if (form.c21_c14.value == "GWh")
  {
    factor1 = 1000.0;
  }
  
  if (form.c21_c16.value == "KWh")
  {
    factor2 = 0.001;
  }
  else if (form.c21_c16.value == "MWh")
  {
    factor2 = 1.0;
  }
  else if (form.c21_c16.value == "GWh")
  {
    factor2 = 1000.0;
  }
  
  if ((Energy * factor1) < (GreenPower * factor2))
  {
    alert('Energy Consumption must be greater than GreenPower Consumption');
    form.c21_c13.focus();
    form.c21_c17.value = "";
    ok = false;
  }
  return ok;
}

function CalculateEventConsumption(form, Energy, GreenPower)
{
  var ok = true;
  var factor1, factor2;
  
  
  if (form.c23_c16.value == "KWh")
  {
    factor1 = 0.001;
  }
  else if (form.c23_c16.value == "MWh")
  {
    factor1 = 1.0;
  }
  else if (form.c23_c16.value == "GWh")
  {
    factor1 = 1000.0;
  }
  
  if (form.c23_c18.value == "KWh")
  {
    factor2 = 0.001;
  }
  else if (form.c23_c18.value == "MWh")
  {
    factor2 = 1.0;
  }
  else if (form.c23_c18.value == "GWh")
  {
    factor2 = 1000.0;
  }
  
  if ((Energy * factor1) < (GreenPower * factor2))
  {
    alert('Energy Consumption must be greater than GreenPower Consumption');
    form.c23_c15.focus();
    ok = false;
  }
  return ok;
}

function CalculatePrecent(form, Energy, GreenPower)
{
  var factor1, factor2;
  
  if (form.c21_c14.value == "KWh")
  {
    factor1 = 0.001;
  }
  else if (form.c21_c14.value == "MWh")
  {
    factor1 = 1.0;
  }
  else if (form.c21_c14.value == "GWh")
  {
    factor1 = 1000.0;
  }
  
  if (form.c21_c16.value == "KWh")
  {
    factor2 = 0.001;
  }
  else if (form.c21_c16.value == "MWh")
  {
    factor2 = 1.0;
  }
  else if (form.c21_c16.value == "GWh")
  {
    factor2 = 1000.0;
  }
  
  
  form.c21_c17.value = Math.round((GreenPower * factor2) / (Energy * factor1) * 100 * 1000) / 1000;

  /*
  if ((Energy * factor1) >= 40000 && form.c21_c17.value >= 2.5)
    form.c21_c18.value = "Yes"
  else if ((Energy * factor1) >= 20000 && form.c21_c17.value >= 5)
    form.c21_c18.value = "Yes"
  else if ((Energy * factor1) >= 4000 && form.c21_c17.value >= 10)
    form.c21_c18.value = "Yes"
  else if ((Energy * factor1) >= 750 && form.c21_c17.value >= 25)
    form.c21_c18.value = "Yes"
  else if ((Energy * factor1) >= 160 && form.c21_c17.value >= 50)
    form.c21_c18.value = "Yes"
  else if ((Energy * factor1) < 160 && form.c21_c17.value >= 75)
    form.c21_c18.value = "Yes"
  else
    form.c21_c18.value = "No"
  */
  
  if(form.c21_c17.value >= 10)
    form.c21_c18.value = "Yes"
  else
    form.c21_c18.value = "No"
}

function CalculateEventPrecent(form, Energy, GreenPower)
{
  var factor1, factor2;
  
  if (form.c23_c16.value == "KWh")
  {
    factor1 = 0.001;
  }
  else if (form.c23_c16.value == "MWh")
  {
    factor1 = 1.0;
  }
  else if (form.c23_c16.value == "GWh")
  {
    factor1 = 1000.0;
  }
  
  if (form.c23_c18.value == "KWh")
  {
    factor2 = 0.001;
  }
  else if (form.c23_c18.value == "MWh")
  {
    factor2 = 1.0;
  }
  else if (form.c23_c18.value == "GWh")
  {
    factor2 = 1000.0;
  }  

  if (Math.round((GreenPower * factor2) / (Energy * factor1) * 100 * 1000) / 1000 == 100)
    form.c23_c19.value = "Yes"
  else
    form.c23_c19.value = "No"
}

//This is not used unless you are using generic form generation
//And it is not working well. Need more research and fixing
//Checkbox validation for ASP.net Controls checkbox.
function CheckboxValid(validator_ID, column, num_checkbox)
{
  var element_name, i;
  var ok = false;
  for (i = 0; i < num_checkbox; i++)
  {
    element_name = column + "$" + i;
    if (document.getElementsByName(element_name)[0].checked)
    {
      ok = true;
      document.getElementById("ctl00_Content_" + validator_ID).style.display = 'none';
      break;
    }
  }
  if (!ok)
  {  
    document.getElementById("ctl00_Content_" + validator_ID).style.display = 'block';   
  }
  return ok;
}

function CheckFuture(ok, day1, month1, year1, day2, month2, year2, name)
{
  var fromDate = new Date()
  fromDate.setFullYear(year1.value, month1.value - 1, day1.value)

  var toDate = new Date()
  toDate.setFullYear(year2.value, month2.value - 1, day2.value)

  if (fromDate>toDate)
  {
    ok = false;
    day1.focus();
    alert(name);
  }
  return ok;
}

function CheckIsFloat(element, name)
{
  ok = true;
  if(!isFloat(element.value))
  {
    element.focus(); 
    alert('You must enter a number for the \'' + name + '\'');    
    ok = false;
  }
  return ok;
}

function formSubmit(form, searchString)
{
  window.location = "search-result.aspx?search=" + document.getElementById("ctl00$SearchBox").value;
}

function GreenPowerPrecent(form)
{
  var ok;
  ok = false;

  if (form.c21_c13.value.length > 0 && form.c21_c15.value.length > 0 && form.c21_c14.value.length > 0 && form.c21_c16.value.length > 0)
  {
    ok = CalculateConsumption(form, form.c21_c13.value, form.c21_c15.value);
  }
  if (ok)
  {
    CalculatePrecent(form, form.c21_c13.value, form.c21_c15.value)
  }
}

function GreenPowerEventPrecent(form)
{
  var ok;
  ok = false;

  if (form.c23_c15.value.length > 0 && form.c23_c17.value.length > 0 && form.c23_c16.value.length && form.c23_c18.value.length)
  {
    ok = CalculateEventConsumption(form, form.c23_c15.value, form.c23_c17.value);
  }
  if (ok)
  {
    CalculateEventPrecent(form, form.c23_c15.value, form.c23_c17.value)
  }
}

function OnChangeReport(select, current_page)
{
  select.form.action = current_page;
  select.form.submit();
}

function OnDate(ok, day1, month1, year1, day2, month2, year2, name)
{
  if (ok)
  {
    if (day1.value.length == 0 || month1.value.length == 0 || year1.value.length == 0)
    {
      ok = false;
      day1.focus();
      alert(name);
    }
    else if (day2.value.length == 0 || month2.value.length == 0 || year2.value.length == 0)
    {
      ok = false;
      day2.focus();
      alert(name);
    }
    else
    {    
      ok = CheckFuture(ok, day1, month1, year1, day2, month2, year2, "To Date must be greater than From Date")
    }
  }
  return ok;
}

function OnGallery(IDDataContent, order, total)
{
  var left, top1;
  
  width = 800;
  height = 800;

  left = (screen.width - width)/2;
  top1 = (screen.height - height)/4;

  window.open('gallery/image.aspx?dataContent=' + IDDataContent + '&order=' + order + '&total=' + total, 'image', 'width=' + width.toString() + ',height=' + height.toString() + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=0,scrollbars=1,status=1,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');
}

function ValidateForm(form)
{
  var ok;
 
  ok = true;

  ok = OnTextBox(ok, form.c21_c2, "Organisation", 100, false);
  ok = OnSelect(ok, form.c21_c3, "Organisation Category");
  ok = OnTextBox(ok, form.c21_c4, "Contact Name", 100, false);
  ok = OnTextBox(ok, form.c21_c5, "Position/Title", 100, false);
  ok = OnTextBox(ok, form.c21_c6, "Address", 100, false);
  ok = OnTextBox(ok, form.c21_c7, "Telephone", 100, false);
  ok = OnTextBox(ok, form.c21_c9, "E-mail", 100, false);  
  ok = OnEmail(ok, form.c21_c9);
  ok = OnSelect(ok, form.c21_c28, "Who do you get your GreenPower from");
  ok = OnSelect(ok, form.c21_c21, "Electricity retailer");
  ok = OnFloat(ok, form.c21_c13, "Annual Energy Consumption");
  ok = OnFloat(ok, form.c21_c15, "GreenPower Consumption");
  ok = OnSelect(ok, form.c21_c14, "Energy Consumption Type");
  ok = OnSelect(ok, form.c21_c16, "GreenPower Consumption Type");
  
  if(form.c21_c28.value == "Energy Retailer") {
    ok = OnTextBox(ok, form.c21_c29, "National Meter Identification number", 100, false);  
    ok = OnRadio(ok, form.c21_c32, "Are you on a fixed term contract")
  }
  
  if(GetRadioValue(form.c21_c32) == "Yes") {
    ok = OnDate(ok, form.c21_c19_day, form.c21_c19_month, form.c21_c19_year, form.c21_c20_day, form.c21_c20_month, form.c21_c20_year,"You must enter a valid date range for Contract Term");     
  }
  
  if (ok) {
    ok = CalculateConsumption(form, form.c21_c13.value, form.c21_c15.value);
  }
  
  //ok = OnTextBox(ok, form.c21_c22, "Contact Name", 100, false); 
  ok = OnCheckbox(ok, form.sAcceptedTCs, "Please ensure you READ and ACCEPT to the terms and conditions before submitting the application form");
    
  if(ok)
  {
    form.submit();
  }
}

function GetRadioValue(radio)
{
  var val = 0;
  for( i = 0; i < radio.length; i++ )
  {
    if( radio[i].checked )
      val = radio[i].value;
  }
  return val;
}
function SetRadioValue(radio, value)
{
  for( i = 0; i < radio.length; i++ )
  {
    if( radio[i].value == value )
    {
      radio[i].checked = true;
      return;
    }
  }
}


function GetGPFrom_Changed(form)
{
  if (form.c21_c28.value == "Energy Retailer")
  {
    ShowIt("site1a");
    ShowIt("site1b");
    ShowIt("contracta");
    ShowIt("contractb");
    HideIt("gp1");
    HideIt("gp2");
  }
  else if (form.c21_c28.value == "GreenPower Credit Provider")
  {
    ShowIt("gp1");
    ShowIt("gp2");
    HideIt("site1a");
    HideIt("site1b");
    HideIt("contracta");
    HideIt("contractb");
  }
  else{
    HideIt("gp1");
    HideIt("gp2");
    HideIt("site1a");
    HideIt("site1b");
    HideIt("site2a");
    HideIt("site2b");
    HideIt("site3a");
    HideIt("site3b");
    HideIt("contracta");
    HideIt("contractb");
    HideIt("contract1");
    HideIt("contract2");
  }
  
  /*
  if (form.selection.value == "Energy Retailer")
  {
    energy.style.display = "block";
    form.c21_c21.style.display = "block";
    greenpower.style.display = "none";
    form.c21_c12.style.display = "none";
    form.c21_c12.selectedIndex = "";
  }
  else if (form.selection.value == "GreenPower Credit Provider")
  {
    energy.style.display = "block";
    form.c21_c21.style.display = "block";
    greenpower.style.display = "block";
    form.c21_c12.style.display = "block";
  }
  else
  {
    energy.style.display = "none";
    form.c21_c21.style.display = "none";
    greenpower.style.display = "none";
    form.c21_c12.style.display = "none";
    form.c21_c12.selectedIndex = "";
    form.c21_c21.selectedIndex = "";
  }
  */
}

function ToggleNMISites(form)
{
  ToggleIt("site2a");
  ToggleIt("site2b");
  ToggleIt("site3a");
  ToggleIt("site3b");
}

function ShowContractTerm(form)
{
  ShowIt("contract1");
  ShowIt("contract2");
}
function HideContractTerm(form)
{
  HideIt("contract1");
  HideIt("contract2");
}

function ValidateEventForm(form)
{
  var ok;
 
  ok = true;

  ok = OnTextBox(ok, form.c23_c2, "Event Organisation", 100, false);
  //ok = OnTextBox(ok, form.c23_c3, "Event Title");
  //ok = OnDate(ok, form.c23_c4_day, form.c23_c4_month, form.c23_c4_year, form.c23_c5_day, form.c23_c5_month, form.c23_c5_year,"You must enter a valid date range for Event Date");    
  ok = OnTextBox(ok, form.c23_c6, "Contact Name", 100, false);
  ok = OnTextBox(ok, form.c23_c7, "Position/Title", 100, false);
  ok = OnTextBox(ok, form.c23_c8, "Address", 100, false);
  ok = OnTextBox(ok, form.c23_c9, "Telephone", 100, false);
  ok = OnTextBox(ok, form.c23_c10, "Facsimile", 100, false);
  ok = OnEmail(ok, form.c23_c11);
  //ok = OnTextBox(ok, form.c23_c12, "Website", 100, false);  
  ok = OnFloat(ok, form.c23_c15, "Annual Energy Consumption");
  ok = OnFloat(ok, form.c23_c17, "GreenPower Consumption");
  ok = OnSelect(ok, form.c23_c16, "Energy Consumption Type");
  ok = OnSelect(ok, form.c23_c18, "GreenPower Consumption Type");
  if (ok)
  {
    ok = CalculateEventConsumption(form, form.c23_c15.value, form.c23_c17.value);
  }
  //ok = OnDate(ok, form.c23_c20_day, form.c23_c20_month, form.c23_c20_year, form.c23_c21_day, form.c23_c21_month, form.c23_c21_year,"You must enter a valid date range for GreenPower Supply");    

  ok = OnTextBox(ok, form.c23_c13, "GreenPower Provider", 100, false);
  //ok = OnTextBox(ok, form.c23_c23, "Contact Name", 100, false);  
  ok = OnCheckbox(ok, form.sAcceptedTCs, "Please ensure you READ and ACCEPT to the terms and conditions before submitting the application form");
    
  if(ok)
  {
    form.submit();
  }
}