/*
 * Listeners and functions for the Edit.vm page.
 * If you don't find what you are looking for here, check out Edit.vm
 * where some listeners lives due to the $link/$content bug.
 */

	
$(function(){
	
	//$(".form").mtShowHide();
	
	$("#add-issue").mtAjaxForm({
	
		callBack: addIssue,
		submitOnEnter: false
	
	});
	
	
	$("#delivery-info").mtAjaxForm({
		callBack: addDeliveryInfo
	});
	
			
	
	/*
	*	Some special stuff for editing or deleting delivery info
	*/
	
	 $("#edit-delivery-info").click( editDeliveryInfo );
	
	 //$("#delete-delivery-info").click( deleteDeliveryInfo );
	 
	 disableEditButton();

	
});	
	
	
disableEditButton = function(){
	var disable = $("select[name='delivery_info_id']").val() == 0;
	$("#edit-delivery-info").attr("disabled", disable);
	$("#delete-delivery-info").attr("disabled", disable);
};


switchDeliveryInfo = function(form){

	$("input[name='info_edited']", form).val("false");
	
	disableEditButton();

};


editDeliveryInfo = function(){

	jConfirm("Tänk på att ändringarna påverkar alla medier som har denna leveransinformation.\n Vill du ändå göra ändringar?", "Bekräfta redigering",
	
	function(response){
		if(response){
			$("#delivery-info :input").removeAttr("disabled");
			$("input[name='info_edited']").val("true");
		}
	});

};


addIssue = function(response){

		var issueTable = $("#add-issue-wrapper table");
		var issueForm = $("#add-issue-wrapper form");
		
		var nbr = $("#add-issue-wrapper input[name='issue_name']");
		var publish = $("#add-issue-wrapper input[name='publication_day']");
		var material = $("#add-issue-wrapper input[name='material_day']");
		
	
		if(response.success){
			$("tr.empty-row").remove();
			issueTable.append('<tr><td class="left-col">' + nbr.val() + '</td><td class="left-col">' + publish.val() + '</td><td class="left-col">' + material.val() + '</td><td id='+ response.issue_id +' class="delete"></td></tr>');
    		clearForm(issueForm);
		}

	};
	

addDeliveryInfo = function(response){

	var deliveryForm = $("#delivery-info");
	var name = jQuery.trim($("input[name='name']", deliveryForm).val());
	
	if(response.success){
		
		var theSelectBox = $("select[name='delivery_info_id']", deliveryForm);
	
		theSelectBox.append("<option id=" + response.delivery_info_id + " value=" + response.delivery_info_id + ">" + name + "</option>");
		
		theSelectBox.val( response.delivery_info_id );
		
		$("input[type='text'], textarea", deliveryForm).attr("disabled", true);
		
		disableEditButton();
	
	}

};

/*
 * Callback for after deletion of a deliver info
 */
deleteDeliveryInfo = function(response){

	if (response.success && response.delivery_info_id != 0){
		var deleteObj = $("#delivery-info" + " option[value='" + response.delivery_info_id + "']");
		 
		deleteObj.fadeOut(400, function(){
			$(this).remove();
		});
	}
	clearForm( $("#delivery-info") );
	disableEditButton();
};


/*
 * Callback for after deletion of a issue
 */
deleteIssue = function(response){

	if (response.success){
		var deleteObj = $("#add-issue" + " td#" + response.issue_id).parent("tr");
		 
		deleteObj.fadeOut(400, function(){
			$(this).remove();
		});
	}
	clearForm( $("#add-issue") );
};

	