function showHide(source, target) {
	if(source.checked)
		showElem(target);
	else
		hideElem(target);
	}
	
function hideElem(target) {
	document.getElementById(target).className="hidden";
	}
	
function showElem(target) {
	document.getElementById(target).className="visible";
	}
	
//Pop-Up
var deleteType='';
function setUpDelete(type) {
	var i=0, j=0;
	while(elem=document.getElementsByTagName('a')[i++]) {
		if(elem.className=='delete') {
			elem.onclick=confirmDelete;
			j++;
			}
		}
	deleteType=type;
	//alert(j);
	}

var madePopup=false;

function confirmDelete(e) {
	var url=this.href;
	
	/*var position=findPos(this);
	var left=position[0];
	var top=position[1];*/
	if (!e) e = window.event;
	var left=e.clientX;
	var top=e.clientY;

	
	if(!madePopup) {
		var elem=document.createElement('div');
		elem.id='popup';
		elem.className='popup';		
		document.getElementById('popup-container').appendChild(elem);
		
		madePopup=true;
		}
	else
		var elem=document.getElementById('popup');
		
	elem.innerHTML= '<div class="content">'+
						'\n\t\tReally delete this '+deleteType+'?'+
						'\n\t\t<div class="buttons">'+
						'\n\t\t\t<span class="button">'+
						'\n\t\t\t\t<a href="'+url+'" class="left">Yes</a>'+
						'\n\t\t\t\t<span class="right">&nbsp;</span>'+
						'\n\t\t\t</span>'+
						'\n\t\t\t<span class="button">'+
						'\n\t\t\t\t<a href="#" class="left" onclick="removePopup();">No</a>'+
						'\n\t\t\t\t<span class="right">&nbsp;</span>'+
						'\n\t\t\t</span>'+
						'\n\t\t</div>'+
						'\n\t</div>';
	elem.style.left=left-100+'px'; // (this.offsetWidth/2)
	elem.style.top=top+'px';
	elem.style.display='block';
/* <div class\"buttons\">
					<span class=\"button\">
						<input type=\"submit\" value=\"Update\" class=\"left\" />
						<span class=\"right\">&nbsp;</span>
					</span>
				</div> */	
	if(elem.stopInterval) {
		window.clearInterval(elem.stopInterval);
		}
	
	elem.style.opacity=1.00;
	elem.style.filter='alpha(opacity=100)';
	
	window.onscroll=removePopup;
	
	return false;
	}



function removePopup() {
	var elem=document.getElementById('popup');
	
	if(elem.style.display=='none')
		return;
	
	fadeOut(elem, .5);
	//document.getElementById('popup').style.display='none';
	}

function findPos(obj) { //http://www.quirksmode.org/js/findpos.html
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		return [curleft,curtop];
		}
	}

//Live preview
function setUpPreview() {
	var i=0, j=0;
	//var test='';
	var elements=new Array(3);
		elements[0]='input';
		elements[1]='select';
		elements[2]='textarea';
		
	while(elements[i++]) {
		j=0;
		while(elem=document.getElementsByTagName(elements[i-1])[j++]) {
			if(elem.className.match("preview")) {
				elem.onchange=preview;
				elem.onkeypress=preview;
				elem.onkeyup=preview;
				//test+=elem.name+', ';
				}
			}		
		}
	//alert(test);
	}

var day, month, year, rsvpday, rsvpmonth, rsvpyear;

var days=new Array(7);
	days[0]='Sunday';
	days[1]='Monday';
	days[2]='Tuesday';
	days[3]='Wednesday';
	days[4]='Thursday';
	days[5]='Friday';
	days[6]='Saturday';
var months=new Array(12);
	months[0]='January';
	months[1]='February';
	months[2]='March';
	months[3]='April';
	months[4]='May';
	months[5]='June';
	months[6]='July';
	months[7]='August';
	months[8]='September';
	months[9]='October';
	months[10]='November';
	months[11]='December';

function preview() {
	if(this.name=='month' || this.name=='day' || this.name=='year') {
		if(this.name=='month') month=this.value-1;
		if(this.name=='day') day=this.value;
		if(this.name=='year') year=this.value;		
	
		if(month&&day&&year) {
		var eventDate = new Date();
		eventDate.setDate(day);
		eventDate.setMonth(month);
		eventDate.setFullYear(year);

		document.getElementById('date').innerHTML=days[eventDate.getDay()]+' '+months[eventDate.getMonth()]+' '+eventDate.getDate()+' '+eventDate.getFullYear();
			}
		}

	else if(this.name=='rsvpmonth' || this.name=='rsvpday' || this.name=='rsvpyear') {
		if(this.name=='rsvpmonth') rsvpmonth=this.value;
		if(this.name=='rsvpday') rsvpday=this.value;
		if(this.name=='rsvpyear') rsvpyear=this.value;		
	
		if(rsvpday&&rsvpmonth&&rsvpyear) {
			var eventDate = new Date();
			eventDate.setDate(rsvpday);
			eventDate.setMonth(rsvpmonth);
			eventDate.setFullYear(rsvpyear);
		
			document.getElementById('rsvp').innerHTML='Please <a href="rsvp.php" class="rsvp">RSVP</a> by '+months[eventDate.getMonth()-1]+' '+eventDate.getDate();
			}
		}
	
	else if(this.name=='officer') {
		var officer=this.options[this.selectedIndex].text.split(', ');
			document.getElementById('contact').innerHTML='<span class="smalltext outdent">Contact:</span> <a href="mailto:'+officer[2]+'" " class="email">'+officer[0]+'</a>, '+officer[1];

		}
	
	else if(this.value!='') {
		if(this.name=='location')
			document.getElementById(this.name).innerHTML='<span class="smalltext">Location: </span>'+this.value;
		else if(this.name=='description') {
			document.getElementById(this.name).innerHTML='<p>'+String(this.value).replace('\n', "</p><p>")+'</p>';
			}
		else if(this.name=='hours')
			document.getElementById(this.name).innerHTML='<span class="smalltext">Time:</span> '+this.value+':';
		else
			document.getElementById(this.name).innerHTML=this.value;
		}
	}
	


