function Reporting(_url)
{
   this.m_url = _url;
   this.m_parameters = new Object();
       
   function toString()
   {
      var _return = "";
      for(var i in this.m_parameters)
      {
         if(_return != "")
            _return += "&";
         _return += (i + "=" + escape(this.m_parameters[i]));
      }
      return _return;
   }

   function addParameter(_attribute, _value)
   {
      this.m_parameters[_attribute] = _value;
   }

   function getParameter(_attribute)
   {
      return this.m_parameters[_attribute];
   }
   
   function track()
   {
      var ajax = new Ajax.Request(this.m_url, {method:'post', postBody:this.toString()});
   }
   
   this.addParameter = addParameter;
   this.getParameter = getParameter;
   this.track = track;
   this.toString = toString;
}

function getBrowserWidth()
{
	if(window.innerWidth)
		return window.innerWidth;
	else if(document.documentElement && document.documentElement.clientWidth != 0)
		return document.documentElement.clientWidth;
	else if(document.body)
		return document.body.clientWidth;
	
	return 0;
}

function getBrowserHeight()
{
	if(window.innerHeight)
		return window.innerHeight;
	else if(document.documentElement && document.documentElement.clientHeight != 0)
		return document.documentElement.clientHeight;
	else if(document.body)
		return document.body.clientHeight;
	
	return 0;
}

// Create a new instance.
var reporting = new Reporting("/vital/access/services/Tracking");


// Base parameters.
reporting.addParameter("browserWidth", getBrowserWidth());
reporting.addParameter("browserHeight", getBrowserHeight());
reporting.addParameter("userAgent", navigator.userAgent);
reporting.addParameter("appVersion", navigator.appVersion);
