// -- common functions --

String.prototype.trim = function() {
  return this.replace(/^\s+|\s+$/g, "");
};

function GetUrlParam(name) {
  var strReturn = "";
  var strHref = window.location.href;
  
  if ( strHref.indexOf("?") > -1 ) {
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    
    for (var iParam = 0; iParam < aQueryString.length; iParam++ ) {
      if (aQueryString[iParam].indexOf(name.toLowerCase() + "=") > -1 ) {
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(decodeURIComponent(strReturn));
} 

function GetXmlHttpObject() {
  var xmlHttp=null;
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  } catch (e) {
    // Internet Explorer
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

function GetLangString(lang, enText, tcText, scText) {
  if(lang==undefined) lang = "";
  if(enText==undefined) enText = "";
  if(tcText==undefined) tcText = "";
  if(scText==undefined) scText = "";
  if(lang=="") lang = "tc";
  
  switch(lang) {
    case "en":
    if(enText!="") return enText;
    if(tcText!="") return tcText;
    if(scText!="") return scText;
    break;
    
    case "tc":
    if(tcText!="") return tcText;
    if(scText!="") return scText;
    if(enText!="") return enText;
    break;

    case "sc":
    if(scText!="") return scText;
    if(tcText!="") return tcText;
    if(enText!="") return enText;
    break;
  }
}

function CallFunction(f, p, sep) {
  if(f==undefined) return;
  if(p==undefined) p="";
  if(sep==undefined) sep="&";
  
  var tParaArray = p.split(sep);
  switch(tParaArray.length) {
    case 1: f(); break;
    case 2: f(tParaArray[1]); break;
    case 3: f(tParaArray[1], tParaArray[2]); break;
    case 4: f(tParaArray[1], tParaArray[2], tParaArray[3]); break;
    case 5: f(tParaArray[1], tParaArray[2], tParaArray[3], tParaArray[4]); break;
  }
}

// -- search functions --
  
function Search(mode) {
  // retrieve unit from txtTenantUnit
  // fill details to txtTenantDetails
  
  var strSearch = document.getElementById("search").value;
  var strScope  = document.getElementById("scope").value;

  if (strSearch.length==0) { 
    // -- do nothing --
    return;
  }
    
  /*
  // -- ajax search --
  xmlHttp=GetXmlHttpObject();
  
  if (xmlHttp==null) {
    alert ("Your browser does not support AJAX!");
    return;
  } 
  
  var url="";
  url=url+"tenantAdmin.ajax.php";
  url=url+"?search="+strSearch;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=UpdateTenantList;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
  */
  
  // -- html search --
  var url="";
  switch(strScope) {
  
    case "tenant":
      url=url+"tenant.html.php";
      break;

    case "event":
      url=url+"event.html.php";
      break;
      
    case "class":
      url=url+"class.html.php";
      break;
  }
  
  url=url+"?search="+encodeURIComponent(strSearch);
  url=url+"&scope="+strScope;
  window.location=url;
}

function MobileSearch(mode) {
  var strSearch = document.getElementById("search").value;

  if (strSearch.length==0) { 
    // -- do nothing --
    return;
  }
    
  // -- html search --
  var url="";
  url=url+"mtenant.html.php";
  url=url+"?number="+strSearch;
  window.location=url;
}
 
function SearchTenantNumber(mode, inputNumber) {
  if (inputNumber.length==0) { 
    document.getElementById("tenantList").innerHTML="";
    return;
  }
    
  /*
  // -- ajax search --
  xmlHttp=GetXmlHttpObject();
  
  if (xmlHttp==null) {
    alert ("Your browser does not support AJAX!");
    return;
  } 
    
  var url="";
  url=url+"tenant.ajax.php";
  url=url+"?number="+inputNumber;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=UpdateTenantList;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
  */
  
  var url="";
  url=url+"tenant.html.php";
  url=url+"?number="+inputNumber;

  window.location=url;
}

function UpdateTenantList() { 
  if (xmlHttp.readyState==4) { 
    document.getElementById("tenantList").innerHTML=xmlHttp.responseText;
  }
}

function SearchClassNumber(mode, inputNumber) {
  if (inputNumber.length==0) { 
    document.getElementById("classList").innerHTML="";
    return;
  }
    
  var url="";
  url=url+"class.html.php";
  url=url+"?number="+inputNumber;

  window.location=url;
}

function SearchEventNumber(mode, inputNumber) {
  if (inputNumber.length==0) { 
    document.getElementById("eventList").innerHTML="";
    return;
  }
    
  var url="";
  url=url+"event.html.php";
  url=url+"?number="+inputNumber;

  window.location=url;
}

// -- admin functions --

function AdminFx(url) {
  url=url+"&redirect="+escape(window.location);
  window.location=url;
}

// -- other functions --

function CancelEdit() {
  history.go(-1);
  return false;
}

function CancelLogin() {
  history.go(-1);
  return false;
}
  