
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="http://' + 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');
                document.getElementById('span_org_members').innerHTML=node.childNodes.item(i).getAttribute('members');
		document.getElementById('span_org_locations').innerHTML=node.childNodes.item(i).getAttribute('locations');
          }
         
       }

    } 
    
    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= node.childNodes.item(i).getAttribute('url');

                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='';
                                
                                /*
                                document.getElementById('p_pages').style.visibility='visible';
                                document.getElementById('div_results').style.visibility='visible';
                                document.getElementById('div_noresultsmsg').style.display='none';
                                document.getElementById('div_pg').style.visibility='visible';*/
                            }
                            else{
                                //document.getElementById('p_pages').style.display='none';
                                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='Results: '+ tr + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Page ' + cp + ' of ' 
                                + node.childNodes.item(i).getAttribute('totalpages');
                            }
                            else if(parseInt(node.childNodes.item(i).getAttribute('totalpages'))==1)
                            {
                                document.getElementById('p_pages').innerHTML= 'Results: 1'+ '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Page ' + cp + ' of ' + node.childNodes.item(i).getAttribute('totalpages');
                            } 
                           
                       
                            if (parseInt(cp)>1)
                            {
                                document.getElementById('paging_prev').style.visibility = 'visible';
                                document.getElementById('p_prev').innerHTML='<a href="#" onclick="javascript:loadcontacts(this,1);return false;">First</a>&nbsp;&nbsp;&nbsp;&nbsp; ' +
                                '<a href="#" onclick="javascript:loadcontacts(this,parseInt(cp)-1);return false;">< Previous</a>'
                                
                            }
                            else
                            {
                                //document.getElementById('paging_prev').style.display='none';
                                document.getElementById('paging_prev').style.visibility = 'hidden';
                            }
                            
                            if (parseInt(cp) < parseInt(node.childNodes.item(i).getAttribute('totalpages')))
                            {
                                document.getElementById('paging_next').style.visibility = 'visible';
                                var totalPages = node.childNodes.item(i).getAttribute('totalpages');
                                
                                document.getElementById('p_next').innerHTML= '<a href="#" onclick="javascript:loadcontacts(this,parseInt(cp)+1);return false;">Next ></a>&nbsp;&nbsp;&nbsp;&nbsp;'+
                                '<a href="#" onclick="javascript:loadcontacts(this,'+ totalPages + ');return false;">Last</a>';
                                
                            }
                            else
                            {
                                document.getElementById('paging_next').style.visibility = 'hidden';
                            }
                       
                        }
                    }
                    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++) 
                          {
                             if ( row.childNodes.item(x).childNodes.length > 0) 
                             {
                                arr[cnt] = row.childNodes.item(x).childNodes.item(0).data; 
                                cnt++;
                             }
                          }
                          addContact('div_con_list_frame',arr);
                    }
                                  
                }
             
           }

    } 
    
    var htmlEdit = document.getElementById('div_pg').innerHTML;
    
    
    var htmlEdit2 = htmlEdit.replace("reslist_paging", "reslist_paging2");
    htmlEdit2 = htmlEdit2.replace("paging_prev", "paging_prev2");
    htmlEdit2 = htmlEdit2.replace("p_prev", "p_prev2");
    htmlEdit2 = htmlEdit2.replace("paging_rep", "paging_rep2");
    htmlEdit2 = htmlEdit2.replace("p_pages", "p_pages2");
    htmlEdit2 = htmlEdit2.replace("paging_next", "paging_next2");
    htmlEdit2 = htmlEdit2.replace("p_next", "p_next2");
    document.getElementById('div_pg2').innerHTML = htmlEdit2;
}

function addContact(id,arr)
{
    var frame=document.getElementById(id);
    var newdiv = document.createElement('div');
    newdiv.setAttribute('id','res_row');
    var b;
    if(arr.length == 10)
    {
        b='<div id="res_item_name" style="clear:both"><p><a href="#" onclick="GetConDetails(' + arr[0] + ');return false;">' + arr[4] + ' ' + 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>';
    }
    else if(arr.length == 9)
    {
        b='<div id="res_item_name" style="clear:both"><p><a href="#" onclick="GetConDetails(' + arr[0] + ');return false;">' + arr[3] + ' ' + arr[2] + '</a></p></div>';    
        b= b + '<div id="res_item_job"><p>' + arr[4] + '&nbsp;</p></div>';
        b = b + '<div id="res_item_org"><p>' + arr[6] + '&nbsp;</p></div>';
        b = b + '<div id="res_item_country"><p>' + arr[5] + '&nbsp;</p></div>';
    }
    newdiv.innerHTML=b;
    frame.appendChild(newdiv);
}