var _$ = jQuery;

_$.postJSON = function(url, data, callback) {
	_$.post(url, data, callback, "json");
};

function _log(t){
	
	try{	console.log(t);	}catch(e){	}
}

var ajax_wait = '<span class="ajax_wait ajax_ctrl">&nbsp;</span>';
var ajax_ok = '<span class="ajax_ok ajax_ctrl">&nbsp;</span>';
var ajax_error = '<span class="ajax_error ajax_ctrl">&nbsp;</span>';

function siimage_reload(){
	
	var sid = Math.round(new Date().getTime() / 1000);
	
	var src = _$("#siimage").attr('src').split('sid=')[0]+"sid="+sid;
	
	_$("#siimage").attr('src',src);
}


_$(document).ready(function(){
	
	_log("Open Deusto JS Loaded!");
	
	var open_deusto_form = _$("form.open_deusto_form");
	
	var inputs_array = _$(".ajaxinput", open_deusto_form);
	
	var exec_id = _$("#exec_id", open_deusto_form);
	
	ni = inputs_array.length;
	
	_log(ni+" found");
	
	if (ni>0){
	
		_$("span.error_in_field").hide();
		
		_$("span.error_in_field").each(function(){
			if(_$(this).html()!="") _$(this).show();
		});
		
		
		
		tm = open_deusto_form.attr("action").split("?");
		
		if(tm.length==2){
			
			var url = open_deusto_form.attr("action")+((location.search=="")? "&":"&" )+"ajax=true";
			
		}else{
			
			var url = open_deusto_form.attr("action")+((location.search!="")? "&":"?" )+"ajax=true";
		}
		
		_log("post action url: "+url);
		
		inputs_array.bind("blur",function(){
			
			var self = _$(this);
			
			if (self.hasClass("checking")) return false;
			
			var sendvalues={};
			
			last_checked_value = self.attr('last_checked_value');
			
			if (last_checked_value==self.val()) return false;
			
			self.addClass("checking");
			
			self.next('.ajax_ctrl').remove();
			
			var input_wait = _$(ajax_wait);
			
			self.after(input_wait);
			
			self.attr('last_checked_value',self.val());
			
			sendvalues.exec_id = exec_id.val();
			
			sendvalues.field=self.attr('name');
			
			sendvalues.value=self.val();
			
			sendvalues.id=self.attr('id');
						
			_log(sendvalues);						
			
			var in_field_error = self.parent('p').find('.error_in_field');
			
			_$.postJSON(url,sendvalues,function(data){
				
				var data  = data;
				
				window.setTimeout(function(){

					if (data.error){
							
						self.next('.ajax_ctrl').remove();
						
						var input_err = _$(ajax_error).attr('title',data.error);
						
						self.after(input_err);
						
						in_field_error.html(data.error).slideDown("slow");
						
						window.setTimeout(function(){  in_field_error.html("").slideUp("slow"); } ,2500);
						
					}else{
												
						self.next('.ajax_ctrl').remove();
						
						var input_ok = _$(ajax_ok);
						
						self.after(input_ok);
						
						in_field_error.html("").slideUp("slow");
					}
					
					
					self.removeClass("checking");
					
				},200);
				
				
			});
			
		});
		
	}
	
	function chk_acepto(){
		
		if (_$("input[name=condiciones]").is(":checked")){
			
			_$("#helper_3_a > p").fadeOut("slow",function(){
				
				_$("#helper_3_b > p").fadeIn();
			});
		}else{
			_$("#helper_3_b > p").fadeOut("slow",function(){
				
				_$("#helper_3_a > p").fadeIn();
			});
		}
	}
	
	chk_acepto();
	
	
	_$("input[name=condiciones]").bind("click",function(){ chk_acepto();});
	
	_$(".help_in_field_icon").bind("click",function(){ 
		
		if (!_$(this).parent('p').find("span.help_in_field > p").hasClass("visible")){
			_$(this).parent('p').find("span.help_in_field > p").addClass("visible").fadeIn();
			
		}else{		
			_$(this).parent('p').find("span.help_in_field > p").removeClass("visible").fadeOut();
		}
		
	});
	
	_$(".h_button").bind("click",function(){ return false; } );
	
	_$("#captcha_reload").bind("click",function(){ siimage_reload(); } );
	
	
	
	
	
	
	
	
});