﻿// Drop Down Custom Validator
function DropDownValidator(src, args)
{
  if (args.Value == "--") args.IsValid = false;
  else args.IsValid = true;
}

var control;
function SetActiveTab(tabControl)
{
  // get the tab control
  control = $find(tabControl);
  
  // if we have a tab control, lets try to get the active tab
  if (control != null)
    Directory.GetActiveTab(SetActiveTabSuccessCallBack, SetActiveTabFailedCallBack);
}

function SetActiveTabSuccessCallBack(result)
{
  control.set_activeTab(control.get_tabs()[result]);
}

function SetActiveTabFailedCallBack(result)
{
  // do nothing on failure
}

function SendTabChanged()
{
  // send the active tab to the server
  if (control != null)
    Directory.SetActiveTab(control.get_activeTabIndex());
}

function SendProjectTypeChanged(control)
{
  var options = document.getElementsByName(control);
  
  if (options == null)
    return;
    
  for (var i = 0; i < options.length; i++)
  {
    if (options[i].checked)
      Directory.SetActiveTab(options[i].value - 1);
  }
}

/** Calculator Methods **/
var ddlUtilityCompany;
function GetUtilityCompanies(control, ddl)
{
  ddlUtilityCompany = document.getElementById(ddl);
  
  // go get utility companies if we have a length 5 zip code
  if (control.value.length == 5)
    MapDataHelper.GetUtilityCompaniesByZipCode(control.value, OnGetUtilityCompaniesComplete, OnGetUtilityCompaniesError, OnGetUtilityCompaniesError);
  
  return true;
}

function OnGetUtilityCompaniesComplete(arg) 
{
  if (ddlUtilityCompany == null)
    return;
    
  while (ddlUtilityCompany.options.length > 0)
  {
    ddlUtilityCompany.remove(0);
  }
  
  for (var i = 0; i < arg.length; i++)
  {
    var opt = document.createElement("OPTION");
    opt.text = arg[i].UtilityCompanyName;
    opt.value = arg[i].UtilityCompanyId;
    try
    {
      ddlUtilityCompany.add(opt);
    }
    catch (e)
    {
      ddlUtilityCompany.add(opt, null);
    }
  }
  
  ddlUtilityCompany.selectedIndex = ddlUtilityCompany.options.length - 1;
}

function OnGetUtilityCompaniesError(arg) 
{
  if (ddlUtilityCompany == null)
    return;
    
  while (ddlUtilityCompany.options.length > 0)
  {
    ddlUtilityCompany.remove(0);
  }
  
  var opt = document.createElement("OPTION");
  opt.text = "Other";
  opt.value = -1;
  try
  {
    ddlUtilityCompany.add(opt);
  }
  catch (e)
  {
    ddlUtilityCompany.add(opt, null);
  }
}