// JavaScript Document

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_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_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 findFlash(objStr){
	if(navigator.appName.indexOf("Microsoft Internet Explorer") != -1 || (navigator.userAgent.indexOf("Safari") != -1 && navigator.userAgent.indexOf("Version") == -1)){
		return document.getElementById(objStr);
	}
	else{
		var embeds = document.getElementsByTagName("EMBED");
		for(var i = 0;i < embeds.length;i++){
			if(embeds[i].name == objStr){
				return embeds[i];
			}
		}
		return document.embeds[objStr];
	}
}

function set_form_tabs(form_name){
	var myFormElements = document.forms[form_name].elements;
	
	for(var i=0; i<myFormElements.length; i++){
		myFormElements[i].tabIndex = i+1;
	}		
}

function rmObj(myObj){
	if(myObj.hasChildNodes()){
		for(var i = 0;i < myObj.childNodes.length;i++){
			rmObj(myObj.childNodes[i]);
		}
	}
	myObj.parentNode.removeChild(myObj);
}

String.prototype.trim = function() {
	return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"");
};

String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}

String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

String.prototype.cleanUsername = function() {
	return this.replace(/[^A-Za-z0-9._@-]/g,"");	
}

String.prototype.parseAlphanumeric = function() {
	return this.replace(/[^A-Za-z0-9]/g,"");	
}

String.prototype.parseWordsOnly = function() {
	return this.replace(/[^A-Za-z0-9 ]/g,"");	
}

function update_input_focus(myBox, msg){
	if(myBox.value == msg){
		myBox.value = "";
	}
}

function update_input_blur(myBox, msg){
	if(myBox.value == ""){
		myBox.value = msg;
	}
}

// ** ALLOW RADIOS TO BE UNCHECKED **

function radio_onmousedown(){
	if(this.checked){
		this.onmouseup = radio_onmouseup
	}
}
function label_onmousedown(){
	if(document.getElementById(this.htmlFor).checked){
		this.onmouseup = label_onmouseup
	}
}
function radio_onmouseup(){
	window.setTimeout("uncheck_radio(\"" + this.id + "\");",0);
	this.onmouseup = function () { return true; };		
}
function label_onmouseup(){
	window.setTimeout("uncheck_radio(\"" + this.htmlFor + "\");",0);
	this.onmouseup = function () { return true; };		
}	
function uncheck_radio(radio){
	var myRadio = document.getElementById(radio);

	myRadio.checked = false;
}
function alter_radios(form_name){
	var myForm = document.forms[form_name];
	var myFormElements = myForm.elements;
	
	for(var i=0; i<myFormElements.length; i++){
		if(myFormElements[i].tagName == "INPUT"){
			if(myFormElements[i].type == "radio"){
				if(!myFormElements[i].id){
					myFormElements[i].id = myFormElements[i].name + "_" + i;
				}
				myFormElements[i].onmousedown = radio_onmousedown;
				myFormElements[i].style.border = "none";
			}
			if(myFormElements[i].type == "checkbox"){
				myFormElements[i].style.border = "none";
			}
		}
	}
	
	var myLabels = document.getElementsByTagName("LABEL")

	for(var i=0; i<myLabels.length; i++){
		element = document.getElementById(myLabels[i].htmlFor);
		if(element.tagName == "INPUT"){
			if(element.type=="radio"){
				if(!myLabels[i].id){
					myLabels[i].id = "label_" + myLabels[i].htmlFor;
				}
				myLabels[i].onmousedown = label_onmousedown;
			}
		}
	}
}

// ** END ALLOW RADIOS TO BE UNCHECKED **


