var title = new Entity(title,false);
var titleTable = new Entity(titleTable,false);
var overview = new Entity(overview, false,["title.draw(['staffing project overview']);"]);
var overview1 = new Entity(overview1, false,["title.draw(['newly created staffing project']);"]);
var importBasePlan = new Entity( importBasePlan, false, ["title.draw(['import plan to be staffed']);",0]);
/**
 * 
 */
importBasePlan.stop = function(msg, sname, sid, iid,dir){
	var elm  = document.getElementById('staffing');
	// document.getElementById('importmsg').innerHTML  = msg;
	if ( msg ){
		alert(msg);
		$('#progress').html(msg);	
		// $('#importmsg').html(msg);
	} else {
		$('#progress').html('<br />Import successful'); //  *'+ elm.value +'*' + sname + '*' + sid + '*<br /><br />' );	
		// $('#importmsg').html('Import successful');
	}
	if ( elm.value == '' && sname != ''  && sid != '') {
		sideNavSetStaffingPlanName(sname);
		$('#staffingPlanName').val(sname);
		$('#staffing').val(sid);
		$('#instance').val(iid);
		$('#direction').val(dir);
		//$('#staffingStatus').val(0);
		sideNavClick('overview');				
	}
}

importBasePlan.start = function() {
	$('#progress').html('<br />Uploading, please wait ... <br/><img src="/gfx/bars/loading.gif"><br/><br/>');	
}
/***********************  general ************************/

/** 
 * 
 */
function rightsideDraw(){
	var module = $('#module').val();
	switch (module) {		
		case 'login':
			defaultHandler = loginVerifyUser;
			break;
		case 'overview1': 
			$('#rightside').html(overview1.draw());
			defaultHandler = function() {};
			break;
		case 'overview':
			$('#rightside').html(overview.draw());
			defaultHandler = function() {};
			break;		
		case 'existStaffingPlans':
			existStaffingPlans.refresh();
			defaultHandler =function() {
				existStaffingPlansRow.go();
			}
			break;
		case 'createEmptyTemplate':
			// window.location = 'exportExcel.php?empty';
			// defaultHandler = function() {};
			$('#rightside').html(createEmptyTemplate.draw());
			defaultHandler = function() {};
			break;
		case 'exportBasePlan':
			exportBasePlanDraw();
			defaultHandler = function() {};
			break;		
		case 'importBasePlan':
			$('#rightside').html(importBasePlan.draw([$('#user').val()]));
			defaultHandler = function() {};
			break;
		case 'createStaffingPlan':
			settings.refresh();
			defaultHandler = function() {
				settings.create();
			};
			break;
		case 'settings':
			settings.refresh();
			defaultHandler = function() {
				settings.save();
			};
			break;
		case 'features':
			features.refresh();
			defaultHandler = function() { 
				featureRow.save();
			};
			break;			
		case 'featurePrecedence':
			featurePrecedence.refresh();
			defaultHandler = function() { 
				featurePrecedenceRow.save();
			};			
			break;
		case 'tasks':
			tasks.refresh();
			defaultHandler = function() { 
				tasksRow.save();
			};
			break;
		case 'taskPrecedence':
			taskPrecedence.refresh();
			defaultHandler = function() { 
				taskPrecedenceRow.save();
			};			
			break;
		case 'workload':
			workload.refresh();
			defaultHandler = function() { 
				workloadRow.save();
			};
			break;		
		case 'sAP':
		 	sAP.refresh();
			defaultHandler = function() { 
				sAPRow.save();
			};
		 	break;
		 case 'sAv':
		 	sAv.refresh();
			defaultHandler = function() { 
				sAvRow.save();
			}
		 	break;
		 case 'sPA':
		 	sPA.refresh();
			defaultHandler = function() { 
				sPARow.save();
			}
		 	break;
		 case 'generateSchedule':
			$('#rightside').html( generateSchedule.draw());
			defaultHandler = function() {
				generateSchedule.go();
			};
			 	break;
		 case 'excelReporting':
		 	excelReporting.refresh();
			defaultHandler = function() {
				excelReportingRow.go();
			}
		 	break;
		 case 'excelReportingValue':
			excelReportingValue.refresh();
			defaultHandler = function() {
				excelReportingValueRow.go();
			}
		 	break;			 
	}		
}

