
var SiteDomain = "http://cranialmeltdown.com";

// ----------------------------------------------------------------------------------



function submitWeblogComment(wei)
{

	tempurl = SiteDomain + "/weblog_ajax.php?action=submitWeblogComment&weblog_entry_id="+wei+"&weblog_comment_text="+document.getElementById('weblog_comment_text_'+wei).value+"&wortpruf="+document.getElementById('wortpruf_'+wei).value+"&todaysdate="+document.getElementById('todaysdate_'+wei).value+"&weblog_comment_email="+document.getElementById('weblog_comment_email_'+wei).value;

	aj = ajax("passive",tempurl,"");	
		
	cd = document.getElementById('weblogComments_'+wei);

//	cd.innerHTML = aj;

//	alert(aj);

	alert('Your comment has been submitted for moderation.');
	cd.style.display = "none";
	openWeblogCommentBox(wei);


}


function openWeblogCommentBox(wei)
{
	if (document.getElementById('weblogComments_'+wei))
	{	
		cd = document.getElementById('weblogComments_'+wei);
		if (cd.style.display=="block")
		{
			cd.innerHTML = "";
			cd.style.display = "none";
			document.getElementById('addCommentLink_'+wei).innerHTML = "Add Comment";
		}
		else
		{		
			tempurl = SiteDomain + "/weblog_ajax.php?action=openWeblogCommentBox&weblog_entry_id="+wei;
			aj = ajax("passive",tempurl,"");
			cd.innerHTML = aj;
			cd.style.display = "block";
			document.getElementById('addCommentLink_'+wei).innerHTML = "Close Comment Box";
		}
	}
}


function submitLikes(eid)
{
	var ims = document.getElementsByClassName('interestMarker');
	var imsMarked = new Array();
	for (var i=0;i<ims.length;i++)
	{
		if (ims[i].checked)
		{
			imsMarked.push(ims[i].value);
		}
	}
	imsString = imsMarked.join(",");
	if (trim(imsString)!="")
	{
		if (confirm("Are you absolutely sure you want to use these "+imsMarked.length+" people as your interests for this event? Once you submit this, you will not be able to change your choice until you attend another event that they attend. We have set it up this way so that you will choose people you are legitimately interested in, as opposed to simply picking new people again and again and comparing everybody."))
		{
			tempurl = SiteDomain + "/ajax.php?action=submitLikes&eid="+eid+"&likes="+imsString;
			aj = ajax("passive",tempurl,"");
			if (trim(aj)!="")
			{
				document.getElementById('eDebug').innerHTML = aj;
			}
		}
	}
//	window.location.reload();
}



function markRegistration(uid,eid,stat)
{

	tempurl = SiteDomain + "/ajax.php?action=markRegistration&eid="+eid+"&uid="+uid+"&stat="+stat;
	aj = ajax("passive",tempurl,"");
//	alert(aj);
}


function eventRegister(eid)
{
//	alert(eid);
	tempurl = SiteDomain + "/ajax.php?action=eventRegister&event_id="+eid;
	aj = ajax("passive",tempurl,"");
	if (trim(aj)!="")
	{
		document.getElementById('regLink_'+eid).innerHTML = aj;
	}
}



function eventUnregister(eid)
{
//	alert(eid);
	tempurl = SiteDomain + "/ajax.php?action=eventUnregister&event_id="+eid;
	aj = ajax("passive",tempurl,"");
//	if (trim(aj)!="")
//	{
		document.getElementById('regLink_'+eid).innerHTML = aj;
//	}
}



function highlightEvent(n)
{
	var eds = document.getElementsByClassName('EventDiv_selected');
	for (var i=0;i<eds.length;i++)
	{
		eds[i].className = "EventDiv";
	}
	if (n > 0)
	{
		document.getElementById('EventDiv_'+n).className = "EventDiv_selected";
	}
}

function setProfilePicture(u,p,o)
{
	tempurl = "ajax.php?action=setProfilePicture&uid="+u+"&pid="+p;
	aj = ajax("passive",tempurl,"");
	document.location.reload();
}









function getKeyCode(e)
{
	var keycode=e.keyCode? e.keyCode : e.charCode;
	return keycode;
}


function tryEnterKeywords(e)
{
	keycode = getKeyCode(e);
//	document.getElementById('debug').innerHTML = keycode;
	if (keycode=="13")
	{
		drawMarkers(map);
	}
}


