function fillProvince(regione)
{/*
    new Ajax.Request('GetProvince.metis', {method: 'post', parameters: {code: regione}, onSuccess: function(transport) {
        eval('var obj = '+transport.responseText);
        while ($('ja_IdProvincia').options.length > 0) {
            $('ja_IdProvincia').remove(0);
        }
        
        for (var i = 0; i< obj.province.length; i++) {
            var o = document.createElement("option");
            o.setAttribute("value",obj.province[i].value);
            o.appendChild(document.createTextNode(obj.province[i].text));
            $('ja_IdProvincia').appendChild(o);
        }
    } });*/
   //new Ajax.Updater('divProvincia', 'GetProvince.metis', {method: 'post', parameters: {code: regione} } );
   parseJsonToSelect('GetProvince.metis', 'ja_IdProvincia', regione);
}

function fillAttivita(settore)
{
    parseJsonToSelect('GetAttivita.metis', 'ja_IdAttivita', settore);
    //new Ajax.Updater('divAttivita', 'GetAttivita.metis', {method: 'post', parameters: {code: settore, attId: divId }});
}

function checkCampi() 
{
    if ($('ja_IdRegione').value != "" || $('ja_IdSettore').value != "" || $('ja_IdAttivita').value != "" || $('ja_freeText').value != "" || $('ja_IdTipologiaContratto').value != "") {
        $('campimancanti').style.display = 'none';
        return true;
    } else {
        $('campimancanti').style.display = 'block';
        return false;
    }
}

function parseJsonToSelect(url, divId, param) {
    new Ajax.Request(url, {method: 'post', parameters: {code: param}, onSuccess: function(transport) {
        eval('var obj = '+transport.responseText);
        while ($(divId).options.length > 0) {
            $(divId).remove(0);
        }
        
        var o = document.createElement("option");
        o.setAttribute("value", "");
        o.appendChild(document.createTextNode("Seleziona"));
        if (divId != "ja_IdProvincia")
            $(divId).appendChild(o);
        
        for (var i = 0; i< obj.elements.length; i++) {
            var o = document.createElement("option");
            o.setAttribute("value",obj.elements[i].value);
            o.appendChild(document.createTextNode(obj.elements[i].text));
            $(divId).appendChild(o);
        }
    } });
}

var fieldClassNames = new Object();
var focusOnCriteria = true;

function initCacheClassNames() {
    
    
    var res = [];
    $('ja_IdRegione').classNames().each(function(s) { res.push(s); });
    fieldClassNames['ja_IdRegione'] = res;
    
    res = [];
    $('ja_IdProvincia').classNames().each(function(s) { res.push(s); });
    fieldClassNames['ja_IdProvincia'] = res;
    
    res = [];
    $('ja_IdSettore').classNames().each(function(s) { res.push(s); });
    fieldClassNames['ja_IdSettore'] = res;
    
    res = [];
    $('ja_IdAttivita').classNames().each(function(s) { res.push(s); });
    fieldClassNames['ja_IdAttivita'] = res;
    
    res = [];
    $('ja_IdTipologiaContratto').classNames().each(function(s) { res.push(s); });
    fieldClassNames['ja_IdTipologiaContratto'] = res;
    
    res = [];
    $('ja_freeText').classNames().each(function(s) { res.push(s); });
    fieldClassNames['ja_freeText'] = res;
}

function resetForm() {
    new Validation("form1").reset();
}

function checkFieldClassNames() {
    try {
        if (!fieldClassNames.hasOwnProperty('ja_IdRegione')) {
            initCacheClassNames();
        }
    } catch (ex) {
        initCacheClassNames();
    }
}

function focusFreeText() {
    try {
        if (!focusOnCriteria) return;
        checkFieldClassNames();
        
        focusOnCriteria = false;
        
        resetForm();
        
        fieldClassNames['ja_IdRegione'].each(function(s) {
            $('ja_IdRegione').removeClassName(s);
        });
        fieldClassNames['ja_IdProvincia'].each(function(s) {
            $('ja_IdProvincia').removeClassName(s);
        });
        fieldClassNames['ja_IdSettore'].each(function(s) {
            $('ja_IdSettore').removeClassName(s);
        });
        fieldClassNames['ja_IdAttivita'].each(function(s) {
            $('ja_IdAttivita').removeClassName(s);
        });
        fieldClassNames['ja_IdTipologiaContratto'].each(function(s) {
            $('ja_IdTipologiaContratto').removeClassName(s);
        });
        fieldClassNames['ja_freeText'].each(function(s) {
            $('ja_freeText').addClassName(s);
        });

        
        
    } catch (Excep) {
    
    }
}

function focusCriteria() {
    try {
        if (focusOnCriteria) return;
        checkFieldClassNames();
        
        focusOnCriteria = true;
        
        resetForm();
        
        fieldClassNames['ja_IdRegione'].each(function(s) {
            $('ja_IdRegione').addClassName(s);
        });
        fieldClassNames['ja_IdProvincia'].each(function(s) {
            $('ja_IdProvincia').addClassName(s);
        });
        fieldClassNames['ja_IdSettore'].each(function(s) {
            $('ja_IdSettore').addClassName(s);
        });
        fieldClassNames['ja_IdAttivita'].each(function(s) {
            $('ja_IdAttivita').addClassName(s);
        });
        fieldClassNames['ja_IdTipologiaContratto'].each(function(s) {
            $('ja_IdTipologiaContratto').addClassName(s);
        });
        fieldClassNames['ja_freeText'].each(function(s) {
            $('ja_freeText').removeClassName(s);
        });
       
    } catch (Excep) {
    
    }
}

Validation.addAllThese([
    ['validate-provincia-selezionata','Selezionare una provincia', function(v, elm) {
        if (v != undefined && v.length == 0) return false;
        return true;
    }],
    ['validate-provincia-manca-regione', 'Selezionare una regione', function(v, elm) {
        if (v == undefined) return false;
        return true;
    }],
    ['validate-provincia-3', 'Puoi selezionare al massimo 3 province', function (v, elm) {
        if (v == undefined || v.length <= 3) return true;
        return false;
    }]
]);


if (!window.prototypeValidators) prototypeValidators = $A([]);
var validator = new Validation('form1', {onSubmit:true, focusOnError:true, stopOnFirst:false, immediate:true, useTitles:true});
prototypeValidators['form1'] = validator;
