/************************************************************************* 
/	This function gets the Mediator's information and paginates the page
/************************************************************************/
	function queryDB(tz, start, total, category, dateFilter, sortby, orderby) {
		var startDB = start;
		var totalDB = total;
		var Dom = YAHOO.util.Dom;
		var ajaxDisplay = Dom.get('queryBody');
		
		// If this is the first time to the page, then there is nothing in ajaxDisplay, so show the wait icon.
		if(ajaxDisplay.innerHTML == ''){
			ajaxDisplay.innerHTML = '<img src="/images/wait.gif" />';
		} else {
			Dom.setStyle(ajaxDisplay, "opacity", 0.67); // The queryBody is slightly transparent
		}
		var save = ajaxDisplay.innerHTML;
		
		if($('div#current-week').css('display') == 'none'){
			dateFilter = 'all'; // show all mediators
		}

		var poststr = "start=" + encodeURI(start) + "&tz=" + encodeURI(tz) + "&total=" + encodeURI(total) + "&category=" + encodeURI(category) + "&dateFilter=" + encodeURI(dateFilter) + "&sortby=" + encodeURI(sortby) + "&orderby=" + encodeURI(orderby);

		var callback =
			{ success: function(o) {
				 /*success handler code*/
		 		var Dom = YAHOO.util.Dom;
				var ajaxDisplay = Dom.get('queryBody');				
				var tmpstr = o.responseText;				
				var mytmparray = new Array();				
				mytmparray = tmpstr.split("###");
				ajaxDisplay.innerHTML = mytmparray[0];
				Dom.setStyle(ajaxDisplay, "opacity", 1); // The queryBody is slightly transparent
				
				if(mytmparray[1]){
					eval(mytmparray[1]);
				}
				//newCals();
			},failure: function(o) {
				 /*failure handler code*/
				var ajaxDisplay = Dom.get('queryBody');				
				ajaxDisplay.innerHTML = o.argument.save;						 
			},argument: {save: save, start: start, total: total, tz: tz, category: category, dateFilter: dateFilter, sortby: sortby, orderby: orderby}
		}
		  
	  var request = YAHOO.util.Connect.asyncRequest('POST', "/functions/viewMediatorQuery.php", callback, poststr);
	}

/************************************************************************* 
/	This function gets the Mediator's Available Times when clicked
/************************************************************************/
	function getTimes(name, eid, param, tz, login){
		var Dom = YAHOO.util.Dom;
		if (login != 0) {
			if (eid != 0) {
				var mediator_span;
				mediator_span = Dom.get(name);
				
				var poststr = "eid=" + encodeURI(eid) + "&param=" + encodeURI(param) + "&tz=" + encodeURI(tz);
				
				var save = mediator_span.innerHTML;
				mediator_span.innerHTML = '<img src="./images/wait.gif" />';
				
				var callback = {
					success: function(o){
						/*success handler code*/
						var Dom = YAHOO.util.Dom;
						var ajaxDisplay = Dom.get(o.argument.mediator_span);
						
						ajaxDisplay.innerHTML = o.responseText;

					},
					failure: function(o){
						/*failure handler code*/
						var Dom = YAHOO.util.Dom;
						var ajaxDisplay = Dom.get(o.argument.extvar);
						ajaxDisplay.innerHTML = o.argument.save;
						
					},
					argument: {
						mediator_span: name,
						save: save
					}
				}
				var request = YAHOO.util.Connect.asyncRequest('POST', "/functions/showTimes.php", callback, poststr);
			}
		} else {
			addMessage('You need to be logged in to schedule a mediation.', 'error');			
		}
	}
	
