$(document).ready(function(){
	var msie = $.browser.msie
	
	$('.fotografias,.plano').jgallery();
	
	var filters = {
		email : /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/,  
		telefono : /(^([0-9\s\+\-]+))$/
	};
	
	var msgs = {
		emptyField:'El campo %s no puede estar vacio',
		tooShort:'El campo %s no puede ser tan corto',
		notValid:'El campo %s no es valido',
		notChecked:'El campo %s debe estar marcado',
		sendOk:'El correo se ha enviado con exito',
		sendDown:'Lo sentimos. No se ha podido enviar el correo, pruebe mas tarde por favor'
	};
	
	var showFormWarning = function(input,msg,rStart,tStart){
		var inp = input;
		if($('.warning',inp.parent()).length>0)return;
		inp.after('<div class="warning"><div class="message">'+msg+'</div></div>');
		var warn = inp.parent().find('.warning');
		inp.css({position:'absolute'});
		var top = !tStart?parseInt(inp.css('top')):tStart;
		var right = parseInt(inp.css('right'));
		var rightStart = !rStart?right - ( warn.width() + 40 ):rStart;
		var rightEnd = rightStart + 30;
		inp.css({position:'static'});
		if(!msie){
			warn.css({
				top: top,
				right: rightStart,
				opacity:0
			}).animate({right:rightEnd,opacity:1},300);
		}else{
			warn.css({
				marginLeft:rStart?rStart+10:10
			});
		}
	};
	
	var removeFormWarning = function(input){
		var inp = input;
		var warn = inp.parent().find('.warning');
		var rightStart = parseInt(warn.css('right'));
		var rightEnd = rightStart - 30;
		if(!msie){
			warn.css({
				right: rightStart
			}).animate({right:rightEnd,opacity:0},300,function(){
				$(this).remove();
			});
		}else{
			warn.remove();
		}
	}
	
	$('form li input,form li textarea').each(function(i,el){
		$(this).bind('blur',function(){
			var name = $(el).attr('name');
			var label = $('form label[for='+name+']').text()
			if(filters[name]){
				var mtch = $(this).val().match(filters[name]);
				if(!mtch){
					showFormWarning($(this),msgs['notValid'].replace('%s',label));
				}
			}else{
				if($(this).val().length==0){
					showFormWarning($(this),msgs['emptyField'].replace('%s',label));
				}else
				if($(this).val().length<2){
					showFormWarning($(this),msgs['tooShort'].replace('%s',label));
				}
			}
		})
		$(this).bind('focus',function(){
			removeFormWarning($(this));
		})
	})
	
	var showInfoDiv = function(msg,status){
		if(status=="error"){
			$('form').before('<div class="sendWarning">'+msg+'</div>');
		}
		if(status=="info"){
			$('form').before('<div class="sendInfo">'+msg+'</div>');
		}
	}
	
	if($('.contacto form').length>0){
		if(document.location.href.match(/status=down/)){
			showInfoDiv(msgs["sendDown"],"error");
		}
		if(document.location.href.match(/status=ok/)){
			showInfoDiv(msgs["sendOk"],"info");
		}
	}
	$('form').bind('submit',function(){
		var check = $(this).find(':checkbox');
		if(!check.is(':checked')){
			showFormWarning(check,msgs['notChecked'].replace('%s','Check'),!msie?-50:180);
		}
		check.bind('click',function(){
			removeFormWarning(check);
		})
		$('form li input,form li textarea').each(function(){
			$(this).trigger('blur')
		})
		if( $('form .warning').length===0 ){
			$('form').find('input, textarea').attr({readonly:'readonly'});
			//quizas aqui es momento de hacer un post de background para no tener que recargar la pagina
			return true;
		}else{
			return false;
		}
	})
	
	$('#content .print a').bind('click',function(){
		var width = 800;
		var height = 600;
		var top = ( screen.availHeight - height ) /2;
		var left = ( screen.availWidth - width ) / 2;
		var params = "resizable=no,scrollbars=yes,status=no,width="+width+",height="+height+",top="+top+",left="+left;
		window.open(location.href+'?print=true',null,params);
		return false;
	})
})