/***********************************************************************************************/ 
/***********************************************************************************************/ 
// INITIATE AND CONFIGURE YUI LOADER
/***********************************************************************************************/ 
/***********************************************************************************************/   
var loader = new YAHOO.util.YUILoader({ 
	// Identify the components you want to load.  
	require: ["cookie", "containercore", "container", "button", "datatable", "datasource", "paginator", "tabview", "menu", "reset-fonts", "layout", "dom", "event"],   
	
	// Configure loader to pull in optional dependencies.
	loadOptional: true,   
 
	// The function to call when all script/css resources have been loaded   
	onSuccess: function() { 
	//this is your callback function.      
		if (curMenuItem == "Login") { 
      var layout = new YAHOO.widget.Layout({
          units: [
              { position: 'top', height: 50, body: 'guiHead', gutter: '5px' },
              { position: 'bottom', height: 50, body: 'guiFoot', gutter: '5px' },
              { position: 'center' }
          ]
      });
		} else {
			var layout = new YAHOO.widget.Layout({
				units: [
					{ position: 'top', height: 50, body: 'guiHead', gutter: '5px' },
					{ position: 'bottom', height: 50, body: 'guiFoot', gutter: '5px' },
					{ position: 'left', header: '&nbsp;', width: 200, body: 'guiTOC', scroll: null, zIndex: 1, gutter: '5px' },
					{ position: 'center' }
				]
			});
		}
	
		layout.on('render', function() { 
			var el = layout.getUnitByPosition('center').get('wrap'); 
			if (curMenuItem == "Login") { 
				var layout2 = new YAHOO.widget.Layout(el, { 
					parent: layout, 
					units: [ 
						{ position: 'center', body: 'guiContent', gutter: '5px', zIndex: 2, scroll: true } 
					] 
				});
			} else if (curMenuItem == "My Account") {
				var layout2 = new YAHOO.widget.Layout(el, { 
					parent: layout, 
					units: [ 
						{ position: 'center', header: '&nbsp;'+contentHeadTitle, body: 'guiContent', gutter: '5px 5px 5px 5px', zIndex: 2, scroll: true } 
					] 
				});
			} else {
				var layout2 = new YAHOO.widget.Layout(el, { 
					parent: layout, 
					units: [ 
						{ position: 'top', header: '&nbsp;'+contentHeadTitle, body: 'contentToolbar', height: 70, gutter: '5px 5px 0px 5px' }, 
						{ position: 'center', body: 'guiContent', gutter: '0px 5px 5px 5px', zIndex: 2, scroll: true } 
					] 
				});
			} 
						
			layout2.on('render', function() { 
	    
				switch (curMenuItem) {
					case "My Campaigns":
						// MY CAMPAIGNS				
						if (isManager==1 || isAdmin==1) {
							var oAddListButton = new YAHOO.widget.Button({ label:"Add New Campaign", id:"addCampaignButton", container:"addCampaignButtonContainer", onclick: { fn: addCampaign } });      
						}
						
						if (campaignTableFilter == "all") {		
							var oViewAllButton = new YAHOO.widget.Button({ label:"Show Active", type: "link", id:"campaignFilterButton", container:"addCampaignButtonContainer", href:"myCampaigns.php?f=active" });      
						} else {
							var oViewActiveButton = new YAHOO.widget.Button({ label:"Show All", type: "link", id:"campaignFilterButton", container:"addCampaignButtonContainer", href:"myCampaigns.php?f=all" });      
						}
						
						YAHOO.util.Event.onContentReady("campaignsTable",initCampaignsTable);  
						YAHOO.util.Event.onContentReady("toc", initLeftMenu);      
						YAHOO.util.Event.onContentReady("campaignEditor", initCampaignEditDlg);    	 	        
						YAHOO.util.Event.onContentReady("campaignInactive", initCampaignInactiveDlg);  		  				
						break;
					case "Campaign Report":
						var oReturn2Campaigns = new YAHOO.widget.Button({ label:"My Campaigns", type: "link", id:"return2CampaignsButton", container:"reportGlobalButtonsContainer", href:"myCampaigns.php" });      
					
						// GLOBAL TACTIC REPORTS  
						YAHOO.util.Event.onContentReady("reportTableContainer", initReportTable);  
						YAHOO.util.Event.onContentReady("toc", initLeftMenu); 
						break;					
					case "Campaign Report Direct Tactic":
						var oReturn2Campaigns = new YAHOO.widget.Button({ label:"My Campaigns", type: "link", id:"return2CampaignsButton", container:"reportGlobalButtonsContainer", href:"myCampaigns.php" });
						var oReturn2Report = new YAHOO.widget.Button({ label:"Campaign Report", type: "link", id:"return2ReportButton", container:"reportGlobalButtonsContainer", href:"report.php?cID="+curCampaignID });

						// GLOBAL TACTIC REPORTS  
						YAHOO.util.Event.onContentReady("reportDirectTableContainer", initReportDirectTable);  			
						YAHOO.util.Event.onContentReady("toc", initLeftMenu); 
						break;							
					case "Campaign Report Direct Tactic Detail":
						var oReturn2Campaigns = new YAHOO.widget.Button({ label:"My Campaigns", type: "link", id:"return2CampaignsButton", container:"reportGlobalButtonsContainer", href:"myCampaigns.php" });
						var oReturn2Report = new YAHOO.widget.Button({ label:"Campaign Report", type: "link", id:"return2ReportButton", container:"reportGlobalButtonsContainer", href:"report.php?cID="+curCampaignID });
						var oReturn2DirectTacticReport = new YAHOO.widget.Button({ label:"Direct Tactic Report", type: "link", id:"return2DirectTacticReportButton", container:"reportGlobalButtonsContainer", href:"reportDirectTactic.php?cID="+curCampaignID+"&lID="+curListID });
						var oGo2DetailSummary = new YAHOO.widget.Button({ label:"Show Summary", type: "link", id:"go2SummaryReportButton", container:"reportGlobalButtonsContainer", href:"reportDirectTacticSummary.php?cID="+curCampaignID+"&lID="+curListID+"&tID="+curTargetID+"&tName="+curTargetName });

						// GLOBAL TACTIC REPORTS  
						YAHOO.util.Event.onContentReady("reportTargetDetailTableContainer", initReportTargetDetailTable);  			
						YAHOO.util.Event.onContentReady("toc", initLeftMenu); 
						break;							
					case "Campaign Report Direct Tactic Summary":
						var oReturn2Campaigns = new YAHOO.widget.Button({ label:"My Campaigns", type: "link", id:"return2CampaignsButton", container:"reportGlobalButtonsContainer", href:"myCampaigns.php" });
						var oReturn2Report = new YAHOO.widget.Button({ label:"Campaign Report", type: "link", id:"return2ReportButton", container:"reportGlobalButtonsContainer", href:"report.php?cID="+curCampaignID });
						var oReturn2DirectTacticReport = new YAHOO.widget.Button({ label:"Direct Tactic Report", type: "link", id:"return2DirectTacticReportButton", container:"reportGlobalButtonsContainer", href:"reportDirectTactic.php?cID="+curCampaignID+"&lID="+curListID });
						var oGo2DetailReport = new YAHOO.widget.Button({ label:"Show Detail", type: "link", id:"go2DetailReportButton", container:"reportGlobalButtonsContainer", href:"reportDirectTacticDetail.php?cID="+curCampaignID+"&lID="+curListID+"&tID="+curTargetID+"&tName="+curTargetName });

						// GLOBAL TACTIC REPORTS  
						YAHOO.util.Event.onContentReady("reportTargetSummaryTableContainer", initReportTargetSummaryTable);  			
						YAHOO.util.Event.onContentReady("toc", initLeftMenu); 
						break;					
					case "Campaign Report Total Hits Summary":
						var oReturn2Campaigns = new YAHOO.widget.Button({ label:"My Campaigns", type: "link", id:"return2CampaignsButton", container:"reportGlobalButtonsContainer", href:"myCampaigns.php" });
						var oReturn2Report = new YAHOO.widget.Button({ label:"Campaign Report", type: "link", id:"return2ReportButton", container:"reportGlobalButtonsContainer", href:"report.php?cID="+curCampaignID });
						var oGo2DetailReport = new YAHOO.widget.Button({ label:"Show Detail", type: "link", id:"go2DetailReportButton", container:"reportGlobalButtonsContainer", href:"reportTotalHitsDetail.php?cID="+curCampaignID+"&lID="+curListID+"&tCat="+curTacticCat });

						// GLOBAL TACTIC REPORTS  
						YAHOO.util.Event.onContentReady("reportTotalHitsTableContainer", initReportTotalHitsTable);  			
						YAHOO.util.Event.onContentReady("toc", initLeftMenu); 
						break;									
					case "Campaign Report Total Hits Detail":
						var oReturn2Campaigns = new YAHOO.widget.Button({ label:"My Campaigns", type: "link", id:"return2CampaignsButton", container:"reportGlobalButtonsContainer", href:"myCampaigns.php" });
						var oReturn2Report = new YAHOO.widget.Button({ label:"Campaign Report", type: "link", id:"return2ReportButton", container:"reportGlobalButtonsContainer", href:"report.php?cID="+curCampaignID });
						var oGo2DetailSummary = new YAHOO.widget.Button({ label:"Show Summary", type: "link", id:"go2SummaryReportButton", container:"reportGlobalButtonsContainer", href:"reportTotalHitsSummary.php?cID="+curCampaignID+"&lID="+curListID+"&tCat="+curTacticCat });

						// GLOBAL TACTIC REPORTS  
						YAHOO.util.Event.onContentReady("reportTotalHitsDetailTableContainer", initReportTotalHitsDetailTable);  			
						YAHOO.util.Event.onContentReady("toc", initLeftMenu); 
						break;						
					case "Campaign Tactics":
						var oReturn2Campaigns = new YAHOO.widget.Button({ label:"My Campaigns", type: "link", id:"return2CampaignsButton", container:"tacticGlobalButtonsContainer", href:"myCampaigns.php" });      
						var oAddTacticButton = new YAHOO.widget.Button({ label:"Add New Tactic", type: "link", id:"addTacticButton", container:"tacticGlobalButtonsContainer", href:"javascript:checkCampaignStatus(0,'new','addTactic')" });      
							
						// REPORTS: by Target AND by Resource
						YAHOO.util.Event.onContentReady("tacticsTable",initTacticsTable);    
						YAHOO.util.Event.onContentReady("toc", initLeftMenu);  
						YAHOO.util.Event.onContentReady("tacticExport", initTacticExportDlg);  	  
						YAHOO.util.Event.onContentReady("tacticMaintenance", initTacticMaintenanceDlg);  	   
						break;
					case "Manage Lists":
						// MANAGE LISTS
		        var oAddListButton = new YAHOO.widget.Button({ label:"Add New List", id:"addListButton", container:"addListButtonContainer", onclick: { fn: viewListImport } });      
		        YAHOO.util.Event.onContentReady("listsTable",initListsTable);  
						YAHOO.util.Event.onContentReady("toc", initLeftMenu);      
						YAHOO.util.Event.onContentReady("newListEditor", initNewListDlg);   
						YAHOO.util.Event.onContentReady("existingListEditor", initEditListDlg); 					
						break;
					case "Manage Lists Details":
						var oReturn2Campaigns = new YAHOO.widget.Button({ label:"Manage Lists", type: "link", id:"return2CampaignsButton", container:"globalButtonsContainer", href:"manageLists.php" });
						
						// MANAGE LISTS Details
		        YAHOO.util.Event.onContentReady("listDetailsTable",initListDetailsTable);  
						YAHOO.util.Event.onContentReady("toc", initLeftMenu);      				
						break;
						
					case "Manage Users":
						// MANAGE USERS
						var addUserBTN = new YAHOO.widget.Button({ label:"Add New User", type: "link",  id:"addUserButton", container:"addUserButtonContainer", href:"javascript:editUser(0)" });    
						
						YAHOO.util.Event.onContentReady("campaignsTable",initUsersTable);  
						YAHOO.util.Event.onContentReady("toc", initLeftMenu);      
						YAHOO.util.Event.onContentReady("userEditor", initUserManagerDlg);  					
						break;
					case "Login":
						// LOGIN SCREEN
						var loginBTN = new YAHOO.widget.Button({ label:"Login", type: "submit",  id:"loginButton", container:"loginButtonContainer"});    
						break;
						
					case "My Account":
						// My Account
						var submitMyInfoBTN = new YAHOO.widget.Button({ label:"Submit",  id:"submitMyInfoButton", container:"myInfoSubmitButtonContainer", onclick: { fn: processMyInfo } }); 
						YAHOO.util.Event.onContentReady("toc", initLeftMenu);          
						YAHOO.util.Dom.setStyle(document.body, 'visibility', 'visible'); 
						break;					
				}
				YAHOO.util.Dom.setStyle(document.body, 'visibility', 'visible');  
			});   
			layout2.render(); 
			
		});   
		//(layout.getSizes().center.h, layout.getSizes().center.w)
		layout.render();
		//var t=setTimeout("alert("+layout.getSizes().center.w+")",5000);
	},   
	
	// Configure the Get utility to timeout after 10 seconds for any given node insert   
	timeout: 10000,  
	 
	// Combine YUI files into a single request (per file type) by using the Yahoo! CDN combo service.   
	combine: true  
});   