function enableOrDisable(target, option) {
			if(option=='enable')
				var value=false;
			else
				var value=true;
				
			var elem=document.getElementById(target);
			
			var i=0;
			var inputs=elem.getElementsByTagName('select')
			while(inputs[i]) {
				inputs[i].disabled=value;
				i++;
				}
			
			i=0;
			var inputs=elem.getElementsByTagName('input')
			while(inputs[i]) {
				if(inputs[i].type=='text')
					inputs[i].disabled=value;
				i++;
				}						
			}
			
		function switchOldNew(obj, oldtarget, newtarget) {
			if(obj.value=='new') {
				enableOrDisable(newtarget, 'enable');
				enableOrDisable(oldtarget, 'disable');
				}
			else {
				enableOrDisable(oldtarget, 'enable');
				enableOrDisable(newtarget, 'disable');
				}
			}
		
		function createAlertBox() {
			var elem=document.createElement('div');
			elem.className='alert';
			elem.id='alert';
			
			elem.innerHTML='<h3>Uploading</h3><p>Please do not hit &ldquo;Refresh&rdquo; or close this window.</p>';
			elem.style.zIndex=-100;
			document.body.appendChild(elem);
			}
		
		function showAlertBox() {
			var elem=document.getElementById('alert');
			elem.style.zIndex=400;
			}


//Expand

function setUpExpand() {
	var i=0, j=0;
	while(elem=document.getElementsByTagName('a')[i++]) {
		if(elem.className=='expand') {
			elem.onclick=expand;
			j++;
			}
		if(elem.className=='expand all') {
			elem.onclick=expandall;
			}
		}
	//alert(j);
	}
	
function expand() {
	expandFromAnchor(this)
	}
function expandFromAnchor(a) {
	var parent=a.parentNode;
	var info=parent.getElementsByTagName("ul")[0];
	
	if(info.className.match("hidden")) {
		info.className=String(info.className).replace("hidden", "visible");
		a.className="shrink";
		a.innerHTML="View Less";
		}
	else {
		info.className=String(info.className).replace("visible", "hidden");
		a.className="expand";
		a.innerHTML="View More";
		}
	}
	
function expandall() {
	var i=0, infos=document.getElementById("rsvps").getElementsByTagName("a");
	for(i=0; i<infos.length; i++) {
		expandFromAnchor(infos[i]);
		}
	
	if(this.className.match("expand")) {
		this.className=String(this.className).replace("expand", "shrink");
		this.innerHTML="Hide All";
		}
	else {
		this.className=String(this.className).replace("shrink", "expand");
		this.innerHTML="Expand All";
		}
	
	}










function setupHighlight() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i < anchors.length; i++) { 
		var anchor = anchors[i];
		
		if(anchor.getAttribute('rel')=='highlight')
			anchor.onclick=highlight;
		}
	
	elem=document.getElementById(getURLtarget());
	highlightElem(elem);
	}
	
function highlight() {
	var href=this.getAttribute('href');
	var target='';
	for(i=1; i<href.length; i++) {
		target+=href.charAt(i);
		}
	var elem=document.getElementById(target);
	
	highlightElem(elem);
	}
	
function highlightElem(elem) {
	//alert(elem.className);
	
	var normalClass=highlightClass="";
	normalClass=elem.className;
	highlightClass=normalClass+" highlight";
	
	elem.className=highlightClass;
	setTimeout(function() {elem.className=normalClass;}, 250);
	setTimeout(function() {elem.className=highlightClass;}, 500);
	setTimeout(function() {elem.className=normalClass;}, 750);
	//setTimeout(function() {elem.className=highlightClass;}, 1000);
	//setTimeout(function() {elem.className=normalClass;}, 1200);
	}
	
function getURLtarget() {
	var currURL = window.location.href;
	var target = '';
	var i = 0;
	
	for(i=0; i<currURL.length; i++) {
		if(currURL.charAt(i)=='#') {
			i++;
			break;
			}
		}
	for(i; i<currURL.length; i++) {
		target+=currURL.charAt(i);
		}
		
	return target;
	}
	
	



//Animation------------------------------


var fps=25;
var ms=1000/fps;

function sinScale(seconds, curFrame) {
	var oneFrame = 1.57/(seconds*fps); //The width of one frame
	var thisFrame = oneFrame * curFrame;
	var percentChange = .5 + .5*(Math.sin((2*thisFrame)-1.57));
	return(percentChange);
	//y = 1/2 + (1/2)sin(2x - pi/2); 
	}

function fadeOut(elem, seconds) {
	if(elem.stopInterval) {
		window.clearInterval(elem.stopInterval);
		}
	var curFrame=0;
		
	elem.stopInterval = window.setInterval(
		function () {
			thisFrame = 1.-sinScale(seconds, curFrame);	
			setOpacity(elem, thisFrame);
			
			curFrame++;
			if(curFrame >= fps*seconds) {
				window.clearInterval(elem.stopInterval);
				setOpacity(elem, 0);
				elem.style.display='none';
				}
			}, ms
		);
	}
	
function setOpacity(elem, percent) {
	elem.style.opacity=percent;
	elem.style.filter='alpha(opacity=' + percent*100 + ')';
	}