var url_zone = "/zones.php?id_city="; // The server-side script
var url_zone_admin = "/admin/zones.php?id_city="; // The server-side script
var url_zone_class = "/zones_class.php?id_city="; // The server-side script
var url_importe = "/admin/importe_clases.php";

function handleHttpResponse() {
	if (http.readyState == 4) {
		if (http.responseText.indexOf('invalid') == -1) {
			if(field == "zone"){
				var xmlDocument = http.responseXML; 
				document.getElementById('list_zone').innerHTML = xmlDocument.getElementsByTagName('zone').item(0).firstChild.data;
			}else if(field == "zone_class"){
				var xmlDocument = http.responseXML; 
				document.getElementById('list_zone_class').innerHTML = xmlDocument.getElementsByTagName('zone').item(0).firstChild.data;
				document.getElementById('ver_plano').innerHTML = xmlDocument.getElementsByTagName('vermapa').item(0).firstChild.data;
			}else if(field == "zone_admin"){
				var xmlDocument = http.responseXML; 
				document.getElementById('list_zone').innerHTML = xmlDocument.getElementsByTagName('zone').item(0).firstChild.data;
			}else if(field == "importe"){
				var xmlDocument = http.responseXML; 
				document.getElementById('record[importe_clases]').value = xmlDocument.getElementsByTagName('importe').item(0).firstChild.data;
				document.getElementById('record[importe_matricula]').value = xmlDocument.getElementsByTagName('importe_matricula').item(0).firstChild.data;
				document.getElementById('record[importe_total]').value = parseInt(xmlDocument.getElementsByTagName('importe').item(0).firstChild.data) + parseInt(xmlDocument.getElementsByTagName('importe_matricula').item(0).firstChild.data);
			}
			isWorking = false;
		}
	}
}

var isWorking = false;
function updatefield(campo) {
	if (campo == 'zone'){
		var id_field = document.getElementById('record[id_city]').value;
		var str_guardar = 'zone';
		if (!isWorking && http) {
			field = 'zone';
			http.open("GET", url_zone + id_field, true);
			http.onreadystatechange = handleHttpResponse;
			isWorking = true;
			http.send(null);
		}
	}else if (campo == 'zone_class'){
		var id_field = document.getElementById('id_city_class').value;
		var str_guardar = 'zone_class';
		if (!isWorking && http) {
			field = 'zone_class';
			http.open("GET", url_zone_class + id_field, true);
			http.onreadystatechange = handleHttpResponse;
			isWorking = true;
			http.send(null);
		}
	}else if (campo == 'zone_admin'){
		var id_field = document.getElementById('id_city').value;
		var str_guardar = 'zone_admin';
		if (!isWorking && http) {
			field = 'zone_admin';
			http.open("GET", url_zone_admin + id_field, true);
			http.onreadystatechange = handleHttpResponse;
			isWorking = true;
			http.send(null);
		}
	}else if (campo == 'importe'){
		var enter = false;
		var subjet = '';
		var extra_matter = '';

		if(document.getElementById('record[contracted_hours]').value){
			var number = document.getElementById('record[contracted_hours]').value;
			number = number.replace(',', '.');
			if(document.getElementById('record[subjet][]').value){
				var subjet = document.getElementById('record[subjet][]').value;
				enter = true;
			}
			if(document.getElementById('record[extra_matter][]').value){
				var extra_matter = document.getElementById('record[extra_matter][]').value;
				enter = true;
			}
			if(document.getElementById('record[id_district]').value){
				var district = document.getElementById('record[id_district]').value;
				enter = true;
			}
			if(!subjet && !extra_matter){
				alert('Debe seleccionar una asignatura o materia extra');
			}
			if(enter){
				var str_guardar = 'importe';
				if (!isWorking && http) {
					field = 'importe';
					http.open("GET", url_importe + '?contracted_hours=' + number + '&subjet=' + subjet + '&extra_matter=' + extra_matter + '&district=' + district, true);
					http.onreadystatechange = handleHttpResponse;
					isWorking = true;
					http.send(null);
				}
			}else{
				alert('Debe seleccionar una asignatura o materia extra');
			}
		}else{
			alert("Debe indicar la Duración");
		}
	}
}

function show_div(cual){
	ocultar('question');
	ocultar('candidato_si');
	ocultar('candidato_no');

	document.getElementById(cual).style.position = '';
	document.getElementById(cual).style.visibility = 'visible';
}

function ocultar(capa){
	document.getElementById(capa).style.position = 'absolute';
	document.getElementById(capa).style.visibility = 'hidden';
}


function mostrar(capa){
	document.getElementById(capa).style.position = '';
	document.getElementById(capa).style.visibility = 'visible';
}

