
var 
	oIntervalSliderProgressPeriod, 
	oIntervalSliderDragPeriod = 100, 
	oIntervalSliderProgress = null, 
	oIntervalSliderDrag, 
	sliderIsDragged = false, 
	coefProgressSlider = null, 
	oIntervalTimeProgress, 
	
	isBuffering = false, 
	oIntervalBuffering = 1, 
	oIntervalSliderVolumeProgressPeriod, 
	oIntervalSliderVolumeDragPeriod = 100, 	
	oIntervalSliderVolumeProgress = null, 
	oIntervalSliderVolumeDrag, 
	sliderVolumeIsDragged = false, 
	oIntervalPermanentPlayerStateCheck = window.setInterval('playerStateCheck()', 5000), 
	coefProgressSliderVolume = null;
	
	coefProgressSlider = null,
	coefProgressSliderVolume = null;
	sliderIsDragged = false;
	sliderVolumeIsDragged = false;
	oIntervalBuffering = null;


if (typeof(IsPresentedSlider)=='undefined')IsPresentedSlider = false;
if (typeof(IsPresentedSliderVolume)=='undefined')IsPresentedSliderVolume = false;
if (typeof(IsMuted)=='undefined')IsMuted = false;
if (typeof(IsAutoStart)=='undefined')IsAutoStart = false;
if (typeof(IsClipHourDisplay)=='undefined')IsClipHourDisplay = false;
if (typeof(itClipWidth)=='undefined')itClipWidth = null;
if (typeof(itClipHeight)=='undefined')itClipHeight = null;
if (typeof(szURLMedia)=='undefined')szURLMedia = null;
if (typeof(itSliderRightShift)=='undefined')itSliderRightShift = 0;

function updateCurrentPositionReflection()
{
	try
	{
		var s = objPlayer.object.controls.currentPositionString;
	}
	catch(e)
	{
		return;
	}
	if ((s==null)||(s=="")) return;
	if ((s.length==5)&&IsClipHourDisplay)s= "00:" + s;
	try{spnTimeCurrentPosition.innerText = s;}catch(e){}
}
function doPlayerInit()
{
	if (typeof(objPlayer)=='undefined') objPlayer=document.objPlayer;
	objPlayer.attachEvent('buffering', onBuffering);
	objPlayer.attachEvent('playStateChange', onPlayStateChange);
	if (IsPresentedSliderVolume)initSliderVolume();
	if (objPlayer.settings.autoStart || IsAutoStart) try {objPlayer.controls.play();}catch(e){}
	onPlayStateChange(objPlayer.object.playState);
	if (IsPresentedSlider) oIntervalTimeProgress = window.setInterval('updateCurrentPositionReflection()', 1000);
	if (szURLMedia==null)szURLMedia = objPlayer.url;		   
}

function playerStateCheck()
{
	try
	{
		if (objPlayer.playState == 3)
			flipVisibility2Player2SplashScreen(objPlayer, spnPreview);
	}
	catch(e){}	
	if ((objPlayer.width != "")&&(objPlayer.width != "0")&&(objPlayer.width != 0)&&(objPlayer.width != "0px"))
		objPlayer.style.width = objPlayer.width +"px";
	initSlider(true);
}

function SliderStartStopDrag()
{
	sliderIsDragged = !sliderIsDragged;
	if (sliderIsDragged==true)
	{
		document.body.onmousemove=SliderPointDragUpdate;
		document.body.onmouseup=SliderStartStopDrag;
	}
	else
	{					
		document.body.onmousemove=null;
		document.body.onmouseup=null;		
		var SliderPosition = spnSliderPoint.style.pixelLeft + spnSliderPoint.clientWidth / 2;
		objPlayer.controls.currentPosition = coefProgressSlider * SliderPosition;
	}
}

