

var capaTempsActual = 1
var temps = 0
var currheight;
/**
 * Nombre: Serveis.js
 * Fecha creaciÃ³n: 22 Octubre 2009
 * Fecha modificaciÃ³n: 27 Octubre 2009
 * Autor: David P. Luna (dprados@oesia.com)
 * DescripciÃ³n:
 * 		Archivo principal en el que se ejecutan todos los eventos y se implementan los widgets.
 */
$(document).ready(function(){
    /**
     * AcordeÃ³n
     */
    $(".FW-UI_accordion-list LI:not(:first)").removeClass("FW-UI_accordion-item-current");
    $(".FW-UI_accordion-list .FW-UI_accordion-item-title A").click(function(e){
        var li = $(this).parents("LI");
        var ul = $(this).parents("UL");
        if (li.hasClass("FW-UI_accordion-item-current")) {
            li.find(".FW-UI_accordion-item-content").slideToggle("normal");
            //li.find(".FW-UI_accordion-item-content").animate({height: 'toggle'})
            ul.find(".FW-UI_accordion-item-current").removeClass("FW-UI_accordion-item-current");
        }
        else {
            $(".FW-UI_accordion-list > LI:first .FW-UI_accordion-item-content").removeClass("patch");
            
            ul.find(".FW-UI_accordion-item-current .FW-UI_accordion-item-content").slideUp("normal", function(){
                $(".FW-UI_accordion-list > LI:first .FW-UI_accordion-item-content").removeClass("patch");
            });
            ul.find(".FW-UI_accordion-item-current").removeClass("FW-UI_accordion-item-current");
            li.find(".FW-UI_accordion-item-content").slideToggle("normal");
            li.addClass("FW-UI_accordion-item-current");
        }
        return false;
    });
    
    javascriptEnabled();
    
    
    $('#FW_quefer-slideshow').jcarousel({
        scroll: 3
    });
    $('#FW_campanyes-slideshow').jcarousel({
        scroll: 3
    });
    
    
    $("#FW_quefer-slideshow LI A").click(function(){
        $("#FW_quefer-slideshow LI").removeClass("current");
        $(this).parent().addClass("current");
        var indexThumb = $("#FW_quefer-slideshow LI").index($(this).parent());
        var indexedItem = $("#FW_quefer-box .FW-UI_slideshow-scene LI:eq(" + indexThumb + ")");
        $("#FW_quefer-box .FW-UI_slideshow-scene UL").animate({
            left: -indexedItem.position().left
        });
        return false;
    });
    
    $("#FW_campanyes-slideshow LI A").click(function(){
        $("#FW_campanyes-slideshow LI").removeClass("current");
        $(this).parent().addClass("current");
        
        var indexThumb = $("#FW_campanyes-slideshow LI").index($(this).parent());
        var indexedItem = $("#FW_campanyes-box .FW-UI_slideshow-scene LI:eq(" + indexThumb + ")");
        $("#FW_campanyes-box .FW-UI_slideshow-scene UL").animate({
            left: -indexedItem.position().left
        });
        return false;
    });
    
    
    if ($.browser.msie && $.browser.version <= 6) {
        /**
         * IE6 Opacity
         */
        $("#FW_cercar-tramit").append("<div class='FW_cercar-tramit-bg'></div>");
    }
    
    $("#FW-UI_surface-equipaments-target").click(function(e){
        var target = this;
        $(this).addClass("disabled-link");
        var helpWindow = $("#FW-UI_surface-equipaments-help").clone(true).remove();
        $("body").prepend(helpWindow);
        helpWindow.css({
            left: $(target).offset().left + 20,
            top: $(target).offset().top + $(target).height() + 5
        }).toggle();
        $("#FW-UI_surface-close-target").one("click", function(){
            helpWindow.toggle().remove();
            $(target).removeClass("disabled-link");
        });
        
        return false;
    });
    
    //equalHeighCols($(".FW_subcaixa"));
    
    var script;
    script = document.createElement("script");
    script.setAttribute("type", "text/javascript");
    script.setAttribute("src", "http://www10.gencat.cat/gencat/js/temperatures.js");
    script.setAttribute("defer", "defer");
    //script.setAttribute("charset","utf-8");
    document.getElementsByTagName("head")[0].appendChild(script);
    
    setScenesWidth();
    initQ();
    initEvt();
    
});

