var oTable;
var oTable2;

var katMap = new Object();
katMap['/melk-og-melkeprodukter/']=1;
katMap['/egg/']=2;
katMap['/fjørfe-og-kjøtt/']=3;
katMap['/fisk-og-skalldyr/']=4;
katMap['/kornvarer/']=5;
katMap['/poteter-grønnsaker-frukt-og-bær/']=6;
katMap['/sukker-og-søte-produkter/']=7;
katMap['/margarin-smør-matolje-ol/']=8;
katMap['/drikke/']=9;
katMap['/diverse-retter-produkter-og-ingredienser/']=10;

$(document).ready(function() {
	//lager tabs
	$("#tabs").tabs();
	
	//endrer kategorilenker hvis js
	$('.kategorier a').each(function(index) {
		$(this).attr("onClick", "getSub('" + $(this).attr('href') + "')" );
		$(this).attr("href", '#');
		//$(this).removeAttr("href");
	});
	

	$.post('/mineMatvarer.groovy', function(data) {
		  $('#minetab').html(data);
		  fixMineMatvarerTabell();
	});
	
	$('#mineMatvarerForm').submit(function(e) {
		return e.preventDefault();
	});
	
	
	
	$.getJSON('/MatvarerJSON.txt', function(data) {
		
		oTable = $('#example').dataTable( {
			"bJQueryUI": true,
			"iDisplayLength": 10,
			"oLanguage": {
				sProcessing:   "Laster...",
				sLengthMenu:   "Vis: _MENU_ matvarer",
				sZeroRecords:  "Ingen matvarer matcher søket",
				sInfo:         "Viser _START_ til _END_ av _TOTAL_ matvarer",
				sInfoEmpty:    "Viser 0 til 0 av 0 matvarer",
				sInfoFiltered: "(filtrert fra _MAX_ totalt antall matvarer)",
				sInfoPostFix:  "",
				sSearch:       "Søk:",
				sUrl:          "",
			   oPaginate: {
				    sFirst:    "Første",
				    sPrevious: "Forrige",
				    sNext:     "Neste",
				    sLast:     "Siste"
			   }
			},
			"bProcessing": true,
			"aaData": data.aaData,
			"bSmart": false,
			"bLengthChange": false,
			"aaSorting": [[3,'asc']],
			"aoColumnDefs": [ 
								{ "bSearchable": false, "aTargets": [ 0,1,2,4,5,6,7 ] },
								{ "bVisible": false, "aTargets": [ 1,2 ] },
								{ "bSortable": false, "aTargets": [ 0,1,2 ] },
								{ "fnRender": function ( oObj ) {
									if(oObj.iDataColumn == 0) return '<button onclick="addMat('+ oObj.aData[0] +')">+</button>';
									if(oObj.iDataColumn == 3) return '<a href="" onclick="showDialog(' + oObj.aData[0] + ');return false;" >' + oObj.aData[3] + '</a>' ;
				     			   },
				     			   "bUseRendered": false,
				     			   "aTargets": [ 3,0 ]
				     			}
							]
		} );
		jQuery("#example_wrapper input").watermark("Søk etter matvarer");
		
		
		
		
		oTable2 = $('#example2').dataTable( {
			"bJQueryUI": true,
			"oLanguage": {
				sProcessing:   "Laster...",
				sLengthMenu:   "Vis: _MENU_ matvarer",
				sZeroRecords:  "Ingen matvarer matcher søket",
				sInfo:         "Viser _START_ til _END_ av _TOTAL_ matvarer",
				sInfoEmpty:    "Viser 0 til 0 av 0 matvarer",
				sInfoFiltered: "(filtrert fra _MAX_ totalt antall matvarer)",
				sInfoPostFix:  "",
				sSearch:       "Søk:",
				sUrl:          "",
			   oPaginate: {
				    sFirst:    "Første",
				    sPrevious: "Forrige",
				    sNext:     "Neste",
				    sLast:     "Siste"
			   }
			},
			"bProcessing": true,
			"aaData": data.aaData,
			"bLengthChange": false,
			"aoColumnDefs": [ 
								{ "bSearchable": false, "bRegex": true, "aTargets": [ 0,1,2,3,4,5,6,7 ] },
								{ "bVisible": false, "aTargets": [ 1,2 ] },
								{ "bSortable": false, "aTargets": [ 0,1,2 ] },
								{ "fnRender": function ( oObj ) {
									if(oObj.iDataColumn == 0) return '<button onclick="addMat('+ oObj.aData[0] +')">+</button>';
									if(oObj.iDataColumn == 3) return '<a href="" onclick="showDialog(' + oObj.aData[0] + ');return false;" >' + oObj.aData[3] + '</a>' ;
				     			   },
				     			   "bUseRendered": false,
				     			   "aTargets": [ 3,0 ]
				     			}
							]
		} );
		
		
		
	});
	
	
	
	
	
});



