Array.prototype.inArray = function (value){ 
	for(var i=0; i < this.length; i++){
		if(this[i] === value){ 
			return true; 
		} 
	} 
	return false; 
};
//Added by Anton - Drop down Menus
// Menu Styles
function createStyles(quant){
styleBorder=(menuStyle.split(",")[quant-1].toLowerCase() == "flat")?cellBorder:0 
  document.writeln ('<style>');
  //document.writeln ('.rcMenuStatic'+quant+' {font-family:'+fontFace.split(",")[quant-1]+';font-size:'+fontSize.split(",")[quant-1]+';color:'+fontColour.split(",")[quant-1]+';font-weight:'+fontWeight.split(",")[quant-1]+';background-color:'+menuBackground.split(",")[quant-1]+'; cursor:hand; text-decoration:'+fontDecoration.split(",")[quant-1]+'}');
  //document.writeln ('.rcMenuHover'+quant+'  {font-family:'+fontFace.split(",")[quant-1]+';font-size:'+fontSize.split(",")[quant-1]+';color:'+fontHoverColour.split(",")[quant-1]+';font-weight:'+fontWeight.split(",")[quant-1]+';background-color:'+menuHoverBackground.split(",")[quant-1]+'; cursor:hand; text-decoration:'+fontDecoration.split(",")[quant-1]+'}');
  //document.writeln ('.rcSubMenuStatic'+quant+' {font-family:'+sfontFace.split(",")[quant-1]+';font-size:'+sfontSize.split(",")[quant-1]+';color:'+sfontColour.split(",")[quant-1]+';font-weight:'+sfontWeight.split(",")[quant-1]+';text-decoration:'+sfontDecoration.split(",")[quant-1]+';background-color:'+smenuBackground.split(",")[quant-1]+'; cursor:hand}');
  //document.writeln ('.rcSubMenuHover'+quant+'  {font-family:'+sfontFace.split(",")[quant-1]+';font-size:'+sfontSize.split(",")[quant-1]+';color:'+sfontHoverColour.split(",")[quant-1]+';font-weight:'+sfontWeight.split(",")[quant-1]+';text-decoration:'+sfontDecoration.split(",")[quant-1]+';background-color:'+smenuHoverBackground.split(",")[quant-1]+'; cursor:hand}');
  document.writeln ('</style>');
}
// Build and show the main menu items
function showMenuss(quant,definedOrientation)
{
  createStyles(quant);
  if(definedOrientation!=""){orientation=definedOrientation}
  if (orientation.toLowerCase() == "vertical"){document.writeln ('<table border="0" cellpadding="0" cellspacing="'+styleBorder+'" bgColor="'+borderColor.split(",")[quant-1]+'">')}
  else{document.writeln ('<table border="0" cellpadding="0" cellspacing="'+styleBorder+'" bgColor="'+borderColor.split(",")[quant-1]+'"><tr>')}  
  for (x=0; x<eval("Menu"+quant).length; x++)
  {
    if (orientation.toLowerCase()=="vertical") document.writeln('<tr>')
    document.writeln ('<td width="'+menuWidth+'" onMouseOver="hoverMenu(); popDown(\''+quant+'\','+x+', \''+quant+'button'+x+'\',\''+orientation+'\'); " onMouseOut="clearMenu('+quant+','+x+')" ')
    if (menuStyle.split(",")[quant-1].toLowerCase() == "3d"){document.writeln ('style="border-left:'+cellBorder+'px solid '+borderHighlight.split(",")[quant-1]+';border-top:'+cellBorder+'px solid '+borderHighlight.split(",")[quant-1]+';border-right:'+cellBorder+'px solid '+borderShadow.split(",")[quant-1]+';border-bottom:'+cellBorder+'px solid '+borderShadow.split(",")[quant-1]+';"');}        
    document.writeln ('><div id="'+quant+'button'+x+'"><table border="0" cellpadding="'+cellPadding.split(",")[quant-1]+'" cellspacing="0" width="100%"><tr><td class="rcMenuStatic'+quant+'" id="'+quant+'cell'+x+'" nowrap>');
    document.writeln ('<a id="'+quant+'mainLink'+x+'" href="'+eval("Menu"+quant)[x][1]+'" target="'+eval("Menu"+quant)[x][2]+'">'+eval("Menu"+quant)[x][0]+'</a></td>');
    if (subIndicate == 1&&eval("subMenu"+quant)[x].length>=1){
      document.writeln('<td class="rcMenuStatic'+quant+'" id="'+quant+'cell'+x+'a" align="right">');
      document.writeln ('<a id="'+quant+'mainLink'+x+'a" href="'+eval("Menu"+quant)[x][1]+'" target="'+eval("Menu"+quant)[x][2]+'">'+indicator+'</a></td>');}
    document.writeln ('</tr></table></div></td>');    
    if (orientation.toLowerCase()=="vertical") document.writeln('</tr>')
  }
  if (orientation.toLowerCase() == "vertical"){document.writeln ('</table>');}
  else{document.writeln ('</tr></table>');}   
// Build the sub menu items
  for (x=0; x<eval("Menu"+quant).length; x++)
  { 
    if (eval("subMenu"+quant)[x].length > 0)
    {     
      document.writeln ('<div id="'+quant+'MENU'+x+'" style="visibility:hidden; position:absolute; z-index:2" >');
      document.writeln ('<table width="'+smenuWidth.split(",")[quant-1]+'" border="0" cellpadding="'+cellPadding.split(",")[quant-1]+'" cellspacing="'+styleBorder+'" bgColor="white">');
      for (y=0; y<eval("subMenu"+quant)[x].length; y++)
      {
        document.writeln ('<tr>');
        if (eval("subMenu"+quant)[x][y][1].indexOf("#") != -1)
        {
          document.writeln ('<td bgColor="'+eval("subMenu"+quant)[x][y][2]+'" id="'+quant+'subMenu'+x+y+'" onMouseOver="hoverMenu(); highlightMenu(\'sub\','+x+','+y+',\'\','+quant+')" nowrap')
          if (menuStyle.split(",")[quant-1].toLowerCase() == "3d"){document.writeln ('style="border-left:'+cellBorder+'px solid '+sborderHighlight.split(",")[quant-1]+';border-top:'+cellBorder+'px solid '+sborderHighlight.split(",")[quant-1]+';border-right:'+cellBorder+'px solid '+sborderShadow.split(",")[quant-1]+';border-bottom:'+cellBorder+'px solid '+sborderShadow.split(",")[quant-1]+';"');}
          document.writeln ('><p style="font-family:'+sfontFace.split(",")[quant-1]+'; font-size:'+sfontSize.split(",")[quant-1]+'; color:'+eval("subMenu"+quant)[x][y][1]+'"id="'+quant+'subLink'+x+y+'">'+eval("subMenu"+quant)[x][y][0]+'</p></td><td height="1" bgcolor="#FFFFFF">&nbsp;</td></tr>');
        }
        else
        {
          document.writeln ('<td id="'+quant+'subMenu'+x+y+'" onMouseOver="hoverMenu(); highlightMenu(\'sub\','+x+','+y+',\'\','+quant+')" onMouseOut="clearMenu('+quant+','+x+');" onclick="tdMouseClick(\''+quant+'subLink'+x+y+'\')" nowrap')
          if (menuStyle.split(",")[quant-1].toLowerCase() == "3d"){document.writeln ('style="border-left:'+cellBorder+'px solid '+sborderHighlight.split(",")[quant-1]+';border-top:'+cellBorder+'px solid '+sborderHighlight.split(",")[quant-1]+';border-right:'+cellBorder+'px solid '+sborderShadow.split(",")[quant-1]+';border-bottom:'+cellBorder+'px solid '+sborderShadow.split(",")[quant-1]+';"');}
          document.writeln ('><a id="'+quant+'subLink'+x+y+'" href="'+eval("subMenu"+quant)[x][y][1]+'" target="'+eval("subMenu"+quant)[x][y][2]+'">'+eval("subMenu"+quant)[x][y][0]+'</a></td><td height="1" bgcolor="#FFFFFF">&nbsp;</td></tr>');
        }
      }
      document.writeln ('</table></div>');
    }
  }
} 
// Change colour or menu and submenu items when the mouse hovers over.  
function highlightMenu(element,mainMenu,dropMenu,state,quant)
{
  hoverMenu();
  state=(state == "hover")?"rcMenuHover"+quant:"rcMenuStatic"+quant
  if (element == "sub")
  {
    for (x=0; x < eval("subMenu"+quant)[mainMenu].length; x++)
    {
      if (eval("subMenu"+quant)[mainMenu][x][1].indexOf("#") == -1){
        //eval(obj+'("'+quant+'subMenu'+mainMenu+x+'").className = "rcSubMenuStatic'+quant+'"')
        //eval(obj+'("'+quant+'subLink'+mainMenu+x+'").className = "rcSubMenuStatic'+quant+'"')
      }
    } 
    if (eval("subMenu"+quant)[mainMenu][dropMenu][1].indexOf("#") == -1)  {
      //eval(obj+'("'+quant+'subMenu'+mainMenu+dropMenu+'").className="rcSubMenuHover'+quant+'"')
      //eval(obj+'("'+quant+'subLink'+mainMenu+dropMenu+'").className="rcSubMenuHover'+quant+'"')
    }
  }
  else
  {
    //eval(obj+'("'+quant+'cell'+mainMenu+'").className = "'+state+'"')
    //eval(obj+'("'+quant+'mainLink'+mainMenu+'").className = "'+state+'"')
    if (subIndicate == 1&&eval("subMenu"+quant)[mainMenu].length>=1)
    {
    //  eval(obj+'("'+quant+'cell'+mainMenu+'a").className = "'+state+'"')
    //  eval(obj+'("'+quant+'mainLink'+mainMenu+'a").className = "'+state+'"')
    }
  }
}
// Find positioning for sub menus
function getOffset(obj, dim) 
{
  if(dim=="left") 
  {     
    oLeft = obj.offsetLeft;    
    while(obj.offsetParent!=null) 
    {    
      oParent = obj.offsetParent     
      oLeft += oParent.offsetLeft 
      obj = oParent 	
    }
    return oLeft
  }
  else if(dim=="top")
  {
    oTop = obj.offsetTop;
    while(obj.offsetParent!=null) 
    {
      oParent = obj.offsetParent
      oTop += oParent.offsetTop
      obj = oParent 	
    }
    return oTop
  }
  else if(dim=="width")
  {
    oWidth = obj.offsetWidth
    return oWidth
  }  
  else if(dim=="height")
  {
    oHeight = obj.offsetHeight
    return oHeight
  }    
  else
  {
    alert("Error: invalid offset dimension '" + dim + "' in getOffset()")
    return false;
  }
}
// Show sub menus
function popDown(quant, param, id, orientation)
{
  var cellBorderOffset = (isNS6)?cellBorder:eval(cellBorder*2)
  var browserAdjustment = (isNS6)?cellBorder:0
  var menu;
  var button;

  if (id)
  {    
    getOffset(eval(obj+'(id)'),'left');
    getOffset(eval(obj+'(id)'),'top');    
    getOffset(eval(obj+'(id)'),'width');  
    getOffset(eval(obj+'(id)'),'height');
    
    if (eval("Menu"+quant+"["+param+"][3]")=="right" && eval("subMenu"+quant+"["+param+"].length")>0) 
    { 
      oLeft=oLeft  
      oLeft=oLeft+oWidth; 
      getOffset(eval(obj+'("'+quant+'MENU'+param+'")'),'width');
      oLeft=oLeft-oWidth ;
      alignAdjustment = cellBorder*2 + 1
    }
    else 
    {
      alignAdjustment = 0
      oLeft=oLeft
    }    
  }  

  
  n = 0;    
  while (n < eval("Menu"+quant).length)
  {          
    menu = quant+"MENU"+n
    if (param == n)
    {

      theObj = eval(obj+'(menu)');
      if (theObj)
      {
         theObj.style.visibility = "visible"
          if (orientation.toLowerCase()=="vertical"){
            theObj.style.left=(menuStyle.split(",")[quant-1].toLowerCase()=="flat")?oLeft+oWidth+cellBorder+parseInt(horizontalOffset.split(",")[quant-1]):oLeft+oWidth+cellBorderOffset+parseInt(horizontalOffset.split(",")[quant-1]);
            theObj.style.top=(menuStyle.split(",")[quant-1].toLowerCase()=="flat")?oTop-cellBorder+parseInt(verticalOffset.split(",")[quant-1]):oTop+parseInt(verticalOffset.split(",")[quant-1])-browserAdjustment}
          else{
            theObj.style.left=(menuStyle.split(",")[quant-1].toLowerCase()=="flat")?oLeft-cellBorder+parseInt(horizontalOffset.split(",")[quant-1])+alignAdjustment:oLeft+parseInt(horizontalOffset.split(",")[quant-1])-browserAdjustment+alignAdjustment;
            theObj.style.top=(menuStyle.split(",")[quant-1].toLowerCase()=="flat")?oTop+oHeight+cellBorder+parseInt(verticalOffset.split(",")[quant-1]):oTop+oHeight+cellBorderOffset+parseInt(verticalOffset.split(",")[quant-1]);}
        }
      
       highlightMenu('main',n,'','hover',quant)
       if (eval("subMenu"+quant)[param].length > 0)
       {
         for (x=0; x<eval("subMenu"+quant)[param].length; x++)
         {
           if(eval("subMenu"+quant)[param][x][1].indexOf("#") == -1){
             //eval (obj+'("'+quant+'subMenu'+param+x+'").className = "rcSubMenuStatic'+quant+'"')
             //eval (obj+'("'+quant+'subLink'+param+x+'").className = "rcSubMenuStatic'+quant+'"')  
           }       
         }
       }
    }
    else 
    {  
      for (x=1; x<quantity+1; x++)
      {       
        menu = x+"MENU"+n   
        //alert(menu)     
        if (eval(obj+'(menu)'))
        {
          eval(obj+'(menu).style.visibility = "hidden"')            
        }
        highlightMenu ('main',n,'','static',quant)
      }
    }

    n++
  }  
}
// Re-set timer for sub menus
function hoverMenu()
{
  if(timer)
  clearTimeout(timer)
}
// Set timer for sub menus
function clearMenu(quant,menu)
{
  setDelay = subMenuDelay*1000
  delay = (eval("subMenu"+quant)[menu].length > 0)?setDelay:1
  
  timer = setTimeout("popDown("+quant+","+(eval("Menu"+quant).length + 1)+")",delay)
}
// when you click the box, perform the same function as if the user had clicked the hyperlink
function tdMouseClick(theElement)
{
  //eval(obj+'(theElement).click()')
}

//Added by Anton - Accordion 
function showHide(td_id, div_up_id, div_next_id, nav_id, div_label){
		hideDiv(div_up_id);
		showDiv(div_next_id);
		document.getElementById(td_id).innerHTML = "<span onClick=\"toggle('"+nav_id+"');hideShow('"+td_id+"','"+div_up_id+"','"+div_next_id+"','"+nav_id+"','"+div_label+"' );\" class=\"pointer\">"+div_label+"</span>";
}
function hideShow(td_id, div_up_id, div_next_id, nav_id, div_label){
		showDiv(div_up_id);
		hideDiv(div_next_id);
		document.getElementById(td_id).innerHTML = "<span onClick=\"toggle('"+nav_id+"');showHide('"+td_id+"','"+div_up_id+"','"+div_next_id+"','"+nav_id+"','"+div_label+"');\" class=\"pointer\">"+div_label+"</span>";
}
function toggle(elementID) {
	if (document.getElementById(elementID).style.display=="") {
		hide(elementID);
	}
	else {
		show(elementID);
	}
}
function show(elementID) {	
	document.getElementById(elementID).style.display="";
}
function hide(elementID) {
	document.getElementById(elementID).style.display="none";
}

//Added By Anton
function addslashes(str) {
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}

function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

function handleEnter (field, event) {
  var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
  if (keyCode == 13)
    return false;
  else
    return true;
}

function hitEnter (field, event) {
  var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
  if (keyCode == 13)
    return true;
  else
    return false;
}

function isInteger(_x){
  var _exp = new RegExp(/^\d+$/);
  var _test=_exp.test(_x);

  if(!_test)
    return false;
  else
    return true;
}

function findObj(Form, ObjName){
  var Obj;

  for(var i=0;i<Form.elements.length;i++)
    if(Form.elements[i].name == ObjName)
      Obj = Form.elements[i];

  return Obj;
}

function markByValue(obj){
  var m = 0;
  var obj2 = markByValue.arguments;

  if(obj && obj2.length > 1){
    for(i=0;i<obj.length;i++){
      for(var j=1;j<obj2.length;j++){
        if(obj2[j] == obj.options[i].value){
          obj.options[i].selected = true;
          m++;
          break;
        }
			}
			//terminate if we have checked all the passed value to an object
      if(m == obj2.length - 1){
        return true;
      }
    }
  }
}

function markByText(obj){
  var m = 0;
  var obj2 = markByText.arguments;

  if(obj && obj2.length > 1){
    for(i=0;i<obj.length;i++){
      for(var j=1;j<obj2.length;j++){
        if(obj2[j] == obj.options[i].text){
          obj.options[i].selected = true;
          m++;
          break;
        }
			}
			//terminate if we have checked all the passed value to an object
      if(m == obj2.length - 1){
        return true;
      }
    }
  }
}

function selectAll(obj){  
	for(i=0;i<obj.length;i++){
  	obj.options[i].selected = true;
  }
}

