var is_open = false;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ROSS TEST INTERVAL CODE SIDEWAYS
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var to_left;
var start_left;
var ticker = 0;
var object;
var foo;
var last_time = 0;
var duration = 0.3;

function $(id)
{
	return document.getElementById(id);
}

function start_move(direction)
{
	window.clearInterval(foo);
	if (direction == 'forward')
	{
		ticker = 0;
		object = document.getElementById('btn_view_shop');
		var width = object.offsetWidth;
		var avail = document.getElementById('container').offsetWidth;
		to_left = avail - width;
		last_time = new Date().getTime();
		foo = window.setInterval("side_move()", 1);
	}
	else
	{
		object = document.getElementById('btn_view_shop');
		ticker = object.offsetLeft-40;
		to_left = 0;
		last_time = new Date().getTime();
		foo = window.setInterval("side_back()", 1);
	}
}

function side_move()
{
	var now = new Date().getTime();
	var time_passed = now - last_time;
	last_time = now;
	var movement = (time_passed / duration);
	
	if (Math.abs(ticker) < Math.abs(to_left))
	{
		if ((Math.abs(ticker)+Math.abs(movement)) > Math.abs(to_left))
		{
			while(Math.abs(ticker)+Math.abs(movement) > Math.abs(to_left))
			{
				movement = movement/2;
			}
			ticker += movement;
			object.style.left = ticker+'px';
		}
		else
		{
			ticker += movement;
			object.style.left = ticker+'px';
		}
	}
	else
	{
		window.clearInterval(foo);
	}
}

