var IE = false;

function callMe(url, callback){
  ajaxObject = function() {
  try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e){
  try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e){
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){
  try { return new XMLHttpRequest() } catch(e){
  throw new Error( "This browser does not support XMLHttpRequest." );
  }}}}}}
  ajax = new ajaxObject();
  ajax.onreadystatechange = function(){
    if(ajax.readyState == 4){
      if(ajax.status == 200){
        callHandle(url,ajax.responseText,callback);
      }
    }
  };
  if(url.indexOf('time') == -1){
    url += '?time='+Number(new Date());
  }
  ajax.open('GET', 'ajax/'+url, true);
  ajax.send(null);
}
function callMePost(url, params, callback, urllock){
  ajaxObject = function() {
  try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e){
  try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e){
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){
  try { return new XMLHttpRequest() } catch(e){
  throw new Error( "This browser does not support XMLHttpRequest." );
  }}}}}}
  ajax = new ajaxObject();
  ajax.onreadystatechange = function(){
    if(ajax.readyState == 4){
      if(ajax.status == 200){
        callHandle(url.replace('ajax/',''),ajax.responseText,callback,urllock);
      }
    }
  };
  ajax.open('POST', url, true);
  ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  ajax.setRequestHeader("Content-length", params.length);
  ajax.setRequestHeader("Connection", "close");
  ajax.send(params);
}
function callHandle(url,json, callback, urllock){
  if(!urllock) location.href = "#"+url.replace(/,small_1/,'').split('?')[0];

  try{
    if(typeof(JSON) === "object" && typeof(JSON.parse) === "function")
      var obj = JSON.parse(json);
    else
      eval("var obj = "+json+";");
    if(obj.title) document.title = obj.title;
    if(obj.description){
      document.getElementById("sitedescription").content = obj.description.replace(/\<[^\>]*\>/g,'').substring(0,250);
    }
  }catch(e){
   var obj = json;
  }
  if(typeof(callback) === "function"){
    callback(obj);
  }
}

function trim(str){
  s = str.replace(/^(\s)*/, '');
  s = s.replace(/(\s)*$/, '');
  return s;
}

function AddLoad(func){
  var last = window.onload;
  if(typeof(last) !== 'function')
    window.onload = func;
  else
    window.onload = function(){last(); func();}
}
