
function enterKeyHit (e)
	{
	if (e && e.keyCode == 13)
		{
		return true;
		}
	else
		{
		return false;
		}
	}


function insertAtCursor (myField, myValue)
	{
	//IE support
	if (document.selection)
		{
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
		}
	//MOZILLA/NETSCAPE support
	else if (myField.selectionStart || myField.selectionStart == '0')
		{
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		restoreTop = myField.scrollTop;
		myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
		myField.selectionStart = startPos + myValue.length;
		myField.selectionEnd = startPos + myValue.length;
		if (restoreTop>0)
			{
			myField.scrollTop = restoreTop;
			}
		}
	else
		{
		myField.value += myValue;
		}
	}


function interceptTabs (evt, control)
	{
	key = evt.keyCode ? evt.keyCode : evt.which ? evt.which : evt.charCode;
	if (key==9)
		{
		insertAtCursor(control, '\t');
		return false;
		}
	else
		{
		return key;
		}
	}


function toggleSpoiler (sid, cType)
	{
	var sNot = document.getElementById('spoilerNot'+sid);
	var sDat = document.getElementById('spoilerDat'+sid);
	if (cType == 1)
		{
		$(sNot).effect('pulsate', {times: 2}, 100).fadeOut(0, function(){$(sDat).fadeIn(90);});
		//$(sDat).fadeIn(90);
		}
	else
		{
		//$(sNot).fadeIn(90);
		$(sDat).effect('pulsate', {times: 2}, 100).fadeOut(0, function(){$(sNot).fadeIn(90);});
		}
	}


function setCookie (name, value, expires, path, domain, secure)
	{
	var today = new Date();
	today.setTime(today.getTime());
	if (expires)
		{
		expires = expires * 1000 * 60 * 60 * 86400;
		}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
	}


function switchCollapsible (cid)
	{
	var currentState = document.getElementById(cid).className;
	if (currentState == 'collapsible-body')
		{
		$("#"+cid).hide('blind', null, 500);
		var newClass = 'collapsible-body_closed';
		var newIcon = colIconMax;
		var cookieVal = 0;
		}
	else
		{
		$("#"+cid).show('blind', null, 500);
		var newClass = 'collapsible-body';
		var newIcon = colIconMin;
		var cookieVal = 1;
		}
	document.getElementById(cid).className = newClass;
//	$('#'+'col-icon-'+cid).toggle('clip');
	document.getElementById('col-icon-'+cid).src = newIcon;
	$('#'+'col-icon-'+cid).effect('pulsate', {times:2}, 200);
	setCookie('collapsible-'+cid, cookieVal);
	}


function showCap(text) 
	{
	newtext = '<FONT CLASS="over_caption_font">'+text+'</FONT>'; //, CAPTION, text
	return overlib(text,BGCLASS,'over_caption_box',FGCLASS,'over_caption_main',TEXTFONTCLASS,'over_caption_font',WRAP,OFFSETX,-5,OFFSETY,15);
	}


function ChangeIconImage (cFormName,cFieldName,cImageName,cIconDir)
	{
	if (document.forms[cFormName][cFieldName][document.forms[cFormName][cFieldName].selectedIndex].value.indexOf('/') ==-1)
		{
		document.images[cImageName].src = cIconDir;
		}
	else
		{
		document.images[cImageName].src = '';
		}
	document.images[cImageName].src += document.forms[cFormName][cFieldName][document.forms[cFormName][cFieldName].selectedIndex].value;
	}



function CheckAll(formName)
	{
	formObject = document.forms[formName];
	for (var i = 1; i < formObject.elements.length; i++)
		{
		if (!formObject.elements[i].checked)
			{
			formObject.elements[i].checked = true;
			}
		else
			{
			formObject.elements[i].checked = false;
			}
		} 
	}


function checkFields (fields)
	{
	var fieldsArray = fields.split('|');
	for (var f = 0; f < fieldsArray.length; f++)
		{
		field = document.getElementById(fieldsArray[f]);

		//field = document.forms[formName][f];

		if (field.checked == false)
			{
			field.checked = true;
			}
		else
			{
			field.checked = false;
			}
		}
	}


function changeBox(cbox)
	{
	box = eval(cbox);
	box.checked = !box.checked;
	}


function updateCountDownChars (field, allowed, updateDiv)
	{;
	var charsLeft = (allowed - document.getElementById(field).value.length);
	document.getElementById(updateDiv).innerHTML = charsLeft;
	}


