var timerID = 0;
var hour = "0"
var min = "00"
var sec = "0"
var countTime = 0;
var bMuteState;
var sPosition;
var showPerc=100;
var vol=0;
var fileURL="";
var gSongTitle="";
var dissec = 0;
document.onmousedown=dragLayer
document.onclick=clickLayer
document.onmouseup=new Function("dragMe=false")

var dragMe = false, kObj, yPos, direction


function CheckWMP()
{	
	
    var hasActiveX=false;
    var player7x;
    try{
       	 hasActiveX = true;
       	 
       	 player7x =  new GetWMPPlayerActiveXObj();
       	 
       	 return true;
    }
	catch (oError) {
		if(TPBrw > 1)
		{			
			var pageName = "InstallPlugins.aspx";
			OpenWelcomeWindow(pageName);
			return false;
		}
		if(!player7x)
		{
			player6 = new ActiveXObject("MediaPlayer.MediaPlayer.1");							
		}
		if(!hasActiveX)
		{
			alert("Your browser does not support ActiveX.")	
			document.body.style.cursor = "default";		
			return false;
		}
		else if(!player7x && !player6)
		{
			alert("Please install the latest version of Windows Media Player to use the Preview feature.")			
			document.body.style.cursor = "default";	
			return false;
		}		
	}		
}

function moveLayer(event) {
	try{
	var evt,ckTyp;
	var objWMP = GetWMPPlayerActiveXObj();
	if(TPBrw==1) evt=window.event;
	else evt=event;
	if (dragMe) {
		var o=document.getElementById('knobImg');
		oldX = px2n(o.style.left); kObj.style.left=n2px(temp2+evt.clientX-xPos);
		
		if (px2n(o.style.left)>oldX) direction="rt"; else direction="lt";
		if (px2n(o.style.left)<1 && direction=="lt") {o.style.left = "1px"; direction="rt";}
		if (px2n(o.style.left)>71 && direction=="rt") {o.style.left ="72px"; direction="lt";}

		sPosition=px2n(o.style.left); showPerc = sPosition-1;	
		if(objWMP.versionInfo)
		{
			vol = parseInt((showPerc/72)*(100));
			objWMP.Settings.Volume = vol;	
			if(bMuteState)
				objWMP.Settings.mute = true;	
		}			
		return false; 
	}
	}catch(e){}
}
function dragLayer(event) {
try{
var evt,evtSrc,ckTyp;
if(TPBrw==1){evt=window.event;evtSrc=evt.srcElement;ckTyp=evt.button;}
else {evt=event;evtSrc=evt.target;ckTyp=event.which}
if (ckTyp==1 && evtSrc.className=="drag"){dragMe=true; kObj=evtSrc; temp2=px2n(kObj.style.left);xPos=evt.clientX;
	document.onmousemove=moveLayer; }
}catch(e){}
}

function clickLayer(event){	
	try{
	var newX = findPosX(document.getElementById('knobImg'));
	var evt,evtSrc;
	var objWMP = GetWMPPlayerActiveXObj();
	if(TPBrw==1){evt=window.event;evtSrc=evt.srcElement;}
	else {evt=event;evtSrc=evt.target;}
	if (evtSrc.className=="slide")
	{		
		var o=document.getElementById('knobImg');
		o.style.left=n2px(px2n(o.style.left) + evt.clientX - newX - 5);
			
		if(px2n(o.style.left)<0)
			o.style.left = "0px";
		if(px2n(o.style.left)>72)
			o.style.left = "72px";
		sPosition=px2n(o.style.left); showPerc = sPosition-1;	
		
		if(objWMP.versionInfo)
		{
			vol = parseInt((showPerc/72)*(100));			
			objWMP.Settings.Volume = vol;	
			if(bMuteState)
					objWMP.Settings.mute = true;	
		}	
	}
	}catch(e){}
}
function px2n(s)
{
	if(s.indexOf("px")>0) s=s.replace(/px/g,"");
	return parseInt(s);
}
function n2px(n)
{
	var s=n.toString();
	if(s.indexOf("px")==-1) s=s+"px";
	return s
}
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}


