/*
 * Paginacio 
 */
function turn(pages, formulariId) {	
    var form = $(formulariId);
    ///Per si es el d'estadistiques
    if (form['enviaments.pages']) {
        form['enviaments.pages'].value = pages;
    }else{
        form['pages'].value = pages
    }
    if (form['enviaments.actiontodo']) {
        form['enviaments.actiontodo'].value = 'turnPage';
    }else{
        form['actiontodo'].value = 'turnPage';
    }
    form.submit();	
}
		
function go(page, formulariId) {
    var form = $(formulariId);
    ///Per si es el d'estadistiques
    if (form['enviaments.destinationPage']) {
        if (form['enviaments.destinationPage'].length) {
            $A(form['enviaments.destinationPage']).each(function(el){
                el.value = page;
            });
        }else{
            form['enviaments.destinationPage'].value = page;
        }
    }else{
        if (form['destinationPage'].length) {
            $A(form['destinationPage']).each(function(el){
                el.value = page;
            });
        }else{
            form['destinationPage'].value = page
        }
    }
    if (form['enviaments.actiontodo']) {
        form['enviaments.actiontodo'].value = 'goPage';
    }else{
        form['actiontodo'].value = 'goPage';
    }
    form.submit();
}

function esborraTots(actionToDo, confirmMsg, formulariId, event) {
    var form = $(formulariId);
    if (confirm(confirmMsg)) {
        if (actionToDo) {
            $('actiontodo').value = actionToDo;
        }
        form.submit();
    }
}

/*
 * Esborrat dels checkbox
 */
function esborraSelected(actionToDo, confirmMsg, formulariId, checkboxName, event) {
    var form = $(formulariId);

    var checkboxes = $$('input[name='+checkboxName+']');
    var anySelected = false;
    for (i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].checked) {
            anySelected = true;
        }
    }

    if (anySelected) {
        if (confirm(confirmMsg)) {            
            if (actionToDo) {
                $('actiontodo').value = actionToDo;
            }
            form.submit();
        }
    }
	
}


function previewURL(urlpre) {
    if (urlpre) {
        newWin= window.open(urlpre,'preview','dependent=yes,width=600,height=500,resizable=yes,scrollbars=yes,titlebar=yes');
    }
}


function showHideLlistatButlletins(index, event) {
	
    try {
        Event.stop(event);
    }catch (e) {
    }
    /*
     * Llista0
     * canviarClass0
     */
    
    //Link
    if ($('canviarClass'+index)) {
        if ($('canviarClass'+index).hasClassName('FW_eCanalsLinkSel')) {
            if ($('Llista'+index)) {
                if ($('Llista'+index).hasClassName('FW_InitHiddenTab')) {
                    $('Llista'+index).removeClassName('FW_InitHiddenTab')
                }
                $('Llista'+index).hide();
            }
            $('canviarClass'+index).removeClassName('FW_eCanalsLinkSel');
            $('canviarClass'+index).addClassName('FW_eCanalsLink');
        }else{
            $('canviarClass'+index).removeClassName('FW_eCanalsLink');
            $('canviarClass'+index).addClassName('FW_eCanalsLinkSel');
            if ($('Llista'+index)) {
                if ($('Llista'+index).hasClassName('FW_InitHiddenTab')) {
                    $('Llista'+index).removeClassName('FW_InitHiddenTab')
                }
                $('Llista'+index).show();
            }
        }
    }
}


function resetFormulari(input, event) {
    try {
        Event.stop(event);
    }catch (e) {
    }
    //Recuperem el formulari al que pertany el boto
    var formulari = $(input).up('form');
        
    var formElems = $(formulari).getElements();
    formElems.each(function(el) {
        if (el.type != 'submit' && el.type != 'reset') {                        
            if (el.type == 'checkbox' || el.type == 'radio' ) {
                el.checked = false;
            }else{
                el.clear();
            }
        }
    });
}