function side_back()
{
	var now = new Date().getTime();
	var time_passed = now - last_time;
	last_time = now;
	var movement = (time_passed / duration);
	
	if (Math.abs(ticker) > Math.abs(to_left))
	{
		if (Math.abs(ticker)-Math.abs(movement) < Math.abs(to_left))
		{
			while(Math.abs(ticker)-Math.abs(movement) < Math.abs(to_left))
			{
				movement = movement/2;
			}
			ticker -= movement;
			object.style.left = ticker+'px';
		}
		else
		{
			ticker -= movement;
			object.style.left = ticker+'px';
		}
	}
	else
	{
		window.clearInterval(foo);
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// SHOP DROP CODE
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var to_height;
var start_height;
var ticker2 = 0;
var object2;
var foo2;
var last_time2 = 0;
var duration2 = 0.4;

function start_drop(direction, height)
{
	window.clearInterval(foo2);
	if (direction == 'down')
	{
		
		object2 = document.getElementById('artist_shop_holder');
		//ticker2 = 32;
		ticker2 = object2.offsetHeight;
		to_height = document.getElementById('artist_shop').offsetHeight + object2.offsetHeight+30;
		last_time2 = new Date().getTime();
		foo2 = window.setInterval("drop_move()", 1);
	}
	else
	{
		object2 = document.getElementById('artist_shop_holder');
		ticker2 = object2.offsetHeight-20;
		to_height = height;
		last_time2 = new Date().getTime();
		foo2 = window.setInterval("roll_up_move()", 1);
	}
}

function drop_move()
{
	var now2 = new Date().getTime();
	var time_passed2 = now2 - last_time2;
	last_time2 = now2;
	var movement2 = (time_passed2 / duration2);
	
	if (Math.abs(ticker2) < Math.abs(to_height))
	{
		if ((Math.abs(ticker2) + Math.abs(movement2)) > Math.abs(to_height))
		{
			while(Math.abs(ticker2)+Math.abs(movement2) > Math.abs(to_height))
			{
				movement2 = movement2/2;
			}
			ticker2 += movement2;
			object2.style.height = ticker2+'px';
		}
		else
		{
			ticker2 += movement2;
			object2.style.height = ticker2+'px';
		}
	}
	else
	{	
		window.clearInterval(foo2);
	}
}

function roll_up_move()
{
	var now2 = new Date().getTime();
	var time_passed2 = now2 - last_time2;
	last_time2 = now2;
	var movement2 = (time_passed2 / duration2);
	
	if (Math.abs(ticker2) > Math.abs(to_height))
	{
		if ((Math.abs(ticker2)-Math.abs(movement2)) < Math.abs(to_height))
		{
			while(Math.abs(ticker2)-Math.abs(movement2) < Math.abs(to_height))
			{
				movement2 = movement2/2;
			}
			ticker2 -= movement2;
			object2.style.height = ticker2+'px';
		}
		else
		{
			ticker2 -= movement2;
			object2.style.height = ticker2+'px';
		}
	}
	else
	{
		window.clearInterval(foo2);
	}
}

function open_shop(drop_height)
{
	if (is_open)
	{	
		start_move('back');
		start_drop('up', drop_height);
		is_open = false;
	}
	else
	{
		start_move('forward');
		start_drop('down', drop_height);
		is_open = true;
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// NEW MENU DROP DOWN METHODS
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var menu_object;
var menu_object_up;
var menu_to_height;
var menu_to_height_up;
var menu_ticker = 0;
var menu_ticker_up = 0;
var menu_foo;
var menu_foo_up;
var menu_last_time = 0;
var menu_last_time_up = 0;
var menu_duration = 0.5;
var menu_duration_up = 0.2;

var current_menu;

function start_menu(object)
{
	var temp = document.getElementById(object);
	if (temp)
	{
		if (temp.style.display != 'block')
		{
			menu_show_new(object);
			current_menu = object;
		}
		else if(current_menu == object)
		{
			
		}
		else
		{
			window.clearInterval(menu_foo);
			menu_ticker_up = menu_object.offsetHeight;
			menu_to_height_up = 20;
			menu_last_time_up = new Date().getTime();
			menu_object_up = menu_object;
			menu_foo_up = window.setInterval("menu_roll_up()", 1);
		}
	}
	else
	{
		if (menu_object)
		{
			alert('out');
			window.clearInterval(menu_foo);
			menu_ticker_up = menu_object.offsetHeight;
			menu_to_height_up = 20;
			menu_last_time_up = new Date().getTime();
			menu_object_up = menu_object;
			menu_foo_up = window.setInterval("menu_roll_up()", 1);
		}
	}
}

function menu_show_new(object)
{
	menu_ticker = 0;
	window.clearInterval(menu_foo);
	set_object(object);
	menu_object.style.display = 'block';
	menu_to_height = 300;
	menu_last_time = new Date().getTime();
	menu_foo = window.setInterval("menu_drop()", 1);
}
function set_object(object)
{
	menu_object = document.getElementById(object);
}
function menu_drop()
{
	var menu_now = new Date().getTime();
	var menu_time_passed = menu_now - menu_last_time;
	menu_last_time = menu_now;
	var menu_movement = (menu_time_passed / menu_duration);
	
	if (Math.abs(menu_ticker) < Math.abs(menu_to_height))
	{
		if ((Math.abs(menu_ticker) + Math.abs(menu_movement)) > Math.abs(menu_to_height))
		{
			while(Math.abs(menu_ticker)+Math.abs(menu_movement) > Math.abs(menu_to_height))
			{
				menu_movement = menu_movement/2;
			}
			menu_ticker += menu_movement;
			menu_object.style.height = menu_ticker+'px';
		}
		else
		{
			menu_ticker += menu_movement;
			menu_object.style.height = menu_ticker+'px';
		}
	}
	else
	{	
		window.clearInterval(menu_foo);
		no_more = menu_object;
	}
}
function menu_roll_up()
{
	var menu_now_up = new Date().getTime();
	var menu_time_passed_up = menu_now_up - menu_last_time_up;
	menu_last_time_up = menu_now_up;
	var menu_movement_up = (menu_time_passed_up / menu_duration_up);
	
	if (Math.abs(menu_ticker_up) > Math.abs(menu_to_height_up))
	{
		if ((Math.abs(menu_ticker_up) - Math.abs(menu_movement_up)) > Math.abs(menu_to_height_up))
		{
			while(Math.abs(menu_ticker_up)-Math.abs(menu_movement_up) < Math.abs(menu_to_height_up))
			{
				menu_movement_up = menu_movement_up/2;
			}
			menu_ticker_up -= menu_movement_up;
			menu_object.style.height = menu_ticker_up+'px';
		}
		else
		{
			menu_ticker_up -= menu_movement_up;
			menu_object.style.height = menu_ticker_up+'px';
		}
	}
	else
	{
		window.clearInterval(menu_foo_up);
		menu_object_up.style.display = 'hidden';
	}
}



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// NEW ATTEMPT AT MENU USING EVENT LISTENERS INSTEAD
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var current_target;
var current_letter;
var delay_check;
var delay = 100;
var target_check;
var pause_ticker;

function menu_listen(e, className)
{
	
	//alert(e);
	if (!delay_check)
	{
		delay_check = new Date().getTime();
		target_check = e;
		pause_ticker = window.setInterval("menu_listen('"+e+"', '"+className+"')", 1);
	}
	
	if (target_check != e)
	{
		target_check = e;
		delay_check = new Date().getTime();
		window.clearInterval(pause_ticker);
		pause_ticker = window.setInterval("menu_listen('"+e+"', '"+className+"')", 1);
	}
	
	if (!current_target)
	{
		current_target = e;
	}
	
	var delay_now = new Date().getTime();
	var pause = delay_now - delay_check;
	
	if (pause > delay)
	{
	
	
	if (className == 'art_bar')
	{
		if (current_letter)
		{
			if (e != current_target)
			{
				// SET THE OLD MENU BACK TO 20 AND DISPLAY NONE
				var temp = document.getElementById('menu_holder_'+current_letter);
				blend_menu_finish('menu_holder_'+current_letter);
				//temp.style.display = 'none';
				//temp.style.height = 20;
				
				// STOP AND ROLL UP THE CURRENT MENU
				//window.clearInterval(menu_foo);
				
				// SET A NEW current_target
				current_target = e;
			}
		}
		
		
		var letter = e;
		letter = letter.substring(11);
		current_letter = letter;
		
		var menu_id = 'menu_holder_'+letter;
		var menu = document.getElementById(menu_id);
		
		if (menu.style.display == 'none')
		{
			//menu_show_new(menu_id);
			blend_menu_start(menu_id);
			/*menu.style.display= 'block';
			menu.style.height = 300+'px';*/
		}
	}
	else if (e == 'artist_bar')
	{
		if (current_target)
		{
			var temp = document.getElementById('menu_holder_'+current_letter);
			temp.style.display= 'none';
		}
	}
	
	
	}
	else
	{
		//alert('no');
	}
}

function remove_menu()
{
	if (current_target)
	{
		var temp = document.getElementById('menu_holder_'+current_letter);
		blend_menu_finish('menu_holder_'+current_letter);
		window.clearInterval(pause_ticker);
		window.clearInterval(menu_foo);
		current_target = 0;
		current_letter = 0;
		menu_object = 0;
		delay_check = 0;
		target_check = 0;
	}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// NEW ATTEMPT AT MENU BLEND VERSION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var menu_object;
var menu_object_out;
var menu_to_height;
var menu_to_height_out;
var menu_ticker = 0;
var menu_ticker_out = 0;
var menu_foo;
var menu_foo_out;
var menu_last_time = 0;
var menu_last_time_out = 0;
var menu_duration = 4;
var menu_duration_out = 4;

function blend_menu_start(object)
{
	menu_ticker = 0;
	window.clearInterval(menu_foo);
	set_object(object);
	menu_object.style.opacity = 0.0;
	menu_object.style.display = 'block';
	menu_to_height = 100;
	menu_last_time = new Date().getTime();
	menu_foo = window.setInterval("blend_menu_in()", 1);
}
function blend_menu_finish(object)
{
	if (document.getElementById(object))
	{
	menu_ticker_out = Math.abs(document.getElementById(object).style.opacity)*100;
	}
	//menu_ticker_out = 100;
	//alert(menu_ticker_out);
	window.clearInterval(menu_foo_out);
	if (menu_object_out)
	{
		menu_object_out.style.display = 'none';
	}
	menu_object_out = document.getElementById(object);
	menu_object_out.style.opacity = 1;
	menu_object_out.style.display = 'block';
	menu_to_height_out = 0;
	menu_last_time_out = new Date().getTime();
	menu_foo_out = window.setInterval("blend_menu_out()", 1);
}
function blend_menu_in()
{
	var menu_now = new Date().getTime();
	var menu_time_passed = menu_now - menu_last_time;
	menu_last_time = menu_now;
	var menu_movement = (menu_time_passed / menu_duration);
	
	if (Math.abs(menu_ticker) < Math.abs(menu_to_height))
	{
		if ((Math.abs(menu_ticker) + Math.abs(menu_movement)) > Math.abs(menu_to_height))
		{
			while(Math.abs(menu_ticker)+Math.abs(menu_movement) > Math.abs(menu_to_height))
			{
				menu_movement = menu_movement/2;
			}
			menu_ticker += menu_movement;
			menu_object.style.filter = "alpha(opacity="+menu_ticker+")";
			menu_object.style.opaciity = menu_ticker/100;
		}
		else
		{
			menu_ticker += menu_movement;
			menu_object.style.filter = "alpha(opacity="+menu_ticker+")";
			menu_object.style.opacity = menu_ticker/100;
			//alert(menu_ticker);
		}
	}
	else
	{	
		window.clearInterval(menu_foo);
	}
}
function blend_menu_out()
{
	var menu_now_out = new Date().getTime();
	var menu_time_passed_out = menu_now_out - menu_last_time_out;
	menu_last_time_out = menu_now_out;
	var menu_movement_out = (menu_time_passed_out / menu_duration_out);
	
	if (Math.abs(menu_ticker_out) > Math.abs(menu_to_height_out))
	{
		if ((Math.abs(menu_ticker_out) - Math.abs(menu_movement_out)) < Math.abs(menu_to_height_out))
		{
			while(Math.abs(menu_ticker_out)-Math.abs(menu_movement_out) < Math.abs(menu_to_height_out))
			{
				menu_movement_out = menu_movement_out/2;
			}
			menu_ticker_out -= menu_movement_out;
			//alert(menu_ticker_out);
			menu_object_out.style.filter = "alpha(opacity="+menu_ticker_out+")";
			menu_object_out.style.opaciity = menu_ticker_out/100;
		}
		else
		{
			menu_ticker_out -= menu_movement_out;
			//alert(menu_ticker_out);
			menu_object_out.style.filter = "alpha(opacity="+menu_ticker_out+")";
			menu_object_out.style.opacity = menu_ticker_out/100;
		}
	}
	else
	{	
		window.clearInterval(menu_foo_out);
		menu_object_out.style.display = 'none';
	}
}



///////////////////////////////////////////////
/// function to change any given section
///////////////////////////////////////////////
function change(str, str2){
    var xmlHttp = GetXmlHttpObject();
    var toChange = str;
    var element1;
    xmlHttp.open("GET", str2, true);
    xmlHttp.onreadystatechange=function(){
        if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
            		element1 = document.getElementById(str);
			element1.innerHTML=xmlHttp.responseText;
		}
    }
    xmlHttp.send(null);
}

///////////////////////////////////////////////
/// function to select the correct xmlHttp style and allocate it
///////////////////////////////////////////////
function GetXmlHttpObject(){ 
    var objXmlHttp=null;

    if (navigator.userAgent.indexOf("Opera")>=0){
        alert("This example doesn't work in Opera");
        return;
    }

    if (navigator.userAgent.indexOf("MSIE")>=0){ 
		try 
		{
			objXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e)
			{
				alert('You may have activeX disabled');
			}
		}
		return objXmlHttp;
    }
    
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		objXmlHttp=new XMLHttpRequest();
		return objXmlHttp;
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// SELECT A TRACK LINE
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function select_track(id, price)
{
	var action;
	var line = document.getElementById(id);
	var tds = line.getElementsByTagName('td');
	
	for (i = 0; i < tds.length; i++)
	{
		if (tds[i].className == 'unselected_line')
		{
			line.setAttribute('class', 'selected_line');
			line.setAttribute('className', 'selected_line');
			
			tds[i].setAttribute('class', 'selected_line');
			tds[i].setAttribute('className', 'selected_line');
			// Select This Track
			if (tds[i].innerHTML == '<b>Click here</b> to add track to basket')
			{
				tds[i].innerHTML = '<b>Click here</b> to remove track';
				//Deselect This Track
			}
			else if (tds[i].innerHTML == '<div class="tick_spacer"></div>')
			{
				tds[i].innerHTML = "<div class='selected_track_tick'></div>";
			}
			action = 'add';
		}
		else
		{
			line.setAttribute('class', 'unselected_line');
			line.setAttribute('className', 'unselected_line');
			
			tds[i].setAttribute('class', 'unselected_line');
			tds[i].setAttribute('className', 'unselected_line');
			if (tds[i].innerHTML == '<b>Click here</b> to remove track')
			{
				tds[i].innerHTML = '<b>Click here</b> to add track to basket';
				//Select This Track
			}
			else if (tds[i].innerHTML == '<div class="selected_track_tick"></div>')
			{
				tds[i].innerHTML = '<div class="tick_spacer"></div>';
			}
			action = 'remove';
		}
	}
	
	if (action == 'add')
	{
		add_to_track_total(price);
	}
	else
	{
		remove_from_track_total(price);
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// FUNCTIONS TO TOTAL UP SELECTED TRACKS
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var tracks_total = 0;
function add_to_track_total(price)
{
    change('tracks_total', 'price_update.inc.php?price='+price);
	/*tracks_total += price;
	var total = document.getElementById('tracks_total');
	if (total)
	{
		total.innerHTML = "&pound; "+tracks_total;
	}*/
}

function remove_from_track_total(price)
{
    change('tracks_total', 'price_update.inc.php?remove=yes&price='+price);
	tracks_total -= price;
	/*var total = document.getElementById('tracks_total');
	if (total)
	{
		total.innerHTML = "&pound; "+tracks_total;
	}*/
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// FUNCTIONS TO ADD PRODUCTS TO THE BASKET
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function add_to_basket(id, type)
{
	basket_execute('basket/basket.prc.php?id='+id+'&type='+type);
}
function basket_execute(str)
{
	var xmlHttp = GetXmlHttpObject();
	xmlHttp.open("GET", str, true);
	xmlHttp.onreadystatechange=function()
	{
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			basket_execute_callback(xmlHttp);
		}
	}
	xmlHttp.send(null);
}
function basket_execute_callback(xmlHttp)
{
	if (xmlHttp.responseText == 'true')
	{
		//alert('ok');
	}
	else if (xmlHttp.responseText == "no stock true")
	{
	    alert('Sorry, this product is out of stock.');
	}
	else
	{
		alert(xmlHttp.responseText);
	}
	if (document.getElementById('basket_holder'))
	{
		change('basket_holder', 'basket/basket.php');
	}
	else
	{
		location="checkout.php";
	}
}
function basket_execute_tracks()
{
	var params = "?type=tracks";
	var line = document.getElementById('track_list_table');
	var trs = line.getElementsByTagName('tr');
	
	for (i = 0; i < trs.length; i++)
	{
		if (trs[i].className == 'selected_line')
		{
			if (params != "")
			{
				params += "&";
			}
			
			params += 'tracks[]' + '=' + trs[i].id;
		}
	}
	var xmlHttp = GetXmlHttpObject();
	
	var path = 'basket/basket.prc.php';
	xmlHttp.open('POST', path, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	
	xmlHttp.onreadystatechange= function()
	{
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			basket_execute_callback(xmlHttp);
		}
	}
	xmlHttp.send(params);
}
function remove_track(id)
{
	basket_execute('basket/basket.prc.php?remove_track='+id);
}
function remove_album(position)
{
	basket_execute('basket/basket.prc.php?remove_album='+position);
}
function remove_all_tracks(id)
{
	basket_execute('basket/basket.prc.php?remove_all_tracks='+id);
}
function remove_product(id, attribute)
{
	//var attribute = f.attribute.value;
	basket_execute('basket/basket.prc.php?remove_product='+id+'&attribute='+attribute);
}
function add_product_to_basket(id, f)
{
	var attribute = f.attribute.value;
	var attribute_name = f.attribute.options[f.attribute.selectedIndex].text;
	basket_execute('basket/basket.prc.php?add_product='+id+'&attribute='+attribute+'&attribute_name='+attribute_name);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AJAX SEARCH CODE
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var count = 1;
var current;
var last;
var past;
var current_count;
var old_back;
var direction = '';
var next = '';
function search_do(e)
{
	if(document.all)
	{
		//alert(e.type);
		if (e.type == "keyup")
		{
			
    			var whichCode = e.keyCode
		}
	}
   	else
   	{
    		var whichCode = e.which
   	}
   	if ( whichCode == "40" || whichCode == "39" || whichCode == "38" || whichCode == "37" || whichCode == "13")
   	{
   		if(whichCode =="13")
   		{
   			if (document.getElementById('name'+current_count))
   			{
	   			if(document.getElementById('theOptions').style.visibility='visible')
	   			{
					var which = 'name'+current_count;
					var name = document.getElementById('name'+current_count);
					name = name.innerHTML;
					//var id = document.getElementById('id'+current_count).innerHTML;
					var comp_id = document.getElementById('id'+current_count).innerHTML;
					
					document.search_form.compID.value = comp_id;
					document.search_form.compName.value = name;
					document.search_form.submit();
	   			}
   			}
   			else
   			{
   				// sent letters somewhere to pull out all companies matching those letters.
   				ajax_search_enter();
   				/*var letters = document.search_form.compName.value;
   				window.location="full_search.php?&compName="+letters;*/
   			}
   		}
   		else
   		{
	   		if(count == 0)
	   		{
		    		/*var current = document.getElementById('element0');
		    		old_back = current.style.backgroundImage;
		    		//current.style.background='url(images/action_menu_bg_over.png)';
		    		//current.style.background='url(images/action_menu_bg_over.png)';
		    		current.style.color='#000';
		    		current_count = 0;
		    		count++;*/
	   		}
	   		else
	   		{
		   		if(whichCode == "40")
		   		{
		   			if (direction == '')
		   			{
		   				direction = 'down';
		   			}
		   			
		   			if (direction == 'up')
		   			{
		   				count++;
		   				direction = 'down';
		   			}
		   			
		   			next = 'line_'+count;
		   			last = 'line_'+parseInt(count-1);
		   			
		   			if ($(next))
		   			{
		   				$(next).style.backgroundColor = '#505050';
		   				current = count;
		   				count++;
		   			}
		   			if ($(last) && $(next))
		   			{
		   				$(last).style.backgroundColor = '';
		   			}
		   		}
		   		if(whichCode == "38")
		   		{
		   			if (direction == 'down')
		   			{
		   				count--;
		   				direction = 'up';
		   			}
		   			
		   			next = 'line_'+parseInt(count-1);
		   			last = 'line_'+parseInt(count);
		   			
		   			if ($(next))
		   			{
		   				$(next).style.backgroundColor = "#505050";
		   				count--;
		   				current = count;
		   			}
		   			if ($(last) && $(next))
		   			{
		   				$(last).style.background = "";
		   			}
		   		}
	   		}
   		}
   	}
   	else
   	{
   		count=1;
   		direction = '';
   		next = '';
   		var value = document.search_form.compName.value;
   		change('theOptions', 'search_options.php?letters='+value);
   		document.getElementById('theOptions').style.visibility='visible';
   	}
}

function is_enter(e)
{
	if(document.all)
	{
		if (e.type == "keypress")
		{
    			var whichCode = e.keyCode
		}
	}
   	else
   	{
    		var whichCode = e.which
   	}
   	if (whichCode == "13")
   	{
   		return false;
   	}
}

function search_values(name, id)
{
	document.search_form.compID.value = id;
	document.search_form.compName.value = name;
	document.search_form.submit();
}

function ajax_search_enter()
{
	if (next != '')
	{
		if ($(next).className == 'search_result_line_artist')
		{
			var artist_id = $('artist_id_'+current).innerHTML;
			location="artist_page.php?id="+artist_id;
		}
		else if ($(next).className == 'search_result_line_product')
		{
                        var artist_id = $('artist_id_'+current).innerHTML;
                        var album_id = $('album_id_'+current).innerHTML;
                        location="product_details.php?product_id="+album_id+"&id="+artist_id+"";
		}
		else if ($(next).className == 'search_result_line_album')
		{
			var artist_id = $('artist_id_'+current).innerHTML;
			var album_id = $('album_id_'+current).innerHTML;
			location="album_details.php?product_id="+album_id+"&id="+artist_id+"";
		}
		else if ($(next).className == 'search_result_line_track')
		{
			var artist_id = $('artist_id_'+current).innerHTML;
			var album_id = $('album_id_'+current).innerHTML;
			location="album_details.php?product_id="+album_id+"&id="+artist_id+"";
		}
	}
	else
	{
		document.search_form.submit();
	}
}

function form_send(f, path)
{
	var params = '';
	
	// get all form elements
	for (var i = 0; i < f.elements.length; i++)
	{
		if (f.elements[i].type == 'radio')
		{
			if(f.elements[i].checked)
			{
				if (params != "")
				{
					params += "&";
				}
				
				params += encodeURIComponent(f.elements[i].name)
				+ '=' + encodeURIComponent(f.elements[i].value);
			}
		}
		else
		{
			if (f.elements[i].name)
			{
				if (params != "")
				{
					params += "&";
				}
				
				params += encodeURIComponent(f.elements[i].name)
				+ '=' + encodeURIComponent(f.elements[i].value);
			}
		}
	}
	
	var xmlHttp = GetXmlHttpObject();
	
	xmlHttp.open('POST', path, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	
	xmlHttp.onreadystatechange= function()
	{
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{	
			var the_response = xmlHttp.responseText;
			if(the_response == "true")
			{
				// show confirmation that the form has been sent
				$('result').innerHTML = 'Your form has been sent.';
				
			}
			else if (the_response == "true create account")
			{
			    // put the redirect info here
			}
			else if (the_response == "true new_account")
			{
			    location="my_account.php";
			}
			else
			{
				$('result').innerHTML = the_response;
				alert(the_response);
				// show error message
			}
		}
	}
	
	xmlHttp.send(params);
	return false;
}

function launch_preview(path, place)
{
    var temp = 'preview_'+place;
    var obj = document.getElementById(temp);
    if (obj.innerHTML == 'Start Preview')
    {
        change('track_preview_holder', path);
        obj.innerHTML = "Stop Preview";
    }
    else
    {
        change('track_preview_holder', 'play_preview.php');
        obj.innerHTML = "Start Preview";
    }
}

function image_preview(name, thumb_id)
{
    // set the preview box to the top right of the thumbnail
    var thumb = document.getElementById(thumb_id);
    var left = findPosX(thumb);
    if (thumb_id == 'main_image')
    {
        var right = left + 207;
    }
    else
    {
        var right = left + 43;
    }
    var top = findPosY(thumb);
    
    var image_preview = document.getElementById('image_preview');
    if (document.all)
    {
        image_preview.style.left = parseInt(right);
    }
    else
    {
        image_preview.style.left = parseInt(right)+'px';
    }
    
    var path = 'images/artist_images/photos/'+name;
    
    var im_obj = new Image();
    im_obj.src = name;
    var height = im_obj.height;
    if (thumb_id == 'main_image')
    {
        image_preview.style.top = findPosY(thumb)+'px';
    }
    else
    {
        image_preview.style.top = (findPosY(thumb)-(height+20))+'px';
    }
    image_preview.style.display = "block";
    
    if (document.all)
    {
        document.getElementById('image_preview').innerHTML = "<img src='"+name+"' />";
    }
    else
    {
        im_obj.onload = function () { document.getElementById('image_preview').innerHTML = "<img src='"+name+"' />"; }   
    }
}

function hide_image_preview()
{
    var im_obj = document.getElementById('image_preview');
    //im_obj.innerHTML = "<img src='images/loader.gif' />";
    im_obj.style.display = "none";
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// FUCNTION TO FIND THE ABSOLUTE POSITION OF X
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function findPosX(obj)
{
var curleft = 0;
if(obj.offsetParent)
    while(1) 
    {
      curleft += obj.offsetLeft;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
else if(obj.x)
    curleft += obj.x;
return curleft;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// FUCNTION TO FIND THE ABSOLUTE POSITION OF Y
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function findPosY(obj)
{
var curtop = 0;
if(obj.offsetParent)
    while(1)
    {
      curtop += obj.offsetTop;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
else if(obj.y)
    curtop += obj.y;
return curtop;
}

function expand_draw(draw_id, draw_inner_id)
{
    var draw = document.getElementById(draw_id);
    var draw_inner = document.getElementById(draw_inner_id);
    var draw_height = draw.offsetHeight;
    var height = draw_inner.offsetHeight;
    
    if (draw_height < height)
    {
        draw.style.height = height+'px';
    }
    else
    {
        draw.style.height = 0+'px';
    }
}