<!--

var extImg = new Array();
var _rawDbCnt = 4;
var _maxQueryLength = 2048;
var __maxFieldQueryLength = 128;

/* ms office types */
extImg["doc"] = "ftype_doc.gif";
extImg["dot"] = "ftype_dot.gif";
extImg["pot"] = "ftype_pot.gif";
extImg["pps"] = "ftype_pps.gif";
extImg["ppt"] = "ftype_ppt.gif";
extImg["xls"] = "ftype_excel.gif";
extImg["xla"] = "ftype_excel.gif";
extImg["xlw"] = "ftype_excel.gif";
extImg["vst"] = "ftype_visio.gif";
extImg["vss"] = "ftype_visio.gif";
extImg["vsd"] = "ftype_visio.gif";

/* ms office 2007 */
extImg["docx"] = "ftype_doc.gif";
extImg["docm"] = "ftype_doc.gif";
extImg["dotx"] = "ftype_dot.gif";
extImg["dotm"] = "ftype_dot.gif";
extImg["potx"] = "ftype_pot.gif";
extImg["potm"] = "ftype_pot.gif";
extImg["ppsx"] = "ftype_pps.gif";
extImg["ppsm"] = "ftype_pps.gif";
extImg["pptx"] = "ftype_ppt.gif";
extImg["pptm"] = "ftype_ppt.gif";
extImg["xlsx"] = "ftype_excel.gif";
extImg["xlsm"] = "ftype_excel.gif";
extImg["xltx"] = "ftype_excel.gif";
extImg["xltm"] = "ftype_excel.gif";

/* odf types */
extImg["odf"] = "ftype_odf.gif";
extImg["odg"] = "ftype_odf.gif";
extImg["odp"] = "ftype_odf.gif";
extImg["ods"] = "ftype_odf.gif";
extImg["odt"] = "ftype_odf.gif";
extImg["odb"] = "ftype_odf.gif";

/* cad types */
extImg["dwg"] = "ftype_dwg.gif";
extImg["dxf"] = "ftype_dxf.gif";

/* email types */
extImg["eml"] = "ftype_eml.gif";
extImg["msg"] = "ftype_eml.gif";

/* pdf types */
extImg["pdf"] = "ftype_pdf.gif";

/* archive types */
extImg["rar"] = "ftype_rar.gif";
extImg["zip"] = "ftype_zip.gif";

/* text types */
extImg["txt"] = "ftype_document.gif";
extImg["bat"] = "ftype_document.gif";
extImg["sh"] = "ftype_document.gif";
extImg["rtf"] = "ftype_rtf.gif";

/* flash types */
extImg["swf"] = "ftype_swf.gif";

/* xml types */
extImg["xml"] = "ftype_xml.gif";

/* web types */
extImg["html"] = "ftype_web.gif";
extImg["htm"] = "ftype_web.gif";
extImg["cgi"] = "ftype_web.gif";
extImg["path"] = "ftype_web.gif";
extImg["xhtml"] = "ftype_web.gif";
extImg["shtml"] = "ftype_web.gif";
extImg["chtml"] = "ftype_web.gif";
extImg["chm"] = "ftype_web.gif";
extImg["php"] = "ftype_web.gif";
extImg["asp"] = "ftype_web.gif";
extImg["aspx"] = "ftype_web.gif";
extImg["jsp"] = "ftype_web.gif";
extImg["phtml"] = "ftype_web.gif";
extImg["php3"] = "ftype_web.gif";
extImg["wml"] = "ftype_web.gif";
extImg["pl"] = "ftype_web.gif";
extImg["cfm"] = "ftype_web.gif";
extImg["stm"] = "ftype_web.gif";

