// JavaScript Document
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}




$(function() {

	$('#newsHeader').click(function() {
		if ($(this).hasClass('initAddNews')) $(this).val('').removeClass('initAddNews');
	})	
	
	
	
	function createLi(id, header) {
		var descr = $('<span class="descript"></span>');
			var head = $('<h2></h2>');
				var header = $('<span class="header" id="n_' + id + '">' + header + '</span>').editable('newsUpdate.php', editableOptions);
			head = head.append(header);
			var readNext = $('<p><a href="news.php?article=' + id + '">Читать далее...</a></p>');
		var link = $('<a class="removeIt" href="#"><img src="/images/delete.png" alt="Удалить" /></a>').click(removeLi);
		descr = descr.append(head).append(readNext);
		return $('<li id="note_' + id + '" class="editable"></li>').append(descr).append(link);
	}
	

	function createChangeOrderForm() {
		var form = '<form id="changeOrder" method="post" action="newsChangeOrder.php">'
			+ '<p><input type="submit" value="Сохранить сортировку" /></p>'
			+ '</form>';
		form = $(form).submit(updateOrder);
		return form;
	}
	

	function removeLi() {
		var noteId = $(this).parent().attr('id');
		if (confirm('Вы действительно хотите удалить новость: "' + $(this).parent().find('.header').text() + '"?')) {
			$.post('newsRemove.php', {'id':noteId}, function(data) {
				var response = eval('('+data+')');
				if (response['err'] != null) {
					alert(response['err']);
				} else {
					$('#' + response['id']).detach();
					var notes = $('#sortable li');
					if (notes.length == 0) {
						$('#sortable').detach();
						$('#changeOrder').detach();
						$('<h2 id="noRecords">Записи отстутствуют</h2>').insertAfter('#addNewNote');
					}
				}
			});
		}
		return false;
	}
	

	function updateOrder() {
		var notes = $('ul#sortable li');
		if (notes.length > 0) {
			var order = [];
			$.each(notes.get().reverse(), function(index, value) {
				order.push({'id': $(value).attr('id'), 'order': index});
			});
			$.post('newsChangeOrder.php', {'neworder':$.toJSON(order)}, function(data) {
				var response = eval('('+data+')');
				if (response.status == 'OK') {
					$('ul#sortable').effect("highlight", {}, 3000);
				}
				else {
					alert(response.mes);
				}
			});
		}
		return false;
	}


	$('#sortable').sortable();
	
	$('.removeIt').click(removeLi);
	
	$('#changeOrder').submit(updateOrder);
	

	var editableOptions = {
		indicator : 'Сохраняю...',
		tooltip : 'Сделайте двойной клик, чтобы изменить текст',
		event : 'dblclick',
		cancel : 'Отмена',
        submit : 'Сохранить'
	};
	
	$('span.header').editable('newsUpdate.php', editableOptions);
	

	$('#addNewNote').submit(function() {
		var note = $('#newsHeader').val();
		if (note != '') {
			$.post('addnews.php', {'newsHeader':note}, function(data) {
				var response = eval('('+data+')');
				if (response['err'] != null) {
					alert(response['err']);
				} else {
					var list = $('#sortable');
					if (list.length == 0) {
						$('#noRecords').detach();
						$('<ul id="sortable"></ul>').sortable().insertAfter($('#addNewNote'));
						createChangeOrderForm().insertAfter($('ul#sortable'));
					}
					createLi(response['id'], response['name']).prependTo('#sortable');
				}
			});
		} else {
			alert('Вы забыли ввести заглавие новости');
		}
		return false;
	});
});
