function removeDeliveryAddress(address_id)
{
  if (!confirm("Opravdu si přejete odstranit doručovací adresu?")) {
    return;
	}

  var address_ids = document.getElementById('settings_address_ids').value.split(',');
  address_ids[address_id-1] = '0';
  document.getElementById('settings_address_ids').value = address_ids.join(',');

  var parent_node = document.getElementById('address_'+address_id).parentNode;
  parent_node.removeChild(document.getElementById('address_'+address_id));
  parent_node.removeChild(document.getElementById('settings_delivery_name_'+address_id).parentNode.parentNode);
  parent_node.removeChild(document.getElementById('settings_delivery_surname_'+address_id).parentNode.parentNode);
  parent_node.removeChild(document.getElementById('settings_delivery_company_'+address_id).parentNode.parentNode);
  parent_node.removeChild(document.getElementById('settings_delivery_street_'+address_id).parentNode.parentNode);
  parent_node.removeChild(document.getElementById('settings_delivery_nr_'+address_id).parentNode.parentNode);
  parent_node.removeChild(document.getElementById('settings_delivery_city_'+address_id).parentNode.parentNode);
  parent_node.removeChild(document.getElementById('settings_delivery_zip_'+address_id).parentNode.parentNode);
  parent_node.removeChild(document.getElementById('settings_delivery_country_code_'+address_id).parentNode.parentNode);
}

