function selectRegion(countryId) {
	customParams = new Hash( {
		"countryId" : countryId
	});

	doAjaxActionUpdater("AmvcUser", "selectRegion", customParams,
			"selectRegion", 0);
}

function selectCity(regionId, countryId) {
	customParams = new Hash( {
		"regionId" : regionId,
		"countryId" : countryId
	});

	doAjaxActionUpdater("AmvcUser", "selectCity", customParams, "selectCity", 0);
}

function selectTypeUser(typeUser, oficial_name, client_pf_cnp, client_pj_cui,
		client_pj_regcom, client_pj_bankname, client_pj_bankaccount) {
	customParams = new Hash( {
		"typeUser" : typeUser,
		"oficial_name" : oficial_name,
		"client_pf_cnp" : client_pf_cnp,
		"client_pj_cui" : client_pj_cui,
		"client_pj_regcom" : client_pj_regcom,
		"client_pj_bankname" : client_pj_bankname,
		"client_pj_bankaccount" : client_pj_bankaccount
	});

	doAjaxActionUpdater("AmvcUser", "selectTypeUser", customParams,
			"selectTypeUser", 0);
}

function raportReview(reviewId, show) {
	if (show == 1) {
		document.getElementById("spanraportreview").innerHTML = '<a href="javascript:void(0);" onClick="raportReview(' + reviewId + ',0)">Raporteaza ca inadecvat</a>';
	}
	if (show == 0) {
		document.getElementById("spanraportreview").innerHTML = '<a href="javascript:void(0);" onClick="raportReview(' + reviewId + ',1)">Raporteaza ca inadecvat</a>';
	}
	customParams = new Hash( {
		reviewId : reviewId,
		show : show

	});
	doAjaxActionUpdater("main", "raportReview", customParams, "raportReview", 0);
}

function raportReviewAdd() {
	reviewId = document.getElementById("reviewId").value;
	adauga = document.getElementById("adauga").value;
	show = document.getElementById("show").value;
	message = document.getElementById("message").value;

	// if(show==1){document.getElementById("spanraportreview").innerHTML = '<a
	// href="javascript:void(0);"
	// onClick="raportReview('+reviewId+',0)">Raporteaza ca inadecvat</a>';}
	// if(show==0){document.getElementById("spanraportreview").innerHTML = '<a
	// href="javascript:void(0);"
	// onClick="raportReview('+reviewId+',1)">Raporteaza ca inadecvat</a>';}
	customParams = new Hash( {
		reviewId : reviewId,
		show : show,
		adauga : adauga,
		message : message

	});
	doAjaxActionUpdater("main", "raportReview", customParams, "raportReview", 0);
	setTimeout("raportReview(" + reviewId + ",0)", 3000);
}

function confirmAndGo(url) {
	if (confirm('Sunteti sigur?')) {
		document.location.href = url;
	}
	return false;
}

function newsletterAdd() {
	customParams = new Hash( {
		"emailNewsletter" : document.getElementById("emailNewsletter").value
	});

	doAjaxActionUpdater("main", "newsletterAdd", customParams, "newsletteradd",
			0);
}

function addUserAddress(type) {
	prefix = type;
	customParams = new Hash( {
		"id" : $('address-form').addr_id.value,
		"type" : type,
		"country_id" : $('address-form').country_id.value,
		"region_id" : $('address-form').region_id.value,
		"city_id" : $('address-form').city_id.value,
		"city_name" : $('city_name').value,
		"adr_name" : $('adr_name').value,
		'adr_street' : $('adr_street').value,
		'adr_no' : $('adr_no').value,
		'adr_zip' : $('adr_zip').value,
		'adr_details' : $('adr_details').value,
		'main' : $('main').checked ? '1' : '0',
		'ajax' : 1
	});

	module = "cart";
	action = "add_address";
	paramsS = customParams.toQueryString();

	new Ajax.Request(
			baseURL + 'index.php?module=' + module + '&action=' + action,
			{
				method : 'post',
				parameters : paramsS,
				onSuccess : function(transport) {
					if ( transport.responseText.isJSON() ) {
						obiectu = transport.responseText.evalJSON();
						if(!obiectu.error) {
							// success
							//$(prefix + 'address-form').addr_id.value = obiectu.id;
							if(prefix == 2)
								elname = 'billing-addr';
							else
								elname = 'delivery-addr';
							
							while($(elname).length > 0) {
								$(elname).remove(0);
							}
							
							for(i=0; i<obiectu.newAddresses.length; i++) {
								opt = document.createElement('option');
								opt.value = obiectu.newAddresses[i].id;
								opt.text = obiectu.newAddresses[i].city_name + ', ' + obiectu.newAddresses[i].adr_name + ', ' + obiectu.newAddresses[i].adr_street + ' ...';
								if(obiectu.newAddresses[i].main > 0) {
									opt.selected = true;
									if(prefix == 2)
										$('billing_addr_id').value=obiectu.newAddresses[i].id;
									else
										$('delivery_addr_id').value=obiectu.newAddresses[i].id;
								}
								
								if(obiectu.newAddresses.length == 1) {
									if(type == 2)
										$('billing_addr_id').value=obiectu.newAddresses[i].id;
									else
										$('delivery_addr_id').value=obiectu.newAddresses[i].id;
								}
								
								try {
									$(elname).add(opt, null); // standards compliant; doesn't work in IE
								} catch(ex) {
									$(elname).add(opt); // IE only
								}
							}
							$('address-form').country_id.value = '';
							$('address-form').region_id.value = '';
							$('address-form').city_id.value = '';
							$('city_name').value = '';
							$('adr_name').value = ''
							$('adr_street').value = '';
							$('adr_no').value = '';
							$('adr_zip').value = '';
							$('adr_details').value = '';
							$('main').checked = false;
							Effect.BlindUp('add_invoice_content');
						} else {
							//failure
							
						}
					} else {
						// failure
						
					}
				}
			});
	return false;
}

