var isNS4=document.layers?true:false;
var isIE=document.all?true:false;
var isNS6=!isIE&&document.getElementById?true:false;
var DHTML = (document.getElementById || document.all || document.layers);


var loadFunction=null;
var unloadFunction=null;
var goBack=true;

function load( functionName )
{
	loadFunction=functionName;
}

function unload( functionName )
{
	unloadFunction=functionName;
}

function doload()
{		
	var IfrRef = document.getElementById('DivShim');
	if(IfrRef!=null)
	{
		IfrRef.style.width = screen.width;
    	IfrRef.style.height = screen.height;
	}

	if(loadFunction!=null || loadFunction!='') 
		eval(loadFunction);
}

function go(href)
{
	goBack=false;
	location.href=href;
}

function dounload()
{
	if(unloadFunction!=null || unloadFunction!='') 
		eval(unloadFunction);
}


var postBackFormId = "";
var postBackFormAction="";

function changeLocale(lang)
{
	var element = document.getElementById("locale");
	element.value=lang;
	postBack();
}

function setPostBackForm(id,action)
{
	postBackFormId = id;
	postBackFormAction = action;
}


function postBack()
{
	showMessage();
	goBack=false;
	var element = document.getElementById(postBackFormId);
	element.action=postBackFormAction;
	element.submit();
}

function eventHandler(url)
{
	if (goBack)
		location.replace(url);
	goBack=true;
}



function showMessage()
  {
   var DivRef = document.getElementById('MessageDiv');
   var IfrRef = document.getElementById('DivShim');
   if(DivRef!=null && IfrRef!=null)
   {
   	centerObject('MessageDiv');
   	IfrRef.style.zIndex = DivRef.style.zIndex - 1;
    DivRef.style.visibility = '';
    IfrRef.style.visibility = '';
   if (navigator.appName == "Netscape") 
		y=window.pageYOffset;
	else 
		y=document.body.scrollTop;
	IfrRef.style.top = y;
   }
 }
 
 
function divStartTag(id,options)
{
var tag ='';

	if(isNS4)
		tag='<LAYER name="'+id+'" id="'+id+'" '+options+'>';
		
	if(isIE||isNS6)
		tag='<div name="'+id+'" id="'+id+'" '+options+'>';
	document.write(tag);
}

function divEndTag()
{
	if(isNS4)
		document.write('</LAYER>');
	if(isIE||isNS6)
		document.write('</div>');
}

function toggle(div)
  { 
	var div = getObject(div);
  
	if(div!=null)
 	{  
  	 if(isNS4)
		if(div.visibility=='show')
			div.visibility = "hide"; 
		else
			div.visibility = "show";
 	 else
  	 	if(div.style.visibility=='visible')
  	 	{
   			div.style.visibility='hidden';
  	 		div.style.display='none';
  	 	}
    else
   		{
   			div.style.visibility='visible'
   			div.style.display='block';
   		}
  	}
 }
function viltHide(div){ 
var div = getObject(div);
if(div!=null)
if(isNS4) div.visibility = "hide";
else{div.style.visibility='hidden';
div.style.display='none';}
}
 
 
 function getObject(id)
 {
 	var obj = null;
  
	if(isNS4)
		eval('obj = document.'+id); 
  	if(isIE)
  		obj = document.getElementById(id);
	if(isNS6)
		obj = document.getElementById(id);
	return obj;
 }
 
 function divObject(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
	this.obj = getObjNN4(document,name);
	this.style = this.obj;
  }
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}
 

 

function centerObject(obj) 
{
 res = (screen.height/2)-150;
	if (navigator.appName == "Netscape") 
	{
		v=".top=";
		dS="document.";
		sD="";
		y="window.pageYOffset";
	}
	else 
	{
		v=".pixelTop=";
		dS="";
		sD=".style";
		y="document.body.scrollTop";
   }
	yy=eval(y)+res;
	eval(dS+obj+sD+v+yy);
}


function windowOpen(target, title,params)
{
	window.open(target, title, params );
}


function setSelectionRange(input, selectionStart, selectionEnd) {


  if (input.setSelectionRange) {
    input.focus();
    input.setSelectionRange(selectionStart, selectionEnd);
  }
  else if (input.createTextRange) {
    var range = input.createTextRange();
    range.collapse(true);
    range.moveEnd('character', selectionEnd);
    range.moveStart('character', selectionStart);
    range.select();
  }
  else
  {return false;}
  return true;
}
function setCaretToEnd (input) {
  setSelectionRange(input, input.value.length, input.value.length);
}
function setCaretToBegin (input) {
  setSelectionRange(input, 0, 0);
}
function setCaretToPos (input, pos) {
  setSelectionRange(input, pos, pos);
}
function selectString (input, string) {
  var match = new RegExp(string, "i").exec(input.value);
  if (match) {
    setSelectionRange (input, match.index, match.index + match
[0].length);
  }
}
function replaceSelection (input, replaceString) {
  if (input.setSelectionRange) {
    var selectionStart = input.selectionStart;
    var selectionEnd = input.selectionEnd;
    input.value = input.value.substring(0, selectionStart)
                  + replaceString
                  + input.value.substring(selectionEnd);
    if (selectionStart != selectionEnd) // has there been a selection
      setSelectionRange(input, selectionStart, selectionStart + 
replaceString.length);
    else // set caret
      setCaretToPos(input, selectionStart + replaceString.length);
  }
  else if (document.selection) {
    var range = document.selection.createRange();
    if (range.parentElement() == input) {
      var isCollapsed = range.text == '';
      range.text = replaceString;
      if (!isCollapsed)  { // there has been a selection
        //it appears range.select() should select the newly 
        //inserted text but that fails with IE
        range.moveStart('character', -replaceString.length);
        range.select();
      }
    }
  }
}

