var isNav, isIE;
var width;	  //Æ®·¢Æ÷Áö¼Ç
var height;	  //Æ®·¢Æ÷Áö¼Ç
var width2;   //º¼·ý
var height2;  //º¼·ý

var offsetX;

var pVol_top;
var vminX;
var vmaxX;
var cPos_top;
var cminX;
var cmaxX;

var selectedObj;

var Volumn_ID;

width = 18;
height = 8;

width2 = 9;
height2 = 7;

pVol_top = 328;
vminX    = 258;
vmaxX    = 315;

cPos_top = 313;
cminX    = 30;
cmaxX    = 310;   

if (parseInt(navigator.appVersion) >= 4) 
{	if (navigator.appName == "Netscape") 
	{	sNav = true; 	} 
	else 
	{	isIE = true;	}
}


function volChange(UpDown)
{	
	var curVol = MediaPlayer1.settings.Volume;
	
	if (UpDown == "up") 
	{	
		//curVol = -((Math.abs(curVol))/AUDIOSTEP);
		curVol = -(Math.abs(curVol) - 200);
		if (curVol > -1) 
		{	
			curVol = -1;	
		}		
	} 
	else if (UpDown == "down") 
	{	
		//curVol = -((Math.abs(curVol) + 1)*AUDIOSTEP);
		curVol = -(Math.abs(curVol) + 200);
		if (curVol < -10000) 
		{	
			curVol = -10000;	
		}
	} 
	else 
	{	
		if ( vol == -10000 ) {  vol = curVol; curVol = -10000; }
		else {  curVol = vol; vol = -10000; }		
	}	
	
	curVol = Math.floor(curVol);
	
	MediaPlayer1.settings.Volume = curVol;
}



function funcInit()
{
	Volumn_ID = window.setInterval ("volumPosition()", 200);
	Position_ID = window.setInterval ("CurrentPosition()", 200); 
}

function CurrentPosition() {
    if (MediaPlayer1.PlayState != 3) return;
    pTrc.style.pixelLeft = ToBarPosition(MediaPlayer1.controls.CurrentPosition); 
}


function volumPosition() {
  if (MediaPlayer1.PlayState != 2) return;
 	pVol.style.pixelLeft = ToVolumeLevel(MediaPlayer1.settings.Volume);
}


function ToBarPosition(pos)
{  	var level;

	level = ((cmaxX - cminX) * pos) / MediaPlayer1.currentMedia.Duration;
  	level = parseInt(level) + cminX;
  	return level;
}


function ToVolumeLevel(vol) {	
	var level;

	if ( vol <= -10000 ) return vminX;

	level = Math.pow(10,vol/2000);
	level = level * ( vmaxX - vminX ) + vminX;
	return level;
	
	//if ( vol < -4000 ) return vminX;
	//else if ( vol > 0 ) return vmaxX;
	//else {
	//	level = ((vmaxX - vminX)/10000)*(10000 + vol);
	//	return level;
	//}
}



function ToPlayerVolume(vol)
{	var level;

	level = (vol - vminX) / (vmaxX - vminX);	
	if ( level == 0 )
		return -100;
	level = Math.log(level)/Math.log(10) * 100;
	if ( level > 0 )
		level = 0;
	if ( level < -100 )
		level = -100;
	level = parseInt(level) + 100;
	return level;
}



function ToPlayerPosition(pos)
{	var level;
  	var barpos = (pos-cminX);
  	var barlen = (cmaxX-cminX) ;
  	
  	level = (MediaPlayer1.currentMedia.Duration * barpos) / barlen;
  	level = parseInt(level);
  	return level;
}


function getVolObject(i)
{  	switch (i)
	{	case 0:
    			if (isNav)
    			{	return document.layers["pVol"];	} 
			else 
			{	return document.all.pVol.style;	}
    			break;
  		
		case 1:
    			if (isNav)
    			{	return document.layers["pTrc"];	} 
    			else 
    			{	return document.all.pTrc.style;	}
    			break;
  	}
}



function shiftTo(obj, x, setVolume) 
{	
	var minX;
	var maxX;
	if (obj == getVolObject(1)) 
	{	
	  	minX = cminX;
		maxX = cmaxX;
	}
	else
  { 
		minX = vminX;
		maxX = vmaxX;
  }		


  if ( x < minX) x = minX;
  if ( x > maxX) x = maxX;

  if (isNav) 
  {	
  	obj.moveTo(x,obj.top);
  } 
  else 
  {   	
  	obj.pixelLeft = x;
  }

 	if (setVolume)
	{	
	  var x1;
	  if (obj == getVolObject(1)) 
	  {	
	  	x1 = ToPlayerPosition(x);
	    MediaPlayer1.controls.CurrentPosition = x1;
	  }

	  else 
	  {
	  
		x1 = ToPlayerVolume(x);
		
	  	MediaPlayer1.settings.Volume = x1;
	  }

	}	  
}