function changeSearchItemsTypeField ()
	{
	var useField = false;
	if (document.forms['searchform']['ct_1'].checked)
		{
		useField = true;
		}
	if (useField)
		{
		document.forms['searchform']['itype'].disabled = false;
		document.forms['searchform']['itype'].className = "form";
		}
	else
		{
		document.forms['searchform']['itype'].disabled = true;
		document.forms['searchform']['itype'].className = "form_disabled";
		}
	}


function AddPostToDelete (postid,AddOrDelete)
	{
	var ToDeletePosts = document.forms['ConfirmPostDeleteForm']['ManagablePiped'].value.split('|');
	var NewDeletePosts = '';
	var WasTicked = "no";
	for (i=0; i < ToDeletePosts.length; i++)
		{
		if (ToDeletePosts[i] != postid && ToDeletePosts[i] != '')
			{
			NewDeletePosts += ToDeletePosts[i] + "|";
			}
		else if (ToDeletePosts[i] != '')
			{
			var WasTicked = "yes";
			}
		}
	if (WasTicked == 'no' && AddOrDelete != '2')
		{
		NewDeletePosts += postid;
		}
	document.forms['ConfirmPostDeleteForm']['ManagablePiped'].value = NewDeletePosts;
	}


function ShowFormElement(FieldToChange,FormName,RequiredField)
	{
	if (document.forms[FormName][RequiredField].value == '')
		{
		document.forms[FormName][FieldToChange].className = "form_collapsed";
		}
	else
		{
		document.forms[FormName][FieldToChange].value='';document.forms[FormName][FieldToChange].focus();
		document.forms[FormName][FieldToChange].className = "form";
		}
	}


function HideFormElement(xDivId)
	{
	document.getElementById(xDivId).className = "form_collapsed";
	}


function ShowFormElement2(FieldToChange,FormName,RequiredField)
	{
	if (document.forms[FormName][RequiredField].value != '')
		{
		document.forms[FormName][FieldToChange].className = "form_collapsed";
		}
	else
		{
		document.forms[FormName][FieldToChange].value='';document.forms[FormName][FieldToChange].focus();
		document.forms[FormName][FieldToChange].className = "form";
		}
	}


function HideFormElement2(xDivId)
	{
	document.getElementById(xDivId).className = "form";
	}


function ShowFormElement3(FieldToChange,FormName,RequiredField,MatchValue)
	{
	if (document.forms[FormName][RequiredField].value == MatchValue)
		{
		//document.write("ok");
		document.forms[FormName][FieldToChange].className = "form";
		}
	else
		{
		//document.forms[FormName][FieldToChange].value='';document.forms[FormName][FieldToChange].focus();
		document.forms[FormName][FieldToChange].className = "form_collapsed";
		}
	}


function ZipCodeArea(FieldToChange,FormName,RequiredField,MatchValue)
	{

	var PageElement = document.getElementById(FieldToChange);
	if (document.forms[FormName][RequiredField].value == MatchValue)
		{
		PageElement.className = 'areashow';
		document.forms[FormName].zipcode.disabled = false;
		document.forms[FormName].ziprangetype.disabled = false;
		document.forms[FormName].zipdistance.disabled = false;
		//PageElement.style.visibility = 'visible';
		}
	else
		{
		PageElement.className = 'areahide';
		document.forms[FormName].zipcode.disabled = true;
		document.forms[FormName].ziprangetype.disabled = true;
		document.forms[FormName].zipdistance.disabled = true;
		//PageElement.style.visibility = 'hidden';
		}

	}


function Disable(FormName,ButToDisable)
	{
	document.forms[FormName][ButToDisable].disabled = true;
	document.forms[FormName][ButToDisable].className = 'form_disabled';
	setTimeout( function()
		{
		document.forms[FormName][ButToDisable].disabled = false;
		document.forms[FormName][ButToDisable].className = 'form';
		}
	,(1000));
	}


function previewSoundLink (soundURL, formName, fieldName)
	{
	document.getElementById(fieldName + "-preview").innerHTML = "<embed src='" + soundURL + "/" + document.forms[formName][fieldName].value + ".wav' hidden='true' autostart='true' loop='false'>";
	}


function ChangeCounter(cFormName,cFieldName,cImageName,cText,cFS,cBG,cFC)
	{
	document.images[cImageName].src = 'img.php?img=counter&views=' + cText + '&fs=' + cFS + '&fc=' + cFC + '&bg=' + cBG + '&ff=';
	document.images[cImageName].src += document.forms[cFormName][cFieldName][document.forms[cFormName][cFieldName].selectedIndex].value;
	}


