function ValidateForm(frm)
{
	var sErrors = ValidateRequiredFields(frm);

	if(sErrors.length==0)
	{
		return true;
	}
	else
	{
		showValidationErrors(sErrors);
		return false;
	}
}

function doSubmit(formId)
{
	var frm = document.getElementById(formId);
	if(frm)
	{
		var a = frm.attributes.getNamedItem('Validate');
	   	if(a)
	   	{
	   		var bValidate = (a.value != 'false');
	   	}
	   	else
	   		var bValidate = false;
	   		
	   	if(bValidate)
	   	{
	   		var bIsValid = ValidateForm(frm);
	   	}
	   	else
	   		var bIsValid = true;
	   		
	   	if(bIsValid==true)
	   	{
			frm.submit();
		}
		else
			return false;
	}
}

function showLogin()
{
	hideElement(document.getElementById('footer_links'));
	showElement(document.getElementById('login_prompt'));
}

function hideLogin()
{
	showElement(document.getElementById('footer_links'));
	hideElement(document.getElementById('login_prompt'));
}

function DownloadRedisplay()
{
	hideShowCovered('visible');
}

function DownloadResource(title,href,h,w)
{
	hideShowCovered('hidden');
	return GB_showCenter(title, href,h,w);
}

function showNavSection(atag)
{
	var p = atag.parentNode.parentNode;
	var attr = p.attributes.getNamedItem('divGroup');
	if(attr)
	{
//		toggleSection(p.id);
		ForceOpenNav = p.id;
	}
}

function MarkNavLinks(this_page_url,parentContainer,markClass,unMarkClass)
{	
	var arr = parentContainer.getElementsByTagName('a');
	var el;
	for(var i=0; i<arr.length; i++)
	{
		el = arr[i];	
		var a = el.pathname;
	
		/*var a = el.attributes.getNamedItem('href'); */
	   	if(a)
	   	{
	   		var cls = el.className;
	   		if(cls==markClass || cls==unMarkClass)
	   		{
	   			if(a.substring(a.length-1)=='/')
	   			{
	   				a = a + 'index.php';
	   			}
	   			if(this_page_url.substring(this_page_url.length-1)=='/')
	   			{
	   				this_page_url = this_page_url + 'index.php';
	   			}
		   		if((a==this_page_url) || ('/'+a==this_page_url))
		   		{
					setClass(el,markClass);
					showNavSection(el);

		   		}
		   		else
				{
					setClass(el,unMarkClass);
				}
			}
	   	}
	}
}

function setAnimatedDivs(openSectionId)
{
	var d_id = '';
   animatedcollapse.init();
	var divs = getElementsByClassName(document, 'div', 'animated_div')
	if(divs.length)
	{
		for(x=0;x<divs.length;x++)
		{
			var d = divs[x];
			var attr = '';
			var g = d.attributes.getNamedItem('divGroup');
	   		if(g)
	   		{
				attr='group='+g.value;
				
			}
		
			if(openSectionId == d.id)
			{
				attr = attr + ',hide=0';
			}		
			else
			{
				attr = attr + ',hide=1';
			}
			animatedcollapse.addDiv(d.id,attr);
		}
	}
}

function toggleSection(section_id)
{
		animatedcollapse.toggle(section_id);
		
//		var h = document.getElementById('header_'+section_id);
//		if(h)
//		{
//			if(h.className != 'header_closed')
//			{
//				var header_class="header_closed";
//			}
//			else
//				var header_class="header_open";
			
//		}		
//		var headers = getElementsByClassName(document, 'div', 'header_open')
//		if(headers.length)
//		{
//			for(x=0;x<headers.length;x++)
//			{
//			  headers[x].className = 'header_closed';
//			}
//		}
//		if(h)
//		{
//			h.className=header_class;
//		}
}	

GB_hide=function(cb){
GB_CURRENT.hide(cb);
DownloadRedisplay();
};

var CustomEvent = function() {
	//name of the event
	this.eventName = arguments[0];
	var mEventName = this.eventName;

	//function to call on event fire
	var eventAction = null;

	//subscribe a function to the event
	this.subscribe = function(fn) {
		eventAction = fn;
	};

	//fire the event
	this.fire = function(sender, eventArgs) {
		//this.eventName = eventName2;
		if(eventAction != null) {
			eventAction(sender, eventArgs);
		}
		else {
			//alert('There was no function subscribed to the ' + mEventName + ' event!');
		}
	};
};

var ForceOpenNav = '' //defines the nav section which should be open for this page
