var person_manger = {};
var sendPersonUrl = "person_insert.php";
var saveContactUrl = "contact_insert.php";
var sendMatchupUrl = "matchup_insert.php";
var sendMessageUrl = "messages_insert.php";

function AJAX_PERSONMgr() {
	//logEvent("personMgr", "info");
}
AJAX_PERSONMgr.prototype.messageSend = function() {
	var Dom = YAHOO.util.Dom; 
	this.form = Dom.get('personContact');
				
  	/* make the initial cache of the form data */
	YAHOO.util.Connect.setForm(this.form);
	logEvent("messageSend", "time");
	this.sentData = YAHOO.util.Connect._sFormData;
	var session_id = Dom.get("session_id");
	
	if (this.sentData!='') {	
		var the_saved = YAHOO.util.Dom.get("message_save_status");
		the_saved.innerHTML = "<em>Sending your message...</em>";
		var the_save_button = YAHOO.util.Dom.get("save_message_button");
		the_save_button.value = "Sending...";

		logEvent(sendMessageUrl + '?' + this.sentData + '&suid=' + session_id.value);
		var the_button = Dom.get("save_message_button");
		the_button.disabled = true;
		var message_request = YAHOO.util.Connect.asyncRequest('GET', sendMessageUrl + '?' + this.sentData + '&suid=' + session_id.value,
		   {success: function(o){
				this.cache = this.sentData;
				response = o.responseText;
				logEvent(response);
				//mark it saved
				var the_saved = YAHOO.util.Dom.get("message_save_status");
				the_saved.innerHTML = "Message sent!";
				var the_button = YAHOO.util.Dom.get("save_message_button");
				//the_button.disabled = false;
				the_button.value = "Sent!!";
				document.location.href = "mymessages.php?suid=" + session_id.value;
				//this.refreshMatchupTimeOut();
			},
		   after: function(){
			   //
			},
		   scope: this});
	}
}
AJAX_PERSONMgr.prototype.matchupSend = function() {
  /* Update the data stored in YAHOO.util.Connect._sFormData
     to be the current from data*/
	var Dom = YAHOO.util.Dom; 
	this.form = Dom.get('personInsert');
				
  	/* make the initial cache of the form data */
	YAHOO.util.Connect.setForm(this.form);
	logEvent("matchupSend", "time");
	this.sentData = YAHOO.util.Connect._sFormData;
	var session_id = Dom.get("session_id");
	
	if (this.sentData!='') {	
		var the_saved = YAHOO.util.Dom.get("matchup_save_status");
		//the_saved.innerHTML = "<em>saving...</em>";

		logEvent(sendMatchupUrl + '?' + this.sentData + '&suid=' + session_id.value);
		var the_button = Dom.get("save_matchup_button");
		the_button.disabled = true;
		the_button.value = "Saving";
		var matchup_request = YAHOO.util.Connect.asyncRequest('GET', sendMatchupUrl + '?' + this.sentData + '&suid=' + session_id.value,
		   {success: function(o){
				this.cache = this.sentData;
				response = o.responseText;
				logEvent(response);
				//mark it saved
				var the_saved = YAHOO.util.Dom.get("matchup_save_status");
				//the_saved.innerHTML = response + " :: saved!";
				var the_button = YAHOO.util.Dom.get("save_matchup_button");
				the_button.disabled = false;
				the_button.value = "Saved!!";
				this.refreshMatchupTimeOut();
			},
		   after: function(){
			   //
			},
		   scope: this});
	}
};
AJAX_PERSONMgr.prototype.imageSend = function() {
  /* Update the data stored in YAHOO.util.Connect._sFormData
     to be the current from data*/
	var Dom = YAHOO.util.Dom; 
	this.form = Dom.get('imageInsert');	
  	/* make the initial cache of the form data */
	YAHOO.util.Connect.setForm(this.form);
	logEvent("imageSend - image_send.js", "time");
	this.sentData = YAHOO.util.Connect._sFormData;
	var session_id = Dom.get("session_id");
	//logEvent('&suid=' + session_id.value);
	sendImageUrl = "person_image_insert.php";
	logEvent(sendImageUrl + '?' + this.sentData + '&suid=' + session_id.value);
	if (this.sentData!='') {	
		var the_button = Dom.get("save_image_button");
		the_button.disabled = true;
		the_button.value = "Saving";
		var postdata = this.sentData + '&suid=' + session_id.value;
		var callback_image = {
			success: function(o){
				this.cache = this.sentData;
				response = o.responseText;
				//mark it saved
				var the_button = Dom.get("save_image_button");
				the_button.disabled = false;
				the_button.value = "Saved!!";
				logEvent("image success");
			},
		   after: function(){
			   //
			},
		   scope: this};
		   
		var request = YAHOO.util.Connect.asyncRequest('POST', sendImageUrl, callback_image, postdata);
		logEvent("image saved");
	}
}
AJAX_PERSONMgr.prototype.personSend = function() {
  /* Update the data stored in YAHOO.util.Connect._sFormData
     to be the current from data*/
	var Dom = YAHOO.util.Dom; 
	this.form = Dom.get('personInsert');	
  	/* make the initial cache of the form data */
	YAHOO.util.Connect.setForm(this.form);
	logEvent("personSend - person_send.js", "time");
	this.sentData = YAHOO.util.Connect._sFormData;
	var session_id = Dom.get("session_id");
	logEvent('&suid=' + session_id.value);
	// + '&' + this.sentSideData
	logEvent(sendPersonUrl + '?' + this.sentData + '&suid=' + session_id.value);
	if (this.sentData!='') {	
		var the_button_container = Dom.get("save_person_button");
		the_button_container.innerHTML = "<img id='save_button_image' src='images/saving_button.jpg' width='142' height='32' alt='Saving Info' border='0'>";
		the_button_container.disabled = true;
		logEvent("disabled");
		var postpersondata = this.sentData + '&suid=' + session_id.value;
		var callback_person = {success: function(o){
				this.cache = this.sentData;
				response = o.responseText;
				var arrResponse = response.split("|");
				var person_id = Dom.get("person_id");;
				person_id.value = arrResponse[0];
				var keylist_id = YAHOO.util.Dom.get("keylist_id");
				if (arrResponse.length>1) {	
					keylist_id.value = arrResponse[1];
				} else {
					keylist_id.value = "";
				}
				//mark it saved
				var the_saved = YAHOO.util.Dom.get("person_save_status");
				//the_saved.innerHTML = response;
				var the_button_container = Dom.get("save_person_button");
				the_button_container.innerHTML = "<img id='save_button_image' src='images/saved_button.jpg' width='142' height='32' alt='Info Saved!' border='0'>";
				the_button_container.disabled = false;
				logEvent("enabled");
				this.refreshTimeOut();
			},
		   after: function(){
			   //
			},
		   scope: this};
		//var the_saved = YAHOO.util.Dom.get("person_save_status");
		//the_saved.innerHTML = "<em>saving...</em>";
		// + '&' + this.sentSideData
		var request = YAHOO.util.Connect.asyncRequest('POST', sendPersonUrl, callback_person, postpersondata);
	}
};
var anchorPerson = function () {
	//logEvent("anchorPerson", "info");
	var Dom = YAHOO.util.Dom;
	var thecurrent_tab = Dom.get("current_tab");
	var current_tab = thecurrent_tab.innerHTML;
	
	var el = Dom.get("tab" + current_tab);
	var xy = Dom.getXY(el);
	
	var thex = xy[0];
	var they = xy[1];
	
	switch(current_tab) {
		case "1":
			thex += 7;
			they += 50;
			break;
		case "2":
			thex += 1;
			they += 40;
			break;
		case "3":
			thex += 1;
			they += 17;
			break;
	}
	
	Dom.setX("overlay_person", thex);
	Dom.setY("overlay_person", they);
	
	//logEvent("anchor person" + thex + ", " + they, "warn");
	YAHOO.example.container.overlay1.hide();
	YAHOO.example.container.overlay2.hide();
	YAHOO.example.container.overlay3.hide();
}
AJAX_PERSONMgr.prototype.personPrep = function() {
	//logEvent("personPrep", "info");
	//do something here, clear fields?
	//var Dom = YAHOO.util.Dom;
	anchorPerson();
	//logEvent("personPrep Completed", "window");
}
AJAX_PERSONMgr.prototype.personRefresh = function() {
	//logEvent("personRefresh", "info");
	//var the_saved = YAHOO.util.Dom.get("person_save_status");
	//the_saved.innerHTML = "&nbsp;";
	var the_button_container = YAHOO.util.Dom.get("save_person_button");
	the_button_container.innerHTML = "<img id='save_button_image' src='images/save_button.jpg' width='142' height='32' alt='Save Info' border='0'>";
}
AJAX_PERSONMgr.prototype.matchupRefresh = function() {
	//logEvent("personRefresh", "info");
	var the_saved = YAHOO.util.Dom.get("matchup_save_status");
	//the_saved.innerHTML = "&nbsp;";
	var the_button = YAHOO.util.Dom.get("save_matchup_button");
	the_button.value = "Save";
}
var saveContact = function(uuid, suid) {
	var Dom = YAHOO.util.Dom; 
	var the_saved = Dom.get("contact_button_container_" + uuid);
	//the_saved.innerHTML = "<img id='saving_contact_matchup_button' src='images/saving_contact_button.jpg' width='142' height='32' style='padding-top:2px; padding-left:5px'>";
	the_saved.innerHTML = "Saving...";
			
	logEvent(saveContactUrl + '?uuid=' + uuid + '&suid=' + suid);
	
	var request = YAHOO.util.Connect.asyncRequest('GET', saveContactUrl + '?uuid=' + uuid + '&suid=' + suid,
	   {success: function(o){
			this.cache = this.sentData;
			response = o.responseText;
			logEvent(response);
			//mark it saved
			var the_saved = YAHOO.util.Dom.get("contact_button_container_" + uuid);
			//the_saved.innerHTML = "<img id='saved_contact_matchup_button' src='images/saved_contact_button.jpg' width='142' height='32' style='padding-top:2px; padding-left:5px'>";
			the_saved.innerHTML = "Saved!!!";
		},
	   after: function(){
		   //
		},
	   scope: this});
}
//load the person form
var setPerson = function(uuid) {
	var Dom = YAHOO.util.Dom;
	var current_user_uuid = Dom.get("current_user_uuid");
	
	var theperson_form = Dom.get("person_form_container");
	theperson_form.innerHTML = "<div align='center'><img src='remembermilk_orange.gif' width='20' height='20' alt='Please wait while we load the data'></div>";
	
	var personUrl = "person_form.php";
	//refresh the list
	var personset_callback = {
		success: function(o){
			response = o.responseText;
			var theperson_form = YAHOO.util.Dom.get("person_form_container");
			if (response!="") {									
				theperson_form.innerHTML = response;
				YAHOO.util.Event.addListener("person_span", "click", YAHOO.example.container.overlay_person.show, YAHOO.example.container.overlay_person, true);
				YAHOO.util.Event.addListener("hide_person", "click", YAHOO.example.container.overlay_person.hide, YAHOO.example.container.overlay_person, true);
				
				//YAHOO.util.Event.addListener("save_person_button", "click", sendPerson);
				YAHOO.util.Event.addListener("save_person_button_top", "click", sendPerson);
				logEvent("Person Listeners");
				/*
				
				// Listener to show the 1-up Calendar when the button is clicked
				YAHOO.util.Event.addListener("showPersonStart", "click", YAHOO.setperson.startendperson.calPersonStart.show, YAHOO.setperson.startendperson.calPersonStart, true);
				//YAHOO.setperson.startendperson.calPersonStart.selectEvent.subscribe(handlePersonStartSelect, YAHOO.setperson.startendperson.calPersonStart, true);
				logEvent("person start listeneres enabled");
				
				YAHOO.util.Event.addListener("showPersonDue", "click", YAHOO.setperson.startendperson.calPersonDue.show, YAHOO.setperson.startendperson.calPersonDue, true);
				YAHOO.setperson.startendperson.calPersonDue.selectEvent.subscribe(handlePersonDueSelect, YAHOO.setperson.startendperson.calPersonDue, true);
				
				//logEvent("person due listeneres enabled");
	
				YAHOO.util.Event.addListener("showPersonReminder", "click", YAHOO.setperson.startendperson.calPersonReminder.show, YAHOO.setperson.startendperson.calPersonReminder, true);
				YAHOO.setperson.startendperson.calPersonReminder.selectEvent.subscribe(handlePersonReminderSelect, YAHOO.setperson.startendperson.calPersonReminder, true);
				//logEvent("person reminder listeneres enabled");
				*/
				//initPersonStartDue();
				//logEvent("Person Loaded", "error");
			} else {
				theperson_form.innerHTML = "&nbsp;";
			}
		},
	   after: function(){
			//this.setTimeOut();
		},
	   scope: this};
	
	logEvent(personUrl + '?id=' + uuid + '&suid=' + current_user_uuid.value);
	var person_request = YAHOO.util.Connect.asyncRequest('GET', personUrl + '?id=' + uuid + '&suid=' + current_user_uuid.value,
			   personset_callback);
	Dom.setStyle("overlay_person", "display", "");
	anchorPerson();
	//logEvent("setPerson Completed", "window");
}
var personDelete = function(uuid) {
	//logEvent("personDelete - person_send.js");
	var sdelUrl = "person_delete.php";
	//logEvent(sdelUrl + '?uuid=' + uuid);
	
	var callback_person_delete = {
		success: function(o){
			response = o.responseText;	
			//logEvent(uuid + " - " + response, "info");
			refreshPerson();
		},
	   after: function(){
		},
	   scope: this};
	var request_person_del = YAHOO.util.Connect.asyncRequest('GET', sdelUrl + '?uuid=' + uuid, callback_person_delete);
	
	//logEvent("personDelete - complete");
}
var hideMessage =  function(uuid) {
	var Dom = YAHOO.util.Dom;
	logEvent("hide row_" + uuid);
	Dom.setStyle("row_" + uuid, "display", "none");
}
var messageDelete = function(uuid, suid) {
	logEvent("messageDelete - person_send.js");
	var sdelMessageUrl = "messages_delete.php";
	logEvent(sdelMessageUrl + '?id=' + uuid + '&suid=' + suid);
	
	var callback_message_delete = {
		success: function(o){
			response = o.responseText;	
			logEvent(uuid + " - " + response, "info");
			//refreshPerson();
			//hideMessage(uuid);
			document.location.href = "mymessages.php?suid=" + suid;
		},
	   after: function(){
		},
	   scope: this};
	var request_message_del = YAHOO.util.Connect.asyncRequest('GET', sdelMessageUrl + '?id=' + uuid + '&suid=' + suid, callback_message_delete);
	
	logEvent("messageDelete - complete");
}
AJAX_PERSONMgr.prototype.setMatchOut = function() {
	logEvent("Person setMatchOut", "time");
	/* use a closure so eventSend() executes in the correct scope */
	var thisC = this;
	//thisC.//logEvent("time out");
	/* Look for changes in the form data every one second. */
	this.timeout = setTimeout(function() {
		thisC.matchupSend();
	}, 10);
};
AJAX_PERSONMgr.prototype.setTimeOut = function() {
	////logEvent("Person setTimeOut", "time");
	/* use a closure so eventSend() executes in the correct scope */
	var thisC = this;
	//thisC.//logEvent("time out");
	/* Look for changes in the form data every one second. */
	this.timeout = setTimeout(function() {
		thisC.personSend();
	}, 10);
};
AJAX_PERSONMgr.prototype.setMessageTimeOut = function() {
	////logEvent("Person setTimeOut", "time");
	/* use a closure so eventSend() executes in the correct scope */
	var thisC = this;
	//thisC.//logEvent("time out");
	/* Look for changes in the form data every one second. */
	this.timeout = setTimeout(function() {
		thisC.messageSend();
	}, 20);
};
AJAX_PERSONMgr.prototype.refreshTimeOut = function() {
	//logEvent("Person refreshTimeOut", "time");
	/* use a closure so eventRefresh() executes in the correct scope */
	var thisC = this;
	/* Look for changes in the form data every one second. */
	this.timeout = setTimeout(function() {
		thisC.personRefresh();
		}, 5000);
};
AJAX_PERSONMgr.prototype.refreshMatchupTimeOut = function() {
	//logEvent("Person refreshTimeOut", "time");
	/* use a closure so eventRefresh() executes in the correct scope */
	var thisC = this;
	/* Look for changes in the form data every one second. */
	this.timeout = setTimeout(function() {
		thisC.matchupRefresh();
		}, 5000);
};
var loadPerson = function (uuid) {
	//logEvent("loading event('" + uuid + "')", "info");
	var tim = setTimeout("setPerson('" + uuid + "')", 50);
}
var savePerson = function (uuid, suid) {
	//logEvent("loading event('" + uuid + "')", "info");
	var tim = setTimeout("saveContact('" + uuid + "', '" + suid + "')", 50);
}
var deletePerson = function (uuid) {
	//logEvent("delete event('" + uuid + "')", "info");
	var tim = setTimeout("personDelete('" + uuid + "')", 100);
};
var deleteMessage = function (uuid, suid) {
	logEvent("deleteMessage ('" + uuid + "', '" + suid + "')", "info");
	var tim = setTimeout("messageDelete('" + uuid + "','" + suid + "')", 100);
};
