/* --- IE focus script for inputs (green bg on click, for example) --- */
sfFocus = function() {
	var sfEls = document.getElementsByTagName("INPUT");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onfocus=function() {
			this.className+=" sffocus";
		}
		sfEls[i].onblur=function() {
			this.className=this.className.replace(new RegExp(" sffocus\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfFocus);

/* --- zap focus borders on links --- */
function zapFocus() {
    if (document.getElementsByTagName) {
        var an = document.getElementsByTagName('a');
        for (i=0; i<an.length; i++) {
            var evn = "this.blur()";
            var fun = new Function('e',evn);
            an.item(i).onmouseup = fun;
		}
		var btn = document.getElementsByTagName('button');
        for (i=0; i<an.length; i++) {
            var evn = "this.blur()";
            var fun = new Function('e',evn);
            an.item(i).onmouseup = fun;
		}
    }
}


/* --- Global AJAX Creation --- */
var reqObj = false;
var offsetX, offsetY;

try {
	reqObj = new ActiveXObject("MSXML2.XMLHTTP");
} catch (exception1) {
	try {
		reqObj = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (exception2) {
		reqObj = false;
	}
}
if (!reqObj && window.XMLHttpRequest) {
	reqObj = new XMLHttpRequest();
}


/* --- Rater text changer --- */
function yourThoughtsOnThisJoke(rating) {
	var thoughts = document.getElementById("yourThoughtsOnThisJoke");
	if (rating == "1") {
		thoughts.innerHTML = "Comic Blunder";
	} else if (rating == 2) {
		thoughts.innerHTML = "Meh";
	} else if (rating == 3) {
		thoughts.innerHTML = "Not Bad";
	} else if (rating == 4) {
		thoughts.innerHTML = "Good One";
	} else if (rating == 5) {
		thoughts.innerHTML = "Comic Wonder!";
	} else if (rating == 0) {
		thoughts.innerHTML = "What do you think?";
	}
}


/* --- View all tags --- */
function viewAllTags() {
	var allTags = document.getElementById("allTags");
	var viewAllTagsLink = document.getElementById("viewAllTagsLink");
	var closeAllTagsLink = document.getElementById("closeAllTagsLink");
	allTags.style.display = "block";
	viewAllTagsLink.style.display = "none";
	closeAllTagsLink.style.display = "inline";

}
function closeAllTags() {
	var allTags = document.getElementById("allTags");
	var viewAllTagsLink = document.getElementById("viewAllTagsLink");
	var closeAllTagsLink = document.getElementById("closeAllTagsLink");
	allTags.style.display = "none";
	viewAllTagsLink.style.display = "inline";
	closeAllTagsLink.style.display = "none";
}


/* --- Flag Options --- */
function viewFlagOptions() {
	var flagOptions = document.getElementById("flagOptions");
	var viewFlagLink = document.getElementById("viewFlagLink");
	var closeFlagLink = document.getElementById("closeFlagLink");
	flagOptions.style.display = "block";
	viewFlagLink.style.display = "none";
	closeFlagLink.style.display = "inline";
}
function closeFlagOptions() {
	var flagOptions = document.getElementById("flagOptions");
	var viewFlagLink = document.getElementById("viewFlagLink");
	var closeFlagLink = document.getElementById("closeFlagLink");
	flagOptions.style.display = "none";
	viewFlagLink.style.display = "inline";
	closeFlagLink.style.display = "none";
}


/* --- give feedback --- */
var msFeedbackBoxInnerHTML0 = "";
function giveFeedback()
{
	if (!reqObj) return;
	var feedbackBoxDiv = document.getElementById("feedbackBox");
	msFeedbackBoxInnerHTML0 = feedbackBoxDiv.innerHTML;
	reqObj.open( "GET", "/feedbackIslandForm.jsp" );
	reqObj.onreadystatechange = function() {
		if(reqObj.readyState == 4 && reqObj.status == 200) {
			feedbackBoxDiv.innerHTML = reqObj.responseText;
		}
	}
	reqObj.send(null);
}
function cancelGiveFeedback()
{
	var feedbackBoxDiv = document.getElementById("feedbackBox");
	feedbackBoxDiv.innerHTML = msFeedbackBoxInnerHTML0;
}
/*
function submitFeedback()
{
	if (!reqObj) return;

	var feedbackBoxDiv = document.getElementById("feedbackBox");
	msFeedbackBoxInnerHTML0 = feedbackBoxDiv.innerHTML;
	var sName = document.getElementById("feedbackName").value;
	var sEmail = document.getElementById("feedbackEmail").value;
	var sMsg = document.getElementById("feedbackMsg").value;
	var sContact = document.getElementById("feedbackContact").checked;
	sMsg = sMsg.replace(/^\s+|\s+$/g, '');
	if( sMsg=="" ) {
		alert("Please enter a message.");
		document.getElementById("feedbackMsg").focus();
		return;
	}
	reqObj.open( "GET", "/fpSupport.jsp?name="+sName+"&email="+sEmail+"&msg="+sMsg+"&contact="+sContact );
	reqObj.onreadystatechange = function() {
		if(reqObj.readyState == 4 && reqObj.status == 200) {
			feedbackBoxDiv.innerHTML = reqObj.responseText;
		}
	}
	reqObj.send(null);
}
*/

/* email to a friend */
function showEmailComponents() {
	var emailStuff = document.getElementById("emailComponents");
	var showLink = document.getElementById("showEmailComponentsLink");
	var hideLink = document.getElementById("hideEmailComponentsLink");
	emailStuff.style.display = "block";
	showLink.style.display = "none";
	hideLink.style.display = "block";
}
function hideEmailComponents() {
	var emailStuff = document.getElementById("emailComponents");
	var showLink = document.getElementById("showEmailComponentsLink");
	var hideLink = document.getElementById("hideEmailComponentsLink");
	emailStuff.style.display = "none";
	showLink.style.display = "block";
	hideLink.style.display = "none";
}


/* show notice if country !USA */
function showGlobalDetails() {
	var globalDetails = document.getElementById("globalDetails");
	globalDetails.style.display = "inline";
}


/* write <object> in embed input 
function writeFlashObjectLink(objectSrc) {
	var embedInput = document.getElementById("embedInput");
	embedInput.value = objectSrc;
}
*/


/* show/hide for filth factor descriptions on TellP3 */
function showFilthDetail(filthLevel, showLinkID, hideLinkID) {
	var ff = document.getElementById(filthLevel);
	var showLink = document.getElementById(showLinkID);
	var hideLink = document.getElementById(hideLinkID);
	ff.style.display = "inline";
	showLink.style.display = "none";
	hideLink.style.display = "block";
}
function hideFilthDetail(filthLevel, showLinkID, hideLinkID) {
	var ff = document.getElementById(filthLevel);
	var showLink = document.getElementById(showLinkID);
	var hideLink = document.getElementById(hideLinkID);
	ff.style.display = "none";
	showLink.style.display = "inline";
	hideLink.style.display = "none";
}


/* tip bubbles */
// all tips need to be loaded. that code is in each respective page
function showTip(ele) {
	$(ele).style.display = "block";
}
function hideTip(ele) {
	$(ele).style.display = "none";
}

function showUserInfo(info,showlink,hidelink) {
	$(info).style.display = "block";
	$(showlink).style.display = "none";
	$(hidelink).style.display = "inline";
}
function hideUserInfo(info,showlink,hidelink) {
	$(info).style.display = "none";
	$(showlink).style.display = "inline";
	$(hidelink).style.display = "none";
}
			
/* email newsletter subscribe */
function checkEmailSubscribeBox(targetId) {
	var emailAddress = document.getElementById(targetId);
	if( emailAddress.className == "emailBoxStarter" ) {
		emailAddress.className = "activeInput";
		emailAddress.value = "";
	}
}
function emailSubscribe(targetId,feedbackId,newsVal,jotdVal) {
	if (!reqObj) return;
	
	var emailAddressInput = document.getElementById(targetId);
	emailAddress = emailAddressInput.value;
	
	var cwSubscribeNews = document.getElementById(newsVal);
	var cwSubscribeNewsParam = null;
	var cwSubscribeJOTD = document.getElementById(jotdVal);
	var cwSubscribeJOTDParam = null;
	
	if( emailAddress== "" || emailAddress=="name@mail.com" ) {
		alert("Please enter a valid e-mail address");
		emailAddressInput.focus();
		emailAddressInput.className = "activeInput";
		return;
	}
	
	if ( cwSubscribeNews && cwSubscribeJOTD ) {
		if ( cwSubscribeNews.checked != 1 && cwSubscribeJOTD.checked != 1 ) {
			alert("You must subscribe to at least one e-mail subscription option");
	    	cwSubscribeNews.focus();
	    	return;
		} else {
			if( cwSubscribeNews.checked == 1 ) {
				cwSubscribeNewsParam = "&news=yesNews";
			} 
			if( cwSubscribeJOTD.checked == 1 ) {
				cwSubscribeJOTDParam = "&jotd=yesJOTD";
			}
		}
	}
	
	if ( cwSubscribeNews && !cwSubscribeJOTD) {
		if ( cwSubscribeNews.value == '1' ) {
			cwSubscribeNewsParam = "&news=yesNews";
		}
	}
	if ( !cwSubscribeNews && cwSubscribeJOTD) {
		if ( cwSubscribeJOTD.value == '1' ) {
			cwSubscribeJOTDParam = "&jotd=yesJOTD";
		}
	}
	
	
	var emailAddressFeedback = document.getElementById(feedbackId);
	
	reqObj.open( "GET", "/cfNewsletterSignup.jsp?emailAddress=" + emailAddress + cwSubscribeNewsParam + cwSubscribeJOTDParam );
	reqObj.onreadystatechange = function() {
		if(reqObj.readyState == 4 && reqObj.status == 200) {
			emailAddressFeedback.style.display = "inline";
		}
	}
	reqObj.send(null);
}