function capLock(e) {
	kc = e.keyCode ? e.keyCode : e.which;
	sk = e.shiftKey ? e.shiftKey : ((kc == 16));
	if (((kc >= 65 && kc <= 90) && !sk) || ((kc >= 97 && kc <= 122) && sk)) {
		document.getElementById('caplock').style.visibility = 'visible';
	} else {
		document.getElementById('caplock').style.visibility = 'hidden';
	}
}

function validarRadioButton(radioButton) {

	for (i = radioButton.length - 1; i > -1; i--) {
		if (radioButton[i].checked) {
			return true;
		}
	}
	return false;
}

function roundNumber(numero, decimales) { // Arguments: number to round, number of decimal places
	return Math.round(numero * Math.pow(10, decimales)) / Math.pow(10, decimales);

}

function activarRadioButton(idRadioButton) {

	document.getElementById(idRadioButton).checked = true;
	return true;
}

function disableGroup(formulario, groupName, booleanDisabled) {
	for (var i = 0; i < formulario.elements.length; i++) {
		if (formulario.elements[i].name == groupName) {
			formulario.elements[i].disabled = booleanDisabled;
		}
	}
}

function validarBusqueda() {
	if (EliminaBlancos(document.inicio.queryString.value) == "") {
		alert("Por favor, introduzca el término a buscar.");
		document.inicio.queryString.value = "";
		document.inicio.queryString.focus();
		return false;
	}

	if (EliminaBlancos(document.inicio.queryString.value) == "su b&uacute;squeda aqu&iacute;..." ||
			EliminaBlancos(document.inicio.queryString.value) == "su búsqueda aquí...")  {
		alert("Por favor, introduzca su búsqueda.");
		document.inicio.queryString.value = "";
		document.inicio.queryString.focus();
		return false;
	}
	

	return true;
}

function addToCart(tapizadosTree, acabados, accesoriosTree, promocionesTree, target_link) {

	valor = target_link;

	if (tapizadosTree != null && tapizadosTree.getAllChecked() != '') {
		valor = valor + '&tapizado=' + tapizadosTree.getAllChecked();
	}
	if (acabados != null) {
		valor = valor + '&acabado=' + acabados.options[acabados.selectedIndex].value;
	}
	if (accesoriosTree != null && accesoriosTree.getAllChecked() != '') {
		valor = valor + '&accesorios=' + accesoriosTree.getAllChecked();
	}
	if (promocionesTree != null && promocionesTree.getAllChecked() != '') {
		valor = valor + '&promociones=' + promocionesTree.getAllChecked();
	}
	location.href = valor;
}

function setTapizadosImage(tapizados) {
	if (document.images) {
		document.images['tapizado'].src = '/imagenes/tapizados/' + tapizados.options[tapizados.selectedIndex].value + '.jpg';
	}
}

function setAcabadosImage(acabados) {
	if (document.images) {
		document.images['acabado'].src = '/imagenes/acabados/' + acabados.options[acabados.selectedIndex].value + '.jpg';
	}
}

function validarSugerencia() {
	if (EliminaBlancos(document.sugerencia.cajaSuggest.value) == "") {
		alert("Por favor, introduzca texto y pulse sobre el botón 'Enviar sugerencia (anónimo)'.");
		document.sugerencia.cajaSuggest.value = "";
		document.sugerencia.cajaSuggest.focus();
		return false;
	}
	alert('Muchas gracias.\n\nSu comentario a sido registrado correctamente.');

	return true;
}

function tieneTildes(valor) {


	if (valor.toLowerCase().indexOf('á') != -1)  return true;
	if (valor.toLowerCase().indexOf('é') != -1)  return true;
	if (valor.toLowerCase().indexOf('í') != -1)  return true;
	if (valor.toLowerCase().indexOf('ó') != -1)  return true;
	if (valor.toLowerCase().indexOf('ú') != -1)  return true;

	return false;
}

function tieneEspaciosEnBlanco(valor) {

	if (trim(valor).indexOf(' ') != -1) {
		return true;
	}
	return false;
}

