promoteHelp = false;
synapseHelp = false;

// getXMLHttpRequest object
function getXMLHttpRequestObject(){
	var xmlobj;
    // check for existing requests
    if(xmlobj!=null&&xmlobj.readyState!=0&&xmlobj.readyState!=4){
        xmlobj.abort();
    }
    try{
        // instantiate object for Mozilla, Nestcape, etc.
        xmlobj=new XMLHttpRequest();
    }
    catch(e){
        try{
            // instantiate object for Internet Explorer
            xmlobj=new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch(e){
            // Ajax is not supported by the browser
            xmlobj=null;
            return false;
        }
    }
	return xmlobj;
}

function addMySite() {
	var ni = document.getElementById('webLinkDiv');
	var numi = document.getElementById('webValue');
	var num = (document.getElementById("webValue").value -1)+ 2;
	numi.value = num;
	var divIdName = "my"+num+"Div";
	var newdiv = document.createElement('div');
	newdiv.setAttribute("id",divIdName);
	newdiv.innerHTML = "<input type=\"text\" name=\"weblink"+num+"\" class=\"linkfield-light\" maxlength=\"30\" style=\"margin-bottom:10px;margin-right:5px;\" value='Insert link name:' onFocus=\"swapText(this,'Insert link name:','#CCCCCC','');\" onBlur=\"swapText(this,'Insert link name:','#CCCCCC','');\">&nbsp;";
	newdiv.innerHTML += "<input type=\"text\" name=\"weburi"+num+"\" class=\"linkfield-light\" style=\"margin-bottom:10px;margin-right:5px;\" value='http://' onFocus=\"swapText(this,'http://','#CCCCCC','');\" onBlur=\"swapText(this,'http://','#CCCCCC','');\"><br>";
	ni.appendChild(newdiv);
	
}

function addRecSite() {
	var ni = document.getElementById('recDiv');
	var numi = document.getElementById('recValue');
	var num = (document.getElementById("recValue").value -1)+ 2;
	numi.value = num;
	var divIdName = "my"+num+"Div";
	var newdiv = document.createElement('div');
	newdiv.setAttribute("id",divIdName);
	newdiv.innerHTML = "<input type=\"text\" name=\"reclink"+num+"\" class=\"linkfield-light\" maxlength=\"30\" style=\"margin-bottom:10px;margin-right:5px;\" value='Insert link name:' onFocus=\"swapText(this,'Insert link name:','#CCCCCC','');\" onBlur=\"swapText(this,'Insert link name:','#CCCCCC','');\">&nbsp;";
	newdiv.innerHTML += "<input type=\"text\" name=\"recuri"+num+"\" class=\"linkfield-light\" style=\"margin-bottom:10px;margin-right:5px;\" value='http://' onFocus=\"swapText(this,'http://','#CCCCCC','');\" onBlur=\"swapText(this,'http://','#CCCCCC','');\"><br>";
	ni.appendChild(newdiv);
}

function addUploadFrame(inval,type) {
	var ni = document.getElementById('payupHolder');
	var numi = document.getElementById('payupValue');
	var num = (document.getElementById("payupValue").value -1)+ 2;
	numi.value = num;
	var divIdName = "my"+num+"Div";
	var newdiv = document.createElement('div');
	newdiv.setAttribute("id",divIdName);
	newdiv.innerHTML += "<iframe name=\"payup"+num+"\" src=\"personal/payload-upload.php?action="+type+"&added=true\"  id=\"payup"+num+"\"  width=\"534\" height=\"108\" class=\""+type+"-image\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" topmargin=\"0\" leftmargin=\"0\"></iframe>";
	ni.appendChild(newdiv);
	
	//alert('type = ' + type);
	
	var thisIframe = document.getElementById("payup"+num);
	thisIframe.src = 'personal/payload-upload.php?action='+type;
	
	var addDiv = document.getElementById("add-container");
	addDiv.style.height = parseInt(addDiv.offsetHeight + 125)+'px';
	
	///////////////////////////////////////////////////////////////
	
	var npos = document.getElementById('metaPositionHolder');
	var num = inval;

	//var divIdName = "meta_position_"+num+"_div";
	//var newdiv = document.createElement('div');
	//newdiv.setAttribute("id",divIdName);
	npos.innerHTML += "<input type=\"hidden\" id=\"meta_position_"+num+"\" name=\"meta_position_"+num+"\" value=\"left\" >";
	//npos.appendChild(newdiv);
	
}

function addPrUploadFrame(inval,type,prc,num) {
	var ni = document.getElementById('payupHolder');
	var numi = document.getElementById('payupValue');
	var num = (document.getElementById("payupValue").value -1)+ 2;
	numi.value = num;
	var divIdName = "my"+num+"Div";
	var newdiv = document.createElement('div');
	newdiv.setAttribute("id",divIdName);
	newdiv.innerHTML += "<iframe name=\"payup"+num+"\" src=\"projects/pr-upload.php?action="+type+"&prc="+prc+"&num="+num+"\"  id=\"payup"+num+"\"  width=\"534\" height=\"108\" class=\""+type+"-image\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" topmargin=\"0\" leftmargin=\"0\"></iframe>";
	ni.appendChild(newdiv);
	
	//alert('type = ' + type);
	
	var thisIframe = document.getElementById("payup"+num);
	thisIframe.src = 'projects/pr-upload.php?action='+type+'&prc='+prc+'&num='+num;
	
	var addDiv = document.getElementById("add-container");
	addDiv.style.height = parseInt(addDiv.offsetHeight + 125)+'px';
	
	///////////////////////////////////////////////////////////////
	
	var npos = document.getElementById('metaPositionHolder');
	var num = inval;

	//var divIdName = "meta_position_"+num+"_div";
	//var newdiv = document.createElement('div');
	//newdiv.setAttribute("id",divIdName);
	npos.innerHTML += "<input type=\"hidden\" id=\"meta_position_"+num+"\" name=\"meta_position_"+num+"\" value=\"left\" >";
	//npos.appendChild(newdiv);
	
}

function removeUploadFrame(num) {
	var divIdName = "my"+num+"Div";
  	var d = document.getElementById('payupHolder');
  	var olddiv = document.getElementById(divIdName);
	
  	d.removeChild(olddiv);
	
	var holdername = "meta_position_"+num;
	var oldinput = document.getElementById(holdername);
	
	oldinput.setAttribute("id",'null');
	
}

function editPrComment(cid,pid,uc,ref) {
		var commentFrame = document.getElementById('comment_frame_container');
		var commentTitle = document.getElementById('comment_title');
		var location = 'personal/comments-add.php?type=edit&pr=project&cid='+cid+'&pid='+pid+'&myuc='+uc;
		var uploadLoc = 'http://spacecollective.org/personal/comments-upload.php?type=publish&pid='+pid+'&myuc='+uc;
		commentFrame.src=location;
		top.frames['comment_upload_container'].location.href=uploadLoc;
		commentTitle.innerHTML = "Edit your comment:";
		
		var liteboxW = 559 + 60 + 15;  	// width + padding + scrollbar
		var browsersize = getWinHW(); 	// h,w
		var scrollpos = getScrollXY(); 	// x,y
		
		var fadeback = document.getElementById('fade');
		var litebox = document.getElementById('light');
		var container = document.getElementById('container');
		
		var centerX = (browsersize[1] - liteboxW)/2;
		
		fadeback.style.top = '0px'; //scrollpos[1]+'px';
		litebox.style.top = scrollpos[1]+100+'px';
		litebox.style.left = centerX+'px';
		
		fadeback.style.display='block';
		litebox.style.display='block';
		
		
		var pagesize = getPageSizeWithScroll(); 	// w,h
		fadeback.style.height = pagesize[1]+'px';
		
		//container.style.visibility = 'hidden';
		
	}
	
function submitPrComments(type) {
		commentFrame = comment_frame_container;
		//
		commentFrame.document.getElementById('type').value = type;
		if(type == 'preview') commentFrame.document.commentform.action = 'comments-add.php';
		commentFrame.document.commentform.submit();
		
}
/////////////////////////////////////////////////////////////////////////////////////////////////
function updatePrComment(cid,uc,browser) {
	prCommentXMLHttpObj=getXMLHttpRequestObject();
	// open socket connection
	if(browser=='Safari') prCommentXMLHttpObj.open("POST","../personal/comments-update.php",true);
	else prCommentXMLHttpObj.open("POST","personal/comments-update.php",true);
	
	if(document.getElementById("items")) sendstr = "cid="+cid+"&uc="+uc+"&utype=prfeed";
	else sendstr = "cid="+cid+"&uc="+uc;
	// set form http header
	prCommentXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	prCommentXMLHttpObj.send(sendstr);
	prCommentXMLHttpObj.onreadystatechange=updatePrCommentStatusChecker;
	
	
	return false;

}
/////////////////////////////////////////////////////////////////////////////////////////////////
function updatePrCommentStatusChecker(){
    // check if request is completed
    if(prCommentXMLHttpObj.readyState==4){
        if(prCommentXMLHttpObj.status==200) updatePrCommentInline(prCommentXMLHttpObj);
    }
}
/////////////////////////////////////////////////////////////////////////////////////////////////
function updatePrCommentInline(reqObj) {
	var response = reqObj.responseText;
	var starting1 = response.indexOf("|#=#|");
	var starting2 = response.indexOf("|##=##|");
	
	var cid = reqObj.responseText.substring(1, starting1);
	var pid = reqObj.responseText.substring((starting1+5), starting2);
	var content = reqObj.responseText.substring((starting2+7), reqObj.responseText.length);
	
	var container=document.getElementById('edit_comment_'+cid);
	container.innerHTML=content;
	
	hideLightBox();
	
	if(document.getElementById("items")) shiftPosition(pid,'false');
	
	
	
}

	function getWinHW() {
		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,winW];
	}
	
	function getScrollXY() {
	  var scrOfX = 0, scrOfY = 0;
	  if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	  }
	  return [ scrOfX, scrOfY ];
	}
	
	function getPageSizeWithScroll(){
		if (window.innerHeight && window.scrollMaxY) {// Firefox
			yWithScroll = window.innerHeight + window.scrollMaxY;
			xWithScroll = window.innerWidth + window.scrollMaxX;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			yWithScroll = document.body.scrollHeight;
			xWithScroll = document.body.scrollWidth;
		} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
			yWithScroll = document.body.offsetHeight;
			xWithScroll = document.body.offsetWidth;
		}
		arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
		//alert( 'The height is ' + yWithScroll + ' and the width is ' + xWithScroll );
		return arrayPageSizeWithScroll;
	}
	
	function hideLightBox() {
		document.getElementById('light').style.display='none';
		document.getElementById('fade').style.display='none';
		if(document.getElementById('container')) document.getElementById('container').style.visibility = 'visible';
		else if(document.getElementById('ep_comments')) document.getElementById('ep_comments').style.visibility = 'visible';
	}
	

