//----  JETRO Query JavaScript [ for English ] ----//
//
//			2003.04.01 update
// maked by infocom


//----  initialize to document form elements  ----//
function initializeForm( form ) {

	//----  pulldown length setting  ----//
	for( var i = 0; i < form.elements.length; i++ ) {
		if ( form.elements[ i ].type.toLowerCase().indexOf( 'select' ) > -1 ) {
			if ( form.elements[ i ].name.toLowerCase().indexOf( 'field' ) > -1 ) {
				eraseSelectList( form.elements[ i ] );
			}
		}
	}

	//----  get cookie value data  ----//
	var dummy = unescape( getCookie() );

	if ( dummy != null && dummy != '' ) {
		if ( dummy.toLowerCase().indexOf( 'lang|en' ) > -1 ) {
			var buf = dummy.split( '^' );
			for( var i = 0; i < buf.length; i++ ) {
				if ( buf[ i ] ) {
					var tmp = buf[ i ].split( '|' );
					if ( tmp[0].charAt(0)!=';' ){
						if ( eval( 'form.' + tmp[0] ) ) {
							fie = eval( 'form.' + tmp[0] );
							fie.value = tmp[1];
						}
					}
				}
			}
		}
	}

	form.Phrases.value = form.dummy_Phrases.value;

	if ( form.Field16[0].value != '' ) {
		var tmp = new Array();
		if ( form.Field16[0].value == '000000' ) {
			var now = getNowDate( '-' );
			var tmp = now.split( '-' );

			if ( tmp[0].toString().length < 4 ) {
				tmp[0] = 1900 + parseInt( tmp[0] );
			}

			if ( ! checkListValue( form.from_yyyy, eval( tmp[0] ) ) ) return;
			if ( ! checkListValue( form.from_mm,   eval( tmp[1] ) ) ) return;
		} else {
			tmp[0] = form.Field16[0].value.toString().substring( 0, 4 );
			tmp[1] = form.Field16[0].value.toString().substring( 4, form.Field16[0].value.toString().length );

			if ( ! checkListValue( form.from_yyyy, eval( tmp[0] ) ) ) return;
			if ( ! checkListValue( form.from_mm,   eval( tmp[1] ) ) ) return;
		}
	}

	if ( form.Field18[1].value != '' ) {
		var tmp = new Array();
		if ( form.Field18[1] != '-' ) {
			tmp[0] = form.Field18[1].value.toString().substring( 0, 4 );
			tmp[1] = form.Field18[1].value.toString().substring( 4, form.Field18[1].value.toString().length );

			if ( ! checkListValue( form.to_yyyy, eval( tmp[0] ) ) ) return;
			if ( ! checkListValue( form.to_mm,   eval( tmp[1] ) ) ) return;
		} else {
			if ( ! checkListValue( form.to_yyyy, '' ) ) return;
			if ( ! checkListValue( form.to_mm,   '' ) ) return;
		}
	}


	if ( form.dummy_Field23.value != '' ) {
		if ( ! setInitialListData( form, '23', '25' ) ) return;
	}
	if ( form.dummy_Field29.value != '' ) {
		if ( ! setInitialListData( form, '29', '31' ) ) return;
	}


	form.Field33.value = form.dummy_Field33.value;

}


//----  erase to form select option  ----//
function eraseSelectList( elem ) {
	if ( elem.length > 0 ) {
		while( elem.options[ elem.length -1 ].text.indexOf( '___' ) > -1 ) {
			if ( elem.length == 0 ) {
				break;
			}
			elem.length--;
		}
	}
}


function rechangeSelectList( form, id_value, cng_id_value, cng_id, ary, spr ){
	var lst2 = eval( 'form.' + cng_id );
	var sltIndex = 0;
	lst2.length = 1;

	for( var i = 0; i < ary.length; i++ ) {
		var tmp = ary[ i ].split( spr );

		if ( id_value == tmp[ 0 ] ) {
			lst2.length++
			lst2.options[ lst2.length -1 ].value = tmp[ 1 ];
			lst2.options[ lst2.length -1 ].text  = tmp[ 1 ];
			if (cng_id_value == tmp[ 1 ]) {

				// alert( 'OK! : ' + lst2.length );

				sltIndex =  lst2.length-1;
			}
		}
	}

	// alert( sltIndex );

	lst2.selectedIndex = sltIndex;

}



