// JavaScript Document
//HTTP_SERVER = 'http://www.likezebra.com/';

// FUNCTION GET Y of element
function getY( oElement ) {
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

// FUNCTION GET X of element
function getX( oElement ) {
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

// FUNCTION TO GET CURSOR POSITION
function init() {
  if (window.Event) {
    document.captureEvents(Event.MOUSEMOVE);
  }
 return get_x = getXCursor;
  get_y = getYCursor;
}

function getXCursor(e) {
  return x = (window.Event) ? e.pageX : event.clientX;
}

function getYCursor(e) {
  return y = (window.Event) ? e.pageY : event.clientY;
}

var x;
var y;
function getPosition(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    cur_x = cursor.x;
    cur_y = cursor.y;
}




// FUNCTION CREATE A NEW DIV
function creatediv(id, html, width, height, left, top) { 
var newdiv = document.createElement("div");
   newdiv.setAttribute("id", id);
   
   if (width) {
       newdiv.style.width = width;
   }
   
   if (height) {
       newdiv.style.height = height;
   }
   
   if ((left || top) || (left && top)) {
       newdiv.style.position = "absolute";
       
       if (left) {
           newdiv.style.left = left;
       }
       
       if (top) {
           newdiv.style.top = top;
       }
   }
   
   newdiv.style.zIndex = "1000";
   
   if (html) {
       newdiv.innerHTML = html;
   } else {
       newdiv.innerHTML = "nothing";
   }

   document.body.appendChild(newdiv);

	function remove() {newdiv.parentNode.removeChild(newdiv); }
	
	document.onmousemove = getPosition;
	
	document.onmouseover = function ifOffRemove() {
		x = getX(newdiv)+5; // set left value of element
		y = getY(newdiv)+5; // set top value of element
		if(x>cur_x  || y>cur_y || cur_x>(x+newdiv.offsetWidth) || cur_y>(y+newdiv.offsetHeight)) {
			
			setTimeout(function remove() {newdiv.parentNode.removeChild(newdiv); }, 500);
			//alert("x "+cur_x+" height: "+ (this.offsetHeight));
		}	
		
	}
   
} 

function singleNav(link) { // set link for rollover navigation
	var nav_content = '<div class="rollover_nav_wrapper"><b class="rollover_nav_box"><b class="rollover_nav_box1"><b class="rollover_nav_boxborder"></b><b></b></b><b class="rollover_nav_box2"><b></b></b><b class="rollover_nav_box3"></b><b class="rollover_nav_box4"></b><b class="rollover_nav_box5"></b></b><div class="rollover_nav_boxfg">'+link+'</div><b class="rollover_nav_box"><b class="rollover_nav_box5"></b><b class="rollover_nav_box4"></b><b class="rollover_nav_box3"></b><b class="rollover_nav_box2"><b></b></b><b class="rollover_nav_box1"><b class="rollover_nav_boxborder"></b><b></b></b></b></div>';
	return nav_content;
}

function circleLinks(links) { // set link for rollover navigation

	var output='';
	for(var i=0; i<links.length; i++){
		output+=links[i]+"<br />";
	}

	var nav_content = '<div class="multiple_rollover_nav_wrapper"><b class="multiple_rollover_nav_box"><b class="multiple_rollover_nav_box1"></b><b class="multiple_rollover_nav_box4"></b></b><div class="multiple_rollover_nav_boxfg" id="multiple_rollover_nav_boxfg">'+output+'</div><b class="multiple_rollover_nav_box"><b class="multiple_rollover_nav_box4"></b><b class="multiple_rollover_nav_box1"></b></b></div>';
	return nav_content;
}


/******************************************************************************
FUNCTION GET CLASSES
*****************************************************************************/

// get main navigation and popup nav box
function profileTabs(){
	
	$('.profile_tab_wrapper').click(function() {
		$('.profile_tab_wrapper_active').removeClass('profile_tab_wrapper_active');
		$(this).addClass('profile_tab_wrapper_active');
	});
	
	$('.profile_tab_wrapper').hover(function() {
		$(this).addClass('profile_tab_wrapper_over');
		$(this).bind('click', ajaxNav);
	}, function() {
		$(this).removeClass('profile_tab_wrapper_over');
	});
	
}

var love_title = '';
var love_array = new Array;
var love_id = 0;

var playlist_title = '';
var playlist_array = new Array;
var playlist_id = 0;
function in_array (needle, haystack, argStrict) {
 
    var key = '', strict = !!argStrict;
 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
 
    return false;
}


function loadPlaylistChooser(url, playlist_name) {
	$('#playlist_chooser_wrapper').html('<div style="height:90px; width:200px;"><img src="'+HTTP_SERVER+'images/ajax-loader.gif" style="width:130px; margin:0 auto;" /></div>');
	setRequest("playlist_hp_load.php?playlist_name="+playlist_name);
	$("#playlist").load("create_hp_playlist.php?playlist_name="+playlist_name, "", function(){
	  // playlist chooser_wrapper currently commented out on music_player.php
	  // $('#playlist_chooser_wrapper').load(url, function(msg){
			//$('#playlist_chooser_wrapper').html(msg);
	   		musicClasses();
			getPlayerClasses();
		//});
	 });
}


function profileClasses(){
	$('.new_status').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var item_id = $(this).attr('id');

		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;

		var url=HTTP_SERVER+"profile/status_create.php";
		url=url+"?sid="+Math.random();

		link = "<a href='javascript: void(0); ' onclick=\"$('#status_info').load('"+url+"');\">New Status</a>";

		// create the div for editing profile fields
		creatediv("rollover_navigation", singleNav(link), "122px", "20px", x+"px", y+"px")


	}, function(){
		// no mouseout needed								 
	});
	

}

