/***********************  exportbaseplan ************************/
/**
 * 
 */
function exportBasePlanDraw() {
	var step = $('#step').val();
	if (step =='' ) step = 1;
	if ( typeof(step) == 'string') step = parseInt(step);
	switch (step) {
		case 1:
			exportBasePlan1.refresh();
			break;
		case 2:
			exportBasePlan2.refresh();
			break;
		case 3:
			exportBasePlan3.refresh();
			break;
		case 4: 
			$('#rightside').html(exportBasePlan4.draw());
			break;
		default:
			alert('bad value of step ' + step);
			break;			
	}	
}

var projectRow = new Entity(projectRow, true, [[zipAlt1],0,1,0,1,2,3]);
var exportBasePlan1 = new Entity(exportBasePlan1, false, ["title.draw(['Create Template with Data from Release Planner']);", 'titleTable.draw(["Step 1: select project"]);', "(getSize())/2;", [projectRow]]);
exportBasePlan1.refresh = function () {
	$.ajax({	
		data: {q:"projectList", u: $("#user").val()}, 
		success:function(data, textStatus) {
			if ( ! data ) 
				return;
			try { 
				projectRow.set(data);
				$('#rightside').html(exportBasePlan1.draw());
				var st1 = new SortableTable($("#projectList").get(0),
					["Number","CaseInsensitiveString", "CaseInsensitiveString", "CaseInsensitiveString"]);
			} catch (e) {
				myCatch(e);
			}
		}
	});
} 

/**
 * 
 */
exportBasePlan1.click = function (project, projectName){
	$("#project").val(project);
	$("#projectName").val(projectName);
	gotoStep(2);
}

planSetRow = new Entity(planSetRow, true, [[zipAlt1],0,1,0,1,2]);
exportBasePlan2 = new Entity(exportBasePlan2, false, ['title.draw(["Create Template with Data from Release Planner"]);', 
	function() {
		return titleTable.draw(["Step 2: Project: (" +$("#project").val()  + ") "+
			$("#projectName").val() + " - select release plan set"]);
	},
	'(getSize())[1]/2', 
	[planSetRow]]);
	
	
exportBasePlan2.refresh = function() {
	$.ajax({ 
		data: {q:"planSetList", p: $("#project").val()}, 
		success:function(data,textStatus) {
			if ( ! data ) 
				return;
			try { 
    			planSetRow.set(data); 
				$('#rightside').html(exportBasePlan2.draw());
				var st1 = new SortableTable($("#planSetList").get(0),["Number","CaseInsensitiveString", "CaseInsensitiveString"]);
			} catch ( e) {
				myCatch(e); 
			}
		}
	});
} 

/**
 * 
 */
exportBasePlan2.click = function (planSetId, planSetName){
	$("#planSetId").val(planSetId);
	$("#planSetName").val(planSetName);
	gotoStep(3);
}

var exportBasePlanStep3PlanHead = new Entity(exportBasePlanStep3PlanHead, true, [
	function(b){
		var j = parseInt(b[0])+1;
		return ( j > 0 ? "Alternative&nbsp;" + j : "Manual Plan");
	}]);
var exportBasePlanCol = new Entity(exportBasePlanCol, true, [
	function (b) {		
		return exportBasePlanCol.colors[(b[0]-1) % exportBasePlanCol.colors.length];
	}, 
	0]);
exportBasePlanCol.colors = Array();
var exportBasePlanRow = new Entity(exportBasePlanRow, true, [[zipAlt1],0,1, [exportBasePlanCol,2]]);
var exportBasePlanStep3Radios = new Entity(exportBasePlanStep3Radios, true, [0, 0,
	function (b) {
		var j = parseInt(b[0])+1;
		return ( j > 0 ? "ALTERNATIVE " + j : "MANUAL PLAN");
	}]);
				
var exportBasePlan3 = new Entity(exportBasePlan3, false, [
	'title.draw(["Create Template with Data from Release Planner"]);', 
	[dragPane],  
	function () {
		var t = "Step 3: Project: (" +$("#project").val() + ") " + 
			$("#projectName").val() + " - Release plan set: (" + $('#planSetId').val() + ") " + 
			$('#planSetName').val() + " - select alternative"; 
		return titleTable.draw([t]);
	}, 
	"(getSize())[1]*2/3;", 
	[exportBasePlanStep3PlanHead], 
	[exportBasePlanRow], 
	[exportBasePlanStep3Radios]]);

