function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}
function AssignPosition(ref_elem, target_elem, x_offs, y_offs, y_scroll){
	var ref_obj = document.getElementById(ref_elem);
//	if (!ref_obj)
//		console.log('ref_obj is null');
	
	var target_obj = document.getElementById(target_elem);
	if (y_scroll)
		var scr_offs = document.viewport.getScrollOffsets().top;
	else	
		var scr_offs = 0;

  var curleft = 0;
	var curtop  = 0;
  if (ref_obj.offsetParent) {
    do { 
      curleft += ref_obj.offsetLeft;
	  	curtop += ref_obj.offsetTop;
    } while (ref_obj = ref_obj.offsetParent);
  }
  var cX = curleft + Number(x_offs);
  var cY = curtop  + Number(y_offs) + scr_offs;
	
  target_obj.style.left = (cX) + "px";
	target_obj.style.top  = (cY) + "px";
	
//	console.log('ref_elem:' + ref_elem + ' left:' + target_obj.style.left +' top:' + target_obj.style.top + ' scr_offs:' + scr_offs);
	
//  d.style.top  = (cY+10) + "px";
//  return [curleft, curtop];  
}
function HideElement(id){ 
  var element = document.getElementById(id);
  element.style.visibility = 'hidden';
}
function DisplayElement(id){
  var element = document.getElementById(id); 
  element.style.visibility = 'visible';
}
function RemoveElement(parent, child){ 
  var d_parent = document.getElementById(parent); 
  var d_child  = document.getElementById(child); 
  var throwawayElement = d_parent.removeChild(d_child);
}
function ShowPopups_stats(cell, map_ref, map_x_offs, pic_ref, address, map_type){
	document.getElementById(cell).style.backgroundColor = "#FFC";

	if ((map_type == 'city'    && address.substring(0, 1) != ",") || 
		  (map_type == 'region'  && address.substring(0, 3) != ", ,") ||
			(map_type == 'country' && address.length > 6)){	
		showMap(map_ref, map_x_offs, address, map_type);
		var map_elem = document.getElementById('div_map');
		
		var pic_x_offs = map_elem.style.width;
		pic_x_offs = pic_x_offs.substr(0, pic_x_offs.length-2);	
		ShowPicPopup(pic_ref, pic_x_offs, -1, address, map_type);	
	}
}
function ShowPopups_visitors(cell, map_ref, pic_ref, address, map_type){
	document.getElementById(cell).style.backgroundColor = "#FFC";
	
	if ((map_type == 'city'    && address.substring(0, 1) != ",") || 
		  (map_type == 'region'  && address.substring(0, 3) != ", ,") ||
			(map_type == 'country' && address.length > 6)){	
		showMap(map_ref, 0, address, map_type);
		ShowPicPopup(pic_ref, -125, 0, address, map_type);
	}
}
function HidePopups(idc){
	hideMap(idc);
	HidePicPopup();			
}
function EncodeString(inputString){
  var encodedString = escape(inputString);
  encodedString = encodedString.replace("+", "%2B");
  encodedString = encodedString.replace("/", "%2F");
	return encodedString;
}
function OpenKompWindow(id, w, h){		
	window.open('komponenter/komponenter_' + id + '.php', 'w_komp_' + id, 
							'width=' + w + ', height=' + h + ', toolbar=no, location=yes, directories=yes, status=yes, menubar=no, scrollbars=yes, copyhistory=yes, resizable=yes');
}
function OpenPicWindow(page, w, h){
	window.open('/teknik/' + page + '_bild.php', 'w_' + page, 
	'width=' + w + ', height=' + h + ', toolbar=no, location=yes, directories=yes, status=yes, menubar=no, scrollbars=yes, copyhistory=yes, resizable=yes');
}	
function Log(element){
//	if (element.indexOf("/") > -1)
//		element = element.substr(element.lastIndexOf("/") + 1);   // Remove path

	if (window.XMLHttpRequest) {     // code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp_log=new XMLHttpRequest();
	}else{                           // code for IE6, IE5
		xmlhttp_log=new ActiveXObject("Microsoft.XMLHTTP");
	}

	var URL = "/stats.php?page=" + element + 
	"&ref=" + EncodeString(document.referrer) + 
	"&width=" + screen.width + 
	"&height=" + screen.height + 
	"&color=" + screen.colorDepth + 
	"&datehack=" + new Date().getTime();  // Datehack Make the call unique in IE
	
	xmlhttp_log.open("GET", URL, true);
	xmlhttp_log.send();
}

