// Functions to run on page load:
function init() {
	var t = document.getElementById("message-box");
	var v = document.getElementById("box-inner-problem");
	if(t && !v) {
		setTimeout('Effect.Fade("message-box")',1250);
	}
}
Event.observe(window, 'load', init, false);
// new edit toolbar used with permission
// by Alex King
// http://www.alexking.org/

var edButtons = new Array();
var edLinks = new Array();
var edOpenTags = new Array();

function edButton(id, display, tagStart, tagEnd, access, open) {
	this.id = id;				// used to name the toolbar button
	this.display = display;		// label on button
	this.tagStart = tagStart; 	// open tag
	this.tagEnd = tagEnd;		// close tag
	this.access = access;		// access key
	this.open = open;			// set to -1 if tag does not need to be closed
}

var now = new Date();
var datetime = now.getFullYear() + '-' + now.getMonth() + '-' + now.getDate() + 'T' + 
				now.getHours() + ':' + now.getMinutes() + ':' + 
				now.getSeconds() + '-' + (now.getTimezoneOffset()/60)
				+ ':' + '00';

function edLink() {
	this.display = '';
	this.URL = '';
	this.newWin = 0;
}



edButtons[edButtons.length] = 
new edButton('ed_h2'
,'h2'
,'[h2]'
,'[/h2]'
,'h2'
,'2'
); // special case


edButtons[edButtons.length] = 
new edButton('ed_h3'
,'h3'
,'[h3]'
,'[/h3]'
,'h3'
); // special case


edButtons[edButtons.length] = 
new edButton('ed_p'
,'p'
,'<p>'
,'</p>'
,'p'
); // special case



edButtons[edButtons.length] = 
new edButton('ed_link'
,'link EXT'
,''
,'</a>'
,'a'
); // special case


edButtons[edButtons.length] = 
new edButton('ed_strong'
,'str'
,'<strong>'
,'</strong>'
,'b'
);

edButtons[edButtons.length] = 
new edButton('ed_em'
,'em'
,'<em>'
,'</em>'
,'i'
);

edButtons[edButtons.length] = 
new edButton('ed_code'
,'code'
,'<code>'
,'</code>'
,'i'
);



edButtons[edButtons.length] = 
new edButton('ed_img'
,'img'
,''
,''
,'m'
,-1
); // special case

edButtons[edButtons.length] = 
new edButton('ed_ul'
,'ul'
,'<ul>\n'
,'</ul>\n\n'
,'u'
);

edButtons[edButtons.length] = 
new edButton('ed_ol'
,'ol'
,'<ol>\n'
,'</ol>\n\n'
,'o'
);

edButtons[edButtons.length] = 
new edButton('ed_li'
,'li'
,'\t<li>'
,'</li>\n'
,'l'
);

edButtons[edButtons.length] = 
new edButton('ed_search-box'
,'search-box'
,'<p><strong>If you or your loved one needs help. Please let us help you find the assistance you need. Please fill out your zip code and we will tell you the Anger Management Programs In your area.</strong></p><form action="/q/" id="bottom-search"><div><label for="zip2" id="lfzip2"><strong>Locate An Anger Management Program in Your Area</strong></label><div id="zip-box"><input type="text" name="zip" id="zip2" onfocus="if(this.value==\'Zip Code\')value=\'\'" onblur="if(thisvalue==\'\')value=\'Zip Code\';" value="Zip Code" /></div><div id="radio-box"><input name="profit" type="radio" id="forpro2" value="1" /><label for="forpro2">For-Profit</label><input name="profit" type="radio" id="nonpro2" value="2" /><label for="nonpro2">Non-Profit</label></div><div id="submit-box"><input type="submit" value="Search" id="bottom-submit" /></div></div></form><div class="clear"></div>'
,''
,'search-box'
,-1
); // special case





function edShowButton(button, i) {
	if (button.id == 'ed_img') {
		document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertImage(content);" value="' + button.display + '" />');
	}
	else if (button.id == 'ed_link') {
		document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertLink(content, ' + i + ');" value="' + button.display + '" />');
	}
	else {
		document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertTag(content, ' + i + ');" value="' + button.display + '"  />');
	}
}