function selectRadio(obj, val) {
	if(obj){
		var Form = obj.form;
		for (var i=0; i<Form.elements.length; i++){
			if(Form.elements[i].type == 'radio' && Form.elements[i].name == obj.name){
        //alert(Form.elements[i].name + ' = ' + obj.name);
        //alert(Form.elements[i].value + ' = ' + val);
				if (Form.elements[i].value == val){
					Form.elements[i].checked = true;
					return true;
				}
      }
		}
	}
}

function selectCheckboxes(obj){
	var m = 0;
  var obj2 = selectCheckboxes.arguments;
	var Form = obj.form;

	for (var i=0; i<Form.elements.length; i++){
		if(Form.elements[i].type == 'checkbox' && Form.elements[i].name == obj.name){
			for(var j=0;j<obj2.length;j++){
				if (Form.elements[i].value == obj2[j])					
					Form.elements[i].checked = true;
			}
		}
	}
}

function clearCheckboxes(obj){
	var Form = obj.form;

	for (var i=0; i<Form.elements.length; i++){
		if(Form.elements[i].type == 'checkbox' && Form.elements[i].name == obj.name){
			Form.elements[i].checked = false;
		}
	}
}

function countFields(Checkbox, str_name, int_max, str_message){
	var arr_checked = [];
	var Form = Checkbox.form;

	if(Checkbox.checked){
		for(var i=0; i<Form.length; i++)
			if(Form.elements[i].type == "checkbox" && (Form.elements[i].name).indexOf(str_name) != -1)
				if(Form.elements[i].checked == true)
					arr_checked.push(Form.elements[i].value);
	
		if(arr_checked.length > int_max)
			for(var i=0; i<Form.length; i++)
				if(Form.elements[i].type == "checkbox" && Form.elements[i].name == Checkbox.name && Form.elements[i].value == Checkbox.value){
					alert(str_message ? str_message : 'You can choose only at most '+int_max+' fields.');
					Form.elements[i].checked = false;
					return false;
				}
	}
	return true;
}


function popUp(theurl,thewindow,thewidth,theheight,thescroll,theResize) {
  var iMyWidth;
  var iMyHeight;
  var scroll;
  var win2;
  var features = '';
  var isResizable;

	if (theResize || theResize == null)
		isResizable = 'yes';
	else
		isResizable = 'no';

  if (thescroll)
   scroll = 'yes';
  else
   scroll = 'no';
   
  //gets top and left positions based on user's resolution so hint window is centered.
  iMyWidth = (window.screen.width/2) - ((thewidth/2) + 10);
  //half the screen width minus half the new window width (plus 5 pixel borders).
  iMyHeight = (window.screen.height/2) - ((theheight/2) + 50);
  //half the screen height minus half the new window height (plus title and status bars).

  features = "status=yes,height="+theheight+",width="+thewidth+",titlebar=no"+",resizable="+isResizable+",left="+iMyWidth+",top="+
    iMyHeight+",screenX="+iMyWidth+",screenY="+iMyHeight+",scrollbars="+scroll;

  win2 = window.open(theurl,thewindow,features);
  win2.focus();

  return win2;
}

function checkAllBoxes(Form, bln_checked, FieldName){
	showLoading();
	for(var i=0;i<Form.elements.length;i++)
    if(Form.elements[i].type == 'checkbox' && (!FieldName || Form.elements[i].name == FieldName)){
      //Form.elements[i].checked = bln_checked;
			if(Form.elements[i].checked != bln_checked)
				Form.elements[i].click();
		}
	hideLoading();
}

function toggleAllBoxes(Form, FieldName){
	showLoading();
  for(var i=0;i<Form.elements.length;i++)
    if(Form.elements[i].type == 'checkbox' && (!FieldName || Form.elements[i].name == FieldName)){
      //Form.elements[i].checked = !Form.elements[i].checked;
			Form.elements[i].click();
		}
	hideLoading();
}

function trimXSpaces(Str){
	if(!Str.length)
  	return Str;

  while(Str.charAt(0) == ' ')
  	Str = Str.substring(1, Str.length);

  if(!Str.length)
  	return Str;

  while(Str.charAt(Str.length - 1) == ' ')
  	Str = Str.substring(0, Str.length - 1);

  return Str;
}

function returnSelection(radioField){
	var selection = null;
  for (i=0; i < radioField.length; i++){
		if (radioField[i].checked){
			selection=radioField[i].value;
			return selection;
		}
	}
  return selection;
}

function containsSomething(Field){
	if ((Field.type == "text") || (Field.type == "textarea") || (Field.type == "password") || (Field.type == "hidden")){
		Str = trimXSpaces(Field.value);
		if (Str == ""){
			return false;
		}
	}
	else{
    if (returnSelection(Field) == null){
      return false;
    }
  }

  return true;
}

function isValidEmail(Field){
	if (!containsSomething(Field)){
  	return false;
  }
  if (Field.value.indexOf("@")==-1 || Field.value.indexOf(".")==-1 || trimXSpaces(Field.value).indexOf(" ")!=-1 || Field.value.length<6){
  	return false;
  }
  else{
  	return true;
  }
}

function checkText(Field, AlertMsg){
	if(!containsSomething(Field)){
    return false;
  }
  return true;
}

function checkNumber(Field){
  if(!containsSomething(Field) || isNaN(Field.value)){
    return false;
  }
  return true;
}

function checkCheckboxes(Form, FieldName){
  for(var i=0;i<Form.elements.length;i++)
    if(Form.elements[i].type == 'checkbox' && Form.elements[i].name == FieldName)
      if(Form.elements[i].checked)
        return true;

  return false;
}

function checkRadio(Form, FieldName/*, AlertMsg*/){
  for(var i=0;i<Form.elements.length;i++){
    if(Form.elements[i].type == 'radio' && Form.elements[i].name == FieldName)
      if(Form.elements[i].checked)
        return true;
  }
  //alert(AlertMsg);

  return false;
}

function checkSelect(Field){
  var i;

  for(i=0;i<Field.length;i++)
    if(Field.options[i].selected)
      break;

  if(!Field.options[i].value && (Field.selectedIndex <= 0)){
    return false;
  }

  return true;
}

function checkSelectM(Field/*, AlertMsg*/){
	var i;
  var SelectProceed = 0;

	for (i=0; i<=(Field.options.length - 1); i++){
  	if (Field.options[i].selected){
  		SelectProceed = 1;
  	  break;
  	}
  }

	if (SelectProceed == 0){
    //alert(AlertMsg);
  	return false;
  }

  return true;
}

function getText(Field){
	return Field.value;
}

 function setText(Field, Answer){
	return Field.value = Answer;
}

function getRadio(Form, FieldName){
	var answer = '';
	for(var i=0; i<Form.elements.length; i++){
		if(Form.elements[i].type == 'radio' && Form.elements[i].name == FieldName)
			if(Form.elements[i].checked){
				answer = Form.elements[i].value;
				break;
			}
	}
	return answer;
}

function disableRadio(Form, FieldName, bln_disabled){
	for(var i=0; i<Form.elements.length; i++){
		if(Form.elements[i].type == 'radio' && Form.elements[i].name == FieldName)
			Form.elements[i].disabled = bln_disabled;
	}
}

function getCheckbox(Form, FieldName){
	var answer = '';
	for(var i=0; i<Form.elements.length; i++){
		if(Form.elements[i].type == 'checkbox' && Form.elements[i].name == FieldName)
			if(Form.elements[i].checked){
				answer += (answer ? ',' : '') + Form.elements[i].value;
			}
	}
	return answer;
}

function getUnCheckbox(Form, FieldName){
	var answer = '';
	for(var i=0; i<Form.elements.length; i++){
		if(Form.elements[i].type == 'checkbox' && Form.elements[i].name == FieldName)
			if(!Form.elements[i].checked){
				answer += (answer ? ',' : '') + Form.elements[i].value;
			}
	}
	return answer;
}

function disableCheckbox(Form, FieldName, bln_disabled){
	for(var i=0; i<Form.elements.length; i++){
		if(Form.elements[i].type == 'checkbox' && Form.elements[i].name == FieldName)
			Form.elements[i].disabled = bln_disabled;
	}
}

function getFieldValues(Field){
	var answer = '';
	var elementType = Field.tagName.toLowerCase();
	var Form = Field.form;
	switch(elementType){
		case 'input':
			switch(Field.type){
				case 'text':
					answer = getText(Field);
					break;
				case 'radio' :
					answer = getRadio(Form, Field.name);
					break;
				case 'checkbox':
					answer = getCheckbox(Form, Field.name);
					break;
			}
			break;
		case 'textarea':
			answer = getText(Field);
			break;
		case 'select':
			answer = getSelect(Field);
			break;
	}

	return answer;
}


/** FOR SINGLE ANSWER ONLY**/
function setFieldValue(FieldId, Answer){
	var Field = document.getElementById(FieldId);
	if(!Field) return false;
	
	var elementType = Field.tagName.toLowerCase();
	var Form = Field.form;
	
	switch(elementType){
		case 'input':
			switch(Field.type){
				case 'text':
					setText(Field, Answer);
					break;
				case 'radio' :
					selectRadio(Field, Answer);
					break;
				case 'checkbox':
					clearCheckboxes(Field);
					selectCheckboxes(Field, Answer);
					break;
			}
			break;
//		case 'textarea':
//			setText(Field, Answer);
//			break;
		case 'select':
			markByValue(Field, Answer);
			break;
	}
}

function getSelect(SelectField){	
	var answer = '';
	for(var i=0; i<SelectField.options.length; i++){
		if(SelectField.options[i].selected)
			answer += (answer ? ',' : '') + SelectField.options[i].value;
	}
	return answer;
}

function replaceSlashes(str){
	return str.replace('\\','\\\\');
}

function setDiv(str_div_name, str_div_value){
	if(document.getElementById(str_div_name)){
		document.getElementById(str_div_name).innerHTML = str_div_value;
		document.getElementById(str_div_name).style['display'] = 'block';
	}
}

function resetDivResult(Form){
	confirm('Select All Result');
	Form.frm_all_result.value = 'Y'; 
}

function resetDiv(str_div_name){
	if(document.getElementById(str_div_name)){
		document.getElementById(str_div_name).innerHTML = '';
		document.getElementById(str_div_name).style['display'] = 'none';
	}
}

function emptyDiv(str_div_name){
	if(document.getElementById(str_div_name)){
		document.getElementById(str_div_name).innerHTML = '';
	}
}

function addDivOK(str_div_name, str_text, str_onclick){
	if(str_text){
		return '&nbsp;&nbsp;<input type="button" value="'+str_text+'" class="button" onClick="resetDiv(\'' + str_div_name + '\');'+ str_onclick+'"/>';
	}else{
		return '&nbsp;&nbsp;<img class="pointer" src="html/images/buttons/butt_ok.png" style="width:59px; height:26px;" onClick="resetDiv(\'' + str_div_name + '\');'+ str_onclick+'"/>';
	}
}

function addDivOKReload(str_div_name, str_text, str_onclick){
	if(str_text){
		return '&nbsp;&nbsp;<input type="button" value="'+str_text+'" class="button" onClick="window.location.reload(true); resetDiv(\'' + str_div_name + '\');'+ str_onclick+'"/>';
	}else{
		return '&nbsp;&nbsp;<img class="pointer" src="../images/buttons/butt_ok.png" style="width:59px; height:26px;" onClick="window.location.reload(true); resetDiv(\'' + str_div_name + '\');'+ str_onclick+'"/>';
	}
}

function refreshDiv(str_div_name){
	window.location.reload( false );
}

function hideDiv2(str_div_name){
	document.getElementById(str_div_name).innerHTML = '';
}

function showDiv(str_div_name){
	if(document.getElementById(str_div_name))
		document.getElementById(str_div_name).style['display'] = '';
}

function easyLoader(hide_show_div,div_loader,main_url,bln_is_loading){
   div_loading = document.getElementById(hide_show_div);
   if(bln_is_loading){
   	 setDiv(div_loader,'<p style="padding:40px;" align="center"><img src="'+main_url+'/images/indicator_big.gif" style="width:30px;height:30px;"/></p>');
   	 div_loading.style['display'] = 'none';
   	 
   }
   else{
     setDiv(div_loader,'');
     div_loading.style['display'] = 'block';
    
   }
}

function hideDiv(str_div_name){
	if(document.getElementById(str_div_name))
		document.getElementById(str_div_name).style['display'] = 'none';
}

function addDivOKAndHide(str_div_name, str_div_name1){
	return '&nbsp;&nbsp;<input type="button" value="ok" class="button" onClick="resetDiv(\'' + str_div_name + '\'); hideDiv2(\'' + str_div_name1 + '\');"/>';
}

function addDivOKAndRefresh(str_div_name){
	return '&nbsp;&nbsp;<input type="button" value="ok" class="button" onClick="refreshDiv(\'' + str_div_name + '\');"/>';
}

function addDivOKClose(str_div_name, str_text, str_onclick){
	if(str_text){
		return '&nbsp;&nbsp;<input type="button" value="'+str_text+'" class="button" onClick="resetDiv(\'' + str_div_name + '\');'+ str_onclick+'"/>';
	}else{
		return '&nbsp;&nbsp;<img class="pointer" src="../images/buttons/butt_ok.png" style="width:59px; height:26px;" onClick="resetDiv(\'' + str_div_name + '\');'+ str_onclick+'; parent.opener.location.reload(); window.close(); "/>';
	}
}

function changeHoursAMPM(AMPM, STime){
  var st = 0;
  var et = 0;
  var sel = 0;
  var si = STime.selectedIndex;
  var sv = STime.options[si].text;

  for(var i=0;i<AMPM.length;i++){
    if(AMPM.options[i].selected){
      sel = i;
      break;
    }
  }

  if(AMPM.options[sel].text == "AM"){
    //st = 6; /** CHANGE HOURS 12-11 for AM/PM  --jing **/
    st = 0;
    et = 11;
  }
  else{
    st = 12;
    et = 23;
  }

  STime.length = (et-st) + 1;

  for(var i=st;i<=et;i++){
    if(i % 12)
      STime.options[i-st].text = i % 12;
    else
      STime.options[i-st].text = 12;

    STime.options[i-st].value = i;

    if(STime.options[i-st].text == sv){
      STime.options[i-st].selected=true;
      STime.selectedIndex = i - st;
    }
  }
}

function changeHours(STime, AMPM, AMPMValue){
	var st = 0;
	var et = 0;
	var si = STime.selectedIndex;
	var sv = STime.options[si].text;

	if(AMPMValue)
		markByValue(AMPM, AMPMValue);

	if(AMPM.options[AMPM.selectedIndex].value == "AM"){
		//st = 6; /** CHANGE HOURS 12-11 for AM/PM  --jing **/
		st = 0;
		et = 11;
	}
	else{
		st = 12;
		et = 23;
	}

	STime.length = (et-st) + 1;

	for(var i=st;i<=et;i++){
		if(i % 12)
			STime.options[i-st].text = i % 12;
		else
			STime.options[i-st].text = 12;

		STime.options[i-st].value = i;

		if(STime.options[i-st].text == sv){
			STime.options[i-st].selected=true;
			STime.selectedIndex = i - st;
		}
	}
}


function initDate(DateName, hasBlank){
	initDateN(DateName+'_month', DateName+'_day', DateName+'_year', hasBlank);
}

function initDateN(MonthName, DayName, YearName, hasBlank){
	var Month = document.getElementById(MonthName);
	var Day = document.getElementById(DayName);
	var Year = document.getElementById(YearName);
		
	var today = new Date();
	var MonthValue = Month.selectedIndex || !hasBlank ? Month.options[Month.selectedIndex].value : today.getMonth()+1;
	var DayValue = Day.selectedIndex || !hasBlank? Day.options[Day.selectedIndex].value : today.getDate();
	var YearValue = Year.selectedIndex || !hasBlank? Year.options[Year.selectedIndex].value : today.getFullYear();

	if(hasBlank){
		var MonthValue = Month.selectedIndex ? Month.options[Month.selectedIndex].value : 0;
		var DayValue = Day.selectedIndex ? Day.options[Day.selectedIndex].value : 0;
		var YearValue = Year.selectedIndex ? Year.options[Year.selectedIndex].value : 0;		
	}

	var datePicker = new DropdownDatePicker(Month, Day, Year);

	if(hasBlank)
		datePicker.setDisplayMonths(2, false, new Array("","January","February","March","April","May","June","July","August","September","October","November","December"), hasBlank);
	else
		datePicker.setDisplayMonths(2, false);

	datePicker.setSelectedDate(MonthValue, DayValue, YearValue);
	datePicker.setWeekendStyleOff(resetStyleWeekend);
	/*
	datePicker.setWeekendStyleOn(setStyleWeekend);
	*/
}

function setStyleWeekend(objOpt){
	if (objOpt && objOpt.style){
		objOpt.style.backgroundColor = 'silver';
	}
}

function resetStyleWeekend(objOpt){
	if (objOpt && objOpt.style){
		objOpt.style.backgroundColor = 'white';
	}
}

function showElement(Element, Show){
	document.getElementById(Element).style['display'] = Show ? 'block' : 'none';
}

function showLoading(div_loading, str_image){
  document.body.style.cursor = 'wait';
  
  if(!div_loading)
  	div_loading = 'div_loading';
  	
  if(!str_image)
  	str_image = "<p style=\"padding:40px;\"><img src=\"../images/indicator_big.gif\" style=\"width:30px;height:30px;\"/></p>";
  	
  setDiv(div_loading, str_image);
	//showLightbox();
}

