function highlightChildren(elt) {
	for (var i = 0; i < elt.childNodes.length; ++i)
		new Effect.Highlight(elt.childNodes[i]);
}

function changeOrder(type, id, order, callback) {
	var types = {
		category: '/admin/categories/ajaxOrder.php',
		market: '/admin/markets/ajaxOrder.php',
		offercategory: '/admin/offers/ajaxPrioritize.php',
		productcategory: '/admin/products/ajaxPrioritize.php',
		brokercategory: '/admin/brokers/ajaxPrioritize.php',
		offerpage: '/admin/offers/ajaxPrioritizePage.php',
		offermarket: '/admin/offers/ajaxPrioritizeMarket.php',
		subscriptioncategory: '/admin/subscriptions/ajaxPrioritize.php'
		};
	if (types[type]) {
		new Ajax.Request(types[type], {
				parameters: 'id=' + id + '&order=' + order,
				onSuccess: callback
			});
	}
}

function getObjectDetails(idStr) {
	var itemType = idStr.substring(0, idStr.indexOf('_'));
	var itemId = idStr.substring(idStr.indexOf('_') + 1);
	return [itemType, itemId];
}

function getElementOrder(parent, tag, element, reverse) {
	var items = parent.getElementsByTagName(tag);
	for (var i = 0; i < items.length; ++i)
		if (items[i] == element) {
			newOrder = i + 1;
			break;
		}
	if (reverse)
		newOrder = items.length - (newOrder - 1);
	return newOrder;
}

function setSortableItemBehavior(elt, editPage) {
	var objId = elt.id.substring(elt.id.indexOf('_') + 1);
	Event.observe(elt, 'mousedown', function() {
			elt.style.backgroundColor = '#FFFF99';
		});
	Event.observe(elt, 'mouseup', function() {
			elt.style.backgroundColor = '#EEEEEE';
		});
	Event.observe(elt, 'dblclick', function() {
			window.location = (editPage || 'edit.php') + '?id=' + objId;
		});
}

function arrayToString(ar, indent) {
	var ser = '';
	var pad = (indent ? indent : '');
	for (key in ar) {
		if (!ar[key] || ar[key].constructor != Function) {
			ser += pad + ' ' + key + ': ';
			if (ar[key] == null) {
				ser += 'null\n';
			} else if (typeof(ar[key]) == 'object') {
				ser += 'array()\n';
				ser += arrayToString(ar[key], pad + '--');
			} else {
				ser += ar[key] + '\n';
			}
		} else {
			ser += pad + ' ' + key + ': function()\n';
		}
	}
	return ser;
}

function replaceLink(link, text) {
	var textNode = document.createTextNode(text);
	link.parentNode.replaceChild(textNode, link);
}