function getSub(str){
	$('.subkategorier').load('/getSub.groovy', {kat: str});
	//$('.matvareliste').load('/getMatvarer.groovy', {kat: str});
	
	oTable2.fnFilter('', 2, true);
	oTable2.fnFilter('^'+katMap[str].toString()+'$', 1, true);
}

function getMatvarer(str){
	//Laster matvarer i kat eller subkat.
	//$('.matvareliste').load('/getMatvarer.groovy', {id: str});
	
	oTable2.fnFilter('', 1, true);
	oTable2.fnFilter('^'+str+'$', 2, true);
	
}

function showDialog(id){
	$( "#matvaredialog" ).dialog({
		modal: true,
		height: 700,
		width: 460,
		show: "fade",
		hide: "fade",
		buttons: {
			Ok: function() {
				$( this ).dialog( "close" );
			}
		}
	});
	$('#matvaredialog').load('/getMatvare.groovy', {id: id});
}

function addMat(id){
	//alert(id);
	$.post('/mineMatvarer.groovy', {add: id}, function(data) {
	  	$("#minetab").html(data);
	  	fixMineMatvarerTabell();
	});
}

function delMat(id){
	//alert(id);
	$.post('/mineMatvarer.groovy', {del: id}, function(data) {
	  	$("#minetab").html(data);
	  	fixMineMatvarerTabell();
	});
}

function updateMat(){
	//alert($('#mineMatvarerForm').serialize());
	$.post('/mineMatvarer.groovy', {update: $('#mineMatvarerForm').serialize()}, function(data) {
		$("#minetab").html(data);
		fixMineMatvarerTabell();
	});
}

function fixMineMatvarerTabell(){
	$("#minetab table").dataTable( {
		"bJQueryUI": true,
		"iDisplayLength": 50,
		"bProcessing": true,
		"bSort": false,
		"bLengthChange": false,
		"bFilter": false,
		"oLanguage": {
			sProcessing:   "Laster...",
			sLengthMenu:   "Vis: _MENU_ matvarer",
			sZeroRecords:  "Du har ikke lagt til noen matvarer",
			sInfo:         "Viser _START_ til _END_ av _TOTAL_ matvarer",
			sInfoEmpty:    "Viser 0 til 0 av 0 matvarer",
			sInfoFiltered: "(filtrert fra _MAX_ totalt antall matvarer)",
			sInfoPostFix:  "",
			sSearch:       "Søk:",
			sUrl:          "",
		   oPaginate: {
			    sFirst:    "Første",
			    sPrevious: "Forrige",
			    sNext:     "Neste",
			    sLast:     "Siste"
		   }
		}
	} );
	
}

function omDialog(){
	$( "#omdialog" ).dialog({
		modal: true,
		height: 400,
		width: 600,
		show: "fade",
		hide: "fade",
		buttons: {
			Ok: function() {
				$( this ).dialog( "close" );
			}
		}
	});
}