function loading(div_loading){
  document.getElementById(div_loading).innerHTML = '<img src="html/images/indicator.gif" style="width:16px;height:16px;"/>';
  
	//showLightbox();
}

function hideLoading(div_loading, div_main){
	document.body.style.cursor = 'default';
	
	if(div_main)
	document.getElementById(div_main).style['display'] = 'block';
		
	if(!div_loading)
  	div_loading = 'div_loading';
	  	
	resetDiv(div_loading);
	
	//hideLightbox();
}

//Added by andy - used for date display
function postDate(date_name){
	var Month = document.getElementById(date_name+'_month');
	var Day = document.getElementById(date_name+'_day');
	var day_value = Day.value;
	var Year = document.getElementById(date_name+'_year');
	var numDays = 31;
	if(Month.value == 2)
		if((Year.value % 4) == 0)
			numDays = 29;
		else
			numDays = 28;
	if(Month.value == 4 || Month.value == 6 || Month.value == 9 || Month.value == 11){
		numDays = 30;
	}
	
	Day.options.length = 0;
	for (var i=0;i<numDays;i++){
		j = i + 1;
		if(j < 10)
			j = "0" + j +"";
		if(j == day_value)
			sel_index = i;
		Day.options[i] = new Option(j, j);
	}
	Day.selectedIndex = sel_index;
}
//Added by andy 08/23/2006
//function to disable non-integer inputs
function isNumberKey(evt){
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if ((charCode >= 48 && charCode <= 57) || charCode == 8 || charCode == 46)
		return true;
	return false;
}

function checkCR(evt){
	var evt  = (evt) ? evt : ((event) ? event : null);
	var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
	if ((evt.keyCode == 49) && (node.type=="text")) {return false;}

}
//Added by andy 08/25/2006
//function to display answer types
function AnswerTypes(question_type, answer_name, default_answer, div_name){
	document.getElementById(div_name).innerHTML = "";
	var type1_value = new Array("SM","SS","RB","CB");
	var type1_label = new Array("select (multiple)","select (single)","radio button","check all that apply");
	var type2_value = new Array("SM","SS","RB","CB","YN","NM","TX","LT");
	var type2_label = new Array("select (multiple)","select (single)","radio button","check all that apply","yes or no","number","text (single line)","text (multiple line)");
	switch(question_type){
		case '--':
			document.getElementById(div_name).innerHTML += "<div><input type='hidden' name='"+answer_name+"' value=''></div>";
			break;
		case 'CS':
		case 'DG':
		case 'JL':
		case 'JT':
		case 'MJ':
		case 'SK':
		case 'WA':
		case 'CT':
		case 'ST':
		case 'IN':
			for(x=0;x<type1_value.length;x++){
				if(default_answer == type1_value[x]){
					document.getElementById(div_name).innerHTML += "<div><input type='radio' name='"+answer_name+"' value='"+type1_value[x]+"' checked=checked>"+type1_label[x]+"</div>";
				}else{
					document.getElementById(div_name).innerHTML += "<div><input type='radio' name='"+answer_name+"' value='"+type1_value[x]+"'>"+type1_label[x]+"</div>";
				}
			}
			break;
		case 'DA':
			for(x=0;x<type2_value.length;x++){
				if(default_answer == type2_value[x]){
					document.getElementById(div_name).innerHTML += "<div><input type='radio' name='"+answer_name+"' value='"+type2_value[x]+"' checked=checked>"+type2_label[x]+"</div>";
				}else{
					document.getElementById(div_name).innerHTML += "<div><input type='radio' name='"+answer_name+"' value='"+type2_value[x]+"'>"+type2_label[x]+"</div>";
				}
			}
			break;
		default:
			for(x=0;x<type2_value.length;x++){
				if(default_answer == type2_value[x]){
					document.getElementById(div_name).innerHTML += "<div><input type='radio' name='"+answer_name+"' value='"+type2_value[x]+"' checked=checked>"+type2_label[x]+"</div>";
				}else{
					document.getElementById(div_name).innerHTML += "<div><input type='radio' name='"+answer_name+"' value='"+type2_value[x]+"'>"+type2_label[x]+"</div>";
				}
			}
			break;
	}
}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)){
					arrReturnElements.push(oElement);
			}
	}
	return (arrReturnElements)
}

/***************** CHECK LINKS *********************/

function createCheckLinks(str_form_name, str_div_name, str_attributes){
	if(!str_div_name){
		document.writeln('<div align="left"'+str_attributes+'>');
		document.write('<label class="pointer" style="color:#006F00; cursor: pointer;" onClick="checkAllBoxes(document.'+str_form_name+', true)">Check All</label> | ');
		document.write('<label class="pointer" style="color:#006F00; cursor: pointer;" onClick="checkAllBoxes(document.'+str_form_name+', false)">Uncheck All</label> | ');
		document.write('<label class="pointer" style="color:#006F00; cursor: pointer;" onClick="toggleAllBoxes(document.'+str_form_name+')">Toggle All</label>');
		document.writeln('</div>');
	}else{
		var div_element = document.getElementById(str_div_name);
		div_element.innerHTML = '<label class="pointer" style="color:#006F00; cursor: pointer;" onClick="checkAllBoxes(document.'+str_form_name+', true)">Check All</label> | ';
		div_element.innerHTML += '<label class="pointer" style="color:#006F00; cursor: pointer;" onClick="checkAllBoxes(document.'+str_form_name+', false)">Uncheck All</label> | ';
		div_element.innerHTML += '<label class="pointer" style="color:#006F00; cursor: pointer;" onClick="toggleAllBoxes(document.'+str_form_name+')">Toggle All</label>';
	}
}


/***************** FLOATING DIV *********************/

function getObject(obj){
		if(document.getElementById){
			obj = document.getElementById(obj);
		}else if(document.all){
			obj = document.all.item(obj);
		}else{
			obj = null;
		}
		return obj;
	}

	function moveObject(obj, e, offX, offY){
    var tempX = 0;
    var tempY = 0;
    var offsetX = 0;
		var offsetY = 0;
    var objHolder = obj;

		if(offX)
			offsetX = offX;
		if(offY)
			offsetX = offY;

    obj = getObject(obj);
    if (obj==null) return;

    if(document.all){
      tempX = event.clientX + document.body.scrollLeft;
	  if(document.body.scrollTop==0)
      tempY = event.clientY + document.documentElement.scrollTop;
	  else
	  tempY = event.clientY + document.documentElement.scrollTop;
    }else{
      tempX = e.pageX;
      tempY = e.pageY;
    }

    if (tempX < 0){tempX = 0}
    if (tempY < 0){tempY = 0}

    obj.style.top  = (tempY + offsetY) + 'px';
    obj.style.left = (tempX + offsetX) + 'px';
		
    displayObject(objHolder, true);
  }

  function displayObject(obj, show) {
    obj = getObject(obj);
    if (obj==null) return;

    obj.style.display = show ? 'block' : 'none';
    obj.style.visibility = show ? 'visible' : 'hidden';
  }

/***************** end of FLOATING DIV *********************/
//added by Anton 11/21/2006
//function to display homepage calendar
function drawcalendar(month,year) {  //Unused, see updated calendar in layout.js
  var today=new Date();
  var month=month;
  var nextmonth=month+1;
  var year=year;
  if (year < 1000) {year += 1900};
  if (nextmonth > 12) {nextmonth=1};month;
  
  $bstart="";
  $bend="";
  names=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
  var x=0;
  
  var now=today.getDate();
  var tmonth=today.getMonth();
  var tyear=today.getYear();
  if (tyear < 1000) {tyear += 1900};
  var d=new Date(year,month,"1");
  var dd=new Date(year,nextmonth,"1");
  var aday=(1000 * 60 * 60 * 24);
  var ms=dd.getTime();
  ms -= aday;
  dd.setTime(ms);
  var lastday=dd.getDate();
  
  var sd=d.getDay();
  pmonth=month-1;
  pyear=year;
  nmonth=month+1;
  nyear=year;
  
  if (pmonth < 0) { pmonth=11; pyear--;}
  if (nmonth > 11) {nmonth=0; nyear++;}
  dnmonth=nmonth+1;
  dpmonth=pmonth+1;
  var calendar = ""; // initialize accumulative variable to empty string
      calendar += '<table border cellpadding="2" style="background-color: #FFFFFF">'; // table settings
      calendar += '<tr><td align="center" colspan="7" style="background-color: #5076A3; color: #FFFFFF;"><strong>';
      calendar += names[month] + " " + year;
      calendar += '</strong></td></tr>';
  var y=1;
      calendar += '<tr>';
      calendar += '<td><b>S</b></td><td><b>M</b></td><td><b>T</b></td><td><b>W</b></td><td><b>T</b></td><td><b>F</b></td><td><b>S</b></td></tr><tr>';
  for ( x=0; x < sd ; x++) {
      calendar += '<td></td>';
  }
  t=sd;
  
  for ( x=sd; x < lastday + sd; x++) {
    currentmonth = month + 1;
    calendar += '<td style="background-color: #5076A3; color: #FFFFFF;"><a href="adm_events.php?date='+currentmonth+'-'+y+'-'+year+'">' +   $bstart + y + $bend  + '</a></td>';
  y++;t++;
  if ((t % 7) == 0) { calendar += '</tr><tr>'};
  if (y == now && tmonth==month && tyear == year) { $bstart="<font color='#000000;'> ";$bend="</font>"; } else
  { $bstart="";$bend="";}
  }
    calendar += '</tr><tr>';
    calendar += '</table>';
  
  document.getElementById('div_pop_calendar_'+month).innerHTML = calendar;

}

/** from adm_top.php **/
function ConfirmDelete(id, field, table, div, module, row_count){
	var accept_image = "<img src='../images/icons/accept.png' border='0' width='16px' height='16px'>";
	var cancel_image = "<img src='../images/icons/cancel.png' border='0' width='16px' height='16px'>";
	var html = "<a href='javascript:void(0);' onclick=\"ops.DeleteItem('"+id+"', '"+field+"', '"+table+"', '"+div+"', '"+module+"', '"+row_count+"');\" title='yes'>"+accept_image+"</a>&nbsp;&nbsp;<a href='javascript:void(0);' onclick=\"CancelDelete('"+id+"', '"+field+"', '"+table+"', '"+div+"', '"+module+"', '"+row_count+"');\" title='no'>"+cancel_image+"</a>";
	document.getElementById("del_"+id).innerHTML = html;
}
function CancelDelete(id, field, table, div, module, row_count){
	var delete_image = "<img src='../images/icons/delete.png' border='0' width='16px' height='16px'>";
	var html = "<a href='javascript:void(0);' onclick=\"ConfirmDelete('"+id+"', '"+field+"', '"+table+"', '"+div+"', '"+module+"', '"+row_count+"');\" title='delete'>"+delete_image+"</a>";
	document.getElementById("del_"+id).innerHTML = html;
}
function ConfirmMsg(id,field,table,div,module,row_count){
	var agree=confirm('Are you sure you want to delete?');
	if(agree)
		ops.DeleteItem(id, field, table, div, module, row_count);
}
function ConfirmAdminMsg(id, row_count, keyword, admin_type){
	var agree=confirm('Are you sure you would like to delete this administrator?');
	if(agree){
		obj.DeleteAdmin(id, row_count, keyword, admin_type);
	}
}
function deleteUploadedFile(attachment_id, attachment_list){
	document.getElementById(attachment_id).value = "";
	document.getElementById(attachment_list).innerHTML = "";
}

//DATE FUNCTIONS
var monthNames = new Array(
  'January',
  'February',
  'March',
  'April',
  'May',
  'June',
  'July',
  'August',
  'September',
  'October',
  'November',
  'December');

var appVer = navigator.appVersion.substring(0, 5);
var appName = navigator.appName;
var IEVer = navigator.appVersion.substring(navigator.appVersion.indexOf('MSIE'), navigator.appVersion.length);

IEVer = IEVer.substring(5, IEVer.indexOf(';'));
IEVer = parseFloat(IEVer);
appVer = parseFloat(appVer);

function getSelectValue(Select){
  for(var i=0;i<Select.options.length;i++)
    if(Select.options[i].selected)
      return Select.options[i].value;
}

function setSelectValue(Select, Value){
  var i;

  if(Value != '')
    for(i=0;i<Select.length;i++)
      if(Select.options[i].value == Value){
        Select.options[i].selected = true;
        Select.selectedIndex = i;
        break;
      }
}

function getYearValue(Year){
  if(Year.type == "text")
    return Year.value;
  else
    return getSelectValue(Year);
}

function getMonthDays(month, year){

  if(month == 2){
    if (year % 4 != 0)
      return 28;
    else if  (year % 400 == 0)
      return 29;
    else if (year % 100 == 0)
      return 28;
    else
      return 29;
  }

  if((month == 4) || (month == 6) || (month == 9) || (month == 11))
      return 30;

  return 31;
}

function dElement(TagName){
  var nObj = null;
  var FieldStr = null;

  if(navigator.appName == 'Netscape'){
    nObj = document.createElement(TagName);

    for(var i=1;i<dElement.arguments.length;i=i+2)
      nObj.setAttribute(dElement.arguments[i], dElement.arguments[i+1]);

  }
  else{
    FieldStr = '<' + TagName.toUpperCase();

    for(var i=1;i<dElement.arguments.length;i=i+2)
      FieldStr += ' ' + dElement.arguments[i] + '="' + dElement.arguments[i+1] + '"';

    FieldStr += '>';

    nObj = document.createElement(FieldStr);
  }

  return nObj;
}

function createDate(MonthName, DayName, YearName, mIniValue, dIniValue, yIniValue, yType, yStart, yEnd, mSpace, blankText){
  var MonthObj, DayObj, YearObj, numDays, dObj;

  if(MonthName)
    MonthObj = createDateMonth(MonthName, DayName, YearName, mIniValue, blankText);

  if(DayName){
    numDays = getMonthDays(mIniValue, yIniValue);
    DayObj = createDateDay(DayName, numDays, dIniValue, blankText);
  }

  if(YearName)
    YearObj = createDateYear(MonthName, DayName, YearName, yType, yIniValue, yStart, yEnd, blankText);

  if((appName == 'Netscape' && appVer < 5) || (appName != 'Netscape' && IEVer <= 5.01)){
    document.writeln('<table cellspacing=0 cellpadding=0 border=0>', '  <tr>');
    if(MonthObj){
      document.writeln('    <td>');
      document.writeln(MonthObj);
      document.writeln('    </td>');
      document.writeln('    <td width="'+mSpace+'">&nbsp;</td>');
    }

    if(DayObj){
      document.writeln('    <td>');
      document.writeln(DayObj);
      document.writeln('    </td>');
      document.writeln('    <td width="'+mSpace+'">&nbsp;</td>');
    }

    if(YearObj){
      document.writeln('    <td>');
      document.writeln(YearObj);
      document.writeln('    </td>');
    }

    document.writeln('  </tr>', '</table>');
  }
  else{
    document.writeln('<table cellspacing=0 cellpadding=0 border=0>', '  <tr>', '    <td id="'+MonthName+DayName+YearName+'">', '    </td>', '  </tr>', '</table>');
    dObj = document.getElementById(MonthName+DayName+YearName);

    var t = dElement('table', 'cellspacing', '0', 'cellpadding', '0', 'border', '0');
    dObj.appendChild(t);
    var tb = dElement('tbody');
    t.appendChild(tb);
    var tr = dElement('tr');
    tb.appendChild(tr);
    var td;
    if(MonthObj){
      td = dElement('td');
      td.appendChild(MonthObj);
      tr.appendChild(td);
      td = dElement('td', 'width', mSpace);
      td.appendChild(document.createTextNode(' '));
      tr.appendChild(td);
    }

    if(DayObj){
      td = dElement('td');
      td.appendChild(DayObj);
      tr.appendChild(td);
      td = dElement('td', 'width', mSpace);
      td.appendChild(document.createTextNode(' '));
      tr.appendChild(td);
    }

    if(YearObj){
      td = dElement('td');
      td.appendChild(YearObj);
      tr.appendChild(td);
    }

  }
}

function createDateStr(MonthName, DayName, YearName, mIniValue, dIniValue, yIniValue, yType, yStart, yEnd, mSpace, blankText){
  var MonthObj, DayObj, YearObj, numDays, dObj;
  var dateStr = '';

  if(MonthName)
    MonthObj = createDateMonthStr(MonthName, DayName, YearName, mIniValue, blankText);

  if(DayName){
    numDays = getMonthDays(mIniValue, yIniValue);
    DayObj = createDateDayStr(DayName, numDays, dIniValue, blankText);
  }

  if(YearName)
    YearObj = createDateYearStr(MonthName, DayName, YearName, yType, yIniValue, yStart, yEnd, blankText);

  dateStr += '<table cellspacing=0 cellpadding=0 border=0><tr>';

  if(MonthObj){
    dateStr += '<td>';
    dateStr += MonthObj;
    dateStr += '</td>';
    dateStr += '<td width="'+mSpace+'">&nbsp;</td>';
  }

  if(DayObj){
    dateStr += '<td>';
    dateStr += DayObj;
    dateStr += '</td>';
    dateStr += '<td width="'+mSpace+'">&nbsp;</td>';
  }

  if(YearObj){
    dateStr += '<td>';
    dateStr += YearObj;
    dateStr += '</td>';
  }

  dateStr += '</tr></table>';

  return dateStr;
}

