
//  Javascript functions used by block report

function selectReport(bid) {
	reportElement = document.getElementById("report"+bid);
	
	new Ajax.Updater('reportConstraintDiv'+bid, 
					'index.php',  
					{method: 'post' ,
						parameters:{ 
									reportID: reportElement.value,
									bid: bid,
									pageName: 'module', 
									asynchronous: true, 
									func:'updatereportview',
									module:'reportcreator'}});
}
/******************************************/
function clearReportTableDiv(bid) {
	var reportTableDiv =  document.getElementById("reportTable"+bid);
	reportTableDiv.innerHTML = '';
}
/******************************************/
function runBlockReport(bid) {
	var reportElement = document.getElementById("report"+bid);
	if (reportElement.value == 0) {
		clearReportTableDiv(bid);		
		return;
	}
	var constraintVals = harvestDynamicConstraintsValues(bid);
	var blockname = document.getElementById(bid + "blockname").value;
	var userid = document.getElementById(bid + "userid").value;
	
	
	
	new Ajax.Updater('reportTable'+bid, 
					'index.php',  
					{method: 'post' ,
						parameters:{ 
									reportID: reportElement.value,
									bid: bid,
									constraintVals: constraintVals,
									blockname: blockname,
									userid: userid,
									pageName: 'module', 
									asynchronous: false, 
									func:'updateblockreport',
									module:'reportcreator'}});
									
   								
    YAHOO.util.Event.onAvailable("reportTable",YAHOO.protech.instanceList.enhanceFromMarkup,YAHOO.protech.instanceList.enhanceFromMarkup,true);
}
//****************************************************************************
function harvestDynamicConstraintsValues(bid) {

  var tbl = document.getElementById(bid+'DynConstVals');
  constraintStr = '';
  if (tbl != undefined) {
	  var lastRow = tbl.rows.length; 
	  
	  for (i=1;i<lastRow+1;i++) {	// for each Dynamic Constraint
	  	selFieldsid = bid+'constraint_' + i;
	  	selfilterField = document.getElementById(selFieldsid); 
	  	if (selfilterField != undefined) { 	
		  	CVal = selfilterField.value;		
			if (i > 1) constraintStr += CONSTRAINTDIVIDER;	
			constraintStr += CVal;
	  	}	
	  }
	  
	  var element = document.getElementById('dateStartseed');
		if ((element != "undefined") && (element)) {
			//alert("Add Date Start #" + constraintStr + "#");
			if (constraintStr.length > 0) {
				constraintStr += CONSTRAINTDIVIDER;			
			}
			constraintStr += element.value;
			element = document.getElementById('dateEndseed');
			constraintStr += CONSTRAINTDIVIDER;
			constraintStr += element.value;
		}
  }
 
  return constraintStr;
}
//*********************************************************************************
function updateReportBlockResults(userID,reportViewID) {

	var resList = document.getElementsByClassName ("ReportClass");
	
	if (resList.length > 0) {
	     
		var reportDiv = resList[0];
		
		var bid = reportDiv.id.substr(11);
		var blockname = document.getElementById(bid + "blockname").value;
		
		var constraintElement = document.getElementById('reportConstraintDiv'+bid);
		if (constraintElement != undefined)
			document.getElementById('reportConstraintDiv'+bid).innerHTML = '';
			
		var selElement = document.getElementById('report'+bid);
		if (selElement != undefined) {
			for (i=0;i<selElement.length;i++) {
				if (selElement.options[i].value == reportViewID) {
					selElement.options[i].defaultSelected = "SELECTED";
					selElement.selectedIndex = i;
				} else {
					selElement.options[i].defaultSelected = "";
				}
			}
		}
		//YAHOO.util.Event.onAvailable("markup",YAHOO.protech.instanceList.enhanceFromMarkup,YAHOO.protech.instanceList.enhanceFromMarkup,true);
		new Ajax.Updater('reportTable'+bid, 
					'index.php',  
					{method: 'post' ,
						parameters:{ 
									reportID: reportViewID,
									bid: bid,
									constraintVals: '',
									blockname: blockname,
									userid: userID,
									pageName: 'module', 
									asynchronous: false, 
									func:'updateblockreport',
									module:'reportcreator'}});
	}
	YAHOO.util.Event.onAvailable("reportTable",YAHOO.protech.instanceList.enhanceFromMarkup,YAHOO.protech.instanceList.enhanceFromMarkup,true);
}
//*********************************************************************************
function clearReportBlock(selfPtr) {
	divNode = selfPtr.parentNode.parentNode;
	divNode.innerHTML = '';
}