// Functions for manipulation with SELECT field

function parseInt2( str )
{
   return str.substring(str.indexOf("_",0)+1);      
        
}

function codeSelected(select_object)
{
  codedString = '';
  for (i=0; i<select_object.options.length; i++)
  {
    codedString = codedString + ',' + parseInt2(select_object[i].value);
  }
  return codedString.substring(1);
}


// Add new item to select field
function addItemToSelect(select_field, value, description)
{
	var i, j, len;
	
	for (i=0; i<select_field.options.length; i++)
	{
		if (select_field.options[i].value == value)
		{
			break;
		}
		else
		{
			if (parseInt(select_field.options[i].value) > parseInt(value))
			{
				len = select_field.options.length;
				for (j=len-1; j>=i; j--)
				{
					select_field.options[j+1] = new Option(select_field.options[j].text, select_field.options[j].value);
					//select_field.options[j+1] = select_field.options[j];
				}
				select_field.options[i] = new Option(description, value);
				break;
			}
			
		}
	}
	
	if (i == select_field.options.length)
	{
		select_field.options[i] = new Option(description, value);
	}
}

// Remove field from select box
function removeItemFromSelect(select_field, index)
{
	select_field.options[index] = null;
}


// Move all selected fields from one select box to another
function moveItemsFromSelectToSelect(select_field_from, select_field_to)
{
	var i;
	
	unselectAllItems(select_field_to);

for (i=select_field_from.options.length-1; i>=0; i--)
	{
		if (select_field_from.options[i].selected)
		{
			addItemToSelect(select_field_to, 
							select_field_from.options[i].value, 
							select_field_from.options[i].text);
		}
	}
for (i=select_field_from.options.length-1; i>=0; i--)
	{
		if (select_field_from.options[i].selected)
		{
			removeItemFromSelect(select_field_from, i); 
		}
	}
}

// Select all fields in the select box
function selectAllItems(select_field)
{
	for (i=0; i<select_field.options.length; i++)
	{
		select_field.options[i].selected = true;
	}
}

function unselectAllItems(select_field)
{
	//if(isObject(select_field){
		for (i=0; i<select_field.options.length; i++)
		{
			select_field.options[i].selected = false;
		}
	//}
}

// move all selected items up
function moveUp(select_field)
{
	var i, new_option;
		
for (i=1; i<=select_field.options.length-1; i++)
	{
		if ((select_field.options[i].selected) && (!(select_field.options[i-1].selected)))
		{
					new_option = new Option(select_field.options[i-1].text, select_field.options[i-1].value);
//					select_field.options[i-1] = select_field.options[i];
					select_field.options[i-1] = new Option(select_field.options[i].text, select_field.options[i].value);
					select_field.options[i-1].selected = true;
					select_field.options[i] = new_option;  		
		}
	}
}

// move all selected items down
function moveDown(select_field)
{
	var i, new_option;
		
for (i=select_field.options.length-2; i>=0; i--)
	{
		if ((select_field.options[i].selected) && (!(select_field.options[i+1].selected)))
		{
					new_option = new Option(select_field.options[i+1].text, select_field.options[i+1].value);
//					select_field.options[i+1] = select_field.options[i];
					select_field.options[i+1] = new Option(select_field.options[i].text, select_field.options[i].value);
					select_field.options[i+1].selected = true;
					select_field.options[i] = new_option;  		
		}
	}
}

// checks max allowed input count for positions, categories, education_levels
function checkMaxInput(from_field, to_field, max, alert_msg)
{
	selected = to_field.options.length;
	to_move = 0;
	for (i=0; i<from_field.options.length; i++)
	{
		if (from_field.options[i].selected)
		{
			to_move++;
		}
	}

	if (selected+to_move > max)
	{
	  window.alert(alert_msg+' '+max);
		return false;
	}
	return true;
}
