var descriptions = null;

function ajaxSearch(data, url){
	var result = false;
	jQuery.ajax({
		url: url,
		type: 'post',
		data: data,
		success: function(msg){
			return msg;
		}
	});
}


function windowOpen(data){
	_window = window.open('', 'debug_', 'width=700,height=500,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,copyhistory=0,resizable=0');
	_window.document.body.innerHTML = '';
	_window.document.write(data);
	_window.moveTo(0, 0);
	_window.focus();
}

function productSearch(requestData){
	$.ajax({
		url: '/admin/products/search.html',
		type: 'post',
		data: requestData,
		success: function(msg){
			var pagination = $('.pagination', msg).html();
			var data = $('.table_body', msg).html();
			$('#product_table').animate({
				opacity: 0
			}, 150, function(){
				$('.pagination').html(pagination);
				$('.table_body').html(data);
				$(this).animate({
					opacity: 1
				}, 150);
			});
		}
	});
}

function getUrlHash(){
	var urlHash = window.location.hash;
	console.log(urlHash);
}

$(document).ready(function($){
	var dialog = $('<div id="dialog">');
	var sortOptions = null;

	$('[id^=category_label_]').live('click', function(){
		categoryId = $(this).attr('id').split('_').pop();
		var checkbox = $('input#category_' + categoryId);
		checkbox.attr('checked', !checkbox.attr('checked'));
		$(this).toggleClass('checked', 100);
	});

	$('#submit_product_search').click(function(){
		var requestData = {
			search_term: $('input[name=search_product]').val(),
			search_in:  $('select[name=search_in]').val(),
			category_id: $('select[name=category_id]').val(),
			type: 'full'
		}
		productSearch(requestData);
	});

	$('select[name=category_id]').change(function(){
		var requestData = {
			search_term: $('input[name=search_product]').val(),
			search_in:  $('select[name=search_in]').val(),
			category_id: $(this).val(),
			type: 'full'
		}
		productSearch(requestData);
	});

	$('input[name=search_product]').keyup(function(){

		var search_in = $('select[name=search_in]').val();
		if(search_in != 'name'){
			return;
		}
		if($(this).val().length < 3){
			return;
		}
		var requestData = {
			search_term: $(this).val(),
			search_in: $('select[name=search_in]').val(),
			category_id: $('select[name=category_id]').val(),
			type: 'short'
		};
		//ajaxSearch(requestData, '/search.html');


		$(this).autocomplete({
			source: function(request, response){
				$.ajax({
					url: '/admin/products/search.html',
					data: requestData,
					type: 'post',
					success: function(msg){
						var result = $.parseJSON(msg);
						response($.map(result, function(item){
							return{
								label: item,
								value: item
							}
						}));
					}
				});
			}
		});
	});

	$('input[name=search_product]').keypress(function(e){
		if(e.which == 13){
			$('#submit_product_search').click();
		}
	});
	$('.sortable').sortable({
		placeholder: 'ui-state-highlight',
		connectWith: '.category_list',
		items:'li:not(.not_sortable)',
		start: function(event, ui){
		},
		receive: function(event, ui){
		},
		stop: function(event, ui){
			//console.log(event);
			item = ui.item;
			sender = ui.sender;
			var parent_id = item.parent().attr('id');
			var item_id = item.attr('id');
			var next_item = item.next('li');
			var previous_item = item.prev('li');
			//console.log(ui);
		}
	});
	$('.sortable').disableSelection();
	$( "#selectable" ).selectable();
	$('.date_input').live('click', function(){
		$(this).datepicker({
			'dateFormat': 'DD, d MM, yy'
		});
	});

	$('a.delete_categories').live('click', function(e){
		e.preventDefault();
		var categoryId = $(this).attr('id').substr(7);
		var requestData = {
			id: categoryId
		};
		$.ajax({
			url: '/admin/category_delete.html',
			type: 'post',
			data: requestData,
			success: function(msg){
				response = $.parseJSON(msg);
				if(response.response == 'success'){
					$('h1.category_' + categoryId).fadeOut(200, function(){
						$(this).remove();
					});
					$('ul#cat_' + categoryId).fadeOut(200, function(){
						$(this).remove();
					});
					$('li#cat_' + categoryId).fadeOut(200, function(){
						$(this).remove();
					});
				}
				//windowOpen(response.response);
			}
		});
	});

	$('a[id^="admin_edit"]').live('click', function(e){
		var product_id = $(this).attr('id').split('_').pop();
		var slug = $(this).attr('slug');
		e.preventDefault();
		dialog.dialog({
			modal: true,
			autoOpen: false,
			width: '80%',
			show: 'fade',
			hide: 'fade',
			resizable: false,
			position: 'top',
			dialogClass: 'dialog',
			close: function(){
				$(this).remove();
			},
			buttons: {
				'Editeaza' : function(){
					data = $('#product_form').serialize();
					$.ajax({
						url: '/admin/products.html',
						data: data,
						type: 'post',
						success: function(msg){
							//windowOpen(msg);
						}
					});
					$(this).dialog('close');
				},
				'Renunta' : function(){
					$(this).dialog('close');
				}
			},
			'closeText':  'Renunta'
		});
		$.ajax({
			type: 'post',
			url: $(this).attr('href'),
			//url: '/admin/products/edit/' + product_id + '-' + slug + '.html',
			data: {'data[Product][id]': product_id},
			success: function(data){
				dialog.html(data);
				dialog.dialog('open');

			},
			complete: function(){
			}
		})
	});

	$('#add_field_description').live('click', function(){
		var product_id = $('#ProductId').val();
		var data = 'data[add]=' + desc_key;
		if(product_id){
			data = data + '&data[product_id]=' + product_id;
		}
		if(descriptions == null){
			descriptions = $('.descriptions');
		}

		$.ajax({
			type: 'post',
			url: '/admin/add_description.html',
			data: data,
			success: function(data){
				++desc_key;
				descriptions.append(data);
				descriptions = null;
			}
		});
	});
});