function AddAnotherImage (ImgText)
	{
	var curImageCount = document.getElementById('multImageCount').value;
	curImageCount++;
	var addImageArea = document.getElementById('multImageArea');
	addImageArea.innerHTML += "<div class='mitem-row'>";
	addImageArea.innerHTML += "<div class='mitem-row_left'>" + ImgText + " " + curImageCount + "</div><!-- end mitem-row_left -->";
	addImageArea.innerHTML += "<div class='mitem-row_right'><input type=\"file\" class='mitem-input_file' name=\"image" + curImageCount + "\"/></div><!-- end mitem-row_right -->";
	addImageArea.innerHTML += "</div><!-- end mitem-row -->";
	document.getElementById('multImageCount').value = curImageCount;
	}


function AddAnotherAttachment (AttText)
	{
	var CurAddAttCount = document.getElementById('multAttachmentCount').value;
	CurAddAttCount++;
	var addAttachmentArea = document.getElementById('multAttachmentArea');
	addAttachmentArea.innerHTML += "<div class='mitem-row'>";
	addAttachmentArea.innerHTML += "<div class='mitem-row_left'>" + AttText + " " + CurAddAttCount + "</div><!-- end mitem-row_left -->";
	addAttachmentArea.innerHTML += "<div class='mitem-row_right'><input type='file' class='mitem-input_file' name='attachment" + CurAddAttCount + "'/></div><!-- end mitem-row_right -->";
	addAttachmentArea.innerHTML += "</div><!-- end mitem-row -->";
	document.getElementById('multAttachmentCount').value = CurAddAttCount;
	}






function getXMLHttpRequestObject()
	{
	var xmlobj;
	// check for existing requests
	if(xmlobj!=null&&xmlobj.readyState!=0&&xmlobj.readyState!=4)
		{
		xmlobj.abort();
		}
	try
		{
		// instantiate object for Mozilla, Nestcape, etc.
		xmlobj=new XMLHttpRequest();
		}
	catch(e)
		{
		try
			{
			// instantiate object for Internet Explorer
			xmlobj=new ActiveXObject('Microsoft.XMLHTTP');
			}
		catch(e)
			{
			// Ajax is not supported by the browser
			xmlobj=null;
			return false;
 			}
		}
	return xmlobj;
	}


// INITIALIZE REFRESH
function updateBullets (bulletType, rSeconds, rTheme)
	{
	var RefreshRequest = getXMLHttpRequestObject();
	getBulletsData(RefreshRequest, bulletType, rSeconds, rTheme);
	}


// GET POST FORM DATA
function getBulletsData(PassedRequest, bulletType, rSeconds, rTheme) 
	{
	if (PassedRequest.readyState == 4 || PassedRequest.readyState == 0) 
		{
		PassedRequest.open("GET", baseURL + '/ajaxdata.php?type=bullets&btype=' + bulletType + '&theme=' + rTheme, true);
		PassedRequest.onreadystatechange = function ()
			{
			handleBulletsData(PassedRequest, bulletType, rSeconds, rTheme);
			} 
		PassedRequest.send(null);
		}			
	}


// HANDLE REFRESH
function handleBulletsData(PassedRequest, bulletType, rSeconds, rTheme) 
	{
	if (PassedRequest.readyState == 4) 
		{
		var ResponseData = PassedRequest.responseText;
		var DataArray = ResponseData.split('|');
		for (i=0; i < DataArray.length; i++)
			{
			var EachPair = DataArray[i].split("=");
			var SectionID = EachPair[0];
			var ImgURL = EachPair[1];
			if (bulletType == 'section')
				{
				var SectionBulletID = "SectionBullet" + SectionID;
				}
			else if (bulletType == 'forum')
				{
				var SectionBulletID = "ForumBullet" + SectionID;
				}
			if (document.getElementById(SectionBulletID))
				{
				document.getElementById(SectionBulletID).src = ImgURL;
				}
			}
		setTimeout( function()
			{
			getBulletsData(PassedRequest, bulletType, rSeconds, rTheme);
			}
		,(rSeconds * 1000));
		}
	}



// INITIALIZE POST FORM
function postInitForm (postType, ArgItemID, ArgIDType, ArgBoA)
	{
	PFRequest = getXMLHttpRequestObject();
	postGetForm(postType, ArgItemID, ArgIDType, ArgBoA);
	}