function changeSelectList( form, id, cng_id, ary, spr ){
	var lst1 = eval( 'form.' + id );
	var lst2 = eval( 'form.' + cng_id );

	lst2.length = 1;
	for( var i = 0; i < ary.length; i++ ) {
		var tmp = ary[ i ].split( spr );

		if ( lst1.options[ lst1.selectedIndex ].value == tmp[ 0 ] ) {
			lst2.length++
			lst2.options[ lst2.length -1 ].value = tmp[ 1 ];
			lst2.options[ lst2.length -1 ].text  = tmp[ 1 ];
		}
	}

}


function makeSelectChange( form, id, ary, cng_id, cng_ary, spr ) {
	var tag = '';

	tag += '<select name="' + id + '"';
	if ( ary != '' || cng_ary != '' ) {
		tag += ' onChange="javascript:changeSelectList( ' + form + ', \'' + id + '\', \'' + cng_id + '\', ' + cng_ary + ', \'' + spr + '\' );"';
	}
	//	tag += ' onChange="javascript:saveBufferList( ' + form + ', \'' + cng_id + '\', \'' + id + '\' );"';

	tag += '>\n';
	tag += '<option value="">ALL</option>\n';
	for( var i = 0; i < ary.length; i++ ) {
		tag += '<option value="' + ary[ i ] + '">' +  ary[ i ] + '</option>\n';
	}
	tag += '<option value="">____ Dummy to Length for Width ___</option>\n';
	tag += '<option value="">____ Dummy to Length for Width ___</option>\n';
	tag += '<option value="">____ Dummy to Length for Width ___</option>\n';
	tag += '</select>\n';

	return tag;
}


function doQuerySelectCity( base, form, area, coun ) {
	var alist  = eval( 'form.' + area );
	var clist  = eval( 'form.' + coun );

	if ( alist.selectedIndex < 1 ) {
		alert( 'Please select a region.' );
		return;
	}
	if ( clist.selectedIndex < 1 ) {
		alert( 'Please select a country.' );
		return;
	}

	var adat = alist.options[ alist.selectedIndex ].value;
	var cdat = clist.options[ clist.selectedIndex ].value;
	for ( var i = 0; i < AreaName.length; i++ ) {
		if ( adat == AreaName[ i ] ) {
			var html = '/en/' + AreaHTML[ i ];
			doOpenWind( base, html, 'area', 600, 600 );
		}
	}
}

function saveBufferList( form, opid, id ) {
	lst1 = eval( 'form.' + opid );
	lst2 = eval( 'form.' + id );
	sav1 = eval( 'form.buff' + opid );
	sav2 = eval( 'form.buff' + id );

	sav1.value = lst1.options[ lst1.selectedIndex ].value;
	sav2.value = lst2.options[ lst2.selectedIndex ].value;
}


//----  make to from date and to date by query form elemets  ----//
function makeFromToDate() {
	var tag = '';

	var now = getNowDate( '-' );
	var tmp = now.split( '-' );

	var year = parseInt( tmp[0] );
	if ( year.toString().length < 4 ) {
		year = 1900 + parseInt( year );
	}

	tag += '<select name="from_yyyy" size="1" id="select13">';
	tag += '<option value=""></option>';
	for( var i = 2001; i <= 2010; i++ ) {
		tag += '<option value="' + i.toString() + '"';
		tag += '>';
		tag += i.toString() + '</option>';
	}
	tag += '</select>';
	tag += ' Year ';
	tag += '<select name="from_mm" size="1" id="select14">';
	tag += '<option value=""></option>';
	for( var i = 1; i <= 12; i++ ) {
		tag += '<option value="' + setDigit( i, 2 ).toString() + '"';
		tag += '>';
		tag += setDigit( i, 2 ).toString() + '</option>';
	}
	tag += '</select>';
	tag += ' Month ';

	tag += ' to ';

	tag += '<select name="to_yyyy" size="1" id="select13">';
	tag += '<option value="" selected></option>';
	for( var i = 2001; i <= 2010; i++ ) {
		tag += '<option value="' + i.toString() + '"';
		tag += '>';
		tag += i.toString() + '</option>';
	}
	tag += '</select>';
	tag += ' Year ';
	tag += '<select name="to_mm" size="1" id="select14">';
	tag += '<option value="" selected></option>';
	for( var i = 1; i <= 12; i++ ) {
		tag += '<option value="' + setDigit( i, 2 ).toString() + '"';
		tag += '>';
		tag += setDigit( i, 2 ).toString() + '</option>';
	}
	tag += '</select>';
	tag += ' Month';

	return tag;
}