/* image types */
extImg["jpg"] = "ftype_image.gif";
extImg["jpeg"] = "ftype_image.gif";
extImg["jpe"] = "ftype_image.gif";
extImg["gif"] = "ftype_image.gif";
extImg["png"] = "ftype_image.gif";
extImg["bmp"] = "ftype_image.gif";
extImg["tiff"] = "ftype_image.gif";
extImg["tif"] = "ftype_image.gif";
extImg["ico"] = "ftype_image.gif";
extImg["dcx"] = "ftype_image.gif";
extImg["emf"] = "ftype_image.gif";
extImg["jp2"] = "ftype_image.gif";
extImg["jpc"] = "ftype_image.gif";
extImg["pgm"] = "ftype_image.gif";
extImg["pix"] = "ftype_image.gif";
extImg["pnm"] = "ftype_image.gif";
extImg["ppm"] = "ftype_image.gif";
extImg["rla"] = "ftype_image.gif";
extImg["tga"] = "ftype_image.gif";
extImg["xpm"] = "ftype_image.gif";

/* binary types */
extImg["exe"] = "ftype_binary.gif";
extImg["com"] = "ftype_binary.gif";
extImg["dll"] = "ftype_binary.gif";
extImg["lib"] = "ftype_binary.gif";

/* audio types */
extImg["mp3"] = "ftype_audio.gif";
extImg["mp2"] = "ftype_audio.gif";
extImg["wma"] = "ftype_audio.gif";
extImg["wav"] = "ftype_audio.gif";
extImg["midi"] = "ftype_audio.gif";
extImg["mid"] = "ftype_audio.gif";
extImg["ogg"] = "ftype_audio.gif";

/* video types */
extImg["mpeg"] = "ftype_video.gif";
extImg["mpg"] = "ftype_video.gif";
extImg["mov"] = "ftype_video.gif";
extImg["avi"] = "ftype_video.gif";
extImg["wmv"] = "ftype_video.gif";
extImg["asf"] = "ftype_video.gif";
extImg["rm"] = "ftype_video.gif";
extImg["ram"] = "ftype_video.gif";
extImg["ramb"] = "ftype_video.gif";

/* db types */
extImg["db"] = "ftype_db.gif";

/* 3d cad types */
extImg["xv1"] = "ftype_xv1.gif";
extImg["xv3"] = "ftype_xv3.gif";

/* cad filter */
extImg["sfc"] = "ftype_sfc.gif";
extImg["p21"] = "ftype_p21.gif";
extImg["jww"] = "ftype_jww.gif";
extImg["jwc"] = "ftype_jwc.gif";
extImg["jwk"] = "ftype_jwk.gif";
extImg["svg"] = "ftype_svg.gif";
extImg["mpp"] = "ftype_mpp.gif";
extImg["mpz"] = "ftype_mpz.gif";
extImg["mpx"] = "ftype_mpx.gif";
extImg["mpw"] = "ftype_mpw.gif";
extImg["mcd"] = "ftype_mcd.gif";
extImg["dwf"] = "ftype_dwf.gif";

/* DocuWork */
extImg["xdw"] = "ftype_xdw.gif";
extImg["xbd"] = "ftype_xdw.gif";

