var frmLeft = parent.frames["fstLeft"];
var frmPosition = top.frames["position"];
var frmAttrSearchTypes = top.frames["attributesearchtype"];
var frmInput = top.frames["inputpage"];
var frmIslandSelection = top.frames["island"];
var frmTopic = top.frames["topic"];
var frmOthers = top.frames["others"];
var frmQuery = top.frames["query"];




var rows_initial = "11%,4%,4%,12%,10%,*,1%,4%,1";

var rows_building_keyword_by_name = "11%,4%,4%,12%,10%,5%,*,4%,1";
var rows_building_keyword_by_street_name_np = "11%,4%,4%,20%,10%,5%,*,4%,1";
var rows_vias_keyword_by_name = "11%,4%,4%,12%,10%,1,*,4%,1";
var rows_thematic_keyword_by_name = "11%,4%,4%,12%,10%,12%,*,4%,1";

var rows_building_stroke_by_name = "11%,4%,4%,12%,10%,5%,*,4%,1";
var rows_building_stroke_by_street_name_type_np = "11%,4%,4%,30%,10%,5%,*,4%,1";
var rows_vias_stroke_by_street_name_type = "11%,4%,4%,20%,12%,1,*,4%,1";
var rows_thematic_stroke_by_name = "11%,4%,4%,12%,10%,12%,*,4%,1";

var prompt_building_keyword_by_name = "Your building keyword";
var prompt_building_keyword_by_street_name_np = "Your street keyword";
var prompt_vias_keyword_by_name = "Your street keyword";
var prompt_thematic_keyword_by_name = "Your subclass keyword";

var prompt_building_stroke_by_name = "Initial of the Name";
var prompt_building_stroke_by_street_name_type_np = "Initial of the Name";
var prompt_vias_stroke_by_stree_name_type = "Initial of the Name";
var prompt_thematic_strok_by_name = "Initial of the Name";


//called in : doAttrSearch()
function isblank(s)
{
 	for (var i=0; i < s.length; i++)
 	{
		var c = s.charAt(i);
		
		if ( (c != ' ') && (c != '\n')  && (c != '\t') ) return false;
 	}
 	return true;
}

//called in : doAttrSearch()
function canAttrQuery()
{
  if (parseInt(frmQuery.getFeatureClass()) == 99)
  {
     alert("Please select a search theme");
     return false;
  }
  return true;
}


function setInputPage()
{
  var searchtype = parseInt(frmQuery.getSearchType());
  var attrsearchtype = parseInt(frmQuery.getAttrSearchType());
  var fclass = parseInt(frmQuery.getFeatureClass());
  var inputpage = "";
  var curRows = ""; 
  var curPrompt = "";
  
  
 
  if (searchtype==0)
  {  
     inputpage = "";
     curRows = "";
     curPrompt = "";
    
     if (attrsearchtype == 0)
     {
        if (fclass == 24)
        {
           var buildingsearchtype =parseInt(frmQuery.getBuildingSearchType());
           
          
            if (buildingsearchtype == 0) 
            {
            	inputpage = "input_keyword.htm";
            	curRows = rows_building_keyword_by_name;
            	curPrompt = prompt_building_keyword_by_name;
            }
           
           else 
           { 
           	inputpage = "input_keyword_np.htm";
           	curRows = rows_building_keyword_by_street_name_np;
           	curPrompt = prompt_building_keyword_by_street_name_np;
           }
        }
        else
         { 
          
           if (fclass == 0)
           { 
              
              inputpage = "input_keyword.htm"; 
              curRows = rows_vias_keyword_by_name; 
              curPrompt = prompt_vias_keyword_by_name;
           }
          
           else 
            if ( (fclass >= 1) && (fclass <99) )
            {    
           	
               inputpage = "input_keyword.htm";
               curRows = rows_thematic_keyword_by_name;
               curPrompt = prompt_thematic_keyword_by_name;
            }
            else
             if (fclass == 99)
             {
                
                inputpage = "input_keyword.htm";
                curRows = rows_initial;
             }
        }
     }
     
     else
     {
    	
        if (fclass == 24)
        {
           var buildingsearchtype = parseInt(frmQuery.getBuildingSearchType());
           
           
           if (buildingsearchtype == 0) 
           {
           	inputpage = "input_stroke.htm";
           	curRows = rows_building_stroke_by_name;
           	curPrompt = prompt_building_stroke_by_name;
           } 
           
           else 
           {
           	inputpage = "input_stroke_street_type_np.htm";
           	curRows = rows_building_stroke_by_street_name_type_np;
           	curPrompt = prompt_building_stroke_by_street_name_type_np;
           }
        }
        else 
        {
        
         if (fclass == 0)
         { 
                    
             inputpage = "input_stroke_street_type.htm"; 
             curRows = rows_vias_stroke_by_street_name_type;
             curPrompt = prompt_vias_stroke_by_stree_name_type; 
         }
        
         else 
          if ( (fclass >= 1) && (fclass <99) )
          {  
            inputpage = "input_stroke.htm";
            curRows = rows_thematic_stroke_by_name;
            curPrompt = prompt_thematic_strok_by_name;
          }
          else
           if (fclass == 99)
           {
             inputpage = "input_stroke.htm";
             curRows = rows_initial;	
           } 
        }
     } 
    if (curPrompt != "") frmQuery.setPrompt(curPrompt);
    if (inputpage != "") frmInput.location.replace(inputpage);
    if (curRows != "") frmLeft.rows = curRows;
    
   }
}