//----  set to form date type field  ----//
function setQueryDate( form, f1, f2, f3, f4, from, to, nam ) {
	var f = eval( form );

	var field1 = eval( 'f.Field' + f1 + '[0]' );
	var field2 = eval( 'f.Field' + f2 + '[0]' );
	var field3 = eval( 'f.Field' + f3 + '[1]' );
	var field4 = eval( 'f.Field' + f4 + '[1]' );

	var yy1 = eval( 'f.' + from + '_y1' );
	var mm1 = eval( 'f.' + from + '_m1' );
	var dd1 = eval( 'f.' + from + '_d1' );

	var yy2 = eval( 'f.' + to + '_y2' );
	var mm2 = eval( 'f.' + to + '_m2' );
	var dd2 = eval( 'f.' + to + '_d2' );

	if ( yy1.value != '' || mm1.value != '' || dd1.value != '' ) {
		if ( checkDate( yy1.value, mm1.value, dd1.value ) == true ) {
			if ( f1 == f2 ) {
				field1.value = yy1.value + '-' + mm1.value + '-' + dd1.value;
			} else {
				field1.value = parseInt( yy1.value ) * 100 + parseInt( mm1.value );
				field2.value = dd1.value;
			}
		} else {
			alert( 'Please enter the starting date ("date from") of the trade fair correctly.' );
			return false;
		}
	}

	if ( yy2.value != '' || mm2.value != '' || dd2.value != '' ) {
		if ( checkDate( yy2.value, mm2.value, dd2.value ) == true ) {
			if ( f3 == f4 ) {
				field3.value = yy2.value + '-' + mm2.value + '-' + dd2.value;
			} else {
				field3.value = parseInt( yy2.value ) * 100 + parseInt( mm2.value );
				field4.value = dd2.value;
			}
		} else {
			alert( 'Please enter the closing date ("date to") of the trade fair correctly.' );
			return false;
		}
	}
	return true;
}


function createDateField() {
	var nday = getNowDate( '-' );
	var tmp  = nday.split( '-' );

	for( var i = tmp[0]; i <= ( tmp[0] + 10 ); i++ ) {
		tag += '<option value="' + i + '">' + i + '</option>';
	}
	for( var i = 1; i <= 12; i++ ) {
		tag += '<option value="' + i + '"';
		if ( i == parseInt(tmp[2]) ) tag += ' selected';
		tag += '>' + i + '</option>';
	}
	return tag;
}


//-- do Goto Next Query Function  --//
function doSearch( form ) {
	var lst1 = eval( 'form.from_yyyy' );
	var lst2 = eval( 'form.from_mm' );
	var lst3 = eval( 'form.to_yyyy' );
	var lst4 = eval( 'form.to_mm' );
	var dummy = '';


	form.action = form.action.replace( '/mihon_search_en/', '/mw_mihon_search_en/' );

	dummy = 'lang|en';

	//-- Keyword [ Full Text ] --//
	form.Phrases.value       = setKeyword( form.Phrases.value );
	form.dummy_Phrases.value = setKeyword( form.Phrases.value );

	dummy += '^' + 'dummy_Phrases' + '|' + form.dummy_Phrases.value;


	//-- DateFrom [ yyyy - mm ] --//
	form.Field18[0].value = setYearMonth( form.from_yyyy, form.from_mm, 00 );
	form.Field18[1].value = '';

	dummy += '^' + 'Field18[0]' + '|' + form.Field18[0].value;
	dummy += '^' + 'Field18[1]' + '|' + form.Field18[1].value;


	//-- DateTo [ yyyy - mm ] --//
	form.Field16[0].value = '';
	form.Field16[1].value = setYearMonth( form.to_yyyy, form.to_mm, 99 );

	dummy += '^' + 'Field16[0]' + '|' + form.Field16[0].value;
	dummy += '^' + 'Field16[1]' + '|' + form.Field16[1].value;


	//-- query data >> dummy data --//
	form.dummy_Field23.value = setBuffField( form, '23' );
	form.dummy_Field25.value = setBuffField( form, '25' );
	form.dummy_Field29.value = setBuffField( form, '29' );
	form.dummy_Field31.value = setBuffField( form, '31' );

	form.dummy_Field33.value = form.Field33.value;

	dummy += '^' + 'dummy_Field23' + '|' + form.dummy_Field23.value;
	dummy += '^' + 'buffField23'   + '|' + form.buffField23.value;
	dummy += '^' + 'dummy_Field25' + '|' + form.dummy_Field25.value;
	dummy += '^' + 'buffField25'   + '|' + form.buffField25.value;
	dummy += '^' + 'dummy_Field29' + '|' + form.dummy_Field29.value;
	dummy += '^' + 'buffField29'   + '|' + form.buffField29.value;
	dummy += '^' + 'dummy_Field31' + '|' + form.dummy_Field31.value;
	dummy += '^' + 'buffField31'   + '|' + form.buffField31.value;
	dummy += '^' + 'dummy_Field33'       + '|' + form.dummy_Field33.value;

	dummy += '^';

	//-- sort key setting --//
	form.SortOrder1.value = '0';
	form.SortOrder2.value = '0';
	form.SortOrder3.value = '0';
	form.SortOrder4.value = '0';
	if ( form.dummy_sort[0].checked ) {
		form.SortField1.value = '16';
		form.SortField2.value = '17';
		form.SortField3.value = '';
		form.SortField4.value = '';
	} else if ( form.dummy_sort[1].checked ) {
		form.SortField1.value = '49';
		form.SortOrder1.value = '1';
		form.SortField2.value = '';
		form.SortField3.value = '';
		form.SortField4.value = '';
	} else if ( form.dummy_sort[2].checked ) {
		form.SortField1.value = '104';
		form.SortOrder1.value = '1';
		form.SortField2.value = '';
		form.SortField3.value = '';
		form.SortField4.value = '';
	} else {
		form.SortField1.value = '';
		form.SortField2.value = '';
		form.SortField3.value = '';
		form.SortField4.value = '';
	}

	if ( setCookie( escape( dummy ) ) ) {
		form.submit();
	} else {
		form.submit();
	}
}