window.onresize = function(){
    setScenesWidth();
    var indexThumb = $("#FW_quefer-slideshow LI").index($("#FW_quefer-slideshow LI.current"));
    var indexedItem = $("#FW_quefer-box .FW-UI_slideshow-scene LI:eq(" + indexThumb + ")");
    $("#FW_quefer-box .FW-UI_slideshow-scene UL").css({
        left: -indexedItem.position().left
    });
    
    indexThumb = $("#FW_campanyes-slideshow LI").index($("#FW_campanyes-slideshow LI.current"));
    indexedItem = $("#FW_campanyes-box .FW-UI_slideshow-scene LI:eq(" + indexThumb + ")");
    $("#FW_campanyes-box .FW-UI_slideshow-scene UL").css({
        left: -indexedItem.position().left
    });
    equalHeighCols($(".FW_subcaixa"));
    
    
    if (currheight != document.documentElement.clientHeight) {
        if ($(".FW-UI_accordion-list > LI:first .FW-UI_accordion-item-content").is(":hidden")) {
            $(".FW-UI_accordion-list > LI:first .FW-UI_accordion-item-content").addClass("patch");
        }
    }
    currheight = document.documentElement.clientHeight;
    
}

function setScenesWidth(){
    var sceneWidth = $("#FW_quefer-box .FW-UI_slideshow-scene").width();
    $("#FW_quefer-box .FW-UI_slideshow-scene UL LI").width(sceneWidth);
    sceneWidth = $("#FW_campanyes-box .FW-UI_slideshow-scene").width(); /*Aunque no lo parezca, tiene diferente width al sceneWidth*/
    $("#FW_campanyes-box .FW-UI_slideshow-scene UL LI").width(sceneWidth);
    
    var queferLength = $("#FW_quefer-box .FW-UI_slideshow-scene UL LI").length;
    var campanyesLength = $("#FW_campanyes-box .FW-UI_slideshow-scene UL LI").length;
    
    $("#FW_quefer-box .FW-UI_slideshow-scene UL").width(queferLength * sceneWidth);
    $("#FW_campanyes-box .FW-UI_slideshow-scene UL").width(campanyesLength * sceneWidth);
    
}

function javascriptEnabled(){

    /**
     * Por defecto sin js se muestran todos desplegados. Con js contraemos todos menos el primero y lo ponemos a current.
     **/
    $("#FW_meteo-list LI:not(:first)").removeClass("FW-UI_accordion-item-current");
    //$(".FW-UI_slideshow-scene LI:not(:first)").addClass("FW_display-none"); /*EstÃ¡ comentado en pruebas. No tiene sentido (28 Oct 2009)*/
    
    /**
     * Establecemos un alto fijo como minimo para 1024px para los siguientes elementos:
     * 	- acordeÃ³n
     *  - header del acordeÃ³n
     *  - escenas o contenidos de la grid de Campanyes 012 y QuÃ¨ fer quan (los slideshows)
     */
    $(".FW-UI_accordion-list").addClass("FW-UI_accordion-list-height");
    $(".FW-UI_accordion-item-header, .FW-UI_accordion-item-header .jcarousel-clip").addClass("FW-UI_accordion-slideContent-height");
    $("#FW_grid_center .FW_caixa-content-wrapper, .FW-UI_slideshow-scene").addClass("FW-UI_grid-center-slideContent-height");
    
    /**
     * Creamos las felchas de desplazamiento y navegaciÃ³n del slideshow
     */
    var prev = document.createElement("A");
    prev.setAttribute("href", "#");
    //prev.setAttribute("title","Anterior");
    prev.className = "FW_meteo-left jcarousel-prev";
    $(".FW-UI_accordion-list .jcarousel-container:first-child").prepend(prev);
    
    var next = document.createElement("A");
    next.setAttribute("href", "#");
    //next.setAttribute("title","Seguent");
    next.className = "FW_meteo-right jcarousel-next";
    $(".FW-UI_accordion-list .jcarousel-container:first-child").prepend(next);
    
    
    var prev = document.createElement("A");
    prev.setAttribute("href", "#");
    //prev.setAttribute("title","Anterior");
    prev.className = "FW_arrow-back FW_float-left jcarousel-prev";
    
    var next = document.createElement("A");
    next.setAttribute("href", "#");
    //next.setAttribute("title","Seguent");
    next.className = "FW_arrow-next FW_float-right jcarousel-next";
    /**
     * Insertamos las felchas de desplazamiento y navegaciÃ³n del slideshow
     */
    $("#FW_quefer-box .FW-UI_slideshow-list-overflow").before(prev);
    $("#FW_quefer-box .FW-UI_slideshow-list-overflow").after(next);
    
    $("#FW_campanyes-box .FW-UI_slideshow-list-overflow").before($(prev).clone());
    $("#FW_campanyes-box .FW-UI_slideshow-list-overflow").after($(next).clone());
    
    /**
     * Mostramos el enlace y literal de [M&eacute;s exemples]
     */
    $("#FW-UI_surface-equipaments-target").toggleClass("FW_display-inline");
    
}

