var IE = false;
var NS4 = false;
var NS6 = false;

// Get browser
if(document.all) { IE = true; } else if(document.getElementById) { NS6 = true; } else if(document.layers) { NS4 = true; }

function GetObject(id) { if(NS4) { return null; } else { return document.getElementById(id); } };
function GetLink(id) { if(NS4) { return document.anchors[id]; } else { return document.getElementById(id); } };
function GetLayer(id) { if(NS4) { return document.layers[id]; } else { return document.getElementById(id); } };
function GetImage(id) { if(document.images && document.images[id]) { return document.images[id]; } else { return null; } };
function GetAnchorX(a) { if(NS4) { return a.x; } else { var val = a.offsetLeft; while (a && a.tagName != 'BODY') { val += a.offsetLeft; a = a.offsetParent; } return val; } };
function GetAnchorY(a) { if(NS4) { return a.y; } else { var val = a.offsetTop; while (a && a.tagName != 'BODY') { val += a.offsetTop; a = a.offsetParent; } return val; } };
function SwitchLayer(lay, on) { if (lay) { if(NS4) { lay.visibility=on ? 'show' : 'hide'; lay.display=on ? 'block' : 'none'; return true; } else { lay.style.visibility=on ? 'visible' : 'hidden'; lay.style.display=on ? 'block' : 'none'; return true; } } else { return false; } };
function SetStyle(lay, st, val) { if (lay && st != '' && typeof st != 'undefined' && typeof val != 'undefined') { if(NS4) { eval('lay.'+st+'= "'+val+'"'); } else { eval('lay.style.'+st+'= "'+val+'"'); } } };
function GetStyle(lay, st) { if (lay && st != '' && typeof st != 'undefined') { if(NS4) { return eval('lay.'+st); } else { return eval('lay.style.'+st); } } else { return null; } };
function GetWidth(lay) { if(NS4) { return lay.width; } else { return lay.offsetWidth; } };
function GetHeight(lay) { if(NS4) { return lay.height; } else { return lay.offsetHeight; } };
function GetContent(obj) { if(obj) { return new String(obj.innerHTML); } else { return ''; } };
function SetContent(obj, content) { if(obj) { obj.innerHTML = content; } };
function GetX(obj) { if(NS4) { return obj.x; } else { var val = obj.offsetLeft; while (obj && obj.tagName != 'BODY') { val += obj.offsetLeft; obj = obj.offsetParent; } return val; } };
function GetY(obj) { if(NS4) { return obj.y; } else { var val = obj.offsetTop; while (obj && obj.tagName != 'BODY') { val += obj.offsetTop; obj = obj.offsetParent; } return val; } };

function SetStyles(obj, styles) { if(!obj) { return null; }; styles = styles.replace(/: /g, ":"); styles = styles.replace(/; /g, ";"); var arrStyles = styles.split(";"); for(var s=0;s<arrStyles.length;s++) { var style = arrStyles[s]; var arrStyle = style.split(":"); if(arrStyle[0] && arrStyle[1] && arrStyle[0] != '' && arrStyle[1] != '') { if(stristr(arrStyle[0], '-')) { var arrStyleName = arrStyle[0].split("-"); var FirstChar = arrStyleName[1].substr(0, 1); var LastChars = arrStyleName[1].substr(1); arrStyle[0] = arrStyleName[0] + FirstChar.toUpperCase() + LastChars; }; SetStyle(obj, arrStyle[0], arrStyle[1]); }; }; };

var is_hidden = false;
function hideSelect() { if (is_hidden) { return; } var elems = document.getElementsByTagName("select"); for(var s=0; s<elems.length; s++) { if(elems[s].options) elems[s].style.visibility = "hidden"; } is_hidden = true; };
function showSelect() { if (!is_hidden) { return; } if(showSelect.arguments.length < 1) { var elems = document.getElementsByTagName("select"); for(var s=0; s<elems.length; s++) { if(elems[s].options) elems[s].style.visibility = "visible"; } is_hidden = false; } else { var obj = showSelect.arguments[0]; while(obj != null) { if(obj.tagName == 'select') { for(var s=0; s<obj.length; s++) { if(obj[s].options) obj[s].style.visibility = "visible"; } } obj = obj.nextSibling; } } };

function stripHTML(str) { str = str.replace('&nbsp;', ' '); str = str.replace(/<(?:.|\s)*?>/gi, ''); str = str.replace(/^s+/, '').replace(/s+$/, ''); if(str == ' ') str = ''; return str; };