function ToggleButtonColor(oBtn)
{
  var oTr = oBtn.parentElement;
  var l   = oTr.children.length;
  var i = 0;
  
  for (i=0; i<l; i++)
  {
      if (oTr.children[i].className == "SELECTED"  ) oTr.children[i].className = "UNSELECTED"; 
      else oTr.children[i].className = "SELECTED"; 
  }
} 


function AttrButtonDown()
{
  window.event.cancelBubble = true;
  
  var oBtn = window.event.srcElement;
  
  if (oBtn.attrsearchtype)
  {
     if (oBtn.className == "UNSELECTED") { ToggleButtonColor(oBtn); }
     frmQuery.setSearchType("0");
     frmQuery.setAttrSearchType(oBtn.attrsearchtype);
     setInputPage();
  }
}

function BuildingSTButtonDown()
{
  window.event.cancelBubble = true;
  
  var oBtn = window.event.srcElement;
  
  if (oBtn.buildingsearchtype)
  {
     if (oBtn.className == "UNSELECTED") { ToggleButtonColor(oBtn); }
     frmQuery.setSearchType("0");
     frmQuery.setBuildingSearchType(oBtn.buildingsearchtype);
     setInputPage();
   }
   
}

function TopicButtonDown()
{
  window.event.cancelBubble = true;
  
  var oBtn = window.event.srcElement;
  
    
  if (oBtn.fclass)
  {
     frmQuery.setSearchType("0");
     frmQuery.setFeatureClass(oBtn.fclass);
     if (oBtn.fclass=="24") frmQuery.setBuildingSearchType(oBtn.buildingsearchtype); 
     setInputPage();
     
     
     var curTopic = frmPosition.document.all.item('topichint');
     var curFClass = parseInt(frmQuery.getFeatureClass());
     if ( curFClass == 24) 
     { 
          frmTopic.location.replace("buildingsearchtypes.htm");
          curTopic.innerText = oBtn.innerText; 
          frmOthers.location.replace("explain_reset.htm"); 
          top.map.MapFrame.setActiveFClass("Predio","24");     
     }
     else 
      if ( (curFClass >= 1) && (curFClass < 99) )
      {
      	 frmTopic.location.replace("thematicsearch.htm");
      	 //curTopic.innerText = oBtn.innerText;
      	 curTopic.innerText = "Govern. Dept.";
      	 frmOthers.location.replace("explain_reset.htm");
      	 top.map.MapFrame.setActiveFClass("Government","04"); 
      }
      else if (curFClass == 0)
      {
      	curTopic.innerText = oBtn.innerText;
      	frmOthers.location.replace("explain_reset.htm");
      	top.map.MapFrame.setActiveFClass("Road","00");
      } 
      //else frmTopic.location.replace("explain_reset.htm");
 
  }//if
    
    
   /*alert("fVal=" + frmQuery.getFeatureVal() + "\n" +
        "nostrokes=" + frmQuery.getNoStrokes() + "\n" +
        "locationid=" + frmQuery.getLocation() + "\n" +
        "initp=" + frmQuery.getInitPage()  + "\n" +
        "p=" + frmQuery.getPage() + "\n" +
        "rowsperpage=" + frmQuery.getRowsPerPage() + "\n" +
        "zoomtoselected=" + frmQuery.getZoomToSelected() + "\n" +
        "searchtype=" + frmQuery.getSearchType() + "\n" +
        "attrsearchtype=" + frmQuery.getAttrSearchType() + "\n" +
        "buildingsearchtype=" + frmQuery.getBuildingSearchType() + "\n" +
        "fclass=" + frmQuery.getFeatureClass() + "\n" +
        "viaop=" + frmQuery.getViaOPTR() + "\n" +
        "viatype= " + frmQuery.getViaType() + "\n" +
        "op=" + frmQuery.getOPTR() + "\n" +
        "np=" + frmQuery.getNP() + "\n" +
        "isnewquery=" + frmQuery.getIsNewQuery() + "\n"); */
}


