// JavaScript Document

function getObj(name){
    var obj = null;

    if (document.getElementById) obj = document.getElementById(name);
    else obj = document.all[name];
    
    return obj;
}

function setInnerHtml(name, str, mouseclick){
    if (document.getElementById) document.getElementById(name).innerHTML = str;
    else document.all[name].innerHTML = str;
    
    if (mouseclick){
        if (document.getElementById) document.getElementById(name).onmouseup = mouseclick;
        else document.all[name].onmouseup = mouseclick;
    }
}

function validValue(val){
    var valid = false;
    if ( (!equalsNull(val))  &&  (!equalsEmpty(val)) && (!equalsUndefined(val))  ) {
      valid = true;
    }
    return valid;
}

function equalsNull(val){
  var s = new String(val);
  if (s == "null") return true;
  else return false;
}

function equalsEmpty(val){
  var s = new String(val);
  if (s == "") return true;
  else return false;
}

function equalsUndefined(val){
  var s = new String(val);
  if (s == "undefined") return true;
  else return false;
}

function insertPageStructure(){
    document.write(' <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%"><tr><td>  ');
    document.write('     <div class="base" align="center">  ');
    document.write('         <div class="holder">  ');
    document.write('             <div class="logodiv" style="font-size: 13px; top: -5; left: 712" >private</div>  ');
    document.write('             <div class="logodiv"> <img src="./forumlogo.gif"> </div>  ');
    document.write('         </div>      <!--class holder-->  ');
    document.write('     </div>      <!--class base-->  ');
    document.write(' </td></tr></table>  ');
}


//DETECT KEYPRESS EVENTS IN TEXTAREA INPUTS
function hookupEvents() {
    getObj("topic").onkeydown = detectKeyPress;
    //document.getElementById("actions").onkeydown = detectKeyPress;
    //document.getElementById("operon_ref").onkeydown = detectKeyPress;
}
 
function detectKeyPress(e) {
    if (!e) var e = window.event;
    var code = e.keyCode
//    if (code == 192) /* Deny Apostrophe KeyPress*/{
//        event.returnValue = false;
//    }
//debug(code);
}
//DETECT KEYPRESS EVENTS IN TEXTAREA INPUTS
   
function detectEnterKeyPress(e){

    var keynum;

    if(window.event) // IE
    {
        keynum = e.keyCode;
    }

    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }

    
    if (keynum == 13){ //return
//        return true;
        return 13;
        
    }     

    if ((keynum == 43) || (keynum == 60) || (keynum == 62)){ // + < >
        //return 43;
        return false;
    }
}


function makesafe(s){
    var str = myunescape(s);

    str = str.replace(/"/g,"&quot;");
    str = str.replace(/'/g,"&#39;");
    str = str.replace(/,/g,"&#44;");
    str = str.replace(/</g,"&lt;");
    str = str.replace(/>/g,"&gt;");

    return str;
}

function populateTopics(currentTopic){
    if (currentTopic == '') currentTopic = GLOBAL_TOPIC;

//    document.write('<SELECT name="topic_code" id="topic_code" onclick=" topicSelected(  myescape(this.value)  )">');

//    document.write('<SELECT name="topic_code" id="topic_code" onclick=" topicSelected(  this.value  )" onchange="topicSelected(  this.value  )"   >');
    document.write('<SELECT name="topic_code" id="topic_code" onchange="topicSelected(  this.value  )"   >');

	document.write('<OPTION value="null">...');
        
    for(var i=0; i<=topicArray.length-1; i++){
        
        //var s = myunescape(topicArray[i]);        //remove escape chars for //  
var s = makesafe(topicArray[i]);        

//      var s = topicArray[i];
//alert(s + "  <-->  "  + currentTopic);


         
        if (topicArray[i] == currentTopic){
            document.write('<OPTION value="' + topicArray[i] + '" SELECTED>' + s );
        }
        else {
            document.write('<OPTION value="' + topicArray[i] + '">' + s );
        }
    }

    document.write('</SELECT>');
}

function myescape(s){
//    return escape(escape(s));
    return escape(s);
return s;
}

function myunescape(s){
//    return unescape(unescape(s));
    return unescape(s);
return s;
}


/* BrowserDetect+ */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};

BrowserDetect.init();
/* BrowserDetect- */