function showInputError(element) {
	element.className = "border_alert";
	element.select();
	element.focus();
	id = element.id;
	if($(id + '_img')) {
		$(id + '_img').show();
	}
}

function hideInputError(element) {
	element.className = '';
	id = element.id;
	if($(id + '_img')) {
		$(id + '_img').hide();
	}
}

function checkCNP(cnp, element) {
	try {
		if (cnp.length != 13) {
			//altert('Numar de caractere CNP invalid');
			showInputError(element);
			CNPok = false;
			disableDetailsButton();
			return false;
		}
		if (eval(cnp[0]) > 0 || eval(cnp[7] + cnp[8]) > 0
				&& eval(cnp[7] + cnp[8]) < 53) {
			chksum = 0;
			multipliers = new Array(2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9);
			for (i = 0; i < (cnp.length - 1); i++) {
				chksum = chksum + eval(cnp[i]) * multipliers[i];
			}
			rest = chksum % 11;
			if ((rest < 10 && rest == eval(cnp[12]))
					|| (rest == 10 && eval(cnp[12]) == 1)) {
				CNPok = true;
				enableDetailsButton();
				hideInputError(element);
				return true;
			}
		} else {
			CNPok = false;
			showInputError(element);
			disableDetailsButton();
			return false;
		}
	} catch (err) {
		return false;
	}

	return false;
}

function checkIBAN(iban, element) {
	var ibanele = element;
	if (ibanele) {
		hash = new Hash( {
			'iban' : iban
		});
		params = hash.toQueryString();
		new Ajax.Request(baseURL + 'index.php?module=cart&action=checkIBAN', {
			method : 'post',
			parameters : params,
			onSuccess : function(transport) {
				if (transport.responseText.isJSON()) {
					// success
					response = transport.responseText.evalJSON();
					if (response.status) {
						// e ok
						IBANok = true;
						hideInputError(ibanele);
						enableDetailsButton();
					} else {
						// iban incorect
						IBANok = false;
						showInputError(ibanele);
						disableDetailsButton();
					}
				} else {
					// failure
					IBANok = false;
					showInputError(ibanele);
					disableDetailsButton();
				}
			}
		});
	}
	return false;
}

function disableDetailsButton() {
	if($('date-submit-button')) {
		$('date-submit-button').disabled = true;
	}
}

function enableDetailsButton() {
	if($('date-submit-button') && IBANok && CNPok) {
		$('date-submit-button').disabled = false;
	}
}

function togglePFPJ() {
	if($('client_type')) {
		if($('client_type').value == '1') {
			//a fost pf
			$('client_type').value = '2';
			checkIBAN($('account_no').value, $('account_no'));
		} else {
			$('client_type').value = '1';
			IBANok = true;
			enableDetailsButton();
		}
	}
	return false;
}

var CNPok = false;
var IBANok = false;

function tryActualizareClient() {
	//diverse checkin-uri pt. forma de actualizare
	if($('delivery_addr_id') && $('billing_addr_id')) {
		//daca e totul ok ...
		checke = true;
		if(!eval($('billing_addr_id').value) > 0) {
			checke = false;
			alert('Adresa de facturare nu este completata!');
			showInputError($('billing-addr'));
		}
		
		if(!eval($('delivery_addr_id').value) > 0 && (!$('same_with_billing').checked) ) {
			checke = false;
			alert('Adresa de livrare nu este completata!');
			showInputError($('delivery-addr'));
		}
		
		if(checke)
			$('form-actualizare-date').submit();	
	}
	return false;
}

function addAddr(type) {
	$('adr_type').value = type;
	$('tip-adresa').value = type == 1 ? 'Adresa livrare' : 'Adresa facturare';
	Effect.BlindDown('add_invoice_content');
	return false;
}

function transportChange(element, targetEl) {
	if(TransportData) {
		for(i=0; i<TransportData.length; i++) {
			if(TransportData.data[i].id == eval(element.value)) {
				targetEl.value = TransportData.data[i].price;
				return;
			}
		}
		targetEl.value=0;
	}
	
}

function paymentOperator(methodId,operatorId) {
	//alert( methodId);
	customParams = new Hash( {
		"methodId" : methodId,
		"ajx" : 1,
		"operatorId" : operatorId
	});

	doAjaxActionUpdater("download", "paymentOperator", customParams, "paymentOperator", 0);
}

function setDescription(id)
{
	var descriptions = $('op_description').childNodes;
	for (i in descriptions)
	{
		if(descriptions[i].style){
			descriptions[i].style.display = 'none';
		}
	}
	$('op_descr_' + id).style.display = 'block';
}

function is_email( email )
{
	var regExp = /[a-zA-Z]([a-zA-Z0-9_\.-]*[a-zA-Z-0-9])?\@[a-zA-Z]([a-zA-Z0-9_\.-]*[a-zA-Z-0-9])?.[a-zA-Z0-9]{2,3}/i;
	return email.match(regExp);
}
