
function ProcessForm(sender,Values)
{

    if (Values != undefined) 
    {
        var cv=Values	
    }
    else
    {
        var cv=GetValues(controls,true,false,PagePrefix)	
    }
      
    var ajax1=new Ajax(
        function(xml)
        {
          FillControls(xml.getElementsByTagName('root').item(0),PagePrefix);
          FinishControls(controls,PagePrefix);
        }
    );
    
    var opts = new Array()
    opts[0]="CurrentValues=" + escape(cv);
    opts[1]="PreviousValues=" + escape(PreviousValues)
    
    ajax1.get('DirectoryForm',opts,'responseXML');

    PreviousValues=cv;

}

function ProcessFormContacts(sender,Values)
{

    if (Values != undefined) 
    {
        var cv=Values	
    }
    else
    {
        var cv=GetValues(controls_contacts,true,false,PagePrefix)	
    }
      
    var ajax1=new Ajax(
        function(xml)
        {
          FillControls(xml.getElementsByTagName('root').item(0),PagePrefix);
          FinishControls(controls_contacts,PagePrefix);
        }
    );
    
    var opts = new Array()
    opts[0]="CurrentValues=" + escape(cv);
    opts[1]="PreviousValues=" + escape(PreviousValues)
    
    ajax1.get('DirectoryFormContacts',opts,'responseXML');

    PreviousValues=cv;

}
   
function GetOrgDetails()
{

    var ajaxd=new Ajax(
        function(xml)
        {
          OrgDetails(xml.getElementsByTagName('root').item(0));
        }
    );
    
    var opts = new Array()
    opts[0]="orID=" + document.getElementById(PagePrefix + 'dpl_or_org_search').value;
    ajaxd.get('DirectoryOrganisationDetails',opts,'responseXML');

}

function GetConDetails(coid)
{

    var ajaxc=new Ajax(
        function(xml)
        {
          ConDetails(xml.getElementsByTagName('root').item(0));
        }
    );
    
    var opts = new Array()
    opts[0]="coID=" + coid;
    ajaxc.get('DirectoryContactDetails',opts,'responseXML');

}

function OrgDetails(root)
{

   if(root == undefined)
   {
        var c= document.getElementById('dir_res');
        c.style.display='none'; 
        alert('No information available for this organisation');
        return null;
   }

   for (var iNode = 0; iNode < root.childNodes.length; iNode++) // loop through sets offscreenBuffering data 
    {
       
       var node = root.childNodes.item(iNode);
       
       for (i =0; i < node.childNodes.length; i++) // loop through rows 
       {
          
          if (node.childNodes.item(i).tagName != undefined)
          {
                document.getElementById('span_org_name').innerHTML =node.childNodes.item(i).getAttribute('name');
                document.getElementById('span_org_url').innerHTML='<a href="' + node.childNodes.item(i).getAttribute('url') +'" target=_blank>' + node.childNodes.item(i).getAttribute('url') + '</a>';
                document.getElementById('span_org_sector').innerHTML=node.childNodes.item(i).getAttribute('sector');

          }
         
       }

    } 
    
    var c= document.getElementById('dir_res');
    c.style.display=''; 
    
    c=document.getElementById(PagePrefix + 'txt_or');
    if (c)
    {
      var v=document.getElementById(PagePrefix + 'dpl_or_org_search');
      c.value=v.options[v.selectedIndex].text;
    }  
}

function ConDetails(root)
{

   for (var iNode = 0; iNode < root.childNodes.length; iNode++) // loop through sets offscreenBuffering data 
    {
       
       var node = root.childNodes.item(iNode);
       
       for (i =0; i < node.childNodes.length; i++) // loop through rows 
       {
          
          if (node.childNodes.item(i).tagName != undefined)
          {
                document.getElementById('span_con_name').innerHTML =node.childNodes.item(i).getAttribute('name');
                document.getElementById('span_con_jt').innerHTML=node.childNodes.item(i).getAttribute('jt');
                document.getElementById('span_con_org').innerHTML='<a href="http://' + node.childNodes.item(i).getAttribute('url') +'" target=_blank>' + node.childNodes.item(i).getAttribute('url') + '</a>';

                document.getElementById('span_con_address').innerHTML=node.childNodes.item(i).getAttribute('address');
                
                document.getElementById('span_con_phone').innerHTML=node.childNodes.item(i).getAttribute('phone');
                document.getElementById('span_con_fax').innerHTML=node.childNodes.item(i).getAttribute('fax');
                document.getElementById('span_con_email').innerHTML='<a href="mailto:' + node.childNodes.item(i).getAttribute('email') +'" target=_blank>' + node.childNodes.item(i).getAttribute('email') + '</a>';

          }
         
       }

    } 
    
    var c= document.getElementById('div_con_details');
    c.style.display=''; 
  
}

function loadcontacts(c,pgn)
{
    var cv="";
    var c= document.getElementById('dir_res');
    c.style.display='none'; 
    
    c= document.getElementById('div_org_form');
    c.style.display='none'; 

    c= document.getElementById('div_con_details');
    c.style.display='none'; 
    
    c= document.getElementById('p_back');
    c.style.display=''; 
    
    var ajaxc=new Ajax(
        function(xml)
        {
          ContactList(xml.getElementsByTagName('root').item(0));
          gotoanchor('anchor_top');
        }
    );
    
    var cv=GetValues(controls_contacts,false,false,PagePrefix);
    	
    var opts = new Array();
    opts[0]="Values=" +escape(cv);
    opts[1]="organisation=" + escape(document.getElementById(PagePrefix + 'txt_or').value);
    opts[2]="name=" + escape(document.getElementById(PagePrefix + 'txt_name').value);
    opts[3]="page=" + pgn;

    ajaxc.get('DirectoryContacts',opts,'responseXML');

}

