// stuff used by our tabs

function getObjById( id )
{
  var returnVar;
  if (document.getElementById)
    
    returnVar = document.getElementById(id);
  else if (document.all) {
    
    returnVar = document.all[id];
  } else if (document.layers) {
    
    returnVar = document.layers[id];
  }
  return returnVar;
}

function inactiveAll(list){
 var i;
 for (i in list){
  var tab = getObjById("tab"+list[i]);
  tab.className = '';
  var tabcnt = getObjById("tab"+list[i]+"_content");
   tabcnt.style.display = 'none';
 }
}

function activateThis(id, list){
  inactiveAll(list);
  var tab = getObjById(id);
  tab.className = 'active';
  var tabcnt = getObjById(id+'_content');
  tabcnt.style.display = 'block';
}


function selectPlan() {
    var planid = getPlanValue();
    var periodid = getObjById('period').selectedIndex;
  
    if (plans[planid][periodid]) {
       for (i in ids) {
         var obj = getObjById(ids[i]);
         obj.innerHTML = plans[planid][periodid][ ids[i] ];
       }
       getObjById('notind').style.display = 'none';
       getObjById('notbus').style.display = 'none';
       getObjById('notcamp').style.display = 'none';
       getObjById('showcur').style.display = 'none';
       if (plans[planid][periodid]['repprice'] == 'Included') {
         getObjById('notcamp').style.display = 'inline';
       } else if (plans[planid][periodid]['repprice'] == 'N/A') {
         getObjById('notbus').style.display = 'inline';
       } else {
         getObjById('notind').style.display = 'inline';
         getObjById('showcur').style.display = 'inline';
       }
       disableStuff();
       if(planid == "2" || planid == "3"){
         getObjById('chkrep').checked = false;
         getObjById('chkrep').disabled = true;
       } else {
         getObjById('chkrep').disabled = false;
       }
       if (getObjById('chkall').checked) {
         getObjById('defdoc').innerHTML = 2 * plans[planid][periodid]['defdoc'];
         getObjById('defop').innerHTML = 2 * plans[planid][periodid]['defop'];
       }
       calculatePrice();
   }
  
   if (periodid == 0) {
     getObjById('chkrec').checked = true;
     getObjById('chkrec').disabled = true;
     text_per = "Month";
     if (getObjById('per')) {
       eval("getObjById('per').innerHTML = text_per.toLowerCase()");
     }
   } else {
     getObjById('chkrec').disabled = false;
     text_per = "Year";
     if (getObjById('per')) {
       eval("getObjById('per').innerHTML = text_per.toLowerCase()");
     }
   }
}

function selectPlanReduce(alid) {
    var planid;
    var periodid;

    if(typeof alid == 'undefined'){
      planid = getPlanValue();
      periodid = getObjById('period').selectedIndex;
    } else {
      planid = alid;
      periodid = getObjById('period').value;
      if(periodid == "Yearly") {
         periodid = 0;
      } else {
         periodid = 1;
      }
    }
  
    if (plans[planid][periodid]) {
       for (i in ids) {
         var obj = getObjById(ids[i]);
         obj.innerHTML = plans[planid][periodid][ ids[i] ];
       }
       var period;

       if(periodid == 0){
         period ='Yearly';
       } else if (periodid == 1) {
         period ='Monthly';
       }

       if ((sel['plan'] == planid)&&(sel['period'] == period)) {
         if (sel['chkpdf'] == 1) {
           getObjById('basedoc').selectedIndex = 0;
         }
         if (sel['chkxls'] == 1) {
           getObjById('basedoc').selectedIndex = 1;
         }
         if (sel['chkdoc'] == 1) {
           getObjById('basedoc').selectedIndex = 2;
         }
         if (sel['chkppt'] == 1) {
           getObjById('basedoc').selectedIndex = 3;
         }
       }

       disableStuff();
       if (getObjById('chkall').checked) {
         getObjById('defdoc').innerHTML = 2 * plans[planid][periodid]['defdoc'];
         getObjById('defop').innerHTML = 2 * plans[planid][periodid]['defop'];
       }
       disablePlan(planid, periodid);
//     calculatePrice2();
   }
  
   if (periodid == 1) {
     getObjById('chkrec').checked = true;
     getObjById('chkrec').disabled = true;
     text_per = "Month";
     getObjById('per').innerHTML = text_per.toLowerCase();
   } else {
     getObjById('chkrec').disabled = false;
     text_per = "Year";
     getObjById('per').innerHTML = text_per.toLowerCase();
   }
}