//called in : explain_reset.htm
function reInitialize()
{
  var frmMap = top.frames["map"]; 
  var frmLocation = frmMap.frames[1];

  frmLeft.rows = rows_initial;
  
  frmPosition.location.replace("selection.htm");
  frmAttrSearchTypes.location.replace("attrsearchtypes.htm");
  frmInput.location.replace("input_keyword.htm");
  frmIslandSelection.location.replace("islandselection.htm");
  frmTopic.location.replace("topics.htm");
  frmOthers.location.replace("bluepage.htm");
  frmQuery.location.replace("query_form.htm");  
  frmLocation.location.replace("location.htm");
  
  frmQuery.closeAllWin();
}


//called in : input_keyword.htm, input_keyword_np.htm, input_stroke.htm, input_stroke_stree_type.htm and input_stroke_stree_type_np.htm
function setHint()
{
  if (parent.frmQueryLoaded == 1)
  {
     var hint = frmQuery.getPrompt();
  
     if (hint != "/") frmInput.document.all("key").innerText = hint;
  }
}

//called in : input_keyword.htm, input_keyword_np.htm, input_stroke.htm, input_stroke_stree_type.htm and input_stroke_stree_type_np.htm
function doAttrSearch()
{
  
  if (!canAttrQuery()) return false;
  
  var attrsearchtype = parseInt(frmQuery.getAttrSearchType());
  var fclass = parseInt(frmQuery.getFeatureClass());
  var buildingsearchtype = parseInt(frmQuery.getBuildingSearchType());
  var np = "";
  var optr = "";
  var viatype = "";
  var frmMap = top.frames["map"]; 
  var frmLocation = frmMap.frames[1];

  
  
  //This is an attribute query
  frmQuery.setSearchType('0');
  
  //This is a new search
  frmQuery.setIsNewQuery('0');
  
  
  //Search by keyword
  if (attrsearchtype==0)
  {
     var fVal = frmInput.document.all.item('fVal').value;
     if (isblank(fVal)) fVal='%';
     
     frmQuery.setFeatureVal(fVal);
     
     
     if ( (fclass==24) && (buildingsearchtype==1) )
     {
     	var np = frmInput.document.all.item('np').value;
     	var npoptr = "";
     	
     	//alert(np);
     	
     	if (isblank(np)) np = "%";
     
     	else 
     	{
     	   np = np.replace(/[,]/g,"','");
     	   np = np.replace(/[\s]/g,"");
     	   np = np.toUpperCase();
        }
     	
     	
     	
     	if (np=="%") npoptr = " like ";
     	else
     	{ 
     	  
     	  if (np.indexOf(",") != -1)  npoptr = " in ";
       	 
       	  else npoptr = " = ";
     	}
     	
     	frmQuery.setNP(np);
     	frmQuery.setOPTR(npoptr);
     	
     }
  }//if 
  //Search by alphabets
  else
  {
    
    if (attrsearchtype==1)
    {
    	var fAlphabets = frmInput.document.all.item('fAlphabets');
    	var alphabets = fAlphabets.options[fAlphabets.selectedIndex].value;
    	
    	frmQuery.setAlphabets(alphabets);
    	
    	//Aphabetical building search
    	if ( (fclass==24) && (buildingsearchtype==1) )
        {
           var np = frmInput.document.all.item('np').value;
     	   var npoptr = "";
           //alert(np);
           
     	   if (isblank(np)) np = "%";
     	   
     	   else 
     	   {
     	     np = np.replace(/[,]/g,"','");
     	     np = np.replace(/[\s]/g,"");
     	     np = np.toUpperCase();
           }
     	
       	   
     	   if (np=="%") npoptr = " like ";
     	   else
     	   { 
     	     
     	     if (np.indexOf(",") != -1)  npoptr = " in ";
       	    
       	     else npoptr = " = ";
       	   }//if 
       	   
      	   frmQuery.setNP(np);
       	   frmQuery.setOPTR(npoptr);   
        }//if
        
        if ( ( (fclass==24) && (buildingsearchtype==1) ) || (fclass==0) )
        {
           var fRuaTipo = frmInput.document.all.item('fRuaTipo');
           var viatype  = fRuaTipo.options[fRuaTipo.selectedIndex].value;
           var viatypedescr = fRuaTipo.options[fRuaTipo.selectedIndex].text;
           var viaoptr  = "";
           
       
           viatype = viatype.replace(/[,]/g,"','");
           frmQuery.setViaType(viatype);
           
           //OPERATOR ON VIATYPE -- LIKE / IN / =
           if (viatype == "%" ) viaoptr = " like ";
           else
           {
              //
              if (viatype.indexOf(",") != 1) viaoptr = " in ";
              else viaoptr = " = ";
           }
           frmQuery.setViaOPTR(viaoptr);
           frmQuery.setViaTypeDescr(viatypedescr);
        }//if
    }//if
  }//else
  
  /*alert("alphabets=" + frmQuery.getAlphabets() + "\n" +
        "viaop=" + frmQuery.getViaOPTR() + "\n" +
        "viatype=" + frmQuery.getViaType());*/
  
  /*alert("fVal=" + frmQuery.getFeatureVal() + "\n" +
        "alphabets=" + frmQuery.getAlphabets() + "\n" +
        "locationid=" + frmQuery.getLocation() + "\n" +
        "initp=" + frmQuery.getInitPage()  + "\n" +
        "p=" + frmQuery.getPage() + "\n" +
        "rowsperpage=" + frmQuery.getRowsPerPage() + "\n" +
        "zoomtoselected=" + frmQuery.getZoomToSelected() + "\n" +
        "searchtype=" + frmQuery.getSearchType() + "\n" +
        "attrsearchtype=" + frmQuery.getAttrSearchType() + "\n" +
        "buildingsearchtype=" + frmQuery.getBuildingSearchType() + "\n" +
        "fclass=" + frmQuery.getFeatureClass() + "\n" +
        "viaop=" + frmQuery.getViaOPTR() + "\n" +
        "viatype= " + frmQuery.getViaType() + "\n" +
        "op=" + frmQuery.getOPTR() + "\n" +
        "np=" + frmQuery.getNP() + "\n" +
        "isnewquery=" + frmQuery.getIsNewQuery() + "\n");*/
  
  frmLocation.location.replace("location.htm");
  
  
  ////frmQuery.frmQuery.onsubmit();
  
  
  frmQuery.doAttrFrmQuerySubmit(0);
    
}