/************************************************************************* 
/	This function adds the selected times to the cart
/************************************************************************/
	function addTime(form) {
		var scheduled_list;
		var ID;
		scheduled_list = getElement('scheduled');
		
		if (form.mmFormTimesEid.value == 'NA') {
			ID = form.mmFormTimesUid.value;
			var EID = 'NA';
			dateFormatted = form.mmFormTimesDate.value;
			var mmDate = new Date(form.mmFormTimesDate.value);
			cleanMonth = mmDate.getMonth() + 1;
			if(cleanMonth < 10){
				var cleanMonth = "0"+cleanMonth;
			}
			
			if(mmDate.getDate() < 10){
				var cleanDate = "0"+mmDate.getDate();
			} else {
				var cleanDate = mmDate.getDate();				
			}
		
			mmDate = mmDate.getFullYear() + "-" + cleanMonth + "-" + cleanDate;
			
		} else {
			ID = form.mmFormTimesEid.value;
			var EID = ID;
			var mmDate = form.mmFormTimesDate.value;
			var dateFormatted = form.mmFormTimesDayofweek.value;
		}

			var selectTime = form.mmFormTimesSelect.value;

			
			var selectHour = selectTime.substr(0, 2);
			var selectMin = selectTime.substr(3, 2);
			selectTime = selectHour + selectMin;
			
			whichLayer = "listdd" + ID + "time" + selectTime;
			var elemtest = getElement(whichLayer);
			
			if (!elemtest) {
				var cleanHour = selectHour;
				var cleanMin = selectMin;
				var ampm = 'am';
				
				if (selectHour > 11) {
					ampm = 'pm';
				}
				
				if (selectHour > 12) {
					cleanHour = selectHour - 12;
				}
				else 
					if (selectHour == 0) {
						cleanHour = 12;
					}
				
				cleanHour = cleanHour.toString();
				
				if (cleanHour.indexOf('0') == 0) {
					cleanHour = cleanHour.substr(1, 1);
				}
				
				var innerString = "<li id='listdd" + ID + "time" + selectTime + "' ><div class='cartListItem'><div class='cartListItemHandle' id='handledd" + ID + "time" + selectTime + "'><img src='/template/_images/cart-list-item-handle-lines.png' /></div><input type=\"hidden\" name=\"start" + mm_list_count + "\" id=\"start" + mm_list_count + "\" value=\"" + mmDate + " " + form.mmFormTimesSelect.value + "\" /><span class='cartListItemMediator'>" + form.mmFormTimesName.value + "</span>" +
				"<span class='cartListItemDate'>" + dateFormatted +"</span>" + "<span class='cartListItemTime'>@" +
				cleanHour +	":" + cleanMin + " " + ampm + "</span>" +
				"<span class='cartListItemActions'><a href='javascript:removeFromList(\"listdd" +
				ID +
				"time" +
				selectTime +
				"\");' class='cartListItemRemove'>Remove</a></span><input type=\"hidden\" name=\"event" + mm_list_count +
				"\" id=\"event" + mm_list_count + "\" value=\"" + EID + "\" /><input type=\"hidden\" name=\"uid" + mm_list_count +
				"\" id=\"uid" + mm_list_count + "\" value=\"" + form.mmFormTimesUid.value + "\" /></div></li>";
				
				BetterInnerHTML(scheduled_list, innerString, false);
				
				var preScript = "var dd" + ID + "time" + selectTime + " = new YAHOO.example.DDList('listdd" + ID + "time" + selectTime + "');\n";
				
				preScript += "dd" + ID + "time" + selectTime + ".username = \"" + form.mmFormTimesUid.value + "\";\n";
				preScript += "dd" + ID + "time" + selectTime + ".name = \"" + form.mmFormTimesName.value + "\";\n";
				preScript += "dd" + ID + "time" + selectTime + ".starttime = \"" + form.mmFormTimesSelect.value + "\";\n";
				preScript += "dd" + ID + "time" + selectTime + ".dayofweek = \"" + mmDate + "\";\n";
				preScript += "dd" + ID + "time" + selectTime + ".eventID = \"" + EID + "\";\n";
				preScript += "dd" + ID + "time" + selectTime + ".idname = \"listdd" + ID + "time" + selectTime + "\";\n";
				preScript += "dd" + ID + "time" + selectTime + ".inlist = \"1\";\n";
				
				eval(preScript);
				
				mm_list_count++;
			}
		}

