﻿jQuery.fn.extend({
	createElem:function(tag,properties,styles,text){
		var el=document.createElement(tag)
        if(properties!=null)for (var i in properties){var v=eval("properties."+i);$(el).attr(i,v)}
		if(styles!=null)for (var x in styles){
			var w=eval("styles."+x);
			$(el).css(x,w)
		}
		if(text!=null){el.appendChild(document.createTextNode(text))}
	
		return el;   
	},
	exists:function(){ return $(this).size()>0},
	del:function(){if ($(this).parents().exists()){return $(this).empty().remove()}},
	appendElement:function(tag,properties,styles,text){$(this).append($(this).createElem(tag,properties,styles,text))},
	ajaxShowPreloader:function(ids,styles,funct){
		if($("#"+ids).length>0){$("#"+ids).show()}
		else{$("#wrapperContent").appendElement("div",{id:ids},styles)}
		$("#"+ids).fadeTo("slow", 0.75);
		if(funct)funct()
	},
	ajaxHidePreloader:function(ids){
		$("#"+ids).fadeTo("slow",0,function(){$(this).del()})
	}
});

(function ($) {
// VERTICALLY ALIGN FUNCTION
$.fn.vAlign = function() {
	return this.each(function(i){
	var ah = $(this).height();
	var ph = $(this).parent().height();
	var mh = (ph - ah) / 2;
	$(this).css('padding-top', mh);
	});
};
})(jQuery);

var flags = {
	isIE8:false,
	isIE6:false,
	isOpera:false,
	isIE:false,
	init:function(){
		//this.isIE8 = !document.getElementById($("form.formulario").attr("name")) && !jQuery.support.cssFloat;			
		this.isIE6 = (typeof document.body.style.maxHeight === "undefined");
		this.isOpera = arguments instanceof Array;
		this.isIE = !jQuery.support.cssFloat;
	}
}

var links = {
	printLink:function(){
		var printt = "<li class='print'><a href='javascript:window.print()' title='Abre en ventana nueva'>"+literal["imprimir"]+"</a></li>"
		var obj = $(".share .comparte ul .rss");
		obj.before($(printt));
		
	},
	printLink2:function(obj){
		var printt = "<div class='clearFix'><span class='print'><a title='Abre en ventana nueva' href='javascript:window.print()'>"+literal["imprimir"]+"</a></span></div>"
		//var obj = $("#accesibilidad");
		obj.append($(printt));
		
	}
}

var curves = {
	navBar:function(){
		var obj = $("#navBar .sel");
		if(obj.length != 0){
			obj.append($(curves.createElementsCurves("cTl")));
			obj.append($(curves.createElementsCurves("cTr")));
		}
	},
	addCurves:function(obj){		
		if($(obj).length > 1){
			$(obj).each(function(){
				$(this).append($(curves.createElementsCurves("fix")));
			})
		}else{
			$(obj).append($(curves.createElementsCurves("fix")));
		}
	},
	roundModule:function(obj){	
		if($(obj).length > 1){
			$(obj).each(function(){
				$(this).append($(curves.createElementsCurves("cTl")));
				$(this).append($(curves.createElementsCurves("cTr")));		
				$(this).append($(curves.createElementsCurves("cBl")));
				$(this).append($(curves.createElementsCurves("cBr")));
			})
		}else{			
			$(obj).append($(curves.createElementsCurves("cTl")));
			$(obj).append($(curves.createElementsCurves("cTr")));		
			$(obj).append($(curves.createElementsCurves("cBl")));
			$(obj).append($(curves.createElementsCurves("cBr")));
		}						
	},
	dateBlog:function(obj){
		$(obj).each(function(){
			$(this).append($(curves.createElementsCurves2("cL")));
			$(this).append($(curves.createElementsCurves2("cR")));
		})
	},
	fichaNombreEmpresa:function(){
		var obj = $(".mainTitle");
		obj.append($(curves.createElementsCurves("cTl")));
	},
	createElementsCurves:function(style){
		return "<div class='sp " + style + "'>&nbsp;</div>";
	},
	createElementsCurves2:function(style){
		return "<span class='sp " + style + "'>&nbsp;</span>";
	}
}

var fixes = {
	addFix:function(obj){
		if($(obj).length > 1){
			$(obj).each(function(){
				$(this).append($(fixes.fix()));
			})
		}else{
			$(obj).append($(fixes.fix()));
		}
	},
	fix:function(){
		return "<div class='fix png'>&nbsp;</div>";
	}
}

var carruseles = {
	carrusel: {
		init:function(){
			$(".carrusel ul").jcarousel({
				scroll: 1
			});
		}
	}
}