//called in : islandselection.htm
function islandSelectionAll()
{ 
  var loc = "";
  //var raem = frmIslandSelection.document.all.item('raem');
  var raem = frmIslandSelection.Islands.raem;
  
  for (i=0; i<raem.length; i++) 
  {
      raem[i].checked = true;
      loc = loc + raem[i].value +  "," ;
  }
  loc = loc.substring(0,loc.length-1);
  frmQuery.setLocation(loc.replace(/[,]/g,"','"));
}

//called in : islandselection.htm
function islandSelectionChange(oChkBtx)
{
  var nounchk = 0;
  var i = 0;
  var raem = frmIslandSelection.Islands.raem;
  
  
  if (oChkBtx.checked == false)
  {
      var raem = frmIslandSelection.Islands.raem;
      var i = 0;
      
      for (i=0; i<raem.length; i++) 
      {
          if ( raem[i].checked == false ) nounchk++;
      }
      
     
      if (nounchk == raem.length) 
      {
      	 alert("You have to select at least one search area!");
      	 
      	
      	 oChkBtx.checked = true;
      } 
  }
  
  var loc = "";
  for (i=0; i<raem.length; i++) 
  {
      //alert(raem[i].checked);
      if (raem[i].checked == true) loc = loc  + raem[i].value +  ",";
  }
  loc = loc.substring(0,loc.length-1);
  frmQuery.setLocation(loc.replace(/[,]/g,"','"));
}