function validarDocumentoFactura(valor) {

	if (tieneEspaciosEnBlanco(valor)) {
		return false;
	}

	if (valor.indexOf('-') != -1) {
		return false;
	}
	if (valor.indexOf('_') != -1) {
		return false;
	}
	if (valor.indexOf('.') != -1) {
		return false;
	}

	return true;
}

function trim(STRING) {
	STRING = ltrim(STRING);
	return rtrim(STRING);
}

function rtrim(STRING) {
	while (STRING.charAt((STRING.length - 1)) == " ") {
		STRING = STRING.substring(0, STRING.length - 1);
	}
	return STRING;
}


function ltrim(STRING) {
	while (STRING.charAt(0) == " ") {
		STRING = STRING.replace(STRING.charAt(0), "");
	}
	return STRING;
}


function validarBoletin() {
	/*
	 if (EliminaBlancos(document.formulario.cajaNombre.value) == "") {
	 alert("Por favor, introduzca un Nombre.");
	 document.formulario.cajaNombre.value = "";
	 document.formulario.cajaNombre.focus();
	 return false;
	 }
	 */
	if (EliminaBlancos(document.formulario.cajaEmail.value) == "") {
		alert("Por favor, introduzca un E-mail.");
		document.formulario.cajaEmail.value = "";
		document.formulario.cajaEmail.focus();
		return false;
	}

	if (!validarEmail(document.formulario.cajaEmail.value)) {
		alert("El contenido del campo E-mail parece incorrecto");
		document.formulario.cajaEmail.focus();
		return false;
	}

	if (!validarEmailExt(document.formulario.cajaEmail.value)) {
		alert("El contenido del campo E-mail parece incorrecto, los email no pueden empezar por 'www.'");
		document.formulario.cajaEmail.focus();
		return false;
	}

	return true;
}


function validarMasbarato() {
	if (EliminaBlancos(document.masbarato.cajaDonde.value) == "") {
		alert("Por favor, introduzca Web donde lo encontró más barato.");
		document.masbarato.cajaDonde.value = "http://";
		document.masbarato.cajaDonde.focus();
		return false;
	}

	if (EliminaBlancos(document.masbarato.cajaDonde.value) == "http://") {
		alert("Por favor, introduzca Web donde lo encontró más barato.");
		document.masbarato.cajaDonde.value = "http://";
		document.masbarato.cajaDonde.focus();
		return false;
	}


	alert('Muchas gracias.\n\nSu aviso a sido registrado correctamente.');

	return true;
}


function validarRecomendar() {

	if (EliminaBlancos(document.recomendar.cajaNombre.value) == "") {
		alert("Por favor, introduzca un Nombre.");
		document.recomendar.cajaNombre.value = "";
		document.recomendar.cajaNombre.focus();
		return false;
	}

	if (EliminaBlancos(document.recomendar.cajaEmail.value) == "") {
		alert("Por favor, introduzca un E-mail.");
		document.recomendar.cajaEmail.value = "";
		document.recomendar.cajaEmail.focus();
		return false;
	}

	if (!validarEmail(document.recomendar.cajaEmail.value)) {
		alert("El contenido del campo E-mail parece incorrecto");
		document.recomendar.cajaEmail.focus();
		return false;
	}


	if (!validarEmailExt(document.recomendar.cajaEmail.value)) {
		alert("El contenido del campo E-mail parece incorrecto, los email no pueden empezar por 'www.'");
		document.recomendar.cajaEmail.focus();
		return false;
	}

	return true;
}


function validarRecomendarProducto() {

	if (EliminaBlancos(document.recomendar.cajaNombre.value) == "") {
		alert("Por favor, introduzca un Nombre.");
		document.recomendar.cajaNombre.value = "";
		document.recomendar.cajaNombre.focus();
		return false;
	}

	if (EliminaBlancos(document.recomendar.cajaEmail.value) == "") {
		alert("Por favor, introduzca un E-mail.");
		document.recomendar.cajaEmail.value = "";
		document.recomendar.cajaEmail.focus();
		return false;
	}

	if (!validarEmail(document.recomendar.cajaEmail.value)) {
		alert("El contenido del campo E-mail parece incorrecto");
		document.recomendar.cajaEmail.focus();
		return false;
	}


	if (!validarEmailExt(document.recomendar.cajaEmail.value)) {
		alert("El contenido del campo E-mail parece incorrecto, los email no pueden empezar por 'www.'");
		document.recomendar.cajaEmail.focus();
		return false;
	}

	return true;
}


