function displayWorkPackageFilter(filterDiv) {
	var separator = "|||||";
	$.post("workPackageManager.php", {action:"displayFilter",separator:separator}, function(data){
			var filterData = data.split(separator);
			var i;
			var control = '<select id="WorkPackageFilter" onchange="reloadWorkArea();">';
			for(i=1; i<filterData.length; i+=2) {
				control = control + '<option value="'+filterData[i]+'">'+filterData[i]+'</option>';
			}
			control = control + '</select>';
			document.getElementById(filterDiv).innerHTML = control;
		});
}

function submitRadioForm(updateElementId, valueId) {
	var area = "";
	area = area + '<input type="hidden" id="'+valueId+'" value="'+document.getElementById("radio_form_value").value+'" />' + document.getElementById("radio_form_name").value;
	document.getElementById(updateElementId).innerHTML = area;
}

function setRadioFormValues(value,name) {
	document.getElementById("radio_form_value").value = value;
	document.getElementById("radio_form_name").value = name;
}

function drawRadioForm(title,functionCall, parameterList, updateElementId, defaultValue, valueId, defaultName) {
	var separator = "|||||";
	var area = '<div id="RadioForm" style="background: #999999; border: 1px solid #000000; float: left; position: fixed; top:25%; left: 25%; height: 50%; overflow: auto; cursor:arrow;">';
	area = area + '<input type="hidden" name="radio_form_value" id="radio_form_value" value="'+defaultValue+'" />';
	area = area + '<input type="hidden" name="radio_form_name" id="radio_form_name" value="'+defaultName+'" />';
	area = area + '<h3>' +title+ '</h3>';
	area = area + '<table>';
	var url = "workPackageManager.php";
	if(parameterList.length > 0) {
		url = url + "?" + parameterList;
	}
	//alert(functionCall + " " + url);
	$.post(url, {action:functionCall,separator:separator}, function(data){
		
		dataArr = data.split(separator);
		if(dataArr.length > 1) {
			var i;
			var name;
			var val;
			for(i=0; i<dataArr.length-1; i += 2) {
				var j = i+1;
				val = dataArr[i].toString();

				//name = dataArr[i+1];
				//val = "Beata";
				//name = "Arne";
				name = dataArr[j];
				//str = str + val + '","' + val + '"';
				
				area = area + '<tr><td><input type="radio" style="cursor:pointer;" onclick="setRadioFormValues(\''+val+'\',\''+name+'\');" /></td><td>'+name+'</td></tr>';//  /></td><td>'++'</td></tr>';
			}
		}
		area = area + '<tr><td colspan=2><input type="button" value="Choose" onclick=\'submitRadioForm("'+updateElementId+'", "'+valueId+'");\'/></td>'
		area = area + '</tr>';
		area = area + '</table>';
		area = area + '</div>';
		//area = data;
		document.getElementById(updateElementId).innerHTML = area;
	});
}

function drawWorkAreaHeader(workers) {
	var area = '<table><thead><tr><th>Work Packages</th>';
	for(i=1; i<workers.length; i+=2) {
		area = area + '<th>'+workers[i]+'</th>';
	}
	area = area + '</tr></thead>';
	return area;	
}

function processingText(idName) {
	document.getElementById(idName).innerHTML = "Processing...";
}

function drawUpdateCustomer(idString) {
	drawRadioForm("Choose customer","retrieveCustomers","",idString + "_customer","WorkPackageCustomerValue",idString + "_customer_value","WorkPackageCustomer");
}

function drawUpdateProject(idString) {
	var param = "";
	if(document.getElementById(idString +"_customer_value")) {
		param = "customer=" + document.getElementById(idString +"_customer_value").value;
	}
	drawRadioForm("Choose project","retrieveProjects",param, idString + "_project","WorkPackageProjectValue",idString + "_project_value","WorkPackageProject");
}

function retrieveDropDown(id, name, defaultValue, values) {
	var select = '<SELECT id="'+id+'" name="'+name+'">';
	var i;
	for(i=0; i<values.length; i++) {
		select = select + '<option value="'+values[i][0]+'"';
		if(values[i][0] == defaultValue) {
			select = select + ' selected="selected"';
		}
		select = select + '>'+values[i][1]+'</option>';
	}
	select = select+'</SELECT>';
	return select;
}