function edShowLinks() {
	var tempStr = '<select onchange="edQuickLink(this.options[this.selectedIndex].value, this);"><option value="-1" selected>(Quick Links)</option>';
	for (i = 0; i < edLinks.length; i++) {
		tempStr += '<option value="' + i + '">' + edLinks[i].display + '</option>';
	}
	tempStr += '</select>';
	document.write(tempStr);
}

function edAddTag(button) {
	if (edButtons[button].tagEnd != '') {
		edOpenTags[edOpenTags.length] = button;
		document.getElementById(edButtons[button].id).value = '/' + document.getElementById(edButtons[button].id).value;
	}
}

function edRemoveTag(button) {
	for (i = 0; i < edOpenTags.length; i++) {
		if (edOpenTags[i] == button) {
			edOpenTags.splice(i, 1);
			document.getElementById(edButtons[button].id).value = 		document.getElementById(edButtons[button].id).value.replace('/', '');
		}
	}
}

function edCheckOpenTags(button) {
	var tag = 0;
	for (i = 0; i < edOpenTags.length; i++) {
		if (edOpenTags[i] == button) {
			tag++;
		}
	}
	if (tag > 0) {
		return true; // tag found
	}
	else {
		return false; // tag not found
	}
}	

function edCloseAllTags() {
	var count = edOpenTags.length;
	for (o = 0; o < count; o++) {
		edInsertTag(content, edOpenTags[edOpenTags.length - 1]);
	}
}

function edQuickLink(i, thisSelect) {
	if (i > -1) {
		var newWin = '';
		if (edLinks[i].newWin == 1) {
			newWin = ' target="_blank"';
		}
		var tempStr = '<a href="' + edLinks[i].URL + '"' + newWin + '>' 
		            + edLinks[i].display
		            + '</a>';
		thisSelect.selectedIndex = 0;
		edInsertContent(content, tempStr);
	}
	else {
		thisSelect.selectedIndex = 0;
	}
}

function edSpell(myField) {
	var word = '';
	if (document.selection) {
		myField.focus();
	    var sel = document.selection.createRange();
		if (sel.text.length > 0) {
			word = sel.text;
		}
	}
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		if (startPos != endPos) {
			word = myField.value.substring(startPos, endPos);
		}
	}
	if (word == '') {
		word = prompt('Enter a word to look up:', '');
	}
	if (word != '') {
		window.open('http://dictionary.reference.com/search?q=' + escape(word));
	}
}

function edToolbar() {
	document.write('<div id="ed_toolbar">');
	for (i = 0; i < edButtons.length; i++) {
		edShowButton(edButtons[i], i);
	}
	document.write('<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(content);" title="Dictionary lookup" value="Dict." />');
	document.write('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="Close all open tags" value="Close Tags" />');
//	edShowLinks(); // disabled by default
	document.write('</div>');
}

// insertion code

function edInsertTag(myField, i) {
	//IE support
	if (document.selection) {
		myField.focus();
	    sel = document.selection.createRange();
		if (sel.text.length > 0) {
			sel.text = edButtons[i].tagStart + sel.text + edButtons[i].tagEnd;
		}
		else {
			if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
				sel.text = edButtons[i].tagStart;
				edAddTag(i);
			}
			else {
				sel.text = edButtons[i].tagEnd;
				edRemoveTag(i);
			}
		}
		myField.focus();
	}
	//MOZILLA/NETSCAPE support
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var cursorPos = endPos;
		if (startPos != endPos) {
			myField.value = myField.value.substring(0, startPos)
			              + edButtons[i].tagStart
			              + myField.value.substring(startPos, endPos) 
			              + edButtons[i].tagEnd
			              + myField.value.substring(endPos, myField.value.length);
			cursorPos += edButtons[i].tagStart.length + edButtons[i].tagEnd.length;
		}
		else {
			if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
				myField.value = myField.value.substring(0, startPos) 
				              + edButtons[i].tagStart
				              + myField.value.substring(endPos, myField.value.length);
				edAddTag(i);
				cursorPos = startPos + edButtons[i].tagStart.length;
			}
			else {
				myField.value = myField.value.substring(0, startPos) 
				              + edButtons[i].tagEnd
				              + myField.value.substring(endPos, myField.value.length);
				edRemoveTag(i);
				cursorPos = startPos + edButtons[i].tagEnd.length;
			}
		}
		myField.focus();
		myField.selectionStart = cursorPos;
		myField.selectionEnd = cursorPos;
	}
	else {
		if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
			myField.value += edButtons[i].tagStart;
			edAddTag(i);
		}
		else {
			myField.value += edButtons[i].tagEnd;
			edRemoveTag(i);
		}
		myField.focus();
	}
}