/**
 * 
 */
exportBasePlan3.refresh = function () {
	$.ajax({
		data: {q:"planSetData", s: $("#planSetId").val()}, 
		success:function(data, textStatus) {
			if ( ! data ) 
				return; 
			try { 		
				//  hidden pane - populated from first line: release names   
				var colors = ["#D9F3CD","#FFCC9A","#777777"];
				data[0][data[0].length] = ['Postponed'];
				dragPane.set([0, 180, 90, "legendDragTable","Feature&nbsp;Assigned&nbsp;To",colors, data[0]]);
				// alert(data[1]+'*'+data[1][0]+'*'+data[1][1]);
				exportBasePlanStep3PlanHead.set(data[1]);
				
				exportBasePlanCol.colors = colors;
				// alert(data[2][0][0]+'*'+data[2][0][1]+'*'+data[2][0][2]+'*'+data[2][0][2][0]+'*'+data[2][0][2][1]);
				exportBasePlanRow.set(data[2]);
					
				exportBasePlanStep3Radios.set(data[1]);
				var rs = exportBasePlan3.draw();
				// $('#debug').html(debugStr(rs));
				$('#rightside').html(rs);
				var scr =["Number", "CaseInsensitiveString"]; 
				for ( var i=0; i < exportBasePlanStep3PlanHead.numRows ; i++) {
					scr[i+2] =  "CaseInsensitiveString"; // script sort table
				}
   				var st1 = new SortableTable($("#planTable").get(0), scr);
			} catch (e){
				myCatch(e);
			}				
		}
	});		
}

/**
 * 
 */
exportBasePlan3.click = function (plan){
	$("#planId").val(plan);
	gotoStep(4);
}

var exportBasePlan4 = new Entity(exportBasePlan4, false, 
	['title.draw(["Create Template with Data from Release Planner"]);', 
      function() {
		return titleTable.draw(["Step 4: Project: (" +$("#project").val()  + ") "+	$("#projectName").val() ]);
		}, 
		function () { return $("#projectName").val(); } ]);

/**
 * 
 */
exportBasePlan4.go = function (){
	var maxNumStaffs = $("#NumStaffs").val();
	var maxNumTasks = $("#NumTasks").val();
	var maxNumFeatures = $("#NumFeatures").val();
	var maxNumTimeWindows = $("#NumTimeWindows").val();
	var maxNumPreAssignments = $("#NumPreAssignments").val();
	var maxNumTaskPrecedences  = $("#NumTaskPrecedences").val();
	var maxNumFeaturePrecedences  = $("#NumFeaturePrecedences").val();
	
	if (! checkInt(maxNumStaffs) ) { 
		alert("Invalid data for Maximum Number of Staffs: " + maxNumStaffs + " integer expected");
	} else if ( ! checkInt(maxNumTasks) ) { 
		alert("Invalid data for Maximum Number of Tasks: " + maxNumTasks + " integer expected");
   } else if ( ! checkInt(maxNumFeatures) ) { 
		alert("Invalid data for Maximum Number of Features: " + maxNumFeatures + " integer expected");			
   } else if (  ! checkInt(maxNumTimeWindows) ) { 
		alert("Invalid data for Maximum Number of Time Windows: " + maxNumTimeWindows + " integer expected");			
   } else if (  ! checkInt(maxNumPreAssignments) ) { 
		alert("Invalid data for Maximum Number of Pre-Assignments: " + maxNumPreAssignments + " integer expected");			
   } else if (  ! checkInt(maxNumTaskPrecedences) ) { 
		alert("Invalid data for Maximum Number of Task Precedences: " + maxNumTaskPrecedences + " integer expected");			
   } else if (  ! checkInt(maxNumFeaturePrecedences) ) { 
		alert("Invalid data for Maximum Number of Feature Precedences: " + maxNumFeaturePrecedences + " integer expected");
   } else {			
   	$("#plan").val($("#planId").val());
   	$("#set").val($("#planSetId").val());	
		document.post_form.submit();	
		// window.location = 'exportExcel.php?p=&s=';
	} 
}


