//function document.getElementById(v){ return (document.getElementById(v)); }

function trim(v){ return v.replace(/^\s+|\s+$/g,""); }

var imagePath = jQuery("#imgPath").val();

function add(id,link,titl,prov,prov_url,divname,sno){
	var play = '0';
	showlist(divname+'Tab');
	var s = document.getElementById(divname+'Json').innerHTML;
	s = s.replace(/^\s+|\s+$/g,"");
	if(s.length>0){
		s = s.substr(0,s.length-1)+',';
	}
	else{
		play = '1';		
		s = '[';
	}
	s += '{"songId":"'+id+'",';
	s += '"title":"'+titl+'",';
	s += '"provider":"'+prov+'",';
	s += '"provider_url":"'+prov_url+'",';
	s += '"url":"'+link+'"}]';
	document.getElementById('currentListJson').innerHTML =s;
	document.getElementById('currentListCnt').value = (parseInt(document.getElementById('currentListCnt').value)+1);
	populateDiv('currentList','1');
	if(document.getElementById('nowplaying').value == 'currentList'){
		wimpy_addTrack(
		false,
		link,
		'',
		titl,
		id,
		prov
		);
	}
	if(play == '1' && document.getElementById('nowplaying').value == 'none' && divname == 'currentList'){
		loadNplayTrack('1',divname);
	}
	else{
		songstart();
	}
}

function showlist(id){
	var tabob = document.getElementById('musicTab').getElementsByTagName('li');
	for(i=0;i<tabob.length;i++){
		var list = tabob[i].id;
		list = list.substring(0,list.length-3);
		if(tabob[i].id == id){
			document.getElementById(tabob[i].id).className = 'selTab list';
			document.getElementById(list).style.display = 'block';
		}
		else{
			document.getElementById(tabob[i].id).className = 'list';
			document.getElementById(list).style.display = 'none';
		}
	}
}

function loadplayer(){
	clearInterval(music_clr);
	if(typeof(startList)=='undefined')
		var divname = 'popularList';
	else
		var divname = startList;
	
	document.getElementById('musicloader').style.display = 'none';
	showlist(divname+'Tab');	
	showPl();
	
	if(typeof(autoPlayTrackNo)!='undefined'){
		if(autoPlayTrackNo!=0)
			loadNplayTrack(autoPlayTrackNo,divname);
		else
			populateplayer(divname);
	}
	else
		populateplayer(divname);
		
}

function populateplayer(divname){
	document.getElementById('nowplaying').value = divname;
	results = eval(document.getElementById(divname+'Json').innerHTML);
	wimpy_clearPlaylist();
	for(i=0;i<results.length;i++)
	{
		wimpy_addTrack(
		//		(i=='0'?true:false),
		false,
		results[i]['url'],
		'',
		results[i]['title'],
		results[i]['songId'],
		results[i]['provider']
		);
	}
}