function edInsertContent(myField, myValue) {
	//IE support
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
		myField.focus();
	}
	//MOZILLA/NETSCAPE support
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos)
		              + myValue 
                      + myField.value.substring(endPos, myField.value.length);
		myField.focus();
		myField.selectionStart = startPos + myValue.length;
		myField.selectionEnd = startPos + myValue.length;
	} else {
		myField.value += myValue;
		myField.focus();
	}
}

function edInsertLink(myField, i, defaultValue) {
	if (!defaultValue) {
		defaultValue = 'http://';
	}
	if (!edCheckOpenTags(i)) {
		var URL = prompt('Enter the URL' ,defaultValue);
		if (URL) {
			edButtons[i].tagStart = '<a href="' + URL + '" title="" rel="ext">';
			edInsertTag(myField, i);
		}
	}
	else {
		edInsertTag(myField, i);
	}
}

function edInsertImage(myField) {
	var myValue = prompt('Enter the URL of the image', 'http://');
	if (myValue) {
		myValue = '<img src="' 
				+ myValue 
				+ '" alt="' + prompt('Enter a description of the image', '') 
				+ '" />';
		edInsertContent(myField, myValue);
	}
}




function HandleKeyDown(obj) {
	   var tabKeyCode = 9;
	   if (event.keyCode == tabKeyCode && event.srcElement == obj) {
		  obj.selection = document.selection.createRange();
		  obj.selection.text = String.fromCharCode(tabKeyCode);
		  event.returnValue = false;
	   }
	}


function toggleClass( myClass ) { 
	var i; 
	var x = document.getElementById('wrap').document.getElementsByTagName('div'); 
	for (i=0;i<x.length;i++){ 
		if (x[i].className.indexOf(myClass)!=-1){ 
			x[i].style.display=='none'?x[i].style.display='block':x[i].style.display='none'; 
		} 
	} 
} 

function toggleId( myId ) { 
	var x = document.getElementById(myId); 
	x.style.display=='block'?x.style.display='none':x.style.display='block'; 
} 


bbcode = new Array();
imageTag = false;
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version

var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')== -1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')== -1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')== -1));
var is_moz = 0;

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);
bbtags = new Array('<strong>','</strong>','<em>','</em>','<p>','</p>','<blockquote>','</blockquote>','<q>','</q>','<ul>','</ul>','<img src="" alt="">','','<ol>','</ol>','\t<li>','\t</li>','<a href="" title="" rel="ext">','</a>','<a href="" title="">','</a>');
// Replacement for arrayname.length property
function getarraysize(thearray) {
	for (i = 0; i < thearray.length; i++) {
		if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null))
			return i;
		}
	return thearray.length;
}

// Replacement for arrayname.push(value) not implemented in IE until version 5.5
// Appends element to the array
function arraypush(thearray,value) {
	thearray[ getarraysize(thearray) ] = value;
}