function equalHeighCols(cols){
    $(cols).css("height", "auto");
    var len = cols.length;
    max = 0, arr = new Array();
    for (var i = 0; i < len; i++) 
        arr.push($(cols[i]).innerHeight());
    max = arr.max();
    for (var i = 0; i < len; i++) 
        $(cols[i]).height(max);
}

Array.prototype.max = function(){
    var m = 0;
    for (var i = 0; i < this.length; i++) {
        if (this[i] > m) 
            m = this[i];
    }
    return m;
}

function ActivaTemps(){
    temps = temps + 500
    if (temps >= 4500) 
        CanviCapa()
    setTimeout(ActivaTemps, 500)
}


function addEvent(obj, evType, fn){
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, false);
        return true;
    }
    else 
        if (obj.attachEvent) {
            return obj.attachEvent("on" + evType, fn);
        }
        else {
            return false;
        }
}

function initQ(){
    var qid = $('#q').get(0);
    var qidtxt = $('#q').get(0).value;
    $('#cerques').get(0).removeChild(qid);
    CreateInputElement($('#cerques').get(0), 'text', 'q2', qidtxt);
    CreateInputElement($('#cerques').get(0), 'hidden', 'q', '');
}

function initEvt(){


    addEvent($('#cercadorOcult').get(0), 'focus', function(){
        if ($('#cercadorOcult').get(0).value == "cercar" ||
        $('#cercadorOcult').get(0).value == "buscar" ||
        $('#cercadorOcult').get(0).value == "search") {
            $('#cercadorOcult').get(0).value = "";
        }
    });
    addEvent($('#q2').get(0), 'focus', function(){
        if ($('#q2').get(0).value == "cerca" ||
        $('#q2').get(0).value == "buscar" ||
        $('#q2').get(0).value == "search") {
            $('#q2').get(0).value = "";
        }
    });
    addEvent($('#FW_cercar-tramit-pregunta').get(0), 'focus', function(){
        if ($('#FW_cercar-tramit-pregunta').get(0).value.indexOf("Escriviu aqu") != -1 ||
        $('#FW_cercar-tramit-pregunta').get(0).value.indexOf("Escriba aqu") != -1 ||
        $('#FW_cercar-tramit-pregunta').get(0).value.indexOf("Write your") != -1) {
            $('#FW_cercar-tramit-pregunta').get(0).value = "";
        }
    });
    addEvent($('#FW_traductor-keywords').get(0), 'focus', function(){
        if ($('#FW_traductor-keywords').get(0).value.indexOf("tradu") != -1 ||
        $('#FW_traductor-keywords').get(0).value.indexOf("transl") != -1) {
            $('#FW_traductor-keywords').get(0).value = "";
        }
    });
    
    addEvent($('#FW_equipament-form').get(0), 'submit', function(){
        //validaFormulari("FW_equipament-form")
        $("#q").get(0).value = encodeURI($("#q2").get(0).value);
    });
	
	/*addEvent($('#FW_equipament-form').get(0), 'blur', function(){
	  	$("#q").get(0).value = encodeURI($("#q2").get(0).value);
	});*/
    
    $("#FW_equipament-form").get(0).action = "http://www.gencat.cat/equipaments/cercador/index.htm";
    
    addEvent($('#FW_traductor-lang').get(0), 'change', function(){
        var sel = $('#FW_traductor-lang').get(0);
        switch (sel.options[sel.selectedIndex].value) {
            case "ca-oc":
            case "oc-ca":
            case "es-oc":
            case "oc-es":
            case "oc_aran-es":
            case "es-oc_aran":
            case "ca-oc_aran":
            case "oc_aran-ca":
                document.getElementsByName("FW_traductor-form")[0].action = "http://traductor.gencat.cat/jsp/trad.jsp";
                break;
            default:
                document.getElementsByName("FW_traductor-form")[0].action = "http://traductor.gencat.cat/text.do";
                break;
        }
        
    });
    
    addEvent(window, 'load', function(){
        if (document.getElementById) {
            //cercador
            if (document.getElementById("cercador2")) {
                validaFormulari("cercador2", "cercadorOcult", ["Si us plau, introdu\u00EFu les paraules a cercar.", "Por favor, introduzca las palabras a buscar.", "Type your search please."], ["cercar", "buscar", "search"]);
            }
            if (document.getElementById("FW_equipament-form")) {
                validaFormulari("FW_equipament-form", "q2", ["Si us plau, introdu\u00EFu les paraules a cercar.", "Por favor, introduzca las palabras a buscar.", "Type your search please."], ["cerca", "buscar", "search"]);
            }
            if (document.getElementById("FW_traductor-form")) {
                validaFormulari("FW_traductor-form", "FW_traductor-keywords", ["Si us plau, introdu\u00EFu les paraules a traduir.", "Por favor, introduzca las palabras a traducir.", "Type your translation text please."], ["tradueix", "traducir", "translate"]);
            }
            
        }
    });
    
}