function getPinHex(n)
{
	r = "";
	hexDigits = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f";
	hexDigits = hexDigits.split(",").reverse();
	if (n > 14)
	{
		n = 14;
	}
	for (var i=0;i<4;i++)
	{
		r += hexDigits[n];
	}
	r = ""+r+"00";
	if (r.length < 6)
	{
		r = "ffff00";
	}
	return r;
}



// ----------------------------------------------------------------------------------



document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};


function toggleDisplay(d,p,v)	// div/object; position anchor object; vertical offset
{
	
	
	var toggleItems = document.getElementsByClassName(document.getElementById(d).className);
	if (document.getElementById(d).className!="")
	{
		for (i=0;i<toggleItems.length;i++)
		{
			if (toggleItems[i].id!=d)
			{
				document.getElementById(toggleItems[i].id).style.display = "none";
			}
		}
	}
	
	if (document.getElementById(d))
	{
		if ((p)&&(v))
		{
			var posLeft = document.getElementById(p).offsetLeft;
			var posTop = document.getElementById(p).offsetTop + v;
			document.getElementById(d).style.left = posLeft.toString(10) + "px";
			document.getElementById(d).style.top = posTop.toString(10) + "px";
		}
		var dv = document.getElementById(d).style.display;
		if (dv=="none")
		{
			document.getElementById(d).style.display = "block";
		}
		else
		{
			document.getElementById(d).style.display = "none";
		}
	}
}

function toggleVisibility(d,p,v)	// div/object; position anchor object; vertical offset
{
	
	

	if (document.getElementById(d))
	{
		if ((p)&&(v))
		{
			var posLeft = document.getElementById(p).offsetLeft;
			var posTop = document.getElementById(p).offsetTop + v;
			document.getElementById(d).style.left = posLeft.toString(10) + "px";
			document.getElementById(d).style.top = posTop.toString(10) + "px";
		}
		var dv = document.getElementById(d).style.display;
		if (dv=="none")
		{
			document.getElementById(d).style.display = "block";
		}
		else
		{
			document.getElementById(d).style.display = "none";
		}
	}
}



function exitFB()
{
	if (confirm("Are you sure you want to log out of Facebook? Your Facebook user account will no longer be recognized, and you'll need to create a separate account on the site."))
	{
		self.location.replace("index.php?action=nofb");
	}
}

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function gmailContact(d,t)
{
	var em = "<a href='mailto:" + t + "@gmail.com;'>" + t + "@gmail.com</a>"
	document.getElementById(d).innerHTML = em;	
}

function contactEmail(d,t)
{
	var em = "<a href='mailto:" + t + "@cranialmeltdown.com;'>" + t + "@cranialmeltdown.com</a>"
	document.getElementById(d).innerHTML = em;
}



/*
divContent = new Array();
divContent['someDivID'] = "";

togglerTexts = new Array();
togglerTexts[0] = new Array();
togglerTexts[1] = new Array();
togglerTexts[0]['faqDiv'] = "Click here to open";
togglerTexts[1]['faqDiv'] = "Click here to close";

setTimeout("toggleVisibility('faqDiv')",100);

*/















// ------------------------------------------------------------------------------------


function verifyReturnMapCoordinates(f_lat,f_long,c_lat,c_long)
{
	if (confirm("Return these coordinates?: " + c_lat + "," + c_long))
	{
		returnMapCoordinates(f_lat,f_long,c_lat,c_long);
	}
}

function returnMapCoordinates(f_lat,f_long,c_lat,c_long)
{
	window.opener.document.getElementById(f_lat).value = c_lat;
	window.opener.document.getElementById(f_long).value = c_long;
	window.close();
}

function getMapCoordinates(updateField_lat,updateField_long)
{
	window.open(SiteDomain + "/gCoordsGet.php?updateField_lat="+updateField_lat+"&updateField_long="+updateField_long,"getMapCoordinates","height=400px, width=500px");	
}






// ------------------------------------------------------------------------------------




function infoPopup(x)
{
 var m = "";
 if (x=="group_status_options")
 {
  m = "Group Status Options include: \n\n";
  m += "OPEN: anyone can join \n\n";
  m += "CLOSED: by invitation only \n\n";
  m += "RESTRICTED: members must match any indicated criteria (school, age, gender, major) to join \n\n";
 }
 if (m!="")
 {
  alert(m); 
 }
}


function updateSuggestion(id_f,id_v,name_f,name_v,clear_div)
{
 document.getElementById(id_f).value = id_v;	
 document.getElementById(name_f).value = name_v;	
 document.getElementById(clear_div).innerHTML = "";
}

