/** functions which the shopiing cart interface uses	*/

function validateEmail(email)
{
	email = email.toLowerCase();

	re = new RegExp('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' +
					'@' +
					'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'+
					'[-!#$%&\'*+\\./0-9=?AZ^_`a-z{|}~]+$');
	return re.test(email);
}

//shopping cart view

function selectAllCheckBox(formName)
{
	var form = document[formName];
	for (var i in form.elements)
	{
		if (form.elements[i].type == 'checkbox' && form.elements[i].name.indexOf('delete[')>=0)
			form.elements[i].checked = true;
	}
}

//delivery info

function isRadioDeliveryTypeChecked(formName)
{
	for (i = 0; i < formName.deliveryTypeRadio.length; i++)
	{
		if (formName.deliveryTypeRadio[i].checked)
			return i+1;
	}				
	return 0;
}

function checkFormAction()
{
	formName = document.deliveryInfoForm;
	shouldContinue=1;
	shouldContinue &= (formName.receiverName.value.length>0);
	shouldContinue &= (formName.receiverTown.value.length>0);
	shouldContinue &= (formName.receiverPostCode.value.length>0);
	shouldContinue &= (formName.receiverAddress.value.length>0);
	shouldContinue &= (formName.receiverPhone.value.length>0);

	deliveryCheck = isRadioDeliveryTypeChecked(formName);
	shouldContinue &= ((deliveryCheck==0)?0:1);
	
	selIndex=formName.SelectedCountry.selectedIndex;
	countryValue=formName.SelectedCountry.options[selIndex].value;
	countryValue = countryValue.toLowerCase();
	shouldContinue &= ((countryValue=='bg' && deliveryCheck<=2) || (countryValue!='bg' && deliveryCheck>=3));
	
	 if (shouldContinue)
	 	formName.action="?action=payment";
	formName.submit();
}

function loadAddressInfo(formName,loadFromAddress)
{
	var form = document[formName];
	if (form.elements['orderHistory[invoiceType]'].selectedIndex == 0)
	{
		form.elements['invoice[town]'].value = '';
		form.elements['invoice[address]'].value = '';
		form.elements['invoice[companyName]'].value = '';
		form.elements['invoice[vatNumber]'].value = '';
		form.elements['invoice[bulstat]'].value = '';

	}
	else {
		if (loadFromAddress)
		{
			if (form.elements['invoice[town]'].value == '')
				form.elements['invoice[town]'].value = form.elements['fullAddress[town]'].value;
			if (form.elements['invoice[address]'].value == '')
				form.elements['invoice[address]'].value = form.elements['fullAddress[fullAddress]'].value;
			
			form.elements['invoice[country]'].selectedIndex = form.elements['fullAddress[country]'].selectedIndex;
		}
		else
		{
			form.elements['invoice[companyName]'].value = 	form.elements['invoiceHidden[companyName]'].value;
			form.elements['invoice[town]'].value = 			form.elements['invoiceHidden[town]'].value;
			form.elements['invoice[address]'].value = 		form.elements['invoiceHidden[address]'].value;
			form.elements['invoice[country]'].selectedIndex = form.elements['invoiceHidden[country]'].value;
			form.elements['invoice[vatNumber]'].value = 	form.elements['invoiceHidden[vatNumber]'].value;
			form.elements['invoice[bulstat]'].value = 		form.elements['invoiceHidden[bulstat]'].value;
		}
	}
}

//paiment info view

function isRadioPaymentTypeChecked()
{
	for (i = 0; i < document.paymentInfoForm.paymentTypeRadio.length; i++)
	{
		if (document.paymentInfoForm.paymentTypeRadio[i].checked)
			return 1;
	}				
	return 0;
}

function seeAllShippingPrices()
{	
	var op = document.getElementById("seeAllPricesTable");
	op.style.display = "block";
	var opButton = document.getElementById('seeAllPricesButton');
	var hideButton = document.getElementById('hideAllPricesButton');
	var fakeText = document.getElementById('fakeText');
	opButton.focus();
	fakeText.focus();
	opButton.style.display='none';
	hideButton.style.display='block';
}

function hideAllShippingPrices()
{	
	var op = document.getElementById("seeAllPricesTable");
	op.style.display = "none";
	var opButton = document.getElementById('seeAllPricesButton');
	var hideButton = document.getElementById('hideAllPricesButton');
	opButton.style.display='block';
	hideButton.style.display='none';
	opButton.focus();	
}

function showPaymentDiv(divID)
{
	divIDs = new Array('addressPIdiv','paymentPIdiv','invoicePIdiv');
	
	for (var i=0; i<divIDs.length; i++)
	{
		nextEl = document.getElementById(divIDs[i]);
		if (!nextEl)
			continue;
			
		if (divIDs[i] == divID)
			nextEl.style.display = '';
		else 
			nextEl.style.display = 'none';
	}
}

function tabOver(obj){
	if (obj.className == 'tab')
		obj.className='tab_over';
}

function tabOut(obj){
	if (obj.className == 'tab_over')
		obj.className='tab';
}

function tabClick(divID)
{
	obj = document.getElementById(divID);
	var arr = new Array('addressButtonDivOn','paymentButtonDivOn','invoiceButtonDivOn');
	for (var i=0; i<arr.length; i++)
	{
		var elem = document.getElementById(arr[i]);
		if (!elem)
			continue;
			
		if (elem != obj)
			elem.className = 'tab';
	}
	obj.className = 'tab_selected';
}