function FFsetSelectOptions(obj , values , delim ,bAppend)
{
	FFSetSelectOptions(obj , values , delim ,bAppend);	
}
function FFSetSelectOptions(obj , values , delim ,bAppend)
{
	if( bAppend!=null && !bAppend )
	{
		FFRemoveAllSelectOption(obj);
	}
	
	var aResult;
	if( delim != null )
		aResult = values.split(delim);	
	else
		aResult = values.split("|");		

	for( var i = 0; i < aResult.length; i += 2 )
	{
		FFAppendSelectOption(obj,aResult[i],aResult[i+1]);
	}
}

function FFappendSelectOption(obj,name,value)
{
	FFAppendSelectOption(obj,name,value);
}
function FFAppendSelectOption(obj,name,value)
{
	var index = obj.length
	var new_option = new Option( name,value );
	obj.options[index] = new_option;
}

function FFremoveAllSelectOption(obj)
{
	FFRemoveAllSelectOption(obj);
}
function FFRemoveAllSelectOption(obj)
{
	var size   = obj.length;
	for( i = 0; i < size; i++ )
	{
		obj.options[0] = null;
	}
}

function FFsetIndexByValue(obj,selvalue)
{
	return FFSetIndexByValue(obj,selvalue);
}
function FFSetIndexByValue(obj,selvalue)
{
	var tempValue = "";
	var size = obj.length;
	
	for( var i = 0; i < size; i++ )
	{
		tempValue = obj.options[i].value;
		if( tempValue == null )
			break;
		if( selvalue == tempValue )
		{
			obj.selectedIndex=i;	
			break;
		}		
	}
}

function FFSetIndexByName(obj,selname)
{
	var tempName = "";
	var size = obj.length;
	
	for( var i = 0; i < size; i++ )
	{
		tempName = obj.options[i].text;
		if( tempName == null )
			break;
		if( selname == tempName )
		{
			obj.selectedIndex=i;	
			break;
		}		
	}
}

function FFmakeSelectOption01(obj,dataArrayName,defaultValue)
{
	var index = obj.length
	
	for( i = 0; ; i++ )
	{
		tmp_code =  eval("code"+dataArrayName+"[i]");
		tmp_name =  eval("name"+dataArrayName+"[i]");
		if( tmp_name ==null )
			break;
		var new_option = new Option( tmp_name,tmp_code );
		obj.options[index] = new_option;
		index ++;
	}
	obj.selctedIndex=0;
	
	if( defaultValue != null )
	{
		FFsetIndexByValue(obj,defaultValue);
	}
}

function FFmakeSelectOptionfromCode(obj, step1_name, step2_name, defaultValue )
{
	var index = obj.length
	var exit = false;
	for( i = 0; ; i++ )
	{
		tmp_name =  eval("name_"+step1_name+"_main[i]");
		if( tmp_name == null )
			break;
		if( tmp_name == step2_name )
		{
			for( j = 0; ; j++ ) 
			{
				tmp_code =  eval("code"+step1_name+"_"+i+"[j]");
				tmp_name =  eval("name"+step1_name+"_"+i+"[j]");
				if( tmp_name == null )
				{
					exit=true;
					break;
				}
				var new_option = new Option( tmp_name,tmp_code );
				obj.options[index] = new_option;
				index ++;
			}
			if(exit) break;
		}
	}
	obj.selctedIndex=0;
	
	if( defaultValue != null )
	{
		//alert(defaultValue);
		FFsetIndexByValue(obj,defaultValue);
	}
}

function FFmakeSelectProviderOptionfromCode( obj, countrylang )
{
	var index = 1;
	var oldindex = obj.length;
	
	for( j = 0; ; j++ ) 
	{
		tmp_code =  eval("codeprovider_" + countrylang + "[j]" );
		tmp_name =  eval("nameprovider_" + countrylang + "[j]" );
		if( tmp_name == null )
		{
			break;
		}
		var new_option = new Option( tmp_name,tmp_code );
		obj.options[index] = new_option;
		index ++;
	}
	
	if( index < oldindex )
	{
		for( j = oldindex - 1; j >= index; j-- )
		{
			obj.options[j] = null;
		}
	}
	
	
	obj.selctedIndex = 0;
}

function FFmakeSelectOptionValuefromCode(obj,step1_name,step2_name,defaultValue)
{
	var index = obj.length
	var exit = false;
	
	for( i = 0; ; i++ )
	{
		tmp_name =  eval("name_"+step1_name+"_main[i]");
		if( tmp_name == step2_name )
		{
			for( j = 0; ; j++ )
			{
				tmp_code =  eval("code"+step1_name+"_"+i+"[j]");
				tmp_name =  eval("name"+step1_name+"_"+i+"[j]");
				if( tmp_name == null )
				{
					exit=true;
					break;
				}
				var new_option = new Option( tmp_name,tmp_name );
				obj.options[index] = new_option;
				index ++;
			}
			if(exit) break;
		}
	}
	obj.selctedIndex=0;
	
	if( defaultValue != null )
	{
		FFsetIndexByValue(obj,defaultValue);
	}
}

