var windows = 0;

function silentSubmit(f) {
	f.elements['silent'].value = 1;
	f.submit();
}

function createTableRow(f, _, c) {
	var tr = document.createElement('TR');
	if(c)
		tr.className = c;
	for(var i=0;i<_.length;i++) {
		var td = document.createElement('TD');
		if(_[i][0]=='text') {
			td.style.fontWeight = 'bold';
			td.innerHTML = _[i][1];
			if(_[i][2])
				td.colspan = _[i][2];
			if(_[i+1] && _[i+1][0]=='textarea')
				td.style.verticalAlign = 'top';
		}
		else if(_[i][0]=='input') {
			var input = document.createElement('INPUT');
			input.type = 'text';
			input.name = _[i][1];
			input.style.width = _[i][2];
			td.appendChild(input);
		}
		else if(_[i][0]=='textarea') {
			var input = document.createElement('TEXTAREA');
			input.name = _[i][1];
			input.style.width = _[i][2];
			input.style.height = _[i][3];
			td.appendChild(input);
		}
		else if(_[i][0]=='select') {
			var input = document.createElement('SELECT');
			input.name = _[i][1];
			input.style.width = _[i][2];
			var opts = f.elements[_[i][3]].value.split(',');
			for(var j=0;j<opts.length;j++) {
				var option = document.createElement('OPTION');
				option.value = opts[j];
				option.text = opts[j];
				input.options[input.options.length] = option;
			}
			td.appendChild(input);
		}
		tr.appendChild(td);
	}
	return tr;
}

function owningTableRow(e) {
	return owningElement(e, 'TR');
}

function owningTableBody(e) {
	return owningElement(e, 'TBODY');
}

function owningElement(e, t) {
	return e.tagName==t?e:owningElement(e.parentNode, t);
}

function toClip(str) {
	if(window && window.clipboardData && window.clipboardData.setData)
	    window.clipboardData.setData('Text', str);
	else {
		var s = document.getElementById('displayClipData');
		if(str) {
			s.style.borderStyle = 'dashed';
			s.style.borderWidth = '1px';
			s.style.borderColor = '#c0c0c0';
			s.style.marginRight = '3px';
			s.style.padding = '2px';
		}
		else
			s.style.borderWidth = '0px';
		s.innerHTML = str;
	}
}

function openWindow(a, width, height, noscroll) {
	window.open((typeof a)=='string'?a:a.href, 'Window'+(windows++), 'width='+width+',height='+height+',address=no,status=no,scrollbars='+(noscroll?'no':'yes'));
}

function elementPos(o) {
	var r = {x:o.offsetLeft,y:o.offsetTop};
	if(o.offsetParent) {
		var t = elementPos(o.offsetParent);
		r.x+=t.x;
		r.y+=t.y;
	}
	return r;
}