function createDateMonth(MonthName, DayName, YearName, iniValue, blankText){
  var MonthObj;
  var inc = 0;

  if(!blankText)
    blankText = '';

  if((appName == 'Netscape' && appVer < 5) || (appName != 'Netscape' && IEVer <= 5.01)){
    MonthObj = '<select name="'+MonthName+'" onChange="updateDayOptions(this, this.form.'+DayName+', this.form.'+YearName+', \''+blankText+'\')">';

    if(blankText)
      MonthObj += '<option value="">'+blankText+'</option>';

    for(var i=0;i<monthNames.length;i++){
      inc = i + 1;
      MonthObj += '<option value="'+inc+'"';

      if(inc == iniValue)
        MonthObj += ' selected';

      MonthObj += '>'+monthNames[i]+'</option>';
    }

    MonthObj += '</select>';
  }
  else{
    MonthObj = dElement('select', 'name', MonthName, 'onChange', 'updateDayOptions(this, this.form.'+DayName+', this.form.'+YearName+', \''+blankText+'\')');
    MonthObj.length = 12;

    if(blankText){
      MonthObj.length = 13;
      MonthObj.options[0].text = blankText;
      MonthObj.options[0].value = '';
      inc = 1;
    }

    for(var i=0;i<monthNames.length;i++){
      MonthObj.options[i + inc].text = monthNames[i];
      MonthObj.options[i + inc].value = i + 1;
    }

    setSelectValue(MonthObj, iniValue);
  }

  return MonthObj;
}

function createDateMonthStr(MonthName, DayName, YearName, iniValue, blankText){
  var MonthObj;
  var inc = 0;

  if(!blankText)
    blankText = '';

  MonthObj = '<select name="'+MonthName+'" onChange="updateDayOptions(this, this.form.'+DayName+', this.form.'+YearName+', \''+blankText+'\')">';

  if(blankText)
    MonthObj += '<option value="">'+blankText+'</option>';

  for(var i=0;i<monthNames.length;i++){
    inc = i + 1;
    MonthObj += '<option value="'+inc+'"';

    if(inc == iniValue)
      MonthObj += ' selected';

    MonthObj += '>'+monthNames[i]+'</option>';
  }

  MonthObj += '</select>';

  return MonthObj;
}

function createDateDay(DayName, numDays, iniValue, blankText){
  var DayObj;
  var inc = 0;
  var selSet = false

  if((appName == 'Netscape' && appVer < 5) || (appName != 'Netscape' && IEVer <= 5.01)){
    DayObj = '<select name="'+DayName+'" onChange="">';

    if(blankText)
      DayObj += '<option value="">'+blankText+'</option>';

    for(var i=0;i<numDays;i++){
      inc = i + 1;
      DayObj += '<option value="'+inc+'"';

      if((inc == iniValue || inc == numDays) && !selSet && iniValue){
        DayObj += ' selected';
        selSet = true;
      }

      DayObj += '>'+inc+'</option>';
    }

    DayObj += '</select>';
  }
  else{
    DayObj = dElement('select', 'name', DayName);

    setDayOptions(DayObj, numDays, iniValue, blankText);
  }

  return DayObj;
}

function createDateDayStr(DayName, numDays, iniValue, blankText){
  var DayObj;
  var inc = 0;
  var selSet = false

  DayObj = '<select name="'+DayName+'" onChange="">';

  if(blankText)
    DayObj += '<option value="">'+blankText+'</option>';

  for(var i=0;i<numDays;i++){
    inc = i + 1;
    DayObj += '<option value="'+inc+'"';

    if((inc == iniValue || inc == numDays) && !selSet && iniValue){
      DayObj += ' selected';
      selSet = true;
    }

    DayObj += '>'+inc+'</option>';
  }

  DayObj += '</select>';

  return DayObj;
}

function createDateYear(MonthName, DayName, YearName, yType, iniValue, yStart, yEnd, blankText){
  var YearObj;
  var inc = 0;

  if(!blankText)
    blankText = '';

  if(yType == 2){
    if((appName == 'Netscape' && appVer < 5) || (appName != 'Netscape' && IEVer <= 5.01))
      YearObj = '<input type="text" name="'+YearName+'" value="'+iniValue+'">';
    else
      YearObj = dElement('input', 'type', 'text', 'name', YearName, 'value', iniValue);
  }
  else{
    if((appName == 'Netscape' && appVer < 5) || (appName != 'Netscape' && IEVer <= 5.01)){
      YearObj = '<select name="'+YearName+'" onChange="updateDayOptions(this.form.'+MonthName+', this.form.'+DayName+', this, \''+blankText+'\')">';

      if(blankText)
        YearObj += '<option value="">'+blankText+'</option>';

			for(var i=0;i+yStart<=yEnd;i++){
				inc = yEnd - i;
				YearObj += '<option value="'+inc+'"';

        if(inc == iniValue)
          YearObj += ' selected';

        YearObj += '>'+inc+'</option>';
      }

      YearObj += '</select>';
    }
    else{
      YearObj = dElement('select', 'name', YearName, 'onchange', 'updateDayOptions(this.form.'+MonthName+', this.form.'+DayName+', this, \''+blankText+'\')');
      YearObj.length = yEnd - yStart + 1;

      if(blankText){
        YearObj.length = yEnd - yStart + 2;
        inc = 1;
        YearObj.options[0].value = '';
        YearObj.options[0].text = blankText;
      }

      for(var i=0;i+yStart<=yEnd;i++){
        YearObj.options[i + inc].text = yEnd - i;
        YearObj.options[i + inc].value = yEnd - i;
      }

      setSelectValue(YearObj, iniValue);
    }
  }

  return YearObj;
}

function createDateYearStr(MonthName, DayName, YearName, yType, iniValue, yStart, yEnd, blankText){
  var YearObj;
  var inc = 0;

  if(!blankText)
    blankText = '';

  if(yType == 2)
    YearObj = '<input type="text" name="'+YearName+'" value="'+iniValue+'">';
  else{
    YearObj = '<select name="'+YearName+'" onChange="updateDayOptions(this.form.'+MonthName+', this.form.'+DayName+', this, \''+blankText+'\')">';

    if(blankText)
      YearObj += '<option value="">'+blankText+'</option>';

    for(var i=0;i+yStart<=yEnd;i++){
      inc = i + yStart;
      YearObj += '<option value="'+inc+'"';

      if(inc == iniValue)
        YearObj += ' selected';

      YearObj += '>'+inc+'</option>';
    }

    YearObj += '</select>';
  }

  return YearObj;
}

function setDayOptions(DayObj, numDays, iniValue, blankText){
  var inc = 0;

  DayObj.length = numDays;

  if(blankText){
    DayObj.length = numDays + 1;
    inc = 1;
    DayObj.options[0].text = blankText;
    DayObj.options[0].value = '';
  }

  for(var i=0;i<numDays;i++){
    DayObj.options[i + inc].text = i + 1;
    DayObj.options[i + inc].value = i + 1;
  }

  setSelectValue(DayObj, iniValue);
}

function updateDayOptions(MonthObj, DayObj, YearObj, blankText){
  var mValue, yValue, dValue, numDays;

  mValue = getSelectValue(MonthObj);

  if(YearObj.type == 'select-one')
    yValue = getSelectValue(YearObj);
  else
    yValue = YearObj.value;

  dValue = getSelectValue(DayObj);

  numDays = getMonthDays(mValue, yValue);

  setDayOptions(DayObj, numDays, dValue, blankText);
}

//new date picker
function DropdownDatePicker(month, day, year, hasLeadingZero){
	var me = this;
	this.month = month;
	this.day = day;
	this.year = year;
	if (hasLeadingZero==null || typeof hasLeadingZero=="undefined") hasLeadingZero=false;
	this.hasLeadingZero = hasLeadingZero;
	this.setWeekend = false;

	this.populateDate = function(){
		var dSelYear = me.year.options[me.year.selectedIndex].value;
		var dSelMonth = me.month.options[me.month.selectedIndex].value;
		var timeA = new Date(dSelYear,dSelMonth,1); //get date of first day of next month
		var timeDifference = timeA - 86400000;//subtract 1 day
		var timeB = new Date(timeDifference);
		var daysInMonth = timeB.getDate();
		
		me.day.options.length = 0;
		if(me.hasBlank){
			me.day.options[0] = new Option('','');
		}
		for (var i = 0; i < (daysInMonth); i++) {
			sDay = ((i+1)<10 && me.hasLeadingZero)?"0"+(i+1):i+1;
			me.day.options[i + (me.hasBlank ? 1 : 0)] = new Option(sDay,sDay);
		}
		
		/*
		prevDaysInMonth = me.day.options.length;
		
		if (prevDaysInMonth > 31){
			me.day.options.length = daysInMonth+1;
		}else{
			
		if (daysInMonth < prevDaysInMonth){	//current month's days < previous month's
			if (me.day.selectedIndex>=daysInMonth-1){
				me.day.selectedIndex = daysInMonth-1;	//select last day of the current month if previous month's selected day is > current month's
			}
			me.day.options.length = daysInMonth;
   	}else if (daysInMonth > prevDaysInMonth){	//current month's days > previous month's
			var sDay;
			for (var i = prevDaysInMonth; i < (daysInMonth); i++) {
				sDay = ((i+1)<10 && me.hasLeadingZero)?"0"+(i+1):i+1;
				me.day.options[i] = new Option(sDay,sDay);
			}
	  }
		}*/
		/*
		if (me.setWeekend){
			me.setWeekendStyleOn(me.callbackOn);
		}
		*/
	}

	this.setDisplayMonths = function(mode, isUpperCase, arrMonth, hasBlank){
		me.hasBlank = hasBlank;
		switch (mode){
			case 1: //numeric months
				for (var i=0;i<12;i++){
					me.month.options[i] = new Option(((i+1)<10 && me.hasLeadingZero)?"0"+(i+1):i+1, i+1);
				}
				break;
			case 2: //full english month names
				if(!arrMonth)
					var arrMonth = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
				
				if(hasBlank)
					for (var i=0;i<arrMonth.length;i++){
					me.month.options[i] = new Option((isUpperCase)?arrMonth[i].toUpperCase():arrMonth[i],(hasBlank ? i : i+1));
				}
				else
					for (var i=0;i<arrMonth.length;i++){
						me.month.options[i] = new Option((isUpperCase)?arrMonth[i].toUpperCase():arrMonth[i],(hasBlank ? i : i+1));
					}
				break;
			case 3: //abbreviated english month names (first 3 letters)
				var arrMonth = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
				for (var i=0;i<arrMonth.length;i++){
					me.month.options[i] = new Option((isUpperCase)?arrMonth[i].toUpperCase():arrMonth[i],i+1);
				}
				break;
			case 4: //customized month names
				if (arrMonth==null || typeof arrMonth=="undefined"){ //default is full english month names if arrMonth is invalid
					var arrMonth = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
				}
				for (var i=0;i<arrMonth.length;i++){
					me.month.options[i] = new Option((isUpperCase)?arrMonth[i].toUpperCase():arrMonth[i],i+1);
				}
				break;
			default: //numeric months
				for (var i=0;i<12;i++){
					me.month.options[i] = new Option(((i+1)<10 && me.hasLeadingZero)?"0"+(i+1):i+1, i+1);
				}
		}
	}

	this.setDisplayYears = function(fromYear, toYear){
		me.year.length=0;
		for (var i=fromYear;i<=toYear;i++){
			me.year.options[i-fromYear] = new Option(i,i);
		}
	}

	//set default date
	this.setDefaultDate = function(defaultDate){
		if (defaultDate==null || typeof defaultDate=="undefined" || isNaN(defaultDate)){
			defaultDate = new Date();
		}
		me.month.options[defaultDate.getMonth()].selected = true;		//select default month
		me.day.options[defaultDate.getDate()-1].selected = true;		//select default day
		//me.day.options[defaultDate.getDate()].selected = true;		//select default day
		//select default year
		for (var i=0;i<me.year.options.length;i++){
			if (me.year.options[i].value==defaultDate.getFullYear()){
				me.year.selectedIndex = i;
				break;
			}
		}
	}

  //set default date
  //by leemarej prefill the month, day, year objects with specified value
	this.setSelectedDate = function(Month, Day, Year){
		//me.month.options[Month - 1].selected = true;		//select default month
		//me.day.options[Day - 1].selected = true;		//select default day
		//set selected month
		for (var i=0;i<me.month.options.length;i++){
			if (me.month.options[i].value==Month){
				me.month.selectedIndex = i;
				break;
			}
		}

	  //set selected day
		for (var i=0;i<me.day.options.length;i++){
			if (me.day.options[i].value==Day){
				me.day.selectedIndex = i;
				break;
			}
		}

		//set selected year
		for (var i=0;i<me.year.options.length;i++){
			if (me.year.options[i].value==Year){
				me.year.selectedIndex = i;
				break;
			}
		}
	}

	//set day as title (title attribute in select and option tags is currently supported only by Gecko)
	//no problem with other browsers as this will be ignored by them
	this.displayDay = function(arrDay){
		if (arrDay==null || typeof arrDay=="undefined"){
			var arrDay = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
		}
		me.arrDay = arrDay;

		//set month select title
		me.month.onmouseover = function(){
			var selectedDate = new Date(me.year.options[me.year.selectedIndex].value, this.selectedIndex, me.day.options[me.day.selectedIndex].value);
			this.title = me.arrDay[selectedDate.getDay()];
		}
		//set month options title
		for (var i=0;i<me.month.options.length;i++){
			me.month.options[i].onmouseover = function(){
				var selectedDate = new Date(me.year.options[me.year.selectedIndex].value, this.value-1, me.day.options[me.day.selectedIndex].value);
				this.title = me.arrDay[selectedDate.getDay()];
			}
		}

		//set day select title
		me.day.onmouseover = function(){
			var selectedDate = new Date(me.year.options[me.year.selectedIndex].value, me.month.selectedIndex, this.options[this.selectedIndex].value);
			this.title = me.arrDay[selectedDate.getDay()];
		}
		//set day options title
		for (var i=0;i<me.day.options.length;i++){
			me.day.options[i].onmouseover = function(){
				var selectedDate = new Date(me.year.options[me.year.selectedIndex].value, me.month.selectedIndex, this.value);
				this.title = me.arrDay[selectedDate.getDay()];
			}
		}

		//set year select title
		me.year.onmouseover = function(){
			var selectedDate = new Date(me.year.options[me.year.selectedIndex].value, this.selectedIndex, me.day.options[me.day.selectedIndex].value);
			this.title = me.arrDay[selectedDate.getDay()];
		}
		//set year options title
		for (var i=0;i<me.year.options.length;i++){
			me.year.options[i].onmouseover = function(){
				var selectedDate = new Date(this.value, me.month.selectedIndex, me.day.options[me.day.selectedIndex].value);
				this.title = me.arrDay[selectedDate.getDay()];
			}

		}
	}

	this.setWeekendStyleOn = function(callbackFunc){
		me.callbackOn = callbackFunc;
		me.setWeekend = true;
		for (var i=0;i<me.day.options.length;i++){
			var date = new Date(me.year.options[me.year.selectedIndex].value, me.month.selectedIndex, i+1);
			var day = date.getDay();
			if (day==0 || day==6){
				me.callbackOn(me.day.options[i]);
			}
			else{
				me.callbackOff(me.day.options[i]);
			}

		}
	}

	this.setWeekendStyleOff = function(callbackFunc){
		me.callbackOff = callbackFunc;
	}


	//set onchange handler
	var monthChange = this.month.onchange;
	if (monthChange){
		this.month.onchange = function(){
			me.populateDate();
			monthChange();
		}
	}
	else{
		this.month.onchange = this.populateDate;
	}
	var yearChange = this.year.onchange;
	if (yearChange){
		this.year.onchange = function(){
			me.populateDate();
			yearChange();
		}
	}
	else{
		this.year.onchange = this.populateDate;
	}

}

function setSelectedTime(hObj, mObj, ampmObj, val){
  time_arr = val.split(":");

  if (time_arr[0] > 12){
    markByValue(ampmObj, 'PM');
    changeHours(hObj, ampmObj);
  }

  markByValue(hObj, time_arr[0]);
  markByValue(mObj, time_arr[1]);
}

