var request = null;

function show(id)
{
	document.getElementById(id).style.display = '';
}

function hide(id)
{
	document.getElementById(id).style.display = 'none';
}

function showHide(id)
{
	var e = document.getElementById(id);
	if (e.style.display == 'none') e.style.display = ''; else e.style.display = 'none'; 	
}

function selectMenu(id)
{
	document.getElementById(id).className = 'selected';
}

function checkForm(form)
{
	var email = /^.+@.+\..{2,3}$/;
	
	for (i = 0; i < form.elements.length; i++)
	{
		var e = form.elements[i];
		var required = e.getAttribute('required');
		var validate = e.getAttribute('validate');

		if (required == 'yes' && e.value == '')
		{
			alert('Please enter all required fields (fields with symbol *).'); 
			return false; 
		}

		if (validate == 'email' && e.value != '' && !email.test(e.value))
		{
			alert('Please enter valid email address.'); 
			return false; 
		}
	}
	
	return true;
}

function addAdditionalSlot(tableRow)
{
	table = tableRow.parentNode;
	newTableRow = table.rows[tableRow.rowIndex - 1].cloneNode(true);
	table.insertBefore(newTableRow, tableRow);

	for (var i = 0; i < newTableRow.cells[1].childNodes.length; i++)
	{
		node = newTableRow.cells[1].childNodes[i];
		if (node.tagName == 'INPUT') node.value = '';
	}
}

function deleteAdditionalSlot(tableRow, elementName)
{
	if (document.getElementsByName(elementName).length == 1) return;
	tableRow.parentNode.removeChild(tableRow);
}

function getRequest()
{
	if (window.XMLHttpRequest) request = new XMLHttpRequest(); 
	if (window.ActiveXObject)
	{
		try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) 
		{ request = new ActiveXObject("Microsoft.XMLHTTP"); }
	}

	if (request.overrideMimeType) request.overrideMimeType('text/xml');
    if (!request) { alert('ould not create XMLHTTP object'); return false; }
	return request;
}

function sendRequest(url, handler)
{
	request = getRequest();
	request.onreadystatechange = handler;
	request.open('GET', url, true);
	request.setRequestHeader('If-Modified-Since', 'Wed, 15 Nov 1995 00:00:00 GMT');
	request.send(null);
}

function sendForm(form, handler)
{
	var url = '';
	for (var i = 0; i < form.elements.length; i++)
	{	
		var node = form.elements[i];

		if (node.type == 'submit') continue;
		if (node.type == 'button') continue;

		if (url != '') url += '&';
		url += node.name + '=' + node.value;
	}

	url = form.action + '?' + url;
	sendRequest(url, handler);
	return false;
}

function deleteItems(handlerURL)
{
	var code = confirm('Do you want to delete selected items?');
	if (!code) return;

	query = '';
	var inputs = document.getElementsByTagName('input');
	for (var i = 0; i < inputs.length; i++)
	{	
		var input = inputs[i];
		if (input.type == 'checkbox' && input.checked && input.name == 'mark[]') 
		{
			if (query != '') query += '&';
			query += input.value
		}
	}

	query = handlerURL + '?' + query;
    
	request = getRequest();
	request.onreadystatechange = deleteRequestHandler;
	request.open('GET', query, true);
	request.setRequestHeader('If-Modified-Since', 'Wed, 15 Nov 1995 00:00:00 GMT');
	request.send(null);
}

function deleteRequestHandler()
{
	if (request.readyState != 4) return;
	if (request.status != 200) return;
	
	var values = request.responseText.split(';');
	var iv = 0;
	
	var inputs = document.getElementsByTagName('input');
	for (var i = 0; i < inputs.length; i++)
	{	
		var input = inputs[i];

		if (input.type == 'checkbox' && input.checked && input.name == 'mark[]') 
		{
			if (values[iv] == input.value)
			{
				var tableRow = input.parentNode.parentNode;
				tableRow.parentNode.removeChild(tableRow);
				i--; iv++;
			}
		}
	}
}