var siteRoot = "http://www.albertlanchas.com/";

jQuery.noConflict();

function trabajos() {
	jQuery("ul.trabajos a span.layer").each(
		function() {
			jQuery(this).css("top", "-"+jQuery(this).height()+"px");
		}
	);

	jQuery("ul.trabajos a").hover(
		function() {
			var $layer = jQuery("span.layer", this);
			$layer.stop().animate({top:0},{queue:false,duration:'normal'});
		},
		function() {
			var $layer = jQuery("span.layer", this);
			$layer.stop().animate({top:"-"+$layer.height()+"px"},{queue:false,duration:'normal'});
		}
	);
}

function comentario() {
	jQuery("form[@name=comentario]").bind("submit", function() {
		if (!jQuery("input[@name=nombre]").mandatory('Nombre')) return false;
		if (!jQuery("input[@name=email]").mandatory("E-mail")) return false;
		if (!jQuery("input[@name=email]").validateEmail(true)) return false;
		if (!jQuery("textarea[@name=comentario]").mandatory('Comentario')) return false;
		if (!jQuery("input[@name=captcha]").mandatory('Código anti-spam')) return false;
	});
}

jQuery(document).ready(function() {
	var bodyId = jQuery("body").attr("id");
	if (bodyId != '') {
		var page = bodyId.substr(5);
		// dispatch init event
		switch (page) {
			case "home":
			case "portfolio":
				trabajos();
				break;
			case "contacto":
				contacto();
				break;
			case "accesibilidad":
				accesibilidad();
				break;
			case "bubble":
				pr_comentario();
				break;
			case "articulo":
				comentario();
				break;
		}
	}
});

function contacto() {
	jQuery("form").bind("submit",function() {
		if (!jQuery("input[@name=nombre]").mandatory(labels['a_Nombre'])) return false;
		if (!jQuery("input[@name=email]").mandatory("E-mail")) return false;
		if (!jQuery("input[@name=email]").validateEmail(true)) return false;
		if (!jQuery("textarea[@name=mensaje]").mandatory(labels['a_Mensaje'])) return false;
	});
}

function accesibilidad() {
	jQuery("select[@name=color]").bind("change", function() {
		var val = jQuery(this).val();
		var found = false;
		var oHead = document.getElementsByTagName('head')[0];
		var link1 = document.createElement('link');
		link1.rel = 'stylesheet';
		link1.href = 'estilos/color1.css';
		link1.type = 'text/css';
		link1.title = 'color1';
		var link2 = document.createElement('link');
		link2.rel = 'stylesheet';
		link2.href = 'estilos/color2.css';
		link2.type = 'text/css';
		link2.title = 'color2';
		jQuery('link[@rel*=style][@href*=color]').each(function(i) {
			this.disabled = true;
			if (val == jQuery(this).attr('title')) {
				this.disabled = false;
				found = true;
			}
		});
		if (!found) {
			if (val == '2') {
				if (jQuery.browser.msie) {
					oHead.appendChild(link1);
				} else {
					jQuery("head").append("<link href='estilos/color1.css' rel='stylesheet' type='text/css' />");
				}
			} else if (val == '3') {
				if (jQuery.browser.msie) {
					oHead.appendChild(link2);
				} else {
					jQuery("head").append("<link href='estilos/color2.css' rel='stylesheet' type='text/css' />");
				}
			}
		}
	});
	
	jQuery("select[@name=fuente]").bind("change", function() {
		var val = jQuery(this).val();
		var found = false;
		var oHead = document.getElementsByTagName('head')[0];
		var link1 = document.createElement('link');
		link1.rel = 'stylesheet';
		link1.href = 'estilos/fonttype1.css';
		link1.type = 'text/css';
		link1.title = 'fonttype1';
		var link2 = document.createElement('link');
		link2.rel = 'stylesheet';
		link2.href = 'estilos/fonttype2.css';
		link2.type = 'text/css';
		link2.title = 'fonttype2';
		jQuery('link[@rel*=style][@href*=fonttype]').each(function(i) {
			this.disabled = true;
			if (val == jQuery(this).attr('title')) {
				this.disabled = false;
				found = true;
			}
		});
		if (!found) {
			if (val == 'fonttype1') {
				if (jQuery.browser.msie) {
					oHead.appendChild(link1);
				} else {
					jQuery("head").append("<link href='estilos/fonttype1.css' rel='stylesheet' type='text/css' />");
				}
			} else if (val == 'fonttype2') {
				if (jQuery.browser.msie) {
					oHead.appendChild(link2);
				} else {
					jQuery("head").append("<link href='estilos/fonttype2.css' rel='stylesheet' type='text/css' />");
				}
			}
		}
	});
		
	jQuery("select[@name=tamanyo]").bind("change", function() {
		var val = jQuery(this).val();
		var found = false;
		var oHead = document.getElementsByTagName('head')[0];
		var link1 = document.createElement('link');
		link1.rel = 'stylesheet';
		link1.href = 'estilos/fontsize1.css';
		link1.type = 'text/css';
		link1.title = 'fontsize1';
		var link2 = document.createElement('link');
		link2.rel = 'stylesheet';
		link2.href = 'estilos/fontsize2.css';
		link2.type = 'text/css';
		link2.title = 'fontsize2';
		jQuery('link[@rel*=style][@href*=fontsize]').each(function(i) {
			this.disabled = true;
			if (val == jQuery(this).attr('title')) {
				this.disabled = false;
				found = true;
			}
		});
		if (!found) {
			if (val == 'fontsize1') {
				if (jQuery.browser.msie) {
					oHead.appendChild(link1);
				} else {
					jQuery("head").append("<link href='estilos/fontsize1.css' rel='stylesheet' type='text/css' />");
				}
			} else if (val == 'fontsize2') {
				if (jQuery.browser.msie) {
					oHead.appendChild(link2);
				} else {
					jQuery("head").append("<link href='estilos/fontsize2.css' rel='stylesheet' type='text/css' />");
				}
			}
		}
	});
		
	jQuery("select[@name=espacio]").bind("change", function() {
		var val = jQuery(this).val();
		var found = false;
		var oHead = document.getElementsByTagName('head')[0];
		var link1 = document.createElement('link');
		link1.rel = 'stylesheet';
		link1.href = 'estilos/letterspacing1.css';
		link1.type = 'text/css';
		link1.title = 'letterspacing1';
		jQuery('link[@rel*=style][@href*=letterspacing]').each(function(i) {
			this.disabled = true;
			if (val == jQuery(this).attr('title')) {
				this.disabled = false;
				found = true;
			}
		});
		if (!found) {
			if (val == 'letterspacing1') {
				if (jQuery.browser.msie) {
					oHead.appendChild(link1);
				} else {
					jQuery("head").append("<link href='estilos/letterspacing1.css' rel='stylesheet' type='text/css' />");
				}
			}
		}
	});
	
}

