

var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = (userAgent.indexOf('opera') != -1);
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == "Apple Computer, Inc."));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf("msie 4.") != -1));
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));

function insertAtCursor(myField, myValue) {

  //IE support

  if (document.selection) {

    myField.focus();

    sel = document.selection.createRange();

    sel.text = myValue;

  }

  //MOZILLA/NETSCAPE support

  else if (myField.selectionStart || myField.selectionStart == '0') {

    var startPos = myField.selectionStart;

    var endPos = myField.selectionEnd;

    myField.value = myField.value.substring(0, startPos)

                  + myValue

                  + myField.value.substring(endPos, myField.value.length);

    myField.focus(); 
    end = myValue.length + endPos;
    myField.setSelectionRange(end, end); 


  } else {

    myField.value += myValue;

  }

}


function SetClass(theID,theClass) {
	if (navigator.appName == "Microsoft Internet Explorer") {
	    var elem = document.getElementById(theID);
	    if(document.getElementById(theID)) {
	    	elem.className = theClass;
	    }
	} else {
	    var elem = document.getElementById(theID);
	    if(document.getElementById(theID)) {
		elem.setAttribute('class',theClass);
	    }
	}
}

function SetCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}


function ReadCookie(cookieName) {
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return ""; 
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}


function createHiddenIframe(id,url) {
	if(document.getElementById(id)) {
		document.getElementById(id).innerHTML = '<iframe src="'+url+'" style="display:none;"></iframe>';
	}
}

function addHTML(id,theHTML) {
	if(document.getElementById(id)) {
		document.getElementById(id).innerHTML = theHTML;
	}
}

function confirmSubmit(msg)
{
var agree=confirm(msg);
if (agree)
return true ;
else
return false ;
}

var  timerId=0 ;

function give_blessing(user_id,post_id,type) {
	document.getElementById('bp_'+post_id).innerHTML = '<iframe src=/admin/bless.php?user_id='+user_id+'&post_id='+post_id+'&up_or_down='+type+' width=230 height=100 style="border:none;"></iframe>';
}


function give_kudos(post_id,type) {
	document.getElementById('kudos_'+post_id).innerHTML = '<iframe src=/kudos.php?post_id='+post_id+'&up_or_down='+type+' width=230 height=100 style="border:none;"></iframe>';
}

var xcol_cur_menu = null;
var xcol_cur_submenu = null;


function show(id)
{
    if (!isDOMcompliant()) { return; }
    var menu = document.getElementById("Menu" + id);
    var menus = document.getElementById("NavMenuList");
    if (!menus) return;

    var submenu = document.getElementById('SubMenu'+id);
    var menuextra = document.getElementById('MenuExtra' + id); 

    if (xcol_cur_submenu == null) {
        submenu.style.visibility = "visible";
    } else {
        xcol_cur_submenu.style.visibility = "hidden";
        submenu.style.visibility = "visible";
    }
    if (xcol_cur_menu == null) {
//	if (member_has_new_pms > 0) {
//		menu.style.backgroundImage = 'url(/images/nav/left-hyper.gif)';
//		menu.style.color = "#FFF";

//		menuextra.style.backgroundImage = 'url(/images/nav/right-hyper.gif)';
//		menuextra.style.Color = "#FFF";
//	} else {
		//menu.style.backgroundImage = 'url(/images/nav/green-left-on.gif)';
		menu.style.backgroundColor = '#99cc33';
	        menu.style.color = "#fff";

		//menuextra.style.backgroundImage = 'url(/images/nav/green-right-on.gif)';
		menuextra.style.backgroundColor = '#99cc33';
		menuextra.style.color = "#fff";
//	}
    } else {
	//xcol_cur_menu.style.backgroundImage = 'url(/images/nav/left-off.gif)';
	xcol_cur_menu.style.backgroundColor = '#000000';
        xcol_cur_menu.style.color = "#fff";

	//xcol_cur_menuextra.style.backgroundImage = 'url(/images/nav/right-off.gif)';
	xcol_cur_menuextra.style.backgroundColor = '#000000';
        xcol_cur_menuextra.style.color = "#fff";

	//menu.style.backgroundImage = 'url(/images/nav/green-left-on.gif)';
	menu.style.backgroundColor = '#99cc33';
        menu.style.color = "#fff";

	//menuextra.style.backgroundImage = 'url(/images/nav/green-right-on.gif)';
	menuextra.style.backgroundColor = '#99cc33';
        menuextra.style.color = "#fff";
    }
    xcol_cur_menu = menu;
    xcol_cur_submenu = submenu;
    xcol_cur_menuextra = menuextra;
}

function unshow()
{
    if (!isDOMcompliant()) { return; }
    if (xcol_cur_submenu != null) {
        xcol_cur_submenu.style.visibility = "hidden";
    }
    if (xcol_cur_menu != null) {
        xcol_cur_menu.style.backgroundColor = "#036";
        xcol_cur_menu.style.color = "#FFF";
    }
    xcol_cur_submenu = null;
    xcol_cur_menu = null;
}

function isDOMcompliant()
{
    return document.getElementById && document.getElementsByTagName;
}

//var ffmenu = document.getElementById("Menupm");
//var ffmenuextra = document.getElementById('MenuExtrapm'); 

//if (member_has_new_pms > 0) {
//	ffmenu.style.backgroundImage = 'url(/images/nav/left-hyper.gif)';
//	ffmenu.style.color = "#FFF";
//	ffmenuextra.style.backgroundImage = 'url(/images/nav/right-hyper.gif)';
//	ffmenuextra.style.Color = "#FFF";
//} else {
//	ffmenu.style.backgroundImage = 'url(/images/nav/green-right-on.gif)';
//        ffmenu.style.color = "#fff";
//	ffmenuextra.style.backgroundImage = 'url(/images/nav/green-left-on.gif)';
//	ffmenuextra.style.color = "#fff";
//}