function disablePlan(planid, periodid){
   var period;

   if(periodid == 0){
     period ='Yearly';
   } else if (periodid == 1) {
     period ='Monthly';
   }

   if ((sel['plan'] == planid)&&(sel['period'] == period)) {
     if (sel['chkpdf'] == 1) {
        getObjById('chkpdf').checked = true;
        getObjById('chkpdf').disabled = true;
     }
     if (sel['chkxls'] == 1) {
        getObjById('chkxls').checked  = true;
        getObjById('chkxls').disabled = true;
     }
     if (sel['chkdoc'] == 1) {
        getObjById('chkdoc').checked  = true;
        getObjById('chkdoc').disabled = true;
     }
     if (sel['chkppt'] == 1) {
        getObjById('chkppt').checked  = true;
        getObjById('chkppt').disabled = true;
     }
     //chkall
     if(sel['chkall'] == 1) {
       getObjById('chkall').checked  = true;
     } else {
       getObjById('chkall').checked  = false;
     }
     getObjById('chkall').disabled  = true;
     getObjById('basedoc').disabled = true;
     getObjById('exists').value = 1;
   } else {
     getObjById('chkall').disabled  = false;
     getObjById('chkpdf').disabled  = false;
     getObjById('chkxls').disabled  = false;
     getObjById('chkdoc').disabled  = false;
     getObjById('chkppt').disabled  = false;
     getObjById('basedoc').disabled = false;
     getObjById('exists').value = 0;
     disableStuff();
   }
}

function disableStuff(){
    var chkall = getObjById('chkall').checked;
    if (!chkall) {
      getObjById('basedoc').disabled = false;
      enableChkDocs();
      disableDocType();
    } else {
      getObjById('basedoc').disabled = true;
      disableChkDocs();
    }
}

function enableChkDocs(){
    getObjById('chkpdf').disabled = false;
    getObjById('chkxls').disabled = false;
    getObjById('chkdoc').disabled = false;
    getObjById('chkppt').disabled = false;
}

function disableChkDocs(){
    getObjById('chkpdf').disabled = true;
    getObjById('chkxls').disabled = true;
    getObjById('chkdoc').disabled = true;
    getObjById('chkppt').disabled = true;
    getObjById('chkpdf').checked = false;
    getObjById('chkxls').checked = false;
    getObjById('chkdoc').checked = false;
    getObjById('chkppt').checked = false;
}

function disableDocType(){
    showAllAdditionals();
    enableChkDocs();
    var basedoc = getObjById('basedoc').selectedIndex;
    if(basedoc == 0) { //selected pdf
      getObjById('chkpdf').disabled = true;
      getObjById('chkpdf').checked = false;
      getObjById('pdfs').style.display = 'none';
    } else if (basedoc == 1){ // selected excel
      getObjById('chkxls').disabled = true;
      getObjById('chkxls').checked = false;
      getObjById('xlss').style.display = 'none';
    } else if (basedoc == 2){ // selected doc
      getObjById('chkdoc').disabled = true;
      getObjById('chkdoc').checked = false;
      getObjById('docs').style.display = 'none';
    } else if (basedoc == 3){ // selected ppt
      getObjById('chkppt').disabled = true;
      getObjById('chkppt').checked = false;
      getObjById('ppts').style.display = 'none';
    } else {
      getObjById('chkpdf').disabled = true;
      getObjById('pdfs').style.display = 'none';
    }
}

function showAllAdditionals(){
     getObjById('pdfs').style.display = 'inline';
     getObjById('xlss').style.display = 'inline';
     getObjById('docs').style.display = 'inline';
     getObjById('ppts').style.display = 'inline';
}

