var error_occured = false;
var refer_cnt = 0;

function set_profile_owner()
{
  set_profile_target("owner");
}

function set_profile_admin()
{
  set_profile_target("admin");
}

function set_profile_tech()
{
  set_profile_target("tech");
}

function set_profile_bill()
{
  set_profile_target("bill");
}

function set_profile(target_code)
{
  refer_cnt++;
  var sid = get_sid();
  var userid = get_userid();
  var domain = "";
  if ($("ref_domain") != null)
  {
    domain = $("ref_domain").value;
  }
  if (domain == "")
  {
    refer_cnt--;
    set_profile_target(target_code);
    return;
  }
  var myAjax = new Ajax.Request("/ajax/get_profile_info.ajax.php",
    {
      method: "get",
      parameters: "&userid=" + userid + "&domain=" + domain + "&sid=" + get_sid() + "&target=" + target_code,
      onComplete: response_set_profile
    });
}

function set_profile_target(target_code)
{
  refer_cnt++;
  var sid = get_sid();
  var userid = get_userid();
  var uid = $("profile_list_"+target_code).value;
  if (uid <= 0)
  {
    refer_cnt--;
    reset_profile(target_code);
    return;
  }
  var myAjax = new Ajax.Request("/ajax/get_profile_info.ajax.php",
    {
      method: "get",
      parameters: "&userid=" + userid + "&uid=" + uid + "&sid=" + get_sid() + "&target=" + target_code,
      onComplete: response_set_profile
    });
}

function response_set_profile(res)
{
  refer_cnt--;
  var response = res.responseXML;
  var result = response.getElementsByTagName("result")[0];
  if (result == null)
  {
    if (!error_occured)
    {
      error_occured = true;
      alert("¼­¹ö¿ÍÀÇ µ¥ÀÌÅÍ Àü¼ÛÀÌ ¿øÈ°ÇÏÁö ¾Ê½À´Ï´Ù. Àá½ÃÈÄ ÀÌ¿ëÇÏ¿© ÁÖ½Ê½Ã¿À.");
    }
    return;
  }

  process_profile_xml(response);

  if (refer_cnt <= 0)
  {
    $("progress_pane").style.display = "none";
    $("info_pane").style.display = "inline";
  }
}

function reset_profile(targetCode)
{
  var obj = document.frmreg;
  if (targetCode == "owner")
  {
    obj.license_type[0].checked = true;
    obj.license_no.value = "";
	obj.is_open_info.checked = true;
	obj.use_sms.checked = true;
  }
  obj.elements[targetCode+"_name"].value      = "";
  obj.elements[targetCode+"_company"].value   = "";
  obj.elements[targetCode+"_ename"].value     = "";
  obj.elements[targetCode+"_ecompany"].value  = "";
  obj.elements[targetCode+"_email"].value     = "";
  obj.elements[targetCode+"_zipno1"].value    = "";
  obj.elements[targetCode+"_zipno2"].value    = "";
  obj.elements[targetCode+"_state"].value     = "";
  obj.elements[targetCode+"_city"].value      = "";
  obj.elements[targetCode+"_addr1"].value     = "";
  obj.elements[targetCode+"_addr2"].value     = "";
  obj.elements[targetCode+"_estate"].value    = "";
  obj.elements[targetCode+"_ecity"].value     = "";
  obj.elements[targetCode+"_eaddr1"].value    = "";
  obj.elements[targetCode+"_eaddr2"].value    = "";
  for (var i = 0; i < obj.elements[targetCode+"_country"].options.length; i++)
  {
    if (obj.elements[targetCode+"_country"].options[i].value == "KR")
    {
      obj.elements[targetCode+"_country"].options[i].selected = true;
      break;
    }
  }
  obj.elements[targetCode+"_phone"].value     = "";
  obj.elements[targetCode+"_mobile"].value    = "";
  obj.elements[targetCode+"_fax"].value       = "";

  if (refer_cnt <= 0)
  {
    $("progress_pane").style.display = "none";
    $("info_pane").style.display = "inline";
  }
}

