// JavaScript Document
	function myTimestamp() {
		var d = new Date();
		var timestamp = d.getFullYear() + '-' + pad(d.getMonth()) + '-' + pad(d.getDate());
		timestamp += ' ';
		timestamp += pad(d.getHours()) + ':' + pad(d.getMinutes()) + ':' + pad(d.getSeconds());
		return timestamp;
	}
	
	function pad(n) {
		n = n.toString();
		return (n.length == 1 ? '0' + n : n);
	}
	
	
	function check_for_dupe(prev, last) {
		if (last.constructor == Object)	return (prev.html() == last.html());
		else return 0;
	}
	
	function submitMurmur() {
		$.post("murmur-process",
		   { murmur: "John" },
		   function(data){
			 alert("Data Loaded: " + data);
		   }
		 );
		 return false;
	}
	
	function uploadPRbanner() {
		di('av','loadAnimPad');
		document.getElementById('av').style.width = '30px';
		
		//var agree=confirm("Save changes before upload?");
		//if (agree) parent.document.edit.submit();
		//else return false ;
		document.uform.submit();
	}
	
	
	
////////////////////////////////////////////////////////////////////////////////////////////
//////////// AJAX
function confirmPrBannerRemoval(prc,banner) {
	var agree=confirm("Remove header image? (this is permanent)");
	if (agree) {
		bannerXMLHttpObj=getXMLHttpRequestObject();
		// open socket connection
		bannerXMLHttpObj.open("POST","projects/pr-admin-process.php",true);
		// set form http header
		bannerXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		bannerXMLHttpObj.send("type=remove&prc="+prc+"&banner="+banner);
		bannerXMLHttpObj.onreadystatechange=prbannerStatusChecker;
		//return false;
	} //else return false ;
	
}
function prbannerStatusChecker(){
    // check if request is completed
    if(bannerXMLHttpObj.readyState==4){
        if(bannerXMLHttpObj.status==200) removePrbannerData(bannerXMLHttpObj);
    }
}
function removePrbannerData(reqObj){
	if(!reqObj.responseText) return
	else {
		var prc = reqObj.responseText.substring((reqObj.responseText.length-8), reqObj.responseText.length);
		var prev_id = reqObj.responseText.substring(0, (reqObj.responseText.length-9));
		var result = "pr_banner_holder_" + prev_id;
		
		////////////////////////////////////////////////
		//// remove the deleted banner image
		banner = result.toString();
		new Effect.Fade(banner);
		
		////////////////////////////////////////////////
		//// re-assign the non-deleted banner images
		linkfound = true;
		i = parseInt(prev_id)+1;
			while(linkfound) {
				if(document.getElementById('pr_banner_holder_'+i)) {
					thisLink = document.getElementById('remove_link_'+i);
					thisBanner = document.getElementById('pr_banner_holder_'+i);
					//console.log('was = ' + thisLink.href + ' / ' + thisBanner.id + ' / this pos = ' + i);
					thisLink.href = "javascript:confirmPrBannerRemoval('"+prc+"','"+(i-1)+"')";
					thisBanner.id = 'pr_banner_holder_'+(i-1);
					thisLink.id = 'remove_link_'+(i-1);
					//console.log('now = ' + thisLink.href + ' / ' + thisBanner.id);
					//console.log('//////////////////////////////////////');
					i++;
				} else linkfound = false;
				
			}
		
		
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////////
function addModerator(prid,prc) {
	var username = document.getElementById('moderator_add').value;
	moderatorXMLHttpObj=getXMLHttpRequestObject();
	// open socket connection
	moderatorXMLHttpObj.open("POST","projects/pr-admin-process.php",true);
	// set form http header
	moderatorXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	moderatorXMLHttpObj.send("type=addmoderator&username="+username+"&prc="+prc+"&prid="+prid);
	moderatorXMLHttpObj.onreadystatechange=moderatorAddStatusChecker;
	
	return false;

}

function moderatorAddStatusChecker(){
    // check if request is completed
    if(moderatorXMLHttpObj.readyState==4){
        if(moderatorXMLHttpObj.status==200) addModeratorInline(moderatorXMLHttpObj);
    }
}


function addModeratorInline(reqObj) {
	content = reqObj.responseText;
	
	if(content == "no user") {
		var container=document.getElementById('edit-pr-sidebar');
		//content = "<span class='error'>Error: screen name does not exist</span><br />";
		//container.innerHTML=container.innerHTML+content;
		alert('Error: screen name does not exist');
		
	} else if(content == "is creator") {
		var container=document.getElementById('edit-pr-sidebar');
		//content = "<span class='error'>Error: user is the project creator</span><br />";
		//container.innerHTML=container.innerHTML+content;
		alert('Error: you can not add the project creator');
		
	} else if(content == "is moderator") {
		var container=document.getElementById('edit-pr-sidebar');
		//content = "<span class='error'>Error: user is already a moderator</span><br />";
		//container.innerHTML=container.innerHTML+content;
		alert('Error: this person is already a moderator');
	
	} else if(content == "not participant") {
		var container=document.getElementById('edit-pr-sidebar');
		//content = "<span class='error'>Error: user is already a moderator</span><br />";
		//container.innerHTML=container.innerHTML+content;
		alert('Error: this person is not a contributor to this project');
	
	} else {
		var container=document.getElementById('moderators');
		// display messages
		container.innerHTML=container.innerHTML+content;
	}
	
	// fade in the new guy
	//new Effect.Appear(newtag, { duration:0.8 });
	//new Effect.Fade(comment_container);

	// reload add comment
	//expandtab('commentcounter',num);
	
}

/////////////////////////////////////////////////////////////////////////////////////////////////
function inviteParticipant(prid,prc) {
	var username = document.getElementById('participant_invite').value;
	inviteXMLHttpObj=getXMLHttpRequestObject();
	// open socket connection
	inviteXMLHttpObj.open("POST","projects/pr-admin-process.php",true);
	// set form http header
	inviteXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	inviteXMLHttpObj.send("type=invite&username="+username+"&prc="+prc+"&prid="+prid);
	inviteXMLHttpObj.onreadystatechange=inviteParticipantStatusChecker;
	
	return false;

}

function inviteParticipantStatusChecker(){
    // check if request is completed
    if(inviteXMLHttpObj.readyState==4){
        if(inviteXMLHttpObj.status==200) inviteParticipantInline(inviteXMLHttpObj);
    }
}


function inviteParticipantInline(reqObj) {
	content = reqObj.responseText;
	
	if(content == "no user") {
		var container=document.getElementById('invited');
		//content = "<span class='error'>Error: screen name does not exist</span><br />";
		//container.innerHTML=container.innerHTML+content;
		alert('Error: screen name does not exist');
		
	} else if(content == "is creator") {
		var container=document.getElementById('invited');
		//content = "<span class='error'>Error: user is the project creator</span><br />";
		//container.innerHTML=container.innerHTML+content;
		alert('Error: user is the project creator');
		
	} else if(content == "is moderator") {
		var container=document.getElementById('invited');
		//content = "<span class='error'>Error: user is already a moderator</span><br />";
		//container.innerHTML=container.innerHTML+content;
		alert('Error: this person is already a moderator');
	
	} else if(content == "is participant") {
		var container=document.getElementById('invited');
		//content = "<span class='error'>Error: user is already a moderator</span><br />";
		//container.innerHTML=container.innerHTML+content;
		alert('Error: this person is already a contributor');
	
	} else {
		var container=document.getElementById('invited');
		// display messages
		container.innerHTML=container.innerHTML+content;
	}
	
	// fade in the new guy
	//new Effect.Appear(newtag, { duration:0.8 });
	//new Effect.Fade(comment_container);

	
}


////////////////////////////////////////////////////////////////////////////////////////////
function removeModerator(uc,prid,username) {
	var agree=confirm("Remove "+username+" as a moderator?");
	if (agree) {
		remModXMLHttpObj=getXMLHttpRequestObject();
		// open socket connection
		remModXMLHttpObj.open("POST","projects/pr-admin-process.php",true);
		// set form http header
		remModXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		remModXMLHttpObj.send("type=removemod&uc="+uc+"&prid="+prid);
		remModXMLHttpObj.onreadystatechange=remModStatusChecker;
		
		return false;
	} else return false ;
	//if (agree) document.location.href="projects/pr-admin-process.php?type=remove&prc=" + prc + "&banner="+banner;
	//else return false ;
}
function remModStatusChecker(){
    // check if request is completed
    if(remModXMLHttpObj.readyState==4){
        if(remModXMLHttpObj.status==200) removeModData(remModXMLHttpObj);
    }
}
function removeModData(reqObj){
	//console.log(reqObj.responseText);
	if(!reqObj.responseText) return
	else {
		var result="moderator_" + reqObj.responseText;
		//alert(result + ' / ' + reqObj.responseText + ' / ' + reqObj.responseText.substring(1));
		moder = result.toString();
		new Effect.Fade(moder);
		
	}
}



////////////////////////////////////////////////////////////////////////////////////////////
function removeParticipant(uc,prid,username) {
	var agree=confirm("Remove "+username+" as a participant?");
	if (agree) {
		remModXMLHttpObj=getXMLHttpRequestObject();
		// open socket connection
		remModXMLHttpObj.open("POST","projects/pr-admin-process.php",true);
		// set form http header
		remModXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		remModXMLHttpObj.send("type=removepart&uc="+uc+"&prid="+prid);
		remModXMLHttpObj.onreadystatechange=remPartStatusChecker;
		
		return false;
	} else return false ;
	//if (agree) document.location.href="projects/pr-admin-process.php?type=remove&prc=" + prc + "&banner="+banner;
	//else return false ;
}
function remPartStatusChecker(){
    // check if request is completed
    if(remModXMLHttpObj.readyState==4){
        if(remModXMLHttpObj.status==200) removePartData(remModXMLHttpObj);
    }
}
function removePartData(reqObj){
	//console.log(reqObj.responseText);
	if(!reqObj.responseText) return
	else {
		var result="participant_" + reqObj.responseText;
		//alert(result + ' / ' + reqObj.responseText + ' / ' + reqObj.responseText.substring(1));
		thisParticipant = result.toString();
		new Effect.Fade(thisParticipant);
		
	}
}




/////////////////////////////////////////////////////
////////// SCREEN SIZING AND RESIZING
/////////////////////////////////////////////////////
	function getWinHeight() {
		if (parseInt(navigator.appVersion)>3) {
			if (navigator.appName=="Netscape") {
				winW = window.innerWidth;
				winH = window.innerHeight;
			}
			if (navigator.appName.indexOf("Microsoft")!=-1) {
				winW = document.body.offsetWidth;
				winH = document.body.offsetHeight;
			}
		}
		
		return winH;
	}
	
	function getObjSize(obj) {
		if (parseInt(navigator.appVersion)>3) {
			if (navigator.appName=="Netscape") {
				winW = obj.innerWidth;
				winH = obj.innerHeight;
			}
			if (navigator.appName.indexOf("Microsoft")!=-1) {
				winW = obj.offsetWidth;
				winH = obj.offsetHeight;
			}
		}
		
		return [winH,winW];
	}
	/////////////////////////////////////////////////
	function setHeight(obj) {
		var topOffset = 371;
		var thisObj = document.getElementById(obj);
		var thisDiv = document.getElementById('p_content');
		var currentHeight = getWinHeight();
		if(thisDiv.offsetHeight < (currentHeight - topOffset)) {
			thisObj.style.height = currentHeight - topOffset + 'px';
		}
	}
	
	
	
	btn_gallery=new Image()
 	btn_gallery.src="_gfx/btn_gallery.gif"
 	btn_gallery_o=new Image()
 	btn_gallery_o.src="_gfx/btn_gallery_o.gif"
	
	