function ShowEventMenu(idMenu){
	if (!getElementsByClass("event-menu" + idMenu,null,"div")) return false;
		var menu = getElementsByClass("event-menu" + idMenu)
		//Lets show the popup menu
		menu[0].style.display = 'block'
		menu[0].style.position = 'absolute'
		
}

	function HideEventMenu(idMenu){
	if (!getElementsByClass("event-menu" + idMenu,null,"div")) return false;
		var menu = getElementsByClass("event-menu" + idMenu)
		//Lets show the popup menu
		menu[0].style.display = 'none'
		
}			  

sfHover = function() {
	 if (!document.getElementById("nav")) return false;
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]


/* Reference Article:
Dustin Diaz:
http://www.dustindiaz.com/top-ten-javascript/
*/

/* addEvent: simplified event attachment */
function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}
	
var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
addEvent(window,'unload',EventCache.flush);

/* window 'load' attachment */
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

/* grab Elements from the DOM by className */
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

/* toggle an element's display */
function toggle(obj) {
	
	var el = document.getElementById(obj);
	
	if ( el.style.display != 'none' && el.style.display != '' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = 'block';
		
	}
}
function toggleMoreEvents(){
	toggle('moreOptions');
	if($("hideShowOptions")){
		var moreOptions = $("hideShowOptions");
		if (moreOptions.innerHTML.indexOf("More Options") >= 0){
			moreOptions.innerHTML = "<< Hide Options";	
		}
		else if(moreOptions.innerHTML.indexOf("Hide Options") >= 0){
			moreOptions.innerHTML = "<< More Options";	
		}
	}
}

function addLocation(val){
	if(val == "3"){
		var other = $("other_event");
		other.style.display = "none";
		$("other_location").className = "";
		$("other_location").value = "";
		
		var camel = $("camel_event");
		camel.style.display = "block";
		$("camel_location").className = "required";
	}
	else{
		var camel = $("camel_event");
		camel.style.display = "none";
		$("camel_location").className = "";
		$("camel_location").value = "";
		$("Event_Category_Id").value = "";
		
		var other = $("other_event");
		other.style.display = "block";
		$("other_location").className = "required inputField";
	}
}

/* toggle Tooltip an element's display */
function toggleTooltip(obj,tooltipstate) {
	var el = document.getElementById(obj);
		if(tooltipstate){el.style.display = 'block';}else{el.style.display = 'none';}
		
}
/* insert an element after a particular node */
function insertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
}

/* Array prototype, matches value in array: returns bool */
Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

/* get, set, and delete cookies */
function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
	
function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+"="+escape( value ) +
		( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) +
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}
	
function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

/* quick getElement reference */
function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}


// xCapitalize, Copyright 2001-2005 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL

// Capitalize the first letter of every word in str.

function xCapitalize(str)
{
  var i, c, wd, s='', cap = true;

  for (i = 0; i < str.length; ++i) {
    c = str.charAt(i);
    wd = isWordDelim(c);
    if (wd) {
      cap = true;
    }
    if (cap && !wd) {
      c = c.toUpperCase();
      cap = false;
    }
    s += c;
  }
  return s;

  function isWordDelim(c)
  {
    // add other word delimiters as needed
    // (for example '-' and other punctuation)
    return c == ' ' || c == '\n' || c == '\t';
  }
}


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = maxlimit - field.value.length;
}


/*Modal dhtmlgoodies script*/



function displayMessage(url)
{
	messageObj.setSource(url);
	messageObj.setCssClassMessageBox(false);
	messageObj.setSize(200,100);
	messageObj.setShadowDivVisible(true);	// Enable shadow for these boxes
	messageObj.display();
}

function displayMessageLogin(url,w,h)
{
	messageObj.setSource(url);
	messageObj.setCssClassMessageBox(false);
	messageObj.setSize(w,h);
	messageObj.setShadowDivVisible(true);	// Enable shadow for these boxes
	messageObj.display();
}

function closeMessage()
{
	messageObj.close();	
}