var rating = {
	init:function(){
		$('.valoracionForm .star1').rating();
		$(".valoracionForm .send").addClass("hidden");
	}
}

var behaviours = {
	heights:function(){
		var hCont = $(".encuestas .contEncuesta").outerHeight();
		var answers = $(".encuesta #encuesta").outerHeight();
		if( hCont > answers){
			$(".encuesta #encuesta").css("height",hCont - 34);/*- 34 --> padding-top + padding-bottom of container*/
		}
	}
}

var AjaxRequest = {
	load:function(obj,_url,cb,styles){
		var axis = obj.offset();
		var styles = styles || {position:"absolute",width:obj.width(),height:obj.height(),left:axis.left,top:axis.top,background:"#fff url(/design/ezflow_site/images/ico_loading.gif) no-repeat center center"};				
		$.ajax({
			'url': _url,
			'beforeSend': function(){{$(this).ajaxShowPreloader("load",styles)}},
			'dataType': 'html',
			'type': 'GET',
			'success': function(data){
				$(this).ajaxHidePreloader("load");				
				obj.html(data);				
				obj.show();
				obj.css("visibility","visible");	
				if(typeof(cb) != "undefined") eval(cb);			
			}
		});
	},
	carruselesGalerias:{
		content:null,
		url:'',
		init:function(){
			var carrusel = $(".carrusel");			
			AjaxRequest.carruselesGalerias.content = carrusel.parent().find(".wrapAjaxContent");
			carrusel.find("a").each(function(){			
				$(this).bind("click",function(){
					AjaxRequest.carruselesGalerias.action($(this)); 
					return false;
				})				
			})
		},
		action:function(obj){
			AjaxRequest.load (AjaxRequest.carruselesGalerias.content,obj.attr("href"));
		}
	}
}


