function form_all_filled(form_str,remove_spaces)
{
	var input, i, ii, args = form_all_filled.arguments
	for (i=2; i<args.length; i++)
	{
		input = document.forms[form_str].elements[args[i]]
		if (!input) 
		{
			alert('funkcijai perduoto inputo:   ' + args[i] + '   formoje nera')
			return false
		}

		// ====== text'iniai inputai
		if (input.type == 'text' || input.type == 'textarea' || input.type == 'password')
		{
			if (is_full(input.value)) 
			{
				if (remove_spaces) input.value = clean_spaces(input.value)
				continue
			}
			else 
				return false
		}
		
		//  ====== check'boxai
		if (input.type == 'checkbox' && !input.checked) 
			return false

		//  ====== radio butonai
		if (input.length && input[0].type == 'radio')
			for (ii=0; ii<input.length; ii++)
			{
				if (input[ii].checked) break
				if (ii == input.length-1) return false
			}

		//  ====== dropdaunai
		//variantas kai tikrinama pagal atrib. selected
		//if (input.type == 'select-one' && input.options[input.selectedIndex].defaultSelected == input.options[input.selectedIndex].selected && !input.disabled)		
		if (input.type == 'select-one' && input.selectedIndex == 0 && !input.disabled)
		{
			return false
		}
	}
	return true
}



/* 
jei is perduotu inputu (type: text, password, checkbox, radio, textarea) bent vienas turi 
reiksme (checkbox'u atveju nepazymeti) - return true
laisvas parametru skaicius (string)		->	turi buti formos inputu atributai name
*/
function form_one_filled(form_str)
{
	var i, ii, input, args = form_one_filled.arguments
	for (i=1; i<args.length; i++)
	{
		input = document.forms[form_str].elements[args[i]]
		if (!input) 
		{
			alert('funkcijai perduoto inputo:   ' + args[i] + '   formoje nera')
			return false
		}

		if (input.type == 'text' || input.type == 'textarea' || input.type == 'password')
			if (is_full(input.value)) 
				return true

		//  ====== check'boxai
		if (input.type == 'checkbox' && input.checked) 
			return true
			
		//  ====== dropdaunai
		//variantas kai tikrinama pagal atrib. selected
		//if (input.type == 'select-one' && input.options[input.selectedIndex].defaultSelected != input.options[input.selectedIndex].selected && !input.disabled)	
		if (input.type == 'select-one' && input.selectedIndex != 0 && !input.disabled)
		{
			return true
		}
			
		if (input.length)
			for (ii=0; ii<input.length; ii++)
				if (input[ii].checked) return true
	}
	return false
}


// =======================================================   end: grupes inputu analize
// ====================================================================================
// =======================================================   begin: su regExp


/* 
trackina visus formos textinius inputus ir pasalina nereikalingus tarpus
*/
function form_clean_all(form_str)
{
	var i, input
	var form_obj = document.forms[form_str]
	
	for (i=0; i<form_obj.length; i++)
	{
		input = form_obj.elements[i]
		if (input.type == 'text') input.value = clean_spaces(input.value)
		else if (input.type == 'textarea') input.value = clean_spaces(input.value)
	}
}


/*
tikrina perduotas formos lauku reiksmes pagal trings.js esancius regExp
form_str		- aisku
pattern_name	- 
laisvas parametru skaicius (string)		->	turi buti formos inputu atributai name
*/
function form_validate_regexp(form_str,pattern_name)
{
	var i, input, args = form_validate_regexp.arguments

	for (i=2; i<args.length; i++)
	{
		input = document.forms[form_str].elements[args[i]]
		if (!input)
		{
			alert('funkcijai perduoto inputo formoje nera')
			return false
		}
		if (!validate_string(pattern_name,input.value))
			return false
	}
	return true
}


// =======================================================   end: su regExp
// =======================================================   begin: Select dinaminis keitimas


//obj_select	<	select'as kuris perdaromas
//display_data	<	masyvas, poros: option_1 text, option_1 value, option_2 text, ...
function recreat_select(form_str, select_str, display_data)
{
	var select_obj = document.forms[form_str].elements[select_str]
	while (select_obj.options.length) select_obj.options[0] = null
	for (i=0; i<display_data.length; i+=2)
	{
		select_obj.options[i/2] = new Option(display_data[i],display_data[i+1]);
	}
}


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
masyvo pvz.:

var store = new Array();
store[1] = new Array(
	'HTML Compendium', 'http://www.htmlcompendium.org',
	'Web Designer\'s Forum', 'http://www.wdf.net');
store[2] = new Array(
	'Web Designer\'s Forum', 'http://www.wdf.net',
	'CSS1 Mastergrid', 'http://webreview.com/wr/pub/guides/style/mastergrid.html');

form_str				<	
select_obj				<	tai selectas, kuri keiciant keiciasi kitas, t.y. select_target_str
							jis turi buti kaip pvz.
data_array_2d			<	dvimatis masyvas, pirmame lygyje numeruojamas 1,2,3, ...
							antrame lygyje poros: option_1 text, option_1 value, option_2 text, ...
select_target_str		<
							pvz.:
							<SELECT name="menesiai" onChange="select_change_select('pageForm',this,store,'sel_target')">
								<OPTION selected>menuo</OPTION>
								<OPTION value="1">sausis</OPTION>
								<OPTION value="2">vasaris</OPTION>
								<OPTION value="3">kovas</OPTION>
							</SELECT>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
function select_change_select(form_str, select_obj, data_array_2d, select_target_str)
{
	var choice = parseInt(select_obj.options[select_obj.selectedIndex].value) //parseInt() tam kad select value galetu buti 01, 02, ...
	if (!choice) return; //jeigu optionas neturi value
	recreat_select(form_str, select_target_str, data_array_2d[choice])
}

// ==============================================    end: Select dinaminis keitimas
// ====================================================================================


//<INPUT type="checkbox" name="checkbox" value="checkbox" onclick="disableSubmit(this,this.form,'inputSiusti')">
//<INPUT id="inputSiusti" disabled type="submit" value=" Siūsti">
function disableSubmit (obj,ofjForm,id_str_input)
{
	if (obj.checked)
		ofjForm.elements[id_str_input].disabled = false
	else 
		ofjForm.elements[id_str_input].disabled = true
}


//type		<-	formos elemento type = text, ... arba tagas = select
function reset_elem(form_str,elem_str) 
{
	form_obj = document.forms[form_str].elements[elem_str]
	input_type = form_obj.type
	if (input_type == 'select-one' || input_type == 'select-multiple')
		input_type = 'select'
	
	switch (input_type)
	{
		case 'text' :
			form_obj.value = ''
			break
		case 'select' :
			form_obj.options[0].selected = true
			break
	}
}




