/*************************************************************************
  Searching of static Html content and highlight
  date created : 22/07/2006
  modified     : 01/09/2006
*************************************************************************/
var num_result=0;

function expandDL(id) {
  var x = document.getElementById(id);

  if (x.style.display == 'block') x.style.display = 'none';
  else x.style.display = 'block';
}

function expandIt(id) { 
  var x = document.getElementsByTagName('dd');
  for (var i=0; i<x.length; i++) {
     var result_txt = x[i].innerHTML;
     var re = new RegExp("red","ig");

     var r = result_txt.replace(/<font[^>]*>/g, '');
     r = r.replace(/<\/font>/g, '');
     x[i].innerHTML = r;
  }

  //close all by default
 for (var i=0; i<x.length; i++) {
     temp_index = x[i].getAttribute('id');
     id_index = temp_index.split("_");

     if (id_index[0] == id) continue;
     x[i].style.display = 'none';
 }

  var opened = false;
  for (i=0; i<x.length; i++) {
    temp_index = x[i].getAttribute('id');
    id_index = temp_index.split("_");

    if (id_index[0]==id) {
      //if any of 'dd' opens then assumes the entire 'tr' opens
      if (x[i].style.display == "block") {
        opened = true;
        break;
      }
    }
  }

  for (i=0; i<x.length; i++) {
    temp_index = x[i].getAttribute('id');
    id_index = temp_index.split("_");

    if (id_index[0]==id) {
      if (opened) {
       x[i].style.display = 'none'; 
      } else x[i].style.display = 'block';
    }
  }
}


function search(f) {
  var keyword, key;
  if (arguments[0] != null) key = f.txt_search.value;
  else if (arguments[1] != null) key = arguments[1];

  var x = document.getElementsByTagName("dd");

  //remove pervious emphasis
  for (var i=0; i<x.length; i++) {
    var result_txt = x[i].innerHTML;

     r = result_txt.replace(/<font[^>]*>/g, '');
     r = r.replace(/<\/font>/g, '');
     x[i].innerHTML = r;
  }

  var txt, r, re, results_arr=new Array(), result='', j=0;
  keyword = key.replace(/^\s*|\s*$/g, ""); //remove space
  keyword = keyword.toLowerCase();

  //if keyword less then 2 chars skip
  //add some forbidden words
if (keyword.length<2 || keyword=='br' || keyword=='strong'
    || keyword.length=='ul' || keyword.length=='li'
    || keyword.length=='dd'|| keyword.length=='dt'
    || keyword.length=='div'|| keyword.length=='span'
    || keyword.length=='style' || keyword.length=='td' 
    || keyword.length=='tr' ||  keyword.length=='table' 
    || keyword.length=='id' ||  keyword.length=='name'
    ||  keyword.length=='class' ||  keyword.length=='img'
    ||  keyword.length=='align' ||  keyword.length=='font'
    ||  keyword.length=='color' ) 
    return;


  //start searching
  for (var i=0; i<x.length; i++) {
    txt = x[i].innerHTML;
 // txt = x[i].innerText || x[i].textContent;
    re = new RegExp(keyword,"i");  //partial match
    r = txt.match(re);

    //get id(s) name for <dd>
   if(r!=null) {
      results_arr[j] = x[i].getAttribute('id');
      j++;
   }
}
  num_result = results_arr.length;
  highlight_keyword(results_arr, keyword);
}


function highlight_keyword(res_arr, keyword) {
//2 specific exceptions
  if (document.getElementById('contact_us_activity'))
    document.getElementById('contact_us_activity').style.display='block';

  if (document.getElementById('contact_us_location'))
    document.getElementById('contact_us_location').style.display='block';

  var x = document.getElementsByTagName('dd');

  //close all by default
 for (var i=0; i<x.length; i++) {
    x[i].style.display = 'none';
 }

 for (i=0; i<res_arr.length; i++) {
    document.getElementById(res_arr[i]).style.display = "block";

    result_txt = document.getElementById(res_arr[i]).innerHTML;
//  result_txt = document.getElementById(res_arr[i]).innerText || document.getElementById(res_arr[i]).textContent;

    result_txt_lowercase = result_txt.toLowerCase();
    index_first = result_txt_lowercase.indexOf(keyword.toLowerCase());
    index_last = keyword.length;
    str_text = result_txt.substr(index_first, index_last); //get back original text

    re = new RegExp(str_text, "g");
    re_to = "<font color='red'>"+str_text+"</font>";

    r = result_txt.replace(re, re_to);
    document.getElementById(res_arr[i]).innerHTML = r;

 // if (typeof document.getElementById(res_arr[i]).textContent != “undefined”)
 //     document.getElementById(res_arr[i]).textContent = r;
 // else
 //     document.getElementById(res_arr[i]).innerText = r;
  }
  show_num_of_record();
}

/*****************************************/
function show_num_of_record(){
    x = document.getElementById("num_of_record");

    x.innerHTML = "<b>" + num_result + "</b> ";
    x = document.getElementById("txt_search");
    x.select();
}