/* default type */
extImg["default"] = "ftype_unknow.gif"; 
function DrawDbList(type, handle, hasCloud)
{
   var parsedDbList = new Array( );
   var parsedDbDescpList = new Array( );
   var mapList = new Array( );
   var parsedCheckList = new Array( );   
   var i;
   var j;
   var k;
   var checked;
   var dbListHtml = "";
   var inputType;   
   var dbName;
   var dbDescp;   
   var tabIdx;
   var cloudStr;
   var idx;

   if(null == type || type == "mixed")
   {
      parsedDbList = TrimStr(param['DbList']).split(" ");
      parsedDbDescpList = TrimStr(param['DbDescpList']).split("\t");      
   }
   else
   {
      parsedDbList = TrimStr(param['DbList' + type]).split(" ");
      parsedDbDescpList = TrimStr(param['DbDescpList' + type]).split("\t");
   }   
   parsedCheckList = param['CheckedList'].split(" ");

   /* set mapping table, descp -> name */
   for(i = 0; i < parsedDbList.length; i++)
   {
      /* if descp is empty, use name to instead of */
      if(parsedDbDescpList[i] == "")
         parsedDbDescpList[i] = parsedDbList[i];
         
      /* both name and descp are empty */
      if(parsedDbDescpList[i] == "")
         continue;
      
      /* same descp */
      if("undefined" != typeof(mapList[parsedDbDescpList[i]]))
      {
         /* append symbol */
         parsedDbDescpList[i] = parsedDbDescpList[i]+"\t"+i;
         mapList[parsedDbDescpList[i]] = parsedDbList[i];
      }
      /* new descp */
      else
      {
         mapList[parsedDbDescpList[i]] = parsedDbList[i];
      }
   }

   parsedDbDescpList.sort();
   
   if(type == "xml")
      inputType = "radio";
   else
      inputType = "checkbox";

   for(i = 0, k = 0; i < parsedDbDescpList.length; i++)
   {
      if(parsedDbDescpList[i] == "")
         continue;
         
      checked = false;
      if(k == 0)
         dbListHtml = "<tr width='100%' class='body13gray19'>";
      else if((k%_rawDbCnt) == 0)
         dbListHtml += "</tr><tr width='100%' class='body13gray19'>";
      
      /* set info */      
      dbName = mapList[parsedDbDescpList[i]];      
      tabIdx = parsedDbDescpList[i].indexOf("\t");
      if(tabIdx != -1)
         dbDescp = parsedDbDescpList[i].substr(0, tabIdx);
      else
         dbDescp = parsedDbDescpList[i];
      
      for(j = 0; j < parsedCheckList.length; j++)
      {
         if(dbName == parsedCheckList[j])
         {
            checked = true;
            break;
         }
      }

      /* for tag cloud */
      cloudStr = 'RenderCloud(\"indexname_' + type+k + '\",\"' + dbName + '\");';
      
      dbListHtml += "<td width='20%'><input id='indexname_" 
                    + type+k+"' type='"
                    + inputType+"' name='indexdblist' onClick='"
                    + handle + ((hasCloud == true)?cloudStr:"") + "' value='"
                    + dbName + "'" 
                    + ((checked == true)?" checked ":"") 
                    + "><label for='indexname_"+type+k+"'>"
                    + dbDescp + "</label>"
                    + "<input type='hidden' id='indexdescp_" +type+k+"' value=\""+dbDescp+"\">"
                    + "</td>";
      k++;
   }
   if(dbListHtml == "")
      dbListHtml = "<tr class='body13gray19'><td>" + MSG_PREF_NO_DB + "</td>";
   else if((k%_rawDbCnt) != 0)
   {
      for(; (k%_rawDbCnt) != 0; k++)
          dbListHtml += "<td width='20%'>&nbsp;</td>";
   }
   
   dbListHtml += "</tr>";
   document.write(dbListHtml);
}

