/*
	Common JavaScript Functions
	Copyright (c) 2009. by MASSVision
	http://www.massvision.net
*/

var total_fields = 0;

function setAddressType(type) {
	var personal_fields = new Array(
		'ime',
		'prezime',
		'adresa',
		'postanski_broj',
		'mesto',
		'zemlja',
		'jmbg',
		'email',
		'telefon',
		'fax'
	);
	var company_fields = new Array(
		'firma_adresa',
		'firma_postanski_broj',
		'firma_mesto',
		'firma_zemlja',
		'firma',
		'firma_pib',
		'firma_pdv',
		'firma_telefon',
		'firma_email',
		'firma_fax',
		'firma_adresa_naplate',
		'firma_mesto_naplate',
		'firma_zemlja_naplate',
		'firma_postanski_broj_naplate'
	);
	if (type == 'c')
		for (i=0; i<personal_fields.length; i++)
			document.forms['register_form'].elements[personal_fields[i]].value = '';
	else
		for (i=0; i<company_fields.length; i++)
			document.forms['register_form'].elements[company_fields[i]].value = '';
	document.forms['register_form'].type.value = type
}


function switchTab(tabList, tabControl, activeTab, Sender) {
	obj_TabList = document.getElementById(tabList);
	obj_TabControl = document.getElementById(tabControl);

	for (var i = 0; i < obj_TabControl.childNodes.length; i++) {
		Item = obj_TabControl.childNodes[i];
		Item.className = '';
	}
	Sender.className = 'selected';

	for (i = 0; i < obj_TabList.childNodes.length; i++) {
		Item = obj_TabList.childNodes[i];
		if (Item.id == activeTab) {
			Item.className = 'tab_active';
		} else {
			Item.className = 'tab_inactive';
		}
	}
}

/**
 * Toggle element visibility depending on callers checked status
 *
 * @param object caller
 * @param string id
 */
function toggle_element_visibility(caller, id) {
	var obj = document.getElementById(id);

	if (obj != undefined)
		obj.style.display = caller.checked ? 'block' : 'none';
}

/**
 * Enable/disable element depending on callers checked status
 *
 * @param object caller
 * @param string id
 */
function toggle_element(caller, id) {
	var obj = document.getElementById(id);

	if (obj != undefined)
		obj.disabled = !caller.checked;
}

/**
 * Enable/disable group of elements
 *
 * @param object caller Calling checkbox
 * @param array group String array containing IDs of toggled elements
 * @param array oposite_group Optional array containing IDs of elements with oposite toggle
 */
function toggle_element_group(caller, group, oposite_group) {
	// first we toggle normal group
	if (group != undefined)
		for (var i=0; i<group.length; i++) {
			var obj = document.getElementById(group[i]);

			if (obj) obj.disabled = !caller.checked;
		}

	// toggle oposite group of elements
	if (oposite_group != undefined)
		for (var i=0; i<oposite_group.length; i++) {
			var obj = document.getElementById(oposite_group[i]);

			if (obj) obj.disabled = caller.checked;
		}
}

/**
 * Enable group of elements with specified IDs
 * @param array group String array containing IDs
 */
function enable_group(group) {
	for (var i=0; i<group.length; i++) {
		var obj = document.getElementById(group[i]);

		if (obj) obj.disabled = false;
	}
}

/**
 * Disable group of elements with specified IDs
 * @param array group String array containing IDs
 */
function disable_group(group) {
	for (var i=0; i<group.length; i++) {
		var obj = document.getElementById(group[i]);

		if (obj) obj.disabled = true;
	}
}

/**
 * Test if entered key is number
 */
function isNumberKey(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode

	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;

	return true;
}

/**
 * Create new text input field with input control in specified container
 *
 * @param string container
 * @param array text
 * @param string field
 * @param HTMLButton button
 */
function createNewField(container, text, field, sender, name_value, addr_value) {
	var obj = document.getElementById(container);

	var local_container = document.createElement('div');
	var label_name = document.createElement('label');
	var label_address = document.createElement('label');
	var input_name = document.createElement('input');
	var input_address = document.createElement('input');
	var span_name = document.createElement('span');
	var span_address = document.createElement('span');
	var button = document.createElement('a');
	var name = field + '_container_' + total_fields.toString();
	var field1_name = field + 'name_' + total_fields.toString();
	var field2_name = field + 'address_' + total_fields.toString();

	total_fields++;

	local_container.id = name;
	local_container.style.marginBottom = "3px";

	span_name.innerHTML = text[0];
	span_name.style.display = "inline-block";
	span_name.style.width = "120px";

	span_address.innerHTML = text[1];
	span_address.style.display = "inline-block";
	span_address.style.width = "120px";

	input_name.name = field1_name;
	input_name.type = "text";
	input_name.value = name_value;
	input_name.className = "account_inputbox";
	input_name.style.marginLeft = "5px";

	input_address.name = field2_name;
	input_address.type = "text";
	input_address.value = addr_value;	
	input_address.className = "account_inputbox";
	input_address.style.marginLeft = "5px";

	label_name.style.padding = "0px";
	label_name.style.textAlign = "left";
	label_name.style.width = "auto";
	label_name.style.height = "auto";
	label_name.style.marginBottom = "2px";

	label_address.style.padding = "0px";
	label_address.style.textAlign = "left";
	label_address.style.width = "auto";
	label_address.style.height = "auto";

	button.className = "remove_button";
	button.href = "javascript: void(0)";
	button.onclick = function() { removeField(name); }

	local_container.appendChild(label_name);
	local_container.appendChild(button);
	local_container.appendChild(label_address);
	label_name.appendChild(span_name);
	label_name.appendChild(input_name);
	label_address.appendChild(span_address);
	label_address.appendChild(input_address);

	obj.insertBefore(local_container, sender);
}

/**
 * Remove field with given container ID
 *
 * @param string container_id
 */
function removeField(container_id) {
	var obj = document.getElementById(container_id);

	if (obj != undefined)
		obj.parentNode.removeChild(obj);
}


function printOrder(_url)
{/*   version 1.4.0.00 */
	printWindow = window.open(_url,
							  "printWindow","toolbar=0, location=0, status=1, resizable=1, menubar=1, "+
							  "scrollbars=1, width=750, height=540");
	printWindow.focus();
}