function globalProfileClasses(){
	$('.delete_comment').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var comment_id = $(this).attr('id');

		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;
			
		link = "<a href='javascript: void(0); ' onclick=\"deleteMediaComment('"+comment_id+"');\">Delete Comment</a>";

		// create the div for editing profile fields
		creatediv("rollover_navigation", singleNav(link), "122px", "20px", x+"px", y+"px")


	}, function(){
		// no mouseout needed								 
	});	
}

function statusClasses() {
	$('.edit_status').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var item_id = $(this).attr('id');

		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;

		link = "<a href='javascript:void(0)' onclick='deleteMedia("+item_id+", \"status\")'>Delete Status</a>";

		// create the div for editing profile fields
		creatediv("rollover_navigation", singleNav(link), "122px", "20px", x+"px", y+"px")


	}, function(){
		// no mouseout needed								 
	});

	$('.getFanStatusComment').click(function(){
		// find the class named the same as the id of the button and slide down
		var id = $(this).attr('id');
		$('.'+id).slideDown();
	});

} 

function setAt(id, track_id, playlist, text) {
	$("#"+id).attr("id", track_id+"-"+playlist+"-"+text);
}

function setAt2(id, track_id, text) {
	$("#"+id).attr("id", track_id+"-"+text);
}

function musicClasses(){


	$('.playlist_chooser_menu').hover(function(){

		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}
		
		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;
		
		item_id  = $(this).attr('id');

		var url=HTTP_SERVER+"playlist_chooser.php";
		url=url+"?sid="+Math.random();

		links_array = new Array(
			"<a href=\"javascript:void(0);\" onclick=\"loadPlaylistChooser('"+url+"&playlist_title=Popular&track_total=10&date_created=&playlist_image=PopularButton-Static.png','random-10-playlist.xml')\";>Popular</a>",
			"<a href=\"javascript:void(0);\" onclick=\"loadPlaylistChooser('"+url+"&playlist_title=Top%2010&track_total=10&date_created=&playlist_image=Top10Button-Static.png','top-10-playlist.xml')\";>Top 10</a>",
			"<a href=\"javascript:void(0);\" onclick=\"loadPlaylistChooser('"+url+"&playlist_title=Top%20Downloads&track_total=10&date_created=&playlist_image=DownloadsButton-Static.png','top-downloaded-playlist.xml')\";>Top Downloads</a>",
			"<a href=\"javascript:void(0);\" onclick=\"loadPlaylistChooser('"+url+"&playlist_title=Most%20Loves&track_total=10&date_created=&playlist_image=LoveButton-Static.png','top-loves-playlist.xml')\";>Most Loves</a>"
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "auto", x+"px", y+"px");
		var pixel = document.getElementById('multiple_rollover_nav_boxfg').offsetHeight;
			document.getElementById('multiple_rollover_nav_boxfg').style.height = pixel+'px';
		
		
	}); 	

	$('.track_options').hover(function(){		   
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var elem = $(this).attr('id');

		//x = getX(this)-100; // set left value of element
		//y = getY(this)-5; // set top value of element

		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;

		get_attributes = elem.split('-');
		
		media_id = get_attributes[0];
		get_playlist_title = get_attributes[1];
		get_love_title = get_attributes[2];
		allow_download = get_attributes[3];
		ringtone_id = get_attributes[4];
		user_type = get_attributes[5];
		
		links_array = new Array();

		if(user_type==''){
			love_link = "<a href='javascript: void(0); ' onclick=\"alert('Please login to love this.')\">Love This Track</a>";
		} else if( in_array(media_id, love_array) || get_love_title=='Loved') {
			love_link = "<a href='javascript: void(0); ' \"><img src='"+HTTP_SERVER+"images/Loves-icon.png' /> Loved</a>";
		} else {
			love_link = "<a href='javascript: void(0); ' onclick=\"loveMedia('"+media_id+"', 'music'); love_array["+love_id+"] = '"+media_id+"'; love_id++; love_title = ' Loved'; this.innerHTML = love_title; addIcon(this); \">"+get_love_title+"</a>";
		}
		
		// if user is an artist then they can't create playlists
		if(user_type == 'fan') {
			if( in_array(media_id, playlist_array) ) {
				playlist_link = "<a href='javascript: void(0);' onclick=\"addToPlaylist('"+media_id+"'); playlist_array["+playlist_id+"] = '"+media_id+"'; playlist_id++; playlist_title = 'In Playlist'; this.innerHTML = playlist_title;\">In Playlist</a>";
			} else {
				playlist_link = "<a href='javascript: void(0);' onclick=\"addToPlaylist('"+media_id+"'); playlist_array["+playlist_id+"] = '"+media_id+"'; playlist_id++; playlist_title = 'In Playlist'; this.innerHTML = playlist_title; \">"+get_playlist_title+"</a>";
			}
		} else {
			playlist_link = '';	
		}
		
		if(allow_download == 1) {
			download_link = "<a href='"+HTTP_SERVER+"download_track.php?media_id="+media_id+"'>Download this</a>";
			//download_link = "<a href='javascript: void(0); ' onclick=\"recordDownload('"+media_id+"');\">Download this</a>";
		} else {
			download_link = "";
		}
		
		links_array[0] = love_link;
		if(playlist_link != '') {
			links_array[1] = playlist_link;
			array_no = 0;
		} else {
			array_no = -1;
		}
		
		if(user_type=='' && download_link=='') {
			links_array[2+array_no] = "<a href='javascript: void(0); ' onclick=\"alert('Please login to comment.')\">Comment</a>";
			links_array[3+array_no] = "<a href='javascript: void(0); ' onclick=\"openShareMedia('"+media_id+"', 'track');\">Share this</a>";
			links_array[4+array_no] = "<a href='javascript: void(0); ' onclick=\"alert('Please login to download ringtone.');\">Get Ringtone</a>";
		} else if(user_type=='') {
			links_array[2+array_no] = "<a href='javascript: void(0); ' onclick=\"alert('Please login to comment.')\">Comment</a>";
			links_array[3+array_no] = "<a href='javascript: void(0); ' onclick=\"alert('Please login to download.');  scrollToTop(); $('#login input:eq(1)').css({backgroundColor:'#def'}).focus(); \">Download this</a>";
			links_array[4+array_no] = "<a href='javascript: void(0); ' onclick=\"openShareMedia('"+media_id+"', 'track');\">Share this</a>";
			links_array[5+array_no] = "<a href='javascript: void(0); ' onclick=\"alert('Please login to download ringtone.'); scrollToTop();  $('#login input:eq(1)').css({backgroundColor:'#def'}).focus();  \">Get Ringtone</a>";
		} else if(download_link!="") {
			links_array[2+array_no] = "<a href='javascript: void(0); ' onclick=\"modalWindow('profile/modal/music_comment_iframe.php?track_id="+media_id+"')\">Comment</a>";
			links_array[3+array_no] = download_link;
			links_array[4+array_no] = "<a href='javascript: void(0); ' onclick=\"openShareMedia('"+media_id+"', 'track');\">Share this</a>";
			links_array[5+array_no] = "<a href='javascript: void(0); ' onclick=\"modalWindow('send_ringtone.php?ringtone_id="+ringtone_id+"');\">Get Ringtone</a>";
		} else {
			links_array[2+array_no] = "<a href='javascript: void(0); ' onclick=\"modalWindow('profile/modal/music_comment_iframe.php?track_id="+media_id+"')\">Comment</a>";
			links_array[3+array_no] = "<a href='javascript: void(0); ' onclick=\"openShareMedia('"+media_id+"', 'track');\">Share this</a>";
			links_array[4+array_no] = "<a href='javascript: void(0); ' onclick=\"modalWindow('send_ringtone.php?ringtone_id="+ringtone_id+"');\">Get Ringtone</a>";
		}
	

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "auto", x+"px", y+"px");
		
		var pixel = document.getElementById('multiple_rollover_nav_boxfg').offsetHeight;
		document.getElementById('multiple_rollover_nav_boxfg').style.height = pixel+'px';


	}, function(){												 
		// nothing for mouseout
	});
	
	$('.edit_track').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}


		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;
		
		var item_id = $(this).attr('id');
		
		var get_attributes = item_id.split('-');
			
		var track_id = get_attributes[0];
		var widget_text = get_attributes[1];

		var widget_text = document.getElementById('in_widget').innerHTML;
		if(widget_text == 'Remove') {
			var widget_action = "<a href='javascript:void(0)' onclick='setAt2(\""+item_id+"\", "+track_id+", \"Add\"); removeFromWidget("+track_id+");  '>Delete from widget</a>";
		} else {
			var widget_action = "<a href='javascript:void(0)' onclick='setAt2(\""+item_id+"\", "+track_id+", \"Remove\"); addToWidget("+track_id+");'>Add to widget</a>";	
		}
	

		links_array = new Array(
									"<a href='javascript:void(0)' onclick=\"modalWindow('profile/modal/music_update_track.php?track_id="+track_id+"')\">Edit</a>",
									"<a href='javascript:void(0)' onclick='deleteMedia("+track_id+",  \"track\")'>Delete Track</a>",
									widget_action
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "auto", x+"px", y+"px")
		
		var pixel = document.getElementById('multiple_rollover_nav_boxfg').offsetHeight;
		document.getElementById('multiple_rollover_nav_boxfg').style.height = pixel+'px';

	}, function(){
		// no mouseout needed								 
	});
	
	$('.edit_audio_album').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var item_id = $(this).attr('id');

		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;

		var url=HTTP_SERVER+"profile/handlers/music_album_edit.php?item_id="+item_id;
		url=url+"&sid="+Math.random();

		links_array = new Array(
									"<a href='javascript:void(0)' onclick=\"$('#album_name').load('"+url+"')\">Edit</a>",
									"<a href='javascript:void(0)' onclick=\"modalWindow('profile/modal/music_update_art.php?playlist_id="+item_id+"')\">Change Playlist Art</a>",
									"<a href='javascript:void(0)' onclick='deleteMedia("+item_id+",  \"playlist\")'>Delete Playlist</a>"
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "20px", x+"px", y+"px")

	}, function(){
		// no mouseout needed								 
	});
	
	$('.track_unit_wrapper').hover(function(){
		$(this).addClass('track_unit_wrapper_over');			
		$(this).removeClass('track_unit_wrapper');	
			$(this).contents().find(".track_options").attr("src", HTTP_SERVER+'images/GCircle_Icon-Active.png');			
	}, function(){
		$(this).removeClass('track_unit_wrapper_over')	;									
		$(this).addClass('track_unit_wrapper');	
			$(this).contents().find(".track_options").attr("src", HTTP_SERVER+'images/WCircle_Icon-Inactive.png');		
	});


	$('.track_unit_wrapper').click(function(){

		$('.track_unit_wrapper_active').removeClass('track_unit_wrapper_active');
		$(this).addClass('track_unit_wrapper_active');
		url = "profile/handlers/music_get_track.php?item_id="+this.id;
		$('#song_info').load(url, function(){								   
			globalProfileClasses();
		});
	});
	
	
	$('.fan_track').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		
		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;
		
		var item_id = this.id;
		
		var get_attributes = item_id.split('-');
		
		
		var track_id = get_attributes[0]; // track id
		var playlist = get_attributes[1]; // playlist id
		var widget_text = get_attributes[2]; // in widget

		
		//var widget_text = document.getElementById('in_widget').innerHTML;
		if(widget_text == 'Remove') {
			var widget_action = "<a href='javascript:void(0)' onclick='setAt(\""+item_id+"\", "+track_id+", "+playlist+", \"Add\"); removeFromWidget("+track_id+");  '>Delete from widget</a>";
		} else {
			var widget_action = "<a href='javascript:void(0)' onclick='setAt(\""+item_id+"\", "+track_id+", "+playlist+", \"Remove\"); addToWidget("+track_id+");'>Add to widget</a>";	
		}
		
		//alert(item_id+' :: '+playlist);
		//alert($(this).attr('class'));
		links_array = new Array(
		"<a href='javascript:void(0)' onclick='deletePlaylistTrack("+track_id+", "+playlist+");'>Remove Track</a>",
		widget_action
		);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "auto", x+"px", y+"px")
		
		var pixel = document.getElementById('multiple_rollover_nav_boxfg').offsetHeight;
		document.getElementById('multiple_rollover_nav_boxfg').style.height = pixel+'px';
		

		//link = "<a href='javascript:void(0)' onclick='deletePlaylistTrack("+item_id+", "+playlist+")'>Remove Track</a>";

		// create the div for editing profile fields
		//creatediv("rollover_navigation", singleNav(link), "122px", "20px", x+"px", y+"px")

	}, function(){
		// no mouseout needed								 
	});
}