function SliderVolumeStartStopDrag()
{
	sliderVolumeIsDragged = !sliderVolumeIsDragged;
	if (sliderVolumeIsDragged==true)
	{
		document.body.onmousemove=SliderVolumePointDragUpdate;
		document.body.onmouseup=SliderVolumeStartStopDrag;
	}
	else
	{					
		document.body.onmousemove=null;
		document.body.onmouseup=null;
		var SliderVolumePosition = spnSliderVolumePoint.style.pixelLeft + spnSliderVolumePoint.clientWidth / 2;
		objPlayer.settings.volume = coefProgressSliderVolume * SliderVolumePosition;
		status = "Volume " + objPlayer.settings.volume + " %";
	}
}

function doGetElementOffsetLeft(spnSliderVolumePoint)
{
	var elParent = spnSliderVolumePoint.parentElement, 
		itOffsetLeft = elParent.offsetLeft - (spnSliderVolumePoint.clientWidth / 2) + 2;
	while(elParent.tagName!="BODY")
	{
		elParent = elParent.parentElement;
		itOffsetLeft += elParent.offsetLeft;
	}
	return itOffsetLeft;
}

function doGetSliderCommonPosition(spnSliderCommonPoint, itSliderRightShift) 
{
	if ((typeof(itSliderRightShift)=='undefined')||(itSliderRightShift==null))itSliderRightShift = 0;
	var	itOffsetLeft = doGetElementOffsetLeft(spnSliderCommonPoint);
	if (event.clientX > (itOffsetLeft + spnSliderCommonPoint.parentElement.clientWidth))
		return spnSliderCommonPoint.parentElement.clientWidth - itSliderRightShift;
	else if (event.clientX < itOffsetLeft)
		return 0;
	else 
		return event.clientX - itOffsetLeft; 
	return event.clientX;
}

function SliderPointDragUpdate()
{
	setSliderPosition(doGetSliderCommonPosition(spnSliderPoint, itSliderRightShift));
}

function SliderVolumePointDragUpdate()
{
	var SliderVolumePosition = doGetSliderCommonPosition(spnSliderVolumePoint);
	setSliderVolumePosition(SliderVolumePosition);
	objPlayer.settings.volume = coefProgressSliderVolume * SliderVolumePosition;
	status = "Volume " + objPlayer.settings.volume + " %";
}

function SliderAreaClick(sender)
{
	if (sliderIsDragged==true) return;
	setSliderPosition(sender);
}

function SliderVolumeAreaClick(sender)
{
	if (sliderVolumeIsDragged==true) return;
	setSliderVolumePosition(sender);
}

function setSliderPosition(sender)
{
	var SliderPosition = spnSliderPoint.style.pixelLeft + spnSliderPoint.clientWidth / 2;
	if ((sender.tagName)&&(event.srcElement!=spnSliderPoint))
	{
		SliderPosition = event.offsetX;
		objPlayer.controls.currentPosition = coefProgressSlider * SliderPosition;		
	}
	else if (!isNaN(sender))
		SliderPosition = sender;	
	spnSliderPoint.style.left = SliderPosition - spnSliderPoint.clientWidth / 2;
	spnSliderTrail.style.pixelWidth = spnSliderPoint.style.pixelLeft + 5;
}

function setSliderVolumePosition(sender)
{
	var SliderVolumePosition = spnSliderVolumePoint.style.pixelLeft + spnSliderVolumePoint.clientWidth / 2;
	if ((sender.tagName)&&(event.srcElement!=spnSliderVolumePoint))
	{
		SliderVolumePosition = event.offsetX + 2;
		objPlayer.settings.volume = coefProgressSliderVolume * SliderVolumePosition;
		status = "Volume " + objPlayer.settings.volume + " %";
	}
	else if (!isNaN(sender))
		SliderVolumePosition = sender;
	spnSliderVolumePoint.style.left = SliderVolumePosition - spnSliderVolumePoint.clientWidth / 2;
}

