﻿
var DEFAULT_ERROR_TEXT = 'An error occured. Please try again.';

var ThirdPartySelects = ['FreeTextBox1_0_0','FreeTextBox1_0_1','FreeTextBox1_0_2','FreeTextBox1_0_3','FreeTextBox1_0_5'];

function DisplaySecurityInfo()
{
	var elem = $('SecurityInfo');
	var message = '&nbsp;';
	
	var selectElem = $('SiteSecurity');
	
	if (selectElem.value == 1)
	{
		message += 'Your homepage will be visible to anyone';
	}
	else if (selectElem.value == 2)
	{
		message += 'You choose who can view your homepage';
	}
	else if (selectElem.value == 3)
	{
		message += 'Only you will be able to view your homepage';
	}
	
	elem.innerHTML = message;
}


var overLayFadeIn = 0;
var intervalID = 0;
var fadeDirection = "IN";
var curSizeMode = 0;
var isFading = false;
var isFaded = false;

function ShowOverlay()
{

	var overlay = $('ModalBG');
	overlay.style.height = document.body.parentNode.scrollHeight + 'px';

	var frm = document.forms[0];
	
	for (i = 0; i < frm.elements.length; i++)
	{
		if (frm.elements[i].type == 'select-one' || frm.elements[i].type == 'select' || frm.elements[i].type == 'select-multiple')
		{
			if (frm.elements[i].className == 'PageSelect' || IsInThirdPartySelects(frm.elements[i].id))
			{
				frm.elements[i].style.display = 'none';
			}
		}
	}
	
	var iframeElem = $$('iframe');
	
	for (j = 0; j < iframeElem.length; j++)
	{
		var elem = iframeElem[j];
		elem.style.display = 'none';
	}
	
	fadeDirection = "IN";
	overLayFadeIn = 0;
	
	if (intervalID > 0)
	{
		clearInterval(intervalID);
	}
	
	if (overlay.style.display = "none")
	{
		intervalID = setInterval(FadeInOverLay, 1);
	}
	
}

function FadeInOverLay()
{

	if (overLayFadeIn >= 0 && overLayFadeIn <= 70)
	{
	
		isFading = true;
		
		var overlay = $('ModalBG');
		
		overlay.style.filter = ('alpha(opacity=' + overLayFadeIn + ')');
		
		var overLayFadeInFF = overLayFadeIn;
		overLayFadeInFF = overLayFadeInFF/100;
		var temp = overLayFadeInFF.toString().split('.');
		if (temp.length > 1)
		{
			overLayFadeInFF = temp[1];
		}
		
		overlay.style.opacity = ('0.' + overLayFadeInFF);
		
		if (fadeDirection == "IN" && overLayFadeIn <= 0)
		{
			overlay.style.display = 'block';
		}
		else if (fadeDirection == "OUT" && overLayFadeIn <= 0)
		{
			overlay.style.display = 'none';
		}
		
		if (fadeDirection == "IN")
		{
			overLayFadeIn += 10;
		}
		else
		{
			overLayFadeIn -= 10;
		}
		
	}
	else
	{
		isFading = false;
		
		clearInterval(intervalID);
		overLayFadeIn = 0;
		intervalID = 0;
		
		if (fadeDirection == "IN")
		{
			isFaded = true;
			ShowDialogPanel(curModalID, curSizeMode, true);
		}
		else { isFaded = false; }
	}
	
}

function HideOverlay()
{

	var frm = document.forms[0];
	
	var overlay = $('ModalBG');
		
	for (i = 0; i < frm.elements.length; i++)
	{
		if (frm.elements[i].type == 'select-one' || frm.elements[i].type == 'select' || frm.elements[i].type == 'select-multiple')
		{
			if (frm.elements[i].className == 'PageSelect' || IsInThirdPartySelects(frm.elements[i].id))
			{
				frm.elements[i].style.display = 'inline';
			}
		}
	}
	
	var iframeElem = $$('iframe');
	
	for (j = 0; j < iframeElem.length; j++)
	{
		var elem = iframeElem[j];
		elem.style.display = 'block';
	}
	
	
	fadeDirection = "OUT";
	overLayFadeIn = 70;
	
	if (intervalID > 0)
	{
		clearInterval(intervalID);
	}
	
	if (overlay.style.display = "block" || overLayFadeIn > 0)
	{
		intervalID = setInterval(FadeInOverLay, 1);
	}
}

