// Code.
	// Ajax communicator
	function loadXMLDoc(url)
	{
		// branch for native XMLHttpRequest object
		if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange;
			req.open("GET", url, true);
			req.send(null);
			// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange;
				req.open("GET", url, true);
				req.send();
			}
		}
	}

	// returns id to get form elements from layers
	function getid(idname,parentname,grandad){
		if ( is.ns4 ) {
			if (parentname ) {
				if (grandad) var id = 'document.' + grandad + '.document.' + parentname + '.document.' + idname + '.document' ;
				else var id = 'document.' + parentname + '.document.' + idname + '.document';
			}
			else var id = 'document.' + idname + '.document' ;
			return id;
		}
		if ( is.ns5 || is.ie ) return 'document'
	}

	//returns 1 if visible and -1 if hidden
	function isvisible(idname, parentname, grandad){
		if ( is.ie ) { 
			if (document.all[idname].style.visibility == "visible") return 1
			else return -1
		}
		if ( is.ns4 ) {
			if (parentname ) {
				if (grandad) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname );
				else var id = eval('document.' + parentname + '.document.' + idname );
			}
			else var id = eval('document.' + idname );
			if (id.visibility == "show") return 1 
			else return -1
		}
		if ( is.ns5 ) {
			if (document.getElementById(idname).style.visibility == "visible") return 1;
			else return -1
		}
		return -1
	}	

	

	// shows layer
	function show(idname, parentname, grandad){
		if ( is.ie ) { 
			document.all[idname].style.visibility = "visible";
		}
		if ( is.ns4 ) {
			if (parentname ) {
				if (grandad) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname );
				else var id = eval('document.' + parentname + '.document.' + idname );
			}
			else var id = eval('document.' + idname );
			id.visibility = "show";
		}
		if ( is.ns5 ) document.getElementById(idname).style.visibility = "visible";
	}	


	// hides layer
	function hide(idname, parentname){		
		if ( is.ie ) document.all[idname].style.visibility = "hidden";
		if ( is.ns4 ) {
			if ( parentname ) var id = eval('document.' + parentname + '.document.' + idname );
			else var id = eval('document.' + idname );
			id.visibility = "hide";
		}
		if ( is.ns5 ) document.getElementById(idname).style.visibility = "hidden";
	}
	

	function remove(idname, parentname)
	{
		if ( is.ns5 ) { 
			document.getElementById(idname).style.display = 'none';
		}
	}	

	function add(idname, parentname)
	{
		if ( is.ns5 ) { 
			document.getElementById(idname).style.display = 'block';
		}	
	}

	// change layers viisbility to inherit (inherits parents viisbility setting )
	function inherit(idname, parentname,grandad){
		if ( is.ie ) document.all[idname].style.visibility = "inherit";
		if ( is.ns4 ) {
			if (parent) {
				if (grandad ) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname );
				else var id = eval('document.' + parentname + '.document.' + idname );
			}
			else  var id = eval('document.' + idname );
			id.visibility = "inherit";
		}
		if ( is.ns5 ) document.getElementById(idname).style.visibility = "inherit";
	}	

	
	function changecolor(color,idname,parentname,grandad){
		if ( is.ns4 ) {
			if ( parentname > '' ) {
				if ( grandad > '' ) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname)
				else var id = eval('document.' + parentname + '.document.' + idname)
			}
			else var id = eval('document.' + idname)
			id.bgColor = color;
			
		}
		else if (is.ie || is.ns5) { 
			if (is.ie ) var id = eval(idname + ".style" );
			else if (is.ns5 ) var id = document.getElementById(idname).style;
			id.backgroundColor = color;
		}	 
	}

	
	// move Layer to a position
	function moveTo(x,y,idname,parentname,grandad){
		if ( is.ie ) var id = eval(idname + '.style');		
		if (is.ns4 ) { 
			if (parentname ) {
				if ( grandad ) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname );
				else var id = eval('document.' + parentname + '.document.' + idname );
			}
			else var id = eval('document.' + idname );
		}
		if (is.ns5 ) var id = document.getElementById(idname).style;
		id.xpos = x;
		id.ypos = y;
		id.top = id.ypos;
		id.left = id.xpos;
	}
	
	// move Layer by  an amount
	function moveBy(x,y,idname,parentname,grandad){
		if ( is.ie ) var id = eval(idname + '.style');		
		if (is.ns4 ) { 
			if (parentname ) {
				if ( grandad ) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname );
				else var id = eval('document.' + parentname + '.document.' + idname );
			}
			else var id = eval('document.' + idname );
		}
		if (is.ns5 ) var id = document.getElementById(idname).style;		
		id.xpos = parseInt(id.left)
		id.ypos = parseInt(id.left)		
		
		id.xpos += x
		id.ypos += y
		
		id.top = id.xpos;
		id.left = id.ypos;
	}	
	
	// change background image of a layer	
	function bgimage(newBgImage,idname,parentname,grandad){
		if ( is.ns4 ) {
			if ( parentname > '' ) {
				if ( grandad > '' ) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname)
				else var id = eval('document.' + parentname + '.document.' + idname)
			}
			else var id = eval('document.' + idname)
			id.background.src = newBgImage;	
		}
		else if (is.ie || is.ns5) { 
			if (is.ie ) var id = eval(idname + ".style" );
			else if (is.ns5 ) var id = document.getElementById(idname).style;
			id.backgroundColor = 'transparent';
			id.backgroundImage = "url(" + newBgImage + ")";
		}	 
	}
	
	// returns wether layer is visible or not..
	function checkvis(idname,parentname,grandad){	
		if ( is.ie ) {
			if ( document.all[idname].style.visibility == "visible" ) return 1;
		}
		if ( is.ns4 ){
			if (parentname){
				if (grandad) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname );
				else var id = eval('document.' + parentname + '.document.' + idname );
			}
			if ( id.visibility == "show" ) return 1;
		}
		if ( is.ns5 ){
			if ( document.getElementById(idname).style.visibility == "visible" ) return 1;
		}
	}

	// is visible hides if hidden shows layer
	//showhide (associated with above checkvis function) 
	function showhide(name,parent){
		if (checkvis(name,parent) ) hide(name,parent);
		else show(name,parent);
	}
	
	// fills html into layer (content is not an external file)
	function fill(content,idname,parentname,grandad){
		if ( is.ie && !is.ie5 ) document.all[idname].innerHTML = content;
		if (is.ns4 ) {
			if (parentname) {
				if (grandad) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname + '.document' );
				else var id = eval('document.' + parentname + '.document.' + idname + '.document' );			
			}
			else var id = document.layers[idname].document
			id.open();			
	        id.write(content);
    	    id.close();
		}		
		if (is.ns5 || is.ie5 ) document.getElementById(idname).innerHTML = content;
	}


	
	// note if using nested layers make surefor NS6 theres some text in the parent layer (NS6 bug)
	// get width of layer			
	function getwidth(idname,parentname,grandad){
		if (is.ie4) return document.all[idname].scrollWidth;
		if (is.ns4){		
			if (parentname) {
				if (grandad) var id = eval('document.' + grandad + '.document.' + parentname + '.document.' + idname)
				else var id = eval('document.' + parentname + '.document.' + idname)
			}
			else var id = eval('document.' + idname)			
			return id.document.width; 
		}
		if (is.vers > 4){
			var num = document.getElementById(idname).offsetWidth;			
			return parseInt(num);
		}
	}

		
	// get height of layer			
	function getheight(idname,parentname,grandad){
		if (is.ie4) return document.all[idname].scrollHeight;
		if (is.ns4) {
			if (parentname) {
				if (grandad) var id = eval( 'document.' + grandad + '.document.' + parentname + '.document.' + idname)
				var id = eval('document.' + parentname + '.document.' + idname)
			}
			else  var id = eval('document.' + idname)
			return id.document.height; 
		}
		if (is.vers>4){
			var num = document.getElementById(idname).offsetHeight;
			return parseInt(num);
		}
	}

	// change the height of a layer. (usefull when was too long )			
	function changeheight(newheight,idname,parentname,grandad){
		if (is.ie4) document.all[idname].style.height = newheight  + 'px';
		if (is.ns4) {
			if ( parentname ) {
				if ( grandad ) var id = eval('document.' + grandad +  '.document.' + parentname + '.document.' + idname)
				else var id = eval('document.' + parentname + '.document.' + idname)
			}
			else var id = eval('document.' + idname)
			id.height = newheight + 'px'
		}
		if (is.vers> 4){
			document.getElementById(idname).style.height = newheight + "px";
		}
	}
	
		// change the height of a layer. (usefull when was too long )			
	function changewidth(newwidth,idname,parentname,grandad){
		if (is.ie4) document.all[idname].style.width = newwidth  + 'px';
		if (is.ns4) {
			if ( parentname ) {
				if ( grandad ) var id = eval('document.' + grandad +  '.document.' + parentname + '.document.' + idname)
				else var id = eval('document.' + parentname + '.document.' + idname)
			}
			else var id = eval('document.' + idname)
			id.width = newwidth + 'px'
		}
		if (is.vers > 4){
			document.getElementById(idname).style.width = newwidth + "px";
		}
	}