// Replacement for arrayname.pop() not implemented in IE until version 5.5
// Removes and returns the last element of an array
function arraypop(thearray) {
	thearraysize = getarraysize(thearray);
	retval = thearray[thearraysize - 1];
	delete thearray[thearraysize - 1];
	return retval;
}
// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + open + s2 + close + s3;
	return;
}
function bbstyle(bbnumber, tareaID) {
	var txtarea = document.getElementById(tareaID);

	txtarea.focus();
	donotinsert = false;
	theSelection = false;
	bblast = 0;

	if (bbnumber == -1) { // Close all open tags & default button names
		while (bbcode[0]) {
			butnumber = arraypop(bbcode) - 1;
			//txtarea.value += bbtags[butnumber + 1];
			insertAtCursor(txtarea, bbtags[butnumber + 1]);
			
			
			eval('document.txtarea.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
		}
		imageTag = false; // All tags are closed including image tags :D
		//txtarea.focus();
		return;
	}

	if ((clientVer >= 4) && is_ie && is_win)
	{
		theSelection = document.selection.createRange().text; // Get text selection
		if (theSelection) {
			// Add tags around selection
			document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1];
			//txtarea.focus();
			theSelection = '';
			return;
		}
	}
	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	{
		var intElemScrollTop = document.getElementById(tareaID).scrollTop;
		mozWrap(txtarea, bbtags[bbnumber], bbtags[bbnumber+1]);
		document.getElementById(tareaID).scrollTop = intElemScrollTop;
		return;
	}

	// Find last occurance of an open tag the same as the one just clicked
	for (i = 0; i < bbcode.length; i++) {
		if (bbcode[i] == bbnumber+1) {
			bblast = i;
			donotinsert = true;
		}
	}

	if (donotinsert) {		// Close all open tags up to the one just clicked & default button names
		while (bbcode[bblast]) {
				var intElemScrollTop = document.getElementById(tareaID).scrollTop;
				butnumber = arraypop(bbcode) - 1;
				insertAtCursor(txtarea,  bbtags[butnumber + 1]);
				//txtarea.value += bbtags[butnumber + 1];
				document.getElementById(tareaID).scrollTop = intElemScrollTop;
				//buttext = eval('document.txtarea.addbbcode' + butnumber + '.value');
				//eval('document.$(txtarea).addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"');
				imageTag = false;
			}
			//txtarea.focus();
			return;
	} else { // Open tags

		if (imageTag && (bbnumber != 14)) {		// Close image tag before adding another
			insertAtCursor(txtarea, bbtags[15]);
			lastValue = arraypop(bbcode) - 1;	// Remove the close image tag from the list
			document.$(txtarea).addbbcode14.value = "Img";	// Return button back to normal state
			imageTag = false;
		}

		// Open tag
		if(bbnumber == 18 || bbnumber == 20) { // Link out
			insertLink(txtarea, '', bbnumber);
		}
		else {
			insertAtCursor(txtarea, bbtags[bbnumber]);
		}
		//txtarea.value += bbtags[bbnumber];
		if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag
		arraypush(bbcode,bbnumber+1);

		//eval('document.$(txtarea).addbbcode'+bbnumber+'.value += "*"');
		//txtarea.focus();
		return;
	}
	storeCaret(txtarea);
}

function storeCaret(textEl) {
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}


function insertAtCursor(myField, myValue) {
	var t = $(myField).id;
	var valLength = myValue.length;
	var intElemScrollTop = document.getElementById(t).scrollTop;
	//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;
	myField.value = myField.value.substring(0, startPos)
					+ myValue
					+ myField.value.substring(endPos, myField.value.length);
					cursorPos = startPos + valLength;
					myField.selectionEnd = cursorPos;
					document.getElementById(t).scrollTop = intElemScrollTop;
	} else {
			myField.value += myValue;
			cursorPos = startPos + valLength;
			myField.selectionEnd = cursorPos;
			document.getElementById(t).scrollTop = intElemScrollTop;
	}
}

function insertLink(myField, defaultValue, lOut) {
	if(lOut == 18) {
		var rel = ' rel="ext"';	
	} else {
		var rel = '';	
	}
	var URL = prompt('Enter the URL' ,'http://');
	var TITLE = prompt('Enter the Title');
	var alink = '<a href="' + URL + '" title="' + TITLE + '"'+rel+'>';
	insertAtCursor(myField, alink);
}

function toggleId( myId ) { 
	var x = document.getElementById(myId); 
	x.style.display=='block'?x.style.display='none':x.style.display='block'; 
} 

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "ext")
     anchor.target = "_blank";
 }
}
window.onload = externalLinks;
	function getIndicator(loader_id, id) {
		var loader = document.createElement('img');
		loader.src = '/admin/app/i/circling-squares-with-trail.gif';
		loader.id = loader_id;
		loader.rel = id;
		return loader;
	}