function MuteClick()
{	
	var objWMP = GetWMPPlayerActiveXObj();
	if(objWMP.versionInfo)
		bMuteState = objWMP.Settings.mute;		
	
	if(bMuteState == true)
	{		
		document.getElementById('muteSpeaker').src = "images/speaker_on.gif"
		if(objWMP.versionInfo)
		{
		 
		 objWMP.Settings.mute = false;							
		}
		bMuteState = false;		
	}
	else
	{
		document.getElementById('muteSpeaker').src = "images/speaker_off.gif"
		if(objWMP.versionInfo)
		{
			objWMP.Settings.mute = true;
		}
		
		
		bMuteState = true;
	}
}	

function PreviewSong(artistName, songTitle, songURL, imageURL)
{	
	if(InWmp())
	{
		var player7x;
		player7x = new ActiveXObject("WMPlayer.OCX.7");
		try
		{
			player7x.openPlayer (songURL);
		}
		catch(err)
		{
			document.getElementById("player7").URL = songURL;	
			document.getElementById("player7").controls.play();
		}
	}
	else
	{
		//document.body.style.cursor = "wait";	
		CheckWMP();
		var objWMP = GetWMPPlayerActiveXObj();

		if(songURL.length==0)
		{
			alert("Sorry, the preview for this song is presently not available.");	
			//document.body.style.cursor = "default";	
			return;
		}
		if(!objWMP.versionInfo)
		{			
			document.location.href = songURL;	
			//document.body.style.cursor = "default";			
			return;
		}
				
		fileURL = songURL;		
		artistName = encodeString(artistName);	
		songTitle = encodeString(songTitle);	
		gSongTitle = songTitle;
		document.getElementById('spnArtistName').innerHTML = artistName;
		trimTitle(20,'spnArtistName');
		document.getElementById('artistImage').src = imageURL;
		PlayMusic();
	}
}

function PlayMusic()
	{			
		var objWMP = GetWMPPlayerActiveXObj();
		Stop();
		if(objWMP.versionInfo)
		{			
			objWMP.URL = ""; 	
			objWMP.controls.stop();
		}
		if(fileURL.length==0)	
		{			
			return;
		}	
		min = "00";
		sec = "0";
		dissec = 0;			
		if(timerID) {
			clearTimeout(timerID);
			timerID  = 0;		
		}		
		if (gSongTitle.length != 0)
		{
			if(TPBrw==1)
			{
				document.getElementById('lblSongTitle').innerHTML = "<MARQUEE id=\"scroller\" DIRECTION=LEFT BEHAVIOR=SCROLL SCROLLDELAY=150 width=\"100%\"><span id=\"spnSongTitle\">" + gSongTitle + "</span></MARQUEE>";	
			}
			else
			{
				document.getElementById('lblSongTitle').innerHTML = "<span id=\"spnSongTitle\" >" + gSongTitle + "</span>";
				trimTitle(25,'spnSongTitle');
			}
		}
		if(TPBrw==1)
		{
			document.getElementById('scroller').start();	
		}
		document.getElementById('lblSongTimer').innerHTML = "00:00"
		vol = parseInt((76-showPerc)*(-50));	
		if(objWMP.versionInfo)
		{	
			objWMP.URL = fileURL;	
			objWMP.controls.play();			
		}		
		timer();			
	}	
	
	function timer()
	{			
		var objWMP = GetWMPPlayerActiveXObj();
		if(objWMP.versionInfo)
		{				
			if (objWMP.PlayState <3 || objWMP.PlayState == 8 || objWMP.PlayState == 10)
			{			
				if(objWMP.Error.errorCount>0 && dissec < 5)
					alert("Sorry, the preview for this song is presently not available.");											
				else if(objWMP.BufferingCount==0 && dissec > 5)
					alert("Sorry, the preview for this song is presently not available.");				
				Stop();		
				return;
			}			
			if(objWMP.PlayState == 3)
			{		
				if (sec < 59)
				{
				sec++
				}
				else
				{
					sec = "0"
					min++
					if (min > 59)
					{
						min = "00"
						hour++
					}
				}		
				if ((min < 10) && (min != "00"))
				{
					dismin = "0" + min
				}
				else
				{
					dismin = min
				}
				
				dissec = (sec < 10) ? sec = "0" + sec : sec
				document.getElementById('lblSongTimer').innerHTML = dismin + ":" + dissec	
				//document.body.style.cursor = "default";	
			}					
			else if(objWMP.PlayState == 6)
			{						
				document.getElementById('lblSongTimer').innerHTML = "";
				document.getElementById('lblSongTimer').innerHTML = objWMP.Network.bufferingProgress + "%"			
				//document.body.style.cursor = "default";
			}					
		}					
		countTime = countTime + 1;
		timerID = window.setTimeout("timer(true)",1000) 			
	}

	function Stop() {	
		var objWMP = GetWMPPlayerActiveXObj();
		//document.body.style.cursor = "default";	
		if(fileURL.length==0 && fileURL.length==0)	
		{
			return;
		}
		min = "00";
		sec = "0";							

		document.getElementById('lblSongTimer').innerHTML = "00:00"
		if(objWMP.versionInfo)
		{
			objWMP.URL = ""; 	
			objWMP.controls.stop();
		}

		if (gSongTitle.length != 0)
		{
			document.getElementById('lblSongTitle').innerHTML = "<span id=\"spnSongTitle\">" + gSongTitle + "</span>"					
		}
		/*if(document.getElementById("player7").URL=="" && document.getElementById("player7").URL=="" )
		{
			return;
		}
		document.getElementById('scroller').stop();*/					
		
		trimTitle(25,'spnSongTitle');
				
		if(timerID) {
		clearTimeout(timerID);
		timerID  = 0;	
		dissec = 0;
	}
}

