/*
**************************************************************************
File Script        		Version 1.00
Created by Corey Kaye		kayec@dns.ca
Created on: 				2007-11-18

Setup a YUI Panel for AdAtlantic site.  Summerizes info in a 
overlay DIV.

---------------------------------------------------------------------

Copyright (C) 2001 DNS Websites
http://www.dns.ca
**************************************************************************
**************************************************************************
*/


/**************************************************************************
* Define panel 
**************************************************************************/
DNS.campaignAtAGlance = function() {
////	sBrowserWidth = YAHOO.util.Dom.getViewportWidth() - 325;
	var sBrowserWidth = 950;
	var sBrowserHeight = 950;

	var lockedDIV = document.getElementById('applyButton');
	sBrowserWidth = YAHOO.util.Dom.getX(lockedDIV);
	sBrowserHeight = YAHOO.util.Dom.getY(lockedDIV);

	sBrowserWidth = sBrowserWidth+70;
	sBrowserHeight = sBrowserHeight+100;

//alert("x: "+sBrowserWidth+" y: "+sBrowserHeight);

	DNS.campaignAtAGlance.campaignPanel = new YAHOO.widget.Panel("divCampaignPanel", { xy:[sBrowserWidth,sBrowserHeight], width:"180px", visible:false, draggable:true, close:false, constraintoviewport:true } ); 
	YAHOO.widget.Overlay.windowScrollEvent.subscribe(function() { DNS.campaignAtAGlance.campaignPanel.moveTo(DNS.campaignAtAGlance.campaignPanel.cfg.getProperty("x"), DNS.campaignAtAGlance.campaignPanel.cfg.getProperty("y")); });
	DNS.campaignAtAGlance.campaignPanel.setHeader("<img src=\"images/header_ataglance.png\" />"); 
	DNS.campaignAtAGlance.campaignPanel.setBody("No News Papers selected."); 
	DNS.campaignAtAGlance.campaignPanel.setFooter("<strong>Volume Discount Available</strong><br><strong><a href=\"contactus.php\">Contact our sales staff at 1.877.842.4480.</a></strong><br><br>"); 
	DNS.campaignAtAGlance.campaignPanel.render(); 
}
/**************************************************************************
* Define panel 
**************************************************************************/




/**************************************************************************
* Hide panel
**************************************************************************/
DNS.campaignAtAGlance.ShowHidePanel = function(bSwitch) {
	if (bSwitch) {
		DNS.campaignAtAGlance.campaignPanel.show()
	}
	else {
		DNS.campaignAtAGlance.campaignPanel.hide()
	}
}
/**************************************************************************
* Hide panel
**************************************************************************/






/**************************************************************************
* Update Campaign at a Glance panel body.
**************************************************************************/
DNS.campaignAtAGlance.updateBody = function(sGrandTotal,sSelectionsTotal,sSelectionsNS,sSelectionsNL,sSelectionsNB,sSelectionsPE,sInserts,sAvgCPM,sTotalCirculation,aNewsPapers) {
	var sBody = "";
	for (var i=1; i <= aNewsPapers.length; i++) {
		sBody = sBody + aNewsPapers[i-1] + "<br>";
	}
	sBody = "";
	if (sSelectionsNS >= 0) {
		sBody = sBody + "<br>Selections NS: "+sSelectionsNS+"<br>";
	}
	if (sSelectionsNL >= 0) {
		sBody = sBody + "Selections NL: "+sSelectionsNL+"<br>";
	}
	if (sSelectionsNB >= 0) {
		sBody = sBody + "Selections NB: "+sSelectionsNB+"<br>";
	}
	if (sSelectionsPE >= 0) {
		sBody = sBody + "Selections PE: "+sSelectionsPE+"<br>";
	}
	sBody = sBody + "<br><nobr><strong>Total Selections:</strong> "+sSelectionsTotal+"</nobr><br>";
	sBody = sBody + "<strong>Total Insertions:</strong> "+sInserts+"<br>";
	sBody = sBody + "<strong>Average CPM:</strong> $"+sAvgCPM+"<br>";
	sBody = sBody + "<nobr><strong>Total Circulation:</strong> "+sTotalCirculation+"</nobr><br>";
	sBody = sBody + "<hr><span class=\"contentBoxGrossrate\"><nobr>Gross Cost: $"+sGrandTotal+"</nobr></span>";

	DNS.campaignAtAGlance.campaignPanel.setBody(sBody); 
	if (sSelectionsTotal > 0) {
		DNS.campaignAtAGlance.campaignPanel.setFooter("<strong>Volume Discount Available</strong><br><strong><a href=\"contactus.php\">Contact our sales staff at 1.877.842.4480.</a></strong><br><br><div id=\"stepTwoFinalizePanel\"><img src=\"images/bn_proceed0.png\" onClick=\"DNS.finalizeOptions(true);\"></div>"); 
	}
}
/**************************************************************************
* Update Compain at a Glance panel body.
**************************************************************************/






