function xlatFromVal(val) {
	if (val == "0")
		return "Sunday";
	if (val == "1")
		return "Monday";
	if (val == "2")
		return "Tuesday";
	if (val == "3")
		return "Wednesday";
	if (val == "4")
		return "Thursday";
	if (val == "5")
		return "Friday";
	if (val == "6")
		return "Saturday";
	return "Unknown day";
}

function xlatToVal(val) {
	if (val == "Sunday")
		return "0";
	if (val == "Monday")
		return "1";
	if (val == "Tuesday")
		return "2";
	if (val == "Wednesday")
		return "3";
	if (val == "Thursday")
		return "4";
	if (val == "Friday")
		return "5";
	if (val == "Saturday")
		return "6";
	return "-1";
}

$(function() {

	$.ajaxSetup ({
		cache: false
	});
	var ajax_load = "<img class='loading' src='/images/load-indicator.gif' alt='loading...' />";
	
	function notEmpty(o, n) {
		if (o.val().length <= 0) {
			o.addClass( "ui-state-error" );
			updateTips("Provide a value for " + n);
			return false;
		} else {
			return true;
		}
	}

	function updateTips( t ) {
		tips.text(t).addClass( "ui-state-highlight" );
		setTimeout(function() {
			tips.removeClass( "ui-state-highlight", 1500 );
		}, 500 );
	}

	function checkRegexp( o, regexp, n ) {
		if ( !( regexp.test( o.val() ) ) ) {
			o.addClass( "ui-state-error" );
			updateTips( n );
			return false;
		} else {
			return true;
		}
	}

	var specials_add_day = $( "#specials-add-day" ),
	specials_add_descr = $( "#specials-add-description" ),
	specials_add_price = $( "#specials-add-price" ),
	allFields = $( [] ).add( specials_add_day ).add( specials_add_descr ).add( specials_add_price ),
	tips = $( ".specialsAddValidateTips" );
	
	$("#dialog-specials-add").dialog({
		autoOpen: false,
		height: 300,
		width: 350,
		modal: true,
		buttons: {
			"Add new item": function() {
				var bValid = true;
				allFields.removeClass( "ui-state-error" );
				
				bValid = bValid && notEmpty( specials_add_day, "Day of week");
				bValid = bValid && notEmpty( specials_add_descr, "Description");
				//bValid = bValid && notEmpty( specials_add_price, "Price");
	
				if (bValid) {
					var formData = {};
					formData["type"] = "specials";
					formData["day"] = xlatFromVal(specials_add_day.val());
					formData["dayofweek"] = specials_add_day.val();
					formData["description"] = specials_add_descr.val();
					formData["price"] = specials_add_price.val();
					$.ajax({
						type: "POST",
						url: "additem.php",
						data: formData,
						dataType: "json",
						success: function(data) {
							if (data == null || data.success === false)
								alert("An error occurred when saving your data. If error persists, please contact the site developer.");
							if (data != null && data.success === true && data.reload != null) {
				                //$('#tableBody').html(ajax_load).load(data.reload);
				                window.location.reload();
							}
						}
					});
					$( this ).dialog( "close" );
				}
			},
			Cancel: function() {
				$( this ).dialog( "close" );
			}
		},
		close: function() {
			allFields.val( "" ).removeClass( "ui-state-error" );
		}
	});
	
	$( "#addSpecialsItem" )
	.button()
	.click(function() {
		editId = null;
		$( "#dialog-specials-add" ).dialog( "open" );
	});
});

