//------------------------
// Tooltip text functions
//------------------------
// ALTTXT V1.2
// BY: BRIAN GOSSELIN OF SCRIPTASYLUM.COM
// ADDED FADING EFFECT FOR IE4+ AND NS6+ ONLY AND OPTIMIZED THE CODE A BIT.
// SCRIPT FEATURED ON DYNAMIC DRIVE (http://www.dynamicdrive.com) 

// enables fade-in effect for IE4+ and NS6 only
var dofade=false;
// centers the box under the mouse, otherwise displays box to the right of the mouse
var center=false;
// centers the text inside the box. you can't simply do this via style because of NS4.
// otherwise, text is left-justified. 
var centertext=false;

///// NO NEED TO EDIT BEYOND THIS POINT /////

var NS4=(navigator.appName.indexOf("Netscape")>=0 && !document.getElementById) ? true : false;
var IE4=(document.all && !document.getElementById) ? true : false;
var IE5=(document.getElementById && document.all) ? true : false;
var NS6=(document.getElementById && navigator.appName.indexOf("Netscape")>=0 ) ? true: false;
var W3C=(document.getElementById) ? true : false;
var w_y,w_x,navtxt,boxheight,boxwidth;
var ishover=false;
var isloaded=false;
var ieop=0;
var op_id=0;

function getwindowdims() {
  w_y=(NS4||NS6) ? window.innerHeight : (IE5||IE4)? document.body.clientHeight : 0;
  w_x=(NS4||NS6) ? window.innerWidth : (IE5||IE4)? document.body.clientWidth : 0;
}

function getboxwidth() {
  if(NS4) boxwidth=(navtxt.document.width) ? navtxt.document.width : navtxt.clip.width;
  if(IE5||IE4) boxwidth=(navtxt.style.pixelWidth) ? navtxt.style.pixelWidth : navtxt.offsetWidth;
  if(NS6) boxwidth=(navtxt.style.width) ? parseInt(navtxt.style.width) : parseInt(navtxt.offsetWidth);
}

function getboxheight() {
  if(NS4) boxheight=(navtxt.document.height) ? navtxt.document.height : navtxt.clip.height;
  if(IE4||IE5) boxheight=(navtxt.style.pixelHeight) ? navtxt.style.pixelHeight : navtxt.offsetHeight;
  if(NS6) boxheight=parseInt(navtxt.offsetHeight);
}

function movenavtxt(x,y) {
  if(NS4) navtxt.moveTo(x,y);
  if(W3C||IE4) {
    navtxt.style.left=x+'px';
    navtxt.style.top=y+'px';
  }
}

function getpagescrolly() {
  if(NS4||NS6) return window.pageYOffset;
  if(IE5||IE4) return document.body.scrollTop;
}

function getpagescrollx() {
  if(NS4||NS6) return window.pageXOffset;
  if(IE5||IE4) return document.body.scrollLeft;
}

function writeindiv(text) {
  if(NS4) {
    navtxt.document.open();
    navtxt.document.write(text);
    navtxt.document.close();
  }
  if(W3C||IE4) navtxt.innerHTML=text;
}

//**** END UTILITY FUNCTIONS ****//

function writetxt(text) {
  if(isloaded) {
    if(text!=0) {
      ishover=true;
      if(NS4) text='<div class="navtext">'+((centertext)?'<center>':'')+text+((centertext)?'</center>':'')+'</div>';
      writeindiv(text);
      getboxheight();
      if((W3C || IE4) && dofade) {
        ieop=0;
        incropacity();
      }
    }
    else{
      if(NS4) navtxt.visibility="hide";
      if(IE4||W3C) {
        if(dofade) clearTimeout(op_id);
        navtxt.style.visibility="hidden";
      }
      writeindiv('');
      ishover=false;
    }
  }
}

function incropacity() {
  if(ieop<=100) {
    ieop+=7;
    if(IE4 || IE5) navtxt.style.filter="alpha(opacity="+ieop+")";
    if(NS6) navtxt.style.MozOpacity=ieop/100;
    op_id=setTimeout('incropacity()', 50);
  }
}