//called in : moreoptions.htm
function setOtherOptions()
{
   var zoomtoselected = frmOthers.document.all.item('zoomtoselected');
   var rowsperpage = frmOthers.document.all.item('rowsperpage');
   var i = 0;
   
   if (zoomtoselected.checked) frmQuery.setZoomToSelected("1"); 
   else frmQuery.setZoomToSelected("0");
   
   for (i=0; i<rowsperpage.length; i++)
   {
       if (rowsperpage[i].checked) frmQuery.setRowsPerPage(rowsperpage[i].value);
   }
   frmOthers.location.replace("explain_reset.htm");
}

//called in : DBQuery Window

function goToPage(no)
{
  var loc = document.frmQuery.locationid.value;
  
  document.frmQuery.p.value = no;
  document.frmQuery.locationid.value = loc.replace(/&#39;/g,"'");
  document.frmQuery.submit(); 
  
  //alert(document.frmQuery.p.value + "," + document.frmQuery.locationid.value);
}

//called in : thematicsearch.htm

function mainTopicChange()
{
  var mainTopic = frmTopics.mainTopic;
  var mainTopicVal = mainTopic.options[mainTopic.selectedIndex].value;
  
  var subTopic;
   
  for (var i=0; i<frmTopics.subTopic.length; i++)
  {
      var tp = frmTopics.subTopic[i];
      
      if (parseInt(tp.topic)==mainTopicVal) 
      { 
      	 tp.className = "SEEN";
      	 subTopic = tp;
      }
      else tp.className = "HIDDEN";
  }
  subTopicChange(subTopic);
}

function subTopicChange(subTopic)
{
  var curTopic = frmPosition.document.all.item('topichint');
  var frmMap = top.frames["map"]; 
  var frmLocation = frmMap.frames[1];

  var frmLocation = frmMap.frames[1];
  
  var val = subTopic.options[subTopic.selectedIndex].value;
  var txt = subTopic.options[subTopic.selectedIndex].text;
  
  var pos = val.indexOf(",");
  var themeName = val.substring(0,pos);
  var fclass = val.substring(pos+1);
  
  curTopic.innerText = txt;
  
  frmLocation.location.replace("location.htm");
  frmQuery.setFeatureClass(fclass);
  frmQuery.closeAllWin();
  top.map.MapFrame.setActiveFClass(themeName,fclass); 
  
  //alert(themeName + "," + fclass);
}




