document.global_writing = false;

function safeQuote(str) {

	str= str.replace(/"/gi,'&quot;')
	return (str)

}

function getDoc() {

	
	return(window.document);
	

}

function findDoc(inputDoc,DivName) {

	var childlayer,childDoc
	
	
	if (inputDoc.all || inputDoc.getElementById) {
		return (inputDoc);
		
	}
	else {
		if (inputDoc.layers[DivName])
			return(inputDoc.layers[DivName].document);

		else 
			for (var i=0;i< inputDoc.layers.length; i++) {
			childDoc = inputDoc.layers[i].document
			if (childDoc.layers[DivName])
					return(childDoc.layers[DivName].document);


				}
	}
		
}

function findLayer(doc,DivName) {

	var childlayer,childDoc
	if(doc.getElementById) {
	 	return(doc.getElementById(DivName));
	}
	else if (doc.all)
		return(doc.all[DivName]);
	else {
		if (doc.layers[DivName])
			return(doc.layers[DivName]);

		else 
			for (var i=0;i< doc.layers.length; i++) {
			childDoc = doc.layers[i].document
			if (childDoc.layers[DivName])
					return(childDoc.layers[DivName]);


				}
		}
}


function gnDivFilterOn (doc,name) {
	var div =findLayer(doc,name);

	if (div)
		if (div.filters)
			if (div.filters[0])
				div.filters[0].Apply()

}

function gnDivFilterPlay (doc,name) {
	var div =findLayer(doc,name);

	if (div)
		if (div.filters)
			if (div.filters[0])
				div.filters[0].Play()

}


function gnDivWrite(DivName,str, input_doc) {

	
	
	var lt = new RegExp("&lt;","gi")  
	var gt = new RegExp("&gt;","gi")  
	
	
		str= str.replace(lt,'<');
	
		str= str.replace(gt,'>');

	
	
	

/**/
	

	
	
	
	var doc = input_doc ? input_doc: getDoc();
	
	if(typeof(doc.getElementById) !="undefined") {
		 	doc.getElementById(DivName).innerHTML = str;;
		}

	else if (doc.all) {
		var d= doc.all[DivName];
		if (d)
			d.innerHTML = str;
		else
			alert ("Error: cannot find Div:" + DivName +" in file:" +doc.location.href +" input was:" +input_doc.location.href);
	}
	else if (doc.layers) {
		
		
		
		var d = findDoc(doc,DivName) //doc.layers[DivName].document;
		
		if (d) {
			d.open("text/html");
			d.write( str );
			d.close();




			var layerRef = findLayer(doc,DivName)
			height = Math.max(doc.height, layerRef.pageY + layerRef.clip.height);
			width = Math.max(doc.width ,layerRef.pageX + layerRef.clip.width);

			doc.height= height
			doc.width= width
		}
		else
			alert(DivName +" not found!");
		
		

	}
	
	
}


function gnDivHide (DivName,input_doc) {

	var doc = input_doc ? input_doc: getDoc();
	var div = findLayer(doc,DivName)
		
	 if (doc.layers) {
		div.visibility = 'hide'
	}
	
	else if (div) {
		div.style.visibility = 'hidden'
	}
}


function gnDivShow (DivName,input_doc) {

	var doc = input_doc ? input_doc: getDoc();
	
	
	var div = findLayer(doc,DivName)
		
	 if (doc.layers) {
		div.visibility = 'visible'
	}
	
	else if (div) {
		div.style.visibility = 'visible'
	}
}


function gnDivHide2 (DivName,input_doc) {

	var doc = input_doc ? input_doc: getDoc();
	var div = findLayer(doc,DivName)
		
	 if (doc.layers) {
		div.visibility = 'hide'
	}
	
	else if (div) {
		if (typeof(div.origX)=="undefined") { 
		div.origX = div.style.pixelWidth ; 
		}
		div.style.pixelWidth =0
		div.style.overflow ="hidden";
	}
}


function gnDivShow2 (DivName,input_doc) {

	var doc = input_doc ? input_doc: getDoc();
	var div = findLayer(doc,DivName)
	
	 if (doc.layers) {
		div.visibility = 'visible'
	}
	
	else if (div) {
		if (div.origX) {
			div.style.pixelWidth =div.origX
			}
	}
}


function gnDivOver (DivName,input_doc) {

	var doc = input_doc ? input_doc: getDoc();


	
	var div = findLayer(doc,DivName)
	
	if (doc.layers) {
		doc.layers[DivName].zIndex = doc.layers[DivName].zIndex +500
	}
	else if (div) {
		
		div.style.zIndex = div.style.zIndex + 500;
	}
	
}


function gnDivUnder (DivName,input_doc) {

	var doc = input_doc ? input_doc: getDoc();
	var div = findLayer(doc,DivName)
	
	if (doc.layers) {
		doc.layers[DivName].zIndex = doc.layers[DivName].zIndex -500
	}
	else if (div) {
		
		div.style.zIndex = div.style.zIndex - 500;
	}
}




function gnDivLocate (DivName, x, y, document) {

	var doc 
	if (!document)
		doc =getDoc();
	else
		doc=document;
		
	var div = findLayer(doc,DivName)

	if (doc.layers) {
		doc.layers[DivName].left = parseInt(x);
		doc.layers[DivName].top = parseInt(y);
	
	}
	else {
		//alert("locating:" +DivName +"at " + x +"," + y);
		
		
		div.style.left = x+"px"
		div.style.top = y+"px"
		
		
	}
}