var formsValidations = {
	setMsgError:function(txt, form){
		var parentForm = form.parent();
		var msgError = parentForm.find(".msgError");
		var divElement = (msgError.length != 0) ? msgError.eq(0) : document.createElement("div");		
		var ulElement = document.createElement("ul");
		var liElement = null;		
		var errors = txt.split("|");
		var msgConfirm = $(".msgConfirm");			
		jQuery(divElement).attr("class", "msgError");		
		if(jQuery(divElement).find("ul").length != 0) jQuery(divElement).empty();
		for(var i = 0; i < errors.length - 1; i++){
			liElement = document.createElement("li");
			liElement.appendChild(document.createTextNode(errors[i]));
			ulElement.appendChild(liElement);
		}
		jQuery(divElement).append($("<span>"+literal["msgError"]+"</span>"));
		jQuery(divElement).append(ulElement);		
		if(msgError.length == 0) form.before(jQuery(divElement));
		if(msgConfirm.length != 0) msgConfirm.remove();	
	},
	validaAccesoForm:function(obj){
		var errorTxt = "";
		var f = $(obj);			
		var parent = $(f.find("input#usuario").parent());
		if(!f.find("input#usuario").val()){
			errorTxt += literal["acceso"][0];
			parent.addClass("error");
		}else parent.removeClass("error");
		parent = $(f.find("input#pass").parent());
		if(!f.find("input#pass").val()){
			errorTxt += literal["acceso"][1];
			parent.addClass("error");
		}else parent.removeClass("error");
		
		if(errorTxt != ""){				
			formsValidations.setMsgError(errorTxt, f);
			return false;
		}else return true;
	},
	validaRegistroForm:function(obj){
		var errorTxt = "";
		var f = $(obj);			
		var parent = $(f.find("input#nombre").parent());
		if(!f.find("input#nombre").val()){
			errorTxt += literal["registro"][0];
			parent.addClass("error");
		}else parent.removeClass("error");
		parent = $(f.find("input#apellidos").parent());
		if(!f.find("input#apellidos").val()){
			errorTxt += literal["registro"][1];
			parent.addClass("error");
		}else parent.removeClass("error");
		parent = $(f.find("input#email").parent());	
		if(!f.find("input#email").val()){
			errorTxt += literal["registro"][2];			
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(!regularExpressions.isValidEmail(f.find("input#email").val())){
				errorTxt += literal["registro"][3];			
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		parent = $(f.find("input#usuario").parent());
		if(!f.find("input#usuario").val()){
			errorTxt += literal["registro"][4];
			parent.addClass("error");
		}else parent.removeClass("error");
		parent = $(f.find("input#pass").parent());
		if(!f.find("input#pass").val()){
			errorTxt += literal["registro"][5];
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(f.find("input#pass").val().length < 6){
				errorTxt += literal["registro"][9];
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		parent = $(f.find("input#rePass").parent());
		if(!f.find("input#rePass").val()){
			errorTxt += literal["registro"][6];
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(f.find("input#pass").val() != f.find("input#rePass").val()){
				errorTxt += literal["registro"][7];			
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		parent = $(f.find("input#acept").parent());
		if(f.find("input#acept:checked").length == 0){
			errorTxt += literal["registro"][8];
			parent.addClass("error");
		}else parent.removeClass("error");
		
		
		if(errorTxt != ""){				
			formsValidations.setMsgError(errorTxt, f);
			return false;
		}else return true;
	},
	validaContactoForm:function(obj){
		var errorTxt = "";
		var f = $(obj);
		var parent = $(f.find("input#email").parent());
		if(!f.find("input#email").val()){
			errorTxt += literal["contacto"][0];			
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(!regularExpressions.isValidEmail(f.find("input#email").val())){
				errorTxt += literal["contacto"][1];			
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		parent = $(f.find("input#asunto").parent());
		if(!f.find("input#asunto").val()){
			errorTxt += literal["contacto"][2];
			parent.addClass("error");
		}else parent.removeClass("error");
		parent = $(f.find("textarea#consulta").parent());
		if(!f.find("textarea#consulta").val()){
			errorTxt += literal["contacto"][3];
			parent.addClass("error");
		}else parent.removeClass("error");
		
		parent = $(f.find("input#acept").parent());
		if(f.find("input#acept:checked").length == 0){
			errorTxt += literal["contacto"][4];
			parent.addClass("error");
		}else parent.removeClass("error");
		
		if(errorTxt != ""){				
			formsValidations.setMsgError(errorTxt, f);
			return false;
		}else return true;
	},
	validaEnviarAmigoForm:function(obj){
		var errorTxt = "";
		var f = $(obj);			
		parent = $(f.find("input#email").parent());	
		if(!f.find("input#email").val()){
			errorTxt += literal["enviarAmigo"][0];			
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(!regularExpressions.isValidEmail(f.find("input#email").val())){
				errorTxt += literal["enviarAmigo"][1];			
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		parent = $(f.find("input#emailFriend").parent());	
		if(!f.find("input#emailFriend").val()){
			errorTxt += literal["enviarAmigo"][2];			
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(!regularExpressions.isValidEmail(f.find("input#emailFriend").val())){
				errorTxt += literal["enviarAmigo"][3];			
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		
		if(errorTxt != ""){				
			formsValidations.setMsgError(errorTxt, f);
			return false;
		}else return true;
	},
	validaNewsletterForm:function(obj){
		var errorTxt = "";
		var f = $(obj);
		var parent = $(f.find("input#email").parent());
		if(!f.find("input#email").val()){
			errorTxt += literal["newsletter"][0];			
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(!regularExpressions.isValidEmail(f.find("input#email").val())){
				errorTxt += literal["newsletter"][1];			
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		
		if(errorTxt != ""){				
			formsValidations.setMsgError(errorTxt, f);
			return false;
		}else return true;
	},
	validaRecordarPassForm:function(obj){
		var errorTxt = "";
		var f = $(obj);
		var parent = $(f.find("input#email").parent());
		if(!f.find("input#email").val()){
			errorTxt += literal["recordarPass"][0];			
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(!regularExpressions.isValidEmail(f.find("input#email").val())){
				errorTxt += literal["recordarPass"][1];			
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		
		if(errorTxt != ""){				
			formsValidations.setMsgError(errorTxt, f);
			return false;
		}else return true;
	},
	validaComentarioForm:function(obj){
		var errorTxt = "";
		var f = $(obj);			
		var parent = $(f.find("input#nombre").parent());
		if(!f.find("input#nombre").val()){
			errorTxt += literal["comentarios"][0];
			parent.addClass("error");
		}else parent.removeClass("error");
		parent = $(f.find("input#email").parent());	
		if(!f.find("input#email").val()){
			errorTxt += literal["comentarios"][1];			
			parent.addClass("error");
		}else{
			parent.removeClass("error");
			if(!regularExpressions.isValidEmail(f.find("input#email").val())){
				errorTxt += literal["comentarios"][2];			
				parent.addClass("error");
			}else parent.removeClass("error");
		}
		parent = $(f.find("input#commentTitle").parent());
		if(!f.find("input#commentTitle").val()){
			errorTxt += literal["comentarios"][3];
			parent.addClass("error");
		}else parent.removeClass("error");
		parent = $(f.find("textarea#comment").parent());
		if(!f.find("textarea#comment").val()){
			errorTxt += literal["comentarios"][4];
			parent.addClass("error");
		}else parent.removeClass("error");
		
		if(errorTxt != ""){				
			formsValidations.setMsgError(errorTxt, f);
			return false;
		}else return true;
	}
}

/* expresiones regulares para validar formularios */
var regularExpressions = {	
	isValidEmail:function (str){
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		return (filter.test(str));
	},
	esCadena:function(c) { return /^[0-9A-Za-z-\/Ññ?É?ÓÚáéíóúÜüÄäËë?ïÖö´,'/\\t\n\r\s]+$/.test(c); },
	esAlfabetico:function(c){return /^([a-zA-Z])+$/.test(c);},
	esNumero:function(c){return /^[0-9]+$/.test(c);},
	esTelefono:function(c){return /^[0-9\s\+\-)(]+$/.test(c)},
	esCodigoPostal:function(c){return /^([0-4]{1}[1-9]{1}|10|20|30|40|50|51|52)([0-9]{3})+$/.test(c);},
	esNif:function(c){
		if(!/^[0-9]{8}([A-Za-z]{1})$/.test(c)) return false
		var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';		
		return (c.substr(8,9).toUpperCase()==letras.charAt(c.substr(0,8)%23)) ;
	},
	esCif:function(c){
		if (!/^[A-Za-z0-9]{9}$/.test(c) || !/^[ABCDEFGHKLMNPQS]/.test(c)) return false;
		var v1 = new Array(0,2,4,6,8,1,3,5,7,9); 
		var digCrtl=c.charAt(c.length-1);
		var temp = 0;
		for(i=2;i<=6;i+=2 ) {
		      temp = temp + v1[ parseInt(c.substr(i-1,1)) ];
		      temp = temp + parseInt(c.substr(i,1));
		};
		temp = temp + v1[ parseInt(c.substr(7,1)) ];                   
		temp = (10 - ( temp % 10));
		if( temp == 10 ){if(!(digCrtl=="J" || digCrtl=="0")) return false;
		}else{if(digCrtl!=temp) return false; }
		return true;
	}		
}



jQuery(document).ready(function() {

	if($(".carrusel").length != 0) {	
		carruseles.carrusel.init();
	}
	curves.dateBlog(".listTypeBlogs .dateBlog");
	
	if($(".valoracionForm .star1").length != 0){
		rating.init();
	}
	
	if($(".encuestas .contEncuesta").length != 0){
		behaviours.heights();
	}
	
	if($("#registro").length != 0) {					
		jQuery("#registro").submit(function(){return formsValidations.validaRegistroForm( jQuery(this)) })	
	}
	if($("#contacto").length != 0) {					
		jQuery("#contacto").submit(function(){return formsValidations.validaContactoForm( jQuery(this)) })	
	}
	if($("#newsletter").length != 0) {					
		jQuery("#newsletter").submit(function(){return formsValidations.validaNewsletterForm( jQuery(this)) })	
	}
	if($("#commnetsForm").length != 0) {					
		jQuery("#commnetsForm").submit(function(){return formsValidations.validaComentarioForm( jQuery(this)) })	
	}
	if($("#enviarAmigoForm").length != 0) {					
		jQuery("#enviarAmigoForm").submit(function(){return formsValidations.validaEnviarAmigoForm( jQuery(this)) })	
	}
	if($("#acceso").length != 0) {					
		jQuery("#acceso").submit(function(){return formsValidations.validaAccesoForm( jQuery(this)) })	
	}
	if($("#recordarPass").length != 0) {					
		jQuery("#recordarPass").submit(function(){return formsValidations.validaRecordarPassForm( jQuery(this)) })	
	}
	
	if($(".multim .wrapAjaxContent").length != 0){	
		AjaxRequest.carruselesGalerias.init();		 	
	}
	if($(".comparte").length != 0){	
		links.printLink();		 	
	}
	if($("#accesibilidad").length != 0){	
		links.printLink2($("#accesibilidad"));		 	
	}	
	if($(".aviso").length != 0){	
		links.printLink2($(".aviso"));		 	
	}
	if($("#home #sidebar2 .modPublicidad").length != 0){			
		$('#home #sidebar2 .modPublicidad ul').innerfade({   
         	speed: 'slow',   
         	timeout: 4000 ,   
         	type: 'sequence',   
         	containerheight: '68px'  
     	});  	
	}
	else{
		if($("#sidebar .modPublicidad").length != 0){
			$('#sidebar .modPublicidad ul').innerfade({   
				speed: 'slow',   
				timeout: 4000 ,   
				type: 'sequence',   
				containerheight: '85px'  
			});
		}
	}
	if($(".menuPest li.sel").length !=0){
		curves.addCurves(".menuPest li.sel");
	}
	
	
		
})