var skip_enable=false;
var force_target_enable=false;
var sidesearch_status='in';
var sidebox_moving;
var sidebox_timer;
var sidesearch_disable=false;
detect = navigator.userAgent.toLowerCase();
place = detect.indexOf('msie') + 1;
if (place) {
	var internalexam=true;
}
var selected_pre_ajax=Array();

function get_values_send(CALLID, TYPE, TRIGGER, TARGET) {

	var CALLER=document.getElementById(CALLID);
	var TRIGGERS=document.getElementsByName(TRIGGER);
	var TARGETS=document.getElementsByName(TARGET);
	var SEARCH_BUTTONS=document.getElementsByName('SEARCH_START');
	selected_pre_ajax=Array();

	for(i=0; i<SEARCH_BUTTONS.length; i++) {
		SEARCH_BUTTONS[i].value='Loading ....';
		SEARCH_BUTTONS[i].disabled=true;
	}

	for(i=0; i<TARGETS.length; i++) {

		for (z=0; z<TARGETS[i].options.length; z++) {
			selected_pre_ajax[TARGETS[i].options[z].value]=TARGETS[i].options[z].selected;
		}

		while(TARGETS[i].firstChild) {
			TARGETS[i].removeChild(TARGETS[i].firstChild);
		}
		TARGETS[i].options[0]=new Option('Loading...','');
		TARGETS[i].disabled=true;
	}

	for (i=0; i<TRIGGERS.length; i++) {
		if (TRIGGERS[i].parentNode.name!='aj_skip') {
			TRIGGERS[i].disabled=true;
			for (z=0; z<CALLER.options.length; z++) {
				TRIGGERS[i].options[z].selected=CALLER.options[z].selected;
			}
		}
	}

	if (ajax_isworking) {
		skip_enable=true;
		setTimeout("get_values_send('"+CALLID+"', '"+TYPE+"', '"+TRIGGER+"', '"+TARGET+"')", 100);
		return true;
	}

	skip_enable=false;
	ajax_isworking=true;

	var options=Array();

	for (i=0; i<CALLER.options.length; i++) {
		if (CALLER.options[i].selected==true) {
			options.push(CALLER.options[i].value);
		}
	}

	ID=options.join("|");

	http.open("GET", 'ajax_search.php?ID='+ID+'&type='+TYPE+'&TRIGGER='+TRIGGER+'&TARGET='+TARGET, true);
	http.onreadystatechange = get_values_do;
	http.send(null);

}

function get_values_do() {
	if (http.readyState == 4) {
		xmlreturn = http.responseXML;
		ajax_isworking=false;
		populate(xmlreturn);
	}
}