function photoClasses(){
	$('.edit_photo').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").slideUp('fast').remove();
		}
		var item_id = $(this).attr('id');
		var username = $("#username").val();
		
		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;
		
		//var url=HTTP_SERVER+"profile/photos_manage.php?item_id="+item_id+"&sid="+Math.random();
		//alert(url);
		links_array = new Array(
									"<a href='javascript:void(0)' onclick='pageload(\"profile/"+username+"/photo_edit/item_id="+item_id+"\")'>Edit</a>",
									"<a href='javascript:void(0);' onclick='deleteMedia("+item_id+", \"photo\")'>Delete Photo</a>"
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "20px", x+"px", y+"px");

	}, function(){
		// no mouseout needed								 
	});
	
	$('.edit_photo_album').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}
		var album_id = $(this).attr('id');
	
		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;
		
		var url=HTTP_SERVER+"profile/handlers/album_edit.php?item_id="+album_id+"&sid="+Math.random();
		
		links_array = new Array(
									"<a href='javascript:void(0)' onclick=\"$('#album_name').load('"+url+"');\">Edit</a>",
									"<a href='javascript:void(0);' onclick='deleteMedia("+album_id+",  \"album\")'>Delete Album</a>"
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "20px", x+"px", y+"px")

	}, function(){
		// no mouseout needed								 
	});

}

