    
    function doFormTransfer(pSourceForm, pTargetForm)
    {
        var j = 0;
        var i = 0;
        
        var nameRegExp = new RegExp("src_");
        var result = false;

        while (pTargetForm.elements[j].name != "osf")
        {
             j++;
        }
        while (pSourceForm.elements[i].name != "osf")
        {
             i++;
        }
        for ( ; i< pSourceForm.elements.length;i++)
        {
            var f = pSourceForm.elements[i];
            var e = pTargetForm.elements[j];
            var value = null;
            
            result =  nameRegExp.test(f.name);
            
            if (result == false) 
            {
                // element is to be copied to hidden form
                if ( f.type =="text"||f.type =="textarea"||f.type=="hidden" )
                {
                    e.value = f.value;
                    j++;
                }
                else if((f.type =="radio")&&f.checked)
                {
                    e.value = f.value;
                    j++;
                }
                else if(f.type=="checkbox")
                {
                    if(f.checked) e.value = f.value;
                    j++;
                }
                else if (f.type =="select-one")
                {
                    for(var k=0;k<f.options.length;k++)
                    {
                        if(f.options[k].selected)
                        {
                             e.value = f.options[k].value;
                             j++;
                        }
                    }
                }               
            } 
        }
    }
    function doSearchSubmit(pApplyString, pActionField, pSourceForm, pTargetForm)
    {
        doFormTransfer(pSourceForm, pTargetForm);
        pActionField.value = pApplyString;
        pTargetForm.submit();
    }
    
    function FolderTitleChanged(pForm)
    {
        pForm.fi.value ="";
        pForm.fs.value ="";
    }
    
        var datatype_op_vals = new Array()
        var datatype_op_disp = new Array()
        var boolean_operator_values = new Array()
        var boolean_operator_display = new Array()
            boolean_operator_values[0]  = "equal"
            boolean_operator_display[0] = "Equals"
            datatype_op_vals["boolean"] = boolean_operator_values
            datatype_op_disp["boolean"] = boolean_operator_display
        var date_operator_values = new Array()
        var date_operator_display = new Array()
            date_operator_values[0]  = "equal"
            date_operator_display[0] = "Equals"
            date_operator_values[1]  = "greaterthan"
            date_operator_display[1] = "Greater than"
            date_operator_values[2]  = "lessthan"
            date_operator_display[2] = "Less than"
            datatype_op_vals["date"] = date_operator_values
            datatype_op_disp["date"] = date_operator_display
        var number_operator_values = new Array()
        var number_operator_display = new Array()
            number_operator_values[0]  = "equal"
            number_operator_display[0] = "Equals"
            number_operator_values[1]  = "greaterthan"
            number_operator_display[1] = "Greater than"
            number_operator_values[2]  = "lessthan"
            number_operator_display[2] = "Less than"
            datatype_op_vals["number"] = number_operator_values
            datatype_op_disp["number"] = number_operator_display
        var text_operator_values = new Array()
        var text_operator_display = new Array()
            text_operator_values[0]  = "containsall"
            text_operator_display[0] = "Contains all"
            text_operator_values[1]  = "containsany"
            text_operator_display[1] = "Contains any"
            text_operator_values[2]  = "like_all"
            text_operator_display[2] = "Partially match all"
            text_operator_values[3]  = "like_any"
            text_operator_display[3] = "Partially match any"
            text_operator_values[4]  = "near"
            text_operator_display[4] = "Terms near each other"
            text_operator_values[5]  = "soundexall"
            text_operator_display[5] = "Sound like all"
            text_operator_values[6]  = "soundexany"
            text_operator_display[6] = "Sound like any"
            text_operator_values[7]  = "fuzzyall"
            text_operator_display[7] = "Spelled like all"
            text_operator_values[8]  = "fuzzyany"
            text_operator_display[8] = "Spelled like any"
            datatype_op_vals["text"] = text_operator_values
            datatype_op_disp["text"] = text_operator_display
        var file_operator_values = new Array()
        var file_operator_display = new Array()
            file_operator_values[0]  = "containsall"
            file_operator_display[0] = "Contains all"
            file_operator_values[1]  = "containsany"
            file_operator_display[1] = "Contains any"
            file_operator_values[2]  = "like_all"
            file_operator_display[2] = "Partially match all"
            file_operator_values[3]  = "like_any"
            file_operator_display[3] = "Partially match any"
            file_operator_values[4]  = "near"
            file_operator_display[4] = "Terms near each other"
            file_operator_values[5]  = "soundexall"
            file_operator_display[5] = "Sound like all"
            file_operator_values[6]  = "soundexany"
            file_operator_display[6] = "Sound like any"
            file_operator_values[7]  = "fuzzyall"
            file_operator_display[7] = "Spelled like all"
            file_operator_values[8]  = "fuzzyany"
            file_operator_display[8] = "Spelled like any"
            datatype_op_vals["file"] = file_operator_values
            datatype_op_disp["file"] = file_operator_display
        var url_operator_values = new Array()
        var url_operator_display = new Array()
            url_operator_values[0]  = "containsall"
            url_operator_display[0] = "Contains all"
            url_operator_values[1]  = "containsany"
            url_operator_display[1] = "Contains any"
            url_operator_values[2]  = "like_all"
            url_operator_display[2] = "Partially match all"
            url_operator_values[3]  = "like_any"
            url_operator_display[3] = "Partially match any"
            url_operator_values[4]  = "near"
            url_operator_display[4] = "Terms near each other"
            url_operator_values[5]  = "soundexall"
            url_operator_display[5] = "Sound like all"
            url_operator_values[6]  = "soundexany"
            url_operator_display[6] = "Sound like any"
            url_operator_values[7]  = "fuzzyall"
            url_operator_display[7] = "Spelled like all"
            url_operator_values[8]  = "fuzzyany"
            url_operator_display[8] = "Spelled like any"
            datatype_op_vals["url"] = url_operator_values
            datatype_op_disp["url"] = url_operator_display
        var plsql_operator_values = new Array()
        var plsql_operator_display = new Array()
            plsql_operator_values[0]  = "containsall"
            plsql_operator_display[0] = "Contains all"
            plsql_operator_values[1]  = "containsany"
            plsql_operator_display[1] = "Contains any"
            plsql_operator_values[2]  = "like_all"
            plsql_operator_display[2] = "Partially match all"
            plsql_operator_values[3]  = "like_any"
            plsql_operator_display[3] = "Partially match any"
            plsql_operator_values[4]  = "near"
            plsql_operator_display[4] = "Terms near each other"
            plsql_operator_values[5]  = "soundexall"
            plsql_operator_display[5] = "Sound like all"
            plsql_operator_values[6]  = "soundexany"
            plsql_operator_display[6] = "Sound like any"
            plsql_operator_values[7]  = "fuzzyall"
            plsql_operator_display[7] = "Spelled like all"
            plsql_operator_values[8]  = "fuzzyany"
            plsql_operator_display[8] = "Spelled like any"
            datatype_op_vals["plsql"] = plsql_operator_values
            datatype_op_disp["plsql"] = plsql_operator_display
        var other_operator_values = new Array()
        var other_operator_display = new Array()
            other_operator_values[0]  = "equal"
            other_operator_display[0] = "Equals"
            datatype_op_vals["other"] = other_operator_values
            datatype_op_disp["other"] = other_operator_display
        
    function ChangedAttribute(pForm, elementidx)
    {                
        if (elementidx == null)
        {
            pForm.av.value = "";
            pForm.ao.options.length = 0;
    
            var curr_data_type = pForm.ad.value;

            for (var i=0; i<=datatype_op_vals[curr_data_type].length-1; i++) 
            {
                pForm.ao.options[i] = new Option(datatype_op_disp[curr_data_type][i],datatype_op_vals[curr_data_type][i]) 
            }

            pForm.ao.options[0].selected = true;
        }
        else
        {
            pForm.av[elementidx].value = "";
            pForm.ao[elementidx].options.length = 0;

            var curr_data_type = pForm.ad[elementidx].value;

            for (var i=0; i<=datatype_op_vals[curr_data_type].length-1; i++) 
            {
                pForm.ao[elementidx].options[i] = new Option(datatype_op_disp[curr_data_type][i],datatype_op_vals[curr_data_type][i]) 
            }

            pForm.ao[elementidx].options[0].selected = true;
        }
    }
    
