var D = {},
	ajax = '/_ajx/index.php';
$(function(){
	var ids = 'form,content,movies,name,directors,movieList';
	    ids += ',id,actors,code,description,rating,movieForm,action';
	addDOM(ids);
	D.content.find('.h').removeClass('h').hide();
	D.content.find('span.action').click(addAction);
	D.form.find('.close').click(closeForm);
	D.movieForm.submit(sendForm);
	
	/*Module Events*/
	function loadList(){
		
		$.post(ajax,{action:'list'},onLoadList);
	}
	function onLoadList(data){
		D.movieList.html(data);
		$('span.action').click(addAction);
	}
	function addAction(){
		var _p = this.className.split(' '),
		    action = _p[1];
		    sets = {'view':'edit','new':'add'};
		
		D.form.removeAttr('class').addClass(action);
		
		if(action == 'view'){
			$.post(ajax,{id:_p[0],action:action},onLoadForm,'json');
		}else if(action == 'delete'){
			if( confirm("Are you Sure??") ){
				$.post(ajax,{id:_p[0],action:action},onSendForm);
			}
		}
		if(action != 'delete'){
			openForm();
		}
		D.action.val( sets[ action ] );
	}
	function onLoadForm(data){
		for (var i in data){
			if (i in D){
				D[i].val( data[i] );
			}
		}
	}
	function openForm(){
		D.movieForm[0].reset();
		D.movies.slideUp();
		D.form.slideDown();
	}
	function closeForm(){
		D.form.slideUp();
		D.movies.slideDown();
	}
	function addDOM(ids){
		var items = ids.split(',');
		for(var t = items.length, i=0;i < t;i++){
			D[ items[i] ] = $('#'+items[i]);
		}
	}
	function sendForm(ev){
		ev.preventDefault();
		$.post( ajax, D.movieForm.serialize(), onSendForm );
		
	}	
	function onSendForm(data){
		loadList();
		closeForm();
	}
});