var singleSelect = true;  // Allows an item to be selected once only
var sortSelect = true;  // Only effective if above flag set to true
var sortPick = true;  // Will order the picklist in sort sequence

// Initialise - invoked on load
function updateIt() {
  var selectList = document.getElementById("SelectList");
  var selectOptions = selectList.options;
  var selectIndex = selectList.selectedIndex;
  var pickList = document.getElementById("PickList[]");
  var pickOptions = pickList.options;
  pickOptions[0] = null;  // Remove initial entry from picklist (was only used to set default width)
  if (!(selectIndex > -1)) {
    selectOptions[0].selected = true;  // Set first selected on load
    selectOptions[0].defaultSelected = true;  // In case of reset/reload
  }
  selectList.focus();  // Set focus on the selectlist
}

// Adds a selected item into the picklist
function addIt() {
  var selectList = document.getElementById("SelectList");
  var selectIndex = selectList.selectedIndex;
  var selectOptions = selectList.options;
  var pickList = document.getElementById("PickList[]");
  var pickOptions = pickList.options;
  var pickOLength = pickOptions.length;
  // An item must be selected
  while (selectIndex > -1) {
	pickOptions[pickOLength] = new Option(selectList[selectIndex].text);
	pickOptions[pickOLength].value = selectList[selectIndex].value;
	// If single selection, remove the item from the select list
	if (singleSelect) {
	  selectOptions[selectIndex] = null;
	}

	if (sortPick) {
	  var tempText;
	  var tempValue;
	  // Sort the pick list
	  while (pickOLength > 0 && pickOptions[pickOLength].value < pickOptions[pickOLength-1].value) {
		tempText = pickOptions[pickOLength-1].text;
		tempValue = pickOptions[pickOLength-1].value;
		pickOptions[pickOLength-1].text = pickOptions[pickOLength].text;
		pickOptions[pickOLength-1].value = pickOptions[pickOLength].value;
		pickOptions[pickOLength].text = tempText;
		pickOptions[pickOLength].value = tempValue;
		pickOLength = pickOLength - 1;
	  }
	}
	selectIndex = selectList.selectedIndex;
	pickOLength = pickOptions.length;
  }
  if(selectOptions[0]){
	  selectOptions[0].selected = true;
  }

  var pickList = document.getElementById("PickList[]");
  var pickOptions = pickList.options;
  var pickOLength = pickOptions.length;

  var tmp = Array();
  for (var i = 0; i < pickOLength; i++) {
	if(tmp[pickOptions[i].value]){
		tmp[pickOptions[i].value] = tmp[pickOptions[i].value] + 1
		if(tmp[pickOptions[i].value] > 1){
			pickOptions[i].selected = true;
			tmp[pickOptions[i].value] = 1;
			delIt();
			pickOLength = pickOLength - 1;
		}
	}else{
		tmp[pickOptions[i].value] = 1;
	}
  }
}

// Deletes an item from the picklist
function delIt() {
  var selectList = document.getElementById("SelectList");
  var selectOptions = selectList.options;
  var selectOLength = selectOptions.length;
  var pickList = document.getElementById("PickList[]");
  var pickIndex = pickList.selectedIndex;
  var pickOptions = pickList.options;
  while (pickIndex > -1) {
    // If single selection, replace the item in the select list
    if (singleSelect) {
      selectOptions[selectOLength] = new Option(pickList[pickIndex].text);
      selectOptions[selectOLength].value = pickList[pickIndex].value;
    }
    pickOptions[pickIndex] = null;
    if (singleSelect && sortSelect) {
      var tempText;
      var tempValue;
      // Re-sort the select list
      while (selectOLength > 0 && selectOptions[selectOLength].value < selectOptions[selectOLength-1].value) {
        tempText = selectOptions[selectOLength-1].text;
        tempValue = selectOptions[selectOLength-1].value;
        selectOptions[selectOLength-1].text = selectOptions[selectOLength].text;
        selectOptions[selectOLength-1].value = selectOptions[selectOLength].value;
        selectOptions[selectOLength].text = tempText;
        selectOptions[selectOLength].value = tempValue;
        selectOLength = selectOLength - 1;
      }
    }
    pickIndex = pickList.selectedIndex;
    selectOLength = selectOptions.length;
  }
}

// Selection - invoked on submit
function selIt(btn) {
  var pickList = document.getElementById("PickList[]");
  var pickOptions = pickList.options;
  var pickOLength = pickOptions.length;

  for (var i = 0; i < pickOLength; i++) {
    pickOptions[i].selected = true;
  }

  var pickList_2 = document.getElementById("PickList_2[]");
  var pickOptions_2 = pickList_2.options;
  var pickOLength_2 = pickOptions_2.length;

  for (var i = 0; i < pickOLength_2; i++) {
    pickOptions_2[i].selected = true;
  }
  return true;
}