function IsInThirdPartySelects(idName)
{
	for (var i = 0; i < ThirdPartySelects.length; i++)
	{
		if (idName == ThirdPartySelects[i]) { return true; }
	}
	
	return false;
}


var curModalID = null;
var curModalSizeMode = null;
var curLoadingIntervalID = 0;

function ShowDialogPanel(id, sizeMode, isInit)
{
	var modal = $(id);

	if (modal)
	{
		curModalID = id;
		curModalSizeMode = sizeMode;
	   
		var w = (300 + (100 * sizeMode));
		
		var xCoor = Math.round((document.body.clientWidth/2)-(w/2))
		var yCoor = 50;
		
		if (sizeMode > 1) { yCoor = 10; }
		
		
		var scrollY = 0;
		
		if (document.body.scrollLeft || document.body.scrollTop) // IE 5.5
		{
			//x = document.body.scrollLeft;
			scrollY = document.body.scrollTop;
		}
		else
		{
			//x = document.documentElement.scrollLeft;
			scrollY = document.documentElement.scrollTop;
		}

		modal.style.left = xCoor + 'px';
		modal.style.top  = (yCoor + scrollY) + 'px';
		
		if (isInit)
		{
			modal.style.left = xCoor + 'px';
			modal.style.top  = (yCoor + scrollY) + 'px';
			modal.style.display = 'block';
		}
	}
}

var hideTimeOutID = 0;


// Modal Dialog
function ModalDialog()
{

	var show = arguments[0];
	var id = arguments[1];
	
	var fadePersists = false;
	
	if (arguments.length > 2)
	{
		fadePersists = arguments[2];
	}

	var dialog = $(id);
	var overlay = $('ModalBG');
	
	curModalID = id;
		
	if (show && (dialog.style.display == null || dialog.style.display == "" || dialog.style.display == "none"))
	{
	
		var sizeMode = 1;
		if (dialog.className == 'ModalDialog2')
		{
			sizeMode = 5;
		}
		
		curSizeMode = sizeMode;
	
		if (!isFading && !isFaded)
		{
			// not faded or fading in so show the background overlay which in turn calls ShowDialogPanel()
			ShowOverlay();
		}
		else if (isFaded)
		{
			// fading or faded in and the fade is persistent so only show dialog
			ShowDialogPanel(id, sizeMode, true);
		}
		
	}
	else if (!show)
	{
	
		if (dialog != null)
		{
		
			if ((isFading || isFaded) && !fadePersists)
			{
				// not faded or fading in and not persisting the fade so show the background overlay and modal dialog
				HideDialogPanel();
				HideOverlay();
			}
			else if ((isFading || isFaded) && fadePersists)
			{
				// fade is persistent so only hide dialog
				HideDialogPanel();
			}
//			else
//			{
//				HideDialogPanel();
//				HideOverlay();
//			}

		}
		
		curModalID = null;
		curModalSizeMode = null;
	}
}

function HideDialogPanel()
{
	$(curModalID).style.display = 'none';
	curModalID = null;
	curModalSizeMode = null;
}

function InitScrollSize()
{
	if (document.onscroll)
	{
		document.onscroll = MoveModialDialog;
	}
	else
	{
		window.document.onscroll = MoveModialDialog;
	}
}

InitScrollSize();

function MoveModialDialog(e)
{
	if (curModalID != null)
	{
		if ($(curModalID).className != 'ModalDialog2')
		{
			ShowDialogPanel(curModalID, curModalSizeMode, false);
		}
	}
	return true;
}

//To show/hide instructional text in the note textbox
function ShowHideText(id, action)
{

	var instructionalText = 'Write something...';
	
	var textValue = $(id).value;
	
	if ((action == 'Hide') && (textValue == instructionalText || isBlank(textValue) || isEmpty(textValue)))
	{
		$(id).value = "";
		$(id).className = "TextAreaComment";
	}
	else if (action == 'Show' && (textValue == instructionalText || isBlank(textValue) || isEmpty(textValue)))
	{
		$(id).value = instructionalText;
		$(id).className = "InstructionalTextGray";
	}
	
}