function elTemps(){
    var strElTemps = "";
    
    if (document.getElementById) {
        try {
            if (arrTemp.length) {
                var conta_capes = 5;
                var provincia = "B";
                var poblacio = "";
                var capa = 1;
                var REG_exp = "";
                var trobat = false;
                
                for (var i = 0, j = document.getElementsByTagName("meta").length; i < j; i++) {
                    if (document.getElementsByTagName("meta")[i].getAttribute("content").toLowerCase().indexOf("utf-8") > -1) {
                        trobat = true;
                    }
                }
                $('#FW_meteo-list').empty();
                for (var i = 0; i < arrTemp.length; i++) {
                
                    if (arrTemp[i][0] != "") {
                        poblacio = arrTemp[i][1];
                        if (poblacio != "Barcelona" && poblacio != "Tarragona" && poblacio != "Lleida" && poblacio != "Girona" && poblacio != "Tortosa") 
                            continue;
                        strElTemps += "<li class=\"FW_meteo-soleado\"><div class=\"FW_meteo-info-wrapper\"><span class=\"FW_meteo-info\">";
                        if (trobat && encodeURI(poblacio).indexOf("%") > -1) {
                            poblacio = encodeURI(poblacio);
                            poblacio = poblacio.replace(/%D2%A4/g, "&Ograve;d");
                            poblacio = poblacio.replace(/%EF%BF%BD/g, "&Ograve;");
                            poblacio = poblacio.replace(/%20/g, "&nbsp;");
                        }
                        strElTemps += poblacio;
                        strElTemps += "<br />" + arrTemp[i][0] + " &#176;C" + "</span></div></li>";
                    }
                }
            }
        } 
        catch (e) {
        }
        
        if (strElTemps != "") {
            document.getElementById("FW_meteo-list").innerHTML = strElTemps;
            //ActivaTemps();
            $('#FW_meteo-list').jcarousel({
                scroll: 1,
                visible: 1
            });
        }
    }
    
    $("#FW_meteo-list LI").width($("#FW_meteo-list LI").parent().parent().outerWidth());
}


