//
/// loadd the vaiables in the form display
//
var ajxread = new Array();      /// icomming message structure
function matchForm(xml){
    fndLabel(xml);
    fndInput(xml);
    fndSelect(xml);
    fndTextarea(xml);
    /*
    $('textarea').each(function(indx){
        var id = $(this).attr('id');
        var lbl = $("textarea[id='"+id+"']").attr('id');
        $(xml).find(lbl).each(function(){
            var val1 = $(this).text();
            $("textarea[name='"+lbl+"']").val(val1);
        });
    });
*/
    //////Refresh(xml);
    /////    mesagw(' in match form befoew  lodbcard');
    lodbcard(xml);                // form dependant
    return;
}
//
// Function to handle inputs
//
function   fndInput(xml){
    var inps = new Array();      /// icomming message structure
    var godinp = new Array();   // candidate inputs;
    inps=document.getElementsByTagName('input');
    inpsl=inps.length;
    inpcnt=0
    for (idx=0;idx<inpsl;idx++){
        //
        /// skip all inputs that are not fields
        //
        if (inps[idx].parentNode.tagName !='DIV'){
            continue;
        }
        //
        /// skip all invisible inputs
        //
        if (inps[idx].parentNode.tagName=='FORM'){
            continue;
        }
        inpid=inps[idx].id;
        inpnam=inps[idx].name;
        mainfl=gelid('mainfl').content;
        godinpid=mainfl+dolar+inpnam;
        if (inpid.indexOf(godinpid)<0){
            continue;
        }
        godinp[inpcnt]=inps[idx];
        inpcnt++;
    }
    for (idx=0;idx<inpcnt;idx++){
        inp=godinp[idx].name;
        $(xml).find(inp).each(function(){
            idi=godinp[idx].id;
            ///            gelid(idi).value=$(this).text();
            document.getElementById(idi).value=$(this).text();
        });
    }
    return;
}
//
// Function to handle Labels
//
function   fndLabel(xml){
    var inps = new Array();      /// icomming message structure
    var godinp = new Array();   // candidate labels
    inps=document.getElementsByTagName('label');
    inpsl=inps.length;
    inpcnt=0
    for (idx=0;idx<inpsl;idx++){
        //
        //
        /// skip all labels that are not fields
        //
        if (inps[idx].parentNode.tagName !='DIV'){
            continue;
        }
        lbl='flddiv';
        lblid=inps[idx].id;
        if(lblid.indexOf(lbl)<0){
            continue;
        }
        godinp[inpcnt]=inps[idx];
        inpcnt++;
    }
    for (idx=0;idx<inpcnt;idx++){
        lbl=godinp[idx].id;
        ///        lblspl=godinp[idx].id.split('$');
        lblspl=godinp[idx].id.split(dolar);
        lastv=lblspl.length-1
        inp=lblspl[lastv];
        $(xml).find(inp).each(function(){
            var val1 = $(this).text();
            $("label[id='"+lbl+"']").text(val1);
        });
    }
    return;
}
//
// Function to handle Labels
//
function   fndSelect(xml){
    var inps = new Array();      /// icomming message structure
    var godinp = new Array();   // candidate selects
    inps=document.getElementsByTagName('select');
    inpsl=inps.length;
    inpcnt=0
    for (idx=0;idx<inpsl;idx++){
        //
        //
        /// skip all labels that are not fields
        //
        if (inps[idx].parentNode.tagName !='DIV'){
            continue;
        }
        inpnam=inps[idx].name;
        selid=inps[idx].id;
        if (inpnam==selid) {
            continue;
        }
        mainfl=gelid('mainfl').content;
        //        godinpid=mainfl+'$'+inpnam;
        godinpid=mainfl+dolar+inpnam;
        if(selid.indexOf(godinpid)<0){
            continue;
        }
        godinp[inpcnt]=inps[idx];
        inpcnt++;
    }
    for (idx=0;idx<inpcnt;idx++){
        lbl=godinp[idx].id;
        lblspl=lbl.split('$');
        lastv=lblspl.length-1
        inp=lblspl[lastv];
        $(xml).find(inp).each(function(){
            var val1 = $(this).text();
            ///             $("select[id='"+lbl+"']").text(val1);
            ///            optsel=$("#navrec option:selected");
            $("select[id='"+lbl+"']").val(val1);
        ////           $("select[id='"+lbl+"'] option:selected");
        });
    }
    return;
}
//
// Function to handle textarea
//
function   fndTextarea(xml){
    var inps = new Array();      /// icomming message structure
    var godinp = new Array();   // candidate selects
    inps=document.getElementsByTagName('textarea');
    inpsl=inps.length;
    inpcnt=0
    for (idx=0;idx<inpsl;idx++){
        //
        //
        /// skip all text areas  that are not fields
        //
        if (inps[idx].parentNode.tagName !='DIV'){
            continue;
        }
        inpnam=inps[idx].name;
        selid=inps[idx].id;
        if (inpnam==selid) {
            continue;
        }
        mainfl=gelid('mainfl').content;
        //        godinpid=mainfl+'$'+inpnam;
        godinpid=mainfl+dolar+inpnam;
        if(selid.indexOf(godinpid)<0){
            continue;
        }
        godinp[inpcnt]=inps[idx];
        inpcnt++;
    }
    for (idx=0;idx<inpcnt;idx++){
        txtid=godinp[idx].id;
        lblspl=txtid.split(dolar);
        lastv=lblspl.length-1
        inp=lblspl[lastv];
        tex=$(xml).find(inp).text();
        document.getElementById(txtid).textContent=tex;
        document.getElementById(txtid).value=tex;
    ///        gelid(lbl).textContent=tex;
    //        alert(inp+' in textare  '+tex);
    /*
        $(xml).find(inp).each(function(){
            var val1 = $(this).text();
           $("textarea[id='"+lbl+"']").text(val1);
           alert(' text  '+val1);
        });
*/
    }
    return;
}
//
// Functio to fiil object data
//
function matchObj(xml){
    bcrd=$('.bcard').attr('id');
    devlst=document.getElementById(bcrd).childNodes;
    nodlst=devlst.length;
    /*
    if (nodlst<1){
        return;
    }
*/
    divnam=$("div[id='"+bcrd+"']").children();
    divlen=divnam.length;
    for (idx=0;idx<divlen;idx++){
        dibcardi=divnam[idx].id;
        nams=dibcardi.split(dolar);
        naml=nams.length-1
        namdiv=nams[naml];
        $(xml).find(namdiv).each(function(){
            var val1= $(this).text();
            if (val1.length<1){
                val1='.....................';
            }
            ///                $("#"+dibcardi).text(val1);
            $("div[id='"+dibcardi+"']").text(val1);
        /////                 $("div[id=")
        })
    }
    /////                $("#"+dibcardi).text(val1);

    /*
    $('div'[class='bcard'>).each(function(){
        var id = $(this).attr('id');
        var div = $("div[id='"+id+"']").attr('id');
        $(xml).find(div).each(function(){
            var val1 = $(this).text();
            if (val1.length<1){
                val1='Undefined';
            }
            $("#"+div).text(val1);
        });
    });
*/
    fndInput(xml);
    return
}
////
// anonimouis function
//
//*
///Function to get a new record from server
//f
function getnr(optsel) {
    gelid('opmode').content='lookup';
    sndata=prepsnd(optsel,'lookup');     /// prepare data to send
    $.ajax({
        type:'POST',
        data: sndata,
        dataType: "text",
        url: 'php/ajxrwd.php',
        success: function(msg){
            parseincom(msg,'lookup');
            mesagw(ajxread[0]);                 // util.js prepare bottom message
            matchForm(ajxread[2]);              // match all the fields inputs,labels,selects ect
            reflds();                                          /// form dependant refresh fields
        }
    });
    return ;
}
//*
///Function to get a new record from server selkey is the key name for bcard
//     getnobj(bcar,bfile,rol,keyvl) ;     ////redwrt
// selkey - name of tghe object (bcard)
///bcarfil name of file to get the data from
// primk-- name of that file primary key
// keyval-- value of that key
function getnobj(bcar,keval) {
/*
    manfl=gelid('mainfl').content;
    opmode=gelid('opmode').content;
    primke=gelid('primak').content;
    keynum=gelid('keyval').content;
    lb=gelid(selkey).content;
    gelid('mainfl').content=bcarfile;
    gelid('primak').content=primk;
    gelid('keyval').content=lb;
*/
///    sndata=prepsnd(bcar,'refresh');      /// in preparse.js prepare data to send
    sndata=prepsnobj(bcar,keval);     //preparse.js
    $.ajax({
        type:'POST',
        data: sndata,
        dataType: "text",
        url: 'php/ajxrwd.php',
        success: function(msg){
            parseincom(msg,'refresh');              // preparse.js
            mesagw(ajxread[0]);                        // util.js addf the mesage
            //            $('#msgbox').html(ajxread[0]);
            //           gelid('mesagbox').content=ajxread[0];
            //            openDialog();            // util.js
            matchObj(ajxread[2]);
        }
    });
/*
    gelid('mainfl').content=manfl;
    gelid('primak').content=primke;
    gelid('keyval').content=keynum;
*/
    return ;
}