/*----------------------------------------------------------------------------\
|                               Help Tip 1.12                                 |
|-----------------------------------------------------------------------------|
|                         Created by Erik Arvidsson                           |
|                  (http://webfx.eae.net/contact.html#erik)                   |
|                      For WebFX (http://webfx.eae.net/)                      |
|-----------------------------------------------------------------------------|
|           A tool tip like script that can be used for context help          |
|-----------------------------------------------------------------------------|
|                  Copyright (c) 1999 - 2002 Erik Arvidsson                   |
|-----------------------------------------------------------------------------|
| This software is provided "as is", without warranty of any kind, express or |
| implied, including  but not limited  to the warranties of  merchantability, |
| fitness for a particular purpose and noninfringement. In no event shall the |
| authors or  copyright  holders be  liable for any claim,  damages or  other |
| liability, whether  in an  action of  contract, tort  or otherwise, arising |
| from,  out of  or in  connection with  the software or  the  use  or  other |
| dealings in the software.                                                   |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| This  software is  available under the  three different licenses  mentioned |
| below.  To use this software you must chose, and qualify, for one of those. |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| The WebFX Non-Commercial License          http://webfx.eae.net/license.html |
| Permits  anyone the right to use the  software in a  non-commercial context |
| free of charge.                                                             |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| The WebFX Commercial license           http://webfx.eae.net/commercial.html |
| Permits the  license holder the right to use  the software in a  commercial |
| context. Such license must be specifically obtained, however it's valid for |
| any number of  implementations of the licensed software.                    |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| GPL - The GNU General Public License    http://www.gnu.org/licenses/gpl.txt |
| Permits anyone the right to use and modify the software without limitations |
| as long as proper  credits are given  and the original  and modified source |
| code are included. Requires  that the final product, software derivate from |
| the original  source or any  software  utilizing a GPL  component, such  as |
| this, is also licensed under the GPL license.                               |
|-----------------------------------------------------------------------------|
| 2002-09-27 |                                                                |
| 2001-11-25 | Added a resize to the tooltip if the document width is too     |
|            | small.                                                         |
| 2002-05-19 | IE50 did not recognise the JS keyword undefined so the test    |
|            | for scroll support was updated to be IE50 friendly.            |
| 2002-07-06 | Added flag to hide selects for IE                              |
| 2002-10-04 | (1.1) Restructured and made code more IE garbage collector     |
|            | friendly. This solved the most nasty memory leaks. Also added  |
|            | support for hiding the tooltip if ESC is pressed.              |
| 2002-10-18 | Fixed verrical position in case of scrolled document.          |
| 2002-12-02 | Mozilla bug workaround related to mousedown and move.          |
|-----------------------------------------------------------------------------|
| Dependencies: helptip.css (To set up the CSS of the help-tooltip class)     |
|-----------------------------------------------------------------------------|
| Usage:                                                                      |
|                                                                             |
|   <script type="text/javascript" src="helptip.js">< /script>                |
|   <link type="text/css" rel="StyleSheet" href="helptip.css" />              |
|                                                                             |
|   <a class="helpLink" href="?" onclick="showHelp(event, 'String to show');  |
|      return false">Help</a>                                                 |
|-----------------------------------------------------------------------------|
| Created 2001-09-27 | All changes are in the log above. | Updated 2002-12-02 |
\----------------------------------------------------------------------------*/

function showHelpTip(e, sHtml, bHideSelects) {

	// find anchor element
	var el = e.target || e.srcElement;
	while (el.tagName != "A")
		el = el.parentNode;

	// is there already a tooltip? If so, remove it
	if (el._helpTip) {
		helpTipHandler.hideHelpTip(el);
	}

	helpTipHandler.hideSelects = Boolean(bHideSelects);

	// create element and insert last into the body
	helpTipHandler.createHelpTip(el, sHtml);

	// position tooltip
	helpTipHandler.positionToolTip(e);

	// add a listener to the blur event.
	// When blurred remove tooltip and restore anchor
	el.onblur = helpTipHandler.anchorBlur;
	el.onkeydown = helpTipHandler.anchorKeyDown;
}

function HideHelpTip(e) {
  // find anchor element
	var el = e.target || e.srcElement;
	while (el.tagName != "A")
		el = el.parentNode;

	// is there already a tooltip? If so, remove it
	if (el._helpTip) {
		helpTipHandler.hideHelpTip(el);
	}
}

var helpTipHandler = {
	hideSelects:	false,

	helpTip:		null,

	showSelects:	function (bVisible) {
		if (!this.hideSelects) return;
		// only IE actually do something in here
		var selects = [];
		if (document.all)
			selects = document.all.tags("SELECT");
		var l = selects.length;
		for	(var i = 0; i < l; i++)
			selects[i].runtimeStyle.visibility = bVisible ? "" : "hidden";
	},

	create:	function () {
		var d = document.createElement("DIV");
		d.className = "help-tooltip";
		d.onmousedown = this.helpTipMouseDown;
		d.onmouseup = this.helpTipMouseUp;
		document.body.appendChild(d);
		this.helpTip = d;
	},

	createHelpTip:	function (el, sHtml) {
		if (this.helpTip == null) {
			this.create();
		}

		var d = this.helpTip;
		d.innerHTML = sHtml;
		d._boundAnchor = el;
		el._helpTip = d;
		return d;
	},

	// Allow clicks on A elements inside tooltip
	helpTipMouseDown:	function (e) {
		var d = this;
		var el = d._boundAnchor;
		if (!e) e = event;
		var t = e.target || e.srcElement;
		while (t.tagName != "A" && t != d)
			t = t.parentNode;
		if (t == d) return;

		el._onblur = el.onblur;
		el.onblur = null;
	},

	helpTipMouseUp:	function () {
		var d = this;
		var el = d._boundAnchor;
		el.onblur = el._onblur;
		el._onblur = null;
		el.focus();
	},

	anchorBlur:	function (e) {
		var el = this;
		helpTipHandler.hideHelpTip(el);
	},

	anchorKeyDown:	function (e) {
		if (!e) e = window.event
		if (e.keyCode == 27) {	// ESC
			helpTipHandler.hideHelpTip(this);
		}
	},

	removeHelpTip:	function (d) {
		d._boundAnchor = null;
		d.style.filter = "none";
		d.innerHTML = "";
		d.onmousedown = null;
		d.onmouseup = null;
		d.parentNode.removeChild(d);
		//d.style.display = "none";
	},

	hideHelpTip:	function (el) {
		var d = el._helpTip;
		/*	Mozilla (1.2+) starts a selection session when moved
			and this destroys the mouse events until reloaded
		d.style.top = -el.offsetHeight - 100 + "px";
		*/

		d.style.visibility = "hidden";
		//d._boundAnchor = null;

		el.onblur = null;
		el._onblur = null;
		el._helpTip = null;
		el.onkeydown = null;

		this.showSelects(true);
	},

	positionToolTip:	function (e) {
		this.showSelects(false);
		var scroll = this.getScroll();
		var d = this.helpTip;

		// width
		if (d.offsetWidth >= scroll.width)
			d.style.width = scroll.width - 10 + "px";
		else
			d.style.width = "";

		// left
		if (e.clientX > scroll.width - d.offsetWidth)
			d.style.left = scroll.width - d.offsetWidth + scroll.left + "px";
		else
			d.style.left = e.clientX - 2 + scroll.left + "px";

		// top
		if (e.clientY + d.offsetHeight + 18 < scroll.height)
			d.style.top = e.clientY + 18 + scroll.top + "px";
		else if (e.clientY - d.offsetHeight > 0)
			d.style.top = e.clientY + scroll.top - d.offsetHeight + "px";
		else
			d.style.top = scroll.top + 5 + "px";

		d.style.visibility = "visible";
	},

	// returns the scroll left and top for the browser viewport.
	getScroll:	function () {
		if (document.all && typeof document.body.scrollTop != "undefined") {	// IE model
			var ieBox = document.compatMode != "CSS1Compat";
			var cont = ieBox ? document.body : document.documentElement;
			return {
				left:	cont.scrollLeft,
				top:	cont.scrollTop,
				width:	cont.clientWidth,
				height:	cont.clientHeight
			};
		}
		else {
			return {
				left:	window.pageXOffset,
				top:	window.pageYOffset,
				width:	window.innerWidth,
				height:	window.innerHeight
			};
		}

	}

};

// Title: Tigra Color Picker
// URL: http://www.softcomplex.com/products/tigra_color_picker/
// Version: 1.1
// Date: 06/26/2003 (mm/dd/yyyy)
// Note: Permission given to use this script in ANY kind of applications if
//    header lines are left unchanged.
// Note: Script consists of two files: picker.js and picker.html

var TCP = new TColorPicker();

function TCPopup(field, palette) {
	this.field = field;
	this.initPalette = !palette || palette > 3 ? 0 : palette;
	var w = 194, h = 240,
	move = screen ?
		',left=' + ((screen.width - w) >> 1) + ',top=' + ((screen.height - h) >> 1) : '',
	o_colWindow = window.open('picker.html', null, "help=no,status=no,scrollbars=no,resizable=no" + move + ",width=" + w + ",height=" + h + ",dependent=yes", true);
	o_colWindow.opener = window;
	o_colWindow.focus();
}

function TCBuildCell (R, G, B, w, h) {
	return '<td bgcolor="#' + this.dec2hex((R << 16) + (G << 8) + B) + '"><a href="javascript:P.S(\'' + this.dec2hex((R << 16) + (G << 8) + B) + '\')" onmouseover="P.P(\'' + this.dec2hex((R << 16) + (G << 8) + B) + '\')"><img src="pixel.gif" width="' + w + '" height="' + h + '" border="0"></a></td>';
}

function TCSelect(c) {
	var tmp = this.field.name.split("__");
	var div_id = "div_" + tmp[0] + "_preview";
	var c_type = tmp[1];
	this.field.value = '#' + c.toUpperCase();
	
	this.field.style.backgroundColor = '#' + c.toUpperCase();
	this.win.close();
}

function SetProperty(div_id, c_type, c){
	if(c_type == 'background_color'){
		document.getElementById(div_id).style.backgroundColor = '#' + c.toUpperCase();
	}
	if(c_type == 'border_color'){
		document.getElementById(div_id).style.borderColor = '#' + c.toUpperCase();
	}

	var color_array = new Array("font_color","link_color","active_color","visted_color");

	if (color_array.toString().indexOf(c_type)!==-1){
		document.getElementById(div_id).style.color = '#' + c.toUpperCase();
	}
}

function TCPaint(c, b_noPref) {
	c = (b_noPref ? '' : '#') + c.toUpperCase();
	if (this.o_samp)
		this.o_samp.innerHTML = '<font face=Tahoma size=2>' + c +' <font color=white>' + c + '</font></font>'
	if(this.doc.layers)
		this.sample.bgColor = c;
	else {
		if (this.sample.backgroundColor != null) this.sample.backgroundColor = c;
		else if (this.sample.background != null) this.sample.background = c;
	}
}

function TCGenerateSafe() {
	var s = '';
	for (j = 0; j < 12; j ++) {
		s += "<tr>";
		for (k = 0; k < 3; k ++)
			for (i = 0; i <= 5; i ++)
				s += this.bldCell(k * 51 + (j % 2) * 51 * 3, Math.floor(j / 2) * 51, i * 51, 8, 10);
		s += "</tr>";
	}
	return s;
}

function TCGenerateWind() {
	var s = '';
	for (j = 0; j < 12; j ++) {
		s += "<tr>";
		for (k = 0; k < 3; k ++)
			for (i = 0; i <= 5; i++)
				s += this.bldCell(i * 51, k * 51 + (j % 2) * 51 * 3, Math.floor(j / 2) * 51, 8, 10);
		s += "</tr>";
	}
	return s
}
function TCGenerateMac() {
	var s = '';
	var c = 0,n = 1;
	var r,g,b;
	for (j = 0; j < 15; j ++) {
		s += "<tr>";
		for (k = 0; k < 3; k ++)
			for (i = 0; i <= 5; i++){
				if(j<12){
				s += this.bldCell( 255-(Math.floor(j / 2) * 51), 255-(k * 51 + (j % 2) * 51 * 3),255-(i * 51), 8, 10);
				}else{
					if(n<=14){
						r = 255-(n * 17);
						g=b=0;
					}else if(n>14 && n<=28){
						g = 255-((n-14) * 17);
						r=b=0;
					}else if(n>28 && n<=42){
						b = 255-((n-28) * 17);
						r=g=0;
					}else{
						r=g=b=255-((n-42) * 17);
					}
					s += this.bldCell( r, g,b, 8, 10);
					n++;
				}
			}
		s += "</tr>";
	}
	return s;
}

function TCGenerateGray() {
	var s = '';
	for (j = 0; j <= 15; j ++) {
		s += "<tr>";
		for (k = 0; k <= 15; k ++) {
			g = Math.floor((k + j * 16) % 256);
			s += this.bldCell(g, g, g, 9, 7);
		}
		s += '</tr>';
	}
	return s
}

function TCDec2Hex(v) {
	v = v.toString(16);
	for(; v.length < 6; v = '0' + v);
	return v;
}

function TCChgMode(v) {
	for (var k in this.divs) this.hide(k);
	this.show(v);
}

function TColorPicker(field) {
	this.build0 = TCGenerateSafe;
	this.build1 = TCGenerateWind;
	this.build2 = TCGenerateGray;
	this.build3 = TCGenerateMac;
	this.show = document.layers ?
		function (div) { this.divs[div].visibility = 'show' } :
		function (div) { this.divs[div].visibility = 'visible' };
	this.hide = document.layers ?
		function (div) { this.divs[div].visibility = 'hide' } :
		function (div) { this.divs[div].visibility = 'hidden' };
	// event handlers
	this.C       = TCChgMode;
	this.S       = TCSelect;
	this.P       = TCPaint;
	this.popup   = TCPopup;
	this.draw    = TCDraw;
	this.dec2hex = TCDec2Hex;
	this.bldCell = TCBuildCell;
	this.divs = [];
}

function TCDraw(o_win, o_doc) {
	this.win = o_win;
	this.doc = o_doc;
	var
	s_tag_openT  = o_doc.layers ?
		'layer visibility=hidden top=54 left=5 width=182' :
		'div style=visibility:hidden;position:absolute;left:6px;top:54px;width:182px;height:0',
	s_tag_openS  = o_doc.layers ? 'layer top=32 left=6' : 'div',
	s_tag_close  = o_doc.layers ? 'layer' : 'div'

	this.doc.write('<' + s_tag_openS + ' id=sam name=sam><table cellpadding=0 cellspacing=0 border=1 width=181 align=center class=bd><tr><td align=center height=18><div id="samp"><font face=Tahoma size=2>sample <font color=white>sample</font></font></div></td></tr></table></' + s_tag_close + '>');
	this.sample = o_doc.layers ? o_doc.layers['sam'] :
		o_doc.getElementById ? o_doc.getElementById('sam').style : o_doc.all['sam'].style

	for (var k = 0; k < 4; k ++) {
		this.doc.write('<' + s_tag_openT + ' id="p' + k + '" name="p' + k + '"><table cellpadding=0 cellspacing=0 border=1 align=center>' + this['build' + k]() + '</table></' + s_tag_close + '>');
		this.divs[k] = o_doc.layers
			? o_doc.layers['p' + k] : o_doc.all
				? o_doc.all['p' + k].style : o_doc.getElementById('p' + k).style
	}
	if (!o_doc.layers && o_doc.body.innerHTML)
		this.o_samp = o_doc.all
			? o_doc.all.samp : o_doc.getElementById('samp');
	this.C(this.initPalette);
	if (this.field.value) this.P(this.field.value, true)
}