function marketToggler(){
	
		 if (!document.getElementById("Addmarket")) return false;
		 var AddMarketLink = document.getElementById("Addmarket")
		 AddMarketLink.onclick = function(){
			 	toggleMrk('NewMarketFrm');
				toggleMrk('market');
				return false;
			 };
	
	
	}
	function toggleMrk(obj) {

	var el = document.getElementById(obj);
	
	if ( el.style.display != 'none' && el.style.display != '' ) {
		el.style.display = 'none';
		el.value = '';
	}
	else {
		el.style.display = 'block';
		el.value = '';
	}
}
addLoadEvent(function() {
					  
					 marketToggler()
					  
					  });

function CheckAll()
{
	for (var i=0;i<document.form.elements.length;i++)
	{
		var e = document.form.elements[i];
		if ((e.name != 'checkall') && (e.type=='checkbox'))
		e.checked = document.form.checkall.checked;
	}
}

function GetXmlHttpObject()
{ 
  var objXMLHttp=null
  if (window.XMLHttpRequest)
  {
   //alert("xmlhttprequest");
    objXMLHttp=new XMLHttpRequest();
  }
  else if (window.ActiveXObject)
  {
    objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  return objXMLHttp;
}

function isFilled(field) {
  if (field.value.length < 1 ) {
    return false;
  } else {
    return true;
  }
}


 /************************************************************************************************************
	(C) www.dhtmlgoodies.com, October 2005
	
	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
	
	Terms of use:
	You are free to use this script as long as the copyright message is kept intact. However, you may not
	redistribute, sell or repost it without our permission.
	
	Thank you!
	
	www.dhtmlgoodies.com
	Alf Magne Kalleland
	
	************************************************************************************************************/
	function selectItem()
	{
	 var obj = document.getElementById('toBox');
	 for(var no=0;no<obj.options.length;no++){
	  obj.options[no].selected = true;
	 }
	}
		
	var fromBoxArray = new Array();
	var toBoxArray = new Array();
	var selectBoxIndex = 0;
	
	function moveSingleElement()
	{
		var selectBoxIndex = this.parentNode.parentNode.id.replace(/[^\d]/g,'');
		var tmpFromBox;
		var tmpToBox;
		if(this.tagName.toLowerCase()=='select'){			
			tmpFromBox = this;
			if(tmpFromBox==fromBoxArray[selectBoxIndex])tmpToBox = toBoxArray[selectBoxIndex]; else tmpToBox = fromBoxArray[selectBoxIndex];
		}else{
		
			if(this.value.indexOf('>')>=0){
				tmpFromBox = fromBoxArray[selectBoxIndex];
				tmpToBox = toBoxArray[selectBoxIndex];			
			}else{
				tmpFromBox = toBoxArray[selectBoxIndex];
				tmpToBox = fromBoxArray[selectBoxIndex];	
			}
		}
		
		for(var no=0;no<tmpFromBox.options.length;no++){
			if(tmpFromBox.options[no].selected){
				tmpFromBox.options[no].selected = false;
				tmpToBox.options[tmpToBox.options.length] = new Option(tmpFromBox.options[no].text,tmpFromBox.options[no].value);
				
				for(var no2=no;no2<(tmpFromBox.options.length-1);no2++){
					tmpFromBox.options[no2].value = tmpFromBox.options[no2+1].value;
					tmpFromBox.options[no2].text = tmpFromBox.options[no2+1].text;
					tmpFromBox.options[no2].selected = tmpFromBox.options[no2+1].selected;
				}
				no = no -1;
				tmpFromBox.options.length = tmpFromBox.options.length-1;
											
			}			
		}
		
		
		var tmpTextArray = new Array();
		for(var no=0;no<tmpFromBox.options.length;no++){
			tmpTextArray.push(tmpFromBox.options[no].text + '___' + tmpFromBox.options[no].value);			
		}
		tmpTextArray.sort();
		var tmpTextArray2 = new Array();
		for(var no=0;no<tmpToBox.options.length;no++){
			tmpTextArray2.push(tmpToBox.options[no].text + '___' + tmpToBox.options[no].value);			
		}		
		tmpTextArray2.sort();
		
		for(var no=0;no<tmpTextArray.length;no++){
			var items = tmpTextArray[no].split('___');
			tmpFromBox.options[no] = new Option(items[0],items[1]);
			
		}		
		
		for(var no=0;no<tmpTextArray2.length;no++){
			var items = tmpTextArray2[no].split('___');
			tmpToBox.options[no] = new Option(items[0],items[1]);			
		}
	}
	
	function sortAllElement(boxRef)
	{
		var tmpTextArray2 = new Array();
		for(var no=0;no<boxRef.options.length;no++){
			tmpTextArray2.push(boxRef.options[no].text + '___' + boxRef.options[no].value);			
		}		
		tmpTextArray2.sort();		
		for(var no=0;no<tmpTextArray2.length;no++){
			var items = tmpTextArray2[no].split('___');
			boxRef.options[no] = new Option(items[0],items[1]);			
		}		
		
	}
	function moveAllElements()
	{
		var selectBoxIndex = this.parentNode.parentNode.id.replace(/[^\d]/g,'');
		var tmpFromBox;
		var tmpToBox;		
		if(this.value.indexOf('>')>=0){
			tmpFromBox = fromBoxArray[selectBoxIndex];
			tmpToBox = toBoxArray[selectBoxIndex];			
		}else{
			tmpFromBox = toBoxArray[selectBoxIndex];
			tmpToBox = fromBoxArray[selectBoxIndex];	
		}
		
		for(var no=0;no<tmpFromBox.options.length;no++){
			tmpToBox.options[tmpToBox.options.length] = new Option(tmpFromBox.options[no].text,tmpFromBox.options[no].value);			
		}	
		
		tmpFromBox.options.length=0;
		sortAllElement(tmpToBox);
		
	}
	
	
	
	function createMovableOptions(fromBox,toBox,totalWidth,totalHeight,labelLeft,labelRight)
	{		
		fromObj = document.getElementById(fromBox);
		toObj = document.getElementById(toBox);
		

		
		fromObj.ondblclick = moveSingleElement;
		toObj.ondblclick = moveSingleElement;

		
		fromBoxArray.push(fromObj);
		toBoxArray.push(toObj);
		
		var parentEl = fromObj.parentNode;
		
		var parentDiv = document.createElement('DIV');
		parentDiv.className='multipleSelectBoxControl';
		parentDiv.id = 'selectBoxGroup' + selectBoxIndex;
		parentDiv.style.width = totalWidth + 'px';
		parentDiv.style.height = totalHeight + 'px';
		parentEl.insertBefore(parentDiv,fromObj);
		
		
		var subDiv = document.createElement('DIV');
		subDiv.style.width = (Math.floor(totalWidth/2) - 15) + 'px';
		fromObj.style.width = (Math.floor(totalWidth/2) - 15) + 'px';

		var label = document.createElement('SPAN');
		label.innerHTML = labelLeft;
		subDiv.appendChild(label);
		
		subDiv.appendChild(fromObj);
		subDiv.className = 'multipleSelectBoxDiv';
		parentDiv.appendChild(subDiv);
		
		
		var buttonDiv = document.createElement('DIV');
		buttonDiv.style.verticalAlign = 'middle';
		buttonDiv.style.paddingTop = (totalHeight/2) - 50 + 'px';
		buttonDiv.style.width = '30px';
		buttonDiv.style.textAlign = 'center';
		parentDiv.appendChild(buttonDiv);
		
		var buttonRight = document.createElement('INPUT');
		buttonRight.type='button';
		buttonRight.value = '>';
		buttonDiv.appendChild(buttonRight);	
		buttonRight.onclick = moveSingleElement;	
		
		var buttonAllRight = document.createElement('INPUT');
		buttonAllRight.type='button';
		buttonAllRight.value = '>>';
		buttonAllRight.onclick = moveAllElements;
		buttonDiv.appendChild(buttonAllRight);		
		
		var buttonLeft = document.createElement('INPUT');
		buttonLeft.style.marginTop='10px';
		buttonLeft.type='button';
		buttonLeft.value = '<';
		buttonLeft.onclick = moveSingleElement;
		buttonDiv.appendChild(buttonLeft);		
		
		var buttonAllLeft = document.createElement('INPUT');
		buttonAllLeft.type='button';
		buttonAllLeft.value = '<<';
		buttonAllLeft.onclick = moveAllElements;
		buttonDiv.appendChild(buttonAllLeft);
		
		var subDiv = document.createElement('DIV');
		subDiv.style.width = (Math.floor(totalWidth/2) - 15) + 'px';
		toObj.style.width = (Math.floor(totalWidth/2) - 15) + 'px';

		var label = document.createElement('SPAN');
		label.innerHTML = labelRight;
		subDiv.appendChild(label);
				
		subDiv.appendChild(toObj);
		parentDiv.appendChild(subDiv);		
		
		toObj.style.height = (totalHeight - label.offsetHeight) + 'px';
		fromObj.style.height = (totalHeight - label.offsetHeight) + 'px';

			
		selectBoxIndex++;
		
	}

function insertPost(){
	var originalPost = $("originalPost").innerHTML;
	var myPost = $("message");
	myPost.value = formatPost(originalPost,50) + myPost.value;
}

function clearField(obj){
	$(obj).value = "";
}
function checkField(obj,str){
	if($(obj).value == ""){
		$(obj).value = str;
	}
}

function removeRequired(selectedVal,ValToCheck,elementArray){
	if(selectedVal == ValToCheck){
		for(i = 0;i < elementArray.length;i++){
			if($(elementArray[i])){
				var element = $(elementArray[i]);
				element.className = element.className.replace("required","");
			}
		}
	}else{
		for(i = 0;i < elementArray.length;i++){
			if($(elementArray[i])){
				var element = $(elementArray[i]);
				if(element.className.indexOf("required") == -1){
					element.className = "required " + element.className;
				}
			}
		}
	}
}


/*Remove the Insert Vutton From the Addmedia Form*/

function RemoveMediaButton (id){
	 if (document.getElementById('FileInsert_' + id)){
		var  fromButtonj = document.getElementById('FileInsert_' + id);
		var  Inlightbox = document.getElementById('InLightbox_' + id);
		 fromButtonj.style.display = 'none'
		 Inlightbox.style.display = 'block'
		 };
	};


function ShowMediaButton (id){
	 if (document.getElementById('FileInsert_' + id)){
		var  fromButtonj = document.getElementById('FileInsert_' + id);
		var  Inlightbox = document.getElementById('InLightbox_' + id);
		 fromButtonj.style.display = 'block'
		 Inlightbox.style.display = 'none'
		 };
	};

function removemodalMediaUpdate(){
	
	 if (document.getElementById('MediaUpdate')){
		 var MediaUpdate = document.getElementById("MediaUpdate");
		  MediaUpdate.style.display = 'none'
		 
		 }
	
	}

function addClickEvent(obj,url){
	if($(obj) && YAHOO.util.Event.getListeners($(obj),"click") == null){
		$(obj).style.cursor = "pointer";
		YAHOO.util.Event.addListener(obj, 'click',function(){window.location = url;});
	}
}

function toggleCalendarLegend(e){
	YAHOO.util.Event.preventDefault(e);
	if(myModule.cfg.getProperty("visible")){
		myModule.hide();
	}else if(!myModule.cfg.getProperty("visible")){
		myModule.show();
		
	}
}


function toggleLatestActivityLegend(e){
	YAHOO.util.Event.preventDefault(e);
	if(LatestActivity.cfg.getProperty("visible")){
		LatestActivity.hide();
	}else if(!LatestActivity.cfg.getProperty("visible")){
		LatestActivity.show();
		
	}
}


function togglefeedback(e){
	YAHOO.util.Event.preventDefault(e);
	$("bfgfeedback").style.display = "block";
	if(feedbackPanel.cfg.getProperty("visible")){
		feedbackPanel.hide();
	}else if(!feedbackPanel.cfg.getProperty("visible")){
		feedbackPanel.show();
		$("feedbackMessage").value = "";
	}
}

function openWindow(url,width,height,name){
		   		var myWin = window.open(url,name,"location=false,scrollbars=false,toolbar=false,resizable=false,menubar=false,height=" + height + ",width=" + width);
}
function openNewWindow(url){
		   		var myWin = window.open(url,"OnlineTraining","scrollbars=false,toolbar=false,resizable=false,menubar=false,height=601,width=806");
		}


function gotopage(){
	
	
	var GotopageArr = getElementsByClass('GotoButton')
	
	for (var i = 0; i < GotopageArr.length; i++) {
		var Gotopage = GotopageArr[i];
		
		Gotopage.onclick = function(){
			if(document.getElementById("GTP-" + this.id)){
				var PagetoGOArr = document.getElementById("GTP-" + this.id)
				
				window.location = this.href + '&p=' + PagetoGOArr.value
				};
			
			
			return false;
			};
		
	};	
	
	
	
	};