function ShowPopUpAnon(uri, title, linkUri, messageboardID, authenticated, totalUserPhotos)
{
	// to check if the user is authenticated or not.
	
	if (authenticated == 1)
	{
		PreloadImage(uri);
		
		$("PhotoDialog_MostRecentCommentBox").innerHTML = "&nbsp;";
		
		$("DialogTitle").innerHTML = ("&nbsp;" + title);
		$("currentPhotoMBID").value = messageboardID;
		var contentBox = $("DialogContentBox");
		contentBox.innerHTML = "&nbsp;";
		
		var newA = document.createElement('a');
		newA.setAttribute("href", linkUri);
		newA.setAttribute("target", "_blank");
			
		var newImg = document.createElement('img');
		newImg.setAttribute("src", uri);
		newImg.setAttribute("alt", title);
		newImg.setAttribute("title", title);
		
		
		newA.appendChild(newImg);
		contentBox.appendChild(newA);		
		
		if (totalUserPhotos == 1)
		{
		   $('tdPrevLink').style.display = 'none';
		   $('tdNextLink').style.display = 'none';
		}
		
		ModalDialog(true, 'PhotoDialog');
	}
	else
	{
		ModalDialog(false, 'PhotoDialog');
		ModalDialog(true, 'AnonPhotoDialog');
	}
}
	
function PreviewPhoto(uri, title, id)
{
	$("currentPhotoMBID").value = id;
	var elem = $("DialogContentBox");
	elem.innerHTML = "&nbsp;";
	elem.innerHTML = ("<img src=\"" + uri + "\" alt=\"" + title + "\" style=\"300px;\" />");
	$("DialogTitle").innerHTML = "&nbsp;" + title;
}

function ShowPopUpI_Anon(uri, title, linkUri, isEmbed)
{
	ModalDialog(true, 'IDialog');
	$("IDialogTitle").innerHTML = ("&nbsp;" + title);
	var contentBox = $("IDialogContentBox");
	var infoBox = $("IDialogInfoBox");
	var dialogBox = $("IDialog");
	
	if (!isEmbed)
	{
		
		contentBox.innerHTML = "&nbsp;";
		infoBox.innerHTML = "&nbsp;";
		
		var newA = document.createElement('a');
		newA.setAttribute("href", linkUri);
		newA.setAttribute("target", "_blank");
		
		var newImg = document.createElement('img');
		newImg.setAttribute("src", uri);
		newImg.setAttribute("alt", title);
		newImg.setAttribute("title", title);
		
		newA.appendChild(newImg);
		
		contentBox.appendChild(newA);
		
	}
	else
	{
		
		contentBox.innerHTML = "&nbsp;";
		infoBox.innerHTML = "&nbsp;";
		
		if (title == "") { title = "View Original Video"; }
		
		var FO = { movie:uri, width:"425", height:"350", majorversion:"6", build:"0" };
		UFO.create(FO, "IDialogContentBox");
		
		var newP = document.createElement('p');
		newP.setAttribute("class", "Space");
		
		newP.innerHTML = "&nbsp;";
		infoBox.appendChild(newP);
		
		var newA = document.createElement('a');
		newA.setAttribute("href", linkUri);
		newA.setAttribute("target", "_blank");
		
		newA.innerHTML = title;
		
		infoBox.appendChild(newA);
		
	}
	
}

function FlashCopy(elem)
{
	
	$(('Text' + elem.id)).style.display = "inline";
	
	if (window.clipboardData)
	{
		window.clipboardData.setData("Text", elem.value);
	}
	else
	{
		var flashcopier = 'flashcopier';
		if (!$(flashcopier))
		{
			var divholder = document.createElement('div');
			divholder.id = flashcopier;
			document.body.appendChild(divholder);
		}
		
		$(flashcopier).innerHTML = '';
		var divinfo = '<embed src="_clipboard.swf" flashvars="clipboard=' + elem.value + '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
		$(flashcopier).innerHTML = divinfo;
	}
	
	setTimeout("$(('Text" + elem.id + "')).style.display = 'none';", 1000);
}


