//is being called on load / refresh only, not within navigation
function magazin_initialize() {
	htmlhistory_initialize();
	init_shortcut_keys();
	
	//load hash-independent parts
	categories_load('magazin_categories');
	product_drop('magazin_cart', 'magazin_cart_loadhere');
	product_drop('magazin_trash', 'magazin_cart_loadhere');
	cart_load('magazin_cart_loadhere', '', 'undefined', '');
	userinfo_load('userinfo_div');
	userinfo2_load('userinfo2_div');
	
	//load hash-dependent parts
	h = location.hash; //get index.php?(#.*)
	h = h.substring(1, h.length);
	if (h == '') h = request_parameter; // get index.php?p=(.*)
	magazin_goto(h);
	create_dialog();
}

var last_hash_param = '';
var last_hash_params = '';

function magazin_goto(hlocation, hdata) {
	last_hash_params = hlocation;
	var params = hlocation.split('-');
	switch (params[0]) {
		case '': //no hash set
			//products_load_latest();
			products_load_featured();
		break;
		case 'p':
			mm_restore_all();
			last_hash_param = params[1];
			switch(params[1]) {
				case 'featured':
					MM_swapImage('menu_top1','','images/menu_top1_over.jpg',1);
					products_load_featured();
				break;
				case 'latest':
					products_load_latest();
				break;
				case 'category':
					page = params[2] - 0;
					offset = (page - 1) * number_products_per_page;
					categ = params[3] - 0;
					products_load_from_category(categ, offset);
				break;
				case 'search':
					page = params[2] - 0;
					offset = (page - 1) * number_products_per_page;
					searchstring = '';
					for (i = 3; i < params.length; i++) {
						if (i > 3) searchstring += ' ';
						searchstring += params[i];
					}
					products_load_from_search(searchstring, offset);
				break;
				case 'fav':
					page = params[2] - 0;
					offset = (page - 1) * number_products_per_page;
					MM_swapImage('menu_top_fav','','images/menu_top_fav_over.jpg',1);
					products_load_from_fav(offset);
				break;
				case 'product':
					product_details_overlay(params[2]);
				break;
				case 'history':
					user_order_history();
				break;
				case 'profile':
					user_edit_profile('load');
				break;
				default:
					alert('UNKNOWN p-1 PARAM: ' + params[1]); //todo: del
				break;
			}
		break;
		default:
			alert('UNKNOWN 0 PARAM: ' + params[0]); //todo: del
		break;
	}
}