$(function() {
	var ed = new tinymce.Editor('myipwe1', {
		theme : "advanced", 
		mode : "exact", 
		plugins : "pagebreak,spellchecker,layer,table,save,advimage,iespell,preview,searchreplace,paste,visualchars",
		theme_advanced_buttons1 : "save,|,bold,italic,underline,|,fontsizeselect, cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,|,preview",
		theme_advanced_buttons2 : "",
		theme_advanced_buttons3 : "",
		theme_advanced_buttons4 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_resizing : false,
		entity_encoding : "raw",
		disk_cache : true,
		debug : false
	});
	
	$('#specials-edit-description-tinymce').editable({
		type: 'wysiwyg',
		editor: ed,
		onSubmit:function submitData(content){
			$('#specials-edit-description').val(content.current);
		},
		submit:'Finish',
		cancel:'Abort changes'					
	});
	
	$('#specials-add-description-tinymce').editable({
		type: 'wysiwyg',
		editor: ed,
		onSubmit:function submitData(content){
			$('#specials-add-description').val(content.current);
		},
		submit:'Finish',
		cancel:'Abort changes'					
	});
});

var specialsEditId = null;

$(function() {

	$.ajaxSetup ({
		cache: false
	});
	var ajax_load = "<img class='loading' src='/images/load-indicator.gif' alt='loading...' />";
	
	var specials_edit_day = $( "#specials-edit-day" ),
	specials_edit_descr = $( "#specials-edit-description" ),
	specials_edit_price = $( "#specials-edit-price" ),
	allFields = $( [] ).add( specials_edit_day ).add( specials_edit_descr ).add( specials_edit_price ),
	tips = $( ".specialsEditValidateTips" );

	function notEmpty(o, n) {
		if (o.val().length <= 0) {
			o.addClass( "ui-state-error" );
			updateTips("Provide a value for " + n);
			return false;
		} else {
			return true;
		}
	}

	function updateTips( t ) {
		tips.text(t).addClass( "ui-state-highlight" );
		setTimeout(function() {
			tips.removeClass( "ui-state-highlight", 1500 );
		}, 500 );
	}

	function checkRegexp( o, regexp, n ) {
		if ( !( regexp.test( o.val() ) ) ) {
			o.addClass( "ui-state-error" );
			updateTips( n );
			return false;
		} else {
			return true;
		}
	}
	
	$("#dialog-specials-edit").dialog({
		autoOpen: false,
		height: 300,
		width: 350,
		modal: true,
		buttons: {
			"Edit item": function() {
				var bValid = true;
				allFields.removeClass( "ui-state-error" );
				
				bValid = bValid && notEmpty( specials_edit_day, "Title");
				bValid = bValid && notEmpty( specials_edit_descr, "Description");
				bValid = bValid && notEmpty( specials_edit_price, "Price");
	
				if (bValid) {
					var formData = {};
					formData["type"] = "specials";
					formData["day"] = xlatFromVal(specials_edit_day.val());
					formData["dayofweek"] = specials_edit_day.val();
					formData["description"] = specials_edit_descr.val();
					formData["price"] = specials_edit_price.val();
					formData["id"] = specialsEditId;
					$.ajax({
						type: "POST",
						url: "edititem.php",
						data: formData,
						dataType: "json",
						success: function(data) {
							if (data == null || data.success === false)
								alert("An error occurred when saving your data. If error persists, please contact the site developer.");
							if (data != null && data.success === true && data.reload != null) {
				                //$('#tableBody').html(ajax_load).load(data.reload);
				                window.location.reload();
							}
						}
					});
					$( this ).dialog( "close" );
				}
			},
			Cancel: function() {
				$( this ).dialog( "close" );
			}
		},
		close: function() {
			allFields.val( "" ).removeClass( "ui-state-error" );
		}
	});
	
});

function doEditSpecials(id)  {
	 specialsEditId = id;
	 $("#dialog-specials-edit").dialog( "open" );
	 $("#specials-edit-day").val(xlatToVal(document.getElementById("rowSpecials" + id).cells[0].innerHTML));
	 $("#specials-edit-description").val(document.getElementById("rowSpecials" + id).cells[1].innerHTML);
	 $("#specials-edit-description-tinymce").html(document.getElementById("rowSpecials" + id).cells[1].innerHTML);
	 $("#specials-edit-price").val(document.getElementById("rowSpecials" + id).cells[2].innerHTML);
 }
