(function() {
    var hhr = window.hhr = {
    }
})();

function signup() {
	var data = new Object();
	data.name = $("#signup_name").val();
	data.email = $("#signup_email").val();
	data.passwd = $("#signup_passwd").val();
	data.passwdConfirm = $("#signup_passwdConfirm").val();
	
	var dataString = $.toJSON(data);
	
	var response = $.ajax({
		type: "POST",
		url: "/signup.json",
		data: dataString,
		async: false
	}).responseText;
	
	return $.parseJSON(response);
}

function updateAccount() {
	var data = new Object();
	data.name = $("#account_name").val();
	data.email = $("#account_email").val();
	data.passwd = $("#account_password").val();
	
	var dataString = $.toJSON(data);
	
	var response = $.ajax({
		type: "POST",
		url: "/account.json",
		data: dataString,
		async: false
	}).responseText;
	
	return $.parseJSON(response);
}

function updateUserInfo() {	
	var response = $.ajax({
		type: "GET",
		url: "/account.json",
		async: false
	}).responseText;
	response = $.parseJSON(response);
		
	userInfo.loggedInName = response.name;
	userInfo.loggedInEmail = response.email;
	userInfo.loggedInUserID = response.userID;
}

function addTask(taskID) {
	var data = new Object();
	data.userID = userInfo.loggedInUserID;
	data.taskID = taskID;
	data.subject = $("#addTask_subject").val();
	data.projectID = $("#addTask_project option:selected").val();
	data.description = $("#addTask_description").val();
	
	data.tags = new Array();
	$("#addTask_tags").children("li").each(function() {
		if($(this).hasClass("add") == false) {
			data.tags.push($('span.value', this).text());
		}
	});
	
	if(($('span', $('#addTask_month').parent()).html() != "") && ($('span', $('#addTask_day').parent()).html() != "") && ($('span', $('#addTask_year').parent()).html() != "")) {
        data.date = $("#addTask_year option:selected").val() + "-" + $("#addTask_month option:selected").val() + "-" + $("#addTask_day option:selected").val();
	} else {
		data.date = null;
	}
	
	if($("#addTask_star").hasClass('checked')) {
		data.star = 1;
	} else {
		data.star = 0;
	}
	
	if($("#addTask_completed").hasClass('checked')) {
		data.complete = 1;
	} else {
		data.complete = 0;
	}
	
	data.people = new Array();
	$("#addTasks_people").children("li").each(function() {
		userID = null;
		name = null;
		email = null
		dependant = 0;
		
		userID = $(this).attr('id').replace("addPerson-", "");
		if((userID == "null") || (userID == "")) {
			userID = null;
			name = $('span.value', this).text();
			email = $('span.value', this).text();
		} else {
			name = $('span.value', this).text();
		}
		
		if($('a.formcheckbox', this).hasClass("checked")) {
			dependant = 1;
		}
		
		data.people.push({"userID": userID, "name": name, "email": email, "dependant": dependant});
	});
	
	var dataString = $.toJSON(data);
	
	var response = $.ajax({
		type: "POST",
		url: "/task.json",
		data: dataString,
		async: false
	}).responseText;
	
	return $.parseJSON(response);
}

function addProject(projectID) {
	var data = new Object();
	data.projectID = projectID;
	data.name = $("#addProject_name").val();
	
	if(($('span', $('#addProject_month').parent()).html() != "") && ($('span', $('#addProject_day').parent()).html() != "") && ($('span', $('#addProject_year').parent()).html() != "")) {
		data.due = $("#addProject_year option:selected").val() + "-" + $("#addProject_month option:selected").val() + "-" + $("#addProject_day option:selected").val();
	} else {
		data.due = null;
	}
	
	if($("#addProject_completed").hasClass('checked')) {
		data.complete = 1;
	} else {
		data.complete = 0;
	}
	
	var dataString = $.toJSON(data);
	
	var response = $.ajax({
		type: "POST",
		url: "/project.json",
		data: dataString,
		async: false
	}).responseText;
	
	return $.parseJSON(response);
}

function addPerson(personID) {
	var data = new Object();
	data.userID = personID;
	data.name = $("#addPerson_name").val();
	data.email = $("#addPerson_email").val();
	
	var dataString = $.toJSON(data);
	
	var response = $.ajax({
		type: "POST",
		url: "/person.json",
		data: dataString,
		async: false
	}).responseText;
	
	return $.parseJSON(response);
}

function getProject(projectID) {
	var data = new Object(); 
	data.projectID = projectID;
	
	var response_error = false;
	var response = $.ajax({
		type: "GET",
		url: "/project.json",
		data: data,
		async: false,
		error: function (XMLHttpRequest, textStatus, errorThrown) {
					response_error = true;
				}
	}).responseText;
	
	if(response && !response_error) {
		return $.parseJSON(response);
	} else {
		return null;
	}
}

function getPerson(personID) {
	var data = new Object(); 
	data.userID = personID;
	
	var response_error = false;
	var response = $.ajax({
		type: "GET",
		url: "/person.json",
		data: data,
		async: false,
		error: function (XMLHttpRequest, textStatus, errorThrown) {
					response_error = true;
				}
	}).responseText;
	
	if(response && !response_error) {
		return $.parseJSON(response);
	} else {
		return null;
	}
}

function handleEnter(field, event) {
	alert('hello');
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		var i;
		for (i = 0; i < field.form.elements.length; i++)
			if (field == field.form.elements[i])
				break;
		i = (i + 1) % field.form.elements.length;
		field.form.elements[i].focus();
		return false;
	} 
	else
	return true;
}
