window.onresize = OnResize;

var SearchTD_Top 		= 	0;
var SearchTD_Left		=	0;

var m_pVScroll;
var m_pSearchBar;	
var	m_pChnlBar;		
var m_ptrLog	=	new Array(16*24*10);
var curDate		=	GetCurrentDate();

function getUTC()
{
	var dt = new Date();
//	return dt.getTimezoneOffset();
	var nRet = dt.getTimezoneOffset();
	delete dt;//hjyang
	return nRet;

}
var m_UTC = getUTC();


/*
function AddDate( val)
{
	var oOption = document.createElement("OPTION");
	select1.options.add(oOption);
	{
		var SECS_PER_DAY = 24 * 60 * 60;
		var d = new Date( val * SECS_PER_DAY * 1000);
		var date = d.getYear();

		date 	+= "/";
		date	+= (d.getMonth() > 8) ? (Number(d.getMonth())+1) : ("0" + (Number(d.getMonth())+1));
		date	+= "/";
		date	+= (d.getDate() > 9) ? d.getDate() : ("0" + d.getDate());

		oOption.innerText = date;
		oOption.Value = val * SECS_PER_DAY;
	}
}
*/
function GetCurrentDate()
{
	var cur_time = new Date();
	var cur = cur_time.getTime();
	delete cur_time;
	return RV_DateRound(cur);
}
/*
function Set_Mode()
{
//	var h = (m_Mode == MODE_MONITOR) ? "hidden" : 'visible';
//	Search.style.visibility = h;
//	SpanSearch.style.visibility = h;

	if ( !WV_connect_true()) 
		return; 
		
	if ( m_Mode == MODE_MONITOR)
	{
//		Item(ID_SEARCH_SLIDER).Update(SET_NORMAL);
		m_Mode = MODE_REMOTE_PB;
	}
	else
	{
//		Item(ID_SEARCH_SLIDER).Update(SET_DISABLE);
		m_Mode = MODE_MONITOR;
	}

//	WV_refresh_connect_v(true);
	document.WebVw.SetMode(m_Mode);
//	if ( m_nMode == 0)
//	{
//		var cnt = select1.options.length;
//		for ( var i = 0; i < cnt; i++)
//			select1.options.remove(0);
//		return;
//	}

	Rem_Search();
}
*/
function RV_FillDates( )
{
	if ( m_Mode != MODE_REMOTE_PB || m_connected == false)
		return;
		
	document.WebVw.SetStorDate( curDate - m_UTC * 60);
	m_cntD = document.WebVw.GetDateCount( );
//	Search.begin 			= SearchTD_Left + 80; 
//	Search.MAX   			= SearchTD.width - 80;

	var curDate2 = 0;
	document.body.style.cursor = 'wait';
	for ( var i = 0; i < m_cntD; i++)
	{
		var dtN = document.WebVw.GetDateListN( i)  * 24 * 60 * 60;
		var date = new Date(dtN*1000);
		m_arrD[i] = date.getDate();
		curDate2 = dtN + (m_UTC * 60);
		delete date;
	//	AddDate(iDateList[i - 1]);
	}
//	ChangeMon(0);
	return curDate2;
}
/*
function Set_Date( idx)
{
	var curDate = m_iDateList[ m_iDateCount - idx - 1]; 
	document.WebVw.SetStorDate( curDate * 24 * 60 * 60);
}
*/
function RV_DateRound( dt)
{
	var cd = curDate; 
	if ( dt != 0)
		cd = Math.floor(dt/1000);

	m_UTC =	getUTC();
	return Math.floor((cd - (m_UTC * 60)) / 86400) * 86400 + (m_UTC * 60);
}

function RV_SetDate( dt, mode)
{
	m_pChnlBar.SetPos(0,0);
	m_pChnlBar.OnResize();
	
	if ( dt != 0)
		curDate = Math.floor(dt/1000);

	if ( m_connected ==  false)
	{
		m_locked = false;
		document.body.style.cursor = 'auto';
		return;
	}
		
	m_locked = true;
	if ( mode == false)
	{
		var curDate2 =	RV_FillDates( );
//		if ( curDate2 != 0)
//			curDate = curDate2;
	}
//	var date = new Date(curDate*1000);
	m_Time = curDate;
 
	document.body.style.cursor = 'wait';
	RV_SetPlaySpeed(0);
	document.WebVw.SetStorDate( curDate  - m_UTC * 60);
	WebVw.SetTime(curDate - m_UTC * 60);
	window.setTimeout("CreateLogInfo();", 100);
}

function getOffsetLeft (el) {
  var ol = el.offsetLeft;
  while ((el = el.offsetParent) != null)
    ol += el.offsetLeft;
  return ol;
}

function getOffsetTop (el) {
  var ot = el.offsetTop;
  while((el = el.offsetParent) != null)
   ot += el.offsetTop;
  return ot;
}

function RV_CreateThumb()
{
	var s = '<div "style:position:relative;"><img name="Thumb" border="0" src="bar.gif" onMouseUp="m_pChnlBar.ChangePos();"></div>';
	return s;
}

function RV_Create_VScroll()
{
	var ob = MM_findObj('SCRL');
	var s = RV_CreateScrollThumb();
	ob.innerHTML = s;
	
	var ob = MM_findObj('Scroll');
	ob.onmousemove = move_thumb;
	ob.onmousedown = down_thumb;		

	m_pVScroll = new CVScrollBar();		
}

function RV_CreateScrollThumb()
{
	var s = '<div id="Scroll" moveable=true style="position:relative;"><img name="ScrollThumb" onMouseUp="m_pVScroll.ScrollChnls();" style="position:relative; left:3; top:-18; width:11; height:11" border="0" src="drag_button.gif"></div>';
	return s;
}

