function getURLParameters() {
	var sURL = window.document.URL.toString();
	var params = new Object();
	if(sURL.indexOf("?") > 0) {
		var arrParams = sURL.split("?");
		var arrURLParams = arrParams[1].split("&");
		
		for(i=0; i<arrURLParams.length; i++) {
			if(arrURLParams[i].substring(0,3) == "to=")
				params.to = unescape(arrURLParams[i].substring(3));
			else if (arrURLParams[i].substring(0,5) == "from=")
				params.from = unescape(arrURLParams[i].substring(5));
		}
	}
	return params;
}

function PanelPair(targetId1, targetId2, title1, title2, hiddenId1, hiddenId2, pIndex, dataSrc1, dataSrc2, form,dropdownPosX,dropdownPosY,dropdownPosX2,dropdownPosY2) 
{
	this.panel1 = new GenericPanel(targetId1, title1, hiddenId1, pIndex, dataSrc1, form,dropdownPosX,dropdownPosY);
	this.panel1.onItemSelect.subscribe(this.filter1, this, true); 
	this.panel2 = new GenericPanel(targetId2, title2, hiddenId2, pIndex+1, dataSrc2, form,dropdownPosX2,dropdownPosY2);
	
	//parse url parameters, preset minibooker
	var urlVars = getURLParameters();
	if (urlVars.from) {
		this.panel1.preset(urlVars.from);
		if (urlVars.to)
			this.panel2.preset(urlVars.to);
	}
}

PanelPair.prototype.filter1 = function (e) {
    var panel1Value = this.panel1.getValue()
    var panel2Value = this.panel2.getValue();
    var newCodes = eval("a" + panel1Value);
    
    var newSet = new Array();
    var reselect = false; 
    for (var i=0; i<newCodes.length; i++) 
    {
      var c = eval("typeof (s" + newCodes[i] + ")");
      if (c == 'undefined')
        eval("s" + newCodes[i] + " = '" + newCodes[i] + "'");
      newSet.push(new Array(newCodes[i], eval("s" + newCodes[i]), i ) );
    }

    if(panel2Value != "") {
      for(var i=0; i<newCodes.length; i++) {
        if(panel2Value == newCodes[i]) {
          reselect = true;
          break;
        }
      }
    }

    this.panel2.set = newSet;
    this.panel2.searchSet = newSet;
    this.panel2.render();

    if(reselect) 
      this.panel2.highlight(this.panel2.getAfromKey(panel2Value));
    else 
      this.panel2.reset();
  }

