/*
 * Check whether the feld is empty
 */
function isEmpty(field) {
    if (field != null && field.length > 0) {
	    var len = field.length;
    	for (i = 0; i < len; i++) {
	        if (field.charAt(i)==' ') {
	           continue;
	        } else {
	            return false;
    	    }
	    }
        return false;
    }
    return true;
}


function displayWaitScreen() {
	if (typeof overlib != 'undefined') {
		nd();
		overlib('<div id="waitmessage" class="shadedbox">&nbsp;</div>', 
			FULLHTML,
			CENTERPOPUP,
			STICKY
			);
	}
}

function closeWaitScreen() {
    overlib('', FULLHTML);  
    nd();
}

/*
 * Trim blanks from a String
 */
function trim(str) {
    return String(str).replace(/^\s+|\s+$/g,'');
}

function unescapeUnicode(string) {
  var str = string;
  var reg = new RegExp("%u([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])", "");
  var i=0;
  var arr;
  while ((arr = reg.exec(str)) != null) {
    i++;
    if(i>100000) break;
    if(arr.index >= 0) {
      str = str.substring(0, arr.index) +
      fromHex(RegExp.$1) + str.substring(arr.index+6);
    }
    else break;
  }

  return str;
}

function fromHex(str) {
  return String.fromCharCode(eval("0x"+str));
}

function escapeUnicode(string, escapeampersand, escapepercent) {
  if (escapeampersand == null) {
     escapeampersand = false;
  }

  if (escapepercent != null && escapepercent) {
     var spl = string.split("%");
     if (spl != null && spl.length > 1) {
        string = "";
        for (var i=0;i<spl.length;i++) {
            if (i>0) {
                string += "%u0025";
            }
            string += spl[i];
        }
     }
  }

  var reg;
  if (escapeampersand == true) {
    reg = new RegExp("([\u0026(\u0080-\uffff)])", "");
  } else {
    reg = new RegExp("([\u0080-\uffff])", "");
  }
  return escapeUnicodeForRegExp(string, reg);
}

function escapeUnicodeForRegExp(string, reg) {
  var str = string;
  var i=0;
  var arr;
  try {
      while ((arr = reg.exec(str)) != null) {
        i++;
        if(i>100000) break;
        if(arr.index >= 0) {
          str = str.substring(0, arr.index) +
          "%u" + getHex(RegExp.$1.charCodeAt(0), 4) + str.substring(arr.index+1);
        }
        else {
          break;
        }
      }
    } catch (e) {
        alert(e.message);
    }
  return str;
}

function getHex(charCode, lenMin) {
  var result = charCode.toString(16);
  while(result.length<lenMin) {
    result = "0" + result;
  }
  return result;
}



