/*******************************************************************************
 * Navigator JavaScript
 * by NGUYEN, Ba Thanh <btnguyen2k@yahoo.com>
 * No parts of this script can be use outside DDTHSoft without prior consent.
 * Language: VIETNAMESE
 ******************************************************************************/

var supported = (document.all || document.getElementById);

function textbox_focus(obj) {
	if (supported) obj.className='textboxfocus';
}
function textbox_blur(obj) {
	if (supported) obj.className='textboxblur';
}

function button_disable(obj) {
	//if (supported) obj.className='buttondisable';
	obj.disabled = true;
}
function button_focus(obj) {
	if (supported) obj.className='buttonfocus';
}
function button_blur(obj) {
	if (supported) obj.className='buttonblur';
}
function button_focus_default(obj) {
	if (supported) obj.className='buttonfocusdefault';
}
function button_blur_default(obj) {
	if (supported) obj.className='buttonblurdefault';
}

function url_open(url) {
	window.open(url);
}

function url_popup(url, name, attributes) {
	window.open(url, name, attributes);
}

var _arrHookKeydown		= null;
var _arrHookKeyup		= null;
var _arrHookPageload	= null;
var _arrHookMouseover	= null;
var _arrHookMouseout	= null;
var _arrHookMouseup		= null;
var _arrHookMousedown	= null;

function _HookKeydown(funcHook) {
	if (_arrHookKeydown == null) {
		_arrHookKeydown = new Object();
		_arrHookKeydown.next = null;
		_arrHookKeydown.func = funcHook;
	} else {
		var save = _arrHookKeydown;
		while (_arrHookKeydown.next != null) {_arrHookKeydown = _arrHookKeydown.next;}
		var p = new Object();
		p.func = funcHook;
		p.next = null;
		_arrHookKeydown.next = p;
		_arrHookKeydown = save;
	}
} //end _HookKeydown
function _HookKeyup(funcHook) {
	if (_arrHookKeyup == null) {
		_arrHookKeyup = new Object();
		_arrHookKeyup.next = null;
		_arrHookKeyup.func = funcHook;
	} else {
		var save = _arrHookKeyup;
		while (_arrHookKeyup.next != null) {_arrHookKeyup = _arrHookKeyup.next;}
		var p = new Object();
		p.func = funcHook;
		p.next = null;
		_arrHookKeyup.next = p;
		_arrHookKeyup = save;
	}
} //end _HookKeyup
function _HookPageload(funcHook) {
	if (_arrHookPageload == null) {
		_arrHookPageload = new Object();
		_arrHookPageload.next = null;
		_arrHookPageload.func = funcHook;
	} else {
		var save = _arrHookPageload;
		while (_arrHookPageload.next != null) {_arrHookPageload = _arrHookPageload.next;}
		var p = new Object();
		p.func = funcHook;
		p.next = null;
		_arrHookPageload.next = p;
		_arrHookPageload = save;
	}
} //end _HookPageload
function _HookMouseover(funcHook) {
	if (_arrHookMouseover == null) {
		_arrHookMouseover = new Object();
		_arrHookMouseover.next = null;
		_arrHookMouseover.func = funcHook;
	} else {
		var save = _arrHookMouseover;
		while (_arrHookMouseover.next != null) {_arrHookMouseover = _arrHookMouseover.next;}
		var p = new Object();
		p.func = funcHook;
		p.next = null;
		_arrHookMouseover.next = p;
		_arrHookMouseover = save;
	}
} //end _HookMouseover
function _HookMouseout(funcHook) {
	if (_arrHookMouseout == null) {
		_arrHookMouseout = new Object();
		_arrHookMouseout.next = null;
		_arrHookMouseout.func = funcHook;
	} else {
		var save = _arrHookMouseout;
		while (_arrHookMouseout.next != null) {_arrHookMouseout = _arrHookMouseout.next;}
		var p = new Object();
		p.func = funcHook;
		p.next = null;
		_arrHookMouseout.next = p;
		_arrHookMouseout = save;
	}
} //end _HookMouseout
function _HookMouseup(funcHook) {
	if (_arrHookMouseup == null) {
		_arrHookMouseup = new Object();
		_arrHookMouseup.next = null;
		_arrHookMouseup.func = funcHook;
	} else {
		var save = _arrHookMouseup;
		while (_arrHookMouseup.next != null) {_arrHookMouseup = _arrHookMouseup.next;}
		var p = new Object();
		p.func = funcHook;
		p.next = null;
		_arrHookMouseup.next = p;
		_arrHookMouseup = save;
	}
} //end _HookMouseup
function _HookMousedown(funcHook) {
	if (_arrHookMousedown == null) {
		_arrHookMousedown = new Object();
		_arrHookMousedown.next = null;
		_arrHookMousedown.func = funcHook;
	} else {
		var save = _arrHookMousedown;
		while (_arrHookMousedown.next != null) {_arrHookMousedown = _arrHookMousedown.next;}
		var p = new Object();
		p.func = funcHook;
		p.next = null;
		_arrHookMousedown.next = p;
		_arrHookMousedown = save;
	}
} //end _HookMousedown

/* function that hooks keydown event */
function _keydown(e) {
	var p = _arrHookKeydown;
	while (p != null) {
		if (p.func(e)) {return;}
		p = p.next;
	}
} //end _keydown
/* function that hooks keyup event */
function _keyup(e) {
	var p = _arrHookKeyup;
	while (p != null) {
		if (p.func(e)) {return;}
		p = p.next;
	}
} //end _keyup
/* function that hooks pageload event */
function _pageload(e) {
	var p = _arrHookPageload;
	while (p != null) {
		if (p.func(e)) {return;}
		p = p.next;
	}
} //end _pageload
/* functions that hook mouse events */
function _mouseover(e) {
	var p = _arrHookMouseover;
	while (p != null) {
		if (p.func(e)) {return;}
		p = p.next;
	}
} //end _mouseover
function _mouseout(e) {
	var p = _arrHookMouseout;
	while (p != null) {
		if (p.func(e)) {return;}
		p = p.next;
	}
} //end _mouseup
function _mouseup(e) {
	var p = _arrHookMouseout;
	while (p != null) {
		if (p.func(e)) {return;}
		p = p.next;
	}
} //end _mouseup
function _mousedown(e) {
	var p = _arrHookMouseout;
	while (p != null) {
		if (p.func(e)) {return;}
		p = p.next;
	}
} //end _mousedown

function _SetCookie(name, value, expires) {
	document.cookie = name + '=' + escape(value) + ((expires != null) ? ';expires=' + expires.toGMTString() : '') + ';path=/';
} //end _SetCookie
function _GetCookie(name) {
	var cname = name + '=';
	var dc = document.cookie;
	if (dc.length > 0) {
		begin = dc.indexOf(cname);
		if (begin != -1) {
			begin += cname.length;
			end = dc.indexOf(';', begin);
			if (end == -1) end = dc.length;
			return unescape(dc.substring(begin, end));
		}
	}
	return null;
} //end _GetCookie