// GET POST FORM DATA
function postGetForm (postType, ArgItemID, ArgIDType, ArgBoA) 
	{
	if (PFRequest.readyState == 4 || PFRequest.readyState == 0) 
		{
		// EDITING A POST
		if (ArgIDType == 'pid')
			{
			var commentsField = "comments_"+ArgItemID;
			var urlIDType = 'pid';
			var IsAQuote = "ignore";
			var IsAQuoteURL = '';
			var WhatToChange = 'POST' + ArgItemID;
			}
		// QUOTING A POST
		else if (ArgIDType == 'pidq')
			{
			var commentsField = "comments_quote"+ArgItemID;
			var urlIDType = 'pid';
			var IsAQuoteURL = "&quote=1";
			var IsAQuote = '1';
			var WhatToChange = 'POST' + ArgItemID;
			}
		// ADDING A POST
		else
			{
			var commentsField = "comments_new"+ArgItemID;
			var urlIDType = 'id';
			var IsAQuote = "ignore";
			var IsAQuoteURL = '';
			var WhatToChange = 'Post_Form_Area';
			}
		PFRequest.open("GET", baseURL + '/ajaxdata.php?type=postform&ptype='+postType+'&' + urlIDType + '=' + ArgItemID + IsAQuoteURL, true);
		PFRequest.onreadystatechange = function ()
			{
			postHandleForm(WhatToChange, IsAQuote, 'ignore', ArgBoA, commentsField);
			}
		PFRequest.send(null);
		}			
	}


// HANDLE THE POST FORM DATA
function postHandleForm (DivToChange, IsQuoted, Collapse, BoA, commentsField) 
	{
	if (PFRequest.readyState == 4) 
		{
		var PostFormArea = document.getElementById(DivToChange);
		if (Collapse != 'ignore')
			{
			var PostItem = document.getElementById('PostFormSurround');
			PostItem.innerHTML = '';
			}
		if (IsQuoted != 'ignore')
			{
			if (BoA == '0')
				{
				PostFormArea.innerHTML = PFRequest.responseText + PostFormArea.innerHTML;
				}
			else
				{
				PostFormArea.innerHTML += PFRequest.responseText;
				}
			}
		else
			{
			PostFormArea.innerHTML = PFRequest.responseText;
			}
//alert(commentsField);
		//alert(commentsField);
		if (CKEDITOR.instances[commentsField])
			{
			//alert('exists');
			//CKEDITOR.instances[commentsField].destroy();
			CKEDITOR.remove(CKEDITOR.instances[commentsField]);
			}
		CKEDITOR.replace(commentsField, {customConfig : baseURL+'/'+pubDir['lib']+'/js/wysiwyg-comments.js'});
		//wysiwyg_comments();
		}
	}


function postProcessForm (postType, PassItemID, ArgIDType, IsQuoteProcess)
	{
	if (IsQuoteProcess != '1')
		{
		var IsQuoteProcess = '0';
		}
	if (PFRequest.readyState == 4 || PFRequest.readyState == 0) 
		{
		if (ArgIDType == 'pid')
			{
			var commentsField = "comments_"+PassItemID;
			var urlIDType = 'pid';
			var CollapseID = 'ignore';
			var WhatToChange = 'POST' + PassItemID;
			}
		else if (ArgIDType == 'pidq')
			{
			var commentsField = "comments_quote"+PassItemID;
			var urlIDType = 'id';
			var CollapseID = 'ignore';
			var WhatToChange = 'POST' + PassItemID;
			}
		// USED WHEN HANDLING ADDING A QUOTED POST
		else if (IsQuoteProcess == '1')
			{
			var commentsField = "comments_quote"+PassItemID;
			var urlIDType = 'id';
			var CollapseID = '1';
			var WhatToChange = 'Post_Form_Area';
			}
		else
			{
			var commentsField = "comments_new"+PassItemID;
			var urlIDType = 'id';
			var CollapseID = 'ignore';
			var WhatToChange = 'Post_Form_Area';
			}
		PFRequest.open("POST", baseURL + '/ajaxdata.php?type=postform&ptype='+postType+'&' + urlIDType + '=' + PassItemID, true);
		PFRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		var PostForm = document.getElementById('PostForm');
		var PostQuery = MakeQueryString(PostForm);
		PostQuery += "&comments=" + urlencode(CKEDITOR.instances[commentsField].getData());
		PFRequest.send(PostQuery);
		PFRequest.onreadystatechange = function()
			{
			postHandleForm(WhatToChange, 'ignore', CollapseID, 0, commentsField);
			}
		}
	}



// INITIALIZE REFRESH
function InitializeRefresh (rURL, rSeconds, rDiv)
	{
	var RefreshRequest = getXMLHttpRequestObject();
	setTimeout( function()
		{
		getRefreshData(RefreshRequest, rURL, rSeconds, rDiv);
		}
	,(rSeconds * 1000));
	return true;
	}


// GET POST FORM DATA
function getRefreshData(PassedRequest, rURL, rSeconds, rDiv) 
	{
	PassedRequest.open("GET", rURL, true);
	PassedRequest.onreadystatechange = function ()
		{
		if (PassedRequest.readyState == 4 && PassedRequest.status == 200)
			{
			handleRefreshData(PassedRequest, rURL, rSeconds, rDiv);
			}
		} 
	PassedRequest.send(null);
	return true;
	}


