function ucode(ch){
var chi2 = escape(ch);
if (chi2.substring(1,2) == 'u') {
  chi2 = "0x" + chi2.substring(2,chi2.length);
}
else {
  chi2 = "0x" + chi2.substring(1,chi2.length);
}
return parseInt(chi2);
}
function myencodeURI(str){
var hex=[
"%00", "%01", "%02", "%03", "%04", "%05", "%06", "%07",
"%08", "%09", "%0a", "%0b", "%0c", "%0d", "%0e", "%0f",
"%10", "%11", "%12", "%13", "%14", "%15", "%16", "%17",
"%18", "%19", "%1a", "%1b", "%1c", "%1d", "%1e", "%1f",
"%20", "%21", "%22", "%23", "%24", "%25", "%26", "%27",
"%28", "%29", "%2a", "%2b", "%2c", "%2d", "%2e", "%2f",
"%30", "%31", "%32", "%33", "%34", "%35", "%36", "%37",
"%38", "%39", "%3a", "%3b", "%3c", "%3d", "%3e", "%3f",
"%40", "%41", "%42", "%43", "%44", "%45", "%46", "%47",
"%48", "%49", "%4a", "%4b", "%4c", "%4d", "%4e", "%4f",
"%50", "%51", "%52", "%53", "%54", "%55", "%56", "%57",
"%58", "%59", "%5a", "%5b", "%5c", "%5d", "%5e", "%5f",
"%60", "%61", "%62", "%63", "%64", "%65", "%66", "%67",
"%68", "%69", "%6a", "%6b", "%6c", "%6d", "%6e", "%6f",
"%70", "%71", "%72", "%73", "%74", "%75", "%76", "%77",
"%78", "%79", "%7a", "%7b", "%7c", "%7d", "%7e", "%7f",
"%80", "%81", "%82", "%83", "%84", "%85", "%86", "%87",
"%88", "%89", "%8a", "%8b", "%8c", "%8d", "%8e", "%8f",
"%90", "%91", "%92", "%93", "%94", "%95", "%96", "%97",
"%98", "%99", "%9a", "%9b", "%9c", "%9d", "%9e", "%9f",
"%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%a7",
"%a8", "%a9", "%aa", "%ab", "%ac", "%ad", "%ae", "%af",
"%b0", "%b1", "%b2", "%b3", "%b4", "%b5", "%b6", "%b7",
"%b8", "%b9", "%ba", "%bb", "%bc", "%bd", "%be", "%bf",
"%c0", "%c1", "%c2", "%c3", "%c4", "%c5", "%c6", "%c7",
"%c8", "%c9", "%ca", "%cb", "%cc", "%cd", "%ce", "%cf",
"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7",
"%d8", "%d9", "%da", "%db", "%dc", "%dd", "%de", "%df",
"%e0", "%e1", "%e2", "%e3", "%e4", "%e5", "%e6", "%e7",
"%e8", "%e9", "%ea", "%eb", "%ec", "%ed", "%ee", "%ef",
"%f0", "%f1", "%f2", "%f3", "%f4", "%f5", "%f6", "%f7",
"%f8", "%f9", "%fa", "%fb", "%fc", "%fd", "%fe", "%ff"
]
var result='';
for (i=0; i < str.length; i++) {
  ch = str.charAt(i);
  var chi = ucode (ch);
  if ('A' <= ch && ch <= 'Z') {         // 'A'..'Z'
    result = result + ch;
  }
  else if ('a' <= ch && ch <= 'z') {    // 'a'..'z'
    result = result + ch;
  }
  else if ('0' <= ch && ch <= '9') {    // '0'..'9'
    result = result + ch;
  }
  else if (ch == ' ') {                 // space
    result = result + '+';
  }
  else if (ch == '-' || ch == '_'               // unreserved
          || ch == '.' || ch == '!'
          || ch == '~' || ch == '*'
          || ch == '\'' || ch == '('
          || ch == ')') {
    result = result + ch;
  }
  else if (chi <= 0x007f) {             // other ASCII
    result = result + hex[chi];
  }
  else if (chi <= 0x07FF) {             // non-ASCII <= 0x7FF
    result = result + hex[0xc0 | (chi >> 6)];
    result = result + hex[0x80 | (chi & 0x3f)];
  }
  else {                                        // 0x7FF < ch <= 0xFFFF
    result = result + hex[0xe0 | (chi >> 12)];
    result = result + hex[0x80 | ((chi >> 6) & 0x3f)];
    result = result + hex[0x80 | (chi & 0x3f)];
  }
}
return result;
}


function advice2(field,db) {
	window.alert('test');
}

function advice(field,db) {
var url="advice.jsp?field="+field;
url=url+"&db="+db;
//advicewindow=open(url,"adviceWindow", "");
advicewindow=open(url,"adviceWindow","location=no,toolbar=no,scrollbars=no,width=350,height=380,resizable=yes");
advicewindow.focus();
}

function select(field) {
var url="select.jsp?field="+field;
//advicewindow=open(url,"adviceWindow", "");
advicewindow=open(url,"adviceWindow","location=no,toolbar=no,scrollbars=no,width=460,height=380,resizable=yes");
advicewindow.focus();
}

function thema() {
var url="subjidx.jsp";
//advicewindow=open(url,"adviceWindow", "");
advicewindow=open(url,"adviceWindow","location=no,toolbar=no,scrollbars=no,width=350,height=380,resizable=yes");
advicewindow.focus();
}