var enterHandled = false;
// handle [enter] keypress - submit form by sending click command to appropriate button
function HandleEnter(e, elm)
{
	e = e || window.event;
	
	if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13))	// [enter] keypress?
	{
		if (!enterHandled)	// has the [enter] keypress already been handled once on the page
		{
			enterHandled = true;
			$(elm).click();	// send click command to appropriate button			
		}
		else
		{
			return false;
		}
		
		return true;
		
	}
	else	// FIX: firefox/mozilla try to resubmit if validation fails and alert box is closed using [enter] keypress (enters a loop)
	{
		enterHandled = false;	// don't handle [enter] keypress again until another key has been pressed
	}
	
	return false;
	
}

var enterHandled_IsEnter = false;
// check [enter] keypress - was this keypress an [enter]?
function IsEnter(e)
{
	e = e || window.event;
	
	if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13))	// [enter] keypress?
	{
		if (!enterHandled_IsEnter)	// has the [enter] keypress already been handled once on the page
		{
			enterHandled_IsEnter = true;
			return true;		
		}
		else
		{
			return false;
		}
		
		return true;
		
	}
	else	// FIX: firefox/mozilla try to resubmit if validation fails and alert box is closed using [enter] keypress (enters a loop)
	{
		enterHandled_IsEnter = false;	// don't handle [enter] keypress again until another key has been pressed
	}
	
	return false;
	
}

// Get a QS var
function GetQSVar(QS, varToGet)
{

	var val = "";
	var tempUrl = "";
	var start = 0;
	var end = 0;
	
	if (QS.indexOf('?' + varToGet) != -1)
	{
		
		start = QS.indexOf('?' + varToGet);
		
		if (start != -1)
		{
		
			tempQS = QS.substring((start + varToGet.length + 1), QS.length);
			end = tempQS.indexOf('&');
			
			if (end == -1)
				end = tempQS.length;
			
		}
		
		if (start != -1 && end != -1)
		{
			val = tempQS.substring(0, end);
		}	
		else
		{
			val = "";
		}
		
	}
	else if (QS.indexOf('&' + varToGet) != -1)
	{
		
		start = QS.indexOf('&' + varToGet);
		
		if (start != -1)
		{
		
			tempQS = QS.substring((start + varToGet.length + 1), QS.length);
			end = tempQS.indexOf('&');
			
			if (end == -1)
				end = QS.length;
			
		}
		
		if (start != -1 && end != -1)
		{
			val = tempQS.substring(0, end);
		}	
		else
		{
			val = "";
		}
		
	}
	
	return val;

}

function GoPage(url)
{
	window.location.href = url;
}

function CheckBox(id, isRadio)
{
	var elem = $(id);
	
	if (eval(elem))
	{
		if (elem.checked && !isRadio)
		{
			elem.checked = false;
		}
		else
		{
			elem.checked = true;
		}
	}
}

function DoCheckBox(id)
{
	var elem = $(id);
	
	if (elem.checked)
	{
		elem.checked = false;
	}
	else
	{
		elem.checked = true;
	}
}

function CheckLength(id, LEN)
{
	var elem = $(id);
					
	if (elem.value.length >= LEN)
	{
		alert('You have reached your maximum of ' + LEN + ' characters');
		var s = elem.value;
		elem.value = s.substr(0, (LEN - 2));
	}
}

function ShowRemainingChars(id, displayID, LEN)
{
	var elem = $(id);
	var displayElem = $(displayID);
	
	if (elem.value.length > LEN)
	{
		alert('You have reached your maximum of ' + LEN + ' characters');
		var s = elem.value;
		elem.value = s.substring(0, (LEN-1));
	}
	else
	{
		displayElem.innerHTML = ((LEN - elem.value.length) + " characters remaining");
	}
}

function PreloadImage()
{

	var preload;
	var args = PreloadImage.arguments;
	var i = 0;
	
	for (i = 0; i < args.length; i++)
	{
		preload = new Image();
		preload.src = args[i];
	}
}


