/* Code added 7-28-2010 - For New Tour */
/* See Earlier revision note below on line 52 */

// JavaScript Document
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 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_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 hideDiv(div) {
        document.getElementById(div).style.display='none';
}
        
function showDiv(div) {
        document.getElementById(div).style.display='block';
}
        
function showHideDiv(div) {
        document.getElementById(div).style.display=(document.getElementById(div).style.display=='block')?'none':'block';
}

function closePlayer(div,player) {
        document.getElementById(player).addModelListener('STATE', 'videoEnd');  
        hideDiv(div);
} 

function playIt(div,player) {
        showDiv(div);
    /*     document.getElementById(player).sendEvent('PLAY','true');  */
}

/*

version 2009-05-29

onchange="testInput(this.value,'numeric',6,32)"

<a href="javascript:void(0)" onclick="markupText('textarea','b')">Bold</a>
<a href="javascript:void(0)" onclick="markupText('textarea','i')">Italic</a>
<a href="javascript:void(0)" onclick="markupText('textarea','u')">Underline</a>
<a href="javascript:void(0)" onclick="linkText('textarea')" class="admin">Link</a>

<script type="text/javascript">hiddenDiv('colorpickerdiv');</script>
<a href="javascript:void(0)" onclick="colorText('textarea')" class="admin">Color</a>

<script type="text/javascript" src="_show_hide.js"></script>
<script type="text/javascript">hiddenDiv('hiddendiv');</script>
<a href="javascript:void(0)" onclick="showDiv('hiddendiv')">show</a>
<a href="javascript:void(0)" onclick="hideDiv('hiddendiv')">show</a>

<script type="text/javascript">hiddenDiv('colorpickerdiv');</script>
#<input type="text" name="backgroundcolor" value="FFFFFF" size="6" maxlength="6" onclick="doPicker('backgroundcolor','')" id="backgroundcolor" readonly />

*/

var backgroundcolor;
var color;
var parts = [];

var numeric = '0123456789';
var decimal = '0123456789.';
var alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var alphanumeric = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

function ajaxDiv(div_element,page) {
	var xmlHttp = ajaxMethod();
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			document.getElementById(div_element).innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.open("GET",page,true);
	xmlHttp.send(null);
}

function ajaxFormGet(form,div_element,page) {
	var xmlHttp = ajaxMethod();
	var qs = ajaxBuildFormQuery(form);
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			document.getElementById(div_element).innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.open("GET",page + '?' + qs,true);
	xmlHttp.send(null);
}

function ajaxFormPost(form,div_element,page) {
	var xmlHttp = ajaxMethod();
	var qs = ajaxBuildFormQuery(form);
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			document.getElementById(div_element).innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.open("POST",page,true);
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length",qs.length);
	xmlHttp.send(qs);
}

function ajaxBuildFormQuery(form) {
	var qs = "";
	for (var i = 0; i < document.getElementById(form).elements.length; i++) {
		var ele = document.getElementById(form).elements[i];
		switch (ele.type) {
			case "checkbox":
				if (ele.checked == true) {
					qs += ele.name + '=' + encodeURI(ele.value) + '&';
				}
				break;
			case "hidden":
				qs += ele.name + '=' + encodeURI(ele.value) + '&';
				break;
			case "password":
				qs += ele.name + '=' + encodeURI(ele.value) + '&';
				break;
			case "radio":
				if (ele.checked == true) {
					qs += ele.name + '=' + encodeURI(ele.value) + '&';
				}
				break;
			case "select-one":
				qs += ele.name + '=' + encodeURI(ele.options[ele.selectedIndex].value) + '&';
				break;
			case "text":
				qs += ele.name + '=' + encodeURI(ele.value) + '&';
				break;
			case "textarea":
				qs += ele.name + '=' + encodeURI(ele.value) + '&';
				break;
		}
	}
	return qs;
}

