<%--
/******************************************************************************
 * Copyright (c) 2000-2009 e-Deal
 *
 * e-Deal S.A.
 * 55 rue Brillat Savarin
 * 75013 Paris
 * France
 *
 * T: +33 (0)1 53 80 80 30
 * F: +33 (0)1 73 01 69 77
 * http://www.e-deal.com
 * 
 * La diffusion de ce code source sous quelque forme que ce soit sans
 * l'autorisation de E-DEAL est interdite.
 *
 * Vous êtes autorisés à modifier ce code source uniquement pour votre usage
 * propre et sous réserve que les mentions de copyright demeurent intactes.
 *
 * Ce code est fourni en l'état. Aucune garantie d'aucune sorte, explicite ou
 * implicite n'est donnée. En aucun cas E-DEAL ne pourra être tenu pour
 * responsable des dommages pouvant résulter de l'utilisation de ce code
 * source.
 ******************************************************************************/
--%>
<%@ page language="java" contentType="text/plain;charset=UTF-8"%>
<%@ page import="com.edeal.frontline.navigation.FlRequest" %>
<%@ page import="com.edeal.frontline.Utils" %>
<%@taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl" %>
<%
	FlRequest flRequest = new FlRequest(request);
	String field = flRequest.getRequestParameterOrAttribute("field");
	String formName = flRequest.getRequestParameterOrAttribute("formName");
	String city = flRequest.getRequestParameterOrAttribute("cityarg");
	if (city == null) {
		city = "";
	}
	
	String rest[] = city.split(",");
	if (formName != null) {
		try {
			Integer.parseInt(formName);
		} catch (NumberFormatException nfe) {
			formName = "'" + formName + "'";
		}
	} else {
		formName = "0";
	}
%>

var field = window.document.forms[<%= formName %>].<%= field %>;
var arrayOption = [<%= Utils.implodeList(rest, ", ", "\"") %>];

// Do we have multiple choices?
if (arrayOption.length > 1 && arrayOption[0] != 'nothing' && arrayOption[0] != '') {
	field.value = '';
	var combobox = document.getElementById('CBX');
	if (combobox == null) {
    	var combobox = document.createElement("select");
		combobox.setAttribute("id", "CBX");
    } else {
    	while (combobox.options.length > 0) {
    		combobox.remove(0);
    	}
    }
    
    var parent = field.parentNode;
    field.style.display = 'none';
    
    // Indicate that there is more than one choice
    var o = document.createElement("option");
	o.value = "";
    o.appendChild(document.createTextNode('<fl:getMessage code="M6149" alt="Choisir une ville" js="true"/>'));
    combobox.appendChild(o);
    
    // Add the city choices
    for (var i = 0; i < arrayOption.length; i++) {
		o = document.createElement("option");
		o.value = arrayOption[i];
		o.appendChild(document.createTextNode(arrayOption[i]));
		combobox.appendChild(o);
	}
	
	// Option to select if they don't like the choices
    o = document.createElement("option");
	o.value = "";
    o.appendChild(document.createTextNode("<<fl:getMessage code="M614A" alt="Aucun de ces choix" js="true"/>>"));
    combobox.appendChild(o);
	
	// Finally, the script to revert to an input
    parent.insertBefore(combobox, field);
    combobox.onchange = function() {
    	var field2 = window.document.forms[<%= formName %>].<%= field %>;
		var bc = document.getElementById('CBX');
	    field2.style.display = 'inline';
		field2.value = bc.value;
$("#" + field.id).trigger("change");
		field2.parentNode.removeChild(bc);
		if (field2.value == '') {
			field2.focus();
		}
	}
}


// If we have just one option, select it and return.

if (arrayOption.length == 1 && arrayOption[0] != 'nothing' && arrayOption[0] != '') {
      var bc = document.getElementById('CBX');
      if(bc){
            field.parentNode.removeChild(bc);
      }
    field.style.display = 'inline';
      field.value = arrayOption[0];
	$("#" + field.id).trigger("change");
}