//DHTML EVENT HANDLER - ONMOUSEOVER HOMEPAGE SYSTEM MESSAGES
var olLoaded=0,pmStart=10000000,pmUpper=10001000,pmCount=pmStart+1,pmt='',pms=new Array(),olInfo=new Info('4.21',1),FREPLACE=0,FBEFORE=1,FAFTER=2,FALTERNATE=3,FCHAIN=4,olHideForm=0,olHautoFlag=0,olVautoFlag=0,hookPts=new Array(),postParse=new Array(),cmdLine=new Array(),runTime=new Array();
registerCommands('donothing,inarray,caparray,sticky,background,noclose,caption,left,right,center,offsetx,offsety,fgcolor,bgcolor,textcolor,capcolor,closecolor,width,border,cellpad,status,autostatus,autostatuscap,height,closetext,snapx,snapy,fixx,fixy,relx,rely,fgbackground,bgbackground,padx,pady,fullhtml,above,below,capicon,textfont,captionfont,closefont,textsize,captionsize,closesize,timeout,function,delay,hauto,vauto,closeclick,wrap,followmouse,mouseoff,closetitle,cssoff,compatmode,cssclass,fgclass,bgclass,textfontclass,captionfontclass,closefontclass');
if(typeof ol_fgcolor=='undefined')var ol_fgcolor="#F1E8E6";
if(typeof ol_bgcolor=='undefined')var ol_bgcolor="#6699CC";
if(typeof ol_textcolor=='undefined')var ol_textcolor="#000000";
if(typeof ol_capcolor=='undefined')var ol_capcolor="#FFFFFF";
if(typeof ol_closecolor=='undefined')var ol_closecolor="#9999FF";
if(typeof ol_textfont=='undefined')var ol_textfont="Verdana,Arial,Helvetica";
if(typeof ol_captionfont=='undefined')var ol_captionfont="Verdana,Arial,Helvetica";
if(typeof ol_closefont=='undefined')var ol_closefont="Verdana,Arial,Helvetica";
if(typeof ol_textsize=='undefined')var ol_textsize="1";
if(typeof ol_captionsize=='undefined')var ol_captionsize="1";
if(typeof ol_closesize=='undefined')var ol_closesize="1";
if(typeof ol_width=='undefined')var ol_width="300";
if(typeof ol_border=='undefined')var ol_border="1";
if(typeof ol_cellpad=='undefined')var ol_cellpad=2;
if(typeof ol_offsetx=='undefined')var ol_offsetx=10;
if(typeof ol_offsety=='undefined')var ol_offsety=10;
if(typeof ol_text=='undefined')var ol_text="Default Text";
if(typeof ol_cap=='undefined')var ol_cap="";
if(typeof ol_sticky=='undefined')var ol_sticky=0;
if(typeof ol_background=='undefined')var ol_background="";
if(typeof ol_close=='undefined')var ol_close="Close";
if(typeof ol_hpos=='undefined')var ol_hpos=RIGHT;
if(typeof ol_status=='undefined')var ol_status="";
if(typeof ol_autostatus=='undefined')var ol_autostatus=0;
if(typeof ol_height=='undefined')var ol_height=-1;
if(typeof ol_snapx=='undefined')var ol_snapx=0;
if(typeof ol_snapy=='undefined')var ol_snapy=0;
if(typeof ol_fixx=='undefined')var ol_fixx=-1;
if(typeof ol_fixy=='undefined')var ol_fixy=-1;
if(typeof ol_relx=='undefined')var ol_relx=null;
if(typeof ol_rely=='undefined')var ol_rely=null;
if(typeof ol_fgbackground=='undefined')var ol_fgbackground="";
if(typeof ol_bgbackground=='undefined')var ol_bgbackground="";
if(typeof ol_padxl=='undefined')var ol_padxl=1;
if(typeof ol_padxr=='undefined')var ol_padxr=1;
if(typeof ol_padyt=='undefined')var ol_padyt=1;
if(typeof ol_padyb=='undefined')var ol_padyb=1;
if(typeof ol_fullhtml=='undefined')var ol_fullhtml=0;
if(typeof ol_vpos=='undefined')var ol_vpos=BELOW;
if(typeof ol_aboveheight=='undefined')var ol_aboveheight=0;
if(typeof ol_capicon=='undefined')var ol_capicon="";
if(typeof ol_frame=='undefined')var ol_frame=self;
if(typeof ol_timeout=='undefined')var ol_timeout=0;
if(typeof ol_function=='undefined')var ol_function=null;
if(typeof ol_delay=='undefined')var ol_delay=0;
if(typeof ol_hauto=='undefined')var ol_hauto=0;
if(typeof ol_vauto=='undefined')var ol_vauto=0;
if(typeof ol_closeclick=='undefined')var ol_closeclick=0;
if(typeof ol_wrap=='undefined')var ol_wrap=0;
if(typeof ol_followmouse=='undefined')var ol_followmouse=1;
if(typeof ol_mouseoff=='undefined')var ol_mouseoff=0;
if(typeof ol_closetitle=='undefined')var ol_closetitle='Close';
if(typeof ol_compatmode=='undefined')var ol_compatmode=0;
if(typeof ol_css=='undefined')var ol_css=CSSOFF;
if(typeof ol_fgclass=='undefined')var ol_fgclass="";
if(typeof ol_bgclass=='undefined')var ol_bgclass="";
if(typeof ol_textfontclass=='undefined')var ol_textfontclass="";
if(typeof ol_captionfontclass=='undefined')var ol_captionfontclass="";
if(typeof ol_closefontclass=='undefined')var ol_closefontclass="";
if(typeof ol_texts=='undefined')var ol_texts=new Array("Text 0","Text 1");
if(typeof ol_caps=='undefined')var ol_caps=new Array("Caption 0","Caption 1");

var o3_text="",o3_cap="",o3_sticky=0,o3_background="",o3_close="Close",o3_hpos=RIGHT,o3_offsetx=2,o3_offsety=2,o3_fgcolor="",o3_bgcolor="",o3_textcolor="",o3_capcolor="",o3_closecolor="",o3_width=100,o3_border=1,o3_cellpad=2,o3_status="",o3_autostatus=0,o3_height=-1,o3_snapx=0,o3_snapy=0,o3_fixx=-1,o3_fixy=-1,o3_relx=null,o3_rely=null,o3_fgbackground="",o3_bgbackground="",o3_padxl=0,o3_padxr=0,o3_padyt=0,o3_padyb=0,o3_fullhtml=0,o3_vpos=BELOW,o3_aboveheight=0,o3_capicon="",o3_textfont="Verdana,Arial,Helvetica",o3_captionfont="Verdana,Arial,Helvetica",o3_closefont="Verdana,Arial,Helvetica",o3_textsize="1",o3_captionsize="1",o3_closesize="1",o3_frame=self,o3_timeout=0,o3_timerid=0,o3_allowmove=0,o3_function=null,o3_delay=0,o3_delayid=0,o3_hauto=0,o3_vauto=0,o3_closeclick=0,o3_wrap=0,o3_followmouse=1,o3_mouseoff=0,o3_closetitle='',o3_compatmode=0,o3_css=CSSOFF,o3_fgclass="",o3_bgclass="",o3_textfontclass="",o3_captionfontclass="",o3_closefontclass="";
var o3_x=0,o3_y=0,o3_showingsticky=0,o3_removecounter=0;
var over=null,fnRef,hoveringSwitch=false,olHideDelay;
var isMac=(navigator.userAgent.indexOf("Mac")!=-1),olOp=(navigator.userAgent.toLowerCase().indexOf('opera')>-1&&document.createTextNode),olNs4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4),olNs6=(document.getElementById)?true:false,olKq=(olNs6&&/konqueror/i.test(navigator.userAgent)),olIe4=(document.all)?true:false,olIe5=false,olIe55=false,docRoot='document.body';
if(olNs4){var oW=window.innerWidth;var oH=window.innerHeight;window.onresize=function(){if(oW!=window.innerWidth||oH!=window.innerHeight)location.reload();}}
if(olIe4){var agent=navigator.userAgent;if(/MSIE/.test(agent)){var versNum=parseFloat(agent.match(/MSIE[ ](\d\.\d+)\.*/i)[1]);if(versNum>=5){olIe5=true;olIe55=(versNum>=5.5&&!olOp)?true:false;if(olNs6)olNs6=false;}}
if(olNs6)olIe4=false;}
if(document.compatMode&&document.compatMode=='CSS1Compat'){docRoot=((olIe4&&!olOp)?'document.documentElement':docRoot);}
if(window.addEventListener)window.addEventListener("load",OLonLoad_handler,false);else if(window.attachEvent)window.attachEvent("onload",OLonLoad_handler);
var capExtent;

function overlib(){
  if(!olLoaded||isExclusive(overlib.arguments))return true;
  if(olCheckMouseCapture)olMouseCapture();
  if(over){over=(typeof over.id!='string')?o3_frame.document.all['overDiv']:over;cClick();
}

olHideDelay=0;
o3_text=ol_text;
o3_cap=ol_cap;
o3_sticky=ol_sticky;
o3_background=ol_background;
o3_close=ol_close;
o3_hpos=ol_hpos;
o3_offsetx=ol_offsetx;
o3_offsety=ol_offsety;
o3_fgcolor=ol_fgcolor;
o3_bgcolor=ol_bgcolor;
o3_textcolor=ol_textcolor;
o3_capcolor=ol_capcolor;
o3_closecolor=ol_closecolor;
o3_width=ol_width;
o3_border=ol_border;
o3_cellpad=ol_cellpad;
o3_status=ol_status;
o3_autostatus=ol_autostatus;
o3_height=ol_height;
o3_snapx=ol_snapx;
o3_snapy=ol_snapy;
o3_fixx=ol_fixx;
o3_fixy=ol_fixy;
o3_relx=ol_relx;
o3_rely=ol_rely;
o3_fgbackground=ol_fgbackground;
o3_bgbackground=ol_bgbackground;
o3_padxl=ol_padxl;
o3_padxr=ol_padxr;
o3_padyt=ol_padyt;
o3_padyb=ol_padyb;
o3_fullhtml=ol_fullhtml;
o3_vpos=ol_vpos;
o3_aboveheight=ol_aboveheight;
o3_capicon=ol_capicon;
o3_textfont=ol_textfont;
o3_captionfont=ol_captionfont;
o3_closefont=ol_closefont;
o3_textsize=ol_textsize;
o3_captionsize=ol_captionsize;
o3_closesize=ol_closesize;
o3_timeout=ol_timeout;
o3_function=ol_function;
o3_delay=ol_delay;
o3_hauto=ol_hauto;
o3_vauto=ol_vauto;
o3_closeclick=ol_closeclick;
o3_wrap=ol_wrap;
o3_followmouse=ol_followmouse;
o3_mouseoff=ol_mouseoff;
o3_closetitle=ol_closetitle;
o3_css=ol_css;
o3_compatmode=
ol_compatmode;
o3_fgclass=ol_fgclass;
o3_bgclass=ol_bgclass;
o3_textfontclass=ol_textfontclass;
o3_captionfontclass=ol_captionfontclass;
o3_closefontclass=ol_closefontclass;
setRunTimeVariables();
fnRef='';
o3_frame=ol_frame;
if(!(over=createDivContainer()))return false;
parseTokens('o3_',overlib.arguments);if(!postParseChecks())return false;
if(o3_delay==0){return runHook("olMain",FREPLACE);}else{o3_delayid=setTimeout("runHook('olMain',FREPLACE)",o3_delay);return false;}}

function nd(time){if(olLoaded&&!isExclusive()){hideDelay(time);
if(o3_removecounter>=1){o3_showingsticky=0 };
if(o3_showingsticky==0){o3_allowmove=0;if(over!=null&&o3_timerid==0)runHook("hideObject",FREPLACE,over);}else{o3_removecounter++;}}
return true;}

function cClick(){if(olLoaded){runHook("hideObject",FREPLACE,over);o3_showingsticky=0;}
return false;}

function overlib_pagedefaults(){parseTokens('ol_',overlib_pagedefaults.arguments);}

function olMain(){var layerhtml,styleType;runHook("olMain",FBEFORE);
if(o3_background!=""||o3_fullhtml){
layerhtml=runHook('ol_content_background',FALTERNATE,o3_css,o3_text,o3_background,o3_fullhtml);}else{
styleType=(pms[o3_css-1-pmStart]=="cssoff"||pms[o3_css-1-pmStart]=="cssclass");
if(o3_fgbackground!="")o3_fgbackground="background=\""+o3_fgbackground+"\"";if(o3_bgbackground!="")o3_bgbackground=(styleType?"background=\""+o3_bgbackground+"\"":o3_bgbackground);
if(o3_fgcolor!="")o3_fgcolor=(styleType?"bgcolor=\""+o3_fgcolor+"\"":o3_fgcolor);if(o3_bgcolor!="")o3_bgcolor=(styleType?"bgcolor=\""+o3_bgcolor+"\"":o3_bgcolor);
if(o3_height>0)o3_height=(styleType?"height=\""+o3_height+"\"":o3_height);else o3_height="";
if(o3_cap==""){
layerhtml=runHook('ol_content_simple',FALTERNATE,o3_css,o3_text);}else{
if(o3_sticky){
layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,o3_close);}else{
layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,"");}}}
if(o3_sticky){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;}
o3_showingsticky=1;o3_removecounter=0;}
if(!runHook("createPopup",FREPLACE,layerhtml))return false;
if(o3_autostatus>0){o3_status=o3_text;if(o3_autostatus>1)o3_status=o3_cap;}
o3_allowmove=0;
if(o3_timeout>0){if(o3_timerid>0)clearTimeout(o3_timerid);o3_timerid=setTimeout("cClick()",o3_timeout);}
runHook("disp",FREPLACE,o3_status);runHook("olMain",FAFTER);
return(olOp&&event&&event.type=='mouseover'&&!o3_status)?'':(o3_status!='');}

