function AutoCompleteToArray() {}

AutoCompleteToArray.prototype = {

    showRowsToArray : function (rows)
    {
      var numRows = _$.Array.count(rows);
      var setElementId = _$.registry.get("setElementId");
      var pos = _$.Css.findPos(setElementId);
      var leftPos = pos.left;
      var topPos = (_$.Events.browser.get('ie') ? pos.top + 20 : pos.top + 17 );

      var outerRow = "autoCompleteResults";
      document.getElementById(outerRow).innerHTML = "";

      var forScroll = 0;
      if (numRows > 0) {
      	AutoCompleteArr.flying.switchVisibleSelected(setElementId, numRows);

  			if (numRows > 10) var heightElements = 10 * 18;
  			else var heightElements = numRows * 18;

  			with(document.getElementById(outerRow).style) {
  					 left = leftPos + "px";
  					 top = topPos + 'px';
  					 visibility = 'visible';
  					 height = heightElements + 'px';
  			};

  			var i = 0;
  			for (var elt in rows)
  			{
  				var egt = document.createElement('li');
  				var lnk = document.createElement('a');
  				var text = document.createTextNode(rows[elt]);

  				lnk.appendChild(text);
  				lnk.setAttribute('href', 'javascript:void(0);');
  				divId = setElementId;
  				lnk.i = rows[elt];

  				//lnk.style.backgroundColor = 'white';

  				lnk.onclick = function ()
  				{
                  document.getElementById(divId).value = this.i;
                  //document.getElementById(outerRow).style.visibility = 'hidden';
                  AutoCompleteArr.flying.switchVisibleSelected("", 0);
  				};

  				egt.appendChild(lnk);
  				document.getElementById(outerRow).appendChild(egt);
  			 }
             forScroll++;

    	} else {
    		document.getElementById(outerRow).style.visibility = "hidden";
    		AutoCompleteArr.flying.switchVisibleSelected("", 0);
    	}

    	setElementId = "";
    }
};



AutoCompleteToArray.prototype.flying = {

    disabledPopup : function ()
    {
       document.getElementById("autoCompleteResults").style.visibility = "hidden";
       AutoCompleteArr.flying.switchVisibleSelected("", 0);
    },


    switchVisibleSelected : function(type, numRows)
    {
       var listId = { //flying_type : 'visible',
                      //flying_class : 'visible',
                      flying_originDay : 'visible',
                      flying_originMonth : 'visible',
                      flying_originYear : 'visible',
                      flying_destinationDay : 'visible',
                      flying_destinationMonth : 'visible',
                      flying_destinationYear : 'visible',
                      flying_child : 'visible',
                      flying_bebe : 'visible'
                    };

        if (numRows > 0 && numRows <= 3)
        {
            if (numRows != 1) {listId.flying_originDay = 'hidden'; listId.flying_originMonth = 'hidden'; listId.flying_originYear = 'hidden';}
            if (numRows == 1 && type == 'flying_destination') {listId.flying_originDay = 'hidden'; listId.flying_originMonth = 'hidden'; listId.flying_originYear = 'hidden';}
            if (numRows >= 2) {
              listId.flying_destinationDay = 'hidden';
              listId.flying_destinationMonth = 'hidden';
              listId.flying_destinationYear = 'hidden';
            }
            //if (numRows >= 2 && type == 'flying_destination') {listId.flying_child = 'hidden'; listId.flying_bebe = 'hidden';}
        }
         else if(numRows >= 4) {
            //listId.flying_type = 'hidden';
            //listId.flying_class = 'hidden';

            listId.flying_originDay = 'hidden';
            listId.flying_originMonth = 'hidden';

            listId.flying_originDay = 'hidden';
            listId.flying_originMonth = 'hidden';
            listId.flying_originYear = 'hidden';

            if (numRows == 4) {
              listId.flying_destinationDay = 'hidden';
              listId.flying_destinationMonth = 'hidden';
              listId.flying_destinationYear = 'hidden';

              listId.flying_child = 'hidden';
              listId.flying_bebe = 'hidden';
            }

            if (numRows >= 5) {
              listId.flying_destinationDay = 'hidden';
              listId.flying_destinationMonth = 'hidden';
              listId.flying_destinationYear = 'hidden';

              listId.flying_child = 'hidden';
              listId.flying_bebe = 'hidden';
            }

            if (numRows >= 8) {
              listId.flying_child = 'hidden';
              listId.flying_bebe = 'hidden';
            }
             else if(type == "flying_destination" && numRows >= 7)
            {
              listId.flying_child = 'hidden';
              listId.flying_bebe = 'hidden';
            }
        }

        for (var elt in listId) {
          document.getElementById(elt).style.visibility = listId[elt];
        }
    },


    checkInput_origin : function ()
    {
        var flying_origin = _$.Elements.getInputText('flying_origin');
        var len = flying_origin.length;

        if (len <= 1) {
          AutoCompleteArr.flying.disabledPopup("", 0);
          return false;
        }

        AutoCompleteArr.flying.flying_origin();
    },


    checkInput_destination : function ()
    {
        var flying_destination = _$.Elements.getInputText('flying_destination');
        var len = flying_destination.length;

        if (len <= 1) {
          AutoCompleteArr.flying.disabledPopup("", 0);
          return false;
        }

        AutoCompleteArr.flying.flying_destination();
    },


    flying_origin : function ()
    {
       var flying_origin = _$.Elements.getInputText("flying_origin");
       var listing = SearchingListing.vtlst(flying_origin);
       _$.registry.set("setElementId", "flying_origin");
       AutoCompleteArr.showRowsToArray(listing);
    },


    flying_destination : function ()
    {
      var flying_destination = _$.Elements.getInputText("flying_destination");
      var listing = SearchingListing.vtlst(flying_destination);
      _$.registry.set("setElementId", "flying_destination");
      AutoCompleteArr.showRowsToArray(listing);
    }
};

var AutoCompleteArr = new AutoCompleteToArray();