var showNothing = function () { show(menu_to_show) };
if (window.attachEvent)
    window.attachEvent("onload", showNothing);
if (window.addEventListener)
    window.addEventListener("load", showNothing, false);

















function clearTimer() {
  if (timerId!=0) {
    clearTimeout(timerId); timerId=0; }}



function startTimer() {
  clearTimer(); timerId=setTimeout('timerId=0;hideMenus()',200); }



function showMenu(menuNum) {
  clearTimer(); hideMenus();
  document.getElementById('menu_'+menuNum).style.display="block";
  document.getElementById('opt_'+menuNum).style.background = '#ffffff';
 }



function hideMenus() {

  var  i=1 ;

  while (document.getElementById('menu_'+i)) {
    document     .getElementById('menu_'+i).style.display="none";
    document.getElementById('opt_'+i).style.background='#ffffff';
    i++; }}



function hiLite(theOption) {
  clearTimer();
  document.getElementById('opt_'+theOption).style.background='#eeeeee'; }



function unLite(theOption) {
  startTimer();
  document.getElementById('opt_'+theOption).style.background='#ffffff'; }








function write_image(id, type, last_post_time) {
	document.write('<img width=9 height=9 id=fei'+id+' src="');
	document.write(pick_image(type, last_post_time));
	document.write('">');
}

function pick_image(type, last_post_time) 
{
  
  if (last_post_time < member_last_visit_time) 
  {
    return '/images/list-'+type+'-old.gif';
  } 
  else 
  { 
    return '/images/list-'+type+'-new.gif';
  }
}


function toggleId(item) {
  if (document.getElementById(item).style.display == 'block')
  {
    document.getElementById(item).style.display = 'none';
  }
  else
  {
    document.getElementById(item).style.display = 'block';
  }
}

function toggleItem(item) {
  if (document.item.style.display == 'block')
  {
    document.item.style.display = 'none';
  }
  else
  {
    document.item.style.display = 'block';
  }
}

function showItem(item)
{
  document.getElementById(item).style.display = 'block';
}

function hideItem(item)
{
  document.getElementById(item).style.display = 'none';
}

function toggleSub(theitem, image, last_post_time)
{
  if (document.getElementById(theitem).style.display == 'block')
  {
    document.getElementById(theitem).style.display = 'none';
    //document.getElementById(image).src = pick_image('expand',last_post_time);
  }
  else if(document.getElementById(theitem).style.display == 'none')
  {
    document.getElementById(theitem).style.display = 'block';
    //document.getElementById(image).src = pick_image('collapse',last_post_time);
  }
}

// TOOLBAR STUFF

var MyTool = null;
function ToolBarInit (tool)
{
MyTool = tool;
}

function toolbar_setname ()
{
MyTool.userName = TFSUserName;
MyTool.userid = TFSUserId;
MyTool.Reload ();
}


// CAPS DETECTION

function capsDetect( e ) {


// increase the character counter
document.getElementById('cCount').value++;

if (user_points > 3000) {
	return;
}

if( !e ) { e = window.event; } if( !e ) { MWJ_say_Caps( false ); return; }
//what (case sensitive in good browsers) key was pressed
var theKey = e.which ? e.which : ( e.keyCode ? e.keyCode : ( e.charCode ? e.charCode : 0 ) );




// if tab, jump to posting key
if (theKey == 9) {
//	document.postform.postbutton.focus();
}

//was the shift key was pressed
var theShift = e.shiftKey || ( e.modifiers && ( e.modifiers & 4 ) ); //bitWise AND
//if upper case, check if shift is not pressed. if lower case, check if shift is pressed
MWJ_say_Caps( ( theKey > 64 && theKey < 91 && !theShift && !e.ctrlKey) || ( theKey > 96 && theKey < 123 && theShift) );
}
function MWJ_say_Caps( oC ) {
if( typeof( capsError ) == 'string' ) { if( oC ) { alert( capsError ); } } else { capsError( oC ); }
}

function capsError( capsEngaged ) {
if( capsEngaged ) {
	alert('Please turn off your caps lock.  Use the shift key for caps instead.');
} else {
//remove any warnings that caps lock is engaged
}
}


// keyboard shortcuts

function addKeyHandler(element) {

element._keyObject = new Array();
element._keyObject["keydown"] = new Array();
element._keyObject["keyup"] = new Array();
element._keyObject["keypress"] = new Array();

element.addKeyDown = function (keyCode, action) {
element._keyObject["keydown"][keyCode] = action;
}

element.removeKeyDown = function (keyCode) {
element._keyObject["keydown"][keyCode] = null;
}

element.addKeyUp = function (keyCode, action) {
element._keyObject["keyup"][keyCode] = action;
}

element.removeKeyUp = function (keyCode) {
element._keyObject["keyup"][keyCode] = null;
}

element.addKeyPress = function (keyCode, action) {
element._keyObject["keypress"][keyCode] = action;
}

element.removeKeyPress = function (keyCode) {
element._keyObject["keypress"][keyCode] = null;
}

function handleEvent() {
var type = window.event.type;
var code = window.event.keyCode;
var e = window.event;
var code = e.which ? e.which : ( e.keyCode ? e.keyCode : ( e.charCode ? e.charCode : 0 ) );


if (element._keyObject[type][code] != null) 
element._keyObject[type][code]();
}

element.onkeypress = handleEvent;
element.onkeydown = handleEvent;
element.onkeyup = handleEvent;
}