function addDeliveryAddress(countries)
{
  var target_table = document.getElementById("registration-form");
  var target_row_index = document.getElementById("add_row").rowIndex;
  var next_row_id = document.getElementById("next_row_id").value;
  document.getElementById('next_row_id').value = parseInt(document.getElementById('next_row_id').value) + 1;


  var address_ids = document.getElementById('settings_address_ids').value.split(',');
  address_ids[next_row_id-1] = '1';
  document.getElementById('settings_address_ids').value = address_ids.join(',');

  // zeme
  var row = target_table.insertRow(target_row_index);

  var td = document.createElement('td');
  row.appendChild(td);
  var label = document.createElement('label');
  label.setAttribute('for', 'settings_delivery_country_code_'+next_row_id);
  label.appendChild(document.createTextNode('Země*'));
  td.appendChild(label);

  var td = document.createElement('td');
  row.appendChild(td);
  var select = document.createElement('select');
  select.setAttribute('name', 'settings_delivery_country_code_'+next_row_id);
  select.setAttribute('id', 'settings_delivery_country_code_'+next_row_id);
  td.appendChild(select);

  for(index in countries) {
    select.options[select.options.length] = new Option(countries[index], index);
  }


  // PSC
  var row = target_table.insertRow(target_row_index);

  var td = document.createElement('td');
  row.appendChild(td);
  var label = document.createElement('label');
  label.setAttribute('for', 'settings_delivery_zip_'+next_row_id);
  label.appendChild(document.createTextNode('PSČ*'));
  td.appendChild(label);

  var td = document.createElement('td');
  row.appendChild(td);
  var input = document.createElement('input');
  input.setAttribute('name', 'settings_delivery_zip_'+next_row_id);
  input.setAttribute('id', 'settings_delivery_zip_'+next_row_id);
  input.setAttribute('type', 'text');
  td.appendChild(input);

  // mesto
  var row = target_table.insertRow(target_row_index);

  var td = document.createElement('td');
  row.appendChild(td);
  var label = document.createElement('label');
  label.setAttribute('for', 'settings_delivery_city_'+next_row_id);
  label.appendChild(document.createTextNode('Město*'));
  td.appendChild(label);

  var td = document.createElement('td');
  row.appendChild(td);
  var input = document.createElement('input');
  input.setAttribute('name', 'settings_delivery_city_'+next_row_id);
  input.setAttribute('id', 'settings_delivery_city_'+next_row_id);
  input.setAttribute('type', 'text');
  td.appendChild(input);

  // nr
  var row = target_table.insertRow(target_row_index);

  var td = document.createElement('td');
  row.appendChild(td);
  var label = document.createElement('label');
  label.setAttribute('for', 'settings_delivery_nr_'+next_row_id);
  label.appendChild(document.createTextNode('Č. p.*'));
  td.appendChild(label);

  var td = document.createElement('td');
  row.appendChild(td);
  var input = document.createElement('input');
  input.setAttribute('name', 'settings_delivery_nr_'+next_row_id);
  input.setAttribute('id', 'settings_delivery_nr_'+next_row_id);
  input.setAttribute('type', 'text');
  input.setAttribute('class', 'smallnumber');
  td.appendChild(input);

  // ulice
  var row = target_table.insertRow(target_row_index);

  var td = document.createElement('td');
  row.appendChild(td);
  var label = document.createElement('label');
  label.setAttribute('for', 'settings_delivery_street_'+next_row_id);
  label.appendChild(document.createTextNode('Ulice*'));
  td.appendChild(label);

  var td = document.createElement('td');
  row.appendChild(td);
  var input = document.createElement('input');
  input.setAttribute('name', 'settings_delivery_street_'+next_row_id);
  input.setAttribute('id', 'settings_delivery_street_'+next_row_id);
  input.setAttribute('type', 'text');
  td.appendChild(input);

  // firma
  var row = target_table.insertRow(target_row_index);

  var td = document.createElement('td');
  row.appendChild(td);
  var label = document.createElement('label');
  label.setAttribute('for', 'settings_delivery_company_'+next_row_id);
  label.appendChild(document.createTextNode('Firma'));
  td.appendChild(label);

  var td = document.createElement('td');
  row.appendChild(td);
  var input = document.createElement('input');
  input.setAttribute('name', 'settings_delivery_company_'+next_row_id);
  input.setAttribute('id', 'settings_delivery_company_'+next_row_id);
  input.setAttribute('type', 'text');
  td.appendChild(input);

  // prijmeni
  var row = target_table.insertRow(target_row_index);

  var td = document.createElement('td');
  row.appendChild(td);
  var label = document.createElement('label');
  label.setAttribute('for', 'settings_delivery_surname_'+next_row_id);
  label.appendChild(document.createTextNode('Příjmení*'));
  td.appendChild(label);

  var td = document.createElement('td');
  row.appendChild(td);
  var input = document.createElement('input');
  input.setAttribute('name', 'settings_delivery_surname_'+next_row_id);
  input.setAttribute('id', 'settings_delivery_surname_'+next_row_id);
  input.setAttribute('type', 'text');
  td.appendChild(input);

  // jmeno
  var row = target_table.insertRow(target_row_index);

  var td = document.createElement('td');
  row.appendChild(td);
  var label = document.createElement('label');
  label.setAttribute('for', 'settings_delivery_name_'+next_row_id);
  label.appendChild(document.createTextNode('Jméno*'));
  td.appendChild(label);

  var td = document.createElement('td');
  row.appendChild(td);
  var input = document.createElement('input');
  input.setAttribute('name', 'settings_delivery_name_'+next_row_id);
  input.setAttribute('id', 'settings_delivery_name_'+next_row_id);
  input.setAttribute('type', 'text');
  td.appendChild(input);

  // nadpis
  var row = target_table.insertRow(target_row_index);
  row.setAttribute('id', 'address_'+next_row_id);

  var th = document.createElement('th');
  row.appendChild(th);

  var th = document.createElement('th');
  var strong = document.createElement('strong');
  strong.appendChild(document.createTextNode('Adresa '+next_row_id+' '));
  th.appendChild(strong);
  var a = document.createElement('a');
  a.setAttribute('href', '#delivery_address_anchor');
  a.setAttribute('onclick', 'removeDeliveryAddress('+next_row_id+')');
  a.setAttribute('type', 'text');
  a.appendChild(document.createTextNode('[Odstranit]'));
  th.appendChild(a);
  row.appendChild(th);
}

  function checkSearchPhraseLength()
  {
    var phrase = document.getElementById('search-phrase');

    if (phrase.value.length < 3) {
      alert('Hledaná fráze musí být delší než 2 znaky!')
      return false;
    }
  }

  function checkDetailedSearchPhraseLength()
  {
    var phrase = document.getElementById('detailed_search_phrase');

    if (phrase.value.length < 3) {
      alert('Hledaná fráze musí být delší než 2 znaky!')
      return false;
    }
  }

  function stripAutoCompletedPhrase()
  {
    var phrase = document.getElementById('search-phrase');
    var index = phrase.value.indexOf('[');
    var result = phrase.value.substring(0, index);

    document.getElementById('search-phrase').value = result;
  }

  function hideNewAddressTable()
  {
    document.getElementById("new-address").style.display="none";
  }

  function showNewAddressTable()
  {
    document.getElementById("new-address").style.display="table";
  }

  String.prototype.trim = function() {
  	return this.replace(/^\s+|\s+$/g,"");
  }
  String.prototype.ltrim = function() {
  	return this.replace(/^\s+/,"");
  }
  String.prototype.rtrim = function() {
  	return this.replace(/\s+$/,"");
  }



  function validateWishForm()
  {
    var contact = document.getElementById('item_contact');
    var text = document.getElementById('item_text');

    if (contact.value.trim().length < 1) {
      alert('Vyplňte prosím e-mail!')
      return false;
    }

    if (text.value.trim().length < 1) {
      alert('Vyplňte prosím Váš dotaz!')
      return false;
    }

    return true;
  }

  function getRadiobuttonValue(buttons)
  {
    if(!buttons) { return false; }

    var length = buttons.length;
	if (length == undefined) {
		if(buttons.checked) { return buttons.value; }
		return false;
  	}

	for (var i = 0; i < length; i++) {
		if(buttons[i].checked) {
			return buttons[i].value;
		}
	}

	return false;
  }

  function getOrderCountryCode()
  {
	if ($('delivery').checked == true) {
    var deliveryAddressValue = getRadiobuttonValue(document.getElementsByName("delivery_address"))
    if (deliveryAddressValue == -1) {
	   return $('delivery_country_code').value;
    } else {
     return $('predefined_delivery_country_code').value;
    }
	}
	return $('customer_country_code').value;
  }

  function showBlockElement(element)
  {
    element.style.display = "block";
  }

  function hideBlockElement(element)
  {
    element.style.display = "none";
  }

  function handleAccountLogCheckbox()
  {
	var accountLog = $('account_log');
	if (accountLog.checked == true) {
	  showBlockElement($('order-form-login'));
	  showBlockElement($('order-form-login2'));
    } else {
	  hideBlockElement($('order-form-login'));
	  hideBlockElement($('order-form-login2'));
    }
  }

  function handleCompanyCheckbox()
  {
	var accountLog = $('company');
	if (accountLog.checked == true) {
	  showBlockElement($('order-form-company'));
    } else {
	  hideBlockElement($('order-form-company'));
    }
  }

  function handleDeliveryCheckbox()
  {
	var accountLog = $('delivery');
	if (accountLog.checked == true) {
	  showBlockElement($('order-form-delivery'));
    } else {
	  hideBlockElement($('order-form-delivery'));
    }
  }

  function handleDeliveryRadio()
  {
  	var accountLog = parseInt(getRadiobuttonValue(document.getElementsByName("delivery_address")));
    if (accountLog == -1) {
  	  showBlockElement($('new_delivery_address'));
    } else {
      hideBlockElement($('new_delivery_address'));
    }
  }


var W3CDOM = (document.createElement && document.getElementsByTagName);

// http://www.quirksmode.org/dom/inputfile.html
function initFileUploads() {
	if (!W3CDOM) return;
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefile';
	var new_input = document.createElement('input');
	new_input.value = document.getElementById('item_file').value;
	new_input.className = "fakefile-input";
  fakeFileUpload.appendChild(new_input);
	var button = document.createElement('input');
  button.type = 'button';
  button.value = 'Procházet';
  button.className = "fakefile-button";
	fakeFileUpload.appendChild(button);
	var x = document.getElementById('item_file');
	x.className = 'file hidden';
	var clone = fakeFileUpload.cloneNode(true);
	x.parentNode.appendChild(clone);
	x.relatedElement = clone.getElementsByTagName('input')[0];
	x.onchange = x.onmouseout = function () {
    this.relatedElement.value = this.value;
  }
}


