
var enable_register = false;
var real_submit = false;

function BY_ID(id)
{
	return document.getElementById(id);
}

function BY_NAME(name)
{
	return document.getElementsByName(name);
}

function IS_VISIBLE(e)
{
	return e.style.display == 'block';
}

function IS_EE(x)
{
	for (t in domtypes) {
		if (domtypes[t] == 1 && x == t)
			return true;
	}
	return false;
}

function toggle_visibility(id)
{
	var e = BY_ID(id);
	e.style.display = (IS_VISIBLE(e) ? 'none' : 'block');
}

function change_button_text(id, s, i)
{
	var e = BY_ID(id + '_img'); 
	// e.innerHTML = '&raquo; ' + s;
	// i.src = 'images/button_' + i +'.gif';
	// alert('cbt: -> '+ i);
	e.src = 'images/button_' + i +'.gif';
}

function debug(s)
{
	// alert(s);
}

function get_selected_domtype()
{
	var e = BY_ID('domtype');
	if (e)
		return e.options[e.selectedIndex].value;
	return false;
}

function set_selected_domtype(dt)
{
	var e = BY_ID('domtype');

	for (var i = 0; i < e.options.length; i++) {
		if (e.options[i].value == dt) {
			e.selectedIndex = i;
			break;
		}
	}
}

function get_regtype()
{
	var e = BY_ID('regtype_new');
	return (!e || e.checked) ? 0 : 1;
}

function on_change_domtypes(dt)
{
	var id = 'dt_' + dt;
	var e = BY_ID(id);
	var sdt = get_selected_domtype();
	var sdtee = IS_EE(sdt);

	if (IS_EE(dt)) {
		var l = BY_NAME('domtypes[]')
		for (var i = 0; i < l.length; i++) {
			if (IS_EE(l[i].value) && l[i].id != id) {
				if (e.checked) {
					l[i].checked = false;
					l[i].disabled = true;
				} else {
					l[i].checked = false;
					l[i].disabled = false;
				}
			}
		}
		if (sdtee && dt != sdt && e.checked) 
			set_selected_domtype(dt);
	}
}

function on_change_domtype()
{
	var e = BY_ID('domtype');
	var l = BY_NAME('domtypes[]');
	var cur_dt = (e ? e.options[e.selectedIndex].value : '');
	var cflag = IS_EE(cur_dt);
	var tflag = get_regtype();

	for (var i = 0; i < l.length; i++) {
		dt = l[i].value.replace('dt_', '');
		if (domtypes[dt] == 1 && cflag && !tflag) {
			l[i].checked = (dt == cur_dt);
			l[i].disabled = (dt == cur_dt ? false : cflag);
		}	
	}
}

function on_change_regtype(t)
{
	var es = BY_NAME('domtypes[]');

	for (var i = 0; i < es.length; i++) {
		es[i].checked = (t ? false : es[i].checked);
		es[i].disabled = t;
	}

	if (BY_ID('regtype_new'))
	{
		if (t)
			change_button_text('domain_box_button', 'Alusta kolimist', 'vali');
		else {
			change_button_text('domain_box_button', 'Kontrolli saadavust', 'kontrolli');
			on_change_domtype();
		}
	}
}

function on_click_order_domtypes(dt)
{
}

function on_click_button(s)
{
	real_submit = false;
	if (document.main_form.main_button) 
	{
		document.main_form.main_button.value = s;
		if (s == 'order_results')
			document.main_form.action = '/domeeni-registreerimine';
		document.main_form.submit();
	}
}

function on_click_register()
{
	debug("click_register!");
	real_submit = true;
}

function on_submit()
{
	// alert('rs='+ real_submit +'\ner='+enable_register);
	if (real_submit && !enable_register)
		return false;
	return true;
}

function on_change_packet()
{
	var p = BY_ID('packet');
	var i = BY_ID('interval');

	if (!rsflag && p && i)
	{
		while (pperiods[p.options[p.selectedIndex].value] > i.options[i.selectedIndex].value
		  && i.selectedIndex <= i.options.length)
		{
			i.selectedIndex++;
		}
	}
}

function copy_data(src, dst)
{
	for (f in contact_fields) {
		var src_id = src + '_' + f;
		var dst_id = dst + '_' + f;
		var src_elem = BY_ID(src_id);
		var dst_elem = BY_ID(dst_id);
		if (dst_id == "bill_payername") {
			var val = '';
			var e = BY_ID(src + '_orgname');
			if (e && e.value != '')
			{
				// debug("payername <- "+ src + "_orgname");
				val = e.value;
			}
			else 
			{
				var e1 = BY_ID(src + '_firstname');
				var e2 = BY_ID(src + '_lastname');
				// debug("payername <- "+ src + "_(first|last)name\ne1=" + e1 +"\ne2=" + e2);
				if (e1 && e2 && e1.value != '' && e2.value != '')
					val = e1.value + ' ' + e2.value;
			}
			dst_elem.value = val;
		} else if (src_elem && dst_elem) {
			if (contact_fields[f] == 'select')
				dst_elem.options[src_elem.selectedIndex].selected = true;
			else if (src_elem.value != '')
				dst_elem.value = src_elem.value;
		}
	}

}

function sanity_check()
{
	var bs = BY_NAME('button');

	// show/enable buttons
	for (var i = 0; i < bs.length; i++) 
	{
		bs[i].style.display = 'inline';
		bs[i].disabled = false;
		var e = BY_ID(bs[i].id + '_img');
		if (e)
		{
			e.disabled = false;
			e.style.display = 'inline';
		}
	}

	// change domtypes checkboxes
	on_change_domtypes(get_selected_domtype());
	on_change_domtype();
	if (get_regtype() == 1)
		on_change_regtype(1);

	var b = BY_ID('register');
	if (b)
		b.style.display = (enable_register ? 'block' : 'none');
	
	on_change_packet();
}

function disable_enter()
{
	return window.event.keyCode != 13;
}


function scroll_fun()
{
}
