var tracktoaddplay;
var currenttrack=0;
var overtemp=0;
var trackslist="";

$(document).ready(function() {
//   	$(document).pngFix();
	var ind=0;
	var playlists=new Array();
	
	$.getJSON("/musichub/ext.php",  { action: "getplaylists", userid: userid }, function(data){
		$.each(data, function(i,item){
			playlists[ind++] = new playlistItem(item.playlistid, item.playlistname);
		});
	});
	
	$(window).scroll(function() {
		$('#alertbox').css('top', $(this).scrollTop() + "px");
	});

	$('body').click(function(event){
		if($(event.target).is('#alertbox')){
//			$(event.target).fadeOut("fast",function(){$(event.target).remove();});
		}else
		if($(event.target).is('.favsbtn')){
			if(userid !=0){
				$.getJSON("/musichub/ext.php",  { action: "addfavorite", userid: userid, trackid: $(event.target).attr("id") }, function(data){
					if(data.ok)
						alertbox("<img src='/musichub/assets/imgs/icon_accept.gif'> "+data.message);
					else
						alertbox("<img src='/musichub/assets/imgs/icon_alert.gif'> "+data.message);
				});
			}else{
				alertbox("<img src='/musichub/assets/imgs/icon_alert.gif'> You have to be logged in to add a favorite");
			}
			return false;
		}else
		if($(event.target).is('.newplaylist')){
			if(userid==0){
				alertbox("<img src='/musichub/assets/imgs/icon_alert.gif'> You have to be logged in to add a playlist");
				return false;
			}
			$('#addplaylist-div').dialog("destroy");
			$('#addplaylist-div').remove();
			$('#content').after('<div id="addplaylist-div"></div>');
			$('#addplaylist-div').load("/musichub/ext.php?action=addplaylist-form&userid=" + userid + "&trackid=" + $(event.target).attr("id"), function(){$("#addplaylist-div").dialog({ 
								modal: false, 
								draggable: true,
								resizable: false,
								width: 350,
								height: 150,
								title: "ADD TO NEW PLAYLIST"
							});
							$('#tracksearch').focus();
						}
			);
			return false;
		}else
		if($(event.target).is('.addtoplaylist')){
			$.getJSON("/musichub/ext.php",  { action: "addtoplaylist", playlistid: $(event.target).attr("id"), trackid: tracktoaddplay }, function(data){
				if(data.ok){
					alertbox("<img src='/musichub/assets/imgs/icon_accept.gif'> "+data.message);
				}else
					alertbox("<img src='/musichub/assets/imgs/icon_alert.gif'> "+data.message);
			});
			return false;
		}else
		if($(event.target).is('.addbtn')){
			if(userid==0){
				alertbox("<img src='/musichub/assets/imgs/icon_alert.gif'> You have to be logged in to add to a playlist");
				return false;
			}
			$('#tooltip').remove();
			$('#addplay').remove();
			$("body").append('<div id="addplay" style="display:none" class="addfavdiv" ><div class="mymsg"></div><div class="mypadding"><div class="myarrow"></div></div></div>');

			tracktoaddplay = $(event.target).attr("id");
			var htmltext = '<a href="#" id="' + tracktoaddplay + '" class="newplaylist addfavdiv">add to new playlist</a><br />';
			for(i=0;i<ind;i++){
				htmltext+='<a href="#" id="' + playlists[i].id + '" class="addtoplaylist addfavdiv">' + playlists[i].name + '</a><br />';
			}
			$(".mymsg").append(htmltext);
			prepare($(event.target),$("#addplay"),ind);
			$("#addplay").bind('mouseleave', function(){
              $('#addplay').remove();
            }); 
			overtemp= -1;
			return false;
		}else
		if($(event.target).is('.infobtn')){
			if($('#moreinfo_'+$(event.target).attr("id")).is(':visible')){
				$(event.target).attr('title','More Info');
				$('.tooltipmsg').html('More Info');
				$('#moreinfo_'+$(event.target).attr("id")).slideUp(100,function(){reloadscrollpane()});
			}else{
				$('.tooltipmsg').html('Hide Info');
				$(event.target).attr('title','Hide Info');
				$('#moreinfo_'+$(event.target).attr("id")).slideDown(100,function(){reloadscrollpane()});
			}

			return false;
		}else
		if($(event.target).is(".playtrack")){
			trackid = $(event.target).attr("id");
			tid = trackid.split("_");
			tid = tid[1];
			callExternalInterface(tid);
//			callPause(tid);
			return false;
		}else
		if($(event.target).is(".dwlbtn")){
			if(userid==0){
				alertbox("<img src='/musichub/assets/imgs/icon_alert.gif'> You have to be logged in to download a track");
				return false;
			}
			alertbox("<img src='/musichub/assets/imgs/icon_accept.gif'> Added to recent downloads.");
			window.open("dwn.php?trackid="+$(event.target).attr("id"),"_blank","height=10,width=10,menubar=no,location=no,status=no");
		}else
		if($(event.target).is(".contactformbtn")){
			$('#contactform-div').dialog("destroy");
			$('#contactform-div').remove();
			$('#content').after('<div id="contactform-div">Please wait... <img src="/musichub/assets/imgs/ajax-load.gif"></div>');
			$("#contactform-div").dialog({ 
						modal: true, 
						draggable: false,
						resizable: false,
						width: 400,
						height: 280,
						title: "CONTACT US"
					});

			$('#contactform-div').load("/musichub/ext.php?action=contact-form");
			return false;
		}
	});
	
	
	$('body').mouseover(function(event){
		if(!$(event.target).is('.addfavdiv')&&!$(event.target).is('.addbtn')&&!$(event.target).is('.mymsg')&&!$(event.target).is('.mypadding')&&!$(event.target).is('.myarrow')){
			if(overtemp==-1){
				$('#addplay').remove();
				overtemp = 0;
			}
		}else
		if($(event.target).is('.addfavdiv')||$(event.target).is('.mymsg')||$(event.target).is('.mypadding')||$(event.target).is('.myarrow')){
			overtemp = -1;
		}
		if($(event.target).is('.trackbutton')){
			if($(event.target).attr("title")!=""){
				$("body").append('<div id="tooltip"><div class="tooltipmsg"></div><div class="tooltippadding"><div class="tooltiparrow"></div></div></div>');
				$(".tooltipmsg").html($(event.target).attr("title"));
				prepare($(event.target),$("#tooltip"),0);
				$(event.target).mouseout(function(){
	
					$('#tooltip').remove();
				});
			}
		}
	});

	$('body').submit(function(event){
		if($(event.target).is('#addplaylist-form')){
			var playlistid='';
			$.getJSON("/musichub/ext.php",  { action: "addplaylist", userid: userid, playlistname: $(event.target[3]).val() }, function(data){
				if(data.ok)
					alertbox("<img src='/musichub/assets/imgs/icon_accept.gif'> Playlist added successfully!");
				else
					alertbox("<img src='/musichub/assets/imgs/icon_alert.gif'> That name alredy exists.");
				playlistid = data.message;

				if($(event.target[1]).attr("name")=="trackid"){
					$.getJSON("/musichub/ext.php",  { action: "addtoplaylist", playlistid: playlistid, trackid: $(event.target[1]).val() }, function(data){
						ind=0;
						$.getJSON("/musichub/ext.php",  { action: "getplaylists", userid: userid }, function(data){
							$.each(data, function(i,item){
								playlists[ind++] = new playlistItem(item.playlistid, item.playlistname);
							});
						});
						if(data.ok){
							alertbox("<img src='/musichub/assets/imgs/icon_accept.gif'> "+data.message);
						}else
							alertbox("<img src='/musichub/assets/imgs/icon_alert.gif'> "+data.message);
					});
				}
				$('#addplaylist-div').dialog("destroy").remove();
			});
			
			return false;
		}else
		if($(event.target).is('#contact-form')){
			$.post("/musichub/ext.php",$(event.target).serialize(), function(data){ 
						$('#contactform-resp-div').empty().html(data).slideDown(100);
						});
			return false;
		}
	});
});