function getPlanValue() {
    if(getObjById('planning')) {
      return getObjById('plan').value;
    } else if (getObjById('plan1').checked) {
      return getObjById('plan1').value;
    } else if (getObjById('plan2').checked) {
      return getObjById('plan2').value;
    } else if (getObjById('plan3').checked) {
      return getObjById('plan3').value;
    }
    return 1;
}

function calculatePrice(){
    var planid = getPlanValue();
    var periodid = getObjById('period').selectedIndex;
    var total = 0;
    var nodocs = 0;
    var noopen = 0;
    var repprice = 0;
    if ( plans[planid][periodid] ) {  // get base price
    total = total + parseFloat(plans[planid][periodid]['baseprice']);
    if(getObjById('chkall').checked) {
     total = total + parseFloat(plans[planid][periodid]['allprice']);
     nodocs = nodocs + parseFloat(plans[planid][periodid]['defdoc'] * 2);
     noopen = noopen + parseFloat(plans[planid][periodid]['defop'] * 2);
    } else {
     var basedoc = getObjById('basedoc').selectedIndex;
     if(basedoc == 0) { //selected pdf
      if(getObjById('chkxls').checked) {
       total = total + parseFloat(plans[planid][periodid]['xlsprice']);
      }
      if(getObjById('chkdoc').checked) {
       total = total + parseFloat(plans[planid][periodid]['docprice']);
      }
      if(getObjById('chkppt').checked) {
       total = total + parseFloat(plans[planid][periodid]['pptprice']);
      }
     } else if (basedoc == 1){ // selected excel
      if(getObjById('chkpdf').checked) {
       total = total + parseFloat(plans[planid][periodid]['pdfprice']);
      }
      if(getObjById('chkdoc').checked) {
       total = total + parseFloat(plans[planid][periodid]['docprice']);
      }
      if(getObjById('chkppt').checked) {
       total = total + parseFloat(plans[planid][periodid]['pptprice']);
      }
     } else if (basedoc == 2){ // selected doc
      if(getObjById('chkpdf').checked) {
       total = total + parseFloat(plans[planid][periodid]['pdfprice']);
      }
      if(getObjById('chkxls').checked) {
       total = total + parseFloat(plans[planid][periodid]['xlsprice']);
      }
      if(getObjById('chkppt').checked) {
       total = total + parseFloat(plans[planid][periodid]['pptprice']);
      }
     } else if (basedoc == 3){ // selected ppt
      if(getObjById('chkpdf').checked) {
       total = total + parseFloat(plans[planid][periodid]['pdfprice']);
      }
      if(getObjById('chkdoc').checked) {
       total = total + parseFloat(plans[planid][periodid]['docprice']);
      }
      if(getObjById('chkxls').checked) {
       total = total + parseFloat(plans[planid][periodid]['xlsprice']);
      }
     } // end basedoc == x
     nodocs = nodocs + parseFloat(plans[planid][periodid]['defdoc']);
     noopen = noopen + parseFloat(plans[planid][periodid]['defop']);
    } // end if getObjById('chkall').checked
    if( IsNumeric(getObjById('inextdoc').value) ) {
      nodocs = nodocs + parseFloat(getObjById('inextdoc').value);
      total = total + parseFloat(getObjById('inextdoc').value * plans[planid][periodid]['extdocprice']);
    }
    if( IsNumeric(getObjById('inextop').value) ) {
      noopen = noopen + parseFloat(getObjById('inextop').value);
      total = total + parseFloat(getObjById('inextop').value * plans[planid][periodid]['extopprice']);
    }
    if ((planid == 1) && (getObjById('chkrep').checked)) {
     total = total + parseFloat(plans[planid][periodid]['repprice']);
    }
    getObjById('planname').innerHTML = plans[planid][periodid]['planname'];
    getObjById('planperiod').innerHTML = plans[planid][periodid]['planperiod'];
    }
    getObjById('ta').innerHTML = nice_price(Math.round(total*100)/100);
    getObjById('td').innerHTML = nodocs;
    getObjById('to').innerHTML = noopen;
}