function blogClasses(){
	
	setMediaVideos();
	
	$('.edit_blog').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var item_id = $(this).attr('id');

		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;
		
		var username = $("#username").val();
		
		links_array = new Array(
									"<a href='javascript:void(0)' onclick='pageload(\"profile/"+username+"/blog-create/item_id="+item_id+"\")'>Edit</a>",
									"<a href='javascript:void(0);' onclick='deleteMedia("+item_id+",  \"blog\")'>Delete Blog</a>"
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "20px", x+"px", y+"px")

	}, function(){
		// no mouseout needed								 
	});
	
	hiddenPage();
}

function accountClasses(){
	// get classes for editing general info
	$('.retrieve_account_info').click(function(){
		page = this.id;
		page_content = page+"_content";		
		page = HTTP_SERVER+"profile/handlers/update-profile.php?profile_header="+page
		$("#"+page_content).load(page, function() {  accountClasses(); });
	})
	
	// get classes for editing general info
	$('.edit_account').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var item_id = $(this).attr('id');

		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;

		var url=HTTP_SERVER+"profile/handlers/edit_profile.php"
		url=url+"?page="+item_id
		url=url+"&sid="+Math.random()			
		// create the div for editing profile fields
		creatediv("rollover_navigation", singleNav("<a href='javascript: void(0); ' onclick=\"$('#"+item_id+"_content').load('"+url+"', function() { accountClasses(); }); \">Edit</a>"), "122px", "20px", x+"px", y+"px");
		
	}, function(){
		// no mouseout needed										
	});
}

