// ***************************************************************************************************

/* variabile definite in afara
	var l_nuAleg
	var callback_zone	optional o functie, se apeleaza dupa procesarea zonelor
	var callback_loc	optional o functie, se apeleaza dupa procesarea oraselor
	
	//mai jos sunte idurile celor 3 selecturi
	var sNumeTara
	var sNumeZona
	var sNumeOras
*/

var sel_bSync = false;
var opInitInCurs = false;

function xml_selecteazaTara(index, bSync) {
	sel_bSync = bSync;
	//alert('selecteazaTara('+selectCtrl+', '+index+')');

    //fac pentru zone
	sqlFile = 'q_cautare_xzone.php';
	qString = 'tara='+index;
	//dprint('mysql_query: '+sqlFile+'?'+qString+' | sync: '+bSync);
	if (bSync) {
		obj_res = mysql_query_sync(sqlFile, qString);
		//dprintObj(obj_res);
		xml_process_zone(obj_res);
	}
	else
		mysql_query(sqlFile, qString, xml_process_zone);
}

function xml_selecteazaZona(index, bSync) {
	sel_bSync = bSync;
    //fac pentru orase
	var idt = document.getElementById(sNumeTara).value;
	sqlFile = 'q_cautare_xorase.php';
	qString = 'zona='+index+'&tara='+idt;
	//dprint('mysql_query: '+sqlFile+'?'+qString+' | sync: '+bSync);
	if (bSync) {
		obj_res = mysql_query_sync(sqlFile, qString);
		//dprintObj(obj_res);
		xml_process_orase(obj_res);
	}
	else
		mysql_query(sqlFile, qString, xml_process_orase);
}

function xml_process_orase (obj){
	sel = document.getElementById(sNumeOras);
	if (obj.bSuccess){
		//sterg vechi
	    for (i = sel.options.length; i >= 0; i--) {
	        sel.options[i] = null;
	    }
	    //bag una default
	    sel.options[0] = new Option(l_nuAleg);
	    sel.options[0].value = "0";

		for (i=0; i<obj.nRows; i++) {
	        sel.options[i+1] = new Option(obj.aResult[i][1]);
	        sel.options[i+1].value = obj.aResult[i][0];
	        //if (obj.aResult[i][0] == 168)
	        //	sel.options[i+1].selected = true;
        }
		
		if (callback_loc)	callback_loc();

	}
	else
		alert(obj.sErrorMessage);

}

function xml_process_zone (obj){
	sel = document.getElementById(sNumeZona);
	if (obj.bSuccess){
		//sterg vechi
	    for (i = sel.options.length; i >= 0; i--) {
	        sel.options[i] = null;
	    }
	    //bag una default
	    sel.options[0] = new Option(l_nuAleg);
	    sel.options[0].value = "0";

		for (i=0; i<obj.nRows; i++) {
	        sel.options[i+1] = new Option(obj.aResult[i][1]);
	        sel.options[i+1].value = obj.aResult[i][0];
        }
		
		if (callback_zone)	callback_zone();

        //pun si orasele din tara respectiva (zona null/0)
		if (!opInitInCurs)
	        xml_selecteazaZona(0, sel_bSync);	
	}
	else
		alert(obj.sErrorMessage);

}

function xml_initGeografie(tara, zona, oras) {
	if (tara != '' && tara != '0') {
		opInitInCurs = true;
		
		xml_selecteazaTara(tara, true);
		
		if (zona != '' && zona != '0')
			getById(sNumeZona).value = zona;
		xml_selecteazaZona(zona, true);	
		
		if (oras != '' && oras != '0')
			getById(sNumeOras).value = oras;
			
		opInitInCurs = false;
	}
}

// ***************************************************************************************************

