/*
  digiana search engine tool
*/

  // http://postcard.blog.ocn.ne.jp/itazura/2004/12/javascript_url_.html
  // http://www.platypus.st/home/nosuzuki/sample_code/URLencode.js.txt

  function URLencode(str){
    // Unicode to URL encoded UTF-8
    var i, encoded_str, char_code, padded_str;
    encoded_str = "";
    for (i = 0; i < str.length; i++){
      char_code = str.charCodeAt(i);
      if (char_code == 0x20){
        // space -> "+"
        encoded_str += "+";
      }
      else { // else 1
        if (((0x30 <= char_code) && (char_code <= 0x39)) || ((0x41 <= char_code) && (char_code <= 0x5a)) || ((0x61 <= char_code) && (char_code <= 0x7a))){
          // [0-9a-z-A-Z]
          // no escape
          encoded_str += str.charAt(i);
        }
        else if ((char_code == 0x2a) || (char_code == 0x2e) || (char_code == 0x2d) || (char_code == 0x5f)) {
          // [.-_]
          // no escape
          encoded_str += str.charAt(i);
        }
        else { // else 2
          // for internal unicode to UTF-8
          // Ref. http://homepage3.nifty.com/aokura/jscript/utf8.html
          // Ref. http://homepage1.nifty.com/nomenclator/unicode/ucs_utf.htm
          if ( char_code > 0xffff ) {
            encoded_str += "%" + ((char_code >> 18) | 0xf0).toString(16).toUpperCase();
            encoded_str += "%" + (((char_code >> 12) & 0x3f) | 0x80).toString(16).toUpperCase();
            encoded_str += "%" + (((char_code >> 6) & 0x3f) | 0x80).toString(16).toUpperCase();
            encoded_str += "%" + ((char_code & 0x3f) | 0x80).toString(16).toUpperCase();
          }
          else if ( char_code > 0x7ff ) {
            encoded_str += "%" + ((char_code >> 12) | 0xe0).toString(16).toUpperCase();
            encoded_str += "%" + (((char_code >> 6) & 0x3f) | 0x80).toString(16).toUpperCase();
            encoded_str += "%" + ((char_code & 0x3f) | 0x80).toString(16).toUpperCase();
          }
          else if ( char_code > 0x7f ) {
            encoded_str += "%" + (((char_code >> 6) & 0x1f) | 0xc0).toString(16).toUpperCase();
            encoded_str += "%" + ((char_code & 0x3f) | 0x80).toString(16).toUpperCase();
          }
          else {
            // for ascii
            padded_str = "0" + char_code.toString(16).toUpperCase();
            encoded_str += "%" + padded_str.substr(padded_str.length - 2, 2);
          }
        } // else 2
      } // else 1
    } // for
    return encoded_str;
  }

  function mysearch(){
   url = 'http://tbs.dga.jp/?ref='+URLencode(location.href)+'&kw='+URLencode(document.search_form.kw.value)+'&ie='+document.search_form.ie.value+'&by=js';
   //window.open(url);
   document.location.href=url;
   return false;
  }
  function mysearch_new(obj){
   url = 'http://tbs.dga.jp/?ref='+URLencode(location.href)+'&kw='+URLencode(obj.kw.value)+'&ie='+obj.ie.value+'&by=js';
   document.location.href=url;
   return false;
  }

