
var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
var navigatorVersion = navigator.appVersion.replace(/.*?MSIE (\d\.\d).*/g,'$1')/1;

var img_path = "common/player/img/"; //2008/12/01

//var form_widget_amount_slider_handle = base_url + '/img/slider_handle.gif';
var form_widget_amount_slider_handle = base_url + img_path + 'slider_handle.gif';

var slider_handle_image_obj = false;
var sliderObjectArray = new Array();
var slider_counter = 0;
var slideInProgress = false;
var handle_start_y;
var event_start_y;
var currentSliderIndex;
var g_volume = 100; //2007/10/30

var objSpkImg = null; //2007/11/07 スピーカーの画像オブジェクト


function form_widget_cancel_event()
{
	return false;
}

function getImageSliderHeight() {
	if (!slider_handle_image_obj) {
		slider_handle_image_obj = new Image();
		slider_handle_image_obj.src = form_widget_amount_slider_handle;
	}
	if (slider_handle_image_obj.width>0) {
		return;
	}
	else {
		setTimeout('getImageSliderHeight()',50);
	}
}

// 'formTarget'テキストボックスの値からスライダーハンドルの位置を設定
function positionSliderImage(e,theIndex,inputObj)
{
	if (this) {
		inputObj = this;
	}
	if (!theIndex) {
		theIndex = inputObj.getAttribute('sliderIndex');
	}
	var handleImg = document.getElementById('slider_handle' + theIndex);
	var ratio = sliderObjectArray[theIndex]['height'] / (sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
	var currentValue = sliderObjectArray[theIndex]['formTarget'].value-sliderObjectArray[theIndex]['min'];		
	handleImg.style.top = currentValue * ratio + 'px';
}

function positionSliderImage2(vol)
{
	var theIndex = 0;
	var handleImg = document.getElementById('slider_handle' + theIndex);
	var ratio = sliderObjectArray[theIndex]['height'] / (sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
	handleImg.style.top = vol * ratio + 'px';
}

function adjustFormValue(theIndex)
{
	var handleImg = document.getElementById('slider_handle' + theIndex);
	var ratio = sliderObjectArray[theIndex]['height'] / (sliderObjectArray[theIndex]['max']-sliderObjectArray[theIndex]['min']);
	var currentPos = handleImg.style.top.replace('px','');
	sliderObjectArray[theIndex]['formTarget'].value = Math.round(currentPos / ratio) + sliderObjectArray[theIndex]['min'];
}

function initMoveSlider(e)
{
	if (document.all) {
		e = event;
	}
	slideInProgress = true;
	event_start_y = e.clientY;
	handle_start_y = this.style.top.replace('px','');
	currentSliderIndex = this.id.replace(/[^\d]/g, '');
	
	return false;
}

function startMoveSlider(e)
{
	if (document.all) {
		e = event;
	}
	if (!slideInProgress) {
		return;
	}

	var topPos = handle_start_y/1 + e.clientY/1 - event_start_y;

	if (topPos < 0) {
		topPos = 0;
	}
	if (topPos/1 > sliderObjectArray[currentSliderIndex]['height']) {
		topPos = sliderObjectArray[currentSliderIndex]['height'];
	}
	document.getElementById('slider_handle' + currentSliderIndex).style.top = topPos + 'px';

	if (sliderObjectArray[currentSliderIndex]['onchangeAction']) {
		eval(sliderObjectArray[currentSliderIndex]['onchangeAction']);
	}

	g_volume = 100 - topPos;
	setVolume(g_volume);
}

function stopMoveSlider()
{
	slideInProgress = false;
	
	// Volumeをクッキーへ書き込む
	saveVolume(g_volume);
}

function form_widget_amount_slider_v(targetElId, /*formTarget,*/ height, min, max, onchangeAction)
{
	if (!slider_handle_image_obj) {
		getImageSliderHeight();
	}

	slider_counter = slider_counter + 1;
	sliderObjectArray[slider_counter] = new Array();
	sliderObjectArray[slider_counter] = {"height":height, "min":min, "max":max, "onchangeAction":onchangeAction};
	
	// slider_container
	var parentObj = document.createElement('DIV');
	parentObj.style.height = (height + 8) + 'px';
	parentObj.style.position = 'relative';
	parentObj.id = 'slider_container' + slider_counter;
	document.getElementById(targetElId).appendChild(parentObj);
	
	// slider_slider
	var obj = document.createElement('DIV');
	obj.className = 'slider_slider';
	obj.innerHTML = '<span></span>';
	obj.style.height = height + 'px';
	obj.id = 'slider_slider' + slider_counter;
	obj.style.position = 'absolute';
	obj.style.top = '4px'; //YK
	obj.style.left = '6px'; //YK
	parentObj.appendChild(obj);
	
	// slider_handle
	var handleImg = document.createElement('IMG');
	handleImg.className = 'slider_handle';
	handleImg.style.position = 'absolute';
//	handleImg.style.left = '0';
//	handleImg.style.top = '0';
	handleImg.style.left = '0px';
	handleImg.style.top = '0px';
	handleImg.style.zIndex = 5;
	handleImg.style.width = '18px';
	handleImg.style.height = '8px';
	handleImg.src = slider_handle_image_obj.src;
	handleImg.id = 'slider_handle' + slider_counter;
	handleImg.onmousedown = initMoveSlider;

	if (document.body.onmouseup) {
		if (document.body.onmouseup.toString().indexOf('stopMoveSlider') == -1) {
			alert('You allready have an onmouseup event assigned to the body tag');
		}
	}
	else {
		document.body.onmouseup = stopMoveSlider;
		document.body.onmousemove = startMoveSlider;
	}

	handleImg.ondragstart = form_widget_cancel_event;
	parentObj.appendChild(handleImg);

	// クッキーから読み取ったボリューム値を反映させる
	//positionSliderImage2(g_volume);
	
	// これが無いと、Firefox でスライダーがドラッグできなかった
	handleImg.style.top = (100 - g_volume) + 'px';
}

var volume_slider_div = false;

function volSliderGetTopPos(inputObj)
{
  var returnValue = inputObj.offsetTop;
  while ((inputObj = inputObj.offsetParent) != null){
  	returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function volSliderGetLeftPos(inputObj)
{
	var returnValue = inputObj.offsetLeft;
	while ((inputObj = inputObj.offsetParent) != null)
		returnValue += inputObj.offsetLeft;

	return returnValue;
}

function cancelColorPickerEvent(){
	return false;
}

function toggleCloseButton()
{
	this.style.color='#FFF';
	this.style.backgroundColor = '#317082';	
}
function toggleOffCloseButton()
{
	this.style.color='';
	this.style.backgroundColor = '';
	
}
function closeColorPicker()
{
	
	volume_slider_div.style.display='none';
}

function createVolumeUI(inputObj)
{
	var innerDiv = document.createElement('DIV');
	innerDiv.className = 'volSlider';
	innerDiv.id = 'slider';
	inputObj.appendChild(innerDiv);
	
	var clearingDiv = document.createElement('DIV');
	clearingDiv.style.clear = 'both';
	inputObj.appendChild(clearingDiv);

	form_widget_amount_slider_v('slider', 100, 0, 100, null);
}

function onBlurVol(){
	volume_slider_div.style.display = 'none';
} 

function showVolume(inputObj)
{
	if (!volume_slider_div) {
		volume_slider_div = document.createElement('DIV');
		volume_slider_div.id = 'volumeSlider';
		volume_slider_div.style.display = 'none';
		volume_slider_div.onblur = onBlurVol; // Fires when the object loses the input focus.

		document.body.appendChild(volume_slider_div);

		createVolumeUI(volume_slider_div);
	}

	if (volume_slider_div.style.display == 'none') {
		volume_slider_div.style.display = 'block';
		objSpkImg = inputObj;
		objSpkImg.src = base_url + img_path + 'btn/icon_volume_h.gif';
	}
	else {
		volume_slider_div.style.display = 'none';
		if (objSpkImg) {
			objSpkImg.src = base_url + img_path + 'btn/icon_volume.gif';
			objSpkImg = null;
		}
	}

	volume_slider_div.style.left = volSliderGetLeftPos(inputObj) + 10 + 'px'; // ボタンが隠れないよう横にずらす
	volume_slider_div.style.top = volSliderGetTopPos(inputObj) - 100 + 'px';
//	volume_slider_div.style.top = volSliderGetTopPos(inputObj) + 'px';
}

