$(document).ready( function() {
	var showProduct = false;
	var naviLink = null;
	
	if (location.search && (location.search.length > 1)) {
		naviLink = getNaviLink(location.search);
		showProduct = strStartsWith(location.search, "?a=showProduct&product="); 
		
		if((naviLink == null) && showProduct) {
			naviLink = getNaviLink($("#productGroupLink").val())
		}
	}
	
	if(naviLink == null) {
		$('#product_content').load($('#rootProductGroup').attr("href"), {fragment : "pagetemplates/pdb-client/showProductGroup.vm"}, function() {
			$('#page').attr("class", 'subpage');
		});
	}
	else {
		if(showProduct) {
			$('#page').attr("class", 'productsSubpage');
		}
		else {
			$('#page').attr("class", 'subpage');
		}
	}
	
	selectNaviLink(naviLink);
	
//	$("#pdbNavi li a").click( function() {
//		selectNaviLink(this);
		
//		var url = $(this).attr("href");
//		var frag = strStartsWith(url, "?a=showProduct&product=") ? "pagetemplates/pdb-client/showProduct.vm" : "pagetemplates/pdb-client/showProductGroup.vm";
		
//		return loadProductPage(url, frag);
//	});
	
	$("#pdb_searchForm_submit").click(function() {
		submitSearchForm()
		return false;
	});
	
	$("#pdb_searchForm_text").keypress(function(e) {
		var key = e.keyCode || e.which;
		if(key == 13) {
			submitSearchForm()
			return false;
		}
		
		return true;
	});
});

function getNaviLink(href) {
	if ((href != null) && (href.length > 0)) {
		var links = $("#pdbNavi a[href='" + href + "']:first");
		if (links.length == 1) {
			return links[0];
		}
	}

	return null;
}

function selectNaviLink(link) {
	if(link != null) {
		var naviLink = $(link);
		if(naviLink.is("#pdbNavi a")) {
			var parents = naviLink.parents("ul");
			var nextElement = naviLink.next();
			
			$('#pdbNavi ul:visible').not(parents).not(nextElement).hide();//.slideUp('fast');
			if(nextElement.is("ul:not(:visible)")) {
				nextElement.show();//.slideDown('fast');
			}
			
			var parentsLink = parents.prevAll("a, h2");
			
			var parentCurrentLink = naviLink.parent("li");
			
			$("#pdbNavi a").removeClass("selected");
			$("#pdbNavi li").removeClass("active")
			parentsLink.addClass("selected");
			naviLink.addClass("selected");
			parentCurrentLink.addClass("active");
		}
	}
	else {
		$("#pdbNavi a").removeClass("selected");
		$("#pdbNavi").prev("h2").addClass("selected");
		$("#pdbNavi li").removeClass("active")
		$("#pdbNavi ul").hide();
		
	}
}

function submitSearchForm()
{
	var url = "?a=" + $("#pdb_searchForm_action").val();
	var searchText = $("#pdb_searchForm_text").val();
	
	$("#product_content").load(url, {search : searchText, fragment : "pagetemplates/pdb-client/searchProducts.vm"}, function() {
		$('#page').attr("class", 'subpage');
		selectNaviLink(null);
	});
}

function strStartsWith(str, startStr)
{
	return (str.substring(0, startStr.length) == startStr);
}

function loadAndSelectProduct(productId) {
	var url = ("?a=showProduct&product=" + productId);
	var frag = "pagetemplates/pdb-client/showProduct.vm";
	
	selectNaviLink($("#pdbNavi li a[href$=" + url+"]"));
	return loadProductPage(url, frag);
}

function loadProduct(productId) {
	var url = ("?a=showProduct&product=" + productId);
	var frag = "pagetemplates/pdb-client/showProduct.vm";
	
	return loadProductPage(url, frag);
}

function loadProductPage(url, frag) {
	$('#product_content').load(url, {fragment : frag}, function() {
		if(frag == "pagetemplates/pdb-client/showProduct.vm") {
			$('#page').attr("class", 'productsSubpage');
		} else {
			$('#page').attr("class", 'subpage');
		}
	});
	
	return false;
}

