function prev(ts, m_id, a_id, ma_id, mi_id, ms_id)
{
    document.forms[0].timestamp.value = ts;
    document.forms[0].timeframe.value = 'month';
    document.forms[0].select_id.value = 'mn'+ts;
	if (m_id && document.forms[0].eccd_menu_id)
	{
		document.forms[0].eccd_menu_id.value = m_id;
	}
	if (a_id && document.forms[0].eccd_action_id)
	{
		document.forms[0].eccd_action_id.value = a_id;
	}
	if (ma_id && document.forms[0].eccd_module_action_id)
	{
		document.forms[0].eccd_module_action_id.value = ma_id;
	}
	if (mi_id && document.forms[0].eccd_module_instance)
	{
		document.forms[0].eccd_module_instance.value = mi_id;
	}
	if (ms_id && document.forms[0].eccd_module_selection)
	{
		document.forms[0].eccd_module_selection.value = ms_id;
	}                     
    document.forms[0].submit();
}
function next(ts, m_id, a_id, ma_id, mi_id, ms_id)
{
    document.forms[0].timestamp.value = ts;
    document.forms[0].timeframe.value = 'month';
    document.forms[0].select_id.value = 'mn'+ts;
	if (m_id && document.forms[0].eccd_menu_id)
	{
		document.forms[0].eccd_menu_id.value = m_id;
	}
	if (a_id && document.forms[0].eccd_action_id)
	{
		document.forms[0].eccd_action_id.value = a_id;
	}
	if (ma_id && document.forms[0].eccd_module_action_id)
	{
		document.forms[0].eccd_module_action_id.value = ma_id;
	}
	if (mi_id && document.forms[0].eccd_module_instance)
	{
		document.forms[0].eccd_module_instance.value = mi_id;
	}
	if (ms_id && document.forms[0].eccd_module_selection)
	{
		document.forms[0].eccd_module_selection.value = ms_id;
	}                                                    
    document.forms[0].submit();
}
function sel_day(ts, m_id, a_id, ma_id, mi_id, ms_id)
{
    document.forms[0].timestamp.value = ts;
    document.forms[0].timeframe.value = 'day';
    document.forms[0].select_id.value = ts;
	if (m_id && document.forms[0].eccd_menu_id)
	{
		document.forms[0].eccd_menu_id.value = m_id;
	}
	if (a_id && document.forms[0].eccd_action_id)
	{
		document.forms[0].eccd_action_id.value = a_id;
	}
	if (ma_id && document.forms[0].eccd_module_action_id)
	{
		document.forms[0].eccd_module_action_id.value = ma_id;
	}
	if (mi_id && document.forms[0].eccd_module_instance)
	{
		document.forms[0].eccd_module_instance.value = mi_id;
	}
	if (ms_id && document.forms[0].eccd_module_selection)
	{
		document.forms[0].eccd_module_selection.value = ms_id;
	}
    document.forms[0].submit();
}
function sel_month(ts)
{
    document.forms[0].timestamp.value = ts;
    document.forms[0].timeframe.value = 'month';
    document.forms[0].select_id.value = 'mn'+ts;
    document.forms[0].submit();
}
function sel_week(ts)
{
	document.forms[0].timestamp.value = ts;
    document.forms[0].timeframe.value = 'week';
    document.forms[0].select_id.value = 'cw'+ts;
    document.forms[0].submit();					
}
function sel_year(ts)
{
    document.forms[0].timestamp.value = ts;
    document.forms[0].timeframe.value = 'year';
    document.forms[0].select_id.value = 'yr'+ts;
    document.forms[0].submit();
}
function today()
{
	var date = new Date();
	var day = date.getDate();
	var mon = date.getMonth();
	var year = date.getFullYear();
	
	var today = new Date(year,mon,day);
	ts = today.getTime() / 1000;
    sel_day(ts);
}
var old_select = 0;
function mark_up(id)
{
	if(! id)
		return;
    if(old_select)
        document.getElementById(old_select).bgColor = document.getElementById(id).bgColor;
    document.getElementById(id).bgColor = '#FFDD00';
    old_select = id;
}
function refresh()
{
	document.forms[0].submit();
}
function scroll_prev()
{
	var ts = Math.floor(document.forms[0].timestamp.value);
	var tf = document.forms[0].timeframe.value;
	var date = new Date(ts * 1000);
	
	switch(tf)
	{
		case 'day'		:	mday = date.getDate();
							date.setDate(mday - 1);
							ts = Math.floor(date.getTime() / 1000);
							document.forms[0].timestamp.value = ts;
							document.forms[0].select_id.value = ts;
							break;
							
		case 'week'		:	mday = date.getDate();
							date.setDate(mday - 7);
							ts = Math.floor(date.getTime() / 1000);
							document.forms[0].timestamp.value = ts;
							document.forms[0].select_id.value = 'cw'+ts;
							break;
							
		case 'month'	:	mn = date.getMonth();
							yr = date.getFullYear();
							if(mn == 0)
								yr--;
							mn = (mn > 0)? mn - 1 : 11;
							date.setMonth(mn);
							date.setFullYear(yr);
							ts = Math.floor(date.getTime() / 1000);
							document.forms[0].timestamp.value = ts;
							document.forms[0].select_id.value = 'mn'+ts;
							break;
							
		case 'year'		:	yr = date.getFullYear();
							yr--;
							date.setFullYear(yr);
							ts = Math.floor(date.getTime() / 1000);
							document.forms[0].timestamp.value = ts;
							document.forms[0].select_id.value = 'yr'+ts;
							break;
							
		default			:	break;
	}
	document.forms[0].submit();	
	
}
function scroll_next()
{
	var ts = Math.floor(document.forms[0].timestamp.value);
	var tf = document.forms[0].timeframe.value;
	var date = new Date(ts * 1000);
	
	switch(tf)
	{
		case 'day'		:	mday = date.getDate();
							date.setDate(mday + 1);
							ts = Math.floor(date.getTime() / 1000);
							document.forms[0].timestamp.value = ts;
							document.forms[0].select_id.value = ts;
							break;
							
		case 'week'		:	mday = date.getDate();
							date.setDate(mday + 7);
							ts = Math.floor(date.getTime() / 1000);
							document.forms[0].timestamp.value = ts;
							document.forms[0].select_id.value = 'cw'+ts;
							break;
							
		case 'month'	:	mn = date.getMonth();
							yr = date.getFullYear();
							if(mn == 11)
								yr++;
							mn = (mn < 11)? mn + 1 : 0;
							date.setMonth(mn);
							date.setFullYear(yr);
							ts = Math.floor(date.getTime() / 1000);
							document.forms[0].timestamp.value = ts;
							document.forms[0].select_id.value = 'mn'+ts;
							break;
							
		case 'year'		:	yr = date.getFullYear();
							yr++;
							date.setFullYear(yr);
							ts = Math.floor(date.getTime() / 1000);
							document.forms[0].timestamp.value = ts;
							document.forms[0].select_id.value = 'yr'+ts;
							break;
							
		default			:	break;
	}
	document.forms[0].submit();	
}
function select_sensor(idx,offset)
{
	offset = (idx < 0)? 0 : offset;
	document.forms[0].y_offset.value = offset;
    document.forms[0].select_sensor.value = idx;
    document.forms[0].submit();	
}
function cfg_sensor()
{
	document.forms[0].config_sensor.value = (document.forms[0].config_sensor.value == 1)? 0 : 1;
	document.forms[0].submit();	
}
function change_unit()
{
	if(document.forms[0].scale_unit.value == 'C')
		document.forms[0].scale_unit.value = 'F';
	else
		document.forms[0].scale_unit.value = 'C';
	document.forms[0].submit();	
}
function scroll_scale(os)
{
	offset = Math.floor(document.forms[0].y_offset.value);
	offset += Math.floor(os);
	document.forms[0].y_offset.value = offset;
	document.forms[0].submit();
}
var sel_sensor = 0;
var sel_col = 0;
function color_select(val)
{
	if(! val.match(/#/))
	{
		sel_sensor = val;
		if(sel_col)
		{
			document.getElementById(val).value = sel_col;
			watch_input_color(val);
			sel_col = 0;
		}
	}
	else
	{
		sel_col = val;
		if(sel_sensor)
		{
			document.getElementById(sel_sensor).value = val;
			watch_input_color(sel_sensor);
			sel_col = 0;
		}
	}
}
function watch_input_color(id)
{
	if(document.getElementById(id).value.match(/^\s*#([0-9]|[a-f])+\s*$/i))
		document.getElementById(id).style.color = dynamic_color(document.getElementById(id).value);
	else
		document.getElementById(id).style.color = '#000000';
		
}
function dynamic_color(color_string)
{
	ret_col = '#';
	for(i=1;i<7;i++)
	{
		ret_col += (color_string.charAt(i).match(/([0-9]|[a-f])/i))? color_string.charAt(i) : '0';
	}
	return ret_col;
}
function check_number()
{
	var message = (document.forms[0].language.value == 'de')? "Formatfehler!" : "format error";
	if(	document.forms[0].new_phone.value.match(/\D/)
		|| ! document.forms[0].new_phone.value.match(/\d+/))
	{
		alert(message);
		document.forms[0].new_phone.focus();
		return false;
	}
	for(i=0;i<document.forms[0].phone_list.length;i++)
	{
		if(document.forms[0].phone_list[i].value == document.forms[0].new_phone.value)
			return false;
	}
	
	
	return true;	
}
function renew_phone_list()
{
	document.forms[0].phones.value = '';
	for(i=0;i<document.forms[0].phone_list.length;i++)
	{
		if(i)
			document.forms[0].phones.value += "#";
		document.forms[0].phones.value += document.forms[0].phone_list.options[i].value;
	}
}
function add_phone()
{
	if(check_number())
	{
		var len = document.forms[0].phone_list.length;
		document.forms[0].phone_list.options[len] =  new Option();
		document.forms[0].phone_list.options[len].text = document.forms[0].new_phone.value;
		document.forms[0].phone_list.options[len].value = document.forms[0].new_phone.value;
		document.forms[0].new_phone.value = '';
		document.forms[0].change_phones.value = 1;
	}
}
function rem_phone()
{
	var idx = document.forms[0].phone_list.selectedIndex;
	var len = document.forms[0].phone_list.length;
	var message = (document.forms[0].language.value == 'de')? "Nummer auswählen!" : "select number!";
	if(idx >= 0)
	{
		document.forms[0].new_phone.value = document.forms[0].phone_list[idx].text;
		for(i=idx;i < len - 1;i++)
		{
			document.forms[0].phone_list[i].text = document.forms[0].phone_list[i+1].text;
			document.forms[0].phone_list[i].value = document.forms[0].phone_list[i+1].value;
		}
		document.forms[0].phone_list.length = i;
		document.forms[0].change_phones.value = 1;
	}
	else
		alert(message);
}
function extend()
{
	document.forms[0].extend.value = (document.forms[0].extend.value == 1)? 0 : 1;
	document.forms[0].submit();	
}
function set_language(lang)
{
	document.forms[0].language.value = lang;
	document.forms[0].submit();
}

function svr_time(servertime,lang)
{
	var now = new Date();
    now.setTime(servertime);

    var day = now.getDate();
    var mon = now.getMonth() + 1;
    var year = now.getFullYear();
    var hour = now.getHours();
    var min  = now.getMinutes();
    var sec  = now.getSeconds();

    mon =  (mon < 10)?  '0' + mon  : mon;
    day =  (day < 10)?  '0' + day  : day;
    hour = (hour < 10)? '0' + hour : hour;
    min =  (min < 10)?  '0' + min  : min;
    sec =  (sec < 10)?  '0' + sec  : sec;

	if(lang == 'de')
		SRTime = day+"."+mon+"."+year+" "+hour+":"+min+":"+sec;
	else
    	SRTime = year+"-"+mon+"-"+day+" "+hour+":"+min+":"+sec;
	document.getElementById("svrclk").innerHTML = SRTime;
    servertime += 1000;
    window.setTimeout("svr_time("+servertime+",'"+lang+"')",1000);
	
}