function focusFirstInputOn(formulariId) {	
    if ($(formulariId)) {
        var formElems = $(formulariId).getElements();
		
        var focused = false;
        var i = 0;
        do {
            //No fem el focus sobre elements de tipus hidden o readonly ni botons de submit (IE6 sembla tenir un problema
            //el focus sobre els submit)
            //s'hauria de mirar per visibilitat (per ie6)
            if (!formElems[i].readOnly && formElems[i].type != 'hidden' 
                && isVisible(formElems[i]) && formElems[i].type != 'submit') {
                formElems[i].focus();
                focused = true;
            }
            i++;
        }while (!focused && i < formElems.length);        
    }    
}

/*
 * Comprova si un element es visible. 
 */
function isVisible(element) {
    var result = false;
    if (element) {
        //el match amb el html el posem per el IE6
        if (element.match('body') || element.match('html')) {
            return true;
        }else{
            if (!element.visible()) {
                result = false;                
            }else{
                // Posem $(element.parentNode) per fer-ho cross-browser
                result = isVisible($(element.parentNode));
            }
        }
    }
    return result;
}



document.observe('dom:loaded', function() {
    /**
      * Si es un formulari, focus del 1er element (i no es un formulari tabulat)
      */
    if ($('formulariForm') && !$('FW_tabs')) {
        focusFirstInputOn('formulariForm');
    }
	
    if ($('preloginForm')) {
        focusFirstInputOn('preloginForm');
    }
	 
    if ($('changePassForm')) {
        focusFirstInputOn('changePassForm');
    }
	 
    if ($('invitationLoginForm')) {
        focusFirstInputOn('invitationLoginForm');
    }

    if ($('initForm')) {
        focusFirstInputOn('initForm');

        for (i = 0; i < $$('.FW_llistat-cerca').length; i++) {
            //Canvím l'estil del link pq apareguin l'estil del no seleccionat
            if ($('canviarClass'+i)) {
                $('canviarClass'+i).removeClassName('FW_eCanalsLinkSel');
                $('canviarClass'+i).addClassName('FW_eCanalsLink');
            }
        }
    }
	
    //Si es un llistat de butlletins
    if ($('servicesListForm')) {       
        for (i = 0; i < $$('.FW_llistat-cerca2').length; i++) {
            //Canvím l'estil del link pq apareguin l'estil del no seleccionat
            if ($('canviarClass'+i)) {
                $('canviarClass'+i).removeClassName('FW_eCanalsLinkSel');
                $('canviarClass'+i).addClassName('FW_eCanalsLink');
            }
        }

    }

    //Si es un llistat de butlletins
    if ($('multiidiomaForm')) {
        for (i = 0; i < $$('.FW_llistat-cerca2').length; i++) {
            //Canvím l'estil del link pq apareguin l'estil del no seleccionat
            if ($('canviarClass'+i)) {
                //Pot passar que en tinguem desplegats
                if ($('canviarClass'+i).hasClassName('FW_eCanalsLinkSel')) {
                    $('canviarClass'+i).removeClassName('FW_eCanalsLinkSel');
                    $('canviarClass'+i).addClassName('FW_eCanalsLink');
                }else if ($('canviarClass'+i).hasClassName('FW_eCanalsLink')) {
                    $('canviarClass'+i).removeClassName('FW_eCanalsLink');
                    $('canviarClass'+i).addClassName('FW_eCanalsLinkSel');
                }
            }
        }

    }


    //Si es un llistat de butlletins
    /*if ($('listForm')) {
        for (i = 0; i < $$('.FW_llistat-cerca2').length; i++) {
            //Canvím l'estil del link pq apareguin l'estil del no seleccionat
            if ($('canviarClass'+i)) {
                $('canviarClass'+i).removeClassName('FW_eCanalsLinkSel');
                $('canviarClass'+i).addClassName('FW_eCanalsLink');
            }
        }
    }*/


    //Si es el formulari de autoregistre (la 2ona condicio es per evitar-nos problemes amb IE7, confon form.id amb form.name)
    if ($('autoRegisterForm') && !$('formulariForm')) {
        focusFirstInputOn('autoRegisterForm');        
    }


    if ($("checkAll")) {
        //selectedItems
        var checkboxes = $$("input[name=selectedItems]");
        var cbControl = $("checkAll");

        cbControl.observe("click", function(){
            checkboxes.each(function(box){
            box.checked = cbControl.checked;});
        });
    }  
}); 