function RV_Create_Slider()
{
	SearchTD_Top 			= 	getOffsetTop(SearchTD);
	SearchTD_Left			=	getOffsetLeft(SearchTD);

	var ob = MM_findObj('SearchTD');
	var s =	'<div  id = "Search" moveable=true style="position: absolute; visibility:hidden'+
	          'top: '+SearchTD_Top+'px; left:'+SearchTD_Left+'px;z-index:0;'+
	          'width: 17px;height:79px;'+
	          'background-color: #000000;'+
	          'filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);'+
	          'border: solid 0px blue" ></div>';
	ob.innerHTML = s;
	
	ob = MM_findObj('Search');
	s = RV_CreateThumb();
	ob.innerHTML = s;

	m_pSearchBar	= new CSearchBar();
	m_pChnlBar		= new CArrowCtrl(Search);

	//slider			
	Search.style.top		= SearchTD_Top;
	Search.style.left		= SearchTD_Left + 10;
	Search.begin 			= SearchTD_Left + 10; 
	Search.MAX   			= 480;
	//scale
	var ob = MM_findObj('SearchTD');
//	s = '<div ID="SpanSearch" "style=VISIBILITY:hidden;POSITION:absolute; top: '+SearchTD_Top+'px; left:'+SearchTD_Left+50+'px;'+
//         'width: 480px;height:79px;"> </div>';
//	ob.innerHTML += s;
	s = '<table width="520" border="0">';
	s += '<tr><td width = "12"></td><td height="15">';
	s + '</td></tr><tr><td width = "12"></td><td height="15">';
	s += m_pSearchBar.Create(0);
	s += '</td></tr><tr><td width = "12"></td><td height="15">';
	s += m_pSearchBar.Create(1);
	s += '</td></tr><tr><td width = "12"></td><td height="15">';
	s += m_pSearchBar.Create(2);
	s += '</td></tr><tr><td width = "12"></td><td height="15">';
	s += m_pSearchBar.Create(3);
	s += '</td></tr></table>';
//	ob = MM_findObj('SpanSearch');
	ob.innerHTML	+= s;
	document.body.style.cursor = 'auto';
}

function OnResize()
{
	//search bar	
	SearchTD_Top 			= 	getOffsetTop(SearchTD);
	SearchTD_Left			=	getOffsetLeft(SearchTD);
//	SpanSearch.style.left	= 	SearchTD_Left + 9;
//	SpanSearch.style.top	=	SearchTD_Top + 10;
	//slider			
	Search.style.top		= SearchTD_Top;
	Search.style.left		= SearchTD_Left + 10;
	Search.begin 			= SearchTD_Left + 10; 
	m_pChnlBar.OnResize();
}

function CreateLogInfo( )
{
/*
	for ( c = 0; c < 4; c++)
	{
		for ( i = 0; i < 24; i++)
			for ( j = 0; j < 10; j++)
				m_ptrLog[c*240+i*10+j] = WebVw.GetStorLog(c, i, j);
	
		m_pSearchBar.OnPaint(c);
	}
	m_locked = false;
	document.body.style.cursor = 'auto';
*/

	document.body.style.cursor = 'wait';	

	var temp = WebVw.GetStorLog2();
	m_ptrLog = temp.toArray();
	
	for(i=0; i<4; i++)
		m_pSearchBar.OnPaint(i);
		
	m_locked = false;
	document.body.style.cursor = 'auto';
}

function PaintLogInfo(ch)
{
	for(chnl=0; chnl<4; chnl++)
	{
//		m_pSearchBar.Clear(chnl);
		m_pSearchBar.OnPaint2(chnl, ch-1);		
		ch++;
	}
}

function RV_init()
{
	m_Mode	= MODE_REMOTE_PB;
//	RV_CreateTimer();
	writeCalendar( MM_findObj('B_day'));
	document.body.style.cursor = 'wait';
	window.setTimeout("RV_Create_Slider()", 100);
	window.setTimeout("RV_Create_VScroll()", 200);
//	document.body.style.cursor = 'auto';
}

function RV_SetPlaySpeed( sp)
{
	count = 0;			
//	m_BarMode = BAR_SEARCH;
	WebVw.SetPlaySpeed(sp);
	window.setTimeout( "m_BarMode = BAR_PLAY", 1000);
}

var count = 0; 
function RV_SetTime( iTime)
{
	if ( m_Mode == MODE_MONITOR) // hjyang 2007.03.02
		return;

	if ( m_BarMode == BAR_SEARCH || m_locked == true)
		return;
		
	m_Time = iTime + (m_UTC * 60);
	var date   = new Date( m_Time * 1000);

	if ( count++ < 7)
		return;

	if ( dd != date.getDate() && m_locked == false){
//		window.status =  "change day";
		m_locked = true;

		curDate = RV_DateRound(date);//m_Time;
		if ( mm != date.getMonth())
			RV_FillDates( );

//		alert(date.getMonth() - mm); //hjyang 2007.03.02
		ChangeMon( date.getMonth() - mm, false);
		window.setTimeout("CreateLogInfo();", 100);
	}

	m_pChnlBar.SetPos( date.getHours(), 
		Number(date.getMinutes()*60+date.getSeconds()));
		
	delete date;
//	m_pChnlBar.GetPos();
//	iHour = m_pChnlBar.piHour;
//	alert((iTime%86400)/3600  +  "  " + iTime%3600);
//	m_pChnlBar.SetPos((iTime%86400)/3600 ,iTime%3600);
}