function DrawAdvDbList(handle)
{
   var parsedDbList = new Array( );
   var parsedDbDescpList = new Array( );
   var mapList = new Array( );
   var parsedCheckList = new Array( );
   var queryLinkStr = new String();
   var i, j, k;
   var checked;
   var dbListHtml = "";
   var inputType;
   var dbName;
   var dbDescp;
   var tabIdx;
   
   parsedDbList = TrimStr(param['DbList']).split(" ");
   parsedDbDescpList = TrimStr(param['DbDescpList']).split("\t");
   parsedCheckList = param['CheckedList'].split(" ");

   /* set mapping table, descp -> name */
   for(i = 0; i < parsedDbList.length; i++)
   {
      /* if descp is empty, use name to instead of */
      if(parsedDbDescpList[i] == "")
         parsedDbDescpList[i] = parsedDbList[i];
         
      /* both name and descp are empty */
      if(parsedDbDescpList[i] == "")
         continue;
      
      /* same descp */
      if("undefined" != typeof(mapList[parsedDbDescpList[i]]))
      {
         /* append symbol */
         parsedDbDescpList[i] = parsedDbDescpList[i]+"\t"+i;
         mapList[parsedDbDescpList[i]] = parsedDbList[i];
      }
      /* new descp */
      else
      {
         mapList[parsedDbDescpList[i]] = parsedDbList[i];
      }
   }

   parsedDbDescpList.sort();
   inputType = "checkbox";
      
   for(i = 0, k = 0; i < parsedDbDescpList.length; i++)
   {
      if(parsedDbDescpList[i] == "")
         continue;
         
      checked = false;
      if(k == 0)
         dbListHtml = "<tr width='100%' class='body13gray19'>";
      else if((k%_rawDbCnt) == 0)
         dbListHtml += "</tr><tr width='100%' class='body13gray19'>";
      
      /* set info */      
      dbName = mapList[parsedDbDescpList[i]];      
      tabIdx = parsedDbDescpList[i].indexOf("\t");
      if(tabIdx != -1)
         dbDescp = parsedDbDescpList[i].substr(0, tabIdx);
      else
         dbDescp = parsedDbDescpList[i];
      
      for(j = 0; j < parsedCheckList.length; j++)
      {
         if(dbName == parsedCheckList[j])
         {
            checked = true;
            break;
         }
      }

      queryLinkStr = param["CGIPrefix"] + "search/qpage.cgi?act=adv_field"
         + ((param["tmplSetName"] != "")?"&tmpl="+param["tmplSetName"]:"")
         + ((param["uiLang"] != undefined)?"&uilang="+param["uiLang"]:"");

      dbListHtml += "<td style='vertical-align:middle;' width='20%'id='indextd_" 
                    + k + "'><input style='vertical-align:middle;' id='indexname_" 
                    + k + "' type='"
                    + inputType+"' name='indexdblist' onClick='"
                    + handle+"' value='"
                    + dbName + "'" 
                    + ((checked == true)?" checked ":"") 
                    + ">&nbsp;<span class='dbbame_link' title='" + dbDescp + " " 
                    + TEXT_QPAGE_FIELD_SEARCH_HINT
                    + "'><a href='" + queryLinkStr + "&db=" + dbName 
                    + "' onmouseover='HightLightIndex(\""
                    + k + "\")' onmouseout='UnHightLightIndex(\""
                    + k + "\")'>"  + dbDescp + "</a></span>"
                    + "&nbsp;<img style='display:none;vertical-align:middle;' id='indeximg_" + k 
                    + "'src='" + param["PagePrefix"] + "img/field_search.gif' width='13' height='13' border='0'>"
                    + "<input type='hidden' id='indexdescp_" + k +"' value=\""+dbDescp+"\">"
                    + "</td>";
      k++;
   }
   if(dbListHtml == "")
      dbListHtml = "<tr class='body13gray19'><td>" + MSG_PREF_NO_DB + "</td>";
   else if((k%_rawDbCnt) != 0)
   {
      for(; (k%_rawDbCnt) != 0; k++)
          dbListHtml += "<td width='20%'>&nbsp;</td>";
   }
   
   dbListHtml += "</tr>";
   document.write(dbListHtml);
}

function HightLightIndex(id)
{
   var index_td = document.getElementById("indextd_"+id);
   var index_img = document.getElementById("indeximg_"+id);
   
   index_td.bgColor = "#E6E6E6";
   index_img.style.display = "";
}

function UnHightLightIndex(id)
{
   var index_td = document.getElementById("indextd_"+id);
   var index_img = document.getElementById("indeximg_"+id);
   
   index_td.bgColor = "#f6f6f6";
   index_img.style.display = "none";
}