/************************************************************************* 
/	This function adds the selected times to the cart
/************************************************************************/
	function addMediatorTime(userName, uid, eid, timesSelect, dayofweek, timesDate, timesName) {
		var scheduled_list;
		scheduled_list = getElement('scheduled');

	  	var selectTime = timesSelect;
	  	var selectHour = selectTime.substr(0,2);
	  	var selectMin = selectTime.substr(3,2);
	  	selectTime = selectHour+selectMin;
		
		whichLayer = "listdd"+eid+"time"+selectTime;
		var elemtest = getElement(whichLayer);
		
    	if(!elemtest) {
			var cleanHour = selectHour;
			var cleanMin = selectMin;
			var ampm = 'am';
			
			if(selectHour > 11) {
				ampm = 'pm';
			}
			
			if(selectHour > 12) {
				cleanHour = selectHour - 12;
			}
			
			cleanHour = cleanHour.toString();
			
			if(cleanHour.indexOf('0') == 0) {
				cleanHour = cleanHour.substr(1,1);
			}

			var innerString = "<li id='listdd"+eid+"time"+selectTime+"'><div class='cartListItem'><div class='cartListItemHandle' id='handledd"+eid+"time"+selectTime+"'><img src='/template/_images/cart-list-item-handle-lines.png' /></div><input type=\"hidden\" name=\"start"+mm_list_count+"\" id=\"start"+mm_list_count+"\" value=\""+timesDate+" "+timesSelect+"\" /><span class='cartListItemMediator'>" + timesName+"</span>" + 
								"<span class='cartListItemDate'>"+dayofweek+"</span>" +
                "<span class='cartListItemTime'>"+cleanHour+":"+cleanMin+" "+ampm+"</span>" +
								"<span class='cartListItemActions'><a href='javascript:removeFromList(\"listdd"+eid+"time"+selectTime+"\");' class='cartListItemRemove'>Remove</a></span><input type=\"hidden\" name=\"event"+mm_list_count+"\" id=\"event"+mm_list_count+"\" value=\""+eid+"\" /></div></li>";

			BetterInnerHTML(scheduled_list, innerString, false );

			var preScript = "var dd"+eid+"time"+selectTime+" = new YAHOO.example.DDList('listdd"+eid+"time"+selectTime+"');\n";
	
			preScript += "dd"+eid+"time"+selectTime+".username = \""+uid+"\";\n";
			preScript += "dd"+eid+"time"+selectTime+".name = \""+timesName+"\";\n";
			preScript += "dd"+eid+"time"+selectTime+".starttime = \""+timesSelect+"\";\n";
			preScript += "dd"+eid+"time"+selectTime+".eventID = \""+eid+"\";\n";
			preScript += "dd"+eid+"time"+selectTime+".dayofweek = \""+dayofweek+"\";\n";
			preScript += "dd"+eid+"time"+selectTime+".idname = \"listdd"+eid+"time"+selectTime+"\";\n";
			preScript += "dd"+eid+"time"+selectTime+".inlist = \"1\";\n";
			
			preScript += "dd"+eid+"time"+selectTime+".setHandleElId('handledd"+eid+"time"+selectTime+"');\n";
			
			eval(preScript);
	
			mm_list_count++;
		}
	}


/************************************************************************* 
/	This function removes an item from the cart
/************************************************************************/

function removeFromList(childId) {

	var elem = getElement('scheduled');
	var childElem = getElement(childId);
	var saveElem = childElem;

	var lastId, lastName, firstId, firstName, tmplastId, tmplastName, tmpfirstId, tmpfirstName;

	lastId = childElem.lastChild.id;
	lastName = childElem.lastChild.name;
	firstId = childElem.firstChild.id;
	firstName = childElem.firstChild.name;

	childElem = childElem.nextSibling;

	while(childElem != null && childElem != 'undefined') {

		tmplastId = childElem.lastChild.id;
		tmplastName = childElem.lastChild.name;
		tmpfirstId = childElem.firstChild.id;
		tmpfirstName = childElem.firstChild.name;

		childElem.lastChild.id = lastId;
		childElem.lastChild.name = lastName;
		childElem.firstChild.id = firstId;
		childElem.firstChild.name = firstName;
		
		lastId = tmplastId;
		lastName = tmplastName;
		firstId = tmpfirstId;
		firstName = tmpfirstName;

		childElem = childElem.nextSibling;
	}

	elem.removeChild(saveElem);
	mm_list_count--;

}
