/*
   file: 	utility.js
   project:	lscobator.org
   usage: 	utility javascript file
   created:	February 2, 2010
   author:	Calvin Chan
   copyright:	Total Website Solutions Inc
*/

function adjustWindow()
{
  var mainbodyDiv = document.getElementById("mainbody");
  var maincontentDiv = document.getElementById("content");
  var newHeight = 0;
  var newWidth = 0;

  if ( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    newWidth = window.innerWidth;
    newHeight = window.innerHeight;
  } else if ( document.documentElement && 
              ( document.documentElement.clientWidth || 
                document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    newWidth = document.documentElement.clientWidth;
    newHeight = document.documentElement.clientHeight;
  } else if ( document.body && 
              ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    newWidth = document.body.clientWidth;
    newHeight = document.body.clientHeight;
  }

  var divHeight = newHeight - 170;

  maincontentDiv.style.maxHeight = "" + divHeight + "px";

  var newSpace = newWidth - 1000;
  var newGap = 0;

  if ( newSpace > 0 ) {
    newGap = newSpace / 2;
  }
  mainbodyDiv.style.left = "" + newGap + "px";
}

function show_text( htmlText, elemName )
{
  document.getElementById( elemName ).innerHTML = htmlText;
}

function getSearchResultsInExcel()
{
  var dataStr;
  var form = document.UserSearch;
  dataStr = form.elements[0].name;
  dataStr += "=";
  dataStr += encodeURIComponent(form.elements[0].value);
  for ( var i = 1; i < form.elements.length; i++ ) 
  {
      dataStr += "&";
      dataStr += form.elements[i].name;
      dataStr += "=";
      dataStr += encodeURIComponent(form.elements[i].value);
  }

  var urlStr = 'getSearchResultExcel.php?' + dataStr;
  window.open( urlStr );
}

function contactFormResponse() 
{
  var dataStr;
  var form = document.EmailForm;
    
  form.submit.blur();
  form.submit.disabled = true;
  dataStr = form.elements[0].name;
  dataStr += "=";
  dataStr += encodeURIComponent(form.elements[0].value);
  for ( var i = 1; i < form.elements.length; i++ ) 
  {
      dataStr += "&";
      dataStr += form.elements[i].name;
      dataStr += "=";
      dataStr += encodeURIComponent(form.elements[i].value);
  }
    
  postDataGetText( 'contact.php', dataStr, show_contactResponse );
}

function show_contactResponse( htmlText )
{
  document.getElementById('contact_form').innerHTML = htmlText;
}

/*
                   Ajax Utility JavaScript Library

  This library supports these functions: 

  getText(urlToCall, functionToCallBack) 
    Uses the GET method to get text from the server. 

  getXml(urlToCall, functionToCallBack) 
    Uses the GET method to get XML from the server. 

  postDataReturnText(urlToCall, dataToSend, functionToCallBack) 
    Uses the POST method to send dataToSend to server, gets text back. 
    Pass the data to send in parameter/value pairs like this: "value=100".

  postDataReturnXml(urlToCall, dataToSend, functionToCallBack) 
    Uses the POST method to send dataToSend to server, gets XML back. 
    Pass the data to send in parameter/value pairs like this: "value=100".

*/

function getText(urlToCall, functionToCallBack, elemName)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("GET", urlToCall); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) { 
          functionToCallBack(XMLHttpRequestObject.responseText, elemName); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    } 

    XMLHttpRequestObject.send(null); 
  }
}

function getXml(urlToCall, functionToCallBack, elemName)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
    XMLHttpRequestObject.overrideMimeType("text/xml");
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("GET", urlToCall); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) { 
          functionToCallBack(XMLHttpRequestObject.responseXML, elemName); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    } 

    XMLHttpRequestObject.send(null); 
  }
}

function postDataGetText(urlToCall, dataToSend, functionToCallBack, elemName)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("POST", urlToCall); 
    XMLHttpRequestObject.setRequestHeader('Content-Type', 
      'application/x-www-form-urlencoded'); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) {
          functionToCallBack(XMLHttpRequestObject.responseText, elemName); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    }

    XMLHttpRequestObject.send(dataToSend); 
  }
}

function postDataGetXml(urlToCall, dataToSend, functionToCallBack, elemName)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
    XMLHttpRequestObject.overrideMimeType("text/xml");
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("POST", urlToCall); 
    XMLHttpRequestObject.setRequestHeader('Content-Type', 
      'application/x-www-form-urlencoded'); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) {
          functionToCallBack(XMLHttpRequestObject.responseXML, elemName); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    }

    XMLHttpRequestObject.send(dataToSend); 
  }
}