/*
suggbox = (name) = the element ('this') whose value is being compared for suggestion
suggdiv = the id of the div that will be filled with the suggestions
valuefield = the actual value field (usually an id) that will be filled for form submission
tbl = name of table with data
tbl_displaycolumn --> tbl_dc = column that will be compared and displayed
tbl_valuecolumn --> tbl_vc = column that contains the value to be used in the form
*/



function suggestFromTable(suggbox,suggdiv,valuefield,tbl,tbl_displaycolumn,tbl_valuecolumn)
{
 var v = document.getElementById(suggbox).value;
 if (v!="")
 {
  var url = "http://cranialmeltdown.com/suggest.php?v=" + v + "&valuefield=" + valuefield + "&suggbox=" + suggbox + "&suggdiv=" + suggdiv + "&tbl=" + tbl + "&tbl_dc=" + tbl_displaycolumn + "&tbl_vc=" + tbl_valuecolumn;
  ajax("active",url,suggdiv);
 }
}




function openHelp(x)
{
 window.open("http://cranialmeltdown.com/helpfile.php?page="+x,"helpfile","height=400,width=400,resizable=1,scrolling=1,scrollbars=1");
}



function displayTagInterface()
{
 window.open("http://cranialmeltdown.com/tag_interface.php","tag_interface","height=300,width=400,resizable=1,scrolling=1,scrollbars=1");
}

function openPic(p,n)
{
 window.open('http://cranialmeltdown.com/pictures/'+p,n,'resizable=1, height=300px, width=300px');
}

function jetAdClick()
{
 alert('Test');
// window.open("http://cranialmeltdown.com/jetAdClick.php","jetAdClick","height=400px, width=600px, left=50px, top=50px, resizable=1, scrolling=1, scrollbars=1");
}


function toggleFillDivChangeClass(d,c,t)
{
 if (document.getElementById(d).innerHTML=="")
 {
  fillDivChangeClass(d,c,t);
 } 
 else
 {
  fillDivChangeClass(d,c,"");
  document.getElementById(d).className = "";
 }
}

function fillDivChangeClass(d,c,t)
{
 document.getElementById(d).innerHTML = t;
 document.getElementById(d).className = c;
}

function toggleFillDiv(d,t)
{
 if (document.getElementById(d).innerHTML=="")
 {
  fillDiv(d,t);
 } 
 else
 {
  fillDiv(d,"");
 }
}

function fillDiv(d,t)
{
 document.getElementById(d).innerHTML = t;
}











function getStringFromTags(str,startTag,endTag)
{
	r = "";
	if (str.length > 0)
	{
		if ( (str.search(startTag) >= 0) && (str.search(endTag) > str.search(startTag)) )
		{
			stringStart = str.search(startTag) + startTag.length;
			stringEnd = str.search(endTag);
			r = str.substring(stringStart, stringEnd);
			str = str.substring((stringEnd+endTag.length),str.length);
		}
	}
	return r;
}








function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function gmailContact(d,t)
{
	var em = "<a href='mailto:" + t + "@gmail.com'>" + t + "@gmail.com</a>"
	document.getElementById(d).innerHTML = em;	
}

function contactEmail(d,t)
{
	var em = "<a href='mailto:" + t + "@cranialmeltdown.com'>" + t + "@cranialmeltdown.com</a>"
	document.getElementById(d).innerHTML = em;
}












function setCookie(name,value) {
	var v = ""+value;
	document.cookie = name+"="+escape(v);
}

function getCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return false;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}





/* -------------------- CURRENT AJAX FUNCTIONS --------------------------- */

// ------------------------------------------------------------------------
// HELPFUL: http://www.aleixcortadellas.com/main/2009/03/01/ajax-post/
// ------------------------------------------------------------------------

var xmlHttp

function ajax(method,url,params)
{

	if (!(params) || (params==null))
	{
		params = "";
	}

	xmlHttp=GetXmlHttpObject();
	xmlHttp.onreadystatechange=function ()
	{
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{
		
		}
	};
	// defaults to 'get' in case of 'passive/active' nonsense from before
	if (method=="POST")
	{
		xmlHttp.open("POST", url, false);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(params);		
	}
	else
	{
		if (params!="")
		{
			xmlHttp.open("GET",url+"?"+params,false);
		}
		else
		{
			xmlHttp.open("GET",url,false);
		}
		xmlHttp.send(null);
	}
	ajaxReturnValue = trim(xmlHttp.responseText);
	return ajaxReturnValue;
}



function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
  {
    // Firefox, Opera 8.0+, Safari, etc
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    // Internet Explorer
    try
    {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

/* -------------------- END AJAX FUNCTIONS --------------------------- */



