/*

	Ceid10.com
	15/9/2011
	
	By C4ncr3x0 para SJB Dixital

*/





/* Crea slider */

var sliderData = {intervalo: 2000, imaxeWidth : null, Titulos : new Array(), fotosReady : new Array(), animActual : 0}; // 1 para 1ª anima. Total animas nFotos-1

var idSliderInterval_SJB = null; // id de intervalo




function faiSlider(){
	
	sliderData.animActual ++;
	
	//console.log("Animacion " + sliderData.animActual );
	
	if(sliderData.animActual >  (sliderData.Titulos.length - 1)){
		
		// Resetea		
		sliderData.animActual = 0;
		
		$(divSlider).animate({"left": "+="+ ((sliderData.Titulos.length - 1)* sliderData.imaxeWidth )+"px"}, 500, 'linear');
		
	}else
		
		// Animacion normal solo si a imaxe está cargada
		if(sliderData.fotosReady[sliderData.animActual])
			$(divSlider).animate({"left": "-=" + sliderData.imaxeWidth +"px"},1000, 'swing');
		else
			sliderData.animActual ++; // Espera a que se cargue a foto	
	
} 

// Comproba que se envia un obxecto ao procesar ou abrir un formulario
function checkParams(parametros){
	
	if(typeof parametros != 'object')return({valor:false, msg:"Error. No se ha recibido objeto para comprobar." });
	
	else if(typeof parametros.OP == 'undefined')return({valor:false, msg:"Error. No se ha recibido el valor de la opcion a comprobar."});
	
	else return({valor:true});
	
}





// Realiza fadein de unha serie de fotos colocadas nunha capa

function SJB_fader(){
	
	
	
}






// Abre un alert con jQuery. Pode resibir unha funsion  callback a executar cando se pecha o Dialogo

function SJB_alerta(params){	

	mensaxe 	= params.msg;	
	
	titulo			= typeof params.titulo != 'undefined' ? params.titulo  : "Aviso";
	
	var newDiv = $(document.createElement('div')); 	
	
	newDiv.html(mensaxe);
	
	newDiv.dialog({
		
		title: titulo,
		modal: true,
		buttons: {
			Ok: function() {
				if ($.isFunction(params.callback)) params.callback.apply();	 // Chama funcion callback si está definida               
				$( this ).dialog( "close" );
			}
		}
		
	});				
}


/*
	Resaltado de campos de formulario (cando hai erros) etc,
*/
function SJB_resaltaCampo(params){
	campo = $(params.campo); // ese!	
	// usa jquery.color.js
	//campo.colorBlend("background-color", "random", true);
	//campo.animate({'backgroundColor' : '#ffff99'}, function(){});
	//console.log(campo);
	campo.addClass("errorBg");
		
	campo.bind('focus', function() {
  		$(this).removeClass('errorBg');
		
	});
}



/* -----------------------------------------------------------------------------------------------------------------------------------------
	Caga ajax  para datos 
	Ven a ser o que os guiris chaman un PROMISE (http://stackoverflow.com/questions/5150571/javascript-function-that-returns-ajax-call-data)
-----------------------------------------------------------------------------------------------------------------------------------------*/
function cargaAjax(parametros){
	
	datosPOST = parametros;
	
	tipoDatos	= !isUndefined(parametros.tipoDatos)  ? parametros.tipoDatos : 'json';
	
	if(isUndefined(parametros.URL))return $.ajax({type: "POST",  url:'sql/BBDD_Consultar.php',  data:datosPOST, dataType:tipoDatos, cache:false });  		  		
	
	else return $.ajax({type: "POST",  url: parametros.URL,  data:datosPOST, dataType:tipoDatos, cache:false });  
}




// Funcion de engadir tags
function abreVideo(obxecto){

	Shadowbox.open({ 
			content:    obxecto.url,     
			title:			obxecto.titulo,
			player:		'iframe',
			height:      obxecto.alto, 
			width:       obxecto.ancho 
    }); 
}