function moveobj(evt) {
  if(isloaded && ishover){
    margin=(IE4||IE5)? 1 : 23;
    if(NS6) if(document.height+27-window.innerHeight<0)margin=15;
    if(NS4) if(document.height-window.innerHeight<0)margin=10;

    if(NS4) {
      mx=evt.pageX
      my=evt.pageY
    }
    else if(NS6) {
      mx=evt.clientX
      my=evt.clientY
    }
    else if(IE5) {
      mx=event.clientX
      my=event.clientY
    }
    else if(IE4) {
      mx=0
      my=0
    }

    if(NS4) {
      mx-=getpagescrollx();
      my-=getpagescrolly();
    }
    xoff=(center) ? mx-boxwidth/2 : mx+5;
    yoff=(my+boxheight+30-getpagescrolly()+margin>=w_y) ? -15-boxheight: 30;
    movenavtxt(Math.min(w_x-boxwidth-margin,Math.max(2,xoff))+getpagescrollx(),my+yoff+getpagescrolly());
    if(NS4) navtxt.visibility="show";
    if(W3C||IE4) navtxt.style.visibility="visible";
  }
}

if(NS4) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=moveobj;
window.onload=function() {
  navtxt=(NS4) ? document.layers['navtxt'] : (IE4)? document.all['navtxt'] : (W3C)? document.getElementById('navtxt') : null;
  getboxwidth();
  getboxheight();
  getwindowdims();
  isloaded=true;
  if((W3C || IE4) && centertext) navtxt.style.textAlign="center";
  if(W3C) navtxt.style.padding='4px';
  if(IE4 || IE5 && dofade) navtxt.style.filter="alpha(opacity=0)";
}
window.onresize=getwindowdims;

function xQ5(oCtrl) { xChoice(oCtrl,8); }
function xQ15(oCtrl) { xChoice(oCtrl,7); }
function xQ6(oCtrl) { xChoice(oCtrl,3); }
function xQ12(oCtrl) { xChoice(oCtrl,99); }
function xQ17(oCtrl) { xChoice(oCtrl,3); }

function totrow1(oForm,q,n) {
  var nTot=0;

  for(var i=1;i<=n;i++) {
    nTot+=get(oForm,q+'[i'+i+']');
  }
  set(oForm,q+'[tot]',nTot);
}

function totp6(oForm) { totrow1(oForm,"p6",2); }
function totp6b(oForm) { totrow1(oForm,"p6b",2); }
function totp6c(oForm) { totrow1(oForm,"p6c",2); }
function totp6d(oForm) { totrow1(oForm,"p6d",2); }
function totp7(oForm) { totrow1(oForm,"p7",5); }
function totp8(oForm) { totrow1(oForm,"p8",6); }
function totp9a(oForm) { totrow1(oForm,"p9a",2); }
function totp9b(oForm) { totrow1(oForm,"p9b",2); }
function totp10a(oForm) { totrow1(oForm,"p10a",3); }

function totp2(oForm) {
  var q="p2";
  var n=3;
  var nTot=0;
  if(oForm.form.elements[q+'[i1][tot]']) {
    for(var i=1;i<=n;i++) { nTot+=get(oForm,q+'[i1][i'+i+']'); }
    set(oForm,q+'[i1][tot]',nTot);
  }
  nTot=0;
  if(oForm.form.elements[q+'[i2][tot]']) {
    for(var i=1;i<=n;i++) { nTot+=get(oForm,q+'[i2][i'+i+']'); }
    set(oForm,q+'[i2][tot]',nTot);
  }
  nTot=0;
  if(oForm.form.elements[q+'[i3][tot]']) {
    for(var i=1;i<=n;i++) { nTot+=get(oForm,q+'[i3][i'+i+']'); }
    set(oForm,q+'[i3][tot]',nTot);
  }
}

function q11(oForm) {
  for(var c=1;c<=6;c++) {
    var nTot=0;
    for(var r=1;r<=8;r++) { nTot+=get2(oForm,'q11[t'+r+'][i'+c+']'); }
    set(oForm,'q11[tot][i'+c+']',nTot);
  }
}

function get2(oCtrl,sName) {
  var nRet=0;

  for(var i=0;i<oCtrl.form.elements.length;i++) {
    var oC=oCtrl.form.elements[i];
    if(oC.name==sName) { nRet=oC.value*1; break; }
  }

  return(nRet);
}

function q57(oForm) {
  var q="q57";
  var n=9;
  var nTot1=0;
  var nTot2=0;

  for(var i=1;i<=n;i++) {
    nTot1+=get(oForm,q+'[i'+i+'][s1]');
    nTot2+=get(oForm,q+'[i'+i+'][s2]');
  }
  set(oForm,q+'[tot][s1]',nTot1);
  set(oForm,q+'[tot][s2]',nTot2);
}

