var actualLang;
var camposHid = new Array();
var camposHidHtml = new Array();

function setLang(id) {
    var arrLang = document.getElementsByName("language");
    var pos1 = getLangPos(id);
    if (pos1>-1) {
        saveLangValues();
        changeLang(id);
        for(var i=0; i<camposHid.length; i++ ) {
            var nameHid = camposHid[i];
            var nameVis = "vis_"+nameHid;
            var arrHid = document.getElementsByName(nameHid);
            document.getElementsByName(nameVis)[0].value = arrHid[pos1].value;
            document.getElementsByName(nameVis)[0].className = 'form-campo-'+id;
        }
        for(var i=0; i<camposHidHtml.length; i++ ) {
            for(ll=0; ll<arrLang.length; ll++) {
                var fname = 'div_'+camposHidHtml[i] + arrLang[ll].value;
                var elHidDiv = document.getElementById(fname);
                if (elHidDiv!=null) {
                    elHidDiv.style.display = (ll==pos1) ? '' : 'none';
                }
            }
        }
    }
}

function saveLangValues() {
    if (actualLang!=null && ""!=actualLang) {
        pos2 = getLangPos(actualLang);
        if (pos2>-1) {
            for(i=0; i<camposHid.length; i++ ) {
                nameHid = camposHid[i];
                nameVis = "vis_"+nameHid;
                arrHid = document.getElementsByName(nameHid);
                arrHid[pos2].value = document.getElementsByName(nameVis)[0].value;
            }
        }
    }
}

function updateLangField(fieldName) {
    if (actualLang!=null && ""!=actualLang) {
        pos3 = getLangPos(actualLang);
        if (pos3>-1) {
            nameVis = "vis_"+fieldName;
            arrHid = document.getElementsByName(fieldName);
            arrHid[pos3].value = document.getElementsByName(nameVis)[0].value;
        }
    }
}

function registerMultiLang(fn) {
  camposHid[camposHid.length] = fn;
}

function registerMultiLangHtml(fn) {
  camposHidHtml[camposHidHtml.length] = fn;
}

function getLangPos(la) {
    var arrLang = document.getElementsByName("language");
    for(ll=0; ll<arrLang.length; ll++)
        if (la==arrLang[ll].value) return ll;
    return -1;
}

function changeLang(llll) {
    if (actualLang!=null && ""!=actualLang) {
        oldElem = document.getElementById('lang_'+actualLang);
        oldElem.className = "lang-unsel";
    }
    actualLang = llll;
    if (actualLang!=null && ""!=actualLang) {
        newElem = document.getElementById('lang_'+actualLang);
        newElem.className = "lang-sel";
    }

}