function confirmAffiliateAdd(elmid,thisajax) {
	var agree=confirm("Add to affiliates?");
	if (agree) expandtab(elmid, thisajax);
}

function confirmAffiliateRemove(elmid,thisajax) {
	var agree=confirm("Remove affiliation?");
	if (agree) expandtab(elmid, thisajax);
}

function confirmProjectAdd(elmid,thisajax) {
	var agree=confirm("Join this project?");
	if (agree) expandtab(elmid, thisajax);
}

function confirmProjectRemove(elmid,thisajax) {
	var agree=confirm("Leave this project?");
	if (agree) expandtab(elmid, thisajax);
}

function confirmCommentRemoval(cid,pid,uc,returnpath,returncode){
	var agree=confirm("Delete comment? (this is permanent)");
	if (agree) {
		if(returnpath == 'episodes') {
			commentXMLHttpObj=getXMLHttpRequestObject();
			// open socket connection
			commentXMLHttpObj.open("POST","home/comments-process.php",true);
			// set form http header
			commentXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			commentXMLHttpObj.send("type=remove&cid="+cid+"&pid="+pid+"&uc="+uc+"&re="+returnpath+"&code="+returncode);
			commentXMLHttpObj.onreadystatechange=commentStatusChecker;
		} else {
			commentXMLHttpObj=getXMLHttpRequestObject();
			// open socket connection
			commentXMLHttpObj.open("POST","personal/comments-process.php",true);
			// set form http header
			commentXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			commentXMLHttpObj.send("type=remove&cid="+cid+"&pid="+pid+"&uc="+uc+"&re="+returnpath+"&code="+returncode);
			commentXMLHttpObj.onreadystatechange=commentStatusChecker;
		}
		
		return false;
	} else return false ;
}
function commentStatusChecker(){
    // check if request is completed
    if(commentXMLHttpObj.readyState==4){
        if(commentXMLHttpObj.status==200) removeCommentData(commentXMLHttpObj);
    }
}
function removeCommentData(reqObj){
	if(!reqObj.responseText) return
	else {
		var response = reqObj.responseText;
		var starting = response.indexOf("|#=#|");
		
		var cid = reqObj.responseText.substring(1, starting);
		var pid = reqObj.responseText.substring((starting+5), reqObj.responseText.length);	
		
		var result="comment_entry_" + cid;
		comment = result.toString();
		
		//console.log(result + ' / ' + cid + ' / '+ pid + ' / '+response);
		// IE does not like to fade out. so, just drop it.
		if(BrowserDetect.browser == 'Explorer') document.getElementById(result).style.display = "none";
		else if(document.getElementById("items")) {
			document.getElementById(result).style.display = "none";
			shiftPosition(pid,'false');
		} else new Effect.Fade(comment);
		
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////
function confirmEntryRemoval(pid,action,page,returnPage){

	var agree=confirm("Delete entry? (this is permanent)");
	if (agree) {
			entryXMLHttpObj=getXMLHttpRequestObject();
			// open socket connection
			entryXMLHttpObj.open("POST","personal/entry-process.php",true);
			// set form http header
			entryXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			entryXMLHttpObj.send("action=remove&pid="+pid+"&returnpage="+action+"&startRow="+page);
			entryXMLHttpObj.onreadystatechange=entryStatusChecker;
			
		return false;
	} else return false;
}
function entryStatusChecker(){
    // check if request is completed
    if(entryXMLHttpObj.readyState==4){
        if(entryXMLHttpObj.status==200) removeEntryData(entryXMLHttpObj);
    }
}
function removeEntryData(reqObj){
	if(!reqObj.responseText) return
	else {
		var pid = reqObj.responseText.substring(1);
		var entry_result="entry_" + pid;
		var pr_result="project_" + pid;
		var pr_gallery = "item_" + pid;
		entry = entry_result.toString();
		project = pr_result.toString();
		
		if(document.getElementById(pr_gallery)) {
			closeThisPr(pid,0,'',false,'gallery')
			document.getElementById(pr_gallery).style.visibility = "hidden";
			shiftPosition(pid,'false');
			
		} else if(BrowserDetect.browser == 'Explorer') {
			if(document.getElementById(project)) document.getElementById(project).style.display = "none";
			else if(document.getElementById(entry)) document.getElementById(entry).style.display = "none";
			else document.location.href=reqObj.responseText.substring(1);
		} else {
			if(document.getElementById(project)) new Effect.Fade(project);
			else if(document.getElementById(entry)) new Effect.Fade(entry);
			else document.location.href=reqObj.responseText.substring(1);
		}
		
		
	}
}

	function editComment(cid,pid,myuc,uc) {
		var commentFrame = document.getElementById('comment_frame_container');
		var commentTitle = document.getElementById('comment_title');
		var location = 'personal/comments-add.php?type=edit&cid='+cid+'&pid='+pid+'&myuc='+myuc+'&usercode='+uc+'&pr=personal';
		var uploadLoc = 'http://spacecollective.org/personal/comments-upload.php?type=publish&pid='+pid+'&myuc='+myuc;
		commentFrame.src=location;
		top.frames['comment_upload_container'].location.href=uploadLoc;
		commentTitle.innerHTML = "Edit your comment:";
		
		var liteboxW = 559 + 60 + 15;  	// width + padding + scrollbar
		var browsersize = getWinHW(); 	// h,w
		var scrollpos = getScrollXY(); 	// x,y
		
		var fadeback = document.getElementById('fade');
		var litebox = document.getElementById('light');
		var container = document.getElementById('container');
		
		var centerX = (browsersize[1] - liteboxW)/2;
		
		fadeback.style.top = '0px'; //scrollpos[1]+'px';
		litebox.style.top = scrollpos[1]+100+'px';
		litebox.style.left = centerX+'px';
		
		fadeback.style.display='block';
		litebox.style.display='block';
		container.style.visibility = 'hidden';
		
		var pagesize = getPageSizeWithScroll(); 	// w,h
		fadeback.style.height = pagesize[1]+'px';
		
	}
	
	function addComment(pid,isfeed,layout) {
		var commentAddContainer = document.getElementById('add_comment_container_'+pid);
		var commentAddButton = document.getElementById('add_comment_button_'+pid);
		
		if(commentAddContainer) commentAddContainer.style.display='block';
		if(commentAddButton) commentAddButton.style.display='none';
		
		if(isfeed) shiftPosition(pid,'false',layout);
		
	}
	
	function projector(pid,prid,action,uc) {
			projectorXMLHttpObj=getXMLHttpRequestObject();
			// open socket connection
			projectorXMLHttpObj.open("POST","includes/projector-process.php",true);
			// set form http header
			projectorXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			projectorXMLHttpObj.send("action="+action+"&pid="+pid+"&prid="+prid+"&uc="+uc);
			projectorXMLHttpObj.onreadystatechange=projectorStatusChecker;
	}

	function projectorStatusChecker(){
		// check if request is completed
		if(projectorXMLHttpObj.readyState==4){
			if(projectorXMLHttpObj.status==200) confirmProjector(projectorXMLHttpObj);
		}
	}
	
	function confirmProjector(reqObj){
		if(!reqObj.responseText) return
		else {
			var response = reqObj.responseText;
			if(response == 'exists') {
				alert("Item is already part of this project");
				sendToPr('show',0,0);
			} else {
				var whiteout = document.getElementById('projector_whiteout');
				whiteout.style.display = 'block';
				setTimeout("sendToPr('show',0,0)",1000);
			}
		}
	}
	
		
	
/////////////////////////////////////////////////////////////////////////////////////////////////
function sendToPr(type,pid,cid,uc,prtype) {
 	var projector = document.getElementById('litebox_projector');
	var whiteout = document.getElementById('projector_whiteout');
   	if(type == 'show') {
		var liteboxW = projector.offsetWidth;  	// width + padding 
		var liteboxH = projector.offsetHeight+120;  	// height + padding
		var browsersize = getWinHW(); 	// h,w
		var scrollpos = getScrollXY(); 	// x,y
		
		var fadeback = document.getElementById('fade');
		
		var centerX = (browsersize[1] - liteboxW)/2 - 130;
		var centerY = scrollpos[1] + ((browsersize[0] - liteboxH)/2);
		
		fadeback.style.top = '0px'; //scrollpos[1]+'px';
		projector.style.top = centerY+'px';
		projector.style.left = centerX+'px';
		
		if(fadeback.style.display=='block') {
			fadeback.style.display='none';
			projector.style.display='none';
			
		} else {
			fadeback.style.display='block';
			projector.style.display='block';
		}
		whiteout.style.display = 'none';
		
		var pagesize = getPageSizeWithScroll(); 	// w,h
		fadeback.style.height = pagesize[1]+'px';
		
		var input_pid = document.getElementById('projector_pid');
		var input_cid = document.getElementById('projector_cid');
		var input_uc = document.getElementById('projector_uc');
		
		input_pid.value = pid;
		input_cid.value = cid;
		input_uc.value = uc;
		
		document.getElementById('send_pr').options['none'].selected=true;
		
   	} else if(type == 'submit') {
		var selectID = document.getElementById('send_pr');
		var prc = selectID.value;
		var input_pid = document.getElementById('projector_pid');
		var input_cid = document.getElementById('projector_cid');
		var input_uc = document.getElementById('projector_uc');
		
		pid = input_pid.value;
		cid = input_cid.value;
		uc = input_uc.value;
		
		if(cid != 0) prtype = "comment";
		else if(pid != 0) prtype = "post";
		
		if(prc != 'NONE') {
			projectorXMLHttpObj=getXMLHttpRequestObject();
			// open socket connection
			projectorXMLHttpObj.open("POST","includes/projector-process.php",true);
			// set form http header
			projectorXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			projectorXMLHttpObj.send("action=send&pid="+pid+"&cid="+cid+"&prid="+prc+"&uc="+uc+"&type="+prtype);
			projectorXMLHttpObj.onreadystatechange=projectorStatusChecker;
		}
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////
	function addSynapse(type,pid) {
		if(type == 'swap') {
			//synaddition_<?= $synapseInfo['sid'] ?>
			var thisSynapse = document.getElementById('synaddition_'+pid);
			if(thisSynapse) {
				var text = "Insert direct link to post";
				var input = '<div class="synapse-img"><img src="../_gfx/synapse_icon.gif" width="16" height="14">Connect to</div>';
				input += '<div class="synapse-post"><form name="search" onsubmit="return addSynapse(\'add\',\''+pid+'\')" action="#" method="get">';
				input += '<table><tr><td><input type="text" id="connection_'+pid+'" value="'+text+'" ';
				input += 'onFocus="swapText(this,\''+text+'\',\'#CCCCCC\',\'\');" onBlur="swapText(this,\''+text+'\',\'#CCCCCC\',\'\');" ';
				input += 'class="search_input" style="margin-top:7px;"></td><td> ';
				input += '<input type="image" src="../_gfx/btn_synapse_on_pad.gif" onfocus="this.blur();" style="padding-left:10px;" />';
				input += '</td></tr></table></form></div>';
				
				thisSynapse.innerHTML = input;
			}
			
			
			
		} else if(type == 'add') {
			var thisURL = document.getElementById('connection_'+pid).value;
			synapseXMLHttpObj=getXMLHttpRequestObject();
			// open socket connection
			synapseXMLHttpObj.open("POST","includes/synapse-process.php",true);
			// set form http header
			synapseXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			synapseXMLHttpObj.send("action="+type+"&pid="+pid+"&url="+thisURL);
			synapseXMLHttpObj.onreadystatechange=synapseStatusChecker;
		
			return false;
		
		
		} else if(type == 'show') {
			var thisSynapse = document.getElementById('synapse_'+pid);
			var thisAdder = document.getElementById('synaddition_'+pid);
			if(thisSynapse.style.display == 'block') { thisSynapse.style.display = 'none'; thisAdder.style.display = 'none'; }
			else { thisSynapse.style.display = 'block';  thisAdder.style.display = 'block'; }
			
			if(document.getElementById("items")) shiftPosition(parseInt(pid),'false');
		
		} else if(type == 'remove') {
			var agree=confirm("Delete synapse? (this is permanent)");
			if(agree) {
				var thisSynapse = document.getElementById('syn_'+pid);
				synapseXMLHttpObj=getXMLHttpRequestObject();
				// open socket connection
				synapseXMLHttpObj.open("POST","includes/synapse-process.php",true);
				// set form http header
				synapseXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				synapseXMLHttpObj.send("action="+type+"&sid="+pid);
				synapseXMLHttpObj.onreadystatechange=synapseStatusChecker;
			}
		
		}
		
	}

	function synapseStatusChecker(){
		// check if request is completed
		if(synapseXMLHttpObj.readyState==4){
			if(synapseXMLHttpObj.status==200) confirmSynapse(synapseXMLHttpObj);
		}
	}
	
	function confirmSynapse(reqObj) {
		var result = reqObj.responseText.split("|#-#|");
		var response = result[0];
		var pid = result[1];
		var output = result[2];
		if(response == 'invalid') alert('Please enter the direct link to a post');
		else if(response == 'exists') alert('This post is allready connected');
		else if(response == 'same') alert('You cannot connect a post to itself');
		else if(response == 'comment') alert('You cannot connect a comment. Yet.');
		else if(response == 'pass') {
			var thisSyn = document.getElementById('synapse_'+pid);
			var thisAdd = document.getElementById('synaddition_'+pid);
			var thisURL = document.getElementById('connection_'+pid);
			thisURL.value = 'Insert direct link to post';
			thisURL.blur();
			thisURL.style.color="#CCCCCC";
			thisURL.style.background="#FFFFFF";
			thisSyn.innerHTML = thisSyn.innerHTML + output;
			
			shiftPosition(parseInt(pid),'false');
			
		} else if(response == 'removed') {
			var syn_result = 'syn_'+pid;
			var rem_result = 'synrem_'+pid;
			var synapse = syn_result.toString();
			var remover = rem_result.toString();

			if(!document.getElementById("items")) {
				if(document.getElementById(synapse)) new Effect.Fade(synapse);
				if(document.getElementById(remover)) new Effect.Fade(remover);
			} else {
				if(document.getElementById(synapse)) document.getElementById(synapse).style.display = "none";
				if(document.getElementById(remover)) document.getElementById(remover).style.display = "none";
			}
		}
	}
	
/////////////////////////////////////////////////////////////////////////////////////////////////
function promotePost(uc,suc,pid) {
	promoteXMLHttpObj=getXMLHttpRequestObject();
	// open socket connection
	promoteXMLHttpObj.open("POST","includes/promote.php",true);
	// set form http header
	promoteXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	promoteXMLHttpObj.send("uc="+uc+"&suc="+suc+"&pid="+pid);
	promoteXMLHttpObj.onreadystatechange=promoteStatusChecker;
	
	var thisobj = document.getElementById('promote_'+pid);
	thisobj.innerHTML = "<img src='_gfx/loadingAnim.gif' id='loadspin' />";
	
	//return false;

}
/////////////////////////////////////////////////////////////////////////////////////////////////
function changeAdmin(val,prdl,current) {
	var prdl = document.getElementById('prdl').value;
	if(val != "NONE") {
		if(val == "colorpicker") {
			document.getElementById('colorpicker').style.display="block";
			document.getElementById('adminselect').selectedIndex = 0;
		} else document.location.href="/projects/"+prdl+"/"+val;
	}

}
/////////////////////////////////////////////////////////////////////////////////////////////////
function promoteStatusChecker(){
    // check if request is completed
    if(promoteXMLHttpObj.readyState==4){
        if(promoteXMLHttpObj.status==200) updatePromoteInline(promoteXMLHttpObj);
    }
}
/////////////////////////////////////////////////////////////////////////////////////////////////
function updatePromoteInline(reqObj) {
	var response = reqObj.responseText;
	var starting = response.indexOf("|#=#|");
	
	var pid = reqObj.responseText.substring(0, starting);
	var content = reqObj.responseText.substring((starting+5), reqObj.responseText.length);	
	var thisobj = document.getElementById('promote_'+pid);
	thisobj.innerHTML = content;
}

/////////////////////////////////////////////////////////////////////////////////////////////////
function favoritePost(uc,suc,pid,type) {
	favoriteXMLHttpObj=getXMLHttpRequestObject();
	// open socket connection
	favoriteXMLHttpObj.open("POST","includes/favorite.php",true);
	// set form http header
	favoriteXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	favoriteXMLHttpObj.send("uc="+uc+"&suc="+suc+"&pid="+pid+"&type="+type);
	favoriteXMLHttpObj.onreadystatechange=favoriteStatusChecker;
	
	var thisobj = document.getElementById('favorite_'+pid);
	thisobj.innerHTML = "<img src='_gfx/loadingAnim.gif' id='loadspin' />";
	
	//return false;

}
/////////////////////////////////////////////////////////////////////////////////////////////////
function favoriteStatusChecker(){
    // check if request is completed
    if(favoriteXMLHttpObj.readyState==4){
        if(favoriteXMLHttpObj.status==200) updateFavoriteInline(favoriteXMLHttpObj);
    }
}
/////////////////////////////////////////////////////////////////////////////////////////////////
function updateFavoriteInline(reqObj) {
	var response = reqObj.responseText;
	var starting = response.indexOf("|#=#|");
	
	var pid = reqObj.responseText.substring(0, starting);
	var content = reqObj.responseText.substring((starting+5), reqObj.responseText.length);	
	var thisobj = document.getElementById('favorite_'+pid);
	thisobj.innerHTML = content;
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////
function confirmMessageRemoval(pid) {
	var agree=confirm("Delete message? (this is permanent)");
	if (agree) document.location.href="message-process.php?type=remove&pmid=" + pid; //expandtab('message_'+pid, 3); //Effect.Fade('message_'+pid);
	//else expandtab('message_'+pid, 0);
}
function messageRemoval(pid) {
	Effect.Fade('message_'+pid);
	//else expandtab('message_'+pid, 0);
}

function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

function addslashes(str) {
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}
/////////////////////////////////////////////////////////////////////////////////////////////////
		function searchSubmit(defaultval,searchLocation,type) {
			
			if(type == 'main') var term = document.getElementById('mainsearchterm').value;
			else var term = document.getElementById('searchterm').value;
			if(term != '' && term != ' ' && term != defaultval) {
				newterm = term.replace(/ /g,"-");
				newterm = newterm.replace(/\"/g,"");
				newterm = newterm.replace(/\'/g,"");
				if(document.getElementById('stype')) {
					if(!document.getElementById('stype').checked) document.location.href = '/search/'+newterm;
					else document.location.href = searchLocation+''+newterm;
				} else document.location.href = searchLocation+''+newterm;
				return (false);
				
			} else {
				alert('You have not entered a search term');
				return (false);
			}
		}


function di(id,name){
	if (document.images) document.images[id].src=eval(name+".src"); 
}
	
function swapAddEntry(id,name,clickdown) {
	var toggleval = document.getElementById("add_entry_toggle");

	if(clickdown == 'true' && toggleval.value == 1) { di(id,'add_entry'); toggleval.value = 0; }
	else if(clickdown == 'true' && toggleval.value == 0) { di(id,'add_entry_o'); toggleval.value = 1; }
		
	if(toggleval.value == 0) {
		di(id,name);
	} 
}
	
function ismaxlength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
}

function showHide(obj_hide,obj_show) { //onclick either shows or hides the current dropout
	//hideAll();
	var hide_me = document.getElementById(obj_hide);
	var show_me = document.getElementById(obj_show);
	
	//alert(shower.style.display);
	
	show_me.style.display = "block";
	hide_me.style.display = "none";
}

function showPromoteHelp(obj) {
	var helpwin = document.getElementById('promote_help');
	var IE = document.all?true:false;
	var Yoffset = 24;
	var Xoffset = -5;
	var winpos = findThisPos(obj);
	helpwin.style.display = 'inline';
	helpwin.style.top = (winpos[1]+Yoffset)+'px';
	helpwin.style.left = (winpos[0]+Xoffset)+'px';
	
	setTimeout("promoteHelp = true",200);
}
function showSynapseHelp(obj) {
	var helpwin = document.getElementById('synapse_help');
	var IE = document.all?true:false;
	var Yoffset = 24;
	var Xoffset = -5;
	var winpos = findThisPos(obj);
	helpwin.style.display = 'inline';
	helpwin.style.top = (winpos[1]+Yoffset)+'px';
	helpwin.style.left = (winpos[0]+Xoffset)+'px';
	
	setTimeout("synapseHelp = true",200);
}
function findThisPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function bodyclick() {
	if(promoteHelp) document.getElementById('promote_help').style.display = 'none';
	if(synapseHelp) document.getElementById('synapse_help').style.display = 'none';
	promoteHelp = false;
	synapseHelp = false;
}

function addslashes(str) {
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}
function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

	function swapText(element,val,col,txtReplace,colReplace) {
		stripval = stripslashes(val);
		
		if(element.value == val) {
			if(txtReplace != '' && txtReplace != 'link') element.value = txtReplace;
			else element.value = "";
			element.style.color="#000";
			element.style.background="#ffffcc";
			//alert(element+' / '+val+' / '+col+' / '+txtReplace);
		} else if (element.value == "") {
			element.value = stripval;
			element.style.color=col;
			if(colReplace) element.style.background=colReplace;
			else element.style.background="#ffffff";
			//
			if(element.value == "Title") element.style.color = "#999999";
			
		} else if(txtReplace == "link") {
			element.style.color="#333";
		} else {
			element.style.color="#333";
			element.style.background="#ffffff";
		}
	}
	
	function swapMurmurText(element,val,txtReplace) {
		stripval = stripslashes(val);
		
		if(element.value == val) {
			if(txtReplace != '') element.value = txtReplace;
			else element.value = "";
		} else if (element.value == "") {
			element.value = stripval;			
		}
	}
	
	function showcontact() {
		var contact = document.getElementById('contactrow');
		var privacy = document.getElementById('privacyrow');
		var colophon = document.getElementById('colophonrow');
		privacy.style.display = "none";
		colophon.style.display = "none";
		if(contact.style.display == "block") contact.style.display = "none";
		else contact.style.display = "block";
		
		//window.scrollBy(0, window.innerHeight ? window.innerHeight : document.body.clientHeight);
		window.scrollBy(0,10000);
	}
	function showprivacy() {
		var contact = document.getElementById('contactrow');
		var privacy = document.getElementById('privacyrow');
		var colophon = document.getElementById('colophonrow');
		contact.style.display = "none";
		colophon.style.display = "none";
		if(privacy.style.display == "block") privacy.style.display = "none";
		else privacy.style.display = "block";
		
		window.scrollBy(0, window.innerHeight ? window.innerHeight : document.body.clientHeight);
	}
	function showcolophon() {
		var contact = document.getElementById('contactrow');
		var privacy = document.getElementById('privacyrow');
		var colophon = document.getElementById('colophonrow');
		contact.style.display = "none";
		privacy.style.display = "none";
		if(colophon.style.display == "block") colophon.style.display = "none";
		else colophon.style.display = "block";
		
		window.scrollBy(0, window.innerHeight ? window.innerHeight : document.body.clientHeight);
	}

/////////////////////////////////////////////////////////////////////////////////////////////////
function SendContact() {
	contactXMLHttpObj=getXMLHttpRequestObject();
	// open socket connection
	contactXMLHttpObj.open("POST","includes/contact-process.php",true);

	var name = document.getElementById('contactname').value;
	var email = document.getElementById('contactemail').value;
	var message = document.getElementById('contactmessage').value;

	// set form http header
	contactXMLHttpObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	contactXMLHttpObj.send("name="+name+"&email="+email+"&message="+message);
	contactXMLHttpObj.onreadystatechange=contactStatusChecker;
	

	return false;

}
/////////////////////////////////////////////////////////////////////////////////////////////////
function contactStatusChecker(){
    // check if request is completed
    if(contactXMLHttpObj.readyState==4){
        if(contactXMLHttpObj.status==200) updateContactInline(contactXMLHttpObj);
    }
}
/////////////////////////////////////////////////////////////////////////////////////////////////
function updateContactInline(reqObj) {
	var response = reqObj.responseText;
	
	if(response == 'pass') var text = "<b>Message sent successfully.</b>";
	else var text = "There was an issue sending your message. Please try again.";
	
	var container=document.getElementById('contactrow');
	headHTML = '<table cellpadding="0" cellspacing="0" border="0" width="840"><tr><td width="144">&nbsp;</td><td valign="top" style="width:485px;">';
	footHTML = '</td><td width="130">&nbsp;</td></tr></table>';
	container.innerHTML=headHTML+text+footHTML;
	
	//setTimeout("Effect.Fade('contactrow');",1000);
	
}

function commentAnchor(anchorLink) {
	url = window.location.href.split("#");
	document.location.href= url[0]+"#"+anchorLink;
	window.scrollBy(0,-50);
}


/////////////////////////////////////////////////////////////////////////////////////////////////
function disabledFeature() {
    alert("You must be logged in to use this feature");
}

function disabledBetaFeature() {
    alert("Feature temporarily disabled during test phase.");
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

	//////////////////////////////////////////////////////////////////////////////////
	///// define rollover images 
	//////////////////////////////////////////////////////////////////////////////////
	
	// top navigation //
	nav_homepage=new Image()
 	nav_homepage.src="_gfx/nav_home_out.gif"
 	nav_homepage_o=new Image()
 	nav_homepage_o.src="_gfx/nav_home_over.gif"
	
	nav_recent=new Image()
 	nav_recent.src="_gfx/nav_recent_out.gif"
 	nav_recent_o=new Image()
 	nav_recent_o.src="_gfx/nav_recent_over.gif"
	
	nav_projects=new Image()
 	nav_projects.src="_gfx/nav_projects_out.gif"
 	nav_projects_o=new Image()
 	nav_projects_o.src="_gfx/nav_projects_over.gif"
	
	nav_timecapsules=new Image()
 	nav_timecapsules.src="_gfx/nav_time_out.gif"
 	nav_timecapsules_o=new Image()
 	nav_timecapsules_o.src="_gfx/nav_time_over.gif"
	
	nav_blog=new Image()
 	nav_blog.src="_gfx/nav_blog_out.gif"
 	nav_blog_o=new Image()
 	nav_blog_o.src="_gfx/nav_blog_over.gif"
	
	
	
	
	
	// avatart images //
	add_entry=new Image()
 	add_entry.src="_gfx/tab-add.gif"
 	add_entry_o=new Image()
 	add_entry_o.src="_gfx/tab-add-o.gif"
	
	edit_entry=new Image()
 	edit_entry.src="_gfx/tab-edit.gif"
 	edit_entry_o=new Image()
 	edit_entry_o.src="_gfx/tab-edit-o.gif"
	
	go_admin=new Image()
 	go_admin.src="_gfx/tab-admin.gif"
 	go_admin_o=new Image()
 	go_admin_o.src="_gfx/tab-admin-o.gif"
	
	view_entry=new Image()
 	view_entry.src="_gfx/youtab.gif"
 	view_entry_o=new Image()
 	view_entry_o.src="_gfx/youtab-o.gif"
	
	// promoted images //
	promote_out=new Image()
 	promote_out.src="_gfx/promote.gif"
 	promote_over=new Image()
 	promote_over.src="_gfx/promote_over.gif"
	
	// favorites images //
	favorite_out=new Image()
 	favorite_out.src="_gfx/btn_fav.gif"
 	favorite_over=new Image()
 	favorite_over.src="_gfx/btn_fav_on.gif"
	
	// favorites images //
	synapse_out=new Image()
 	synapse_out.src="_gfx/btn_synapse.gif"
 	synapse_over=new Image()
 	synapse_over.src="_gfx/btn_synapse_on.gif"
	
	
	
	// pagination images //
	pg_overlay=new Image()
 	pg_overlay.src="_gfx/pg_overlay.gif"
 	pg_first_select=new Image()
 	pg_first_select.src="_gfx/pg_first_select.gif"
	pg_first_off=new Image()
 	pg_first_off.src="_gfx/pg_first_off.gif"
	pg_first_on=new Image()
 	pg_first_on.src="_gfx/pg_first_on.gif"
	pg_first_dim=new Image()
 	pg_first_dim.src="_gfx/pg_first_dim.gif"
	pg_last_select=new Image()
 	pg_last_select.src="_gfx/pg_last_select.gif"
	pg_last_off=new Image()
 	pg_last_off.src="_gfx/pg_last_off.gif"
	pg_last_on=new Image()
 	pg_last_on.src="_gfx/pg_last_on.gif"
	pg_last_dim=new Image()
 	pg_last_dim.src="_gfx/pg_last_dim.gif"
	
	// arrows //
	pg_prev=new Image()
 	pg_prev.src="_gfx/pg_prev.gif"
	pg_prev_over=new Image()
 	pg_prev_over.src="_gfx/pg_prev_over.gif"
	
	pg_next=new Image()
 	pg_next.src="_gfx/pg_next.gif"
	pg_next_over=new Image()
 	pg_next_over.src="_gfx/pg_next_over.gif"
	
	// homepage arrows //
	home_less=new Image()
 	home_less.src="_gfx/home_arrow_less.gif"
	home_less_over=new Image()
 	home_less_over.src="_gfx/home_arrow_less_o.gif"
	
	home_more=new Image()
 	home_more.src="_gfx/home_arrow_more.gif"
	home_more_over=new Image()
 	home_more_over.src="_gfx/home_arrow_more_o.gif"
	
	// home page read more //
	home_readmore=new Image()
 	home_readmore.src="_gfx/home_more_btn.gif"
	home_readmore_over=new Image()
 	home_readmore_over.src="_gfx/home_more_btn_o.gif"
	
	// home page vide close //
	video_close=new Image()
 	video_close.src="_gfx/video_close.gif"
	video_close_over=new Image()
 	video_close_over.src="_gfx/video_close_o.gif"
	
	// recent post close //
	post_close=new Image()
 	post_close.src="_gfx/btn_closepost.gif"
	post_close_over=new Image()
 	post_close_over.src="_gfx/btn_closepost_o.gif"
	
	// spacing lines //
	pr_solid_rule=new Image()
	pr_colid_rule = "_gfx/pr_solidruler.gif";
	
	// loading animation //
	loadAnimPad=new Image()
 	loadAnimPad.src="_gfx/loadingAnimPadding.gif";
	
	
	