function calculatePrice2(){
    var planid = getPlanValue();
    var periodid = getObjById('period').selectedIndex;
    var total = 0;
    var nodocs = 0;
    var noopen = 0;
    var repprice = 0;
    if ( plans[planid][periodid] ) {  // get base price
    total = total + parseFloat(plans[planid][periodid]['baseprice']);
    if(getObjById('chkall').checked) {
     total = total + parseFloat(plans[planid][periodid]['allprice']);
     nodocs = nodocs + parseFloat(plans[planid][periodid]['defdoc'] * 2);
     noopen = noopen + parseFloat(plans[planid][periodid]['defop'] * 2);
    } else {
     var basedoc = getObjById('basedoc').selectedIndex;
     if(basedoc == 0) { //selected pdf
      if(getObjById('chkxls').checked) {
       total = total + parseFloat(plans[planid][periodid]['xlsprice']);
      }
      if(getObjById('chkdoc').checked) {
       total = total + parseFloat(plans[planid][periodid]['docprice']);
      }
      if(getObjById('chkppt').checked) {
       total = total + parseFloat(plans[planid][periodid]['pptprice']);
      }
     } else if (basedoc == 1){ // selected excel
      if(getObjById('chkpdf').checked) {
       total = total + parseFloat(plans[planid][periodid]['pdfprice']);
      }
      if(getObjById('chkdoc').checked) {
       total = total + parseFloat(plans[planid][periodid]['docprice']);
      }
      if(getObjById('chkppt').checked) {
       total = total + parseFloat(plans[planid][periodid]['pptprice']);
      }
     } else if (basedoc == 2){ // selected doc
      if(getObjById('chkpdf').checked) {
       total = total + parseFloat(plans[planid][periodid]['pdfprice']);
      }
      if(getObjById('chkxls').checked) {
       total = total + parseFloat(plans[planid][periodid]['xlsprice']);
      }
      if(getObjById('chkppt').checked) {
       total = total + parseFloat(plans[planid][periodid]['pptprice']);
      }
     } else if (basedoc == 3){ // selected ppt
      if(getObjById('chkpdf').checked) {
       total = total + parseFloat(plans[planid][periodid]['pdfprice']);
      }
      if(getObjById('chkdoc').checked) {
       total = total + parseFloat(plans[planid][periodid]['docprice']);
      }
      if(getObjById('chkxls').checked) {
       total = total + parseFloat(plans[planid][periodid]['xlsprice']);
      }
     } // end basedoc == x
     nodocs = nodocs + parseFloat(plans[planid][periodid]['defdoc']);
     noopen = noopen + parseFloat(plans[planid][periodid]['defop']);
    } // end if getObjById('chkall').checked
    getObjById('planname').innerHTML = plans[planid][periodid]['planname'];
    getObjById('planperiod').innerHTML = plans[planid][periodid]['planperiod'];
    }
    getObjById('ta').innerHTML = nice_price(Math.round(total*100)/100);
    getObjById('td').innerHTML = nodocs;
    getObjById('to').innerHTML = noopen;
}

function nice_price(p) {
    p = p.toString();
    var p1, p2;    
    var pos = p.indexOf('.');
    if (pos != -1) {
      p1 = p.substr(0, pos);
      p2 = p.substr(pos + 1);
      if (p2.length < 2) p2+='0';
    } else {
      p1 = p;
      p2 = '00';
    }
    if(p2 == '00') {
      return p1;
    }
    return p1+'.'+p2;
  }

function IsNumeric(sText) {
  var ValidChars = "0123456789";
  var IsNumber=true;
  var Char;
  
  if(!sText) {
    return false;
  }
  
  for (i = 0; i < sText.length && IsNumber == true; i++) {
    Char = sText.charAt(i);
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  return IsNumber;
}

function changeSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }

  myHeight = (myHeight - 30) / 2;
  document.getElementById("frm1").height = myHeight;
  document.getElementById("frm2").height = myHeight;
}

function changeTXTSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }

  myHeight = myHeight - 80;
  myWidth  = myWidth - 30;
  document.getElementById("txt").style.height = myHeight;
  document.getElementById("txt").style.width  = myWidth;
}

function SelectAll(){
  var elem;
  var what = document.frmdata.all_chk.checked;
  for (i = 0; i< document.frmdata.elements.length; i++) {
    if(document.frmdata.elements[i].name.indexOf('chk_') == 0) {
	eval("document.frmdata.elements["+i+"].checked = " + what);
    }
  }
  eval("document.frmdata.all_chk2.checked = "+what);
}

function SelectAll2(){
  var elem;
  var what = document.frmdata.all_chk2.checked;
  for (i = 0; i< document.frmdata.elements.length; i++) {
    if(document.frmdata.elements[i].name.indexOf('chk_') == 0) {
	eval("document.frmdata.elements["+i+"].checked = " + what);
    }
  }
  eval("document.frmdata.all_chk.checked = "+what);
}

function moveObject( obj, content, show, e ) {
  var tempX = 0;
  var tempY = 0;
  var offsetX = -10;
  var offsetY = -20;
  var objHolder = obj;

  obj = getObjById( obj );
  if (obj==null) return;

  if (document.all) {
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
  } else {
    tempX = e.pageX;
    tempY = e.pageY;
  }

  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}

  obj.style.top  = (tempY + offsetY) + 'px';
  obj.style.left = (tempX + offsetX) + 'px';

  obj.innerHTML = content;
  obj.style.display = show ? 'block' : 'none';
  obj.style.visibility = show ? 'visible' : 'hidden';
}

// Global vars to hold the object in the panel.
currentMenuIndex = 0;

/**
 * raising a panel means setting all the other panels to a lower level
 * and setting the raided panel to a higher level
 * note that also the size must be set correctly !
 * to activate a menu i switch the class between active and not active.
 */
function raisePanel ( panelIndex ) {
   for (index=0; index<3; index++ ) {
     getObjById("tabPane"+index).style.display = 'none';
     getObjById("tabMenu"+index).className = 'tabMenu';	   
   }
   getObjById("tabPane"+panelIndex).style.display = 'block';
   getObjById("tabMenu"+panelIndex).className = 'tabMenuActive';
   currentMenuIndex = panelIndex;
   return true;
}

function raisePanel2 ( value ) {
   for (index=0; index<3; index++ ) {
     getObjById("tabMenu"+index).className = 'tabMenu';	   
   }
   getObjById("planning").value = value + 1;
   getObjById("tabMenu"+value).className = 'tabMenuActive';
   currentMenuIndex = value;
   selectPlan();
   return true;
}

/**
 * When we mouse out of the span we restore the class to the default value
 * But this only if we are not over the current selected menu
 */
function mouseOut ( menuIndex ) {
   if ( menuIndex == currentMenuIndex ) return true;
   getObjById("tabMenu"+menuIndex).className = 'tabMenu';
}

/**
 * When we mouse over of the span we set the class of the span to the over one
 * But this only if we are not over the current selected menu
 */
function mouseOver ( menuIndex ) {
   if ( menuIndex == currentMenuIndex ) return true;
   getObjById("tabMenu"+menuIndex).className = 'tabMenuOver';
}