function eventClasses(){
	$('.edit_event').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var item_id = $(this).attr('id');

		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;

		var username = $("#username").val();
		links_array = new Array(
									"<a href='javascript:void(0)' onclick='pageload(\"profile/"+username+"/event-create/item_id="+item_id+"\")'>Edit</a>",
									"<a href='javascript:void(0);' onclick='deleteMedia("+item_id+",  \"event\")'>Delete Event</a>"
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "20px", x+"px", y+"px")

	}, function(){
		// no mouseout needed								 
	});
	
	hiddenPage();
}


function videoClasses(){
	setMediaVideos();

	$('.change_video_thumb').click(function(){
		var id = $("#video_id").val();
		modalWindow('profile/modal/video_upload_2.php?video_id='+id);
	});
	
	$('.edit_video').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}
	
		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;
		
		var item_id = $(this).attr('id');
		var username = $("#username").val();

		links_array = new Array(
									"<a href='javascript:void(0)' onclick='pageload(\"profile/"+username+"/video-edit/item_id="+item_id+"\")'>Edit</a>",
									"<a href='javascript:void(0);' onclick='deleteMedia("+item_id+", \"video\")'>Delete Video</a>"
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "20px", x+"px", y+"px");

	}, function(){
		// no mouseout needed								 
	});
		
	
	$('.edit_video_album').hover(function(){
		// if this div already exists then remove it
		if($('#rollover_navigation').is(':visible')) {
			$("#rollover_navigation").remove();
		}

		var album_id = $(this).attr('id');
		
		var off = $(this).offset();
		x = off.left-100;
		y = off.top-5;

		var url=HTTP_SERVER+"profile/handlers/album_edit.php?item_id="+album_id+"&sid="+Math.random();

		links_array = new Array(
									"<a href='javascript:void(0)' onclick=\"$('#album_name').load('"+url+"');\">Edit</a>",
									"<a href='javascript:void(0);' onclick='deleteMedia("+album_id+",  \"album\")'>Delete Album</a>"
									);

		// create the div for editing profile fields
		creatediv("rollover_navigation", circleLinks(links_array), "122px", "20px", x+"px", y+"px")

	}, function(){
		// no mouseout needed								 
	});
}

function hiddenPage(){
	$('.hidden_page').click(function(){
		// need the hidden input field to get username
		var username = $("#username").val();
		
		// rel attribute will hold the profile page we are requesting
		var page = $(this).attr("rel");
		//alert(username+" "+page)
		pageload("profile/"+username+"/"+page);
	});
}

// edit textareas
/*function editPage(id) {
	copy_txt = document.getElementById(id+'_content').innerHTML;
	new_copy = copy_txt.replace(/<br>/g, "\n");
	element_id = id+'_info';
	document.getElementById(id+'_content').innerHTML = '<form id="profile_update_form" name="profile_update_form" method="post" action="update-profile.php" onSubmit="return getForm(\'profile_update_form\', element_id);"><table cellspacing="1" cellpadding="1" border="0" class="signup profile_text_area"><tbody><tr><td valign="top"><textarea id="'+id+'" name="'+id+'">'+new_copy+'</textarea></td></tr><tr><td align="right"><input type="image" class="profile_submit" name="submit" src="../images/Update-Button.png" /></td></tr></tbody></table></form>';
}*/

// adding Love Icon to rollover menu when Love is clicked
function addIcon(inner) {
	love_icon = new Image(); 
	love_icon.src = HTTP_SERVER+'images/Loves-icon.png'; 
	inner.insertBefore(love_icon, inner.firstChild);
}



/***********************************************************************************************
COMMON AJAX FUNCTIONS
***********************************************************************************************/
// get response text from ajax call and call getclass to activate edit buttons in response text
function handleUpdate(req, id) { 
		document.getElementById(id).innerHTML=req.responseText;
}

// submit form to update-profile.php and call doFunc to handle response
function submitForm(url, doFunc, id) {
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}

	xmlHttp.onreadystatechange=function() { 
		if (xmlHttp.readyState==4) {
			if (xmlHttp.status==200) {
					doFunc(xmlHttp, id);
			}
		}
   }
	
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}


/***********************************************************************************************
EDIT PAGE AND FORM FUNCTIONS
***********************************************************************************************/
// get elements from form
function getForm(formname, page, element_id) {
	var form_obj = document.forms[formname];
	//alert(document.forms[formname].elements[0].id);
	
	var url_append='';
	for(i=0; i<form_obj.elements.length; i++){
		// if the element is the genres list, then grab all of the option values and put them into a string
		if(form_obj.elements[i].name == 'genre_user_list') { 
			
			var genre_list='';
			for(j=0; j<form_obj.genre_user_list.options.length; j++) {
				genre_list += form_obj.genre_user_list.options[j].value+',';	
			}
			genre_list = genre_list.substring(0, genre_list.length-1);
			
			url_append += form_obj.elements[i].name+'='+escape(genre_list)+'&';
			
		} else if(form_obj.elements[i].name == 'artists_list') {
			
			var artist_i_list='';
			for(j=0; j<form_obj.artists_list.options.length; j++) {
				artist_i_list += form_obj.artists_list.options[j].value+';';	
			}
			artist_i_list = artist_i_list.substring(0, artist_i_list.length-1);
			
			url_append += form_obj.elements[i].name+'='+escape(artist_i_list)+'&';
			
		} else if(form_obj.elements[i].name == 'songs_list') {
			
			var song_i_list='';
			for(j=0; j<form_obj.songs_list.options.length; j++) {
				song_i_list += form_obj.songs_list.options[j].value+';';	
			}
			song_i_list = song_i_list.substring(0, song_i_list.length-1);
			
			url_append += form_obj.elements[i].name+'='+escape(song_i_list)+'&';
			
		} else {
			url_append += form_obj.elements[i].name+'='+escape(form_obj.elements[i].value)+'&';
		}
		
	}
	
	
	var url=HTTP_SERVER+"profile/handlers/"+page+".php"
	url=url+"?"+url_append
	url=url+"sid="+Math.random()
	//alert(url);
//	element_id = element_id+'_content';
	
	$("#"+element_id+"_content").load(url, function(){
		accountClasses();					 
	});
	
	//submitForm(url, handleUpdate, element_id);
	
	return false;
}