function ol_content_simple(text){var cpIsMultiple=/,/.test(o3_cellpad);var txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_height)+'><tr><td><table width="100%" border="0" '+((olNs4||!cpIsMultiple)?'cellpadding="'+o3_cellpad+'" ':'')+'cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">':((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
set_background("");return txt;}

function ol_content_caption(text,title,close){var nameId,txt,cpIsMultiple=/,/.test(o3_cellpad);var closing,closeevent;
closing="";closeevent="onmouseover";if(o3_closeclick==1)closeevent=(o3_closetitle?"title='"+o3_closetitle+"'":"")+" onclick";if(o3_capicon!=""){nameId=' hspace=\"5\"'+' align=\"middle\" alt=\"\"';if(typeof o3_dragimg!='undefined'&&o3_dragimg)nameId=' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';o3_capicon='<img src=\"'+o3_capicon+'\"'+nameId+' />';}
if(close!="")
closing='<td '+(!o3_compatmode&&o3_closefontclass?'class="'+o3_closefontclass:'align="RIGHT')+'"><a href="javascript:return '+fnRef+'cClick();"'+((o3_compatmode&&o3_closefontclass)?' class="'+o3_closefontclass+'" ':' ')+closeevent+'="return '+fnRef+'cClick();">'+(o3_closefontclass?'':wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass?'':wrapStr(1,o3_closesize,'close'))+'</a></td>';txt='<table width="'+o3_width+'" border="0" cellpadding="'+o3_border+'" cellspacing="0" '+(o3_bgclass?'class="'+o3_bgclass+'"':o3_bgcolor+' '+o3_bgbackground+' '+o3_height)+'><tr><td><table width="100%" border="0" cellpadding="2" cellspacing="0"><tr><td'+(o3_captionfontclass?' class="'+o3_captionfontclass+'">':'>')+(o3_captionfontclass?'':'<b>'+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass?'':wrapStr(1,o3_captionsize)+'</b>')+'</td>'+closing+'</tr></table><table width="100%" border="0" '+((olNs4||!cpIsMultiple)?'cellpadding="'+o3_cellpad+'" ':'')+'cellspacing="0" '+(o3_fgclass?'class="'+o3_fgclass+'"':o3_fgcolor+' '+o3_fgbackground+' '+o3_height)+'><tr><td valign="TOP"'+(o3_textfontclass?' class="'+o3_textfontclass+'">' :((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td></tr></table></td></tr></table>';
set_background("");return txt;}

function ol_content_background(text,picture,hasfullhtml){if(hasfullhtml){txt=text;}else{txt='<table width="'+o3_width+'" border="0" cellpadding="0" cellspacing="0" height="'+o3_height+'"><tr><td colspan="3" height="'+o3_padyt+'"></td></tr><tr><td width="'+o3_padxl+'"></td><td valign="TOP" width="'+(o3_width-o3_padxl-o3_padxr)+(o3_textfontclass?'" class="'+o3_textfontclass:'')+'">'+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'</td><td width="'+o3_padxr+'"></td></tr><tr><td colspan="3" height="'+o3_padyb+'"></td></tr></table>';}
set_background(picture);return txt;}

function set_background(pic){if(pic==""){if(olNs4){over.background.src=null;}else if(over.style){over.style.backgroundImage="none";}
}else{if(olNs4){over.background.src=pic;}else if(over.style){over.style.width=o3_width+'px';over.style.backgroundImage="url("+pic+")";}}}
var olShowId=-1;

function disp(statustext){runHook("disp",FBEFORE);
if(o3_allowmove==0){runHook("placeLayer",FREPLACE);(olNs6&&olShowId<0)?olShowId=setTimeout("runHook('showObject',FREPLACE,over)",1):runHook("showObject",FREPLACE,over);o3_allowmove=(o3_sticky||o3_followmouse==0)?0:1;}
runHook("disp",FAFTER);
if(statustext!="")self.status=statustext;}

function createPopup(lyrContent){runHook("createPopup",FBEFORE);
if(o3_wrap){var wd,ww,theObj=(olNs4?over:over.style);theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);layerWrite(lyrContent);wd=(olNs4?over.clip.width:over.offsetWidth);if(wd>(ww=windowWidth())){lyrContent=lyrContent.replace(/\&nbsp;/g,' ');o3_width=ww;o3_wrap=0;}}
layerWrite(lyrContent);
if(o3_wrap)o3_width=(olNs4?over.clip.width:over.offsetWidth);
runHook("createPopup",FAFTER,lyrContent);
return true;}

function placeLayer(){var placeX,placeY,widthFix=0;
if(o3_frame.innerWidth)widthFix=18;iwidth=windowWidth();
winoffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollLeft'):o3_frame.pageXOffset;
placeX=runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix);
if(o3_frame.innerHeight){iheight=o3_frame.innerHeight;}else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')){iheight=eval('o3_frame.'+docRoot+'.clientHeight');}
scrolloffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollTop'):o3_frame.pageYOffset;placeY=runHook('verticalPlacement',FCHAIN,iheight,scrolloffset);
repositionTo(over,placeX,placeY);}

function olMouseMove(e){var e=(e)?e:event;
if(e.pageX){o3_x=e.pageX;o3_y=e.pageY;}else if(e.clientX){o3_x=eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');o3_y=eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');}
if(o3_allowmove==1)runHook("placeLayer",FREPLACE);
if(hoveringSwitch&&!olNs4&&runHook("cursorOff",FREPLACE)){(olHideDelay?hideDelay(olHideDelay):cClick());hoveringSwitch=!hoveringSwitch;}}

function no_overlib(){return ver3fix;}

function olMouseCapture(){capExtent=document;var fN,str='',l,k,f,wMv,sS,mseHandler=olMouseMove;var re=/function[ ]*(\w*)\(/;
wMv=(!olIe4&&window.onmousemove);if(document.onmousemove||wMv){if(wMv)capExtent=window;f=capExtent.onmousemove.toString();fN=f.match(re);if(fN==null){str=f+'(e);';}else if(fN[1]=='anonymous'||fN[1]=='olMouseMove'||(wMv&&fN[1]=='onmousemove')){if(!olOp&&wMv){l=f.indexOf('{')+1;k=f.lastIndexOf('}');sS=f.substring(l,k);if((l=sS.indexOf('('))!=-1){sS=sS.substring(0,l).replace(/^\s+/,'').replace(/\s+$/,'');if(eval("typeof "+sS+"=='undefined'"))window.onmousemove=null;else str=sS+'(e);';}}
if(!str){olCheckMouseCapture=false;return;}
}else{if(fN[1])str=fN[1]+'(e);';else{l=f.indexOf('{')+1;k=f.lastIndexOf('}');str=f.substring(l,k)+'\n';}}
str+='olMouseMove(e);';mseHandler=new Function('e',str);}
capExtent.onmousemove=mseHandler;if(olNs4)capExtent.captureEvents(Event.MOUSEMOVE);}

function parseTokens(pf,ar){
var v,i,mode=-1,par=(pf!='ol_'),fnMark=(par&&!ar.length?1:0);
for(i=0;i<ar.length;i++){if(mode<0){
if(typeof ar[i]=='number'&&ar[i]>pmStart&&ar[i]<pmUpper){fnMark=(par?1:0);i--;}else{switch(pf){case 'ol_':
ol_text=ar[i].toString();break;default:
o3_text=ar[i].toString();}}
mode=0;}else{
if(ar[i]>=pmCount||ar[i]==DONOTHING){continue;}
if(ar[i]==INARRAY){fnMark=0;eval(pf+'text=ol_texts['+ar[++i]+'].toString()');continue;}
if(ar[i]==CAPARRAY){eval(pf+'cap=ol_caps['+ar[++i]+'].toString()');continue;}
if(ar[i]==STICKY){if(pf!='ol_')eval(pf+'sticky=1');continue;}
if(ar[i]==BACKGROUND){eval(pf+'background="'+ar[++i]+'"');continue;}
if(ar[i]==NOCLOSE){if(pf!='ol_')opt_NOCLOSE();continue;}
if(ar[i]==CAPTION){eval(pf+"cap='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==CENTER||ar[i]==LEFT||ar[i]==RIGHT){eval(pf+'hpos='+ar[i]);if(pf!='ol_')olHautoFlag=1;continue;}
if(ar[i]==OFFSETX){eval(pf+'offsetx='+ar[++i]);continue;}
if(ar[i]==OFFSETY){eval(pf+'offsety='+ar[++i]);continue;}
if(ar[i]==FGCOLOR){eval(pf+'fgcolor="'+ar[++i]+'"');continue;}
if(ar[i]==BGCOLOR){eval(pf+'bgcolor="'+ar[++i]+'"');continue;}
if(ar[i]==TEXTCOLOR){eval(pf+'textcolor="'+ar[++i]+'"');continue;}
if(ar[i]==CAPCOLOR){eval(pf+'capcolor="'+ar[++i]+'"');continue;}
if(ar[i]==CLOSECOLOR){eval(pf+'closecolor="'+ar[++i]+'"');continue;}
if(ar[i]==WIDTH){eval(pf+'width='+ar[++i]);continue;}
if(ar[i]==BORDER){eval(pf+'border='+ar[++i]);continue;}
if(ar[i]==CELLPAD){i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad'));continue;}
if(ar[i]==STATUS){eval(pf+"status='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==AUTOSTATUS){eval(pf+'autostatus=('+pf+'autostatus==1)?0:1');continue;}
if(ar[i]==AUTOSTATUSCAP){eval(pf+'autostatus=('+pf+'autostatus==2)?0:2');continue;}
if(ar[i]==HEIGHT){eval(pf+'height='+pf+'aboveheight='+ar[++i]);continue;}
if(ar[i]==CLOSETEXT){eval(pf+"close='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==SNAPX){eval(pf+'snapx='+ar[++i]);continue;}
if(ar[i]==SNAPY){eval(pf+'snapy='+ar[++i]);continue;}
if(ar[i]==FIXX){eval(pf+'fixx='+ar[++i]);continue;}
if(ar[i]==FIXY){eval(pf+'fixy='+ar[++i]);continue;}
if(ar[i]==RELX){eval(pf+'relx='+ar[++i]);continue;}
if(ar[i]==RELY){eval(pf+'rely='+ar[++i]);continue;}
if(ar[i]==FGBACKGROUND){eval(pf+'fgbackground="'+ar[++i]+'"');continue;}
if(ar[i]==BGBACKGROUND){eval(pf+'bgbackground="'+ar[++i]+'"');continue;}
if(ar[i]==PADX){eval(pf+'padxl='+ar[++i]);eval(pf+'padxr='+ar[++i]);continue;}
if(ar[i]==PADY){eval(pf+'padyt='+ar[++i]);eval(pf+'padyb='+ar[++i]);continue;}
if(ar[i]==FULLHTML){if(pf!='ol_')eval(pf+'fullhtml=1');continue;}
if(ar[i]==BELOW||ar[i]==ABOVE){eval(pf+'vpos='+ar[i]);if(pf!='ol_')olVautoFlag=1;continue;}
if(ar[i]==CAPICON){eval(pf+'capicon="'+ar[++i]+'"');continue;}
if(ar[i]==TEXTFONT){eval(pf+"textfont='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==CAPTIONFONT){eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==CLOSEFONT){eval(pf+"closefont='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==TEXTSIZE){eval(pf+'textsize="'+ar[++i]+'"');continue;}
if(ar[i]==CAPTIONSIZE){eval(pf+'captionsize="'+ar[++i]+'"');continue;}
if(ar[i]==CLOSESIZE){eval(pf+'closesize="'+ar[++i]+'"');continue;}
if(ar[i]==TIMEOUT){eval(pf+'timeout='+ar[++i]);continue;}
if(ar[i]==FUNCTION){if(pf=='ol_'){if(typeof ar[i+1]!='number'){v=ar[++i];ol_function=(typeof v=='function'?v:null);}}else{fnMark=0;v=null;if(typeof ar[i+1]!='number')v=ar[++i]; opt_FUNCTION(v);} continue;}
if(ar[i]==DELAY){eval(pf+'delay='+ar[++i]);continue;}
if(ar[i]==HAUTO){eval(pf+'hauto=('+pf+'hauto==0)?1:0');continue;}
if(ar[i]==VAUTO){eval(pf+'vauto=('+pf+'vauto==0)?1:0');continue;}
if(ar[i]==CLOSECLICK){eval(pf+'closeclick=('+pf+'closeclick==0)?1:0');continue;}
if(ar[i]==WRAP){eval(pf+'wrap=('+pf+'wrap==0)?1:0');continue;}
if(ar[i]==FOLLOWMOUSE){eval(pf+'followmouse=('+pf+'followmouse==1)?0:1');continue;}
if(ar[i]==MOUSEOFF){eval(pf+'mouseoff=('+pf+'mouseoff==0)?1:0');v=ar[i+1];if(pf!='ol_'&&eval(pf+'mouseoff')&&typeof v=='number'&&(v<pmStart||v>pmUpper))olHideDelay=ar[++i];continue;}
if(ar[i]==CLOSETITLE){eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'");continue;}
if(ar[i]==CSSOFF||ar[i]==CSSCLASS){eval(pf+'css='+ar[i]);continue;}
if(ar[i]==COMPATMODE){eval(pf+'compatmode=('+pf+'compatmode==0)?1:0');continue;}
if(ar[i]==FGCLASS){eval(pf+'fgclass="'+ar[++i]+'"');continue;}
if(ar[i]==BGCLASS){eval(pf+'bgclass="'+ar[++i]+'"');continue;}
if(ar[i]==TEXTFONTCLASS){eval(pf+'textfontclass="'+ar[++i]+'"');continue;}
if(ar[i]==CAPTIONFONTCLASS){eval(pf+'captionfontclass="'+ar[++i]+'"');continue;}
if(ar[i]==CLOSEFONTCLASS){eval(pf+'closefontclass="'+ar[++i]+'"');continue;}
i=parseCmdLine(pf,i,ar);}}
if(fnMark&&o3_function)o3_text=o3_function();
if((pf=='o3_')&&o3_wrap){o3_width=0;
var tReg=/<.*\n*>/ig;if(!tReg.test(o3_text))o3_text=o3_text.replace(/[ ]+/g,'&nbsp;');if(!tReg.test(o3_cap))o3_cap=o3_cap.replace(/[ ]+/g,'&nbsp;');}
if((pf=='o3_')&&o3_sticky){if(!o3_close&&(o3_frame!=ol_frame))o3_close=ol_close;if(o3_mouseoff&&(o3_frame==ol_frame))opt_NOCLOSE(' ');}}

function layerWrite(txt){txt+="\n";if(olNs4){var lyr=o3_frame.document.layers['overDiv'].document
lyr.write(txt)
lyr.close()
}else if(typeof over.innerHTML!='undefined'){if(olIe5&&isMac)over.innerHTML='';over.innerHTML=txt;}else{range=o3_frame.document.createRange();range.setStartAfter(over);domfrag=range.createContextualFragment(txt);
while(over.hasChildNodes()){over.removeChild(over.lastChild);}
over.appendChild(domfrag);}}

function showObject(obj){runHook("showObject",FBEFORE);
var theObj=(olNs4?obj:obj.style);theObj.visibility='visible';
runHook("showObject",FAFTER);}

function hideObject(obj){runHook("hideObject",FBEFORE);
var theObj=(olNs4?obj:obj.style);if(olNs6&&olShowId>0){clearTimeout(olShowId);olShowId=0;}
theObj.visibility='hidden';theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);
if(o3_timerid>0)clearTimeout(o3_timerid);if(o3_delayid>0)clearTimeout(o3_delayid);
o3_timerid=0;o3_delayid=0;self.status="";
if(obj.onmouseout||obj.onmouseover){if(olNs4)obj.releaseEvents(Event.MOUSEOUT||Event.MOUSEOVER);obj.onmouseout=obj.onmouseover=null;}
runHook("hideObject",FAFTER);}

function repositionTo(obj,xL,yL){var theObj=(olNs4?obj:obj.style);theObj.left=xL+(!olNs4?'px':0);theObj.top=yL+(!olNs4?'px':0);}

function cursorOff(){var left=parseInt(over.style.left);var top=parseInt(over.style.top);var right=left+(over.offsetWidth>=parseInt(o3_width)?over.offsetWidth:parseInt(o3_width));var bottom=top+(over.offsetHeight>=o3_aboveheight?over.offsetHeight:o3_aboveheight);
if(o3_x<left||o3_x>right||o3_y<top||o3_y>bottom)return true;
return false;}

function opt_FUNCTION(callme){o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):callme):callme()):(o3_function?o3_function():'No Function'));
return 0;}

function opt_NOCLOSE(unused){if(!unused)o3_close="";
if(olNs4){over.captureEvents(Event.MOUSEOUT||Event.MOUSEOVER);over.onmouseover=function(){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} }
over.onmouseout=function(e){if(olHideDelay)hideDelay(olHideDelay);else cClick(e);}
}else{over.onmouseover=function(){hoveringSwitch=true;if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} }}
return 0;}

function opt_MULTIPLEARGS(i,args,parameter){var k=i,re,pV,str='';
for(k=i;k<args.length;k++){if(typeof args[k]=='number'&&args[k]>pmStart)break;str+=args[k]+',';}
if(str)str=str.substring(0,--str.length);
k--;pV=(olNs4&&/cellpad/i.test(parameter))?str.split(',')[0]:str;eval(parameter+'="'+pV+'"');
return k;}

function nbspCleanup(){if(o3_wrap){o3_text=o3_text.replace(/\&nbsp;/g,' ');o3_cap=o3_cap.replace(/\&nbsp;/g,' ');}}

function escSglQuote(str){return str.toString().replace(/'/g,"\\'");}

function OLonLoad_handler(e){var re=/\w+\(.*\)[;\s]+/g,olre=/overlib\(|nd\(|cClick\(/,fn,l,i;
if(!olLoaded)olLoaded=1;
if(window.removeEventListener&&e.eventPhase==3)window.removeEventListener("load",OLonLoad_handler,false);else if(window.detachEvent){window.detachEvent("onload",OLonLoad_handler);var fN=document.body.getAttribute('onload');if(fN){fN=fN.toString().match(re);if(fN&&fN.length){for(i=0;i<fN.length;i++){if(/anonymous/.test(fN[i]))continue;while((l=fN[i].search(/\)[;\s]+/))!=-1){fn=fN[i].substring(0,l+1);fN[i]=fN[i].substring(l+2);if(olre.test(fn))eval(fn);}}}}}}

function wrapStr(endWrap,fontSizeStr,whichString){var fontStr,fontColor,isClose=((whichString=='close')?1:0),hasDims=/[%\-a-z]+$/.test(fontSizeStr);fontSizeStr=(olNs4)?(!hasDims?fontSizeStr:'1'):fontSizeStr;if(endWrap)return(hasDims&&!olNs4)?(isClose?'</span>':'</div>'):'</font>';else{fontStr='o3_'+whichString+'font';fontColor='o3_'+((whichString=='caption')? 'cap':whichString)+'color';return(hasDims&&!olNs4)?(isClose?'<span style="font-family: '+quoteMultiNameFonts(eval(fontStr))+';color: '+eval(fontColor)+';font-size: '+fontSizeStr+';">':'<div style="font-family: '+quoteMultiNameFonts(eval(fontStr))+';color: '+eval(fontColor)+';font-size: '+fontSizeStr+';">'):'<font face="'+eval(fontStr)+'" color="'+eval(fontColor)+'" size="'+(parseInt(fontSizeStr)>7?'7':fontSizeStr)+'">';}}

function quoteMultiNameFonts(theFont){var v,pM=theFont.split(',');for(var i=0;i<pM.length;i++){v=pM[i];v=v.replace(/^\s+/,'').replace(/\s+$/,'');if(/\s/.test(v)&&!/['"]/.test(v)){v="\'"+v+"\'";pM[i]=v;}}
return pM.join();}

function isExclusive(args){return false;}

function setCellPadStr(parameter){var Str='',j=0,ary=new Array(),top,bottom,left,right;
Str+='padding: ';ary=parameter.replace(/\s+/g,'').split(',');
switch(ary.length){case 2:
top=bottom=ary[j];left=right=ary[++j];break;case 3:
top=ary[j];left=right=ary[++j];bottom=ary[++j];break;case 4:
top=ary[j];right=ary[++j];bottom=ary[++j];left=ary[++j];break;}
Str+=((ary.length==1)?ary[0]+'px;':top+'px '+right+'px '+bottom+'px '+left+'px;');
return Str;}

function hideDelay(time){if(time&&!o3_delay){if(o3_timerid>0)clearTimeout(o3_timerid);
o3_timerid=setTimeout("cClick()",(o3_timeout=time));}}

function horizontalPlacement(browserWidth,horizontalScrollAmount,widthFix){var placeX,iwidth=browserWidth,winoffset=horizontalScrollAmount;var parsedWidth=parseInt(o3_width);
if(o3_fixx>-1||o3_relx!=null){
placeX=(o3_relx!=null?( o3_relx<0?winoffset+o3_relx+iwidth-parsedWidth-widthFix:winoffset+o3_relx):o3_fixx);}else{
if(o3_hauto==1){if((o3_x-winoffset)>(iwidth/2)){o3_hpos=LEFT;}else{o3_hpos=RIGHT;}}
if(o3_hpos==CENTER){placeX=o3_x+o3_offsetx-(parsedWidth/2);
if(placeX<winoffset)placeX=winoffset;}
if(o3_hpos==RIGHT){placeX=o3_x+o3_offsetx;
if((placeX+parsedWidth)>(winoffset+iwidth-widthFix)){placeX=iwidth+winoffset-parsedWidth-widthFix;if(placeX<0)placeX=0;}}
if(o3_hpos==LEFT){placeX=o3_x-o3_offsetx-parsedWidth;if(placeX<winoffset)placeX=winoffset;}
if(o3_snapx>1){var snapping=placeX % o3_snapx;
if(o3_hpos==LEFT){placeX=placeX-(o3_snapx+snapping);}else{
placeX=placeX+(o3_snapx-snapping);}
if(placeX<winoffset)placeX=winoffset;}}
return placeX;}

function verticalPlacement(browserHeight,verticalScrollAmount){var placeY,iheight=browserHeight,scrolloffset=verticalScrollAmount;var parsedHeight=(o3_aboveheight?parseInt(o3_aboveheight):(olNs4?over.clip.height:over.offsetHeight));
if(o3_fixy>-1||o3_rely!=null){
placeY=(o3_rely!=null?(o3_rely<0?scrolloffset+o3_rely+iheight-parsedHeight:scrolloffset+o3_rely):o3_fixy);}else{
if(o3_vauto==1){if((o3_y-scrolloffset)>(iheight/2)&&o3_vpos==BELOW&&(o3_y+parsedHeight+o3_offsety-(scrolloffset+iheight)>0)){o3_vpos=ABOVE;}else if(o3_vpos==ABOVE&&(o3_y-(parsedHeight+o3_offsety)-scrolloffset<0)){o3_vpos=BELOW;}}
if(o3_vpos==ABOVE){if(o3_aboveheight==0)o3_aboveheight=parsedHeight;
placeY=o3_y-(o3_aboveheight+o3_offsety);if(placeY<scrolloffset)placeY=scrolloffset;}else{
placeY=o3_y+o3_offsety;}
if(o3_snapy>1){var snapping=placeY % o3_snapy;
if(o3_aboveheight>0&&o3_vpos==ABOVE){placeY=placeY-(o3_snapy+snapping);}else{placeY=placeY+(o3_snapy-snapping);}
if(placeY<scrolloffset)placeY=scrolloffset;}}
return placeY;}

function checkPositionFlags(){if(olHautoFlag)olHautoFlag=o3_hauto=0;if(olVautoFlag)olVautoFlag=o3_vauto=0;return true;}

function windowWidth(){var w;if(o3_frame.innerWidth)w=o3_frame.innerWidth;else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientWidth=='number'")&&eval('o3_frame.'+docRoot+'.clientWidth'))
w=eval('o3_frame.'+docRoot+'.clientWidth');return w;}

function createDivContainer(id,frm,zValue){id=(id||'overDiv'),frm=(frm||o3_frame),zValue=(zValue||1000);var objRef,divContainer=layerReference(id);
if(divContainer==null){if(olNs4){divContainer=frm.document.layers[id]=new Layer(window.innerWidth,frm);objRef=divContainer;}else{var body=(olIe4?frm.document.all.tags('BODY')[0]:frm.document.getElementsByTagName("BODY")[0]);if(olIe4&&!document.getElementById){body.insertAdjacentHTML("beforeEnd",'<div id="'+id+'"></div>');divContainer=layerReference(id);}else{divContainer=frm.document.createElement("DIV");divContainer.id=id;body.appendChild(divContainer);}
objRef=divContainer.style;}
objRef.position='absolute';objRef.visibility='hidden';objRef.zIndex=zValue;if(olIe4&&!olOp)objRef.left=objRef.top='0px';else objRef.left=objRef.top=-10000+(!olNs4?'px':0);}
return divContainer;}

function layerReference(id){return(olNs4?o3_frame.document.layers[id]:(document.all?o3_frame.document.all[id]:o3_frame.document.getElementById(id)));}

function isFunction(fnRef){var rtn=true;
if(typeof fnRef=='object'){for(var i=0;i<fnRef.length;i++){if(typeof fnRef[i]=='function')continue;rtn=false;break;}
}else if(typeof fnRef!='function'){rtn=false;}
return rtn;}

function argToString(array,strtInd,argName){var jS=strtInd,aS='',ar=array;argName=(argName?argName:'ar');
if(ar.length>jS){for(var k=jS;k<ar.length;k++)aS+=argName+'['+k+'], ';aS=aS.substring(0,aS.length-2);}
return aS;}

function reOrder(hookPt,fnRef,order){var newPt=new Array(),match,i,j;
if(!order||typeof order=='undefined'||typeof order=='number')return hookPt;
if(typeof order=='function'){if(typeof fnRef=='object'){newPt=newPt.concat(fnRef);}else{newPt[newPt.length++]=fnRef;}
for(i=0;i<hookPt.length;i++){match=false;if(typeof fnRef=='function'&&hookPt[i]==fnRef){continue;}else{for(j=0;j<fnRef.length;j++)if(hookPt[i]==fnRef[j]){match=true;break;}}
if(!match)newPt[newPt.length++]=hookPt[i];}
newPt[newPt.length++]=order;
}else if(typeof order=='object'){if(typeof fnRef=='object'){newPt=newPt.concat(fnRef);}else{newPt[newPt.length++]=fnRef;}
for(j=0;j<hookPt.length;j++){match=false;if(typeof fnRef=='function'&&hookPt[j]==fnRef){continue;}else{for(i=0;i<fnRef.length;i++)if(hookPt[j]==fnRef[i]){match=true;break;}}
if(!match)newPt[newPt.length++]=hookPt[j];}
for(i=0;i<newPt.length;i++)hookPt[i]=newPt[i];newPt.length=0;
for(j=0;j<hookPt.length;j++){match=false;for(i=0;i<order.length;i++){if(hookPt[j]==order[i]){match=true;break;}}
if(!match)newPt[newPt.length++]=hookPt[j];}
newPt=newPt.concat(order);}
hookPt=newPt;
return hookPt;}

function setRunTimeVariables(){if(typeof runTime!='undefined'&&runTime.length){for(var k=0;k<runTime.length;k++){runTime[k]();}}}

function parseCmdLine(pf,i,args){if(typeof cmdLine!='undefined'&&cmdLine.length){for(var k=0;k<cmdLine.length;k++){var j=cmdLine[k](pf,i,args);if(j >-1){i=j;break;}}}
return i;}

function postParseChecks(pf,args){if(typeof postParse!='undefined'&&postParse.length){for(var k=0;k<postParse.length;k++){if(postParse[k](pf,args))continue;return false;}}
return true;}

function registerCommands(cmdStr){if(typeof cmdStr!='string')return;
var pM=cmdStr.split(',');pms=pms.concat(pM);
for(var i=0;i< pM.length;i++){eval(pM[i].toUpperCase()+'='+pmCount++);}}

function registerNoParameterCommands(cmdStr){if(!cmdStr&&typeof cmdStr!='string')return;pmt=(!pmt)?cmdStr:pmt+','+cmdStr;}

function registerHook(fnHookTo,fnRef,hookType,optPm){var hookPt,last=typeof optPm;
if(fnHookTo=='plgIn'||fnHookTo=='postParse')return;if(typeof hookPts[fnHookTo]=='undefined')hookPts[fnHookTo]=new FunctionReference();
hookPt=hookPts[fnHookTo];
if(hookType!=null){if(hookType==FREPLACE){hookPt.ovload=fnRef;if(fnHookTo.indexOf('ol_content_')>-1)hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef;
}else if(hookType==FBEFORE||hookType==FAFTER){var hookPt=(hookType==1?hookPt.before:hookPt.after);
if(typeof fnRef=='object'){hookPt=hookPt.concat(fnRef);}else{hookPt[hookPt.length++]=fnRef;}
if(optPm)hookPt=reOrder(hookPt,fnRef,optPm);
}else if(hookType==FALTERNATE){if(last=='number')hookPt.alt[pms[optPm-1-pmStart]]=fnRef;}else if(hookType==FCHAIN){hookPt=hookPt.chain;if(typeof fnRef=='object')hookPt=hookPt.concat(fnRef);else hookPt[hookPt.length++]=fnRef;}
return;}}

function registerRunTimeFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){runTime=runTime.concat(fn);}else{runTime[runTime.length++]=fn;}}}

function registerCmdLineFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){cmdLine=cmdLine.concat(fn);}else{cmdLine[cmdLine.length++]=fn;}}}

function registerPostParseFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){postParse=postParse.concat(fn);}else{postParse[postParse.length++]=fn;}}}

function runHook(fnHookTo,hookType){var l=hookPts[fnHookTo],k,rtnVal=null,optPm,arS,ar=runHook.arguments;
if(hookType==FREPLACE){arS=argToString(ar,2);
if(typeof l=='undefined'||!(l=l.ovload))rtnVal=eval(fnHookTo+'('+arS+')');else rtnVal=eval('l('+arS+')');
}else if(hookType==FBEFORE||hookType==FAFTER){if(typeof l!='undefined'){l=(hookType==1?l.before:l.after);
if(l.length){arS=argToString(ar,2);for(var k=0;k<l.length;k++)eval('l[k]('+arS+')');}}
}else if(hookType==FALTERNATE){optPm=ar[2];arS=argToString(ar,3);
if(typeof l=='undefined'||(l=l.alt[pms[optPm-1-pmStart]])=='undefined'){rtnVal=eval(fnHookTo+'('+arS+')');}else{rtnVal=eval('l('+arS+')');}
}else if(hookType==FCHAIN){arS=argToString(ar,2);l=l.chain;
for(k=l.length;k>0;k--)if((rtnVal=eval('l[k-1]('+arS+')'))!=void(0))break;}
return rtnVal;}

function FunctionReference(){this.ovload=null;this.before=new Array();this.after=new Array();this.alt=new Array();this.chain=new Array();}

function Info(version,prerelease){this.version=version;this.prerelease=prerelease;
this.simpleversion=Math.round(this.version*100);this.major=parseInt(this.simpleversion/100);this.minor=parseInt(this.simpleversion/10)-this.major * 10;this.revision=parseInt(this.simpleversion)-this.major * 100-this.minor * 10;this.meets=meets;}

function meets(reqdVersion){return(!reqdVersion)?false:this.simpleversion>=Math.round(100*parseFloat(reqdVersion));}
registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSOFF);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSOFF);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSOFF);registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSCLASS);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSCLASS);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSCLASS);registerPostParseFunction(checkPositionFlags);registerHook("hideObject",nbspCleanup,FAFTER);registerHook("horizontalPlacement",horizontalPlacement,FCHAIN);registerHook("verticalPlacement",verticalPlacement,FCHAIN);if(olNs4||(olIe5&&isMac)||olKq)olLoaded=1;registerNoParameterCommands('sticky,autostatus,autostatuscap,fullhtml,hauto,vauto,closeclick,wrap,followmouse,mouseoff,compatmode');
var olCheckMouseCapture=true;if((olNs4||olNs6||olIe4)){olMouseCapture();}else{overlib=no_overlib;nd=no_overlib;ver3fix=true;}