/**  
 * 
 */
function gotoStep(step){
	if ( step > 0 ) {
		$('#step').val(step);
	} else {
		var x = $('#step').val();
		if ( typeof(x) == 'string') {
			x = parseInt(x);
		}
		$('#step').val(x-1);
	}
	rightsideDraw();
} 

function saveSession() {
	
}
 
/***********************  login ************************/
 
/** 
 *  
 */
function loginVerifyUser() {
	$.ajax({
		data: {q:'login', u:$('#username').val(), p:$('#password').val()},
		success: function(result, textStatus){
			if ( ! result)
				return;
			try { 
				switch ( result.user_id) {
					case  -1:
						alert("Unknown error!");
						break;
					case -2:
						alert("Invalid user name and password");
						break;
					case -3:
						alert("This user is disabled");
						break;
					default:
						document.post_form.submit();
						break;
				}
			} catch ( e) {
				alert('Exception '+e.name + ' ' + e.message);
			}
		}
	});
}


 
//function to activate/deactivate the text field
var updateFormNumCB =0;
function updateForm (){
	var action = $("#action").val();
	if(action == "copy" || action ==  "rename" || action=="gantt" || action=="schedule" || action=="xml") { 
		$("#newName").css('display',"");
		$("#labelNewName").css('display',"");		
		if ( action=='gantt') { 
			$("#startDate").css('display',"");
			$("#labelStartDate").css('display',"");
			$("a.dp-choose-date").css('display',"");
		} else {
			if ( $("#startDate").get(0)) {
				$("#startDate").css('display',"none");
				$("#labelStartDate").css('display',"none");
				$("a.dp-choose-date").css('display',"none");
			}
			if (action=="xml") {
				$("#labelNewName").htlm(" and a new file name ");
			} else {
				$("#labelNewName").htlm(" and a new name ");
			}
		}
	} else {		
		if ( $("#newName").get(0) ) {
			$("#newName").css('display',"none");
			$("#labelNewName").css('display',"none");			
		}
		if ( action == 'ganttv') {
			$("#startDate").css('display',"");
			$("#labelStartDate").css('display',"");		
			$("a.dp-choose-date").css('display',"");
		} else {
			if ( $("#startDate").get(0) ) {
				$("#startDate").css('display',"none");
				$("#labelStartDate").css('display',"none");		
				$("a.dp-choose-date").css('display',"none");
			}	
		}		
	}
					
	var count = 0;
	for(var i=0; i < updateFormNumCB ; i++){
		if ($("#checkBox_"+i).attr('checked'))
			count++;	
			
		if (count > 1)
			//$("#checkBox_"+i).attr('checked','false');
			$("#checkBox_"+i).removeAttr('checked');
	}
					
	if ((action == "copy" || action  == "rename" || action == "gantt" || action == 'ganttv') && count > 0)
		disableEnable(false);
	else 	
		disableEnable(true);
}
				
//function to control the number of the selected check boxes depending on the chosen option in the select box 
function check(){
	var count = 0;
	var enable = true;
	var v = $("#action").val();
	if (v != 'delete' && v != 'schedule' && v != 'synchronize') { //( v == "copy" || v == "rename" || v == "open"){
		for(var i=0; i < updateFormNumCB ; i++){
			if ($("#checkBox_"+i).attr('checked')){
				count++;
				if (count == 1){
					enable=false;
					break;
				}
			}
		}
	}
	disableEnable(enable);
}
					
function disableEnable(enable){
	for(var i=0; i < updateFormNumCB ; i++){
		if(enable){
			$("#checkBox_"+i).removeAttr('disabled'); 
		}else{
			if (!$("#checkBox_"+i).attr('checked')){
				$("#checkBox_"+i).attr('disabled','disabled');
			}
		}													
	}					
}
				

	

