var accepted_fields_array ='';
function showHideFields(fields,showIf,v)
    {
    if(fields.constructor.toString().indexOf("Array") != -1 && fields.length>1)
        {// If is array
        var ind_of = fakeIndexOf(showIf,v);
        if(ind_of!=-1)
            {// If value 'v' exists
            //-- Split the value in the right field range
            accepted_fields_array = fields[ind_of].split("-");
            for(f in fields)
                {
                if(f==ind_of)
                    {
                    for(i in accepted_fields_array)
                        {
                        $('#div_f_'+accepted_fields_array[i]).show();
                        }
                    }
                else
                    {
                    var fields_array = fields[f].split("-");
                    for(i in fields_array)
                        {
                        if(fakeIndexOf(accepted_fields_array,fields_array[i])==-1)
                            {
                            $('#div_f_'+fields_array[i]).hide();
                            $('#div_f_'+fields_array[i]+' select').val(-1);
                            $('#div_f_'+fields_array[i]+' input[@type="text"]').val("");
                            }
                        }
                    }
                }

            /* OLD CODE
            for(i in showIf)
                {
                console.log(fields_array+' == '+showIf[i]);
                if(fakeIndexOf(fields_array,showIf[i])==-1)
                    {// Hide if wrong value 
                    $('#div_f_'+showIf[i]).hide();
                    $('#div_f_'+showIf[i]+' select').val(-1);
                    $('#div_f_'+showIf[i]+' input[@type="text"]').val("");
                    }
                else
                    {// Show if god value
                    $('#div_f_'+showIf[i]).show();
                    }
                }
            */
            }
        }
    else if(fields.length==1)
        {
        fields=fields+"";
        if(v == showIf)
            {
            
            var fields_array = fields.split("-");
            for(i in fields_array)
                {
                $('#div_f_'+fields_array[i]).show();
                }
            }
        else
            {
            var fields_array = fields.split("-");
            for(i in fields_array)
                {
                $('#div_f_'+fields_array[i]).hide();
                $('#div_f_'+fields_array[i]+' select').val(-1);
                $('#div_f_'+fields_array[i]+' input[@type="text"]').val("");
                }
            }
        }
    }
    
//-- Correction to IE bug
function fakeIndexOf(_array,_obj)
    {
    if(!_array.indexOf)
        {
        for(var i=0; i<_array.length; i++)
            {
            if(_array[i]==_obj){ return i; }
            }
        return -1;
        }        
    else
        {
        return _array.indexOf(_obj);
        }
    }













/* OLD CODE
function showHideFields(fields,showIf,v)
    {
    if(fields.constructor.toString().indexOf("Array") != -1 && fields.length>1)
        {// If is array
        var ind_of = fakeIndexOf(showIf,v);
        if(ind_of!=-1)
            {// If value 'v' exists
            var all_fields=new Array();
            //-- Split the value in the right field range
            var fields_to_show = fields[ind_of].split("-");

            // Get all fields to show and hide
            for(i_f in fields)
                {
                var tmp_array=fields[i_f].split("-")
                for(ita in tmp_array)
                    {
                    var ind_of_tmp = fakeIndexOf(all_fields,tmp_array[ita]);
                    if(ind_of_tmp==-1)all_fields.push(tmp_array[ita]);
                    }
                }            

            // Begin testing                        
            for(i in all_fields)
                {
                if(fakeIndexOf(fields_to_show,all_fields[i])==-1)
                    {// Hide if wrong value 
                    $('#div_f_'+all_fields[i]).hide();
                    $('#div_f_'+all_fields[i]+' select').val(-1);
                    $('#div_f_'+all_fields[i]+' input[@type="text"]').val("");
                    }
                else
                    {// Show if god value
                    $('#div_f_'+all_fields[i]).show();
                    }
                }
            }
        else
            {
            for(i in fields)
                {
                $('#div_f_'+fields[i]).hide();
                $('#div_f_'+fields[i]+' select').val(-1);
                $('#div_f_'+fields[i]+' input[@type="text"]').val("");
                }
            }
        }
    else if(fields.length==1)
        {
        var show_if=showIf.toString();
        var check_split=fakeIndexOf(show_if,'-');
        if(check_split!=-1)
            {
            var tmp_value='-'+v+'-';
            var value=tmp_value.toString();
            
            if(value)var check_ifs=fakeIndexOf(show_if,value);
            if(check_ifs!=-1)
                {
                $('#div_f_'+fields).show();
                }
            else
                {
                $('#div_f_'+fields).hide();
                $('#div_f_'+fields+' select').val(-1);
                $('#div_f_'+fields+' input[@type="text"]').val("");
                }            
            }
        else
            {
            if(v == showIf)
                {
                $('#div_f_'+fields).show();
                }
            else
                {
                $('#div_f_'+fields).hide();
                $('#div_f_'+fields+' select').val(-1);
                $('#div_f_'+fields+' input[@type="text"]').val("");
                }
            }
        }
    }
    
//-- Correction to IE bug
function fakeIndexOf(_array,_obj)
    {
    if(!_array.indexOf)
        {
        for(var i=0; i<_array.length; i++)
            {
            if(_array[i]==_obj){ return i; }
            }
        return -1;
        }        
    else
        {
        return _array.indexOf(_obj);
        }
    }
*/