function Reset(asThis, bClear) 
{
	var current_CD = '', current_NAME = '', current_ID = '';
	if ($(asThis + '_CD')) {current_CD = $(asThis + '_CD').value;}
	if ($(asThis + '_NAME')) {current_NAME = $(asThis + '_NAME').value;}
	if ($(asThis + '_ID')) {current_ID = $(asThis + '_ID').value;}

	if ((current_ID != "") || (current_CD != "") || (current_NAME != "")) 
	{
		if (asThis == 'CTY1') 
		{
	 		$('CTY2_ID').value="";
	 		$('CTY3_ID').value="";
			$('CTY3_DISP_CD').value="";
			$('CTY3_DISP_CD').title="";
			$('CTY3_DISP_NAME').value="";
		}
		if (asThis == 'CTY2') 
		{
 	 		$('CTY3_ID').value="";
 			$('CTY3_DISP_CD').value="";
			$('CTY3_DISP_CD').title="";
			$('CTY3_DISP_NAME').value="";
		}
		if (asThis == "CTY3_DISP") 
		{
			$('CTY3_ID').value="";
			if (bClear) 
			{
				$('CTY3_DISP_CD').title="";
				$('CTY3_DISP_NAME').value="";
			}
		}
		if (asThis == 'CTY3') 
		{
			$('CTY3_DISP_CD').value="";
			$('CTY3_DISP_CD').title="";
			$('CTY3_DISP_NAME').value="";
		}

		$('STC_CD').value="";
		$('STC_NAME').value="";

		if (current_ID != '') $(asThis + '_ID').value = current_ID;
		if (current_CD != '') $(asThis + '_CD').value = current_CD;
		if (current_NAME != '') $(asThis + '_NAME').value = current_NAME;
	}
}
		
function buildGeog(parentDDB, parentArray, childDDB, childArray, pleaseSelectText) {
  // Arrays are 2-d 2nd dimension is
  // 0 - Item's id
  // 1 - Item's name
  // 2 - Country id
  // 3 - Item's code (for country/region) or Region Id for Resorts
  // 4 - Item's code (resort only)
  
  var parentValues = null;
  
  if (parentDDB != null) {
    var selectedParent = $F(parentDDB);
    if (typeof selectedParent == 'string') {var p = selectedParent; selectedParent = new Array(); selectedParent[0] = p;}
    var parentValues = new Array();
    for (var i = 0; i < selectedParent.length; i++) 
    parentValues[parentValues.length] = findInArray(parentArray, selectedParent[i], 3, 0);
  }  
  
  var childValue = $F(childDDB);
  if (typeof childValue == 'string') {var p = childValue; childValue = new Array(); childValue[0] = p;}
  childDDB.options.length = 0;
  if (pleaseSelectText != null) childDDB.options[0] = new Option(pleaseSelectText, "");
    
  for (var i = 0; i < childArray.length; i++) {
    if (parentValues == null || parentValues.contains(childArray[i][2])) {
      var itemCode = childArray[i][childArray[i].length-1]; // Code is the last element in each array row.
      var isSelected = (childValue.contains(itemCode));
      childDDB.options[childDDB.options.length] = new Option(childArray[i][1], itemCode, false, isSelected);          
    }
  }  
}

function findInArray(ary, value, searchCol, returnCol) {
  if (returnCol == null) returnCol = searchCol;
  for (var i = 0; i < ary.length; i++) {
    if (value == ary[i][searchCol]) return ary[i][returnCol];  
  }
  return null;
}

function $F(elementOrId) {
  var field = $(elementOrId);
  if (field == null || typeof field.type != "string") return '';
  if (field.type == "hidden" || field.type == "text" || field.type == "password" || field.type == "textarea") {
    return field.value;  
  } else if (field.type == "radio" || field.type == "checkbox") {
    if (field.checked) return field.value;  
  } else if (field.type == "select-one") {
    for (var i = 0; i < field.options.length; i++) {
      if (field.options[i].selected) return field.options[i].value;  
    }
    return '';
  } else if (field.type == "select-multiple") {
    var result = new Array();
    for (var i = 0; i < field.options.length; i++) {
      if (field.options[i].selected) result[result.length] = field.options[i].value;  
    }
    return result;
  } 
  return '';
}

function buildGeogLists(asLevel, asCty1, asCty2, asCty3, asTreg) {
	if (asLevel == 'INIT') {
    buildGeog(null, null, $('CTY1_ID'), CTY1AList, null);
    $('CTY1_ID').options[0].selected = true;
	}
	if ((asLevel == 'CTY1') || (asLevel == 'INIT')) {
    buildGeog($('CTY1_ID'), CTY1AList, $('CTY2_ID'), CTY2AList);
	}
	
  //var resortIsMulti = ($('CTY3_ID') != null&& $('CTY3_ID').type == 'select-multiple');
  //  buildGeog($('CTY1_ID'), CTY1AList, $('CTY3_ID'), CTY3AList, (resortIsMulti ? null :"Kaikki kohteet"));
  buildGeog($('CTY1_ID'), CTY1AList, $('CTY3_ID'), CTY3AList, 'Kaikki kohteet');

  $('CTY1_CD').value = $F('CTY1_ID');  
  $('CTY3_CD').value = $F('CTY3_ID');

  if ($F('CTY3_ID') != "") {
    var regionId  = findInArray(CTY3AList, $F('CTY3_ID'), 4, 3);
    $('CTY2_CD').value = findInArray(CTY2AList, regionId, 0, 3);
  } else {
    $('CTY2_CD').value = ''; 
  }
  return;
}
// $Rev: 1343 $