function encodeString(strToEncode) {	
    strToEncode = strToEncode.replace(/&amp;/g,"&");     
    return strToEncode;
   }

function trimTitle(max, spanid)
		{
		var flag = 0;
		var oObject = document.getElementById(spanid);				
		var appLen = 0;
		var margin = 25;
		if (oObject != null)
		{
			strText = oObject.innerHTML;
			if (strText.length > max)
			{
			
				strText = oObject.innerHTML;
				oObject.innerHTML = strText.substr(0, max - 3 );
				oObject.innerHTML += '...';
				oObject.title = strText;
			}
		}
	}

function InWmp()
{
    try
    {
        if(window.external != null)
            return (typeof(window.external.NavigateTaskPaneURL) != 'undefined');
    }
    catch(e)
    {
    }
            
    return false;
}	

function showDiv(divid) 
{
	document.getElementById(divid).style.display="inline";
}

function hideDiv(divid) 
{
	document.getElementById(divid).style.display="none";
}

var objGWMP = null;
function GetWMPPlayerActiveXObj()
{
	if(objGWMP == null)
	{
		objGWMP = GetActiveXObj("WMPlayer.OCX.7","player7");
	}
	return objGWMP;
}

//creating activeXObj in a cross-browser way
function GetActiveXObj(progID,elementID)
{
	var activeXObj;
	if(window.ActiveXObject)
		activeXObj = new ActiveXObject(progID);
	else if (window.GeckoActiveXObject)
	{
		activeXObj = new GeckoActiveXObject(progID);	
	}
	else	
		activeXObj = document.getElementById(elementID);
	return activeXObj;
		
}

function OpenWelcomeWindow(pageName)
{
			var winobj = window.opener;			
			if((typeof winobj == 'undefined') || winobj==null)
			{
				window.parent.location.href = pageName;	//"InstallPlugins.aspx"
			}
			else
			{
				window.opener.location.href = pageName;	//"InstallPlugins.aspx";
				window.opener.focus();
				window.close();
			}
}

	
	
