function kasaAdresyWysylki(box) {
	var adresy = document.getElementById('adresyWysylki');
	if(box.checked)
		adresy.style.display = 'block';
	else
		adresy.style.display = 'none';
}
function kasaAdresGlowny() {
	document.getElementById('primaryAddress').style.display = 'none';
	document.getElementById('primaryAddressForm').style.display = 'block';
}
function kasaAdres() {
	document.getElementById('nowyAdres').style.display = 'block';
	var link = document.location.href;
	link = link.replace(/#.+$/, '');
	document.location.href = link + '#nowyAdres';
}
function kasaAdresUsun(id) {
	if(!confirm(Language.CzyUsunacAdres))
		return;
	
	var addr = document.getElementById('dispatchAddressId_' + id);
	addr.parentNode.removeChild(addr);
	
	Ajax.SendRequest('/ajax/adres/usun', 'id=' + id, null);
}
function kasaAdresUkryj() {
	addressForm = document.getElementById('nowyAdres');
	addressForm.style.display = 'none';
	addressForm.Name.value = '';
	addressForm.Street.value = '';
	addressForm.Building.value = '';
	addressForm.Appartement.value = '';
	addressForm.PostCode.value = '';
	addressForm.City.value = '';
	addressForm.Country.value = '';
}
function kasaAdresZapiszGlowny(form) {
	var name = form.Name.value;
	var street = form.Street.value;
	var building = form.Building.value;
	var appartement = form.Appartement.value;
	var postCode = form.PostCode.value;
	var city = form.City.value;
	var country = form.Country.value;
	
	Ajax.SendRequest('/ajax/adres', 'name=' + name + '&street=' + street + '&building=' + building + '&appartement=' + appartement + '&postCode=' + postCode + '&city=' + city + '&country=' + country + '&isMain=1', kasaAdresZapiszGlownyCallback);
	
	return false;
}
function kasaAdresZapiszGlownyCallback(xmldoc) {
	var spans = document.getElementById('primaryAddressForm').getElementsByTagName('span');
	while(spans.length)
		spans[0].parentNode.removeChild(spans[0]);
		
	if((errors = xmldoc.getElementsByTagName('errors')) && errors.length) {
		if(errors[0].getElementsByTagName('name').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('primaryAddressName').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('street').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('primaryAddressStreet').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('building').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('primaryAddressBuilding').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('appartement').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('primaryAddressAppartement').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('postCode').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('primaryAddressPostCode').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('city').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('primaryAddressCity').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('country').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('primaryAddressCountry').parentNode.appendChild(span);
		}
	}
	else {
		var values = xmldoc.getElementsByTagName('values')[0];
		var id = values.getElementsByTagName('id')[0].firstChild.nodeValue;
		var name = values.getElementsByTagName('name')[0].firstChild.nodeValue;
		var street = values.getElementsByTagName('street')[0].firstChild.nodeValue;
		var building = values.getElementsByTagName('building')[0].firstChild.nodeValue;
		var appartement = '';
		if(appartementNode = values.getElementsByTagName('appartement')[0])
			appartement = '/' + appartementNode.firstChild.nodeValue;
		var postCode = values.getElementsByTagName('postCode')[0].firstChild.nodeValue;
		var city = values.getElementsByTagName('city')[0].firstChild.nodeValue;
		var country = values.getElementsByTagName('country')[0].firstChild.nodeValue;
		var countryId = values.getElementsByTagName('countryId')[0].firstChild.nodeValue;
		var countryDispatch = values.getElementsByTagName('countryDispatch')[0].firstChild.nodeValue;
		
		var ind = document.getElementById('adresyWysylka').childNodes.length;

		var li;
		if(li = document.getElementById('dispatchAddressId_primary'))
			li.parentNode.removeChild(li);

		if(countryDispatch != '0') {
			li = document.createElement('li');
			li.id = 'dispatchAddressId_primary';
			li.innerHTML = '<label for="dispatchAddress_' + ind + '">' + name + '<br />' + street + ' ' + building + appartement + '<br />' + postCode + ' ' + city + '<br />' + country + '</label>' +
							'<input type="radio" id="dispatchAddress_' + ind + '" name="data[DispatchAddress]" value="' + id + '" onclick="kasaSposobyWysylki(' + countryId + ')" />';
			document.getElementById('adresyWysylka').appendChild(li);
			
			if(!document.getElementById('showDispatchAddress').checked)
				kasaSposobyWysylki(countryId);
		}
		
		document.getElementById('primaryAddressText').innerHTML = name + '<br />' + street + ' ' + building + appartement + '<br />' + postCode + ' ' + city + '<br />' + country;
		document.getElementById('primaryAddressForm').style.display = 'none';
		document.getElementById('primaryAddress').style.display = 'block';
		document.getElementById('clientAddress').value = id;
	}
}
function kasaAdresZapisz(form) {
	var name = form.Name.value;
	var street = form.Street.value;
	var building = form.Building.value;
	var appartement = form.Appartement.value;
	var postCode = form.PostCode.value;
	var city = form.City.value;
	var country = form.Country.value;
	
	Ajax.SendRequest('/ajax/adres', 'name=' + name + '&street=' + street + '&building=' + building + '&appartement=' + appartement + '&postCode=' + postCode + '&city=' + city + '&country=' + country + '&isMain=0', kasaAdresZapiszCallback);
	
	return false;
}
function kasaAdresZapiszCallback(xmldoc) {
	var spans = document.getElementById('nowyAdres').getElementsByTagName('span');
	while(spans.length)
		spans[0].parentNode.removeChild(spans[0]);
		
	if((errors = xmldoc.getElementsByTagName('errors')) && errors.length) {
		if(errors[0].getElementsByTagName('name').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('addressName').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('street').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('addressStreet').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('building').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('addressBuilding').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('appartement').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('addressAppartement').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('postCode').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('addressPostCode').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('city').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('addressCity').parentNode.appendChild(span);
		}
		if(errors[0].getElementsByTagName('country').length) {
			var span = document.createElement('span');
			span.innerHTML = Language.MusiszWypelnic;
			document.getElementById('addressCountry').parentNode.appendChild(span);
		}
	}
	else {
		var values = xmldoc.getElementsByTagName('values')[0];
		var id = values.getElementsByTagName('id')[0].firstChild.nodeValue;
		var name = values.getElementsByTagName('name')[0].firstChild.nodeValue;
		var street = values.getElementsByTagName('street')[0].firstChild.nodeValue;
		var building = values.getElementsByTagName('building')[0].firstChild.nodeValue;
		var appartement = '';
		if(appartementNode = values.getElementsByTagName('appartement')[0])
			appartement = '/' + appartementNode.firstChild.nodeValue;
		var postCode = values.getElementsByTagName('postCode')[0].firstChild.nodeValue;
		var city = values.getElementsByTagName('city')[0].firstChild.nodeValue;
		var country = values.getElementsByTagName('country')[0].firstChild.nodeValue;
		var countryId = values.getElementsByTagName('countryId')[0].firstChild.nodeValue;
		
		var ind = document.getElementById('adresyWysylka').childNodes.length;
		var li = document.createElement('li');
		li.id = 'dispatchAddressId_' + id;
		li.innerHTML = '<label for="dispatchAddress_' + ind + '">' + name + '<br />' + street + ' ' + building + appartement + '<br />' + postCode + ' ' + city + '<br />' + country + '</label>' +
						'<input type="radio" id="dispatchAddress_' + ind + '" name="data[DispatchAddress]" value="' + id + '" onclick="kasaSposobyWysylki(' + countryId + ')" /><br /><a href="javascript:kasaAdresUsun(' + id + ')">' + Language.Usun + '</a>';
		document.getElementById('adresyWysylka').appendChild(li);
		
		kasaAdresUkryj();
	}
}
function submitForm(form, address) {
	form.action = address;
	form.submit();
}

function kasaSposobyWysylki(countryId) {
	Ajax.SendRequest(Language.Lang + '/ajax/wysylki', 'countryId=' + countryId, kasaSposobyWysylkiCallback);
}
function kasaSposobyWysylkiCallback(xmldoc) {
	var dispatch = document.getElementById('dispatch');
	
	while(dispatch.firstChild)
		dispatch.removeChild(dispatch.firstChild);
		
	var option = document.createElement('option');
	option.value = 0;
	option.innerHTML = '--';
	dispatch.appendChild(option);
	var dispatches = xmldoc.getElementsByTagName('dispatch');
	for(i = 0; i < dispatches.length; i++) {
		option = document.createElement('option');
		option.value = dispatches[i].getAttribute('id');
		option.innerHTML = dispatches[i].firstChild.nodeValue;
		dispatch.appendChild(option);
	}
}