//Added by andy: show/hide element
function toggleElement(id){
	var el = document.getElementById(id);
	el.style.display=='none' ? el.style.display='':el.style.display='none';
}

function createElement(TagName){
  var nObj = null;
  var FieldStr = null;

  if(navigator.appName == "Netscape"){
    nObj = document.createElement(TagName);

    for(var i=1;i<createElement.arguments.length;i=i+2)
      nObj.setAttribute(createElement.arguments[i], createElement.arguments[i+1]);

  }
  else{
    FieldStr = '<' + TagName.toUpperCase();

    for(var i=1;i<createElement.arguments.length;i=i+2)
      FieldStr += ' ' + createElement.arguments[i] + '="' + createElement.arguments[i+1] + '"';

    FieldStr += '>';

    nObj = document.createElement(FieldStr);
  }

  return nObj;
}

function createText(Text){
  return document.createTextNode(Text);
}

function br(){
  return createElement('br');
}

function space(){
  return createText(' ');
}

//added by anton
//calendar option
//Feb 6, 2007
function getDateValue(IntNum){			

	if (IntNum == ''){
		var date_val = document.getElementById('frm_date_option').value;
		var mySplitResult = date_val.split("-");
		
		//months
		if(mySplitResult[0]=='01'){
			document.getElementById('frm_closed_month').value = 1;
		}
		else if(mySplitResult[0]=='02'){
			document.getElementById('frm_closed_month').value = 2;
		}
		else if(mySplitResult[0]=='03'){
			document.getElementById('frm_closed_month').value = 3;
		}
		else if(mySplitResult[0]=='04'){
			document.getElementById('frm_closed_month').value = 4;
		}
		else if(mySplitResult[0]=='05'){
			document.getElementById('frm_closed_month').value = 5;
		}
		else if(mySplitResult[0]=='06'){
			document.getElementById('frm_closed_month').value = 6;
		}
		else if(mySplitResult[0]=='07'){
			document.getElementById('frm_closed_month').value = 7;
		}
		else if(mySplitResult[0]=='08'){
			document.getElementById('frm_closed_month').value = 8;
		}
		else if(mySplitResult[0]=='09'){
			document.getElementById('frm_closed_month').value = 9;
		}else{
			document.getElementById('frm_closed_month').value = mySplitResult[0];
		}
	
		//days			
		if(mySplitResult[1]=='01'){
			document.getElementById('frm_closed_day').value = 1;
		}
		else if(mySplitResult[1]=='02'){
			document.getElementById('frm_closed_day').value = 2;
		}
		else if(mySplitResult[1]=='03'){
			document.getElementById('frm_closed_day').value = 3;
		}
		else if(mySplitResult[1]=='04'){
			document.getElementById('frm_closed_day').value = 4;
		}
		else if(mySplitResult[1]=='05'){
			document.getElementById('frm_closed_day').value = 5;
		}
		else if(mySplitResult[1]=='06'){
			document.getElementById('frm_closed_day').value = 6;
		}
		else if(mySplitResult[1]=='07'){
			document.getElementById('frm_closed_day').value = 7;
		}
		else if(mySplitResult[1]=='08'){
			document.getElementById('frm_closed_day').value = 8;
		}
		else if(mySplitResult[1]=='09'){
			document.getElementById('frm_closed_day').value = 9;
		}else{
			document.getElementById('frm_closed_day').value = mySplitResult[1];
		}
			document.getElementById('frm_closed'+IntNum+'_year').value = mySplitResult[2];
	}else{
		var date_val = document.getElementById('frm_date_option'+IntNum).value;
		var mySplitResult = date_val.split("-");
		
		//months
		if(mySplitResult[0]=='01'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 1;
		}
		else if(mySplitResult[0]=='02'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 2;
		}
		else if(mySplitResult[0]=='03'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 3;
		}
		else if(mySplitResult[0]=='04'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 4;
		}
		else if(mySplitResult[0]=='05'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 5;
		}
		else if(mySplitResult[0]=='06'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 6;
		}
		else if(mySplitResult[0]=='07'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 7;
		}
		else if(mySplitResult[0]=='08'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 8;
		}
		else if(mySplitResult[0]=='09'){
			document.getElementById('frm_closed'+IntNum+'_month').value = 9;
		}else{
			document.getElementById('frm_closed'+IntNum+'_month').value = mySplitResult[0];
		}
	
		//days			
		if(mySplitResult[1]=='01'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 1;
		}
		else if(mySplitResult[1]=='02'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 2;
		}
		else if(mySplitResult[1]=='03'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 3;
		}
		else if(mySplitResult[1]=='04'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 4;
		}
		else if(mySplitResult[1]=='05'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 5;
		}
		else if(mySplitResult[1]=='06'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 6;
		}
		else if(mySplitResult[1]=='07'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 7;
		}
		else if(mySplitResult[1]=='08'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 8;
		}
		else if(mySplitResult[1]=='09'){
			document.getElementById('frm_closed'+IntNum+'_day').value = 9;
		}else{
			document.getElementById('frm_closed'+IntNum+'_day').value = mySplitResult[1];
		}
			document.getElementById('frm_closed'+IntNum+'_year').value = mySplitResult[2];
	}
}

function toggleCheckAll(field, temp){
	if(!field.length)
		field.checked = temp;
	for (i = 0; i < field.length; i++){
		field[i].checked = temp;
	}	
}

function setActiveMenu(int_menu_id){
	document.cookie = 'navmenu_id='+int_menu_id;
}

function updateTableRows(TableID){
	var trs = (document.getElementById(TableID)).getElementsByTagName('tr');
	var bg;
	
	for(var i=1; i < trs.length; i++){
		if(trs[i].style['display'] != 'none'){
			bg = bg == 'alt_color1' ? 'alt_color2' : 'alt_color1';
			trs[i].className = bg;
		}
	}
}

function dElement(TagName){
  var nObj = null;
  var FieldStr = null;

  if(navigator.appName == 'Netscape'){
    nObj = document.createElement(TagName);

    for(var i=1;i<dElement.arguments.length;i=i+2)
      nObj.setAttribute(dElement.arguments[i], dElement.arguments[i+1]);

  }
  else{
    FieldStr = '<' + TagName.toUpperCase();

    for(var i=1;i<dElement.arguments.length;i=i+2)
      FieldStr += ' ' + dElement.arguments[i] + '="' + dElement.arguments[i+1] + '"';

    FieldStr += '>';

    nObj = document.createElement(FieldStr);
  }

  return nObj;
}

function resizeLayerTo(layerID, newW, newH){// moves layer directly to a new position
	if(document.getElementById && (navigator.userAgent.indexOf("Opera 4") != -1 || navigator.userAgent.indexOf("Opera 5") != -1)){
		document.getElementById(layerID).style.pixelWidth = newW
		document.getElementById(layerID).style.pixelHeight = newH
	}else

	if(document.getElementById){
		document.getElementById(layerID).style.width = newW
		document.getElementById(layerID).style.height = newH
	}else

	if(document.layers){
		document.layers[layerID].resizeTo(newW, newH)
	}else

	if(document.all){
		document.all[layerID].style.pixelWidth = newW
		document.all[layerID].style.pixelHeight = newH
	}
}

function resizeLayerBy(layerID, xOffset, yOffset){ // moves layer by the specified X-offset and Y-offset
	if (document.getElementById && (navigator.userAgent.indexOf("Opera 4") != -1 || navigator.userAgent.indexOf("Opera 5") != -1)){
		myLayer = document.getElementById(layerID)
		myLayer.style.pixelWidth = parseInt(myLayer.style.pixelWidth) + xOffset
		myLayer.style.pixelHeight = parseInt(myLayer.style.pixelHeight) + yOffset
	}else

	if(document.getElementById){
		myLayer = document.getElementById(layerID)
		myLayer.style.width = parseInt(myLayer.style.width) + xOffset
		myLayer.style.height = parseInt(myLayer.style.height) + yOffset
	}else

	if(document.layers){
		document.layers[layerID].resizeBy(xOffset, yOffset)
	}else

	if(document.all){
		myLayer = document.all[layerID]
		myLayer.style.pixelWidth = parseInt(myLayer.style.pixelWidth) + xOffset
		myLayer.style.pixelHeight = parseInt(myLayer.style.pixelHeight) + yOffset
	}
}
/* capitalize first letter of the word */
function ucFirst(str){
   // split string
   firstChar = str.substring(0,1);
   remainChar = str.substring(1);

   // convert case
   firstChar = firstChar.toUpperCase(); 
   remainChar = remainChar.toLowerCase();

   return firstChar + remainChar;

}

function clearRadio(Form, FieldName){	
  for(var i=0;i<Form.elements.length;i++)
    if(Form.elements[i].name == FieldName && Form.elements[i].type == 'radio')    	
      Form.elements[i].checked = false;
}

