// -------------------------------------
// Add an event hook
// -------------------------------------
add_event = function(obj, evType, fn) {
  if (obj.addEventListener) {
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent) {
    var r = obj.attachEvent("on" + evType, fn);
    return r;
  } else {
    return false;
  }
}

// -------------------------------------
// Initialize the search field
// -------------------------------------
//init_search_field = function() {
//	if (document.getElementById) {
//		field = document.getElementById('q');
//		if ((field.value != '') && (field.value != 'texte')) {
//			return;
//		} else {
//			field.value = 'texte';
//			field.onfocus = function() {
//				if (this.value == 'texte') {
//					this.value = '';
//				}
//			}
//		}
//	}
//}
//add_event(window, "load", init_search_field);

// -------------------------------------
// Popup window
// -------------------------------------
function popup_help(url, title)
{
	window.open(url, 'popup_help', 'alwaysRaised=yes,dependent=yes,toolbar=no,height=420,width=500,menubar=no,resizable=yes,scrollbars=yes,status=no');
}

// -------------------------------------
// Convert pre tags to ol lists
// -------------------------------------
function pre2ol()
{
	if (!document.getElementsByTagName) {
		return;
	}
	var pre = document.getElementsByTagName('pre');
	if (pre.length == 0) {
		return;
	}
	var tab = "\u00A0\u00A0\u00A0";
	
	for (var i=0; i<pre.length; i++)
	{
		var e = pre.item(i);
		
		var c = e.childNodes.item(0);
		var content = c.data;
		
		if (e.childNodes.length == 1 && content)
		{
			i--;
			content = content.replace(/\r\n/g,'\n');
			content = content.replace(/\r/g,'\n');
			content = content.replace(/\t/g,tab);
			content = content.replace(/  /g,'\u00A0 ');
			
			var lines = content.split('\n')
			
			var ol = document.createElement("ol");
			
			if (e.id) {
				ol.id = e.id;
			}
			
			var className = 'pre2ol';
			if (e.className) {
				className += ' '+e.className;
			}
			ol.className = className;
			
			for (var j=0; j<lines.length; j++)
			{
				if (lines[j] == '') { lines[j] = '\u00A0'; }
				
				var li = document.createElement('li');
				var span = document.createElement('span');
				if ((lines[j].indexOf('//') != -1)) {
					span.className = 'cmnt';
				}

				var newText = document.createTextNode(lines[j]);
				span.appendChild(newText);
				li.appendChild(span);
				ol.appendChild(li);
			}
			var p = e.parentNode;
			p.replaceChild(ol,e);
		}
	}
}
add_event(window, "load", pre2ol);

// -------------------------------------
// Simulate :hover for IE
// -------------------------------------

function pseudo_hover() {
	if (!document.all) {
		return;
	}
	if (!document.getElementsByTagName) {
		return;
	}
	
	var sensitiveElts = ['input', 'textarea'];
	
	for (var i=0; i<sensitiveElts.length; i++) {
		var elts = document.getElementsByTagName(sensitiveElts[i]);
		
		for (var j=0; j<elts.length; j++) {
			elts[j].onmouseover = function() {
				this.className = this.className + ' over';
			}
			elts[j].onmouseout = function() {
				this.className = this.className.split(' ')[0];
			}
		}
	}
}
add_event(window, "load", pseudo_hover);
