// JavaScript Document

function setchange() {
// This function Copyright 2007 Adam Smith
// adam@precisedesign.com | www.precisedesign.com
// You may use this function on your web pages, provided this credit stays intact.

	var inputs=document.getElementsByTagName("input");
	for (var i=0;i<inputs.length;i++){
		if (inputs[i].type == "text" || inputs[i].type == "password") {
			inputs[i].onfocus = function(){this.style.backgroundColor  = "#FFFFCC";}
			inputs[i].onblur = function(){this.style.backgroundColor  = "";}
		}
	}
	var selects=document.getElementsByTagName("select");
	for (var i=0;i<selects.length;i++){
		selects[i].onfocus = function(){this.style.backgroundColor  = "#FFFFCC";}
		selects[i].onblur = function(){this.style.backgroundColor  = "";}
	}
	var textareas=document.getElementsByTagName("textarea");
	for (var i=0;i<textareas.length;i++){
		textareas[i].onfocus = function(){this.style.backgroundColor  = "#FFFFCC";}
		textareas[i].onblur = function(){this.style.backgroundColor  = "";}
	}
}

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 doSubmit() {
}

var http_request = false;
function makePOSTRequest(url, parameters) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = alertContents;
	http_request.open('POST', url+'&a=true', true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function alertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			result = http_request.responseText;
			
			if (result.indexOf("<!DOCTYPE html PUBLIC") == 0) {
				document.location.href = '/';
			}
			
			document.getElementById('copy').innerHTML = result;
			var search = result; 
			var script; 
				  
			while(script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/i)) { 
				search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length); 
				
				if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) break; 
				
				block = search.substr(0, search.indexOf(RegExp.$1)); 
				search = search.substring(block.length + RegExp.$1.length); 
				
				var oScript = document.createElement('script'); 
				oScript.text = block; 
				document.getElementsByTagName("head").item(0).appendChild(oScript); 
			}
		} else {
			document.getElementById('cover_div').className = "";
			alert('There was a problem with the request.');
		}
	}
}

function getc(url,formname) {
	var params = ' ';
	document.getElementById('cover_div').className = "fade_on";
	pageurl = pagehost+'/'+url;
	if (document.getElementById('printlink')) {
		document.getElementById('printlink').href = url+'&print=yes';
	}
	if (formname != '' && formname != null) {
		params = '';
		var elem = document.forms[formname].elements;
		count = 0;
		for(var i = 0; i < elem.length; i++) {
			if (elem[i].type != 'button' && elem[i].type != 'submit') {
				count++;
				if (count > 1) {
					params += "&";
				}
				if (elem[i].type == 'checkbox' || elem[i].type == 'radio') {
					if (elem[i].checked == true) {
						params += elem[i].name+"="+encodeURIComponent(elem[i].value);
					}
				} else {
					params += elem[i].name+"="+encodeURIComponent(elem[i].value);
				}
			}
		}
		//alert(params);
        var file_name = document.location.href;
        var end = (file_name.indexOf("?") == -1) ? file_name.length : file_name.indexOf("?");
		pageurl = pagehost+'/'+file_name.substring(file_name.lastIndexOf("/")+1, end)+'?'+params;
		if (document.getElementById('printlink')) {
			document.getElementById('printlink').href = '?'+params+'&print=yes';
		}
	}
	makePOSTRequest(url,params);
}

function chkWidth(getimage, maxwidth){
	if (getimage.width > maxwidth) {
		oldwidth = getimage.width;
		oldheight = getimage.height;
		newheight = parseInt(oldheight * maxwidth / oldwidth);
		getimage.width = maxwidth;
		getimage.height = newheight;
		//alert("New width = "+maxwidth+" New height = "+newheight);
		getimage.style.marginLeft = 0;
		getimage.style.marginRight = 0;		
	}
}

/***********************************************
* AnyLink Drop Down Menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var menuwidth='150px' //default menu width
var menubgcolor='#868686'  //menu bgcolor
var disappeardelay=350  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?


var ie4=document.all
var ns6=document.getElementById&&!document.all

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top="-500px"
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth, offset){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)

if (!offset) offset=0
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")-offset+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu


var currentnum = 1;
function additem(divid,x,innertxt) {
	var newspan = document.createElement('span');
	newspan.setAttribute('id',divid+x);
	newspan.innerHTML = innertxt+' <input type="button" value="X" title="Remove this item" onclick="remitem(\''+divid+'\','+x+')" /><br />';
	document.getElementById(divid).appendChild(newspan);
	currentnum++;
	
}

function remitem(divid,x) {
	var oldspan = document.getElementById(divid+x);
	document.getElementById(divid).removeChild(oldspan);
}