function getCustomersDropdown() {
	var separator = "|||||";
	var customers = [];
	$.post("workPackageManager.php", {action:"retrieveCustomers",separator:separator}, function(data){
		var tmpCust = data.split(separator);
		var i;
		for(i=0; i<tmpCust.length; i += 2) {
			var j = i+1;
			var key = tmpCust[i].replace(/(\r\n|\n|\r)/gm,"");
			var val = tmpCust[j];
			customers.push([key, val]);
		}
	});
	return customers;
}

function openNewWorkPackage(displayDiv) {
	var area = '<div id=""workPackageForm" style="float: left; position: fixed; top:25%; left: 25%; width: 50%; height:50%; overflow:auto; background:#999999; border:1px solid #000000; zIndex:10;">';
	area = area + '<h2>Edit Work Package</h2>';
	area = area + '<table>';
	var customers = getCustomers();
	area = area + '<tr><td>Customers</td><td>'+ retrieveDropDown("customersSelection", "customersSelection", "", customers) + '</td></tr>';
	area = area + '</table>'
	area = area + '</div>';
	document.getElementById(displayDiv).innerHTML = area;
}

function drawEmptyWorkPackage(filter, workers) {

	var row = '<tr><td><input type="hidden" name="new_level" value="'+filter+'" />';
	row = row + '<span id="new_customer">Choose customer:</span><span onclick=\'processingText("new_customer"); drawUpdateCustomer("new");\' style="cursor:pointer; color:#005500; font-size: 1.2em;" title="Choose customer">&raquo;</span><br />';
	row = row + '<span id="new_project">Choose project:</span><span onclick=\'processingText("new_project"); drawUpdateProject("new");\' style="cursor:pointer; color:#005500; font-size: 1.2em;" title="Choose project">&raquo;</span><br />';
	row = row + 'WorkPackageName:</td>';
	for(i=0; i<workers.length; i+=2) {
		row = row + '<td><input type="checkbox" disabled="disabled" /></td>';
	}
	row = row+'</tr>';
	
	// New design
	var noCells = workers.length+1;
	row = row + '<tr><td colspan="' + noCells.toString() + '"><span style="cursor:pointer;" onclick=\'openNewWorkPackage("workPackageAreaEditDisplay");\'>new wp</span><div id="workPackageAreaEditDisplay"></div></td></tr>';
	return row;
}

function reloadWorkArea() {
	var filter = "customer";
	var filterController = document.getElementById("WorkPackageFilter");
	if(filterController != null) {
		filter = filterController.options[filterController.selectedIndex].value;
	}
	
	var separator = "|||||";
	$.post("workPackageManager.php", {action:"retrieveWorkers",separator:separator}, function(data){
		var workerData = data.split(separator);
		var area = "<table><thead>";
		area = area + drawWorkAreaHeader(workerData);
		area = area + '</thead><tbody>';
		area = area + drawEmptyWorkPackage(filter, workerData);
		area = area + '</tbody></table>';
		document.getElementById("workPackageArea").innerHTML = area;
	});
}

function getWorkPackageForm(divId,projectLink,workPackageLink) {
	$.ajax(
		{
			url: 'workPackageManager.php',
			success: function(result) {
						var area = '<div id="workPackageForm" style="float: left; position: fixed; top:25%; left: 25%; width: 50%; height:50%; overflow:auto; background:#999999; border:1px solid #000000; zIndex:10;">';
						area = area + result + '</div>';
						document.getElementById(divId).innerHTML = area;
					},
			async:   false,
			data: {action:"workPackageForm", projectLink: projectLink, workPackageLink: workPackageLink, workPackageArea: divId},
			type: 'post'
		});
}

function deleteMe(myArea) {
	document.getElementById(myArea).innerHTML = "";
}

