/** 
*** eventedit.js 2011-02-04  
**/

/************  Calendar front-end editing click events  ********************/

var eventDialogOptions = { width: 750, height: "auto", position:[100,50], draggable: true };

/** Handle add clicks on calendar **/
function clickAdd(jd, clickdate) {
	jQuery("#eventform").clearForm();
	jQuery("#dothis").val("add");
	jQuery("#event_id").val(0);
	jQuery("#event_recurtype0").attr("checked","checked");
	jQuery("#monthdayspanel").css("display", "none");
	jQuery("#monthdowpanel").css("display", "none");
	jQuery("#endskipblock").css("display", "none");
	jQuery("#jd").val(jd);
	jQuery("#event_begin").val(clickdate);
	jQuery("#event_category").val(1);
	jQuery("#modifymode").css("display", "none");
	jQuery("#deleteevent").css("display", "none");
	eventDialogOptions.title="Add Event";
	jQuery("#editformbracket").dialog(eventDialogOptions);
	jQuery("#eventform").css("display", "block");
}

/** Handle edit clicks on calendar **/
function clickEdit(jd, id, clickdate, ajaxurl) {
	jQuery.ajax({
		type: "POST",
		url: ajaxurl,
		data: { "jd":jd, "event_id":id, "editevent":"true" },
		context: document.body,
		cache:false,
		dataType:"json",
		success: function(data,x,y){
			jQuery("#eventform").clearForm();
			jQuery("#jd").val(jd);
			jQuery("#event_id").val(id);
			jQuery("#dothis").val("editsave");
			jQuery("#event_title").val(data.event_title);
			jQuery("#event_desc").val(data.event_desc);
			jQuery("#event_begin").val(data.event_begin);
			jQuery("#event_end").val(data.event_end);
			jQuery("#event_time").val(data.event_time);
			jQuery("#event_increment").val(data.event_increment);
			jQuery("#event_category").val(data.event_category);
			jQuery("#event_author").val(data.event_author);
			jQuery("input[name=\'event_recurtype\']")[data.event_recurtype].checked=true;
			jQuery("input[name=\'dothis\']").filter("[value=\'editsave\']").attr("checked","checked");

			var d = data.event_daysofweek.split(",");
			for (var j=0; j<d.length; j++)
				jQuery("#event_daysofweek"+d[j]).attr("checked", "checked");

			d = data.event_monthdaylist.split(",");
			for (j=0; j<d.length; j++)
				jQuery("#event_md"+d[j]).attr("checked", "checked");

			d = data.event_dayordinal.split(",");
			for (j=0; j<d.length; j++)
				jQuery("#event_dord"+(d[j]-1)).attr("checked", "checked");

			jQuery('#modifymode1').attr('checked',true);
			jQuery("#modifymode").css("display", "block");
			jQuery("#deleteevent").css("display", "block");
			editdisplay();
			eventDialogOptions.title="<h2>Edit Event &mdash; "+clickdate+"</h2>";
			jQuery("#editformbracket").dialog(eventDialogOptions);
			jQuery("#saveoptions").css("display","block");
			jQuery("#eventform").css("display", "block");
			if (clickdate == "") { /* called from Events List; no occurrence date */
				jQuery('#notcopy').css('display','none'); 
			}

		},
		error:function (xhr, ajaxOptions, thrownError){
			alert(xhr.status);
			alert(thrownError);
		}

	});

}


/***  Ensure that necessary event recurrence information exists before submitting form ***/

function checkContent(u,v,x) {
	var z = [];
	var s = "";
	for (var j=0; j< u.length; j++) {
		z[u[j].name] = u[j].value;
		s = s + u[j].name + " ";
	};
	var notsave = ( -1 == s.search(/saveevent/gi) );
	if (notsave) return true;
	var R = z["event_recurtype"];

	switch (R) {

		case "2":
			if ( -1 == s.search(/event_daysofweek/gi) )
				alert("Must specify days of week"); else return true;
			break;

		case "3":
			if ( -1 == s.search(/event_daysofweek/gi) || -1 == s.search(/event_dord/gi) )
				alert("Must specify days of week and ordinals"); else return true;
			break;

		case "4":
			if ( -1 == s.search(/event_md/gi) )
				alert("Must specify monthdays"); else return true;
			break;

		default:
			return true;
			break;

	};

	return false;
};