function ShowInfoMessage(type, text)
{
	var elem = $("MessageBoxes");
	
	var typeText = "Success";
	
	if (type.toUpperCase() == "ERROR") { typeText = "Error"; }
	else if (type.toUpperCase() == "SUCCESS") { typeText = "Success"; }
	
	var htmlContent = "<div class='" + typeText + "Box'>"; 
	htmlContent += "<p class='Space15'>&nbsp;</p>";
	htmlContent += "<span class='Text" + typeText + "'>&nbsp;" + text + "</span>";
	htmlContent += "<p class='Space15'>&nbsp;</p>";
	htmlContent += "</div>";
	elem.innerHTML = htmlContent;
}

function SwapImage(elem, imgFile)
{
	var tempImg = new Image();
	tempImg.src = imgFile;
	elem.src = tempImg.src;
}

function ShowHideElement(id)
{
	try
	{
		if ($(id).style.display == "none")
		{
			$(id).style.display == "block";
		}
		else
		{
			$(id).style.display = "none";
		}
	}
	catch(e){}
}




var nav = navigator;
var navVer = navigator.appVersion;
var navUser = navigator.userAgent;
var isWindows = (navVer.indexOf('Win') != -1);
var isMac = (navVer.indexOf('Mac') != -1);
var isLinux = (navUser.indexOf('Linux') != -1);
var dom;
var msie, msie5, mozilla, opera, safari, konqueror

if (!document.layers)
{
	dom = (document.getElementById);
	op = (navUser.indexOf('Opera') != -1);
	konq = (navUser.indexOf('Konqueror') != -1);
	saf = (navUser.indexOf('Safari') != -1);
	moz = (navUser.indexOf('Gecko') != -1 && !saf && !konq);
	msie = (document.all && !op);
	msie5 = (document.all && dom);
}

function HelpToolTip(show, offsetX, elem, text)
{
	var coors;
	
	var divElem = $('HelpTooltip');
	var divContentElem = $('HelpToolTipContent');
	
	if (show == true)
	{
		coors = FindPos(elem);
		divElem.style.left = (parseInt(coors[0] + offsetX) + 'px');
		divElem.style.top = (parseInt(coors[1]) + 'px');
		divContentElem.innerHTML = ('<p class="HelpToolTipText">' + text + '</p><p class="Space10">&nbsp;</p>');
	}
	else
	{
		divContentElem.innerHTML = text;
		divElem.style.top = ('-1000px');
		divElem.style.left = ('-1000px');
	}
}

function FindPos(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 GoHistory(pgs)
{
	history.go(pgs);
}

function Dummy(){ return; }


// place cursor at end of text
function MoveCursorToEnd(elem)
{
	elem.focus();
	elem.value += '.';
	elem.value = elem.value.replace(/.$/,''); 
}


// find the current cursor position within string
function FindCursorPostion(elem)
{
	if (elem.createTextRange)
	{
		var dupRange = document.selection.createRange().duplicate();
		dupRange.moveEnd('character', elem.value.length);
		
		if (dupRange.text == '')
		{
			return elem.value.length;
		}
		
		return elem.value.lastIndexOf(dupRange.text);
		
	}
	else { return elem.selectionStart; }
}


function AjaxHash(c, m)
{

	var s = $('__s').value;
	var g = $('__g').value;
	
	var params = new Hash();
	
	params.set('__s', s);
	params.set('__g', g);
	params.set('__c', c);
	params.set('__m', m);
	
	return params;
	
}

function EncodeNameAndValue(paramName, paramValue)
{
   var paramString = encodeURIComponent(paramName);
   paramString += '=';
   paramString += encodeURIComponent(paramValue);
   return paramString;   
}

function isIE()
{
	if(navigator.appName == "Microsoft Internet Explorer")
	{
		return true;
	}
	else
	{
		return false;
	}
}

function isNetscape()
{
	if(navigator.appName == "Netscape")
	{
		return true;		
	}
	else
	{
		return false;
	}
}

function isOpera()
{
	if(navigator.appName == "Opera")
	{
		return true;		
	}
	else
	{
		return false;
	}
}