function add_param(errormsg){
	var continuar=true;
    var ca = "Si us plau, introdu\u00EFu el tr\u00E0mit a cercar."
    var es = "Por favor, introduzca el tr\u00E1mite a buscar."
    var en = "Please, type your procedure you are looking for."
    if (document.documentElement.getAttribute && (document.documentElement.getAttribute("lang") != "" || document.documentElement.getAttribute("xml:lang") != "")) {
        idioma = (document.documentElement.getAttribute("lang") ? document.documentElement.getAttribute("lang") : (document.documentElement.getAttribute("xml:lang") ? document.documentElement.getAttribute("xml:lang") : ""));
    }
    idioma = idioma.substring(0, idioma.indexOf("-"));
    idioma = idioma.toLowerCase();
    var cadena = trim11(document.frm_cerca_llenguatge_natural.request_param_pregunta_llenguatge_natural.value);
    switch (cadena) {
        case "":
            alert(eval(idioma));
            continuar = false;
            break;
            
        case "Escriviu aqu\u00ED la vostra pregunta":
            alert(idioma != "" ? eval(idioma) : ca);
            continuar = false;
            break;
            
        case "Escriba aqu\u00ED su pregunta":
            alert(idioma != "" ? eval(idioma) : es);
            continuar = false;
            break;
            
        case "Write your question here":
            alert(idioma != "" ? eval(idioma) : en);
            continuar = false;
            break;
    }
    if (continuar) 
        return true;
    else {
        document.frm_cerca_llenguatge_natural.request_param_pregunta_llenguatge_natural.focus();
        return false;
    }
}



function trim11(str){
    str = str.replace(/^\s+/, '');
    for (var i = str.length - 1; i >= 0; i--) {
        if (/\S/.test(str.charAt(i))) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    return str;
}

function CreateInputElement(parent, type, id, value){
    var elem = document.createElement('input');
    elem.setAttribute('type', type);
    elem.setAttribute('value', value);
    elem.setAttribute('name', id);
    elem.setAttribute('id', id);
    parent.appendChild(elem);
    return elem;
}

function setAction(dir){
    switch (dir) {
        case "ca-oc":
        case "oc-ca":
        case "es-oc":
        case "oc-es":
        case "oc_aran-es":
        case "es-oc_aran":
        case "ca-oc_aran":
        case "oc_aran-ca":
            document.getElementsByName("FW_traductor-form")[0].action = "http://traductor.gencat.cat/jsp/trad.jsp";
            break;
        default:
            document.getElementsByName("FW_traductor-form")[0].action = "http://traductor.gencat.cat/text.do";
            break;
    }
}


function validaFormulari(formcercador, caixacerca, texte, value ){
    if (!document.getElementById) 
        return;
    if (!document.getElementById(formcercador)) 
        return;
    
    var objFORM = document.getElementById(formcercador);
    
    if (objFORM.nodeName.toLowerCase() != "form") {
        objFORM = objFORM.getElementsByTagName("form");
        
        if (objFORM.length > 0) {
            objFORM = objFORM[0];
        }
        else {
            return;
        }
    }
    
    objFORM.onsubmit = function(){
		var continuar=true;
        var ca = texte[0]; 
        var es = texte[1]; 
        var en = texte[2]; 
        if (document.documentElement.getAttribute && (document.documentElement.getAttribute("lang") != "" || document.documentElement.getAttribute("xml:lang") != "")) {
            idioma = (document.documentElement.getAttribute("lang") ? document.documentElement.getAttribute("lang") : (document.documentElement.getAttribute("xml:lang") ? document.documentElement.getAttribute("xml:lang") : ""));
        }
        idioma = idioma.substring(0, idioma.indexOf("-"));
        idioma = idioma.toLowerCase();
        switch (document.getElementById(caixacerca).value) {
            case "":
				alert(eval(idioma));
                continuar = false;
                break;
                
            case value[0]:
                alert(idioma != "" ? eval(idioma) : ca);
                continuar = false;
                break;
                
            case value[1]:
                alert(idioma != "" ? eval(idioma) : es);
                continuar = false;
                break;
                
            case value[2]:
                alert(idioma != "" ? eval(idioma) : en);
                continuar = false;
                break;
        }
        if (continuar) 
            return true;
        else {
            
            document.getElementById(caixacerca).focus();
            return false;
        }
    };
    
}

