/*
 * shakthi.fm
 */

var popupwin = false;

if (navigator.userAgent.match(/like Mac OS X/i)) {
       window.location = genurl + "lite/";
}


$( function(){
	/* Search Suggest */
	var search_bar = $("#bar_search");
	var search_hints = $("#search_hints");
	var search_hint_offset = search_bar.offset();	
	search_hints.css('left' , search_hint_offset.left + 'px');
	var cur_ind = -1;
	var xhr = false;
	var keyword;
	$("#close_search").click(function(){
		search_hints.hide();
	})
	search_bar.focus(function(){
		search_bar.addClass("focused");
		search_hint_offset = search_bar.offset();	
		search_hints.css('left' , search_hint_offset.left + 'px');
		search_hints.show();
		search_feed = false;
			
	}).keyup(function(e){
		keyword = search_bar.val().toLowerCase();
		if(e.keyCode != 40 && e.keyCode != 38) {
			if(xhr){xhr.abort();}
			var url = genurl+'search/suggest/' + stereolize(keyword);
			search_url = genurl + 'search/all/' + stereolize(keyword);
			xhr = $.getJSON(url , function(data)
			{
				search_feed = data;
				var str = '<ul>';
				for (x in data)
				{
					if(data[x].type == 1){
						itemurl = genurl + 'search/found/' + stereolize(keyword) + '/movie/' + data[x].hash + '/s/';
						itemclass = 'albumitem';
					} else if(data[x].type == 2){
						itemclass = 'artistitem';
						itemurl = genurl + 'search/found/' + stereolize(keyword) + '/artist/' + data[x].hash + '/s/';
					} else {
						itemclass = 'songitem';
						itemurl = genurl + 'search/found/' + stereolize(keyword) + '/song/' + data[x].hash + '/s/';
					}
					str += '<li id="searchItem' + x + '">';
					
					str += '<a href="' + itemurl + '" class = "' + itemclass + '" >';
					str += unescape(data[x].name.toLowerCase().replace(stereolize(keyword) , '<em>' + stereolize(keyword) + '</em>'));
					str += '</a></li>';
				}
				str += '</ul>';
				search_hints.find(".results").html(str);
				cur_ind = -1;
			});
						
		}
		
		
		
	}).keydown(function(e){
		if(e.keyCode == 13){
			window.location.href = search_url;
		}
		if(e.keyCode == 40){
			if(search_feed.length > cur_ind){
				cur_ind++;
			} else {
				cur_ind = 0;
			}
			search_hints.find("li a").removeClass('hover');
			search_hints.find("#searchItem"+cur_ind+" a").addClass('hover');

			if(search_feed[cur_ind].type == 1){
				search_url = genurl + 'search/found/' + stereolize(keyword) + '/movie/' + search_feed[cur_ind].hash + '/s/';
			} else if(search_feed[cur_ind].type == 2){
				search_url = genurl + 'search/found/' + stereolize(keyword) + '/artist/' + search_feed[cur_ind].hash + '/s/';
			} else {
				search_url = genurl + 'search/found/' + stereolize(keyword) + '/song/' + search_feed[cur_ind].hash + '/s/';
			}	
		}
		if(e.keyCode == 38){
			if(0 > cur_ind){
				cur_ind = search_feed.length;
			} else {
				cur_ind--;
			}
			search_hints.find("li a").removeClass('hover');
			search_hints.find("#searchItem"+cur_ind+" a").addClass('hover');
			if(search_feed[cur_ind].type == 1){
				search_url = genurl + 'search/found/' + stereolize(keyword) + '/movie/' + search_feed[cur_ind].hash + '/s/';
			} else if(search_feed[cur_ind].type == 2){
				search_url = genurl + 'search/found/' + stereolize(keyword) + '/artist/' + search_feed[cur_ind].hash + '/s/';
			} else {
				search_url = genurl + 'search/found/' + stereolize(keyword) + '/song/' + search_feed[cur_ind].hash + '/s/';
			}		
		}
		
	})
	
	//Favourite Song
	
	$(".song a.dofaveme").click(function(){
		var btn = $(this);
		var song_id = btn.data("song");
		if(!song_id)
		{
			show_login(true);
		}
		 else 
		{
			$.getJSON(genurl + 'Ajax/fav_song/' + song_id , function(data)
			{
				if(data.success){
					btn.addClass("favourited");
					btn.removeClass("dofaveme");
					btn.html("Favorited");			
				} else {
					alert("An Error Happened");
				}
			})
		}		
		return false;
	});
	
	$(".song a.unfaveme").click(function(){
		var btn = $(this);
		var song_id = btn.data("song");
		var fav_id = btn.data("fav");
		
		$.getJSON(genurl + 'Ajax/unfav_song/' + song_id + '/' + fav_id, function(data)
		{
			
			
			if(data.success){
				btn.parent().parent().parent().parent().slideUp(500);			
			} else {
				alert("An Error Happened");
			}
		})

		return false;
	});
	
		
	$("#overlay").click(function(){
		hide_login();
	});
	
	$(".topwrapper .login").click(function(){
		show_login(false);
		return false;
	})
	
	$(".user_auth").click(function(){
		show_login(true);
		return false;
	})
	
	/*$("a").live('click',function(){
		$(".sitebody").load(this.href + " .sitebody");
		return false;
	})*/
	
	$('#slider').nivoSlider();
	
});
function stereolize(srt){
	srt = srt.replace(/(\/|\\|)/gi,'');
	return escape(srt);
}
function popitup(song)
{
    popupwin=window.open(genurl + 'player/play/' + song,'shakthi_player','height=410,width=520,resizable=0,status=0');
    if (window.focus)
    {
        popupwin.focus()
    }
    return false;
}
function playSelected(){
	var songlist = Array();
	$(".songcheck:checked").each(function(ind,obj){
		songlist.push(obj.value);
	})
	if(songlist.length >= 1){
		song = songlist.join("|");
		popitup(song);
	}
}
function playAll(){
	var songlist = Array();
	$(".songcheck").each(function(ind,obj){
		songlist.push(obj.value);
	})
	song = songlist.join("|");
	popitup(song);
}
function addSelected(){
	$(".songcheck:checked").each(function(ind,obj){
		g_add_Song(obj.value);
	})
}
function addAll(){
	$(".songcheck").each(function(ind,obj){
		g_add_Song(obj.value);
	})
}
function g_add_Song(song_id)
{
    if(!popupwin)
    {
        popupwin = window.open('','shakthi_player');
        if(!popupwin)
        {
            return false;
        }
    }
    popupwin.shakthiPlayer.addSong(song_id);
    if (window.focus)
    {
        popupwin.focus()
    }
    return false;
}

function show_login(showmsg){
	var userauthpanl = $(".userauthpanl");
	var body_width = $("body").width();
	var body_height = $("body").height();
	var window_height = $(window).height();
	
	var login_width = userauthpanl.width();
	var login_Height = userauthpanl.height();
	var overlay = $("#overlay");
	overlay.width(body_width);
	overlay.height(body_height);
	userauthpanl.css("left" , (body_width-login_width)/2 + "px");
	userauthpanl.css("top" , (window_height-login_Height)/2 + "px");
	if(showmsg){
		userauthpanl.find(".happy_warning").show();
	} else {
		userauthpanl.find(".happy_warning").hide();
	}
	overlay.css("opacity", 0.8).fadeIn(200);	
	userauthpanl.css("opacity", 1).fadeIn(300);
}
function hide_login(){
	$("#overlay").fadeOut(200);	
	$(".userauthpanl").fadeOut(100);
}

