var locbar_open = false;
var locbar_history = '';

function location_bar(id, prefix) {
    var el = document.getElementById(prefix + '_' + id);
    var locbar = document.getElementById('location_bar');
    if (locbar_history == '') {
	locbar_history = locbar.innerHTML;
    }
    if ((locbar_open === false) || (locbar_open != id)) {
	locbar_open = id;
	el.innerHTML = '<img src="images/layout/cat_throbber.gif" alt="Loading" />';
	new Ajax.Request('ajax_category.php', {method: 'get', parameters: 'cat=' + id + '&prefix=' + prefix, onSuccess: location_bar_ajax});
    } else {
	locbar_open = false;
	el.innerHTML = '';
	locbar.innerHTML = locbar_history;
    }
}

function location_bar_select(id, prefix, next_id, name, count) {
    var el = document.getElementById(prefix + '_' + id);
    var sHTML = '';
    sHTML += '<div class="locbar_location">' + name + '</div>';
    if (count > 0) {
	sHTML += '<div id="' + prefix + '_' + next_id + '_next" class="locbar_selector">';
	sHTML += '<a href="" onclick="location_bar(' + next_id + ', \'' + prefix + '\'); return false">';
	sHTML += '<img class="locbar_link_forward" src="images/layout/bubble_14_arrow.png" />';
	sHTML += '</a></div>';
	
	sHTML += '<div id="' + prefix + '_' + next_id + '" class="locbar_subwrapper"></div>';
    }
    el.innerHTML = sHTML;
    locbar_open = false;
}

function location_bar_ajax(httpRequest) {
    var XML = httpRequest.responseXML;
    var count = XML.getElementsByTagName('count').item(0).firstChild.data;
    var id = XML.getElementsByTagName('req_cat').item(0).firstChild.data;
    var prefix = XML.getElementsByTagName('prefix').item(0).firstChild.data;
    
    var sHTML = '<div id="' + prefix + '_content_' + id + '" class="locbar_dropdown">';
    for (var i = 0; i < count; i++) {
	var XML_el = XML.getElementsByTagName('category').item(i);
	var cat_id = XML_el.getElementsByTagName('id').item(0).firstChild.data;
	var name = XML_el.getElementsByTagName('name').item(0).firstChild.data;
	var subitems = XML_el.getElementsByTagName('subitems').item(0).firstChild.data;
	var products = XML_el.getElementsByTagName('products').item(0).firstChild.data;
	sHTML += '<div class="locbar_dropdown_item">';
	sHTML += '<a href="?cat=' + cat_id + '" class="locbar_link" onclick="location_bar_select(' + id + ', \'' + prefix + '\', ' + cat_id + ', \'' + name + '\', ' + subitems + ')">';
	sHTML += name + '</a>';
//	sHTML += name + ' [' + subitems + ' subcategories, ' + products + ' products]</a>';
	if (subitems > 0) {
	    sHTML += '<a href="" onclick="location_bar_select(' + id + ', \'' + prefix + '\', ' + cat_id + ', \'' + name + '\', ' + subitems + '); location_bar(' + cat_id + ', \'' + prefix + '\'); return false">';
	    sHTML += '<img class="locbar_link_forward" src="images/layout/bubble_14_arrow.png" />';
	    sHTML += '</a>';
	}
	sHTML += '</div>';
    }
    sHTML += '</div>';
    
    var el = document.getElementById(prefix + '_' + id);
    el.innerHTML = sHTML;
}
