
function getXMLHttp() {
  var XMLHttp;
  try {    
    XMLHttp = new XMLHttpRequest(); // firefox, opera, safari
  } catch(e) { 
    try {
      XMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); // ie 5.5+
    } catch(e) {
      try {
        XMLHttp = new ActiveXObject("Msxml2.XMLHTTP.3.0"); // ie 6.0+
      } catch (e) {
        return false;
      }
    }
  }
  return XMLHttp;
}

function loading(state) {
  if(document.getElementById("page-loading") && !state) {
    document.body.removeChild(document.getElementById("page-loading"));
  } else if(state) {
    var layer = document.createElement("div");
    layer.id = "page-loading";
    layer.style.height = getDocHeight() + "px";
    layer.style.backgroundPosition = "center " + (((getViewportHeight()-100)/2) + getScrollHeight()) + "px";
    document.body.appendChild(layer);
  }
}

function set_city_list(country_id, keyword) {
  var city_span = document.getElementById("city_span");
  var city_select = document.getElementById("city");
  var XMLHttp = getXMLHttp();

  if(XMLHttp) {
    city_select.options[0].selected = true;
    city_select.disabled = true;
  
    XMLHttp.onreadystatechange = function() {
      if(XMLHttp.readyState == 4) { // request is complete
        var response = XMLHttp.responseText;
        if(response.substr(1, 6) == 'select') {
          city_span.innerHTML = response;
        } else {
          city_span.innerHTML = '<select id="city" name="city"><option value="">Choose City/Town</option></select>';
        }
      }
    }
    XMLHttp.open("GET", "/ssi/ajax-public.php?function=set_city_list&id=" + country_id + "&keyword=" + keyword, true);
    XMLHttp.send(null);
  }
  
  return false;
}


function ajax_timeout(func) {
   XMLHttp.abort();
   
   switch(func) {
     case 'get_meta_data':
       var searching = document.getElementById("business_website_searching");
       searching.innerHTML = 'No Meta Data Found';
       searching.style.background = 'url(/images/icons/icon_info.png) no-repeat 0px 2px';
     break;
   }
}

function get_meta_data(url) {
  url = trim(url); if(url == 'http://' || url == '') { document.getElementById("business_website").value = ''; return false; }

  var business_keywords = document.getElementById("business_keywords");
  var business_description = document.getElementById("business_description");
  var searching = document.getElementById("business_website_searching");
  
  XMLHttp = getXMLHttp();
  
  if(business_keywords.value != '' || business_description.value != '') {
    searching.innerHTML = '';
    searching.style.background = '';
    return false;
  } else {
    searching.innerHTML = 'Searching Meta Data ...';
    searching.style.background = 'url(/images/icons/icon_searching.gif) no-repeat 0px 2px';
  }
  
  if(XMLHttp) {
    XMLHttp.onreadystatechange = function() {
      if(XMLHttp.readyState == 4) { // request is complete
        clearTimeout(timeout);
        var response = XMLHttp.responseText;
        var meta_tags = response.split("\r\n");
        var keyw = false; var desc = false; var text = '';
        for(i=0; i<meta_tags.length; i++) {
          if(meta_tags[i].substr(0, 10) == '[keywords]' && business_keywords.value == '') {
            business_keywords.value = trim(meta_tags[i].substr(10));
            business_keywords.onkeydown();
            keyw = true; text = 'Found Meta Keywords';
          } else if(meta_tags[i].substr(0, 13) == '[description]' && business_description.value == '') {
            business_description.value = trim(meta_tags[i].substr(13));
            business_description.onkeydown();
            desc = true; text = 'Found Meta Description';
          }  
        }
        if(keyw || desc) {
          searching.innerHTML = (keyw && desc) ? 'Found Meta Description &amp; Keywords' : text;
          searching.style.background = 'url(/images/icons/icon_tick.png) no-repeat 0px 2px';
        } else {
          searching.innerHTML = 'No Meta Data Found';
          searching.style.background = 'url(/images/icons/icon_info.png) no-repeat 0px 2px';
        }
      }
    }
    XMLHttp.open("GET", "/ssi/ajax-public.php?function=get_meta_data&url=" + encodeURIComponent(url), true);
    XMLHttp.send(null);
    var timeout = setTimeout("ajax_timeout('get_meta_data');", 5000);
  }
  
  return false;
}

function event_capture(event_type, event_source, event_source_id, notes) {  
  var XMLHttp = getXMLHttp();
  
  if(XMLHttp) {         
    XMLHttp.open("GET", "/ssi/ajax-public.php?function=event_capture&event_type=" + event_type + "&event_source=" + event_source + "&event_source_id=" + event_source_id + "&notes=" + notes, false);
    XMLHttp.send(null);
    return XMLHttp.responseText;
  }  
  
  return false;
}