function switchImage(id, on) { var img = GetImage(id); if(!img) { return; }; if(on == '1' || on == 1) { if(!stristr(img.src, '_over')) { img.src = img.src.replace(/\.gif/g, '_over.gif'); }; } else { if(stristr(img.src, '_over')) { img.src = img.src.replace(/_over/g, ''); }; }; };
function switchCursor(obj, type) { if(type == '-1') { SetStyle(obj, 'cursor', 'default'); } else if(type == '1') { SetStyle(obj, 'cursor', 'pointer'); } else if(type == '2') { SetStyle(obj, 'cursor', 'move'); } else { SetStyle(obj, 'cursor', 'auto'); } };
function switchClass(classObj, classActive) { var currentClass = classObj.className; var Result = currentClass.search(classActive); if(Result != -1) { classObj.className = currentClass.replace(classActive, ''); SetStyle(classObj, 'cursor', 'auto'); } else { classObj.className = currentClass + classActive; SetStyle(classObj, 'cursor', 'pointer'); } };
function switchChecked(id) { var obj = GetObject('chk'+id); if(obj != null) { if(obj.checked) { obj.checked = false; } else { obj.checked = true; } } };
function isChecked(id) { var obj = GetObject('chk'+id); if(obj != null) { if(obj.checked == true) { return true; } else { return false; } } };
function switchCheckedAll(formname, fieldname) { var form = document.forms[formname]; var obj = form.elements[fieldname]; for(var i=0;i<obj.length;i++) { if(obj[i].checked) { obj[i].checked = false; } else { obj[i].checked = true; } } };
function switchDisabled(formname, fieldname, on) { var form	= document.forms[formname]; if(form) { var field	= form[fieldname]; if(field) { if(on) { field.disabled = true; SetStyle(field, 'color', '#808080'); } else { field.disabled = false; SetStyle(field, 'color', ''); } } } };
function switchFieldByChecked(select, formname) { if(switchFieldByChecked.arguments.length > 2) { for(var f=2; f<switchFieldByChecked.arguments.length; f++) { var field = switchFieldByChecked.arguments[f]; if(select.checked) { document.forms[formname][field].disabled = false; } else { document.forms[formname][field].disabled = true; } } } };
function switchBox(boxId) { var lay = GetLayer('box' + boxId); if(!lay) { return; }; var on = (GetStyle(lay, 'display') == 'none') ? true : false; var withArg = switchBox.arguments[1]; if(typeof withArg != 'undefined') { on = (withArg == '1' || withArg == 1) ? true : false; }; if(on) { SwitchLayer(lay, 1); switchImage('img' + boxId, 1); } else { SwitchLayer(lay, 0); switchImage('img' + boxId, 0); }; };

function switchSelect(formName, sourceField, targetField, targetAttribute) {
	var objSourceField = document.forms[formName][sourceField];
	var objTargetField = document.forms[formName][targetField];
	var originalOptions = objTargetField.originalOptions;
	if(isEmpty(originalOptions)) { originalOptions = new Array(); for(var o=(objTargetField.length-1);o>=0;o--) { originalOptions.unshift(objTargetField.options[o]); objTargetField.options[o] = null; }; objTargetField.originalOptions = originalOptions;
	} else { for(var o=(objTargetField.length-1);o>=0;o--) { objTargetField.options[o] = null; }; };
	for(var o=0;o<originalOptions.length;o++) { var option = originalOptions[o]; if(objSourceField.value == '' || objSourceField.value == option.getAttribute(targetAttribute) || option.getAttribute(targetAttribute) == '') { objTargetField.options[objTargetField.length] = option; }; }; };

function doAssignSelect(sourceField, targetField) { for(var i=0;i<sourceField.length;i++) { if(sourceField.options[i].selected == true) { var Assigned = new Option(sourceField.options[i].text,sourceField.options[i].value); targetField.options[targetField.length] = Assigned; sourceField.options[i].selected = false; sourceField.options[i] = null; i--; } }; }
function doSelectAll(formname, fieldname) { var form = document.forms[formname]; var obj = form.elements[fieldname]; for(var i=0;i<obj.length;i++) { obj[i].selected = true; } };

function Point(x,y) { this.x = x; this.y = y; };

function isEmpty(object) { if(object == null || typeof object == 'undefined' || object == '') { return true; } else { return false; } };
function stristr(text, needle) { if(isEmpty(text)) { return false; } text = text.toLowerCase(); needle = needle.toLowerCase(); if(text.indexOf(needle) > -1) return true; else return false; };
function intval(str) { str = parseInt(str); if(isNaN(str)) { return 0; } else { return str; }; };

function getObjectName(obj) { if (typeof obj != "object" || obj === null) { return ''; } return /(\w+)\(/.exec(obj.constructor.toString())[1]; };

function getQueryGlue(query) { if(isEmpty(query) || query.substr(0,1) == '&') { return query; } else { return '&' + query; } };