function list2string(list) {
len=list.options.length;
ret="";
var i=0;
 for (i=0; i<len; i++) {
  if (list.options[i].selected==true) {
    ret += ret.length > 0 ? "+" : "";
    ret += list.options[i].value;
  }
 }
return ret;
}

function checkbox3string(b70,b8090,b97) {
ret="";
if (b70.checked==true) ret += "b70";
if (b8090.checked==true) ret += (ret.length > 0 ? "+" : "") + "b8090";
if (b97.checked==true) ret += (ret.length > 0 ? "+" : "") + "b97";
return ret;
}

function checkbox2string(ecr,ecs) {
ret="";
if (ecr.checked==true) ret += "ecr";
if (ecs.checked==true) ret += (ret.length > 0 ? "+" : "") + "ecs";
return ret;
}

function checkbox5string(b70,b8090,b97,ecr,ecs) 
{
    ret="";
    if (b70.checked==true) ret += "b70";
    if (b8090.checked==true) ret += (ret.length > 0 ? "+" : "") + "b8090";
    if (b97.checked==true) ret += (ret.length > 0 ? "+" : "") + "b97";
    if (ecr.checked==true) ret += (ret.length > 0 ? "+" : "") + "ecr";
    if (ecs.checked==true) ret += (ret.length > 0 ? "+" : "") + "ecs";
    return ret;
}

function update_value (field,val,oper,replace,quote) {
 ret="";
 var i=0;
 for (i=0; i < val.length; i++) {
  if (val[i].selected==true) {
   ret += (ret.length > 0) ? oper : "";
   if (quote) ret += (val[i].value.indexOf (" ") < 0 && val[i].value.indexOf (".") < 0) ? "" : "\"";
   ret += val[i].value;
   if (quote) ret += (val[i].value.indexOf (" ") < 0 && val[i].value.indexOf (".") < 0) ? "" : "\"";
  }
 }
 if (replace) {
  field.value=ret;
 }
 else {
  field.value=field.value + (field.value.length > 0 ? oper : "") + ret;
 }
}

function update_text (field,val,oper,replace,quote) {
 ret="";
 var i=0;
 for (i=0; i < val.length; i++) {
  if (val[i].selected==true) {
   ret += (ret.length > 0) ? oper : "";
   if (quote) ret += (val[i].text.indexOf (" ") < 0 && val[i].text.indexOf (".") < 0) ? "" : "\"";
   ret += val[i].text;
   if (quote) ret += (val[i].text.indexOf (" ") < 0 && val[i].text.indexOf (".") < 0) ? "" : "\"";
  }
 }
 if (replace) {
  field.value=ret;
 }
 else {
  field.value=field.value + (field.value.length > 0 ? oper : "") + ret;
 }
}


function description(field) {
var url="description.jsp#" + field;
descriptionwindow=open(url,"descriptionWindow","location=no,toolbar=no,scrollbars=yes,width=320,height=260,resizable=yes");
descriptionwindow.focus();
}

function edit(field,hidden) {
var url="edit.jsp?form=" + field + "&hidden_" + field + "=" + hidden;
descriptionwindow=open(url,"descriptionWindow","location=no,toolbar=no,scrollbars=yes,width=420,height=460,resizable=yes");
descriptionwindow.focus();
}

function editwork(values) {
var url="work.jsp?values=" + values;
descriptionwindow=open(url,"descriptionWindow","location=no,toolbar=no,scrollbars=yes,width=420,height=460,resizable=yes");
descriptionwindow.focus();
}

function runClock(hod,min,sec)
{
mod_hod=hod
mod_min=min
mod_sec=sec
if (mod_sec > 0) mod_sec--;
else
 if(mod_min > 0)
   {mod_min--; mod_sec=59;}
 else
  if(mod_hod > 0)
    {mod_hod--; mod_min=59; mod_sec=59;}
   else
     {document.location="timeout.jsp";
      return;}
citac=((mod_hod < 10) ? "0" : "")+mod_hod;citac+=((mod_min < 10) ? ":0" : ":")+mod_min;citac+=((mod_sec < 10) ? ":0" : ":")+mod_sec;
document.session.timeout.value=citac;
setTimeout ("runClock(mod_hod,mod_min,mod_sec)",1000);
}

function addOption(object,text,value) {
    var defaultSelected = true;
    var selected = true;
    var optionName = new Option(text, value, defaultSelected, selected)
    object.options[object.length] = optionName;
}

function deleteOption(object,index) {
    object.options[index] = null;
}

function copySelected(fromObject,toObject) {
    for (var i=0, l=fromObject.options.length;i<l;i++) {
        if (fromObject.options[i].selected)
            addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
    }
    for (var i=fromObject.options.length-1;i>-1;i--) {
        if (fromObject.options[i].selected)
            deleteOption(fromObject,i);
    }
}

function copyAll(fromObject,toObject) {
    for (var i=0, l=fromObject.options.length;i<l;i++) {
        addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
    }
}

function moveAll(fromObject,toObject) {
    for (var i=0, l=fromObject.options.length;i<l;i++) {
        addOption(toObject,fromObject.options[i].text,fromObject.options[i].value);
    }
    for (var i=fromObject.options.length-1;i>-1;i--) {
        deleteOption(fromObject,i);
    }
}

function populateHidden(fromObject,toObject) {
    var output = '';
    for (var i=0, l=fromObject.options.length;i<l;i++) {
            output += escape(fromObject.name) + '=' + escape(fromObject.options[i].value) + '&';
    }
    alert(output);
    toObject.value = output;
}