function prepare(jObj, options, nlines)
{
    var $tooltip =  $(options);
    var element = jObj[0];
    var offset = jObj.offset();
    
    var left = offset.left;
    var top = offset.top;
    
    if(options.onShow){
	    options.onShow.call(this, {target:jObj});
	}
	
	if($(window).width()-offset.left <= $tooltip.width()) {
	    left = offset.left;
	}	
	else{
	    left += 5;
	}
	left = offset.left-6;
	toptemp = 15*(nlines+1)+13;
	$tooltip.css({position:'absolute', top:(top-$tooltip.height())+'px', left:left+'px'});
	$('#addplay').show();
};

function prepare2(jObj, options, nlines)
{
    var $tooltip =  $(options);
    var element = jObj[0];
    var offset = jObj.offset();
    
    var left = offset.left;
    var top = offset.top;
    
    if(options.onShow){
	    options.onShow.call(this, {target:jObj});
	}
	
	if($(window).width()-offset.left <= $tooltip.width()) {
	    left = offset.left;
	}	
	else{
	    left += 5;
	}
	left = offset.left-6;
//	toptemp = nlines+10;
	$tooltip.css({position:'absolute', top:(top-toptemp)+'px', left:left+'px', width: '250px'});
	toptemp = $tooltip.height();
	$tooltip.css({position:'absolute', top:(top-toptemp)+'px'});
	$('#addplay').show();
};

