//
// ndungi kyalo : ndungi@gmail.com
//
//In Honor of IE :
//"shenzi!" -- ndungi, 'In Honor of IE'


//globals:tabia mboff

//end globals:tabia mbaya

function getStyle(id){
	return document.getElementById(id).style;	
}

function highlight(element,color,bordercolor){
    document.getElementById(element).style.background=color;
    document.getElementById(element).style.border="1px solid "+bordercolor;
}

function unhighlight(element,color,bordercolor){
    document.getElementById(element).style.background=color;
    document.getElementById(element).style.border="1px solid "+bordercolor;
    document.getElementById(element).style.fontWeight=400;
}

function highlight_desc(element,color){
    document.getElementById(element).style.background=color;
    document.getElementById(element).style.fontWeight=600;
}

function unhighlight_desc(element,color){
    document.getElementById(element).style.background=color;
    document.getElementById(element).style.fontWeight=400;
}

function show_hide(item_id){
    setTimeout("",100);
    if(document.getElementById(item_id).style.display != 'block'){//show
        document.getElementById(item_id).style.display = 'block';
    }
    else{//hide
        document.getElementById(item_id).style.display = 'none';
    }        
}

function show_xy(item_id,e){
	document.getElementById(item_id).style.display = 'block';
	document.getElementById(item_id).style.left = getx(e)-6;
	document.getElementById(item_id).style.top = gety(e)-6;    
}

function show(item_id){
	document.getElementById(item_id).style.display = 'block';   
}

function hide_xy(item_id,e){
	document.getElementById(item_id).style.display = 'none';     
}

function createXMLHttp(){
	var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)

 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	try {
		xmlhttp = new XMLHttpRequest();
	} catch (e) {
		xmlhttp=false;
	}
}
if (!xmlhttp && window.createRequest) {
	try {
		xmlhttp = window.createRequest();
	} catch (e) {
		xmlhttp=false;
	}
}

return xmlhttp;
	
}


function redir_to(page){
	window.location = page;
}


function checkEnter(e){ //e is event object passed from function invocation
	
	var characterCode //literal character code will be stored in this variable

	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	}
	else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}

	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		return true
	}
	else{
		return false
	}

}



dragDrop = {
	initialMouseX: undefined,
	initialMouseY: undefined,
	startX: undefined,
	startY: undefined,
	draggedObject: undefined,
	target: undefined,
	initElement: function (element) {
			element.onmousedown = dragDrop.startDragMouse;
	},
	startDragMouse: function (e) {

		if(!e.target)dragDrop.target = e.srcElement;
		else dragDrop.target = e.target;
		
	if(dragDrop.target.className == "handle"){
		
		dragDrop.startDrag(this);
		var evt = e || window.event;
		dragDrop.initialMouseX = evt.clientX;
		dragDrop.initialMouseY = evt.clientY;
		addEventSimple(document,'mousemove',dragDrop.dragMouse);
		addEventSimple(document,'mouseup',dragDrop.releaseElement);
		return false;
		}
	},
	startDrag: function (obj) {
		if (dragDrop.draggedObject)
			dragDrop.releaseElement();
			dragDrop.startX = obj.offsetLeft;
			dragDrop.startY = obj.offsetTop;
			dragDrop.draggedObject = obj;
	},
	dragMouse: function (e) {
		var evt = e || window.event;
		var dX = evt.clientX - dragDrop.initialMouseX;
		var dY = evt.clientY - dragDrop.initialMouseY;
		dragDrop.setPosition(dX,dY);
		return false;
	},
	setPosition: function (dx,dy) {
		dragDrop.draggedObject.style.left = dragDrop.startX + dx + 'px';
		dragDrop.draggedObject.style.top = dragDrop.startY + dy + 'px';
	},
	releaseElement: function() {
		removeEventSimple(document,'mousemove',dragDrop.dragMouse);
		removeEventSimple(document,'mouseup',dragDrop.releaseElement);
	}
}

function addEventSimple(obj,evt,fn) {
	if (obj.addEventListener)
		obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent('on'+evt,fn);
}

function removeEventSimple(obj,evt,fn) {
	if (obj.removeEventListener)
		obj.removeEventListener(evt,fn,false);
	else if (obj.detachEvent)
		obj.detachEvent('on'+evt,fn);
}

function getx(e){
	var evt = e || window.event;
	return evt.pageX;
	}
function gety(e){
	var evt = e || window.event;
	return evt.pageY;
	}
function appendElement(node,tag,id,htm){
	var ne = document.createElement(tag);
	if(id) ne.id = id;
	if(htm) ne.innerHTML = htm;
	node.appendChild(ne);
	}

function to_low_right(layer,e){
	document.getElementById(layer).style.left = getx(e)-420;	
	document.getElementById(layer).style.top = gety(e)+5;
	}

