function get_id(id_or_ele) {
	return (typeof(id_or_ele) == 'object') ? id_or_ele.id : id_or_ele;
}
function get_ele(id_or_ele) {
	return (typeof(id_or_ele) == 'object') ? id_or_ele : id2Element(id_or_ele);
}

function id2Element(idStr) {
//	if (typeof arguments[0] == 'object') return idStr;
	var ele = null;
	if (document.getElementById) {
		ele = document.getElementById(idStr);
	} else if (document.all){
		ele = document.all[idStr];
	} else if (document.layers){
		ele = document.layers[idStr];
	}
	return ele;
}


function toggle_class(ids, targetClass1, targetClass2) {
	for (i=0; i < ids.length; i++){ 
		idStr = ids[i];
		ele = get_ele(idStr);
		if (ele.className == targetClass1) ele.className = targetClass2;
		else ele.className = targetClass1;
	}
}


function toggle_style(id, attrib, val1, val2) {
	ele = id2Element(id);
	ele.style[attrib] = (ele.style[attrib] == val1) ? val2 : val1;
}

function toggle_display(id, display_type) {
	if (!display_type) display_type = 'inline';
	toggle_style(id, 'display', 'none', display_type);
}

function id2ElementArray(ids) {
	str_arr = ids.split(",");
	ret_arr = new Array();
	for (i=0; i<str_arr.length; i++) { ret_arr[i] = id2Element(str_arr[i]); }
	return ret_arr;
}



function nl2br( str ) {
     // return str.replace(/([^>])\n/g, '$1<br/>');
     return str.replace(/\n/g, '<br/>');
}

function box_mode_change(id_or_ele) {
	id_prefix = get_id(id_or_ele);
	ele_toggle = get_ele(id_prefix + '_toggle');
	ele_1 = get_ele(id_prefix);
	ele_2 = get_ele(id_prefix + '_2');
	var box_ele_arr = new Array(ele_1, ele_2);

	toggle_class(box_ele_arr, 'box_active', 'box_inactive'); 
	if (ele_2.className == 'box_active') ele_2.innerHTML = nl2br(ele_1.innerHTML);
}

function textarea_toggle_size(id_or_ele, rows) {
	textarea = get_ele(id_or_ele);
	textarea.full = ! textarea.full; if (! textarea.orig_rows) textarea.orig_rows = textarea.rows;
	if (textarea.full) textarea.rows = rows;
	else textarea.rows = textarea.orig_rows;
//	textarea.focus();
}





function set_dependent_style(id, postfix, style) {
	dependent_ele = get_ele(id + postfix);
	if (dependent_ele) {
		dependent_ele.style['fontWeight'] = style;
	}
}

function set_checked_prefix(id_prefix, on_off) { 
	ele_arr = getElementsByIdPrefix(id_prefix, 'input');
	if (on_off == 'toggle') {
		on_off = 0; for (i=0; i<ele_arr.length; i++) { if (!ele_arr[i].checked) on_off = 1; }
	} 		
	for (i=0; i<ele_arr.length; i++) { set_checked(ele_arr[i], on_off); }
}

function set_checked(id_or_ele, on_off) { 
	id = get_id(id_or_ele); ele = get_ele(id_or_ele);
//	label_ele = get_ele(id + '_label'); 
//	if (!on_off && label_ele) label_ele.style['fontWeight'] = on_off ? 'bold' : 'normal';
//	set_dependent_style(id, '_label', on_off ? 'bold' : 'normal');
	ele.checked = on_off; 
}
function set_enabled_prefix(id_prefix, on_off) { 
	ele_arr = getElementsByIdPrefix(id_prefix, 'input'); 
	for (i=0; i<ele_arr.length; i++) { set_enabled(ele_arr[i], on_off); }
}
function set_enabled(id_or_ele, on_off) { 
	id = get_id(id_or_ele); ele = get_ele(id_or_ele);
	label_ele = get_ele(id + '_label'); 
	if (label_ele) {
		if (!on_off) label_ele.style['fontWeight'] = 'normal';
		label_ele.disabled = !on_off;
	}
	ele.disabled = !on_off; 
}




function getElementsByIdPrefix(id_prefix, filter_tag_name) {
	if (!filter_tag_name) filter_tag_name = "*";
	ele_arr = document.getElementsByTagName(filter_tag_name);
	ret_arr = new Array(); inc = 0;
	for (i=0; i<ele_arr.length; i++) {
		ele = ele_arr[i];
		if (ele.id.indexOf(id_prefix) == 0) { ret_arr[inc++] = ele; }
	}
	return ret_arr;
}
function activate_checkboxes_by_id(id_prefix, do_check) {
	// ele_arr = getElementsByIdPrefix('tr_'+id_prefix, 'tr');
	ele_arr = getElementsByIdPrefix(id_prefix, 'input');
	for (i=0; i<ele_arr.length; i++) {
		ele = ele_arr[i];
		ele_arr[i].checked = do_check;
		checkbox_changed(ele_arr[i]);
	}
}


