var ajaxtime = 2000;

	var nVer = navigator.appVersion;
	var nAgt = navigator.userAgent;
	var browserName  = '';
	var fullVersion  = 0; 
	var majorVersion = 0;
	var OSName="Unknown OS";
	var screenW = 640;
	var screenH = 480;

function str_pad (input, pad_length, pad_string, pad_type)
{
  input = String (input);
  pad_string = pad_string != null ? pad_string : " ";
  if (pad_string.length > 0)
  {
    var padi = 0;
    pad_type = pad_type != null ? pad_type : "STR_PAD_RIGHT";
    pad_length = parseInt (pad_length);
    switch (pad_type)
    {
      case "STR_PAD_BOTH":
        input = str_pad (input
                       , input.length + Math.ceil ((pad_length - input.length) / 2.0)
                       , pad_string, "STR_PAD_RIGHT");
     // break;  // kein break!
      case "STR_PAD_LEFT":
        var buffer = "";
        for (var i = 0, z = pad_length - input.length; i < z; ++i)
        {
          buffer += pad_string.charAt(padi); // [padi] IE 6.x bug
          if (++padi == pad_string.length)
            padi = 0;
        }
        input = buffer + input;
        break;
      default:
        for (var i = 0, z = pad_length - input.length; i < z; ++i)
        {
          input += pad_string.charAt(padi);
          if (++padi == pad_string.length)
            padi = 0;
        }
        break;
    }
  }
  return input;
}

function showDIV ( divid ){
	document.getElementById(divid).style.visibility = "visible";
}
	
function hideDIV ( divid ){
	document.getElementById(divid).style.visibility = "hidden";
}

function showhideDIV( divid ){
	if (document.getElementById(divid).style.visibility == "visible"){
		hideDIV(divid);
	} else {
		showDIV(divid);
	}
}

function my_mouse_over( g_id, class_name ){		
	document.getElementById(g_id).className = class_name;
} 

function input_onKeyPress(myfield,e,methodname){		
	var keycode;
	if (window.event){
		keycode = window.event.keyCode;
	} else if (e) {
		keycode = e.which;
	} else return true;	
	if (keycode == 13){	   		
		methodname();
		return false;
	} else {
		return true;
	}
}	

function jsReplaceAll ( fullstr, substr, newstr ){
		var temps = '';
		var index = 0;
		while (index != -1 ){
			index = fullstr.indexOf(substr);
			if (index != -1){
				fullstr = fullstr.replace(substr,newstr);
			}
		}
		return fullstr;
}

function jsSendHTMLTags ( fullstr ){					
		var i = 0;
		var newstr = "";
		for (i = 0; i<fullstr.length;i++){			
		 	if (fullstr.charAt(i) == "\n"){				
				newstr += fullstr.charAt(i) + "<br/>";
			} else {
				newstr += fullstr.charAt(i);
			}
		}
		fullstr = newstr;
		fullstr = jsReplaceAll(fullstr,'<',';;1_;');
		fullstr = jsReplaceAll(fullstr,'>',';;2_;');
		fullstr = jsReplaceAll(fullstr,'\'',';;3_;');
		fullstr = jsReplaceAll(fullstr,'\"',';;4_;');
		fullstr = jsReplaceAll(fullstr,'\\',';;5_;');
		fullstr = jsReplaceAll(fullstr,'/',';;6_;');
		fullstr = jsReplaceAll(fullstr,' ',';;7_;');
		fullstr = jsReplaceAll(fullstr,'#',';;8_;');
		fullstr = jsReplaceAll(fullstr,'&',';;9_;');
		return fullstr;
}