//----  secound version update 2003.04.01 ----//

//----  setting for Query Keywords  ----//
function setKeyword( words ) {
	var val = words;

	val = val.replace( /[@]/g, ' ' );
	val = val.replace(/[!"#$%&'\(\)=\\|,:;^\[\]\{\}`*?+><]/g , " ");
	while( val.indexOf( "  ", 0 ) != -1 ) {
		val = val.replace(/  /g, " ");
	}

	return val;
}


//----  setting for Year Month day  ----//
function setYearMonth( yyyy, mm, opt ) {
	if ( yyyy.selectedIndex > 0 ) {
		if ( mm.selectedIndex > 0 ) {
			 return parseInt( yyyy.options[ yyyy.selectedIndex ].value ) * 100 + parseInt( mm.options[ mm.selectedIndex ].value );
		} else {
			 return parseInt( yyyy.options[ yyyy.selectedIndex ].value ) * 100 + opt;
		}
	}

	return '';
}


//----  setting for buffer Field  ----//
function setBuffField( form, id ) {
	var val = '';

	fie = eval( 'form.Field' + id );
	buf = eval( 'form.buffField' + id );

	buf.value = '';
	if ( fie.length > 0 ) {
		if ( fie.selectedIndex > 0 ) {
			val = fie.options[ fie.selectedIndex ].value
		}
		buf.value = '';
		for ( var i = 0; i < fie.length; i++ ) {
			if ( fie.options[ i ].value != '' ) {
				if ( buf.value != '' ) {
					buf.value += ':';
				}
				buf.value += fie.options[ i ].value;
			}
		}
	}

	return val;
}


//----  set list value inital data ----//
function setInitialListData( form, id0, id1 ) {
	fie0 = eval( 'form.Field' + id0 );
	dmm0 = eval( 'form.dummy_Field' + id0 );
	buf0 = eval( 'form.buffField' + id0 );

	fie1 = eval( 'form.Field' + id1 );
	dmm1 = eval( 'form.dummy_Field' + id1 );
	buf1 = eval( 'form.buffField' + id1 );

	if ( dmm0.value != '' ) {
		for( var i= 0; i < fie0.length; i++ ) {
			if ( dmm0.value == fie0.options[ i ].value ) {
				fie0.selectedIndex = i;
			}
		}

		var buf = buf1.value.split( ':' );
		for( var n = 0; n < buf.length; n++ ) {
			var len = fie1.length;
			fie1.length++;
			fie1.options[ len ].text  = buf[ n ];
			fie1.options[ len ].value = buf[ n ];
			if ( dmm1.value == fie1.options[ len ].value ) {
				fie1.selectedIndex = len;
			}
		}

	}

	return true;
}


//----  check ListValues  ----//
function checkListValue( list, val ) {
	list.selectedIndex = 0;
	for( var i= 0; i < list.length; i++ ) {
		if ( eval( val ) == eval( list.options[ i ].value ) ) {
			list.selectedIndex = i;
		}
	}

	return true;
}


//----  End of File  ----//