function alertbox(text){
	if($("#alertbox").length>0)
		$("#alertbox").remove();
	$("body").append("<div id='alertbox' title='Click to hide'></div>");
	$("#alertbox")
		.css("top",($(this).scrollTop()-50) + "px")
		.css("right",(0) + "px");
//		.css("display","none");
		
	$('#alertbox').html(text);//.slideDown(250);
	$("#alertbox").animate({ 
		top: $(this).scrollTop() +"px"
		}, 250 );

	$("#alertbox").animate({opacity: 1.0}, 3000).fadeOut(250);
};

function alertbox1(text){
	if($("#alertbox").length>0){
		$("#alertbox").append("<br>"+text);
		return false;
	}
	$("body").append("<div id='alertbox' title='Click to hide'></div>");
	$("#alertbox")
		.css("top",($(this).scrollTop()-50) + "px")
		.css("right",(0) + "px");
//		.css("display","none");
		
	$('#alertbox').html(text);//.slideDown(250);
	$("#alertbox").animate({ 
		top: $(this).scrollTop() +"px"
		}, 250 );
};


function playlistItem(id,name){
	this.id = id;
	this.name = name;
}

/*
** Flash Player Functions
*/

function callExternalInterface(myID) {
	/* Call a function registered as miniPlayer in the SWF named miniPlayer. */
	/*	var oFlv = getMovieName1();
	oFlv.callDoPlay(myID); */

	if(currenttrack!=myID){
		$('.pausebtn').removeClass("pausebtn").addClass("playbtn").attr("title","Click to listen");
		$('.busybtn').removeClass("busybtn").addClass("playbtn").attr("title","Click to listen");
		$('#playtrack_'+myID).removeClass("playbtn");
		$('#playtrack_'+myID).addClass("busybtn");
		currenttrack = myID;
		$("#alertbox").remove();
	}
	getMovieName("miniPlayer").callDoPlay(myID);
	/*	var player = document.getElementById('miniPlayer');
	player.callDoPlay(myID);*/
}

/* This utility function resolves the string movieName to a Flash object reference based on browser type. */
function getMovieName(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName]
	}
	else {
		return document[movieName]
	}
}
function callPause(id){
/*	if(currenttrack!=0)
		$('#playtrack_'+currenttrack).removeClass("playbtn");
	currenttrack = id;*/
	$('#playtrack_'+id).removeClass("playbtn");
	$('#playtrack_'+id).removeClass("busybtn");
	$('#playtrack_'+id).addClass("pausebtn");
	$('#playtrack_'+id).attr("title","Click to pause");
	$('.tooltipmsg').html("Click to pause");
}

function callBusy(id){
	$('#playtrack_'+id).removeClass("playbtn");
	$('#playtrack_'+id).removeClass("pausebtn");
	$('#playtrack_'+id).addClass("busybtn");
	$('#playtrack_'+id).attr("title","Click to pause");
	$('.tooltipmsg').html("Click to pause");
}

function callPlay(id){
	$('#playtrack_'+id).removeClass("busybtn");
	$('#playtrack_'+id).removeClass("pausebtn");
	$('#playtrack_'+id).addClass("playbtn");
	$('#playtrack_'+id).attr("title","Click to play");
	$('.tooltipmsg').html("Click to play");
}

function calltracklist(){
	getMovieName("miniPlayer").sendcontexttracks(trackslist);
}