function SliderPointProgressUpdate()
{	
	try
	{
		SliderAreaClick(objPlayer.controls.currentPosition / coefProgressSlider);
	}
	catch(e){}
}

function SliderVolumePointProgressUpdate()
{	
	//SliderVolumeAreaClick(objPlayer.settings.volume / coefProgressSliderVolume);
}

function initSlider(blRecalculateCoef)
{	
	if (
		(typeof(IsPresentedSlider)=='undefined')||
		!IsPresentedSlider ||
		(!blRecalculateCoef && coefProgressSlider!=null)
		) return;
	try
	{
		coefProgressSlider = objPlayer.currentMedia.duration / spnSliderArea.clientWidth;
	}
	catch(e)
	{
		coefProgressSlider = null;
	}
	if (coefProgressSlider!=null) 
	{
		oIntervalSliderProgressPeriod = 5000 * coefProgressSlider;	
		oIntervalSliderProgress = window.setInterval('SliderPointProgressUpdate()', oIntervalSliderProgressPeriod);	
		SliderPointProgressUpdate();
	}
}

function initSliderVolume()
{
	if (coefProgressSliderVolume!=null) return; 
	coefProgressSliderVolume = 100 / spnSliderVolumeArea.clientWidth;
	oIntervalSliderVolumeProgressPeriod = 1000;
	oIntervalSliderProgress = window.setInterval('SliderVolumePointProgressUpdate()', oIntervalSliderVolumeProgressPeriod);
}

function onBuffering(Start)
{
	isBuffering = Start;
	if (Start)
	{ 
		oIntervalBuffering = window.setInterval('updatebp()',250); 
		flipVisibility2Player2SplashScreen(spnPreview, objPlayer);
	} 
	else {
		window.clearInterval(oIntervalBuffering);
		flipVisibility2Player2SplashScreen(objPlayer, spnPreview);
		bptext.innerHTML = "";
	}
}

function onPlayStateChange(NewState)
{
	switch (NewState)
	{
		case  1:
			imgBtnPlayState.src = changeImageSource(imgBtnPlayState.src, "Play");
			flipVisibility2Player2SplashScreen(spnPreview, objPlayer);
			break; 
		case  2:
			imgBtnPlayState.src = changeImageSource(imgBtnPlayState.src, "Play");
			break;		
		case  3:
			if(IsPresentedSliderVolume) setSliderVolumePosition(objPlayer.settings.volume / coefProgressSliderVolume);
			imgBtnPlayState.src = changeImageSource(imgBtnPlayState.src, "Paused");
  			if (isBuffering==false)
  			{
  				flipVisibility2Player2SplashScreen(objPlayer, spnPreview);
  				initSlider(false);
  			}
  			if (IsPresentedSlider)
  			{
  				var s = objPlayer.currentMedia.durationString;
  				if((s.length==5) && IsClipHourDisplay) 
  					s = "00:" + s;
  				else if (s.length==8)
					IsClipHourDisplay = true;
				try
				{
  					spnTimeEnd.innerText = s;
  				}
  				catch(e){}
  			}
  			objPlayer.settings.mute = IsMuted;  			
			break;
		case  4: break; 
		case  5: break; 
		case  6: break; 
		case  7:
			bptext.innerHTML = "אנא המתן ...";
			break; 
		case  8:
			try
			{
				if (IsPresentedSlider)spnTimeCurrentPosition.innerText = spnTimeEnd.innerText;
			}
			catch(e){}
			imgBtnPlayState.src = changeImageSource(imgBtnPlayState.src, "Paused");
			flipVisibility2Player2SplashScreen(spnPreview, objPlayer);
			bptext.innerHTML = "";
			break; 
		case  9:
			bptext.innerHTML = "";
			imgBtnPlayState.src = changeImageSource(imgBtnPlayState.src, "Play");
			flipVisibility2Player2SplashScreen(spnPreview, objPlayer);
			break; 
		case 10:
			oIntervalBuffering = null;
			bptext.innerHTML = "";
			imgBtnPlayState.src = changeImageSource(imgBtnPlayState.src, "Paused");
			flipVisibility2Player2SplashScreen(spnPreview, objPlayer);
			break; 
		case 11:
  			imgBtnPlayState.src = changeImageSource(imgBtnPlayState.src, "Paused");
 			break;
	}
}