function jsSendHTMLTags_noBR ( fullstr ){					
		var i = 0;
		var newstr = "";
		var ts1 = "";		
		for (i = 0; i<fullstr.length;i++){			
		 	if (fullstr.charAt(i) == "\n"){				
				newstr = ts1;
			} else {
				ts1 = newstr;
				newstr += fullstr.charAt(i);
			}
		}
		fullstr = newstr;
		fullstr = jsReplaceAll(fullstr,'<',';;1_;');
		fullstr = jsReplaceAll(fullstr,'>',';;2_;');
		fullstr = jsReplaceAll(fullstr,'\'',';;3_;');
		fullstr = jsReplaceAll(fullstr,'\"',';;4_;');
		fullstr = jsReplaceAll(fullstr,'\\',';;5_;');
		fullstr = jsReplaceAll(fullstr,'/',';;6_;');
		fullstr = jsReplaceAll(fullstr,' ',';;7_;');
		fullstr = jsReplaceAll(fullstr,'#',';;8_;');
		fullstr = jsReplaceAll(fullstr,'&',';;9_;');
		return fullstr;
}

function IsNumeric(sText) { 
   var ValidChars = "0123456789.-"; 
   var Char;
   for (i = 0; i < sText.length; i++) {
       Char = sText.charAt(i);
       if (ValidChars.indexOf(Char) == -1) {			
          return false;
       }
    }
   return true;
}

function IsNumericBlur(id, sText) { 
   var ValidChars = "0123456789.-"; 
   var Char;
   for (i = 0; i < sText.length; i++) {
       Char = sText.charAt(i);
       if (ValidChars.indexOf(Char) == -1) {
		  document.getElementById(id).value = '';
          return false;
       }
    }
   return true;
}

function cbchange(id1, id2 ){
	if (document.getElementById(id2).checked == true){
		document.getElementById(id1).disabled = '';
	} else {
		document.getElementById(id1).disabled = 'disabled';
	}
}

function cbchange2(id1, id12, id2 ){
	if (document.getElementById(id2).checked == true){
		document.getElementById(id1).disabled = '';
		document.getElementById(id12).disabled = '';
		document.getElementById(id1).style.backgroundColor = '';
		document.getElementById(id12).style.backgroundColor = '';
	} else {
		document.getElementById(id1).disabled = 'disabled';
		document.getElementById(id12).disabled = 'disabled';
		document.getElementById(id1).style.backgroundColor = '#EEEEEE';
		document.getElementById(id12).style.backgroundColor = '#EEEEEE';
	}
}

function selected( id ){
	document.getElementById(id).select();
//	eval("document.form_login."+item+".select();");
}

function ascii2url ( url ){
	url = url.replace(new RegExp('%2F','g'), '/');
	url = url.replace(new RegExp('%3F','g'), '?');
	url = url.replace(new RegExp('%3D','g'), '=');
	url = url.replace(new RegExp('%26','g'), '&');
	return url;
}

function url2ascii ( url ){
	url = url.replace(new RegExp('/','g'), '%2F');
	url = url.replace(new RegExp('\\?','g'), '%3F');
	url = url.replace(new RegExp('=','g'), '%3D');
	url = url.replace(new RegExp('&','g'), '%26');
	return url;
}

function post ( url ){
    if( url == null ) return;    
    var link, params;
    if( url.indexOf("?") > -1 ){
        link = url.substring(0, url.indexOf("?"));
        params = url.substring(url.indexOf("?")+1, url.length);
    } else {
        link =url;
        params = '';
    }    
    var postForm = document.createElement("form");
    postForm.action = link;
    postForm.method = 'POST';
    postForm.name = 'postForm';
    document.getElementsByTagName("body")[0].appendChild(postForm);
    var arr = params.tokenize("&", "", true);
    for( i = 0; i < arr.length; i++) {
        try{
            var pname = arr[i].substring(0, arr[i].indexOf("="));
            var pvalue = arr[i].substring(arr[i].indexOf("=") + 1, arr[i].length );
			pvalue = ascii2url(pvalue); // restoring some ascii codes to normal characters
		}catch(e){
            continue;
        }
        var param = document.createElement("input");
        param.setAttribute( "type", "hidden" );
        param.setAttribute( "name", pname );
        param.setAttribute( "value", pvalue );
        postForm.appendChild(param);
    }    
    postForm.submit();
}

