var SEARCH_STRING = "Search for Artist, Group or Song";
var searchTerm;

function cancelEventCompletion(e) 
{
	if (window.event && !e) 
	{
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
	if (e && e.stopPropagation && e.preventDefault) 
	{
		e.stopPropagation();
		e.preventDefault();
	}
}

function addEvent(obj, evType, fn, useCapture) 
{
	if (useCapture == null)
		useCapture = false;
	
	if (obj.addEventListener) 
	{
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} 
	else if (obj.attachEvent) 
	{
		return obj.attachEvent("on" + evType, fn);
	} 
	else 
	{
		obj['on' + eventType] = fn;
	}
}

function getElementIdByEvent(e) 
{
	var elementId;

	if (window.event && window.event.srcElement) 
	{
		if (window.event.srcElement.getAttribute)
			elementId = window.event.srcElement.getAttribute('id');
	}
	
	if (e && e.target) 
	{
		var theEvent;
	
		if (e.target.nodeType == 3)
			theEvent = e.target.parentNode;
		else
			theEvent = e.target;
		
		elementId = theEvent.getAttribute('id');
	}
	
	return elementId;
}

function getElementFromEvent(e)
{
	return getElementByEvent(e);
}

function getElementByEvent(e)
{
	var element = false;

	if (window.event && window.event.srcElement) 
	{
		element = window.event.srcElement;
	}
	
	if (e && e.target) 
	{
		if (e.target.nodeType == 3)
			element = e.target.parentNode;
		else
			element = e.target;
	}
	
	return element;
}

function searchFocus(e)
{
	var searchTerm = document.getElementById("search-term");
	
	if (searchTerm)
	{
		if (searchTerm.value == SEARCH_STRING)
		{
			searchTerm.value = "";
			searchTerm.className = "";
		}
	}
}

function searchBlur(e)
{
	if (searchTerm)
	{
		initialSearchCond();
	}
}

function initialSearchCond()
{
	if (searchTerm.value == "" || searchTerm.value == SEARCH_STRING)
	{
		searchTerm.value = SEARCH_STRING;
		searchTerm.className = "empty-search";
	}
}

function addListeners(e)
{
	searchTerm = document.getElementById("search-term");	
	
	if (searchTerm)
	{
		initialSearchCond();
		
		addEvent(searchTerm, 'focus', searchFocus);
		addEvent(searchTerm, 'blur', searchBlur);	
		addEvent(searchTerm, 'keypress', searchFocus);
	}
}

addEvent(window, 'load', addListeners, false);


