// Slider data processing
function sendprogress(currentvalue, id) {
  document.getElementById('sendframe').src = 'update_progress.php?id='+id+'&progress='+currentvalue;
  //loadExternalHtml('http://ready4result.nl/update_progress.php?id='+id+'&progress='+currentvalue,false);
}

// SMART tooltips
function smartShow(letter) {
  var ltr = document.getElementById('smart_'+letter);
  var txt = document.getElementById('smartdesc_'+letter);
  bb_moveLayer(txt,ltr,5,22)
  ltr.style.fontSize = '1.3em';
  txt.style.display = 'block';
}
function smartHide(letter) {
  var ltr = document.getElementById('smart_'+letter);
  var txt = document.getElementById('smartdesc_'+letter);
  ltr.style.fontSize = '1em';
  txt.style.display = 'none';
}                

// ITEM/CAT tooltips
function itemtipShow(nr) {
  var item = document.getElementById('item_'+nr);
  var txt = document.getElementById('itemtip_'+nr);
  bb_moveLayer(txt,item,0,17)
  txt.style.display = 'block';
}
function itemtipHide(nr) {
  var item = document.getElementById('item_'+nr);
  var txt = document.getElementById('itemtip_'+nr);
  txt.style.display = 'none';
}                




// Generic functions

function bb_moveLayer(obj,ref,offsetX,offsetY) {
  var newX = bb_findPosX(ref);
  var newY = bb_findPosY(ref);
  newX += offsetX;
  newY += offsetY;
  
  obj.style.top = newY + 'px';
  obj.style.left = newX + 'px';
} 

function bb_findPosX(obj) {
  var curleft = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curleft += obj.offsetLeft
      obj = obj.offsetParent;
    }
  } else if (obj.x) {
    curleft += obj.x;
  }
  return curleft;
}

function bb_findPosY(obj) {
  var curtop = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curtop += obj.offsetTop
      obj = obj.offsetParent;
    }
  } else if (obj.y) {
    curtop += obj.y;
  }
  return curtop;
}  

function getmouse(e) {
	if(navigator.appName=="Microsoft Internet Explorer") {
		posx = e.clientX + document.body.scrollLeft;
		posy = e.clientY + document.body.scrollTop;
	} else if(e.clientX || e.clientY) {
		posx = e.pageX;
		posy = e.pageY;
	}
}

function loadExternalHtml(url, targetid) {
  var loadingtext = '<div align=center><i>Loading...</i></div>';

  if(targetid) {  
    var tg = document.getElementById(targetid);
    tg.innerHTML = loadingtext;
  }  
  var http_request = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      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('Error: Cannot create an XMLHTTP instance');
    return false;
  }
  http_request.onreadystatechange = function() { loadExternalHtmlResult(http_request, targetid); };
  http_request.open('GET', url, true);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(url);
}
function loadExternalHtmlResult(http_request, targetid) {  
  if(!targetid) return;
  var tg = document.getElementById(targetid);
  if(http_request.readyState == 4) {
    if (http_request.status == 200) {
      tg.innerHTML = http_request.responseText;
    } else {
      tg.innerHTML = '<i>Error '+http_request.status+'</i>';
    }
  }
}