var reset_colors;
function reset_style(ids) {
	for (i=0; i < reset_colors.length; i++){ 
		ele = id2Element(ids[i]);
		ele.style['backgroundColor'] = reset_colors[i];
	}
}
function set_style(ids, attrib, value) {
	reset_colors = new Array();
	for (i=0; i < ids.length; i++){ 
		ele = id2Element(ids[i]);
		reset_colors[i] = ele.style[attrib];
		ele.style[attrib] = value;
	}
}

function set_val( toID, val ) {
	to_ele = id2Element(toID);
	to_ele.value = val;
}
function get_val( fromID ) {
	from_ele = id2Element(fromID);
	return from_ele.value;
}

function copy_val( fromID, toID ) {
	set_val ( toID, get_val(fromID) );
	// to_ele = id2Element(toID); 
	// to_ele.value = get_val(fromID);
}

/****************************************************************************************************************************/
function remove_element(id){
  var element = document.getElementById('id');
  // if (element) element.removeChild(scriptTag);
}
function create_element(parent_id, new_tag){
	var parent = document.getElementById(parent_id);
	if (parent) {
		new_element = document.createElement(new_tag);
		parent.appendChild(new_element);
		return new_element;
	}
}
function create_element_by_tag(parent_tag, nr, new_tag){
	var parent = document.getElementsByTagName(parent_tag).item(nr);
	if (parent) {
		new_element = document.createElement(new_tag);
		parent.appendChild(new_element);
		return new_element;
	}
}

var included_cnt = 0;
function include_dom(script_filename) {
    var head = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('language', 'javascript');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', script_filename);
	included_cnt++; js.setAttribute('id', 'script_' + included_cnt);
    head.appendChild(js);
    return false;
}

var included_files = new Array();
function include_once(script_filename) {
    if (!in_array(script_filename, included_files)) {
        included_files[included_files.length] = script_filename;
        include_dom(script_filename);
    }
}

function in_array(needle, haystack) {
    for (var i = 0; i < haystack.length; i++) {
        if (haystack[i] == needle) { return true; }
    }
    return false;
}

onload_code = new Array();
function on_load_eval(code){ onload_code[onload_code.length] = code; }
function on_load(){ 
    for (var i = 0; i < onload_code.length; i++) { 
		eval(onload_code[i]);
	}
	// ele = create_element('id_js', 'p');
}

// window.onload = on_load;









var timer_end, timer_cnt, timer_fkt;
function update_timer () {
	timer_cnt += 10;
	if (timer_cnt >= timer_end) clearInterval(timer_fkt);
	ele = get_ele('aktion_img_id');
	if (ele && (timer_cnt > 0)) {
		ele.style["opacity"] = (timer_cnt / timer_end) * 100 + '%';
	}
/*	
	label_ele = get_ele('countdown_label');
	bar_ele = get_ele('countdown_bar');

	percent_to_go = countdown_rest_sec / countdown_start_sec;
	x = 1.0 - percent_to_go;

	bar_ele.style['width'] = round(percent_to_go * 100) + '%';
	
	if (countdown_rest_sec < 120) { 
		label_ele.style['color'] = 'red'; label_ele.style['fontWeight'] = 'bold'; 
		label_ele.innerHTML = countdown_rest_sec + " sek."; 
	} else  { 
		label_ele.innerHTML = round(countdown_rest_sec/60) + " min."; 
	}

	r = 0; g = 255; b = 0;
	
	if (x < 0.3) { r = 0; }
	else if (x < 0.7) { r = (1/0.4) * (x-0.3) * 255; }
	else  { r = 255;  }

	if (x < 0.7) { g = 255; }
	else if (x < 0.9) { g = 255 - (1/0.2) * (x - 0.7) * 255; }
	else { g = 0; }

	//	g = (percent_to_go > 0.5) ? 255 : 2* percent_to_go * 255;
	
	
	bar_ele.style['backgroundColor'] = 'rgb(' + round(r) + ',' + round(g) + ',' + b + ')';
*/
}


function timer (h_sec) {
	timer_end = h_sec;
//	countdown_start_sec = 30;
	timer_cnt = 0;
//	countdown_rest_sec = 125;
    update_timer ();
    timer_fkt = window.setInterval ('update_timer ()', 10);
}