function changePlan() {
    var pers_periodid = getObjById('pers_period').selectedIndex;
    var busi_periodid = getObjById('busi_period').selectedIndex;
    var camp_periodid = getObjById('camp_period').selectedIndex;

    if (plans[1][pers_periodid]) {
       for (i in ids) {
         var obj = getObjById("pers_" + ids[i]);
         var tmp = plans[1][pers_periodid][ ids[i] ];
         obj.innerHTML = tmp;
       }
   }
  
   if (pers_periodid == 0) {
     getObjById('pers_chkrec').checked = true;
     getObjById('pers_chkrec').disabled = true;
   } else {
     getObjById('pers_chkrec').disabled = false;
   }

    if (plans[2][busi_periodid]) {
       for (i in ids) {
         var obj = getObjById("busi_" + ids[i]);
         var tmp = plans[2][busi_periodid][ ids[i] ];
         obj.innerHTML = tmp;
       }
   }
  
   if (busi_periodid == 0) {
     getObjById('busi_chkrec').checked = true;
     getObjById('busi_chkrec').disabled = true;
   } else {
     getObjById('busi_chkrec').disabled = false;
   }


    if (plans[3][camp_periodid]) {
       for (i in ids) {
         var obj = getObjById("camp_" + ids[i]);
         var tmp = plans[3][camp_periodid][ ids[i] ];
         obj.innerHTML = tmp;
       }
   }
  
   if (camp_periodid == 0) {
     getObjById('camp_chkrec').checked = true;
     getObjById('camp_chkrec').disabled = true;
   } else {
     getObjById('camp_chkrec').disabled = false;
   }
}

function makeEditable(id){
  getObjById(id).onclick = function(){edit(id)};
  getObjById(id).onmouseover = function(){showAsEditable(id)};
  getObjById(id).onmouseout = function(){showAsEditable(id, true)};
}

function showAsEditable(obj, clear){
  if (!clear){
    getObjById(obj).className = 'editable';
  }else{
    getObjById(obj).className = '';
  }
}

function edit(id){
  var obj = getObjById(id);
  obj.style.display = 'none';
  var inner = '<table style="display: inline"><tr><td nowrap="nowrap" style="border-right: 0px"><div class="input3"><input type="text" style="width: 150px" id="'+obj.id+'_edit" name="'+obj.id+'" value="'+obj.innerHTML+'" /></div></td><td nowrap="nowrap" style="border-right: 0px"><input class="button_submit" id="'+obj.id+'_save" type="button" value="SAVE" /></td><td nowarp="nowrap" style="border-right: 0px"><input class="button_submit" id="'+obj.id+'_cancel" type="button" value="CANCEL" /></td></tr></table>';
  var newElement = document.createElement("span");
  newElement.id = obj.id+'_editor';
  newElement.innerHTML = inner;
  obj.parentNode.insertBefore(newElement, obj.parentNode.lastChild);

  getObjById(obj.id+'_save').onclick = function(){saveChanges(obj)};
  getObjById(obj.id+'_cancel').onclick = function(){cleanUp(obj)};
}

function saveChanges(obj){
	
  var new_content = escape(document.getElementById(obj.id+'_edit').value);

  obj.innerHTML	= "<img src='/pic/ajax-loader.gif' border='0' style='display: inline' />&nbsp;&nbsp;&nbsp;Saving";
  cleanUp(obj, true);

  var success = function(t){editComplete(t, obj);}

  var url = 'dt.reader.htm';
  var params = 'id='+obj.id+'&content='+new_content;
  var http;

  try {
    // Firefox, Opera 8.0+, Safari
    http=new XMLHttpRequest();
  } catch (e) {
    // Internet Explorer
    try {
      http=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http=new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        alert("Your browser does not support AJAX!");
        return false;
      }
    }
  }
  
  http.open("GET", url+"?"+params, true);
  http.onreadystatechange = function() {//Call a function when the state changes.
    if(http.readyState == 4 && http.status == 200) {
      success(http);
    }
  }
  http.send(null);
}

function cleanUp(obj, keepEditable){
  var remobj = getObjById(obj.id+'_editor');
  remobj.parentNode.removeChild(remobj);
  obj.style.display = '';
  if (!keepEditable) showAsEditable(obj.id, true);
}

function editComplete(t, obj){
  obj.innerHTML	= t.responseText;
  showAsEditable(obj.id, true);
  updateAll(obj);
}

function updateAll(obj){
  var readers = document.getElementsByName("readers");
  var sep = obj.id.split("_", 2);
  sep = sep[0] + "_";
  for (i = 0; i< readers.length; i++) {
    if(readers[i].id.indexOf(sep) == 0) {
    	eval("readers[i].innerHTML = obj.innerHTML");
    }
  }
}