function ContactList(root)
{

   document.getElementById('p_pages').style.display='none';
   document.getElementById('div_results').style.display='none';
   document.getElementById('div_pg').style.display='none';

   if(root == undefined)
   {
       var c= document.getElementById('div_con_list');
       c.style.display='none';
       
       c = document.getElementById('reslist_paging');
       c.style.display='none';
       return null;
   }
   else
   {
       var c= document.getElementById('div_con_list');
       c.style.display='';
   }
   
   var tp
   
    var element = document.getElementById('div_con_list_frame');
    while (element.firstChild) 
    {
    element.removeChild(element.firstChild);
    } 

    for (var iNode = 0; iNode < root.childNodes.length; iNode++) // loop through sets offscreenBuffering data 
    {
       
           var node = root.childNodes.item(iNode);
              
           for (i =0; i < node.childNodes.length; i++) // loop through rows 
           {
           
                  if (node.childNodes.item(i).tagName != undefined)
                  {
                  
                    if (Left(node.childNodes.item(i).getAttribute('id'),6)=='param_')
                    {
                        if(node.childNodes.item(i).getAttribute('id')=='param_paging')
                        {
                            
                            cp=node.childNodes.item(i).getAttribute('currentpage');
                            
                            var c = document.getElementById('reslist_paging');
                            c.style.display='';
                            
                            var tr=node.childNodes.item(i).getAttribute('totalrecords');
                            if(tr>0){
                                document.getElementById('p_pages').style.display='';
                                document.getElementById('div_results').style.display='';
                                document.getElementById('div_noresultsmsg').style.display='none';
                                document.getElementById('div_pg').style.display='';
                            }
                            else{
                                document.getElementById('p_pages').style.display='none';
                                document.getElementById('div_noresultsmsg').style.display='';
                            }
                            
                            if (parseInt(node.childNodes.item(i).getAttribute('totalrecords'))>1)
                            {
                                document.getElementById('p_pages').innerHTML='page ' + cp + ' of ' + node.childNodes.item(i).getAttribute('totalpages') + ', ' + tr + ' records'
                            }
                            else if(parseInt(node.childNodes.item(i).getAttribute('totalpages'))==1)
                            {
                                document.getElementById('p_pages').innerHTML='page ' + cp + ' of ' + node.childNodes.item(i).getAttribute('totalpages') + ', 1 record'
                            } 
                           
                       
                            if (parseInt(cp)>1)
                            {
                                document.getElementById('paging_prev').style.display='';
                                document.getElementById('p_prev').innerHTML='<a href="#" onclick="javascript:loadcontacts(this,parseInt(cp)-1);return false;">Previous</a>'
                            }
                            else
                            {
                                document.getElementById('paging_prev').style.display='none';
                            }
                            
                            if (parseInt(cp) < parseInt(node.childNodes.item(i).getAttribute('totalpages')))
                            {
                                document.getElementById('paging_next').style.display='';
                                document.getElementById('p_next').innerHTML='<a href="#" onclick="javascript:loadcontacts(this,parseInt(cp)+1);return false;">Next</a>'
                            }
                            else
                            {
                                document.getElementById('paging_next').style.display='none';
                            }
                       
                        }
                    }
                    else
                    {
                    
                          var row = node.childNodes.item(i);
                         
                          var len = parseInt(row.childNodes.length / 2);
                          var arr = new Array(len);
                          var cnt = 0;
                          var e=0;

                          for (x = 0; x < row.childNodes.length; x++)
                          {
                             var eNode = row.childNodes[x];
                             if(eNode.nodeType == 1)
                             {
                             	if ( eNode.childNodes.length > 0)
                                   arr[cnt] = eNode.childNodes.item(0).data;
                                else
                             	   arr[cnt] = "";
                                cnt++;
                             }
                          }

                          addContact('div_con_list_frame',arr);

                    }
                                  
                }
             
           }

    } 

}

function addContact(id,arr)
{
    var frame=document.getElementById(id);
    var newdiv = document.createElement('div');
    newdiv.setAttribute('id','res_row');
    
    var b='<div id="res_item_name" style="clear:both"><p><a href="#" onclick="GetConDetails(' + arr[0] + ');return false;">' + arr[2] + ' ' + arr[4] + ' ' + arr[1] + ' ' + arr[3] + '</a></p></div>';
    b= b + '<div id="res_item_job"><p>' + arr[5] + '&nbsp;</p></div>';
    b = b + '<div id="res_item_org"><p>' + arr[7] + '&nbsp;</p></div>';
    b = b + '<div id="res_item_country"><p>' + arr[6] + '&nbsp;</p></div>';
    b= b + '<div id="res_item_member"><p>' + arr[8] + '&nbsp;</p></div>';
                            
    newdiv.innerHTML=b;
    frame.appendChild(newdiv);

}