function populateDiv(divname,pageNo){
	
	document.getElementById('nowplayingSongBtn').value = 'start';
	var musicVoted	= jQuery('#txtMusicVoted').val();
	var myMusicIDs  = jQuery('#txtMyMusicIDs').val();
	
	var searchPageNo;
	var rpg = 8;
	var results = document.getElementById(divname+'Json').innerHTML;
	
	//var my = document.getElementById('my').value;
	//var myProfile = document.getElementById('myProfile').value;
	var h = '';
	var pltype = '';
	
	if(divname == 'currentList') {
		pltype = 'currentList' ;
		if(document.getElementById('currentListCnt').value<=0){
			h = '<div class="m5 p5 tac musicPadding100" style="background:#F6F3ED;filter:alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;zoom:100%;">You have not added any songs to current playlist yet.<br/><br/>Add songs from the music list at the right. &nbsp;&nbsp;<img src="'+imagePath+'jack/music_player_right_arrow.png" alt="Right arrow" style="margin-bottom:-7px;" /><br/></div>';
			document.getElementById(divname).innerHTML += h;
			return;
		}
	}
	else if(divname == 'popularList') {
		pltype = 'popularList' ;
		/*h+= 	'<div class="p5 musicEvenBg musicMargin20" >';
		h+=			'Listen and Add any of these Popular Songs to your Playlist!';
		h+=		'</div>';*/
	}
	else if(divname == 'bestList') {
		pltype = 'bestList' ;
		/*h+= 	'<div class="p5 musicEvenBg musicMargin20" >';
		h+=			'Listen and Add any of these Popular Songs to your Playlist!';
		h+=		'</div>';*/
	}
	
	
	document.getElementById(divname).innerHTML = '';
	if(pageNo<1) pageNo = 1;

	var total = document.getElementById(pltype+'Cnt').value;
	last = pageNo * rpg;
	start = (parseInt(pageNo)-1) * rpg;
	
	if(results=='') return false;
	else results = eval(results);
	
	var isSongAdded = 0;
	for(i=start;(i<last && i<results.length && results.length>0);i++)
	{
		isSongAdded = 1;
		var onclkply = 'onclick="loadNplayTrack('+(i+1)+',\''+divname+'\')"';
		
		h+= '<div class="p5 musicOddBg musicMargin20" >';
		h+=	'<div class="flLt songName" >';
		h+=	'<div class="flLt">';
		h+=	'<img id="'+i+divname+'playBtn" border="0" src="'+document.getElementById('imgPath').value+'music/avalanche_play.gif" '+onclkply+'/>';
		h+=	'<img id="'+i+divname+'playing" border="0" src="'+document.getElementById('imgPath').value+'music/avalanche_now_playing.gif" style="visibility:hidden;margin-left:-22px" />';
		h+=	'</div>';
		
		h+=	'<a href="javascript:void(0)" style="color:#fff;background:none" '+onclkply+' title = "'+results[i]['title']+'" >'+trimMe(results[i]['title'],0,24)+'</a>';
		h+=	'</div>';
		h+=	'<div class="flRt" >';
		h+=	'<div id="'+i+'addsong'+divname+'" >';

		var pattern = new RegExp(results[i]['songId']);
		if(pattern.test(myMusicIDs)){
                        //Song of Logged In User
                }
                else if(pattern.test(musicVoted)){
                        h+= '<img src="'+document.getElementById('imgPath').value+'bohemia/add_profile_icon_bm.gif" alt="" /><span id="voted'+divname+results[i]["songId"]+'" style="color:#fff;">Voted</span>';
                }
                else{
                        var onclkadd = 'onclick = "vote(\''+results[i]['songId']+'\', \''+results[i]['provider']+'\')"';
                        h+= '<div id="votenow'+divname+results[i]["songId"]+'"><a style="background:none;color:#fff;" href="javascript:void(0);" '+onclkadd+' >Vote Now</a></div>';
                        h+= '<div id="votestatus'+divname+results[i]["songId"]+'" style="display:none"></div>';
                }

		h+=	'</div>';
		h+=	'<div id="'+i+'addedsong'+divname+'" style="display:none">';
		h+=	'<img src="'+document.getElementById('imgPath').value+'bohemia/add_profile_icon_bm.gif"  alt="" />&nbsp;&nbsp;Song Added&nbsp;&nbsp;&nbsp;';
		h+=	'</div>';


		h+=	'</div>';
		h+=	'<div class="clearAll" ></div>'
		for (j in results[i]){
			h += '<input type="hidden" id = "'+i+pltype+j+'_'+results[i]['songId']+'" value="'+results[i][j]+'">';
		}
		h+= '</div>';
		document.getElementById(divname).innerHTML += h;
		h= '';

	}
	var lp = Math.ceil(total/rpg);
	var pp = parseInt(pageNo) - 1;
	var np = parseInt(pageNo) + 1;
	var onclick = 'populateDiv(\''+divname+'\',';
	
	h = '';
	if(lp > 1 || (divname == 'currentList' && isSongAdded == '1')){
		h = '<div class="p5 music'+(i%2 == 0 ? 'Odd' : 'Even')+'Bg musicMargin20" >';
		if(lp > 1){
			h+=	'<div class="flLt txtBolder songName" >';

			if(pageNo > 1){
				h+=	'<a href="javascript:void(0)" onclick = "'+onclick+1+')">First</a> | ';
				h+=	'<a href="javascript:void(0)" onclick = "'+onclick+pp+')">Prev</a> | ';
			}
			h+=		'<a style="color:#fff;">'+pageNo+'</a>';

			if(pageNo < lp){
				h+=	' | <a href="javascript:void(0)" onclick = "'+onclick+np+')">Next</a>';
				h+=	' | <a href="javascript:void(0)" onclick = "'+onclick+lp+')">Last</a>';
			}
			h+=	'</div>';
		}
		h+=	'<div class="clearAll" ></div>';
		h+=	'</div>';
	}
	document.getElementById(divname).innerHTML += h;
}

function removeLink(eleId){
	jQuery('#'+eleId).removeAttr('onclick');
	jQuery('#'+eleId).removeAttr('href');
	jQuery('#'+eleId).css('cursor','not-allowed');
}