function DrawSortByList(type, sortbyDispStr, sortbyValueStr)
{
   var sortbyDisp = sortbyDispStr.split(",");
   var sortbyValue = sortbyValueStr.split(",");
   var htmlCode = new String();
   var selStr = new String();

   htmlCode = "<select id='"+type+"_sortby' class='listmenu'>";
   if(type != "oesdefault")
   {
      var defDisp = defSortByName.split(",");
      var defValue = defSortByValue.split(",");
      for(var i = 0; i < defDisp.length; i++)
      {
         htmlCode += "<option value='"+defValue[i]+"'>"
                     +defDisp[i]+"</option>";
      }
   }
   for(var i = 0; i < sortbyDisp.length; i++)
   {
      htmlCode += "<option value='"+sortbyValue[i]+"'>"
                   +sortbyDisp[i]+"</option>";
   }
   htmlCode += "</select>";

   document.write(htmlCode);
   document.getElementById(type+"_sortby").options[0].selected = true;
}

function GenDbList(type)
{
   var dbName = null;
   var dbList = new String(); 
   
   for(var i = 0; 
       null != (dbName = document.getElementById("indexname_"+type+i));
       i++)
   {
      if(dbName.checked == true)
         dbList += dbName.value + " ";
   }
   
   return TrimStr(dbList); 
}

function GenDbDescpList(type)
{   
   var dbName = null;
   var dbDescp = null;
   var dbDescpList = new String();
   
   for(var i = 0;
       null != (dbName = document.getElementById("indexname_"+type+i));
       i++)
   {
      if(dbName.checked == true)
      {
         dbDescp = document.getElementById("indexdescp_"+type+i);
         dbDescpList += dbDescp.value + "\t";
      }
   }
   
   return TrimStr(dbDescpList);
}

function CheckMaxSearch()
{
   var dbName = null;
   var cnt = 0;
   
   for(var i = 0;
       null != (dbName = document.getElementById("indexname_" + i));
       i++)
   {
         if(dbName.checked == true)
         {
               cnt++;
             if(cnt > parseInt(param['maxSearchCnt']))
             {
                alert(MSG_QPAGE_MAXSEARCH + " " + param['maxSearchCnt']);
                this.checked = false;
                break;
             }
         }
   }
}

function GetDateStr(dateStr)
{
   var outStr = new String();
   var style = new String();
   var outDate = new String();

   /* minutes */
   if(dateStr.charAt(dateStr.length-1) == "m")
   {
      style = "result_time";
      outDate = dateStr.substring(0,dateStr.length-1) + MSG_QUERY_MIN_BEFORE;
   }
   /* hours */
   else if(dateStr.charAt(dateStr.length-1) == "h")
   {
      style = "result_time_h";
      outDate = dateStr.substring(0,dateStr.length-1) + MSG_QUERY_HOUR_BEFORE;
   }
   /* normat date */
   else
   {
      style = "result_info";
      outDate = dateStr;
   }

   outStr = "<span class='" + style + "'>" + outDate + "</span>"; 
   document.write(outStr);
}


function GetExtImg(type)
{
   var imgStr = new String();
   var icon = new String();
  
   /* if no type */
   if(type.length == 0)
      icon = extImg["default"];
   else
   {
      /* if type not supported */
      if(null == extImg[type.toLowerCase( )])
         icon = extImg["default"];
      else
         icon = extImg[type.toLowerCase( )];
   }

   imgStr = '<img src="' + param["PagePrefix"] + 'img/' + icon + '" width="20" height="20">';
   document.write(imgStr);
}

function GetExtImgPath(type)
{
   var imgStr = new String();
   var icon = new String();
  
   /* if no type */
   if(type.length == 0)
      icon = extImg["default"];
   else
   {
      /* if type not supported */
      if(null == extImg[type.toLowerCase( )])
         icon = extImg["default"];
      else
         icon = extImg[type.toLowerCase( )];
   }

   imgStr = '<img src="' + param["PagePrefix"] + 'img/' + icon + '" width="20" height="20">';
   return imgStr;
}

-->