function flipVisibility2Player2SplashScreen(control1, control2)
{
	control1.style.display = ""; 
	if (
		(control1.style.height=="0%")||(control1.style.width=="0%")||
		(control1.style.width=="0")||(control1.style.height=="0")||
		(control1.style.width=="0px")||(control1.style.height=="0px")||
		(control1.style.width==0)||(control1.style.height==0)
			)
	{
		control1.style.height = itClipHeight == null ? "100%" : itClipHeight + "px";
		control1.style.width = itClipWidth == null ? "100%" : itClipWidth + "px";
	}
	control2.style.display="none";
}

function updatebp()
{
	bptext.innerHTML = "<table align=left height=100%><tr><td valign=bottom><font size=2 color=#ffffff face=Arial>Buffering " + objPlayer.network.bufferingProgress + "%</font></td></tr></table>";
}

function clickPlayPause()
{
	switch (objPlayer.object.playState)
	{
		case 3: case 9:
			if (IsPresentedSlider) 
				objPlayer.controls.Pause(); 
			else 
				objPlayer.controls.Stop();
			break;
		default: 	
			try{objPlayer.controls.Play();}catch(e){}
	}
}

function clickRunStop()
{
	switch (objPlayer.object.playState)
	{
		case 2: case 3: case 9: 
			objPlayer.controls.Stop();
			if (szURLMedia=="")
			{
				objPlayer.object.currentMedia = objPlayer.object.currentPlaylist.Item(0);
			}
			else
				objPlayer.object.URL = szURLMedia;
			if (IsMuted)clickMute(document.getElementById("Big-Mute"));
			break;
		default: 
	}
}

function doMouseOverImage(sender)
{
	var szImgURL = sender.tagName == "IMG" ? sender.src : sender.style.backgroundImage;
	if (sender.tagName != "IMG")
		szImgURL = szImgURL.substr(4, szImgURL.length - 5);
	var szNewSrc, i = szImgURL.lastIndexOf("."), szImgExt = szImgURL.substr(i);	
	if(szImgURL.indexOf("_MO.")>0)
		szNewSrc = szImgURL.substr(0, szImgURL.length - 3 - szImgExt.length);
	else
		szNewSrc = szImgURL.substr(0, szImgURL.length - szImgExt.length);
	if(event.type=="mouseover") szNewSrc += "_MO";
	szImgURL = szNewSrc + szImgExt;
	if (sender.tagName == "IMG")
		sender.src = szImgURL;
	else
		sender.style.backgroundImage = "url(" + szImgURL + ")";
}

function changeImageSource(szOldImageSource, zNewImageName)
{
	var i = szOldImageSource.lastIndexOf("."), szImgExt = szOldImageSource.substr(i);
	i = szOldImageSource.lastIndexOf("/");
	var szImagePath = i==-1 ? "" : szOldImageSource.substr(0, i + 1);	
	return szImagePath + zNewImageName + szImgExt;
}

function clickMute(sender)
{	
	IsMuted = !IsMuted;
	objPlayer.settings.mute = IsMuted;
	//alert(sender.src);
	sender.src = changeImageSource(sender.src, IsMuted ? "mute_on" : "mute_off");
	//alert(sender.src);	
	try	
	{	
		//sender.parentElement.children(1).innerText = IsMuted ? "הפעל קול" : "השתק קול";
		sender.alt = IsMuted ? "הפעל קול" : "השתק קול";
	}	
	catch(e){}
}	
	
function clickFullScreen()
{
	if(objPlayer.playstate==3) objPlayer.fullScreen = true;	
}