function populate(xml) {

	var type = xml.getElementsByTagName('type').item(0).firstChild.data;
	var TRIGGER = xml.getElementsByTagName('trigger').item(0).firstChild.data;
	var TARGET = xml.getElementsByTagName('target').item(0).firstChild.data;

	var xmlcountries=xml.getElementsByTagName('country');
	var countries=Array();

	for (i=0; i<xmlcountries.length; i++) {
		countries[xmlcountries[i].getElementsByTagName('value').item(0).firstChild.data]=xmlcountries[i].getElementsByTagName('name').item(0).firstChild.data;
	}

	var TRIGGERS=document.getElementsByName(TRIGGER);
	var TARGETS=document.getElementsByName(TARGET);
	var SEARCH_BUTTONS=document.getElementsByName('SEARCH_START');

	var items=xml.getElementsByTagName('item');

	var optgroup=Array();
	var selbox=document.createElement('select');
	var current_optgroup=Array();

	for(i=0; i<TARGETS.length; i++) {
		while(TARGETS[i].firstChild) {
			TARGETS[i].removeChild(TARGETS[i].firstChild);
		}
	}

	for (i=0; i<items.length; i++) {
		if (items[i].getElementsByTagName('value').item(0).firstChild) {
			var value=items[i].getElementsByTagName('value').item(0).firstChild.data;
		} else {
			var value='';
		}
		var name=items[i].getElementsByTagName('name').item(0).firstChild.data;

		value_arr=value.split(".")

		for (z=0; z<TARGETS.length; z++) {

			newoption=document.createElement('OPTION');
			newoption.label = name;
			newoption.innerText = name;
			newoption.text = name;
			newoption.value = value;
			newoption.selected = selected_pre_ajax[value];
			if (value_arr[1] && value_arr[0]!=current_optgroup[z]) {
				if (optgroup[z]) {
					TARGETS[z].appendChild(optgroup[z]);
				}
				optgroup[z]=document.createElement('OPTGROUP');
				optgroup[z].label=countries[value_arr[0]];
				current_optgroup[z]=value_arr[0];
				force_target_enable=true;
			}

			if (optgroup[z]) {
				optgroup[z].appendChild(newoption);
			} else {
				TARGETS[z].appendChild(newoption);
			}
		}

		value=null;
		name=null;
	}

	for (i=0; i<TARGETS.length; i++) {
		if (optgroup[i]) {
			TARGETS[i].appendChild(optgroup[i]);
		}
	}

	if (!skip_enable) {
		for(i=0; i<TRIGGERS.length; i++) {
			TRIGGERS[i].disabled=false;
		}

		for(i=0; i<SEARCH_BUTTONS.length; i++) {
			SEARCH_BUTTONS[i].value='Search';
			SEARCH_BUTTONS[i].disabled=false;
		}
	}

	if (items.length>1 || force_target_enable==true) {
		for(i=0; i<TARGETS.length; i++) {
			TARGETS[i].disabled=false;
			force_target_enable=false;
		}
	}

}

function synch_selects(TRIG, TRIG_NAME) {

	var options=Array();

	for (i=0; i<TRIG.options.length; i++) {
		options[i]=TRIG.options[i].selected;
	}

	var TRIGGERS=document.getElementsByName(TRIG_NAME);

	for (i=0; i<TRIGGERS.length; i++) {
		for (option=0; option<TRIGGERS[i].options.length; option++) {
			TRIGGERS[i].options[option].selected=options[option];
		}
	}
}

function sidesearch_out() {
	clearTimeout(sidebox_timer);
	if (sidesearch_status=='in' && !sidesearch_disable) {
		sidesearch_status='out';
		sidesearch_slide(240, 'grow');
	} else {
		//		sidebox_timer=setTimeout("sidesearch_in()",1500);
	}
}

function sidesearch_in() {
	if (sidesearch_status=='out' && !sidesearch_disable) {
		sidesearch_status='in';
		sidebox_timer=setTimeout("sidesearch_slide(120,'shrink')",500);
	}
}

function sidesearch_slide(end, dir) {

	el=document.getElementById('searchbox');

	w=el.style.width;
	w=w.substring(0, w.length-2);
	w=w*1;
	if (dir=='shrink') {
		w=w-25;
		if (w<end) {
			w=end;
		}
	} else if (dir=='grow') {
		w=w+25;
		if (w>end) {
			w=end;
		}
	}

	els=el.getElementsByTagName("SELECT");
	els2=el.getElementsByTagName("INPUT");

	el.style.width=w+'px';

	if (internalexam) {
		document.getElementById('srchiframe').style.width=w+'px';
	}

	fw=w-16;

	for(i=0; i<els.length; i++) {
		els[i].style.width=fw+'px';
	}

	for(i=0; i<els2.length; i++) {
		els2[i].style.width=fw+'px';
	}

	if (((dir=='shrink') && (w>end)) || ((dir=='grow') && (w<end))) {
		sidebox_timer=setTimeout("sidesearch_slide("+end+",'"+dir+"')",10);
	} else if (dir=='grow') {

	} else if (dir=='shrink') {

	}
}

function sidesearch_suppress(value) {
	clearTimeout(sidebox_timer);
	sidesearch_disable=value;
}