var currentItem = undefined;

$('document').ready(function() {
    if ($.jStorage.get('bandi-order')) {
        $('#order').html($.jStorage.get('bandi-order'));
        $('.active_item').removeClass('active_item');
        if ($.jStorage.get('bandi-order').trim().length == 218) {
        	reloadStatus()
        }
    }    
});

var reloadStatus = function() { 
	$.ajax({ 
  	type: 'GET',
  	url: '/orders/status/' + $.jStorage.get('bandi-order-id'),
  	async: false,
  	cache: false,
  	datatype: 'html',
  	success: function(data, status, jqXHR)  {
  		if (data.trim() == 'ready') {
  		  $('#order-summary').html('Objednávka bola úspešne prijatá')
		    $.jStorage.deleteKey('bandi-order');
		    $.jStorage.deleteKey('bandi-order-id');
				$.jStorage.set('bandi-order', $('#order').html());
				
  		} else {
  		  var s = setTimeout(reloadStatus, 10000)
  		}						    	
  	}
	})	
}
	
var isOpen = function() {
		var open = $('#state img')[0].src.split('/')[4] != 'header_new_OFF.jpg'
		return open
}

var submitOrder = function() {
		if (isOpen()) {
	    var ordr = {
	        items: [],
	        price: 0.0
	    };
	    if ($('.order-item').length > 0) {
		    $('.order-item').each(function(index, item) {		    		
		        var food = {
		            name: $('.order-item-name', item)[0].innerHTML,
		            price: parseFloat($('.order-item-price-value', item)[0].innerHTML),
		            addons: [],
		            pkg: {
		                name: $('.order-item-package-name', item)[0].innerHTML,
		                price: parseFloat($('.order-item-price-value', item)[1].innerHTML)
		            }
		        };		        
		        ordr.price += food.price;
		        ordr.price += food.pkg.price;
		        $('.order-item-addon-item', item).each(function(idx, itm) {
		        		if ($('a', itm).length > 0) {
			            var addon ={
			                name: $('a', itm)[0].innerHTML,
			                price: parseFloat($('.order-item-addon-item-price', itm)[0].innerHTML.split('&')[0])
			            };
			            ordr.price += addon.price;
			            food.addons.push(addon);
		            }
		        });
		        
		        ordr.items.push(food);
		    });
		    name = $('#order-contact-name').val();
		    phone = $('#order-contact-phone').val();
		    street = $('#order-contact-street').val();
		    city = $('#order-contact-city').val();
		    note = $('#order-contact-note').val();
		    if (note == undefined) {
		    	note = ''
		    }
		    response = 	'<div class="admin-order">'+
				'Objednal: ' + name + ', ' + phone + ', ' + street + ', ' + city + '<br/>'+
				'Poznamka: ' + note + '<br/>'+
		                '<div class="admin-order-foods">';
		    for (var i=0; i < ordr.items.length; i++) {
		      var item = ordr.items[i];
		      var _addons = [];
		      for (var a=0; a < item.addons.length; a++) {
						_addons.push(item.addons[a].name)
		      };				
		      response += '<div class="admin-order-food-item">'+ item.name + (item.addons.length > 0 ? ' + prilohy: ' + _addons.join(', ') : '') +'</div>'
		    }
		   
		    response += '</div>'
		    response += '<div class="admin-order-price-total">'
		    response += ordr.price.toFixed(2) + '&nbsp;&euro;'
		    response += '</div></div>' 
		    if ((name.length > 2) && (phone.length > 2) && (street.length > 2) && (city.length > 2)) {
		      $.ajax({
		        type: 'POST',
		        url: '/orders/send',
		        async: false,
		        cache: false,
		        data: {
		          content: response
		        },
		        datatype: 'html',
		        error: function() {
		          $.achtung({message: 'Vyskytol sa problém pri odoslaní objednávky!', timeout:5});
		        },
		        success: function(data, status, jqXHR) {
		        	if (data == 'failure') {
			        	$.achtung({message: 'Vaša objednávka bohužial nebola prijatá, reštaurácia je zatvorená!', timeout:5})
			        	var t = setTimeout("location.reload()", 5000);
		        	} else {
		        		var orderId = data;
		        		$.jStorage.set('bandi-order-id', data);
		        		var cnt = "<div class='order-status'>Stav objednávky: <span style='font-weight: bold;'>Čaká na prijatie</div>"
			          $.achtung({message: 'Ďakujeme, Vaša objednávka bola úspešne odoslaná!', timeout:5});
						    $('#order-items').html('');
		        		$('#order-summary').html(cnt);
						    $('textarea[name="note"]').val('');
						    $.jStorage.deleteKey('bandi-order');
								$.jStorage.set('bandi-order', $('#order').html());
						   	reloadStatus()						   	
						  }
		        }
		      })
		    } else {
		      $.achtung({message: 'Je nutné vyplniť všetky polia adresy dovozu!', timeout:5})
		    }
		  } else {
		  	$.achtung({message: 'Nevybrali ste si žiadne jedlá	!', timeout:5})
		  }
	    return false
	  } else {
		  $.achtung({message: 'Objednávanie nie je možné, reštaurácia je zatvorená!', timeout:5})
	  }
};
var doLogout = function() {
    if (getSummary() > 0) {
        $.jStorage.deleteKey('bandi-order');
    }
    window.location('/logout');
};