function ajaxMethod() {
	var xmlHttpTest;
	try {	// Firefox, Opera 8.0+, Safari
		xmlHttpTest = new XMLHttpRequest();
	} catch (e) {
		try {	// Internet Explorer
			xmlHttpTest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttpTest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				try {
					xmlHttpTest = new IFrameRequest();
				} catch (e) {
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}
	}
	return xmlHttpTest;
}

function getSelection(textarea) {
	var myparts = [document.getElementById(textarea).value,'','','']; 
	if (document.selection) {
		var vs = '#$%^%$#';
		var tr = document.selection.createRange()
		if (tr.parentElement() != document.getElementById(textarea)) return null;
		myparts[2] = tr.text;
		tr.text = vs;
		fb = document.getElementById(textarea).value.split(vs);
		tr.moveStart('character',-vs.length);
		tr.text = myparts[2];
		myparts[1] = fb[0];
		myparts[3] = fb[1];
	} else {
		if (document.getElementById(textarea).selectionStart == document.getElementById(textarea).selectionEnd) return null;
		myparts = (new RegExp('([\x00-\xff]{'+document.getElementById(textarea).selectionStart+'})([\x00-\xff]{'+(document.getElementById(textarea).selectionEnd - document.getElementById(textarea).selectionStart)+'})([\x00-\xff]*)')).exec(document.getElementById(textarea).value);
	}
	return myparts;
}

function colorText(textarea) {
	parts = getSelection(textarea);
	showDiv('colorpickerdiv');
	ajaxDiv('colorpickerdivcontent','/_colorpicker.php?mode=2&text=Select+a+background+color.&field=' + textarea);
}

function colorText2(textarea,selectedcolor) {
	backgroundcolor = selectedcolor;
	ajaxDiv('colorpickerdivcontent','/_colorpicker.php?mode=3&text=Select+a+font+color.&field=' + textarea);
}

function colorText3(textarea,selectedcolor) {
	hideDiv('colorpickerdiv');
	color = selectedcolor;
	document.getElementById(textarea).value = parts[1] + '<span style="background-color: #' + backgroundcolor + '; color: #' + color + ';">' + parts[2] + '</span>' + parts[3];
}

function linkText(textarea) {
	var url = prompt('Enter the URL you want the selected text linked to.','http://');
	parts = getSelection(textarea);
	if (parts) document.getElementById(textarea).value = parts[1] + '<a href="' + url + '">' + parts[2] + '</a>' + parts[3];
}

function markupText(textarea,tag) {
	parts = getSelection(textarea);
	if (parts) document.getElementById(textarea).value = parts[1] + '<' + tag + '>' + parts[2] + '</' + tag + '>' + parts[3];
}

function fixWordField(field) {
	field.value = fixWordCharacters(field.value);
}

function fixWordCharacters(text) {
    text = text.replace(/\u2018/g,"'");
    text = text.replace(/\u2019/g,"'");
    text = text.replace(/\u201c/g,'"');
    text = text.replace(/\u201d/g,'"');
    text = text.replace(/\u2013/g,'-');
    text = text.replace(/\u2014/g,'--');
    text = text.replace(/\u2026/g,'...');
    return text;
}

function testInput(input,test,minimumlength,maximumlength) {
	if (input == "") return true;
	for (i=0; i < input.length; i++) {
		if (test == 'numeric') {
			if (numeric.indexOf(input.charAt(i),0) == -1) {
				alert('You may only enter numbers in this field.');
				return false;
			}
		} else if (test == 'decimal') {
			if (decimal.indexOf(input.charAt(i),0) == -1) {
				alert('You may only enter numbers in this field.');
				return false;
			}
		} else if (test == 'alpha') {
			if (alpha.indexOf(input.charAt(i),0) == -1) {
				alert('You may only enter letters in this field.');
				return false;
			}
		} else if (test == 'alphanumeric') {
			if (alphanumeric.indexOf(input.charAt(i),0) == -1) {
				alert('You may only enter letters and numbers in this field.');
				return false;
			}
		}
	}
	if (minimumlength != 0 && input.length < minimumlength) {
		alert('Your input must be at least ' + minimumlength + ' characters long.');
		return false;
	}
	if (maximumlength != 0 && input.length > maximumlength) {
		alert('Your input must be at less than ' + maximumlength + ' characters long.');
		return false;
	}
	return true;
}

function hiddenDiv(divname) {
	document.write('<div name="' + divname + '" id="' + divname + '" style="display: none;width: 101%;height: 101%;position: fixed;top: -1px;left: -1px;background: url(/grey.png);">');
	document.write('<table border="0" cellpadding="50" cellspacing="0" width="100%" height="100%">');
	document.write('	<tr>');
	document.write('		<td width="100%" height="100%" align="center" valign="middle">');
	document.write('			<table border="0" cellpadding="0" cellspacing="5" bgcolor="#FFFFFF">');
	document.write('				<tr>');
	document.write('					<td>');
	document.write('						<p align="right" style="margin: 0px; padding: 0px;"><a href="javascript:void(0)" onclick="hideDiv(\'' + divname + '\')">X Close</a></p>');
	document.write('						<div name="' + divname + 'content" id="' + divname + 'content"></div>');
	document.write('					</td>');
	document.write('				</tr>');
	document.write('			</table>');
	document.write('		</td>');
	document.write('	</tr>');
	document.write('</table>');
	document.write('</div>');
}

function hideDiv(div) {
	document.getElementById(div).style.display='none';
}

function showDiv(div) {
	document.getElementById(div).style.display='block';
}

function showHideDiv(div) {
	document.getElementById(div).style.display=(document.getElementById(div).style.display=='block')?'none':'block';
}

function doPicker(field,text) {
	showDiv('colorpickerdiv');
	ajaxDiv('colorpickerdivcontent','/_colorpicker.php?field=' + field + '&text=' + text);
}

function setPicker(field,color) {
	document.getElementById(field).value=color;
	hideDiv('colorpickerdiv');
}

