
// track clicks (in the search pane)
// for use in analytics

var ClickTracker = {

  enabled: true,

  trackClick: function(click) {
    if (this.enabled) {
      if (window.pageTracker) {
        this.Logger(click.path);
        window.pageTracker._trackPageview(click.path);
      }
      else if (window._gaq) {
        this.Logger(click.path);
        window._gaq.push(['_trackPageview', click.path]);
      }
    }
  },

  Logger: function(sMsg) {
    if (typeof resources == 'undefined') return;
    if (resources.loggerpath == '') return;

    // ! Important security issue in IE to enable scripting ! //
    // Security, add site to trusted site
    // enable ActiveX Scripting
    // initialize and script activeX controls not marked as safe for scripting -> ENABLE
    var d = new Date();
    var dDate = d.getDate();          // Returns the day of the month
    var dMon = d.getMonth();         // Returns the month as a digit
    var dYear = d.getFullYear();      // Returns 4 digit year
    var dHour = d.getHours();         // Returns hours
    var dMin = d.getMinutes();       // Returns minutes
    var dSec = d.getSeconds();       // Returns seocnds
    var dMil = d.getMilliseconds();  // Returns Milliseconds
    var fso;

    try {
      if (resources.loggerweb != 'True') {
        fso = new ActiveXObject('Scripting.FileSystemObject');

        //  check if fileSystemObject can be instantiated
        if (typeof fso == "undefined") {
          //No alerts while logging
          //alert("FileSystemObject can not be created");
          return;
        }
      }

      //Get nice rounded milliseconds
      dMil = Math.round(dMil / 10);
      if (dMil >= 100) dMil = 99;
      dMon = dMon + 1;

      var cDir = resources.loggerpath;
      var sDate = "" + dYear + "-" + (dMon < 10 ? "0" + dMon : "" + dMon) + "-" + (dDate < 10 ? "0" + dDate : "" + dDate);
      var sDateEx = sDate + " " + (dHour < 10 ? "0" + dHour : "" + dHour) + ":" + (dMin < 10 ? "0" + dMin : "" + dMin) +
										":" + (dSec < 10 ? "0" + dSec : "" + dSec) + "." + (dMil < 10 ? "0" + dMil : "" + dMil);
      var cName = "Log_Vacanceselect_" + sDate + ".txt";
      var cFile = cDir + '\\' + cName;
      var sLogMsg = "LOGGER::LOG (" + sDateEx + "): " + sMsg;

      if (resources.loggerweb != 'True') {
        // Check if temp Watch directory exists
        var lDirExists = fso.FolderExists(cDir);
        if (!lDirExists) {
          return;
        }

        if (fso.FileExists(cFile)) {
          var oFile = fso.OpenTextfile(cFile, 8);
        }
        else {
          var oFile = fso.CreateTextFile(cFile, true);
        }

        oFile.WriteLine(sLogMsg);
        oFile.Close();
      }
      else {
        var url = "/LogMessage.aspx";
        var post = "Filename=" + escape(cFile);
        post += "&Message=" + escape(sLogMsg.replace(/</g, '@@'));
        xmlhttp.request(url, post, true, "ClickTracker.ProcessResponse", true);
      }
    }
    catch (err) {
      //No alerts while logging
      //alert("Error: " + err.description);
      return;
    }
  },

  ProcessResponse: function() {
    if (xmlhttp.req["ClickTracker.ProcessResponse"].readyState == 4) {
      if (xmlhttp.req["ClickTracker.ProcessResponse"].status == 200) {
        var resultDocument = xmlhttp.req["ClickTracker.ProcessResponse"].responseText;
      }
    }
  }
};

function Click(path)
{
  this.path = path;
}
Click.prototype = {
  path: ""
}