var getSummary = function() {
    var summary_value = 0.0;
    $('.order-item-addon-item-price').each(function(a,b) { summary_value += parseFloat(b.innerHTML.split('&')[0]) });
    $('.order-item-price-value').each(function(a,b) { summary_value += parseFloat(b.innerHTML) });
    return summary_value.toFixed(2);
};

var orderChange = function() {
    var summary = '<div class="order-summary-label">Spolu:</div><div class="order-summary-value"><span class="order-summary-price">' + getSummary() + '</span>&nbsp;&euro;</div><div class="cleaner"></div>';
    $('#order-summary').html(summary);
    $.jStorage.set('bandi-order', $('#order').html());
};

var Food_add = function(food_id, portion, package_price, package_name) {
		if (isOpen()) { 
	    var item_el = $('#bandi-food-' + food_id);
	    var name = $('.item-name', item_el).text();
	    var category = $('.item-category', item_el).text();
	    var description = $('.item-contains', item_el).text();
	    var variation = $('.item-variation-' + portion, item_el);
	    var price = $('.item-price', variation).text();
	    var order_items = $('.order-item');
	    var item_id = $('.item-id', item_el).text() + '-' + portion + '-' + (order_items.length + 1);
	    var portion_sk = (portion == 'small') ? 'malá' : 'veľká';
	    if (order_items.length == 0) $('#order-items').html('');
	    var _name = name + ((category == 'pizza') ? '&nbsp;(' + portion_sk + ')' : '');
	    var item =  '<div class="order-item order-item-' + item_id + '" >'+
	                    '<div class="order-item-info order-item-name">' + _name + '</div>'+
	                    '<div class="order-item-price"><span class="order-item-price-value">' + price + '</span>&nbsp;&euro;</div>'+
	                    '<div class="cleaner"></div>'+
	                    '<div class="order-item-description">' + description + '</div>'+
	                    '<div class="order-item-addons"></div>'+
	                    '<div class="order-item-package-name">' + package_name + '</div>'+
	                    '<div class="order-item-price order-item-package-price"><span class="order-item-price-value">' + package_price.toFixed(2) + '</span>&nbsp;&euro;</div>'+
	                    '<div class="cleaner"></div>'+
	                    '<div class="order-item-controls">'+
	                        '<a class="add-icon" href="#" onclick="Food_addAddOn(\''+ item_id + '\',' + food_id +  ',\'' + portion + '\'); return false;">pridať prílohu</a>'+
	                        '<span class="controls-spacer">&nbsp;</span>'+
	                        '<a class="remove-icon" href="" onclick="Food_remove(\'' + item_id +'\');return false;">odstrániť položku</a>'+
	            '       </div>'+
	                    '<div class="cleaner"></div>'+
	                '</div>';
	    $('#order-items').html($('#order-items').html() + item);
	    orderChange();
	    $.achtung({message: 'Jedlo bolo úspešne pridané do objednávky!', timeout:5});
	    return false;
	 } else {
		  $.achtung({message: 'Objednávanie nie je možné, reštaurácia je zatvorená!', timeout:5})
	 }
};

var Food_remove = function(order_item_id) {
    var order_items = $('.order-item');
    var order_item = $('.order-item-' + order_item_id);
    if (order_item.length > 0) {
        order_item.remove();
        orderChange();
    }
};

var Food_addAddOn = function(order_item_id, food_id, portion) {
    currentItem = order_item_id;
    var item = $('.order-item-' + order_item_id);
    $('.active_item').removeClass('active_item');
    $('.order-item-name',item).addClass('active_item');
    var url = '/prilohy/' + food_id + '/' + portion;
    $('#main-content').load(url);
    orderChange();
    return false;
};

var Addon_remove = function(addon_id, order_id) {
    $('.order-item-addon-item-' + order_id + '-' + addon_id).remove();
    orderChange();
    return false;
};

var Addon_add = function(addon_id) {
    var order_item = $('.order-item-' + currentItem);
    var addons = $('.order-item-addons', order_item);
    if ($('.order-item-addon-item-' + currentItem + '-' + addon_id).length == 0) {
        var addon_node = $('#bandi-addon-' + addon_id);
        var addon_name = $('.addon-name', addon_node).text().split('(')[0];
        var addon_price = $('.addon-price', addon_node).text();
        var item =  '<div class="order-item-addon-item order-item-addon-item-' + currentItem + '-' + addon_id + '">'+
                        '<div class="order-item-addon-item-name">'+
                            '<a onclick="Addon_remove(' + addon_id + ',\'' + currentItem + '\');return false;" class="remove-icon" href="">'+ addon_name.toLowerCase() + '</a>'+
                        '</div>'+
                        '<div class="order-item-addon-item-price">' + addon_price + '</div>'+
                        '<div class="cleaner"></div>'+
                    '</div>';
        var item_dom = addons.html() + item;
        addons.html(item_dom);
        orderChange();
        $.achtung({message: 'Príloha bola úspešne pridaná k jedlu!', timeout:5});
    }
    return false;
};