function uniqSlct(oCtrl,sQ,nItm) {
  for(var i=1;i<=nItm;i++) {
    var sS=sQ+"[i"+i+"]";
    if(sS!=oCtrl.name) {
      for(var j=0;j<oCtrl.form.elements.length;j++) {
        var oCur=oCtrl.form.elements[j];
        if((oCur.name==sS) && (oCur.selectedIndex==oCtrl.selectedIndex)) { oCur.selectedIndex=0; }
      }
    }
  }
}

function rankq11(oCtrl) { uniqSlct(oCtrl,"q11",8); }

function xcheck(oCtrl,nVal) {
  if(oCtrl.checked) {
    var i;
    for(i=0;i<oCtrl.form.elements.length;i++) {
      var oC=oCtrl.form.elements[i];
      if((oC.name==oCtrl.name) && (oC.value!=oCtrl.value))  {
        if(oCtrl.value==nVal) { oC.checked=false; }
        else if(oC.value==nVal) {
          oC.checked=false;
          break;
        }
      }
    }
  }
}

function chkn2(oCtrl) { xcheck(oCtrl,7); }
function chki11(oCtrl) { xcheck(oCtrl,9); }
function chki17(oCtrl) { xcheck(oCtrl,8); }
function chki18(oCtrl) { xcheck(oCtrl,7); }

function rank1(oCtrl,sQ,nNb) {
  for(var i=1;i<=nNb;i++) {
    var sS=sQ+"[i"+parseFloat(i)+"]";
    if(sS!=oCtrl.name) {
      for(var j=0;j<oCtrl.form.elements.length;j++) {
        var oCur=oCtrl.form.elements[j];
        if((oCur.name==sS) && (oCur.value==oCtrl.value)) { oCur.checked=false; }
      }
    }
  }
}

function ranki1(oCtrl) { rank1(oCtrl,"i1",12); }

function xs4(oCtrl) {

  if (oCtrl.value==1) {
    if (oCtrl.checked) {
	 var x2 = document.getElementById('s4_2_');
	 x2.checked = false;
	 var x4 = document.getElementById('s4_4_');
	 x4.checked = false;
      }
  } else if (oCtrl.value==2) {
	 var x1 = document.getElementById('s4_1_');
	 x1.checked = false;
	 var x4 = document.getElementById('s4_4_');
	 x4.checked = false;
  } else if (oCtrl.value==4) {
	 var x1 = document.getElementById('s4_1_');
	 x1.checked = false;
	 var x2 = document.getElementById('s4_2_');
	 x2.checked = false;
  }
}

// Ajax
  
function changeElement(sURL,sId) {
  var oXHR=getHttpObject();

  document.body.style.cursor="wait";

  oXHR.onreadystatechange=function() {
    if(oXHR.readyState==4) {
      var sTxt="";
      var sErr="";
      if(oXHR.status==200) {
        sTxt=oXHR.responseText;
        if(sTxt.match(/^err\d+/)) { sErr=sTxt; }
      }
      else { sTxt=oXHR.statusText; }
      if(sErr=="") {
        document.getElementById(sId).innerHTML=sTxt;
      }
      else { alert("Error: "+sErr); }
      document.body.style.cursor=""; 
    }
  };

  oXHR.open("GET",sURL,true);
  oXHR.send(null);
}
  
function getHttpObject() {
  var oObj=false;
  
  try { oObj=new ActiveXObject("Msxml2.XMLHTTP"); }
  catch(e) {
    try { oObj=new ActiveXObject("Microsoft.XMLHTTP"); }
    catch(e) { oObj=new XMLHttpRequest(); }
  }
    
  return oObj;
} 

// END OF Ajax

function bdcom(sParms) {
  var a=sParms.replace(/[:,][:,]/g,",-,").split(/[:,]/);
  var sQcp=a[0];
  var sCP=(a[1]=="-" ? "" : a[1]);
  var sQcm=(a[2]=="-" ? "" : a[2]);
  var sID=(a[3]=="-" ? "" : a[3]);
  var sCGI=window.location.href.replace(/\w+\/\w+\.pl.*/,"_bdcom/bdcom.pl")
  var oForm=document.forms[0];
    
  for(var i=0;i<oForm.elements.length;i++) {
    var oC=oForm.elements[i];
    if(oC.name==sQcm) { oC.parentNode.id="bdcomcell"; break; }
  }

  for(var i=0;i<oForm.elements.length;i++) {
    var oC=oForm.elements[i];
    if(oC.name==sQcp) {
      changeElement(sCGI+'?cp='+sCP+'&id='+sID+'&qcm='+sQcm,'bdcomcell');
      oC.onkeyup=function() {
        changeElement(sCGI+'?cp='+this.value+'&qcm='+sQcm,'bdcomcell');
      }
      break;
    }
  }
}