function EliminaBlancos(campo) {
	valor = campo;
	if (valor.length == 0) {
		return valor;
	}
	primero = 0;

	while ((valor.charAt(primero) == ' ') && (primero < valor.length - 1)) {
		primero = primero + 1;
	}
	valor = valor.substring(primero, valor.length);

	if ((valor.length == 1) && (valor.charAt(0) == " ")) {
		valor = "";
	}
	ultimo = valor.length - 1;
	while ((valor.charAt(ultimo) == " ") && (ultimo > 0 )) {
		ultimo = ultimo - 1;
	}

	valor = valor.substring(0, ultimo + 1);

	return valor;
}

function validarEmail(valor) {

	valor=trim(valor);
	
	if (/^\w+([\.-]?\w+)*(-?)@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)) {
		return true;
	} else {
		return false;
	}
}

function validarEmailExt(valor) {

	if (valor.indexOf("www.") != -1) {
		return false;
	}

	return (true)
}


function esNumerico(valor) {

	if (EliminaBlancos(valor) == "") {
		return false;
	}

	for (i = 0; i < valor.length; i++) {
		if (!(valor.charAt(i) >= "0" && valor.charAt(i) <= "9")) {
			return false;
		}

	}
	return true;
}


function cloneDireccion() {
	document.registro.cajaNombreEntrega.value = document.registro.cajaNombreFactura.value;
	document.registro.cajaApellidosEntrega.value = document.registro.cajaApellidosFactura.value;
	document.registro.cajaDireccionEntrega.value = document.registro.cajaDireccionFactura.value;
	document.registro.cajaPoblacionEntrega.value = document.registro.cajaPoblacionFactura.value;
	document.registro.cajaCodigoPostalEntrega.value = document.registro.cajaCodigoPostalFactura.value;
	document.registro.cajaProvinciaEntrega.value = document.registro.cajaProvinciaFactura.value;

}

var maxIncSteps = 5;
var minDecSteps = -2;
var actualStep = 0;

function incCharSize(id) {

	if (actualStep < maxIncSteps) {
		//primero el propio contenido del elemento
		changeCharSize(document.getElementById(id), 2);
		//segundo el contenido de sus hijos de tipo b
		var elements = document.getElementById(id).getElementsByTagName("b");
		for (var i = 0; i < elements.length; i++) {
			changeCharSize(elements[i], 2);
		}

		actualStep++;
	}
}

function decCharSize(id) {
	if (actualStep > minDecSteps) {
		//primero el propio contenido del elemento
		changeCharSize(document.getElementById(id), -2);
		//segundo el contenido de sus hijos de tipo b
		var elements = document.getElementById(id).getElementsByTagName("b");
		for (var i = 0; i < elements.length; i++) {
			changeCharSize(elements[i], -2);
		}
		actualStep--;
	}
}

function changeCharSize(elemento, value) {
	var actualCharSize = elemento.style.fontSize;
	actualCharSize = actualCharSize.substring(0, actualCharSize.indexOf("px"));
	elemento.style.fontSize = (parseInt(actualCharSize) + value) + 'px';
}


var oldTextareaValue = "";
function checkTextareaLength(textarea, maxLength) {
	if (textarea.value.length > maxLength) {
		textarea.value = oldTextareaValue;
	} else {
		oldTextareaValue = textarea.value;
	}
}

function makevisible(cur, which) {
	strength = (which == 0) ? 1 : 0.5

	if (cur.style.MozOpacity)
		cur.style.MozOpacity = strength
	else if (cur.filters)
		cur.filters.alpha.opacity = strength * 100
}

function preloadImages(nombreImagenes) {
	var imagenes = new Array();
	for (var i = 0; i < nombreImagenes.length; i++) {
		imagenes[i] = new Image();
		imagenes[i].src = nombreImagenes[i];
	}
}
