//-----
var c9x4_cancel_validation = false;
var c9x4_show_alert_message = false;
var c9x4_message_next_focus = null;
//-----
function c9x4_add_load_event(fn) 
{
	if(window.addEventListener)
		window.addEventListener('load', fn, false);
	else if(window.attachEvent)
		window.attachEvent('onload', fn);
	else
		window['onload'] = fn;
}
//-----
function c9x4_clear_element(name)
{
	var el = c9x4_element(name);
	
	if(!el)
		return;
		
	if(el.selectedIndex)
		el.selectedIndex = 0;
	else
		el.value = "";
}
//-----
function c9x4_clear_event(frm)
{
	frm = c9x4_form(frm);
	
	if(frm.c9x4)
		frm.c9x4.value = "";
	
	if(frm.c9x4ev)
		frm.c9x4ev.value = "";
		
	c9x4_cancel_validation = true;		
}
//-----
function c9x4_clear_form_variables(fm)
{
	var frm = c9x4_form(fm);
	
	if(!frm)
		return;

	for(var i = 0; i < frm.elements.length; i++)
	{
		if(frm.elements[i].type == 'text' || frm.elements[i].type == 'textarea')
			if(frm.elements[i].value == ' ')
				frm.elements[i].value = '';
	}
}
//-----
function c9x4_close_message()
{
	var fld = c9x4_element('c9x4_message_div');
	
	if(!fld)
		return;
		
	fld.style.display = 'none';
		
	if(c9x4_message_next_focus)
		c9x4_focus(c9x4_message_next_focus);	
}
//-----
function c9x4_detect_element_position(fld)
{
	var obj = new Object();
	
	if(fld.offsetParent) 
	{
        obj.left = fld.offsetLeft;
        obj.top = fld.offsetTop;
		
        while(fld = fld.offsetParent) 
		{
			obj.left += fld.offsetLeft;
			obj.top += fld.offsetTop;
        }
	}
	else
	{
		obj.left = 0;
		obj.top = 0;
	}

	return obj;
}
//-----
function c9x4_detect_element_width(fld)
{
	if(fld.style && fld.style.display)
	{
		if(fld.style.display != 'none' && fld.style.display != null)
			return element.offsetWidth;
	}
	
    var _visibility = fld.style.visibility;
    var _position = fld.style.position;
    var _display = fld.style.display;
	
    fld.style.visibility = 'hidden';
    fld.style.position = 'absolute';
    fld.style.display = 'block';
	
    var width = fld.clientWidth;
	
    fld.style.visibility = _visibility;
	fld.style.position = _position;
    fld.style.display = _display;
	
    return width;	
}
//-----
function c9x4_detect_screen_width()
{
	if(self.innerHeight) // all except Explorer
		return self.innerWidth;
	else if (document.documentElement && document.documentElement.clientHeight)// Explorer 6 Strict Mode
		return document.documentElement.clientWidth;
	else if (document.body) // other Explorers
		return document.body.clientWidth;
	else
		return 800;
}
//-----
function c9x4_element(name, showError)
{
	showError = c9x4_real_value(showError, true);
	
    var fld = (document.getElementById) ? document.getElementById(name) : document.all[name];
	
	if(fld == undefined && showError)
		alert("Invalid Field for {c9x4_element}: name: " + name + " id: " + name.id);
		
	return fld;
}
//-----
function c9x4_element_complex(name, showError)
{
	showError = c9x4_real_value(showError, true);
		
	if(c9x4_is_element(name))
		return name;
		
    var fld = c9x4_element(name, false);

	if(!fld)
	{
		fld = c9x4_element(name + "_month", false);
		
		if(!fld)
			fld = c9x4_element(name + "_one", false);
			
		if(!fld)
			fld = c9x4_element(name + "_interval", false);
			
		if(!fld)
			fld = c9x4_element(name + "_Year_ID", false);
	}

	if(!fld && showError)
		alert("Invalid Field for {c9x4_element_complex}: " + name);

	if(fld.length && !fld.selectedIndex)	
		fld = fld[0];

	return fld;
}
//-----
function c9x4_empty(value)
{
	return (value == undefined || value == null || value == '' || value == ' ');	
}
//-----
function c9x4_focus(name)
{
	if(c9x4_empty(name))
		return;
		
    var fld = c9x4_element_complex(name, true);
	
	if(!fld)
		return;
		
	if(fld.type != 'hidden')
	{
		if(fld.visible != undefined)
			if(fld.visible() == false)
				return;
		
		if(fld.disabled != undefined && fld.disabled == true)
			return;
		
		if(fld.style != undefined && fld.style.display != undefined && fld.style.display == 'none')
			return;
		
		fld.focus();
	}
}
//-----
function c9x4_form(frmName)
{
	if(frmName == undefined)
	{
		var f = (document.getElementById) ? document.getElementById(frmName) : document.all[frmName];
		
		if(c9x4_is_element(f))
			return f;		
	}
	else if(c9x4_is_element(frmName))
		return frmName;
	
	var frm = document.frmMain;
	
	if(frm != undefined)
		return frm;		
	
	frm = document.forms[0];
		
	if(frm != undefined)
		return frm;
	else
	{
		alert("Can't Detect a Form {getForm}");
		return undefined;
	}
}
//-----
function c9x4_get_label(fld)
{
    if(fld.innerHTML != undefined)
        return fld.innerHTML;
    else if(fld.data != undefined)
        return fld.data;
	else if(fld.innerText != undefined)
        return fld.innerText;
    else if(fld.textContent != undefined)
        return fld.textContent;
    else
    {
        alert("Invalid Field For {c9x4_get_label}: " + fld.id);		
		return "";
    }
}
//-----
function c9x4_is_element(element)
{
	if(!element)
		return false;
	else if(element.id != null || element.text != undefined || element.selectedIndex != undefined || element.checked != undefined)
		return true;
	else
		return false;
}
//-----
function c9x4_navigate_to(action, frm)
{
	frm = c9x4_form(frm);
		
	if(!frm)
		return;
	
	frm.action = action;
	
	c9x4_clear_event(frm);			
	
	frm.submit();
}
//-----
function c9x4_popup(url, width, height, resizable, address)
{
	width = c9x4_real_value(width, 640);
	
	height = c9x4_real_value(height, 480);
	
	address = c9x4_real_value(address, true);
	
	resizable = c9x4_real_value(resizable, true);

	var d = new Date();
	
	var title = 'c9x4_' + d.getHours() + "_" + d.getMinutes() + "_" + d.getSeconds();
	
	var params = 'scrollbars=yes';
	
	if(resizable)
		params += ',resizable=yes';
		
	if(address)
		params += ',location=yes';
	
   var left = Math.floor( (screen.width - width) / 2);
   
   var top = Math.floor( (screen.height - height) / 2);
   
   params = "top=" + top + ",left=" + left + ",height=" + height + ",width=" + width + ',' + params;
   
   var win = window.open(url, title, params);

   if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
	
   return win;	
}
//-----
function c9x4_real_value(value, value2)
{				 
	return (value == undefined) ? value2 : value;
}
//-----
function c9x4_reload_form(form)
{
	var frm = c9x4_form(form);  
	frm.submit();
}
//-----		
function c9x4_resize_image(imgObject, limitWidth)
{
	var w = imgObject.width;
	
	var h = imgObject.height;
	
	limitWidth = c9x4_real_value(limitWidth, 450);
	
	if(w > limitWidth)
	{
		var scaleFactor = limitWidth / w;

		w = w * scaleFactor;

		h = h * scaleFactor;

		if(w < 10) w = 10;
		
		if(h < 10) h = 10;
	}

	imgObject.width = w;
	
	imgObject.height = h;				
}
//-----
function c9x4_set_event(functionName, frm)
{
	frm = c9x4_form(frm);
	
	if(!frm)
		return false;
	
	if(frm.c9x4ev)
		frm.c9x4ev.value = functionName;

	return true;	
}
//-----
function c9x4_set_label(fld, value)
{
    if(fld.innerHTML != undefined)
        fld.innerHTML = value;
    else if(fld.data != undefined)
        fld.data = value;
	else if(fld.innerText != undefined)
        fld.innerText = value;
    else if(fld.textContent != undefined)
        fld.textContent = value;
    else
    {
        alert("Invalid Field For {c9x4_set_label}: " + name);		
		return false;
    }

    return true;
}
//-----
function c9x4_show_message(title, content, focusElement, alignElement)
{
	title = c9x4_real_value(title, 'c9x4 Message');	
	content = c9x4_real_value(content, 'Message Not Set');
	
	if(c9x4_show_alert_message)
	{
		content = message.replace("<p>", "");
		content = message.replace("</p>", "");		
		alert(content);
		return;	
	}
	
	if(!c9x4_empty(focusElement))
		c9x4_message_next_focus = focusElement;
	
	var message_div = c9x4_element('c9x4_message_div'); if(!message_div) return;
	var title_div = c9x4_element('c9x4_message_title_div');
	var message_message_div = c9x4_element('c9x4_message_message_div');	
	var message_content_div = c9x4_element('c9x4_message_content');
    
	c9x4_set_label(title_div, title);
	c9x4_set_label(message_message_div, content);
	
	var full_content = c9x4_get_label(message_content_div);
	
	c9x4_set_label(message_div, full_content);

	var left;
	var top;
	
	if(alignElement == undefined)
	{
		var screen_width = c9x4_detect_screen_width();		
   		left = Math.floor( (screen_width - 350) / 2);
   		top = 100;
	}
	else
	{
		var el = (c9x4_is_element(alignElement)) ? alignElement : c9x4_element(alignElement);
		
		var dimensions = c9x4_detect_element_position(el);
		
		var width = c9x4_detect_element_width(el);
		
		if(width == 0 || dimensions.left == 0 || dimensions.top == 0)
		{
			var screen_width = c9x4_detect_screen_width();		
			left = Math.floor( (screen_width - 350) / 2);
			top = 100;			
		}
		else
		{
			left = dimensions.left + width + 10;
			top = dimensions.top;
		}
	}
	
	message_div.style.left = left + 'px';
	
	message_div.style.top = top + 'px';
	
	message_div.style.display = 'block';
}
//-----
function c9x4_window_load_event()
{
	if(window.c9x4_load_page)
		c9x4_load_page();
		
	if(window.c9x4_load_messages)
		c9x4_load_messages();
	else if(window.c9x4_load_form)
	{
		c9x4_clear_form_variables();
		c9x4_load_form();		
	}
}
//-----
c9x4_add_load_event(c9x4_window_load_event);
//-----