// ============================================================================
// FillSelect.js
// ----------------------------------------------------------------------------
// Nome     :
// Home     : http://home.zevallos.com/
// Criacao  : 5/28/2001 11:47PM
// Autor    : Ruben Zevallos Jr. <ruben@zevallos.com>
// Versao   : 1.1d
// Local    : Brasília - DF
// Copyright: 97-2004 by Ruben Zevallos(r) Jr.
// License  : Licensed under the terms of the GNU Lesser General Public License
//            http://www.opensource.org/licenses/lgpl-license.php
// ----------------------------------------------------------------------------

//===========================================================================
// Preenche o Select de acordo com o filtro especificado
function FillSelect(objField)
  {
  if(event != null)
    {
    event.cancelBubble = true;

    objField = event.srcElement;

	  var strCurrent = objField.name;

	  strCurrent = strCurrent.substring(3, strCurrent.length);

  } else {
	  var strCurrent = objField.name;

	  strCurrent = strCurrent.substring(3, strCurrent.length - 6);

    }

  var objSelect = eval("document.all.obj" + strCurrent);
  var objFiltro = eval("document.all.obj" + strCurrent + "Filtro");

  intFillMinimum = objFiltro.getAttribute("FillMinimum");
  strFillSelect  = objFiltro.getAttribute("FillSelect");
  strFillWhere   = objFiltro.getAttribute("FillWhere");
  strFillOrderBy = objFiltro.getAttribute("FillOrderBy");
  strFillOption  = objFiltro.getAttribute("FillOption");
  strFillValue   = objFiltro.getAttribute("FillValue");

  strFillValueDefault = objFiltro.getAttribute("FillValueDefault");
  strFillValueDefaultWhere = objFiltro.getAttribute("FillValueDefaultWhere");

  if(objFiltro.value.length >= intFillMinimum || strFillValueDefault.length >= 1)
    {
    objRS = new ActiveXObject("ADODB.RecordSet");

    objRS.LockType = 4;
    objRS.CursorType = 3;
    objRS.CursorLocation = 3;

    strOpen = eval(strFillWhere);

    strOpen = sstrXMLSelect + "/FillSelect.asp?O=" + strFillSelect  + "&Y=" + strFillOrderBy + "&T=" + strOpen;

    strOpen = strOpen.replace("\%", "%25")
    //strOpen = strOpen.replace("\'", "%27")
    //strOpen = strOpen.replace(" ", "+")

    //cliNome+LIKE+%27cai%25%27

    objRS.Open(strOpen, "Provider=MSPersist;");

    objSelect.innerHTML = "";

    if(!objRS.EOF)
      {
  		do
  		  {
  			var objOption = document.createElement("OPTION");

  			objOption.value = eval(strFillValue);
  			objOption.text = eval(strFillOption);

  			objSelect.add(objOption);

  			if(strFillValueDefault == objOption.value)
  			  {
    			objOption.selected = true;

      	} else {
    			objOption.selected = false;

    			}

  			objRS.MoveNext;
  			}
  		while (!objRS.EOF);

    } else {
  		objOption = document.createElement("OPTION");

  		objOption.text = "Sem definição";
  		objOption.value = "";

  		objSelect.add(objOption);
  	  }

	  objRS.Close;
	  }
  }

//===========================================================================
// Preenche o Select com somente o conteúdo definido no FillDefaultValue
function PointSelect(objField)
  {
  if(event != null)
    {
    event.cancelBubble = true;

    objField = event.srcElement;

	  var strCurrent = objField.name;

	  strCurrent = strCurrent.substring(3, strCurrent.length);

  } else {
	  var strCurrent = objField.name;

	  strCurrent = strCurrent.substring(3, strCurrent.length - 6);

    }

  var objSelect = eval("document.all.obj" + strCurrent);
  var objFiltro = eval("document.all.obj" + strCurrent + "Filtro");

  intFillMinimum = objFiltro.getAttribute("FillMinimum");
  strFillSelect  = objFiltro.getAttribute("FillSelect");
  strFillWhere   = objFiltro.getAttribute("FillWhere");
  strFillOrderBy = objFiltro.getAttribute("FillOrderBy");
  strFillOption  = objFiltro.getAttribute("FillOption");
  strFillValue   = objFiltro.getAttribute("FillValue");

  strFillValueDefault      = objFiltro.getAttribute("FillValueDefault");
  strFillValueDefaultWhere = objFiltro.getAttribute("FillValueDefaultWhere");

  if(strFillValueDefault.length >= 1)
    {
    strOpen = strFillValueDefaultWhere + '=' + strFillValueDefault;

    strOpen = sstrXMLSelect + "/FillSelect.asp?O=" + strFillSelect  + "&Y=" + strFillOrderBy + "&T=" + strOpen;

    strOpen = strOpen.replace("\%", "%25")
    //strOpen = strOpen.replace("\'", "%27")
    //strOpen = strOpen.replace(" ", "+")

    //cliNome+LIKE+%27cai%25%27

    objRS = new ActiveXObject("ADODB.RecordSet");

    objRS.LockType = 4;
    objRS.CursorType = 3;
    objRS.CursorLocation = 3;

    // alert(strOpen);

    objRS.Open(strOpen, "Provider=MSPersist;");

    objSelect.innerHTML = "";

    if(!objRS.EOF)
      {
  		do
  		  {
  			var objOption = document.createElement("OPTION");

  			objOption.value = eval(strFillValue);
  			objOption.text = eval(strFillOption);

  			if(strFillValueDefault == objOption.value)
  			  {
    			objOption.selected = true;

      	} else {
    			objOption.selected = false;

    			}

  			objSelect.add(objOption);

  			objRS.MoveNext;
  			}
  		while (!objRS.EOF);

    } else {
  		objOption = document.createElement("OPTION");

  		objOption.text = "Sem definição";
  		objOption.value = "";

  		objSelect.add(objOption);
  	  }

	  objRS.Close;
	  }
  }