// get page id to send to edit profile
/*  commented out 12-30-09
function editAccount(page) {

	var url=HTTP_SERVER+"edit_profile.php"
	url=url+"?page="+page
	url=url+"&sid="+Math.random()
	element_id = page+'_content';
	
	$('#'+element_id).load(url);
	
	//submitForm(url, handleUpdate, element_id);
	
	return false;
}
*/
/* commented out 12-30-09
function editMedia(url, item_id) {
	var url=HTTP_SERVER+url;
	url = url+"?item_id="+item_id;
	url=url+"&sid="+Math.random();
	//alert(url);
	submitForm(url, handleUpdate, 'profile_content')
}
*/
/***********************************************************************************************
BAND MEMBER FUNCTIONS
***********************************************************************************************/
var newId = 1;
function addNewMember() {
	
	if(newId>9) {
		alert("You can only add ten band members at a time");
	}
	else {
		var newMemberDiv = "<div id='new"+newId+"' style='padding-bottom:4px;'><input type='text' name='newname"+newId+"'> <input type='text' name='newrole"+newId+"'> <a href='javascript:deleteNewMember("+newId+")'>delete</a></div>";
		
		newId = newId + 1;
		
		document.getElementById('bandMemberList').innerHTML += newMemberDiv; 
	}
}

function deleteNewMember(id) {
	document.getElementById('new'+id).style.display = 'none';
}

function deleteMember(id) {
	if(window.confirm("Are you sure you want to delete this band member? This cannot be undone!")) {
		delName = document.getElementsByName('name'+id);
		delRole = document.getElementsByName('role'+id);
		
		delName[0].value = "";
		delRole[0].value = "";
		
		document.getElementById('member'+id).style.display = 'none';
	}
}

/***********************************************************************************************
LOAD PAGE FUNCTION
***********************************************************************************************/
function loadPage(page) {
	$('#profile_content').load(HTTP_SERVER+page);
	//submitForm(HTTP_SERVER+page, handleUpdate, 'profile_content');
	return false;
}


/***********************************************************************************************
FUNCTIONS FOR SELECT BOXES
***********************************************************************************************/
function moveoutid(from_id, to_id) {
	var sda = document.getElementById(from_id);
	var len = sda.length;
	var sda1 = document.getElementById(to_id);
	for(var j=0; j<len; j++) {
		
		if(sda[j].selected) {
			var tmp = sda.options[j].text;
			var tmp1 = sda.options[j].value;
			sda.remove(j);
			j--;
			var y=document.createElement('option');
			y.text=tmp;
			y.value=tmp1;
			try {
				sda1.add(y,null);
			}
			catch(ex) {
				sda1.add(y);
			}
		}
	} // end for loop
	
} // end moveoutid


function moveinid(from_id, to_id)
{
	var sda = document.getElementById(to_id);
	var sda1 = document.getElementById(from_id);
	var len = sda1.length;
	for(var j=0; j<len; j++)
	{
		if(sda1[j].selected)
		{
			var tmp = sda1.options[j].text;
			var tmp1 = sda1.options[j].value;
			sda1.remove(j);
			j--;
			var y=document.createElement('option');
			y.text=tmp;
			y.value=tmp1;
			try
			{
				sda.add(y,null);
			}
			catch(ex)
			{
				sda.add(y);	
			}

		}
	}	
}

// move from text to select
function moveToSelect(from_id, to_id)
{
	var sda = document.getElementById(from_id);;
	var len = sda.length;
	var sda1 = document.getElementById(to_id);
	var tmp1 = sda.value;
	var y=document.createElement('option');
	y.text=tmp1;
	try
	{sda1.add(y,null); sda.value = '';
	}
	catch(ex)
	{
	sda1.add(y);
	}
}


