/* scripts for /calc page */

var mt_selected = 'k';

// selecting movie type
function mt_select(obj)
{
	// hiding
	document.getElementById(mt_selected + 'movie').style.display = 'none';
	
	mt_selected = obj.value;
	
	//showing
	document.getElementById(mt_selected + 'movie').style.display = 'block';
}

// browser detection
var an = navigator.appName, ua = navigator.userAgent.toLowerCase();
var display_val;
if ((an == "Microsoft Internet Explorer") && (ua.indexOf("opera") == -1))
{
	display_val_tb = 'block';
	display_val_row = 'block';
}
else
{
	display_val_tb = 'table-row-group';
	display_val_row = 'table-row';
}

// hiding place parts
var k_place_geo_val = '1';
function k_place_geo_change(obj)
{
	var tb1 = document.getElementById('k_tb_place_1');
	var tb2 = document.getElementById('k_tb_place_2');
	var tb3 = document.getElementById('k_tb_place_3');
	
	if (obj.value != k_place_geo_val)
	{
		if (obj.value == '1')
		{
			tb1.style.display = display_val_tb;
			tb2.style.display = display_val_tb;
			tb3.style.display = display_val_tb;
		}
		else
		{
			tb1.style.display = 'none';
			tb2.style.display = 'none';
			tb3.style.display = 'none';
		}
		k_place_geo_val = obj.val;
	}
}

// switching rows visibility
function switch_rows(obj, tbody_id)
{
	var tbody = document.getElementById(tbody_id);
	
	var row = getFirstChild(tbody);
	
	var val = obj.checked;
	while (row = getNextSibling(row))
	{
		if (val)
			row.style.display = display_val_row;
		else
			row.style.display = 'none';
	}
}

// hiding animation complexity blocks
var a_cplx_val = '1';
function a_cplx_change(obj)
{
	var tb1 = document.getElementById('a_tb_cplx_1');
	var tb2 = document.getElementById('a_tb_cplx_2');
	
	if (obj.value != a_cplx_val)
	{
		if ((obj.value == '1') || (obj.value == '2') || (obj.value == '3'))
		{
			tb1.style.display = display_val_tb;
			tb2.style.display = 'none';
		}
		else
		if (obj.value == '4')
		{
			tb1.style.display = 'none';
			tb2.style.display = display_val_tb;
		}
		else
		{
			tb1.style.display = 'none';
			tb2.style.display = 'none';
		}
		a_cplx_val = obj.val;
	}
}

// digits only
function digitsOnly(evt)
{
	evt = (evt) ? evt : event;
	var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;
	
	return true;
}

// Ajax request for calculating price
SCRIPT_URI = "/ajax/calc.php";
var XMLRequest;

function sendRequest(type)
{
	// creating XMLRequest object
	if (typeof(XMLRequest) == 'undefined')
		XMLRequest = new ReqWrapper(SCRIPT_URI, XMLHandler);
	
	// finding elements
	var elements = document.getElementById(type + 'movie').getElementsByTagName('input');
	
	// making request
	var req_str = new Array();
	req_str['type'] = type;
	for (var i = 0, n = elements.length; i < n; i++)
	{
		var item = elements.item(i);
		switch (item.getAttribute('type'))
		{
			case 'checkbox':
				req_str[item.getAttribute('name')] = item.checked ? 'true' : 'false';
				break;
			case 'radio':
				if (item.checked) req_str[item.getAttribute('name')] = item.value;
				break;
			case 'text':
				req_str[item.getAttribute('name')] = item.value;
				break
		}
	}
	
	XMLRequest.MakeRequest(req_str);

}

// обработчик xml
XMLHandler = function(ac_obj)
{
	var xml = ac_obj.getXML();
	
	if (xml.documentElement)
	{
		var root = xml.documentElement;
		var type = root.getAttribute('type');
		var res = root.getAttribute('result');
		
		var res_cont = document.getElementById(type + '_res');
		
		if (!res_cont.firstChild)
			res_cont.appendChild(document.createTextNode(' '));
		
		res_cont.firstChild.nodeValue = 'Результат: ' + res + ' у.е.';
	}
}