// HANDLE REFRESH
function handleRefreshData(PassedRequest, rURL, rSeconds, rDiv) 
	{
	var repeat = true;
	if (rDiv == 'NewMessage')
		{
		if (PassedRequest.responseText == '1')
			{
			//opacity('InboxButton','0','100','3000','1');
			$('#InboxButton').effect('pulsate', {times:20}, 1000);
			if (typeof(sURL) != "undefined")
				{
				document.getElementById(rDiv).innerHTML = "<embed src='" + sURL + "' hidden='true' autostart='true' loop='false'>";
				}
			if (typeof(newMessageNotification) != "undefined" && typeof(messengerURL) != "undefined")
				{
				var r = confirm(newMessageNotification);
				if (r)
					{
					window.location.href = messengerURL;
					}
				}
			repeat = false;
			}
		}
	else
		{
		if (PassedRequest.responseText != 'undefined' && PassedRequest.responseText != '')
			{
			document.getElementById(rDiv).innerHTML = PassedRequest.responseText;
			}
		}
	if (rDiv == 'ChatRoomMessages' && document.forms['chat_input_form'].elements['lock_scroll_bar'].checked)
		{
		document.getElementById('MessageContainer').scrollTop = document.getElementById('MessageContainer').scrollHeight;
		}
	if (repeat)
		{
		RefreshTime = setTimeout( function()
			{
			getRefreshData(PassedRequest, rURL, rSeconds, rDiv);
			}
		,(rSeconds * 1000));
		}
	}


// LOAD A URL BUT DO NOTHING WITH THE DATA
function loadURL (rURL, thanksMessage) 
	{
	var uRequest = getXMLHttpRequestObject();
	if (uRequest.readyState == 4 || uRequest.readyState == 0) 
		{
		uRequest.open("GET", rURL, true);
		uRequest.send(null);
		if (typeof(thanksMessage) != "undefined")
			{
			alert(thanksMessage);
			}
		}			
	}


function loadURLIntoID (rURL, rDiv, callback) 
	{
	var request = getXMLHttpRequestObject();
	request.open("GET", baseURL+"/"+rURL, true);
	request.send(null); // was after 2010-01-02
	request.onreadystatechange = function ()
		{
		if (request.readyState == 4)
			{
			document.getElementById(rDiv).innerHTML = request.responseText;
			if (rDiv == 'ChatRoomMessages' && document.forms['chat_input_form'].elements['lock_scroll_bar'].checked)
				{
				document.getElementById('MessageContainer').scrollTop = document.getElementById('MessageContainer').scrollHeight;
				}
			if (callback)
				{
				return eval(callback);
				}
			}
		}
	return;
	}


function changeCalendar (type, year, month, sType)
	{
	if (type == 1)
		{
		divName = "SectionCalendar";
		}
	else
		{
		divName = "AllSectionCalendar";
		}
	loadURLIntoID("ajaxdata.php?type=minicalendar&ctype=" + type + "&year=" + year + "&month=" + month + "&stype=" + sType, divName);
	}



function ChangeRadio (rURL)
	{
	var checkValue = document.forms['RADIOFORM']['station'].value;
	if (checkValue == 'add')
		{
		window.location.href = rURL + '/radio.php?action=form';
		}
	elseif (checkValue != 'undefined')
		{
		loadURLIntoID('ajaxdata.php?type=radio&id=' + id,'Radio');
		}
	}



function addToCB (mode)
	{
	var CBRequest = getXMLHttpRequestObject();
	CBRequest.open("POST", baseURL + '/ajaxdata.php?type=addtocb', true);
	CBRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById('CBForm');
	var PostQuery = MakeQueryString(FormObject);
	CBRequest.send(PostQuery);
	if (mode == 2)
		{
		var divName = "ChatterBoxLarge";
		}
	else
		{
		var divName = "ChatterBox";
		}
	var andMode = "&mode=" + mode;
	CBRequest.onreadystatechange = function()
		{
		if (CBRequest.readyState == 4) 
			{
			loadURLIntoID('ajaxdata.php?type=chatterbox' + andMode, divName);
			document.forms['cboxform']['message'].value = '';
			}
		}
	}


function removeFromCB (ID, mode)
	{
	var CBRequest = getXMLHttpRequestObject();
	CBRequest.open("GET", baseURL + '/ajaxdata.php?type=removefromcb&id=' + ID, true);
	CBRequest.send(null);
	if (mode == 2)
		{
		var divName = "ChatterBoxLarge";
		}
	else
		{
		var divName = "ChatterBox";
		}
	CBRequest.onreadystatechange = function()
		{
		loadURLIntoID("ajaxdata.php?type=chatterbox&mode=" + mode, divName);
		}
	}