// prototype
function pr_comentario() {
	var form = $('comentario');
	Event.observe(form, 'submit', function(event) {
		var nombre = form['nombre'];
		var email = form['email'];
		var comentario = form['comentario'];
		
		if ($F(nombre) == '') {
			alert ('Nombre es obligatorio');
			nombre.focus();
			Event.stop(event);
			return false;
		}
		if ($F(email) == '') {
			alert ('email es obligatorio');
			email.focus();
			Event.stop(event);
			return false;
		}
		// test si email correcte
		var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!$F(email).match(emailRegEx)) {
			alert ('Dirección de email no válida');
			email.focus();
			Event.stop(event);
			return false;
		}
		if ($F(comentario) == '') {
			alert ('Comentario es obligatorio');
			comentario.focus();
			Event.stop(event);
			return false;
		}
		
	});
}

/*------------------------------------------------------------------------------*/
jQuery.fn.mandatory = function(name) {
	if (jQuery(this).is("input[@type='checkbox']") | jQuery(this).is("input[@type='radio']")) {
		if (!jQuery(this).is(":checked")) {
			jQuery(this).formError(name + ' ' + labels['a_es obligatorio']);
			return false;
		}
	} else {
		if (jQuery(this).val() == "") {
			jQuery(this).formError(name + ' ' + labels['a_es obligatorio']);
			return false;
		}
	}
	
	return true;
}

jQuery.fn.formError = function(msg) {
	alert(msg);
	jQuery(this).focus();
}

jQuery.fn.validateEmail = function(mandatory) {
	if (mandatory == null) mandatory = false;
	
	var email = jQuery(this).val();
	if (!mandatory && email == "") {
		return true;
	}
	
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!email.match(emailRegEx)) {
		jQuery(this).formError(labels['a_Direcci&oacute;n de email no v&aacute;lida']);
		return false;
	}
	return true;
}

jQuery.fn.validateColor = function() {
	var codigo = jQuery(this).val();
	
	var ret = true;
	if (codigo.length == 6) {
		var strValido = "0123456789AaBbCcDdEeFf";
		
		for (i=0;i<codigo.length;i++) {
			strChar = codigo.charAt(i);
			if (strValido.indexOf(strChar) == -1) {
				ret = false;
				break;
			}
		}
	} else {
		ret = false;
	}
	
	if (!ret) {
		jQuery(this).formError("Color no válido");
		return false;
	}
	
	return true;
}