function setMediaVideos() {
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//  get collection of blogs, events, etc.that have video
	//  this collection will hold the media type and media_id separated by '|' the pipe
	//  ie: blog_123|blog_124 or event_123|event_124
	//  send out info to get video parameters
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	// if the id exists, get video elements
	if($("#div_ids").is("*")) {
		var id_group = $("#div_ids").val();
		$.get(HTTP_SERVER+"profile/handlers/media_get_video.php", {media_info:id_group, sid:Math.random()}, function(response){
								
			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			// response returns all of the values needed to for the video player and send them to the designated div
			//  each grouping of values separated by "||"
			//  ie:  thumb_location|video_location|video_duration|blog_123
			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

			//alert("response: "+response);
			var videos = response.split("||");
			for(var i=0; i<videos.length; i++) {
				var values = videos[i].split("|");
				if (values[1] == "Video Unavailable") {
					$("#"+values[3]).html(values[1]);
				} else {
					var so = new SWFObject("flvPlayer.swf?imagePath="+HTTP_SERVER+values[0]+"&videoPath="+HTTP_SERVER+values[1]+"&autoStart=false&autoHide=false&autoHideTime=5&hideLogo=true&volAudio=60&newWidth=640&newHeight=460&disableMiddleButton=false&playSounds=false&soundBarColor=0x0066FF&barColor=0x0066FF&barShadowColor=0x91BBFB&subbarColor=0xffffff&videoDuration="+values[2]+"", "sotester", "455", "279", "9", "#efefef");
					so.addParam("allowFullScreen", "true");
					so.addParam("wmode", "transparent");
					so.write(values[3]);
				}
			}					
		});
		
	} else {	
		return false; 
	}
}

/////////////////////////////////////////////////////////////
//     FOLLOW USER
/////////////////////////////////////////////////////////////

// used in search pages and profile.php
function followUser(user_id){

	var url=HTTP_SERVER+"/profile/handlers/handle_follow_user.php"
	url=url+"?user_id="+user_id
	url=url+"&sid="+Math.random()

	$.get(url, function(msg){

		// check if peer request is successful
		if(msg==''){
			alert("There was an error processing your request.");	
		} else {
			// found in scripts.js  successMessage(msg, milliseconds)
			successMessage("<h2>You are now following "+msg+"!<h2> <br /><p style='font-size:12px;'>You will now see "+msg+"'s updates on your profile.</p>", 5000);
			
			// profile page div
			$('#fan_button_div').slideUp('fast', function(){
				$('#fan_button_div').html("You are now following!").slideDown();
			});			
	
			// search page div
			$("#request_"+user_id).html("Now Following!");
		}
		
	});
}


/////////////////////////////////////////////////////////////
//     MEDIA FUNCTIONS
/////////////////////////////////////////////////////////////

// create modal iframe and load content //////////////////////////////////////////////////
function modalWindow(page){
	//alert(page);
	var modal = parent.document.createElement('div');
	modal.setAttribute('id', 'invite_wrapper');
	parent.document.body.insertBefore(modal, parent.document.body.firstChild);
	
	parent.document.getElementById("invite_wrapper").innerHTML = '<div id="invite_bg"></div><div id="invite_form_bg"><div id="media_upload_container" style="display:none; position:fixed; width:600px; height:500px; margin:0 auto; top:200px; z-index:200" /><iframe src="'+HTTP_SERVER+page+'" frameborder="0" allowtransparency="true" width="640" height="0" id="media_iframe" /></div></div>';

	var height = $(document).height();
	$('#invite_wrapper').css('height',height);
	$('#invite_wrapper').fadeIn(function(){
		$("#media_upload_container").fadeIn('fast',function(){$('#media_iframe').css("height", "800px")});	
		$('#media_iframe').fadeIn();
		
		// Google Analytics page tracker
		pageTracker._trackPageview(page);
		
	});
	//document.getElementById('invite_wrapper').style.display = 'block';
	return false;
	
}


// close modal window //////////////////////////////////////////////////////////////
function closeUploadMediaWin(){	
	// must hid the modal window before firing pageload
	parent.document.getElementById('invite_wrapper').style.display = 'none';	
}

function getUploadAlbumThumbs(type, page) {
	var album_id = $('#album_id').val();
	if(album_id=="choose")
		return false;
	
	//alert(HTTP_SERVER+'profile/modal/'+type+'_handle_thumbs.php');
	$.get(type+'_handle_thumbs.php', { album_id:album_id, page:page, type:type, sid:Math.random() }, function(msg){
		$('#thumbs_here').html(msg);
		$('#step').html('STEP 2');
	});
}

function getUploadVideoThumbs(type, page) {
	var album_id = document.getElementById('album_id').value;
	if(album_id=="choose")
		return false;

	$.get('blog_handle_thumbs_video.php', { album_id:album_id, page:page, type:type, sid:Math.random() }, function(msg){
		$('#thumbs_here').html(msg);
		$('#step').html('STEP 2');
	});
}

function uploadMediaSelect(type, media_link, media_filename, media_type) {
	// feeding from iframe, so we must call the parent document
	parent.document.getElementById('media_filename').value = media_filename;
	parent.document.getElementById("media_type").value = media_type;

	//display selected media
	if(type=="blog"){
		parent.document.getElementById("media_selected").innerHTML = "<table><tr><td valign='top' width='90'><b>Media Selected:</b></td><td>"+media_link+" <a href='javascript:void(0)' onclick='removeBlogMedia()'>Remove</a></td></tr></table>";
		parent.document.getElementById("media_selected").style.display = 'block';
		//parent.document.getElementById("invite_wrapper").style.display = "none";
	} else if(type=="event") {		
		parent.document.getElementById("media_selected").src = HTTP_SERVER+'thumb.php?path='+media_filename+'&width=104&height=104&crop=.6';	
		//parent.document.getElementById("invite_wrapper").style.display = "none";
	} 
}

function updateNewMedia(url) {
	if($("#profile_content", top.document).is('*'))

	$("#profile_content", top.document).load(url, function(){
		parent.videoClasses();
		parent.globalProfileClasses();
		parent.globalClasses();
	});	
}