// ** DHTML ALERT BOX ***
function showAlert(msg){
	if(arguments[1]){
		var arg = arguments[1];
	}
	
	document.getElementsByTagName("HTML")[0].style.overflow = "hidden";
	document.getElementsByTagName("BODY")[0].style.overflow = "hidden";
	
	var bgDiv = document.createElement("DIV");
	bgDiv.id = "alert_background";
	bgDiv.className = "alert_bg";
	bgDiv.style.height = document.getElementsByTagName("BODY")[0].offsetHeight + "px";
	document.getElementsByTagName("BODY")[0].appendChild(bgDiv);
	
	var canvasDiv = document.createElement("DIV");
	canvasDiv.id = "alert_canvas";
	canvasDiv.className = "alert_canvas";
	canvasDiv.style.height = document.getElementsByTagName("BODY")[0].offsetHeight + "px";
	document.getElementsByTagName("BODY")[0].appendChild(canvasDiv);
	
	if(window.innerHeight){
		var windowHeight = window.innerHeight;
	}
	else{
		var windowHeight = document.getElementsByTagName("HTML")[0].offsetHeight;
	}
	
	var alertDiv = document.createElement("DIV");
	alertDiv.className = "alert";
	canvasDiv.appendChild(alertDiv);
	alertDiv.style.top = (windowHeight / 2) - (alertDiv.offsetHeight / 2) + "px";
	
	var msgDiv = document.createElement("DIV");
	msgDiv.className = "alert_msg";
	msgDiv.innerHTML = msg;
	alertDiv.appendChild(msgDiv);
	
	var closeDiv = document.createElement("DIV");
	closeDiv.className = "alert_close";
	closeDiv.innerHTML = "OK";
	if(arguments[1]){
		closeDiv.onclick = function () {closeAlert(arg)};
	}
	else{
		closeDiv.onclick = function () {closeAlert()};	
	}
	alertDiv.appendChild(closeDiv);	
	
	var objEmbeds = document.getElementsByTagName("EMBED");
	for(var i=0; i < objEmbeds.length; i++){
		for(var j=0; j<objEmbeds[i].attributes.length; j++){
			if(objEmbeds[i].attributes[j].name == "wmode"){
				objEmbeds[i].attributes[j].value = "transparent";
			}
		}
	}
	
	window.scrollTo(0,0);
	
	return false;
}

function closeAlert(){
	rmObj(document.getElementById("alert_background"));
	rmObj(document.getElementById("alert_canvas"));
	
	document.getElementsByTagName("HTML")[0].style.overflow = "auto";
	document.getElementsByTagName("BODY")[0].style.overflow = "auto";
	
	var objEmbeds = document.getElementsByTagName("EMBED");
	for(var i=0; i < objEmbeds.length; i++){
		for(var j=0; j<objEmbeds[i].attributes.length; j++){
			if(objEmbeds[i].attributes[j].name == "wmode"){
				objEmbeds[i].attributes[j].value = "window";
			}
		}
	}
	
	if(arguments[0]){
		arguments[0].focus();	
	}
}

// ** DHTML CONFIRM BOX ***
var params;
var unblockfunction = function() {
	window.location = "preferences.unblock.php?id="+ params;
};

var deletefunction = function() {
	window.location = "inbox.delete.php?delete_id="+ params +"&delete_mode=single";	
};

var delete_sent_function = function() {
	window.location = "sent-box.delete.php?delete_id="+ params +"&delete_mode=single";	
};

function showConfirm(msg, fnc){
	if(arguments[2]){
		params = arguments[2];
	}
	if(arguments[3]){
		var arg = arguments[3];
	}
	document.getElementsByTagName("HTML")[0].style.overflow = "hidden";
	document.getElementsByTagName("BODY")[0].style.overflow = "hidden";
	
	var bgDiv = document.createElement("DIV");
	bgDiv.id = "alert_background";
	bgDiv.className = "alert_bg";
	bgDiv.style.height = document.getElementsByTagName("BODY")[0].offsetHeight + "px";
	document.getElementsByTagName("BODY")[0].appendChild(bgDiv);
	
	var canvasDiv = document.createElement("DIV");
	canvasDiv.id = "alert_canvas";
	canvasDiv.className = "alert_canvas";
	canvasDiv.style.height = document.getElementsByTagName("BODY")[0].offsetHeight + "px";
	document.getElementsByTagName("BODY")[0].appendChild(canvasDiv);
	
	if(window.innerHeight){
		var windowHeight = window.innerHeight;
	}
	else{
		var windowHeight = document.getElementsByTagName("HTML")[0].offsetHeight;
	}
	
	var alertDiv = document.createElement("DIV");
	alertDiv.className = "alert";
	canvasDiv.appendChild(alertDiv);
	alertDiv.style.top = (windowHeight / 2) - (alertDiv.offsetHeight / 2) + "px";
	
	var msgDiv = document.createElement("DIV");
	msgDiv.className = "alert_msg";
	msgDiv.innerHTML = msg;
	alertDiv.appendChild(msgDiv);
	
	var OkDiv = document.createElement("DIV");
	OkDiv.className = "alert_ok";
	OkDiv.innerHTML = "Yes";
	
	OkDiv.onclick = fnc;
	
	alertDiv.appendChild(OkDiv);	
	
	var closeDiv = document.createElement("DIV");
	closeDiv.className = "alert_close";
	closeDiv.innerHTML = "No";
	if(arguments[3]){
		closeDiv.onclick = function () {closeAlert(arg)};
	}
	else{
		closeDiv.onclick = function () {closeAlert()};	
	}
	alertDiv.appendChild(closeDiv);	
	
	var objEmbeds = document.getElementsByTagName("EMBED");
	for(var i=0; i < objEmbeds.length; i++){
		for(var j=0; j<objEmbeds[i].attributes.length; j++){
			if(objEmbeds[i].attributes[j].name == "wmode"){
				objEmbeds[i].attributes[j].value = "transparent";
			}
		}
	}
	
	window.scrollTo(0,0);
	
	return false;
}


