var errorColorBorder = "#551D0D";
var errorColorBG	 = "#FF3333";
var stdColorBG 		 = "#FBFBFB";
var stdColorBorder 	 = "#4E9FCE";

	function nx_blendOut( time,nxID ){
	  window.setTimeout( "nx_displayOFF( '"+nxID+"' )",time );
	}
	
	function nx_displayOFF( nxID ) {
      document.getElementById(nxID).style.display = 'none';
    }
	
	function nx_displayOFFA( array ){
		for( i=0; i<array.length;i++ ){
			if( array[i]!=null ) nx_displayOFF( array[i] );
		}
	}
	
    function nx_displayON( nxID ) {
      document.getElementById(nxID).style.display = 'block';
    }
	
	function nx_changedisplay( nxID ){
      if( document.getElementById(nxID).style.display == 'block' ){
        document.getElementById(nxID).style.display = 'none';
      } else {
        document.getElementById(nxID).style.display = 'block';
      }
    }
    
    function nx_displayNext( ele ){
    	var elems 	= ele.childNodes;
    	var nodeX 	= elems[1].childNodes;
		nodeX[2].style.display = "block";
    }
    
    function nx_hideNext( ele ){
    	var elems 	= ele.childNodes;
    	var nodeX 	= elems[1].childNodes;
		nodeX[2].style.display = "none";
    }
	
	function nx_inWindow( nxID ){
		ele = nx_getVar( nxID );
		if( ele.style.display=="block" ){
			ele.style.display 	= "none";
			ele.style.zIndex 	= -12;
		} else {
			ele.style.display 	= "block";
			ele.style.zIndex 	= 12;
		}
	}
	
	function nx_question( f,quest ){
		if( confirm( quest ) ){
			nx_submit( f );
		}
	}
	
	function nx_keytoinput( key,to ){
		var element = nx_getVar( to );
		element.value = key;
		
	}
	
	function nx_getVar( ele ){
		return document.getElementById( ele );
	}
	
	function nx_clearInput( fields ){
		for( var i=0 ; i<fields.length ; i++ ){
			nx_getVar( fields[i] ).value = null;
		}
	}
	
	function nx_quicknav( page ){
	  if ( page!="nolink" ){
	    top.location = page;
	  }
	}
	
	function nx_urlref( url ){
		if( url!=null ) document.location=url;
	}
	
	function nx_submit( f ){
		x = nx_getVar( f );
		if( x ){
			x.submit();
		}
	}
	
	function nx_checkAll( id ){
		f = nx_getVar( id );
		for( var i=0; i<f.elements.length; i++ ){
			var relElement = f.elements[i];
			if( relElement.type == "checkbox" ){
				if( relElement.checked ==true ){
					relElement.checked = false;
				} else {
					relElement.checked = true;
				}
			}
		}
	}
	
	function nx_mark( id ){
		var relElement = getVar( id );
		if( relElement.type=="checkbox" ){
			relElement.checked = true;
		}
		
	}
	
	function nx_uncheckAll( id ){
		f = nx_getVar( id );
		for( var i=0; i<f.elements.length; i++ ){
			var relElement = f.elements[i];
			if( relElement.type == "checkbox" ){
				relElement.checked = false;
			}
		}
	}
	
   function nx_checkForm( f ){ //alles mit rel attributes
    	var valideform = true;
    	for( var i=0; i<f.elements.length; i++ ){
    		var relElement = f.elements[i].getAttribute("rel");
    		var err = false;
    	  if( relElement ){
    		if( f.elements[i].type=="text" || f.elements[i].type=="password" || f.elements[i].type=="textarea" ){
    			value = f.elements[i].value;
	    		switch( relElement ){
	    			case "email":
	    				if( !nx_checkEmail( value ) ) err = true;
	    			break;
	    			case "word":
	    				if( !nx_checkWord( value ) ) err = true;
	    			break;
	    			case "password":
						if( nx_isEmpty( f.elements[i] ) ) err = true;
	    				//alert( "passwordcheck" );
	    			break;
	    			case "number":
	    				for(n=0; n<value.length; n++){
							if(value.charAt(n)<"0"||value.charAt(n)>"9")err=true;
						}
	    			break;
	    			case "string":
						if( nx_isEmpty( f.elements[i] ) ) err = true;
	    			break;
	    			default: break;
	    		}
    		} else if( f.elements[i].type=="checkbox" ){
				if( !nx_checkBox( f.elements[i] ) ) err = true;
			}
			
			if( err ){
	    		nx_setErrorCode( f.elements[i] );
	    		valideform = false;
	    	} else {
	    		nx_setValideCode( f.elements[i] );
	    	}
    	  }
    	}
    	
    	return valideform;	
    }
	
    function nx_setErrorCode( ele ){
    	ele.style.borderColor 		= errorColorBorder;
    	ele.style.backgroundColor 	= errorColorBG;
    }
	
    function nx_setValideCode( ele ){
    	ele.style.borderColor 		= stdColorBorder;
    	ele.style.backgroundColor 	= stdColorBG;
    }
	
    function nx_isEmpty( ele ){
    	var content = ele.value;
    	return ( content.replace(" ","")=="" )
    }
	
    function nx_isMultiple( ele ){
    	for( var i=0; i < ele.length ; i++ ){
    		if( ele.options[i].value != "" && ele.options[i].selected ) return true;
    	} return false;
    }
	
    function nx_checkRadio( f,ele ){
    	if( f.elements[ele].length == null ){
    		return true;
    	} else {
    		for( var i=0; i<f.elements[ele].length; i++ ){
    			if( f.elements[ele][i].checked ) return true;
    		}
    	} return false;
    }
    function nx_checkEmail( mail ){
	  	var strReg = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
	  	var regex = new RegExp(strReg);
	  return(regex.test(mail)); 
    }
    
    function nx_checkWord( word ){
    	var strReg = "\w";
    	var regex = new RegExp( strReg );
    	return (regex.test(regex));
    }
	
	function nx_checkBox( ele ){
		return ele.checked;
    }
	
	String.prototype.nx_trim = function(c, t){
   	 	return c = "[" + (c == undefined ? " " : c.replace(/([\^\]\\-])/g, "\\\$1")) + "]+",
    	this.replace(new RegExp((t != 2 ? "^" : "") + c + (t != 1 ? "|" + c + "$" : ""), "g"), "");
	};
	
	function nx_calcaccess( output,id ){
		result = 0;
		res = "";
		arr = new Array("read_user","read_group","read_other","write_user","write_group","write_other","exec_user","exec_group","exec_other");
		for( i=0; i<arr.length; i++ ){
		doc = document.getElementById( arr[i]+"_"+id );
			if( doc.checked==true ){
				result +=doc.value*1.0;
			} 
		}
		if( result<10 ){
			res += "000"+result;
		} else if( result<100 ){
			res += "00"+result;
		} else if( result <1000 ){
			res += "0"+result;
		}
		document.getElementById( output+"_"+id ).value = res;
		document.getElementById( 'calcaccess_'+id ).style.display = "none";
	}
	
	
	function nx_print( id ){
		window.print();	
	}
	
	
	