function friendsCreateGroup ()
	{
	var aug = document.getElementById('fri_aug');
	var nfga = document.getElementById('fri_nga');
	var ngp = document.getElementById('NewFriendGroupPane');
	var Request = getXMLHttpRequestObject();
	Request.open("POST", baseURL + '/ajaxdata.php?type=friends_creategroup', true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById('CreateFriendsGroupForm');
	var PostQuery = create_request_string(FormObject);
	Request.send(PostQuery);
	Request.onreadystatechange = function()
		{
		if (Request.readyState == 4 || Request.readyState == 0) 
			{
			var gid = Request.responseText;
			var gRequest = getXMLHttpRequestObject();
			gRequest.open("GET", baseURL+'/ajaxdata.php?type=friends_group&id='+gid, true);
			gRequest.send(null);
			gRequest.onreadystatechange = function()
				{
				if (gRequest.readyState == 4)
					{
					ngp.innerHTML = gRequest.responseText + ngp.innerHTML;
					aug.value += gid + ",";
					nfga.value += gid + ",";
					var addedGroupsArray = nfga.value.split(',');
					for (var f = 0; f < addedGroupsArray.length; f++)
						{
						if (addedGroupsArray[f] != '')
							{
							var egid = addedGroupsArray[f];
							/* load up the jquery related script stuff here (to allow instant interactivity with the new group) */
							friendsActivateGroup(egid);
							}
						}
					}
				}
			}
		}
	}

function friendsActivateGroup (egid)
	{
	$(function ()
		{
		$("#MFG"+egid).droppable({
		hoverClass: 'friend_mgroup_over', drop: function(event, ui)
			{
			if (ui.draggable.attr('id') != '' && ui.draggable.attr('id') != 'undefined')
				{

				loadURL(baseURL+'/ajaxdata.php?type=friends_addtogroup&id='+egid+'&user=' + ui.draggable.attr('id'));
				loadURLIntoID('ajaxdata.php?type=friends_groupusers&id='+egid, 'g'+egid+'users'); 
				}
			}
		});
		$("#g"+egid+"users").sortable({
		stop: function(event, ui)
			{
			friendsOrder(egid); loadURLIntoID('ajaxdata.php?type=friends_groupusers&id='+egid, 'g'+egid+'users');
			}
		});
	});
	}


function friendsRemoveFromAllGroups (friend)
	{
	var aug = document.getElementById('fri_aug');
	var allGroupsArray = aug.value.split(',');
	for (var f = 0; f < allGroupsArray.length; f++)
		{
		var egid = allGroupsArray[f];
		loadURL(baseURL+'/ajaxdata.php?type=friends_removefromgroup&id='+egid+'&user=' + friend);
		loadURLIntoID('ajaxdata.php?type=friends_groupusers&id='+egid, 'g'+egid+'users');
		}
	}


function friendsDeleteGroup (gid, confirmMessage)
	{
	var r = confirm(confirmMessage);
	if (r)
		{
		var Request = getXMLHttpRequestObject();
		Request.open("GET", baseURL + '/ajaxdata.php?type=friends_deletegroup&id=' + gid, true);
		Request.send(null);
		document.getElementById('FriendsGroup'+gid).innerHTML = '';
		}
	}


function friendsRenameGroup (gid)
	{
	var Request = getXMLHttpRequestObject();
	Request.open("POST", baseURL + '/ajaxdata.php?type=friends_renamegroup&id=' + gid, true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	Request.send("groupname=" + encodeURIComponent(document.getElementById('fgroup'+gid+'name').value));
	}


function friendsOrder (group)
	{
	var Request = getXMLHttpRequestObject();
	var ajaxURL = '';
	var formName = '';
	if (group == 'all')
		{
		ajaxURL = baseURL + '/ajaxdata.php?type=friends_orderusers';
		}
	else
		{
		ajaxURL = baseURL + '/ajaxdata.php?type=friends_orderusers&id=' + group;
		}
	formName = 'fg' + group + 'form';
	Request.open("POST", ajaxURL, true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById(formName);
	var PostQuery = create_request_string(FormObject);
	Request.send(PostQuery);

	}


function itemUpdateTags (resSec, resText, itemID)
	{
	var Request = getXMLHttpRequestObject();
	Request.open("POST", baseURL + '/ajaxdata.php?type=item_tags&id=' + itemID, true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById('ItemTagsForm');
	var PostQuery = MakeQueryString(FormObject);
	Request.send(PostQuery);
	Request.onreadystatechange = function()
		{
		if (Request.readyState == 4) 
			{
			var itemTags = document.forms['item_tags_form']['tags'].value;
			document.forms['item_tags_form']['tags'].value = resText;
			setTimeout( function()
				{
				document.forms['item_tags_form']['tags'].value = itemTags;
				document.forms['item_tags_form']['tags'].blur();
				}
			,(resSec * 1000));
			}
		}
	}


function adsUpdateTags (resSec, resText, adID)
	{
	var Request = getXMLHttpRequestObject();
	Request.open("POST", baseURL + '/ajaxdata.php?type=ad_tags&id=' + adID, true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById('AdTagsForm');
	var PostQuery = MakeQueryString(FormObject);
	Request.send(PostQuery);
	Request.onreadystatechange = function()
		{
		if (Request.readyState == 4) 
			{
			var adTags = document.forms['ad_tags_form']['tags_' + adID].value;
			document.forms['ad_tags_form']['tags_' + adID].value = resText;
			setTimeout( function()
				{
				document.forms['ad_tags_form']['tags_' + adID].value = adTags;
				document.forms['ad_tags_form']['tags_' + adID].blur();
				}
			,(resSec * 1000));
			}
		}
	}


function removeAdminNotice (lineID)
	{
	var fetchURL = baseURL + "/ajaxdata.php?type=remove_admin_notice&lid=" + lineID;
	var Request = getXMLHttpRequestObject();
	Request.open("GET", fetchURL, true);
	Request.send(null);
	Request.onreadystatechange = function()
		{
		if (Request.readyState == 4) 
			{
			var d = document.getElementById('AdminPane');
			var rdata = Request.responseText;
			d.innerHTML = rdata;
			}
		}
	}


function voteOnPoll (pollID)
	{
	var relFetchURL = "ajaxdata.php?type=vote_on_poll&id=" + pollID;
	var fetchURL = baseURL + "/" + relFetchURL;
	var Request = getXMLHttpRequestObject();
	//alert(fetchURL);
	Request.open("POST", fetchURL, true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById('Poll' + pollID + 'Form');
	var PostQuery = create_request_string(FormObject);
	Request.send(PostQuery);
	Request.onreadystatechange = function()
		{
		if (Request.readyState == 4) 
			{
			loadURLIntoID(relFetchURL, "POLL" + pollID);
			}
		}
	}


function itemReport (itemID, thanksMessage)
	{
	var fetchURL = baseURL + "/ajaxdata.php?type=report_item&id=" + itemID;
	var Request = getXMLHttpRequestObject();
	Request.open("POST", fetchURL, true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById('ReportItemForm');
	var PostQuery = MakeQueryString(FormObject);
	Request.send(PostQuery);
	Request.onreadystatechange = function()
		{
		if (Request.readyState == 4) 
			{
			alert(thanksMessage);
			}
		}
	}


function getUserName (u, callback)
	{
	var request = getXMLHttpRequestObject();
	request.open("GET", baseURL + '/ajaxdata.php?action=username&u=' + u, true);
	request.send(null);
	request.onreadystatechange = function()
		{
		if (request.readyState == 4) 
			{
			var username = request.resonseText;
			if (callback)
				{
				
				callback();
				}
			return username;
			}
		}
	}


function subscribeToMailingList ()
	{
	var fetchURL = baseURL + "/ajaxdata.php?type=mailing_list";
	var Request = getXMLHttpRequestObject();
	Request.open("POST", fetchURL, true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById('MailingListForm');
	var PostQuery = create_request_string(FormObject);
	Request.send(PostQuery);
	Request.onreadystatechange = function()
		{
		if (Request.readyState == 4) 
			{
			var d = document.getElementById('MailingListPane');
			var rdata = Request.responseText;
			d.innerHTML = rdata;
			}
		}
	}


function updateManageAccessList (type, key, module, resSec)
	{
	var divName = 'ManageAccessListButtonArea_' + type + '_' + key + '_' + module;

	var resultName = 'ManageAccessListResultArea_' + type + '_' + key + '_' + module;
	var formName = 'module_access_form_' + module;
	if (module != 'undefined' && module != '')
		{
		fmodule = "acc_" + module;
		}
	else
		{
		fmodule = 'acc';
		}

	// SHOW THE BUTTON
	if (document.forms[formName][fmodule].value == 0 && module != 'override')
		{
		loadURLIntoID('ajaxdata.php?type=manage_access_list_button&ltype=' + type + '&key=' + key + '&module=' + module, divName);
		}
	else if (module != 'override')
		{
		document.getElementById(divName).innerHTML = '';
		}
	// SAVE THE SETTING
	loadURLIntoID('ajaxdata.php?type=manage_access_list_save&ltype=' + type + '&key=' + key + '&module=' + module + '&value=' + document.forms[formName][fmodule].value, resultName);
	setTimeout( function()
		{
		document.getElementById(resultName).innerHTML = '';
		}
	,(resSec * 1000));
	}


function itemUpdateVersionField (sectionID)
	{
	var projectID = document.forms['submitform']['issue_project'].value;
	loadURLIntoID('ajaxdata.php?type=version_field&section=' + sectionID + '&project=' + projectID, 'ProjectVersionField');
	}


function itemUpdateIssueField (ItemID, IssueField, resSec, whatType, isLocked, form, issueTracking)
	{
	var Request = getXMLHttpRequestObject();
	Request.open("POST", baseURL + '/ajaxdata.php?type=issue_update_field&id=' + ItemID + '&field=' + IssueField, true);
	Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var FormObject = document.getElementById('IssueUpdateForm');
	var PostQuery = MakeQueryString(FormObject);
	Request.send(PostQuery);
	Request.onreadystatechange = function()
		{
		if (Request.readyState == 4) 
			{
			loadURLIntoID('ajaxdata.php?type=feedback&id=' + ItemID + '&whattype=' + whatType + '&islocked=' + isLocked + '&form=' + form + '&issue_tracking=' + issueTracking, 'Feedback' + ItemID);
			loadURLIntoID('ajaxdata.php?type=issue_update_message&result=1', 'IssueStatusNotification');
			setTimeout( function()
				{
				loadURLIntoID('ajaxdata.php?type=issue_update_message&result=0', 'IssueStatusNotification');
				}
			,(resSec * 1000));
			}
		}
	}


function MakeQueryString(formname)
	{
	var str = "";
	var element, i = 0;
	while ((element = formname.elements[i++]) != null)
		{
        	var qc = MakeQueryElement(element);
       		if (qc != "") str += "&" + qc;
		}
	return str.substring(1);
	}


function MakeQueryElement(input) {
    if (!input.name || input.disabled)
        return "";

    var n = urlencode(input.name);

    switch (input.type) {
    case "text":
    case "password":
    case "submit":
    case "hidden":
        return n + "=" + urlencode(input.value);
    case "textarea":
        // normalize line breaks as CR LF pairs as per RFC 1866
        

	// OLD METHOD ---> var v = input.value.split(/\r\n|\r|\n/).join("\r\n");
	// RECOMMENDED FIX --->

	var v = input.value.replace(/(\r\n)|\r|\n/g, "\r\n");

        return n + "=" + urlencode(v);
    case "checkbox":
    case "radio":
        if (!input.checked)
            return "";
        var v = getRealValue(input);
        if (v === null) v = "on";
        return n + "=" + urlencode(v);
    case "select-one":
    case "select-multiple":
        var nvp = [];
        var opt, i = 0;
        while ((opt = input.options[i++]) != null) {
            if (opt.selected) {
                var v = getRealValue(opt);
                if (v === null) v = opt.text;
                // older versions of IE do not support Array.push
                nvp[nvp.length] = n + "=" + urlencode(v);
            }
        }
        return nvp.join("&");
    default:
        // input types reset, button, image, and file not implemented
        return "";
    }
}

function urlencode(str)
	{
	var v;
	try { v = encodeURIComponent(str); } catch (e) { v = escape(str); }
	return v.replace(/%20/g,"+");
	}

function getRealValue(input)
	{
	var attr = input.getAttributeNode("value");
	return (attr && attr.specified) ? input.getAttribute("value") : null;
	}


function create_request_string(theForm)
{
var reqStr = "";

for(i=0; i < theForm.elements.length; i++)
{
isFormObject = false;

switch (theForm.elements[i].tagName)
{
case "INPUT":

switch (theForm.elements[i].type)
{
case "text":
case "hidden":
reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i].value);
isFormObject = true;
break;

case "checkbox":
if (theForm.elements[i].checked)
{
reqStr += theForm.elements[i].name + "=" + theForm.elements[i].value;
}else{
reqStr += theForm.elements[i].name + "=";
}
isFormObject = true;
break;

case "radio":
if (theForm.elements[i].checked)
{
reqStr += theForm.elements[i].name + "=" + theForm.elements[i].value;
isFormObject = true;
}
}
break;

case "TEXTAREA":

reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i].value);
isFormObject = true;
break;

case "SELECT":
var sel = theForm.elements[i];
reqStr += sel.name + "=" + sel.options[sel.selectedIndex].value;
isFormObject = true;
break;
}

if ((isFormObject) && ((i+1)!= theForm.elements.length))
{
reqStr += "&";
}

}

return reqStr;
} 