/** function used to vote a song **/
/*function vote( songId, gId ) {
	var selfUId = jQuery.trim(jQuery('#txtselfUId').val());
	var groupBaseUrl = jQuery('#base_url').val();
	var gid = jQuery('#txtgid').val();
	var url = encodeURIComponent(window.location);
	if(selfUId==''){
		parent.window.location = 'https://myaccount.ibibo.com/auth/RegistrationStart.aspx?surl='+url;
		return ;
	}
	
	jQuery.ajax({
		type: "POST",
		url: document.getElementById('base_url').value+"Groups/GiveVote/"+gId+"/"+"<?=$music_prefix?>"+songId,
		data: {},
		success:function(msg) {
			msg = msg.replace(/^\s+|\s+$/g,"");
			if(msg == 1 ){
				
				jQuery('#votenowmjbestlist'+songId).hide();
				jQuery('#votestatusmjbestlist'+songId).html("<img src='"+document.getElementById('imgPath').value+"music/add_profile_icon.png' /> Voted");
				jQuery('#votestatusmjbestlist'+songId).show();

				jQuery('#votenowpoplist'+songId).hide();
				jQuery('#votestatuspoplist'+songId).html("<img src='"+document.getElementById('imgPath').value+"music/add_profile_icon.png' /> Voted");
				jQuery('#votestatuspoplist'+songId).show();
	
				jQuery('#votenowplaylist'+songId).hide();
				jQuery('#votestatusplaylist'+songId).html("<img src='"+document.getElementById('imgPath').value+"music/add_profile_icon.png' /> Voted");
				jQuery('#votestatusplaylist'+songId).show();

				jQuery('#txtMusicVoted').val(jQuery('#txtMusicVoted').val()+","+songId);
			}
			else{
				jQuery('#votenowmjbestlist'+songId).hide();
				jQuery('#votestatusmjbestlist'+songId).text("Already voted");
				jQuery('#votestatusmjbestlist'+songId).show();
				jQuery('#votestatusmjbestlist'+songId).css('color','red');
	
				jQuery('#votenowpoplist'+songId).hide();
				jQuery('#votestatuspoplist'+songId).text("Already voted");
				jQuery('#votestatuspoplist'+songId).show();
				jQuery('#votestatuspoplist'+songId).css('color','red');
				
				jQuery('#votenowplaylist'+songId).hide();
				jQuery('#votestatusplaylist'+songId).text("Already voted");
				jQuery('#votestatusplaylist'+songId).show();
				jQuery('#votestatusplaylist'+songId).css('color','red');
			}
		}
	});
}*/

function loadNplayTrack(i,divname) {
	songend();
	populateplayer(divname);
	wimpy_gotoTrack(i);
	showlist(divname+'Tab');
	document.getElementById('nowplaying').value = divname;
}

function removeMusicMsg(){
	clearInterval(clrMusicMsg);
	document.getElementById('musicaddMsg').style.display = "none";
	document.getElementById('musicremoveMsg').style.display = "none";
}

function showPl(){
	document.getElementById('hidingCont').style.display = 'block';
	//jQuery("#hidingCont").slideDown();

}

function hidePl(){
	//	document.getElementById('hidingCont').style.display = 'none';
	//	jQuery("#hidingCont").slideUp(500);
}

function songstart(){
	var id;
	if(!(document.getElementById('nowplayingSongBtn').value == 'start')){
		id = document.getElementById('nowplayingSongBtn').value+'playing';
		document.getElementById(id).style.visibility = 'hidden';
		id = document.getElementById('nowplayingSongBtn').value +'playBtn';
		document.getElementById(id).style.visibility = 'visible';
	}
	var obj = wimpy_getTrackInfo();
	id = parseInt(obj.tracknumber)-1+document.getElementById('nowplaying').value+'playBtn';
	document.getElementById(id).style.visibility = 'hidden';
	id = parseInt(obj.tracknumber)-1+document.getElementById('nowplaying').value+'playing';
	document.getElementById(id).style.visibility = 'visible';
	document.getElementById('nowplayingSongBtn').value = parseInt(obj.tracknumber)-1+document.getElementById('nowplaying').value;
}
function songend(){
	var obj = wimpy_getTrackInfo();
	if(obj.tracknumber == 'undefined'){
		return;
	}
	var id = parseInt(obj.tracknumber)-1+document.getElementById('nowplaying').value+'playing';
	var t = document.getElementById(id);
	if(t){
		document.getElementById(id).style.visibility = 'hidden';
		id = parseInt(obj.tracknumber)-1+document.getElementById('nowplaying').value+'playBtn';
		document.getElementById(id).style.visibility = 'visible';
	}

}

function wimpy_addTrack(tf,link,artist,titl,id,prov){
	var addFiles = "";
	addFiles += "<playlist>";
	addFiles += "  <item>";
	addFiles += "    <filename>"+link+"</filename>";
	addFiles += "    <artist>"+artist+"</artist>";
	addFiles += "    <title>"+titl+"</title>";
	addFiles += "    <link>"+prov+"</link>";
	addFiles += "    <image>"+id+"</image>";
	addFiles += "  </item>";
	addFiles += "</playlist>";

	wimpy_appendPlaylist(addFiles);
}

function trimMe(str,start,len){
        if(str && str.length > len)
                return str.substr(start,(len-3))+'...';

        return str;
}