String.prototype.tokenize = tokenize;

function tokenize(){
     var input     = "";
     var separator = " ";
     var trim      = "";
     var ignoreEmptyTokens = true;
     try {
       String(this.toLowerCase());
     }
     catch(e) {
       window.alert("Tokenizer Usage: string myTokens[] = myString.tokenize(string separator, string trim, boolean ignoreEmptyTokens);");
       return;
     }
     if(typeof(this) != "undefined"){
       input = String(this);
     }
     if(typeof(tokenize.arguments[0]) != "undefined"){
       separator = String(tokenize.arguments[0]);
     }
     if(typeof(tokenize.arguments[1]) != "undefined"){
       trim = String(tokenize.arguments[1]);
     }
     if(typeof(tokenize.arguments[2]) != "undefined"){
       if(!tokenize.arguments[2])
         ignoreEmptyTokens = false;
     }
     var start = 0;
     var end = 0;
     var token = new Array();
     for(var i=0; i<input.length+1; i++){
       if(input.slice(start, i).indexOf(separator) != -1){
          end = i - separator.length;
          token[token.length] = input.slice(start, end);
          start = i;
       } else {
          if(i == input.length)
             token[token.length] = input.slice(start);
       }
     }
     if(trim)
       for(var i=0; i<token.length; i++){
          while(token[i].slice(0, trim.length) == trim)
            token[i] = token[i].slice(trim.length);
          while(token[i].slice(token[i].length-trim.length) == trim)
            token[i] = token[i].slice(0, token[i].length-trim.length);
        }
     var finalToken = new Array();
     if(ignoreEmptyTokens){
        for(var i=0; i<token.length; i++)
           if(token[i] != "")
             finalToken[finalToken.length] = token[i];     
	 } else {
        finalToken = token;
     }
     return finalToken;
}

function getPosX(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return curleft;
}

function getPosY(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return curtop;
}

function getClientInfo (){

	// In Internet Explorer, the true version is after "MSIE" in userAgent
	if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
	 browserName  = "Microsoft Internet Explorer";
	 fullVersion  = parseFloat(nAgt.substring(verOffset+5));
	 majorVersion = parseInt(''+fullVersion);
	}
	
	// In Opera, the true version is after "Opera" 
	else if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
	 browserName  = "Opera";
	 fullVersion  = parseFloat(nAgt.substring(verOffset+6));
	 majorVersion = parseInt(''+fullVersion);
	}
	
	// In Firefox, the true version is after "Firefox" 
	else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
	 browserName  = "Firefox";
	 fullVersion  = parseFloat(nAgt.substring(verOffset+8));
	 majorVersion = parseInt(''+fullVersion);
	}
	
	// In most other browsers, "name/version" is at the end of userAgent 
	else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) 
	{
	 browserName  = nAgt.substring(nameOffset,verOffset);
	 fullVersion  = parseFloat(nAgt.substring(verOffset+1));
	 if (!isNaN(fullVersion)) majorVersion = parseInt(''+fullVersion);
	 else {fullVersion  = 0; majorVersion = 0;}
	}
	
	// Finally, if no name and/or no version detected from userAgent...
	if (browserName.toLowerCase() == browserName.toUpperCase()
	 || fullVersion==0 || majorVersion == 0 )
	{
	 browserName  = navigator.appName;
	 fullVersion  = parseFloat(nVer);
	 majorVersion = parseInt(nVer);
	}
	
	if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
	if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
	if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
	if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
	
	if (parseInt(navigator.appVersion)>3) {
	 screenW = screen.width;
	 screenH = screen.height;
	} else if (navigator.appName == "Netscape" 
		&& parseInt(navigator.appVersion)==3
		&& navigator.javaEnabled()
	   ) 
	{
	 var jToolkit = java.awt.Toolkit.getDefaultToolkit();
	 var jScreenSize = jToolkit.getScreenSize();
	 screenW = jScreenSize.width;
	 screenH = jScreenSize.height;
	}
	
}