// Adds a selected item into the picklist
function addIt_2() {
  var selectList = document.getElementById("SelectList_2");
  var selectIndex = selectList.selectedIndex;
  var selectOptions = selectList.options;
  var pickList = document.getElementById("PickList_2[]");
  var pickOptions = pickList.options;
  var pickOLength = pickOptions.length;
  // An item must be selected
  while (selectIndex > -1) {
	pickOptions[pickOLength] = new Option(selectList[selectIndex].text);
	pickOptions[pickOLength].value = selectList[selectIndex].value;
	// If single selection, remove the item from the select list
	if (singleSelect) {
	  selectOptions[selectIndex] = null;
	}

	if (sortPick) {
	  var tempText;
	  var tempValue;
	  // Sort the pick list
	  while (pickOLength > 0 && pickOptions[pickOLength].value < pickOptions[pickOLength-1].value) {
		tempText = pickOptions[pickOLength-1].text;
		tempValue = pickOptions[pickOLength-1].value;
		pickOptions[pickOLength-1].text = pickOptions[pickOLength].text;
		pickOptions[pickOLength-1].value = pickOptions[pickOLength].value;
		pickOptions[pickOLength].text = tempText;
		pickOptions[pickOLength].value = tempValue;
		pickOLength = pickOLength - 1;
	  }
	}
	selectIndex = selectList.selectedIndex;
	pickOLength = pickOptions.length;
  }
  if(selectOptions[0]){
	  selectOptions[0].selected = true;
  }

  var pickList = document.getElementById("PickList_2[]");
  var pickOptions = pickList.options;
  var pickOLength = pickOptions.length;
  if (pickOLength < 1) {
    alert("No Selections in the Picklist\nPlease Select using the [->] button");
  }
  var tmp = new Array();
  for (var i = 0; i < pickOLength; i++) {
	if(tmp[pickOptions[i].value]){
		tmp[pickOptions[i].value] = tmp[pickOptions[i].value] + 1
		if(tmp[pickOptions[i].value] > 1){
			pickOptions[i].selected = true;
			tmp[pickOptions[i].value] = 1;
			delIt_2();
			pickOLength = pickOLength - 1;
		}
	}else{
		tmp[pickOptions[i].value] = 1;
	}
  }
}

// Deletes an item from the picklist
function delIt_2() {
  var selectList = document.getElementById("SelectList_2");
  var selectOptions = selectList.options;
  var selectOLength = selectOptions.length;
  var pickList = document.getElementById("PickList_2[]");
  var pickIndex = pickList.selectedIndex;
  var pickOptions = pickList.options;
  while (pickIndex > -1) {
    // If single selection, replace the item in the select list
    if (singleSelect) {
      selectOptions[selectOLength] = new Option(pickList[pickIndex].text);
      selectOptions[selectOLength].value = pickList[pickIndex].value;
    }
    pickOptions[pickIndex] = null;
    if (singleSelect && sortSelect) {
      var tempText;
      var tempValue;
      // Re-sort the select list
      while (selectOLength > 0 && selectOptions[selectOLength].value < selectOptions[selectOLength-1].value) {
        tempText = selectOptions[selectOLength-1].text;
        tempValue = selectOptions[selectOLength-1].value;
        selectOptions[selectOLength-1].text = selectOptions[selectOLength].text;
        selectOptions[selectOLength-1].value = selectOptions[selectOLength].value;
        selectOptions[selectOLength].text = tempText;
        selectOptions[selectOLength].value = tempValue;
        selectOLength = selectOLength - 1;
      }
    }
    pickIndex = pickList.selectedIndex;
    selectOLength = selectOptions.length;
  }
}

function check(obj){
	var el=document.getElementById(obj);
	if(el[el.selectedIndex].value == 1){
		mostrar('final_div');
		mostrar('final_div2');
	}else{
		ocultar('final_div');
		ocultar('final_div2');
	}
}

function muestraoculta(id, zona){
	nommapa = "mapa_" + id;
	nomaudio = "audio_" + id;
	nomform = "form_" + id;
	if (zona == "mapa"){
		document.getElementById(nommapa).style.display = "block";
		document.getElementById(nomaudio).style.display = "none";
		document.getElementById(nomform).style.display = "none";
	}
	if (zona == "audio"){
		document.getElementById(nommapa).style.display = "none";
		document.getElementById(nomaudio).style.display = "block";
		document.getElementById(nomform).style.display = "none";
	}
	if (zona == "form"){
		document.getElementById(nommapa).style.display = "none";
		document.getElementById(nomaudio).style.display = "none";
		document.getElementById(nomform).style.display = "block";
	}
}