// ** DHTML PROMPT BOX ***
function showPromptLoginRedirect(msg){
	if(arguments[1]){
		var arg = arguments[1];
	}
	
	document.getElementsByTagName("HTML")[0].style.overflow = "hidden";
	document.getElementsByTagName("BODY")[0].style.overflow = "hidden";
	
	var bgDiv = document.createElement("DIV");
	bgDiv.id = "alert_background";
	bgDiv.className = "alert_bg";
	bgDiv.style.height = document.getElementsByTagName("BODY")[0].offsetHeight + "px";
	document.getElementsByTagName("BODY")[0].appendChild(bgDiv);
	
	var canvasDiv = document.createElement("DIV");
	canvasDiv.id = "alert_canvas";
	canvasDiv.className = "alert_canvas";
	canvasDiv.style.height = document.getElementsByTagName("BODY")[0].offsetHeight + "px";
	document.getElementsByTagName("BODY")[0].appendChild(canvasDiv);
	
	if(window.innerHeight){
		var windowHeight = window.innerHeight;
	}
	else{
		var windowHeight = document.getElementsByTagName("HTML")[0].offsetHeight;
	}
	
	var alertDiv = document.createElement("DIV");
	alertDiv.className = "alert";
	canvasDiv.appendChild(alertDiv);
	alertDiv.style.top = (windowHeight / 2) - (150 / 2) + "px";
	
	var msgDiv = document.createElement("DIV");
	msgDiv.className = "alert_msg";
	msgDiv.innerHTML = msg;
	alertDiv.appendChild(msgDiv);
	
	var closeDiv = document.createElement("DIV");
	closeDiv.className = "alert_close";
	closeDiv.innerHTML = "OK";
	if(arguments[1]){
		closeDiv.onclick = function () {transferToLogin()};
	}
	else{
		closeDiv.onclick = transferToLogin;
		//closeDiv.onclick = closeAlert;	
	}
	alertDiv.appendChild(closeDiv);	
	
	var objEmbeds = document.getElementsByTagName("EMBED");
	for(var i=0; i < objEmbeds.length; i++){
		for(var j=0; j<objEmbeds[i].attributes.length; j++){
			if(objEmbeds[i].attributes[j].name == "wmode"){
				objEmbeds[i].attributes[j].value = "transparent";
			}
		}
	}
	
	window.scrollTo(0,0);
	
	return false;
}

function transferToLogin(){
	window.location="/login/";
}
// ** END HTML ALERT BOX ***

function validate_login(myForm){
	if(!myForm.elements['username']){
		window.location = "/account";
		return false;
	}
	else if(myForm.elements['username'].value.trim() == "" || myForm.elements['username'].value != myForm.elements['username'].value.cleanUsername()){
		myForm.elements['username'].value = "";
		showAlert("Invalid login provided.", myForm.elements['username']);
		return false;
	}
	else if(myForm.elements['password'].value.trim() == "" || myForm.elements['password'].value == "*******"){
		myForm.elements['password'].value = "";
		showAlert("You must enter a password", myForm.elements['password']);
		return false;
	}
	else{
		return true;
	}
}

function validate_search(myForm){
	if(myForm.elements['search'].value.trim() == "" || myForm.elements['search'].value == "Search by Profile"){
		showAlert("You can search by ID, Username, or First Name.");
		return false;
	}
	else{
		return true;
	}
}