var httpRequest;
var page = '';
var title = '';
var dbtext = '';
var session = '';
var referer = '';
var agt = '';
var sys = '';
var agt_os = '';
var width = 0;
var height = 0;


function setSession(sess){
	session = sess;
}

function setReferer(ref){
	referer = ref;
	//alert(referer);
}

function getInfos(){
	agt = navigator.userAgent.toLowerCase();
	sys = (navigator.platform)?navigator.platform.toLowerCase():agt;
	agt_os = ((sys.indexOf('mac')>=0)?"Macintosh":(sys.indexOf('unix')>=0 || sys.indexOf('linux')>=0 || sys.indexOf('x11')>=0 || sys.indexOf('x 11')>=0)?"Linux/Unix":(sys.indexOf('os/2')>=0)?"OS/2":(sys.indexOf('win')>=0)?"Windows":"");
	if (window.innerWidth) width = window.innerWidth;
	else if (document.body && document.body.offsetWidth) width = document.body.offsetWidth;
	else width = 0;
	
	if (window.innerHeight) height = window.innerHeight;
	else if (document.body && document.body.offsetHeight) height = document.body.offsetHeight;
	else height = 0;				
}

function clearAll(){
	page = '';
	title = '';
	referer = '';
	dbtext = '';
}			

function ajaxRequestObject(){
	try{
		httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}catch(Error){
		try{
			httpRequest = new ActiveXObject("MSXML2.XMLHTTP");
		}catch(Error){
			try{
				httpRequest = new XMLHttpRequest();
			}catch(Error){
				alert("Fehler!!!");
			}
		}
	}
}

function sendRequestSaveData(post, title, page) {
	post = post + "&title=" + title + "&page=" + page + "&referer=" + referer + "&session=" + session;
	httpRequest.onreadystatechange = handleResponse;
	httpRequest.open("POST", "http://www.neue-musik-laden.de/tracking/saveData.php", true);
	httpRequest.setRequestHeader("content-type", "application/x-www-form-urlencoded; charset=utf-8");
	httpRequest.send(post);
}

function handleResponse() {}

function getPage(){
	if(page == ''){
		page = document.URL;
	}
}

function getTitle(){
	if(title == ''){
		title = document.title;
	}
}	

function createText(objSrc, event){
	var tagName 	= objSrc.tagName;
	var text 		= objSrc.text;
	var value 		= objSrc.value;
	var id 			= objSrc.id;
	var name 		= objSrc.name;
	var href 		= objSrc.href;
	var html        = objSrc.innerHTML;

	var text = "&event=" + event + "&tag=" + tagName + "&text=" + text +  "&name=" + name + "&wert=" + value + "&tagID=" + id + "&href=" + href + "&innerHTML=" + html ;
	return text;
}

function getDataOfForm(objSrc){
var i = 0;
var text = "";
	for ( var i = 0; i < objSrc.elements.length; i++ ){
		var tagName = objSrc.elements[i].tagName;
		text = text + createText(objSrc.elements[i], tagName);
		ajaxRequestObject();				
		if(httpRequest) {
			sendRequestSaveData(text, title, page);
		}
	}
	return text;
}

document.onclick = function(objEvt){				
	  var objEvt = (window.event)? window.event: objEvt;
	  var objSrc = (objEvt.target)? objEvt.target : objEvt.srcElement;				    
//if(objSrc.tagName == 'INPUT' || objSrc.tagName == 'LI' || objSrc.tagName == 'IMG' || objSrc.tagName == 'A'){
if(objSrc.tagName != undefined){
	dbtext = dbtext + createText(objSrc, 'OnClick');

	ajaxRequestObject();				
	if(httpRequest) {
		sendRequestSaveData(dbtext, title, page);
	}
	clearAll();
}
}

/*
document.onmouseover = function(objEvt){				
	  var objEvt = (window.event)? window.event: objEvt;
	  var objSrc = (objEvt.target)? objEvt.target : objEvt.srcElement;

	  if(objSrc.tagName == 'IMG' || objSrc.tagName == 'A'){
		//Save in DB
		  dbtext = dbtext + createText(objSrc, 'MouseOver');
		  ajaxRequestObject();				
			if(httpRequest) {
				sendRequestSaveData(dbtext, title, page);
			}
			clearAll();
	  }
}
*/

document.onsubmit = function(objEvt){
	var objEvt = (window.event)? window.event: objEvt;
	var objSrc = (objEvt.target)? objEvt.target : objEvt.srcElement;

	dbtext = dbtext + getDataOfForm(objSrc);
	ajaxRequestObject();				
	if(httpRequest) {
		sendRequestSaveData(dbtext, title, page);
	}
	clearAll();
}

window.onunload = function(objEvt){
	var objEvt = (window.event)? window.event: objEvt;
	var objSrc = (objEvt.target)? objEvt.target : objEvt.srcElement;
					
	dbtext = dbtext + createText(objSrc, 'OnUnLoad');

	ajaxRequestObject();				
	if(httpRequest) {
		sendRequestSaveData(dbtext, title, page);
	}
	clearAll();			
}

getPage();
getTitle();
getInfos();