/**************************************************************************
* Update Compain at a Glance panel math.
**************************************************************************/
DNS.campaignAtAGlance.updatePanelMath = function(oArgs) {
	var aAllRecords = DNS.myDataTable.getRecordSet().getRecords();
	var aNewsPapers = [];
	var sGrandTotal = 0;
	var sSelectionsTotal = 0;
	var sSelectionsNS = 0;
	var sSelectionsNL = 0;
	var sSelectionsNB = 0;
	var sSelectionsPE = 0;
	var sInserts = 0;
	var sAvgCPM = 0;
	var sTotalCirculation = 0;
	var sThisTotalCost = 0;
	var sThisCPM = 0;

	for (var i=1; i <= aAllRecords.length; i++) {
	    var oRec = aAllRecords[i-1];
		if (oRec.getData("VisualCheckbox")) {
//			sThisTotalCost = oRec.getData("TotalCost").replace(/,/g,"");
//			sThisCPM = oRec.getData("CPM").replace(/,/g,"");
			sThisTotalCost = oRec.getData("TotalCost");
			sThisCPM = oRec.getData("CPM");
			sGrandTotal = Math.floor((sGrandTotal*1 + sThisTotalCost*1)*100)/100;
			sSelectionsTotal = sSelectionsTotal*1 + 1;
			switch (oRec.getData("Province")) {
				case "NS":
					sSelectionsNS = sSelectionsNS*1 + 1;
					break;
				case "NL":
					sSelectionsNL = sSelectionsNL*1 + 1;
					break;
				case "NB":
					sSelectionsNB = sSelectionsNB*1 + 1;
					break;
				case "PE":
					sSelectionsPE = sSelectionsPE*1 + 1;
					break;
			}
			sInserts = sInserts*1 + oRec.getData("Inserts")*1;
			sAvgCPM = Math.floor((sAvgCPM*1 + sThisCPM*1)*100)/100;
			sTotalCirculation = sTotalCirculation*1 + oRec.getData("Circulation")*1;
			aNewsPapers[aNewsPapers.length] = oRec.getData("Name");
		}
/*////////////////////////////////  DEBUG
	var keysDiv = document.getElementById('keys'); 
	var sTxt = "";
	for (key in oRec) {
		sTxt = sTxt + "<hr>For oRec key: <b>" + key + "</b> Element value is: <b>" + oRec[key]+"</b><br><br>";

		var oTwo = oRec[key];
		for (keytwo in oTwo) {
			sTxt = sTxt + "&nbsp; For "+oRec[key]+" key: <b>" + keytwo + "</b> Element value is: <b>" + oTwo[keytwo]+"</b><br><br>";
		};
	};
	keysDiv.innerHTML = keysDiv.innerHTML + sTxt;
/*//////////////////////////////// DEBUG
	}

	if (sSelectionsTotal <= 0) {
		sAvgCPM = 0;
	}
	else {
		sAvgCPM = Math.floor((sAvgCPM / sSelectionsTotal)*100)/100;
	}

	sGrandTotal = DNS.addCommas(sGrandTotal.toFixed(2));
	sAvgCPM = DNS.addCommas(sAvgCPM.toFixed(0));
	sTotalCirculation = DNS.addCommas(sTotalCirculation);
	DNS.campaignAtAGlance.updateBody(sGrandTotal,sSelectionsTotal,sSelectionsNS,sSelectionsNL,sSelectionsNB,sSelectionsPE,sInserts,sAvgCPM,sTotalCirculation,aNewsPapers);
};

/**************************************************************************
* Update Compain at a Glance panel math.
**************************************************************************/