function getConsultEngagementForm(divId, consultLink) {
	$.ajax(
		{
			url: 'workPackageManager.php',
			success: function(result) {
						var area = '<div id="workConsultEngagementForm" style="float: left; position: fixed; top:10%; left: 10%; width: 50%; height:50%; overflow:auto; background:#999999; border:1px solid #000000; zIndex:10;">';
						area = area + result + '</div>';
						document.getElementById(divId).innerHTML = area;
					},
			async:   false,
			data: {action:"consultEngagement", consultLink: consultLink, editArea: divId},
			type: 'post'
		});
}

function getEditConsultForm(divId, projectLink, startDate, endDate) {
	$.ajax(
		{
			url: 'workPackageManager.php',
			success: function(result) {
						var area = '<div id="workPackageForm" style="float: left; position: fixed; top:25%; left: 25%; width: 50%; height:50%; overflow:auto; background:#999999; border:1px solid #000000; zIndex:10;">';
						area = area + result + '</div>';
						document.getElementById(divId).innerHTML = area;
					},
			async:   false,
			data: {action:"consultProjectEngagement", projectLink: projectLink, editArea: divId, startDate: startDate, endDate: endDate},
			type: 'post'
		});
}

function getElementsByName_iefix(tag, name) {
     
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}

function toggleProjectDetails(name) {
    var inputArr = getElementsByName_iefix( "tr", name );
//    var inputArr = document.getElementsByName( name );
    var toggleSpan = document.getElementById( name + '-toggle' );
    for (var i = 0; i < inputArr.length; i++) {
        if (inputArr[i].style.display == "none") {
            inputArr[i].style.display = "table-row";
        } else {
            inputArr[i].style.display = "none";
        }
    }
    if (inputArr[0].style.display == "none") {
		toggleSpan.innerHTML = " + ";
	} else {
		toggleSpan.innerHTML = " - ";
	}
}

function editProjectSummary(customerLink,parentLink,projectLink,divId) {
	$.ajax(
		{
			url: 'workPackageManager.php',
			success: function(result) {
						var area = '<div id="editProjectForm" style="float: left; position: fixed; top:25%; left: 25%; width: 50%; height:50%; overflow:auto; background:#999999; border:1px solid #000000; zIndex:10;">';
						area = area + result + '</div>';
						document.getElementById(divId).innerHTML = area;
					},
			async:   false,
			data: {action:"editProjectForm", customerLink: customerLink, parentLink: parentLink, projectLink: projectLink, editArea: divId},
			type: 'post'
		});
		
		$("#EditProjectStartDate").datepicker({
				dateFormat: 'yy-mm-dd',
				showWeek: true,
				selectWeek:true
			},
			$.datepicker.regional['sv']
		);
		
		$("#EditProjectEndDate").datepicker({
				dateFormat: 'yy-mm-dd',
				showWeek: true,
				selectWeek:true
			},
			$.datepicker.regional['sv']
		);
		
		$("#EditProjectRequestedDeliveryDate").datepicker({
				dateFormat: 'yy-mm-dd',
				showWeek: true,
				selectWeek:true
			},
			$.datepicker.regional['sv']
		);
}

function editTimeReports(projectLink, date, divId) {
	$.ajax(
		{
			url: 'workPackageManager.php',
			success: function(result) {
						var area = '<div id="editTimeReportsForm" style="float: left; position: fixed; top:25%; left: 25%; width: 50%; height:50%; overflow:auto; background:#999999; border:1px solid #000000; zIndex:10;">';
						area = area + result + '</div>';
						document.getElementById(divId).innerHTML = area;
					},
			async:   false,
			data: {action:"editTimeReportsForm", projectLink: projectLink, date:date, editArea: divId},
			type: 'post'
		});
}

//validates form when creating new project
function SubmitProject(){
	var form_error = "";
	var form_has_errors = false;
	var name = $("#EditProjectName").val();
	if(!(name.length > 0)) {
		form_error += "Namn måste fyllas i.<br/>";
		$("#projectNameLabel").css("color", "#FF0000");
		form_has_errors = true;
	} else {
		$("#projectNameLabel").css("color", "#000000");
	}
	if(form_has_errors == false) {
		document.forms["addProjectForm"].submit();
	}
}



$(function() {
	
	
	
});