function FFdeleteNmakeSelectOptionfromCode(obj,step1_name,step2_name,defaultValue)
{
	var size = obj.length;
	for( i = 0; i < size; i++ )
	{
		obj.options[i] = null;
	}
	FFmakeSelectOptionValuefromCode(obj,step1_name,step2_name,defaultValue);
}

function FFreturnValuefromCode(step1_name,step2_name,Code)
{
	for( i = 0; ; i++ )
	{
		tmp_name =  eval("name_"+step1_name+"_main[i]");
		if( tmp_name == null )
			break;
		if( tmp_name == step2_name )
		{
			for( j = 0; ; j++ )
			{
				tmp_name2 = eval("code"+step1_name+"_"+i+"[j]");
				if( tmp_name2 == null )
					break;
				if( tmp_name2 == Code )
				{
					return eval("name"+step1_name+"_"+i+"[j]");
				}
			}
		}
	}
}

function FFwithoutSelectOption01(pobj,obj,dataArrayName,without_code,without_code2,defaultValue)
{
	if( without_code2 == null )
		without_code2 = "";
	
	var index = 0;
	var size = pobj.length;
	
	for( i = 0; i < size; i++ )
	{
		tmp_code =  pobj.options[i].value;
		tmp_name =  pobj.options[i].text;
		if( tmp_name == null )
			break;
		if( tmp_code != without_code && tmp_code != without_code2 )
		{
			var new_option = new Option( tmp_name,tmp_code );
			obj.options[index] = new_option;
			index ++;
		}
		obj.disabled = false;
	}
	
	if( defaultValue != null )
	{
		FFsetIndexByValue(obj,defaultValue);
	}
}

function FFmakeSelectOption02(obj,obj2,dataArrayName,dataArrayName2,defaultValue,defaultValue2)
{
	FFmakeSelectOption01(obj,dataArrayName,defaultValue);
	FFredirectSubOption02(obj,obj2,dataArrayName2,defaultValue2);
}

function getSelectedValue(obj)
{
	if( obj.disabled == true)
		return "";
	return obj.options[obj.selectedIndex].value;
}

function FFmakeSelectOption01_sex(obj,sex,count,dataArrayName,defaultValue)
{
//	FFremoveAllSelectOption(obj);
	var start,end;
	if( sex == 1 )
	{
		start = 0;
		end   = count-1;
	}
	else if( sex == 2 )
	{
		start = count;
		end   = start+count-1;
	}
	else
	{
		start = 0;
		end   = 0;
	}
	
	var index = obj.length;
	
	for( i = start; i <= end; i++ )
	{
		tmp_code =  eval("code"+dataArrayName+"[i]");
		tmp_name =  eval("name"+dataArrayName+"[i]");
		if( tmp_name == null )
			break;
		var new_option = new Option( tmp_name,tmp_code );
//		alert( tmp_name+","+tmp_code );
		obj.options[index] = new_option;
		index ++;
	}
	obj.selctedIndex=0;
	
	if( defaultValue != null )
	{
		FFsetIndexByValue(obj,defaultValue);
	}

}
function FFredirectOptioin01_sex(obj,sex,count,dataArrayName,defaultValue)
{
	FFmakeSelectOption01_sex(obj,sex,count,dataArrayName,defaultValue);
}

function FFgetSubOptionValue02(selindex,index,dataArrayName)
{
	var tempString = "code"+dataArrayName+"_"+selindex+"["+index+"]";
	var tempvalue = eval(tempString);
	return tempvalue;
}

function FFgetSubOptionName02(selindex,index,dataArrayName)
{
	var tempString = "name"+dataArrayName+"_"+selindex+"["+index+"]";
	var tempvalue = eval(tempString);
	return tempvalue;
}

function FFredirectSubOption02(obj,obj2,dataArrayName2,defaultValue)
{
	FFremoveAllSelectOption(obj2);
	var index  = obj.selectedIndex;
	
	for( i = 0; ; i++ )
	{
		strName = FFgetSubOptionName02(index,i,dataArrayName2);
		strCode = FFgetSubOptionValue02(index,i,dataArrayName2);
		if( strName == null )
			break;
		
		var new_option = new Option(strName,strCode);
		obj2.options[i] = new_option;
	}
	obj2.selectedIndex = 0;
	
	if( defaultValue != null )
	{
//		alert("def="+defaultValue);
		FFsetIndexByValue(obj2,defaultValue);
	}
}