function process_profile_xml(response)
{
  var obj = document.frmreg;
  var result = response.getElementsByTagName("result")[0];
  var msg = result.getElementsByTagName("msg")[0].firstChild.nodeValue;
  var code = result.getElementsByTagName("code")[0].firstChild.nodeValue;
  if (code != 100)
  {
    if (!error_occured)
    {
      error_occured = true;
      alert(msg);
    }
    return;
  }

  var dat = response.getElementsByTagName("data")[0];
  var targetCode = get_profile_xml_element(dat, "targetCode");
  if (targetCode == "owner")
  {
    var licenseType = get_profile_xml_element(dat, "licenseType");
    if (licenseType == 0)
      obj.license_type[0].checked = true;
    else
      obj.license_type[1].checked = true;
    obj.license_no.value = get_profile_xml_element(dat, "licenseNo");

	if (get_profile_xml_element(dat, "openinfo") == 1)
		obj.is_open_info.checked = true;
	else
		obj.is_open_info.checked = false;

	if (get_profile_xml_element(dat, "sms") == 1)
		obj.use_sms.checked = true;
	else
		obj.use_sms.checked = false;
  }
  obj.elements[targetCode+"_name"].value = get_profile_xml_element(dat, "contactName");
  obj.elements[targetCode+"_company"].value = get_profile_xml_element(dat, "companyName");
  obj.elements[targetCode+"_ename"].value = get_profile_xml_element(dat, "eContactName");
  obj.elements[targetCode+"_ecompany"].value = get_profile_xml_element(dat, "eCompanyName");
  obj.elements[targetCode+"_email"].value = get_profile_xml_element(dat, "email");

  var zipcode = get_profile_xml_element(dat, "zipcode");
  if (zipcode != "")
  {
    var arr = zipcode.split("-");
    obj.elements[targetCode+"_zipno1"].value = arr[0];
    obj.elements[targetCode+"_zipno2"].value = arr[1];
  }
  obj.elements[targetCode+"_state"].value = get_profile_xml_element(dat, "state");
  obj.elements[targetCode+"_city"].value = get_profile_xml_element(dat, "city");
  obj.elements[targetCode+"_addr1"].value = get_profile_xml_element(dat, "addr1");
  obj.elements[targetCode+"_addr2"].value = get_profile_xml_element(dat, "addr2");
  obj.elements[targetCode+"_estate"].value = get_profile_xml_element(dat, "eState");
  obj.elements[targetCode+"_ecity"].value = get_profile_xml_element(dat, "eCity");
  obj.elements[targetCode+"_eaddr1"].value = get_profile_xml_element(dat, "eAddr1");
  obj.elements[targetCode+"_eaddr2"].value = get_profile_xml_element(dat, "eAddr2");

  var countryCode = get_profile_xml_element(dat, "country");
  for (var i = 0; i < obj.elements[targetCode+"_country"].options.length; i++)
  {
    if (obj.elements[targetCode+"_country"].options[i].value == countryCode)
    {
      obj.elements[targetCode+"_country"].options[i].selected = true;
    }
  }

  obj.elements[targetCode+"_phone"].value = get_profile_xml_element(dat, "phone");
  obj.elements[targetCode+"_mobile"].value = get_profile_xml_element(dat, "mobile");
  obj.elements[targetCode+"_fax"].value = get_profile_xml_element(dat, "fax");
}

function get_profile_xml_element(dat, name)
{
  var data = null;
  try
  {
    data = dat.getElementsByTagName(name)[0].firstChild.nodeValue;
  }
  catch (e)
  {
    return "";
  }
  return data;
}

function show_hide(target_code)
{
  if ($("use_"+target_code).checked)
    $(target_code+"_contact").style.display = "inline";
  else
    $(target_code+"_contact").style.display = "none";
}