function newModalMedia(url) {
	//alert("newModalMedia() in profile_functions being used!! Fix it with jquery.");
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=handleNewMedia
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

function handleNewMedia() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
		//alert(xmlHttp.responseText);
		parent.document.getElementById("profile_content").innerHTML=xmlHttp.responseText ;
		parent.document.getElementById('invite_wrapper').style.display = 'none';
		globalProfileClasses();
	} 
}

function removeBlogMedia() {
	$("#media_selected").html('');
	$("#media_filename").val('');
	$("media_type").val('');
}

function deleteMedia(media_id, media_type) {

	var delete_media = confirm("Are you sure you want to delete this "+media_type+"?")
	if(delete_media) {
		if(media_type=='track')
			document.getElementById(media_id).style.display = 'none';

		$.get("profile/handlers/media_delete.php", {media_id:media_id, media_type:media_type, sid:Math.random()}, function(response){
			//alert(response);																		   
			pageload(response);
		});		
	}
}


function deletePlaylistTrack(item_id, playlist) {

	var delete_media = confirm("Are you sure you want to delete this track from the playlist?")
	if(delete_media) {
		
		$.get(HTTP_SERVER+"profile/handlers/media_delete.php", {media_id:item_id+"|"+playlist, media_type:'playlist_track', sid:Math.random()}, function(response){
			 //alert(response);
			pageload(response);
		});		
	}
}


/********************************************************
// widget functions
********************************************************/

// remove from widget
function removeFromWidget(item_id) {
	alert('This track has been removed from your widget');
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}
	
	var url=HTTP_SERVER+"remove-from-widget.php"
	url=url+"?audio_id="+item_id;
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=handleRemoveFromWidget
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
	//alert("url: "+url);
}

function handleRemoveFromWidget() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		var response = xmlHttp.responseText;
		document.getElementById('in_widget').innerHTML = 'Add';
	} 
}

// add to widget
function addToWidget(item_id) {
	alert('This track has been added to your widget');
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}
	
	var url=HTTP_SERVER+"add-to-widget.php"
	url=url+"?audio_id="+item_id;
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=handleAddToWidget
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
	//alert("url: "+url);
}

function handleAddToWidget() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		var response = xmlHttp.responseText;
		document.getElementById('in_widget').innerHTML = 'Remove';
	} 
}
/********************************************************/

function loveMedia(media_id, media_type) {
	if(media_id=='' || media_type==''){
		alert("There was an error loving this.");
	}else {
		var url=HTTP_SERVER+"profile/handlers/handle_media_love.php"
		url=url+"?media_id="+media_id
		url=url+"&media_type="+media_type;
		url=url+"&sid="+Math.random()
		$.get(url, function(msg){
			if(msg == 'success'){
				$('#loves-'+media_id).html(parseInt($('#loves-'+media_id).html())+1);
				$('#love_button_'+media_id).attr('onclick', '');
			}
		});
	}
}


// handle adding track to playlist ///////////////////////////////////////////////////////////////////
function addToPlaylist(media_id) {
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}
	
	var url=HTTP_SERVER+"profile_handle_add_to_playlist.php"
	url=url+"?media_id="+media_id
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=handleMediaPlaylist
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
	//alert("url: "+url);
}

function handleMediaPlaylist() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		if(xmlHttp.responseText == 'success') {
		}
	} 
}



function getMediaComments(media_id, media_type, page) {
	$('#more_comments').remove();

	var url=HTTP_SERVER+"profile/handlers/handle_media_comment.php"
	url=url+"?media_id="+media_id;
	url=url+"&media_type="+media_type;
	url=url+"&page="+page;
	url=url+"&sid="+Math.random();
	$.get(url, function(msg){
		$('#media_comments').append(msg);
		globalProfileClasses();
	});
}

function deleteMediaComment(comment_id) {
	
	var delete_confirm = confirm("Are you sure you want to delete this comment?")
	if(delete_confirm) {
		var url=HTTP_SERVER+"profile/handlers/handle_media_comment.php"
		url=url+"?comment_id="+comment_id;
		url=url+"&sid="+Math.random();
		$.get(url, function(msg){
			$("#comment_"+msg).slideUp();
			// decrement comment amount
			$('#comment_amount').html(parseInt($('#comment_amount').html())-1);
		});
	} else
		return false;
}

function openShareMedia(media_id, media_type) {
	modalWindow('profile/modal/media_share.php?media_id='+media_id+'&media_type='+media_type);
	return false;
}

function createStatus(form) {
	if(form!='')
		var status = document.forms[form].status.value;
	else
		var status='';
	
	$.get('profile/handlers/handle_status_create.php', {status:status, sid:Math.random()}, function(response){
		var values = response.split("|");
		$('#status_info').html(values[1]);
		pageload('profile/'+values[0]+'/status');
	});

	return false;
}


function friendRequest(id, accept) {
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}

	var url=HTTP_SERVER+"handle_friend_request.php";
	url=url+"?requester_id="+id;
	url=url+"&accept="+accept;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=completeFriendRequest;
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
	//alert("url:"+url);
}

function completeFriendRequest() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
		var response = xmlHttp.responseText
		values = response.split("|");
		var requestDiv = document.getElementById('request-'+values[0]);		
		if(values[1]=='yes')
			requestDiv.innerHTML = "Request Accepted";
		else
			requestDiv.innerHTML = "Request Denied";
	}
}


// end 