jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};

Array.prototype.remove = function(from, to) {
  var rest = this.slice((to || from) + 1 || this.length);
  this.length = from < 0 ? this.length + from : from;
  return this.push.apply(this, rest);
};

function addRecipe(key) {
	var query = $.cookie('query');
				
	if(query == null) query = "";
	if (query != "") {
		if (!alreadyHasRecipe(key)) {
			query = query.substring(0, query.length-1) + ',' + key + ')';
		}
	} else {
		query = '@key IN (' + key + ')';
	}

	$.cookie('query', query,{path: '/'});
	window.location.reload();
}

function removeRecipe(key) {
	var query = $.cookie('query');
	if(key == 'all') {
		$.cookie('query','',{path: '/'});
		window.location.href = "http://www.tine.no/oppskrifter/handleliste";
		return;
	}

	if (query) {
		var keys = query.substring(query.indexOf('(') + 1, query.length-1).split(',');
		for (var i=0; i < keys.length; i++) {
			if(keys[i] == key) {
				keys.remove(i--);
			}
		}
		if(keys.length != 0) {
			query = '@key IN (' + keys.toString() + ')';
		} else {
			query = '';
		}
	} else {
		query = '';
	}

	$.cookie('query', query,{path: '/'});

	if(query != '') {
		window.location.href = "http://www.tine.no/oppskrifter/handleliste" + "?query=" + query;
	} else {
		window.location.href = "http://www.tine.no/oppskrifter/handleliste";
	}

}

$(document).ready(function() {
	if(typeof(recipeId) !== 'undefined') {
		if(alreadyHasRecipe(recipeId)) {
			$(".leggtilihandleliste > a").attr("href", "");
			$(".leggtilihandleliste > a > span").text("Lagt til i handleliste");
		}
	}

	if($.cookie('query') != null) {
		t = $("#leftMeny a[href $= 'handleliste']");
		t.attr("href", t.attr("href") + "?query=" + $.cookie('query'));
	}
});

function alreadyHasRecipe(recipeid) {
	var query = $.cookie('query');
	if(query == null || query.length == 0) return false;
	var keys = query.substring(query.indexOf('(') + 1, query.length-1).split(',');
	for(var i=0; i < keys.length; i++) {
		if(keys[i] == recipeid) return true;
	}
	return false;
}	

function getQueryParam( val ) {
	//Use the window.location.search if we don't have a val.
	var q = window.location.search;
	if(typeof(q) == 'undefined' || q == '') return "";

	q = q.split('?')[1]
	var pairs = q.split('&');
	for( var i = 0; i < pairs.length; i++ ) {
		check = pairs[i].split('=');
		if(decodeURIComponent(check[0]) == val) {
			return decodeURIComponent(check[1]);
		}
	}
}				
