function tr_push(num) {
	try{
	   req = new XMLHttpRequest();
	  }
	  catch (e){
		  try{
			   req = new ActiveXObject("Msxml2.XMLHTTP");
		  } 
		  catch (e){
			 try{
				 req = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (failed){
				req = null;
			}
		 }  
	  }
	  
	  try {
	  	document.getElementById('pushbig'+num).src="bilder/vote/loader.gif";
	  } catch(e) {}

	  try {
	  	document.getElementById('pushsmall'+num).src="bilder/vote/loader.gif";
	  } catch(e) {}


	  req.open("GET", 'voting.php?plnum='+num, true);
	  req.onreadystatechange = function(){            
		  switch(req.readyState) {
			case 4:
				if(req.status!=200) {
					alert("Fehler: "+req.status); 
				}else{    
					try {
						document.getElementById('pushbig'+num).src='bilder/vote/votedbutton.png';
					} catch(e) {}
					try {
						document.getElementById('pushsmall'+num).src='bilder/vote/votedbutton.png';
					} catch(e) {}
				}
				break;
	
			default:
				return false;
			break;     
		}
	  };
	  req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	  req.send(null);
}

function tr_show(num) {
	document.getElementById('trackinfo'+num).style.visibility='visible';	
}
function tr_hide(el, ev, num) {
	if (checkMouseLeave(el, ev))
		document.getElementById('trackinfo'+num).style.visibility='hidden';		
}

function containsDOM (container, containee) {
  var isParent = false;
  do {
	if ((isParent = container == containee))
	  break;
	containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}

function checkMouseLeave (element, evt) {
  if (element.contains && evt.toElement) {
	return !element.contains(evt.toElement);
  }
  else if (evt.relatedTarget) {
	return !containsDOM(element, evt.relatedTarget);
  }
}