function hitTest(x, y)
{	
	if ( x >= vminX && x <= vmaxX + width2)
	{	if ( y >= pVol_top && y <= pVol_top + height2)
		{ 	return getVolObject(0);	}
  	}

  	if ( x >= cminX && x <= cmaxX + width)
  	{	if ( y >= cPos_top && y <= cPos_top + height)
  		{	return getVolObject(1); }
  	}
  	return null;
}

function setZIndex(obj, zOrder) 
{	
	obj.zIndex = zOrder;
}

function setSelectedElem(evt) 
{	
	if (isNav) 
	{	
		var clickX = evt.pageX;
		var clickY = evt.pageY;
		var testObj;

		for (var i = document.layers.length - 1; i >= 0; i--) 
		{	
			testObj = document.layers[i];
  		if ((clickX > testObj.left) && 
    	   (clickX < testObj.left + testObj.clip.width) && 
    	   (clickY > testObj.top) && 
    	   (clickY < testObj.top + testObj.clip.height)) 
    	{	
    		selectedObj = testObj;
    		if (selectedObj) 
    		{	
    			setZIndex(selectedObj, 100);
      		return;
    		}
  		}
		}
		selectedObj = hitTest(evt.pageX , evt.pageY);
		
		if (selectedObj)
		{ 
			offsetX = 5;
    	setZIndex(selectedObj,100);
    	shiftTo(selectedObj, evt.pageX - 5, true);
    	return;
		}
	} 
	else 
	{	
		var imgObj = window.event.srcElement;
    selectedObj = imgObj.parentElement.style;
    if (selectedObj && imgObj.parentElement.id != "") 
    {	
    	offsetX = window.event.offsetX;
      setZIndex(selectedObj,100);
      return;
    }
    selectedObj = hitTest(window.event.clientX , window.event.clientY);
    if (selectedObj)
    {
    	offsetX = width/2;
      setZIndex(selectedObj,100);
      shiftTo(selectedObj, window.event.clientX - width/2, true);
      return;
    }
  }
  selectedObj = null;
  return;
}

function dragIt(evt) 
{	
	if (selectedObj) 
	{	
	  if (selectedObj.width == "9px" || selectedObj.width == "18px")
	  {
		if (isNav) 
		{	shiftTo(selectedObj, (evt.pageX - offsetX),true);	} 
		else 
		{	shiftTo(selectedObj, (window.event.clientX - offsetX),true); 
      			return false
    	}
	  }
  	}

}


function engage(evt) 
{	
  setSelectedElem(evt);
  if (selectedObj) 
  {	
  	if (isNav) 
  	{	
  		offsetX = evt.pageX - selectedObj.left;    
  	} 
		else 
		{
		}
  }
  
  if ((event.button==2) || (event.button==3) || (event.keyCode == 93)) {
  	alert('¸¶¿ì½º ¿À¸¥ÂÊ ¹öÆ°Àº »ç¿ëÇÒ¼ö ¾ø½À´Ï´Ù.');
  }
  return false;  
  
}

function release(evt) 
{	if (selectedObj) 
	{	setZIndex(selectedObj, 10);
    		selectedObj = null;
  	}
}

//Æ®·¢,º¼·ý °ÔÀÌÁö»ö Ã¤¿ì±â
function showPos(){	  
	var gageWidth = 290; 
   var w = 0;
   try{
	   var cp = MediaPlayer1.controls.CurrentPosition;
	   var dr = MediaPlayer1.currentMedia.Duration;
	   w = parseInt(cp / dr * gageWidth);
	   document.all.gage.style.width = w;

   }catch(e){}

   setTimeout("showPos()",100);
}

function showPos2(){	
	var gageWidth = 66;  
   var w = 0;
   try{
	   var cp = MediaPlayer1.settings.Volume;
	   var dr = 100;
	   w = parseInt(cp / dr * gageWidth - 8);
	   document.all.gage2.style.width = w;

   }catch(e){}

   setTimeout("showPos2()",100);
}

	
document.onmousedown = engage;
document.onkeydown=engage;
document.onmousemove = dragIt;
document.onmouseup = release;
