/*!
 * fran6gallery v3.0
 * fpascual@sollutia.com
 * Date: Mon May 09 12:30:00 2011
 * Utilitza jquery;
 *
 * --- Exemple de crida---------------------------------------------------------:
 *  <script type="text/javascript">
 *	$(document).ready(function(){
 *	   $("#qualsevolId").fran6gallery(5000, "slow", false); // delay entre imatges, velocitat fade , numeros(true) redolinets(false)
 *	});
 *  </script>
 *
 *  --- Exemple d'estructura ---------------------------------------------------:
 *   <div id="qualsevolId">
 *	<ul class="gal6" style="width:700px;height: 450px">
 *	    <li><img src="../images/timThumb.php?src=trabajos/imagen.jpg&w=700" alt="imagen" /></li>
 *	    <li><img src="../images/timThumb.php?src=trabajos/imagen.jpg&w=700" alt="imagen" /></li>
 *	    <li><img src="../images/timThumb.php?src=trabajos/imagen.jpg&w=700" alt="imagen" /></li>
 *	</ul>
 *   </div>
 *
 *  --- millores próxima versió-------------------------------------------------:
 *   - canviar el augment infinit de z-index per un "swapDepths()"
 *   - possibilitat canvi tipus transició.
 */

(function($){
    $.fn.fran6gallery = function(duracio, velocitat, numeros) {
	//----- editable ----------
	var gal6pagSize = "6px";

	var gal6text = "white";
	var gal6text_sel = "black";
	var gal6border = "black";

	var gal6background = "#666666";
	var gal6background_sel = "#333333";

	//---- /editable ----------
	var capaActual = "#"+$(this).attr("id");
	var gal6actual = 1;
	var gal6fotosTotal;
	var gal6anterior;
	var gal6zCapa = 1;
	var gal6delay = duracio;
	var gal6numeros = numeros;

	function gal6recompte(){
	    gal6actual++;
	    if(gal6actual > gal6fotosTotal){
		gal6actual = 1;
	    }
	    gal6anterior++;
	    if(gal6anterior > gal6fotosTotal){
		gal6anterior = 1;
	    }
	}
	function gal6neteja(){
	    for(i=1;i<=gal6fotosTotal;i++){
		$(capaActual+' #gal6img_'+i).removeClass("gal6selected");
	    }
	}
	function gal6FadeAll(except){
	    ahora = 0;
	    for(i=1;i<=gal6fotosTotal;i++){
	       $(capaActual+' ul.gal6 li:nth-child('+i+')').css('display', 'none');
	    }
	    $(capaActual+' ul.gal6 li:nth-child('+except+')').css("zIndex", gal6zCapa);
	    $(capaActual+' div.gal6pag').css("zIndex", ++gal6zCapa);
	    $(capaActual+' ul.gal6 li:nth-child('+except+')').fadeIn(velocitat);
	}

	function gal6canviaImg(){
	    $(capaActual+' ul.gal6 li:nth-child('+gal6actual+')').css("zIndex", gal6zCapa);
	    gal6neteja();
	    $(capaActual+' #gal6img_'+gal6actual).addClass("gal6selected");
	    $(capaActual+' ul.gal6 li:nth-child('+gal6actual+')').fadeIn(velocitat, function(){
		$(capaActual+' ul.gal6 li:nth-child('+gal6anterior+')').fadeOut("slow");
		gal6recompte();
	    });
	}
	function gal6activaClick(num){
	     $(capaActual+' #gal6img_'+num).bind('click', {numero: num }, function(event){
		    gotoAndStop(event.data.numero);
	    });
	}
	function gotoAndStop(img){
	    clearInterval(gal6interval);
	    gal6neteja();
	    gal6FadeAll(img);
	    $(capaActual+' #gal6img_'+img).addClass("gal6selected");
	}

	if($(capaActual)){
	    $(capaActual).append('<div class="gal6pag"><ul></ul></div>');
	    gal6fotosTotal = $(capaActual+" ul.gal6 li").size();
	    for(i=1;i<=gal6fotosTotal;i++){
		$(capaActual+" .gal6pag ul").append('<li id="gal6img_'+i+'" class="gal6unselected"><span>'+i+'</span></li>');
		gal6activaClick(i)
	    }
	    gal6anterior = gal6fotosTotal;

	    setTimeout(function(){ // la primera
		gal6canviaImg();
	    }, 100);
	    var gal6interval = setInterval(function(){ // anxufem l'automàtic
		gal6canviaImg();
	    }, gal6delay);
	}else{
	    alert("No trobe <div id='"+capaActual+"'><div>");
	}
    /*-------------- estils -----------------------------*/
    var f6g_css_ul = "ul.gal6{ margin:0; padding:0; overflow:hidden; z-index:1; background:url(loading.gif) no-repeat center center;list-style-type:none;}";
    var f6g_css_ul_li = "ul.gal6 li{ position:absolute; display:none;}";
    var f6g_css_pag = "div.gal6pag{ position:absolute; right:20px; bottom:15px; z-index:2;}";
    var f6g_css_pag_ul = "div.gal6pag ul{ list-style-type: none; margin:0; padding:0; overflow: hidden;}";
    var f6g_css_pag_ul_li = "div.gal6pag ul li{font-size: 8px; float:left; height:"+gal6pagSize+"; width:"+gal6pagSize+"; border:solid 1px "+gal6border+"; text-align: center; margin-left: 3px; cursor:pointer;}";
    var f6g_css_pag_ul_li_hover = "div.gal6pag ul li:hover{background:white;color:black;}";
    var f6g_css_unselected = ".gal6unselected{ background:"+gal6background+"; color:"+gal6text+";}";
    var f6g_css_selected = ".gal6selected{ background: "+gal6background_sel+"; color:"+gal6text_sel+";}";

	//------- opcions extra ----
	var f6g_css_opcions_extra = "";
	if(gal6numeros == false){ // llevem números i posem redolinets
	     f6g_css_opcions_extra += "div.gal6pag ul li span{display:none;}";
	     f6g_css_opcions_extra += "div.gal6pag ul li {border-radius:10px;-moz-border-radius :10px}";
	}

    var f6g_css = "<style type='text/css'>";
	f6g_css+= f6g_css_ul+f6g_css_ul_li+f6g_css_pag+f6g_css_pag_ul+f6g_css_pag_ul_li+f6g_css_pag_ul_li_hover+f6g_css_unselected+f6g_css_selected+f6g_css_opcions_extra;
	f6g_css+= "</style>";

    $(f6g_css).appendTo("head");
    };
})(jQuery);
