// AJAX deel
var clickedUrl = ''; 
var http_request = false;

function dlTracker_makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = dlTracker_alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
}

function dlTracker_alertContents() {
  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
        //alert(http_request.responseText);
        result = http_request.responseText;
        //document.getElementById('myspan').innerHTML = result;
     } else {
        alert('There was a problem with the request.');
     }
     
     // Hide box and 
     //hm('box');
     if( result=='1') {
       	// action
       	var newurl = decodeURIComponent(decodeURI(clickedUrl));
       	window.location = newurl;
       	//window.open(newurl, "popup_download", "scrollbars,resizable,width=750,height=500");
     } else {
     	document.getElementById('boxwarning').innerHTML = result;
     	//alert("Ingevoerde gegevens niet correct. U kan het bestand niet downloaden.")
     }
  }
}

function dlTracker_get(obj) {
  var poststr = "firm=" + encodeURI( document.getElementById("firm").value ) +
                "&name=" + encodeURI( document.getElementById("name").value ) +
                "&email=" + encodeURI( document.getElementById("email").value ) +
                "&url=" + clickedUrl ;
  dlTracker_makePOSTRequest(dlTracker_url, poststr);  // dlTracker_url = url (post.php)
 
}

   
// ***** dlTrack_inarray  *****

function dlTracker_inarray (arr, val)
{
  for (var i in arr) if (arr[i] == val) return true;
  return false;
}

// ***** dlTrack_innertxt *****

function dlTracker_innertxt(str)
{
  str = str.replace(/<[^>]*>/g, ' ');
  str = str.replace(  /&amp;/g, '&');
  str = str.replace( /&nbsp;/g, ' ');
  str = str.replace(   /^\s+/g,  '');
  str = str.replace(   /\s+$/g,  '');
  return str;
}

// ***** URL *******************************************************************

var dlTracker_re_scheme = "^\\w+://";
var dlTracker_re_folder = "((?:-|\\w|\\.)*)";
var dlTracker_re_domain = dlTracker_re_scheme+       dlTracker_re_folder;
var dlTracker_re_urlall = dlTracker_re_domain+"(?:/"+dlTracker_re_folder+')*';

// ***** dlTrack_domain *****

function dlTracker_domain(url)
{
  var reg   = new RegExp(dlTracker_re_domain);
  var match = reg.exec(url);
  if (!match) return "";
  match = match[match.length-1];
  return match;
}

// ***** dlTrack_extension *****

function dlTracker_extension(url)
{
  var match = url.split(".");
  return (match.length >= 2) ? match[match.length-1] : "";
}


// ***** Track *****************************************************************
// ***** dlTrack_aux *****

function dlTrackerer_aux(url, title)
{
  var img = new Image();
  img.src = dlTracker_url+"?url="+url+"&title="+title+"&rand="+Math.random();
}

// ***** clicktracker *****

function dlTracker(e)
{
  var ie  = navigator.appName == "Microsoft Internet Explorer";
  var src = ie ? window.event.srcElement : e.target;
  var tag = (src.tagName.toLowerCase() != "a") ? src.parentNode : src;
  if (!tag || tag.tagName.toLowerCase() != "a") return;

  domain    = dlTracker_domain   (tag.href);
  extension = dlTracker_extension(tag.href);
  
  if ( !dlTracker_inarray(dlTracker_extensions, extension)) {
	  return true;
  }
  
  var url   = tag.href;
  var title = '';

  if (!title) if (tag.tagName.toLowerCase() ==   "a") title = dlTracker_innertxt(tag.innerHTML);
  if (!title) if (tag.tagName.toLowerCase() ==   "a") title = dlTracker_innertxt(tag.title);
  if (!title) if (src.tagName.toLowerCase() == "img") title = dlTracker_innertxt(src.alt);
  if (!title) if (src.tagName.toLowerCase() == "img") title = dlTracker_innertxt("Image");
  url   = escape(url  .substr(0, 150));
  title = escape(title.substr(0, 150));
  
  // Here we disable the default 
  if( !e ) var e = window.event; 
  //e.cancelBubble is supported by IE - this will kill the bubbling process.
	e.cancelBubble = true;
	e.returnValue = false;
	
	//e.stopPropagation works only in Firefox.
	if (e.stopPropagation) {
		e.stopPropagation();
		e.preventDefault();
	}
  
  // Now show the form
  if(url) {
	clickedUrl = url;
	sm('box',300,250);		// This function needs modaldbox.js
	document.getElementById("firm").focus();
  }
  return false;
}



// ***** Attach Events *********************************************************

if (navigator.appName == "Microsoft Internet Explorer")
     document.attachEvent   ('onclick', dlTracker);
else document.addEventListener('click', dlTracker, false);