/*--------------------------------------------
community.js - various JS functions for login, register, etc.

Revision History
03JUL08 - sb - Allow blog page to refresh after login
21May08 - sb - Changes so login errors are generic and don't give clues to an account-hacker (for security reasons)
--------------------------------------------*/

//TODO: code review at and of development to strip unused code

var loginstatus = 0;
var currmvp = 1;

function subsRadioTouch(keyLoc) {

	var checkId = keyLoc + '_check';
	var theCheck = document.getElementById(checkId);
	if (theCheck) {
		var radioId = keyLoc + '_radio1';
		var radio1 = document.getElementById(radioId);
		radioId = keyLoc + '_radio2';
		var radio2 = document.getElementById(radioId);
		radioId = keyLoc + '_extra';
		var extrabox = document.getElementById(radioId);
	
		if (theCheck.checked == true) {
			if (radio1) {
				radio1.disabled = null;
				radio1.checked = true;
			}
			if (radio2) radio2.disabled = null;
			if (extrabox) {
				extrabox.disabled = null;
			}
		} else {
			if (radio1) {
				radio1.disabled = 'disabled';
				radio1.checked = false;
			}
			if (radio2) {
				radio2.disabled = 'disabled';
				radio2.checked = false;
			}
			if (extrabox) {
				extrabox.disabled = 'disabled';
				extrabox.checked = false;
			}
		}
	}
}
			

function showmvpdiv(num)
{
    if (currmvp != num)
    {
        if (num == 0)
        {
            var testnum = currmvp + 1;
            var objmvptest = document.getElementById("mvp" + testnum);
            if (objmvptest)
            {
                num = testnum;
            }
            else
            {
                num = 1;
            }
        }
        var objmvp = document.getElementById("mvp" + num);
        var objmvpold = document.getElementById("mvp" + currmvp);
        var objpage = document.getElementById("page" + num);
        var objpageold = document.getElementById("page" + currmvp);
        //alert(currmvp + " " + num); 
        if (objmvp && objmvpold && objpage && objpageold)
        {
            objmvp.style.display = "block";
            objmvpold.style.display = "none";
            objpage.innerHTML = num;
            objpageold.innerHTML = "<a href='javascript:showmvpdiv(" + currmvp + ");'>" + currmvp + "</a>";
            currmvp = num;
        }
    }
}

function commentformreset()
{
    commentform.reset();
    clearobject('forgotpassword2');
    showSignin(1,2);
}

function profileformreset()
{
    var objerror = document.getElementById("screennameerror2");
    if (objerror)
    {
        objerror.innerHTML = "";
    }
    profileform.reset()
}

function profileformprivatereset()
{
    var objerror = document.getElementById("newpassworderror");
    var objerror2 = document.getElementById("email2error");
    if (objerror)
    {
        objerror.innerHTML = "";
    }
    if (objerror2)
    {
        objerror2.innerHTML = "";
    }
    profileformprivate.reset()
}

function validateEmail(inputid)
{
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    var objaddress = document.getElementById(inputid);
    var objerror = document.getElementById(inputid + "error");
    if (objaddress && objerror)
    {
        objerror.innerHTML = "";
        var address = objaddress.value;
        if(reg.test(address) == false) 
        {
            objerror.innerHTML = "Invalid Email address";
            return false;
        }
    }
}
function passwordvalidate(inputid)
{
    var objpw = document.getElementById(inputid);
    var objerror = document.getElementById(inputid + "error");
    // TODO: Implement passowrd rules here
    if (objpw && objerror)
    {
        objerror.innerHTML = "";
        if (objpw.value.length < 5)
        {
            objerror.innerHTML = "Password must be at least 5 characters";
            return false;
        }
    }
}

function passwordmatch(inputid)
{
    var objpw = document.getElementById(inputid);
    var objpw2 = document.getElementById(inputid + "2");
    var objerror = document.getElementById(inputid + "error");
    if (objpw && objpw2 && objerror)
    {
        objerror.innerHTML = "";
        if (objpw.value != objpw2.value)
        {
            objerror.innerHTML = "Passwords do not match";
            return false;
        }
        else
        {
            passwordvalidate(inputid);
        }
    }
}

function oldpasswordvalidate(inputid)
{
    var objpw = document.getElementById(inputid);
    var objerror = document.getElementById(inputid + "error");
    if (objpw && objerror)
    {
        objerror.innerHTML = "";
	    if (objpw.value == '')
        {
			objerror.innerHTML = "You must fill in your old password";
            return false;
        }
   }
}

function screenname2validate()
{
    var objscreenname = document.getElementById("screenname2");
    var objsnerror = document.getElementById("screennameerror2");
    objsnerror.innerHTML = "";
    objsnerror.style.visibility = "visible";
    
    if (objscreenname.value.length > 0)
    {
     loadXMLDoc( '/checkScreennameInUse/n.' + $('screenname2').value, 'screennameerror2');
        /*
        var available = 1;
        // TODO: Check value in database to see if it is available
        // Next 3 lines are a simulation
        if (objscreenname.value == "test")
        {
            available = 0;
        }
        // End simulation
        if (available == 0)
        {
            objsnerror.innerHTML = "This name is not available";
            objsnerror.style.color = "#ff0000";
        }
        else
        {
            objsnerror.innerHTML = "This name is available";
            objsnerror.style.color = "#00ff00";
        }
        */
    }
    else
    {
        objsnerror.innerHTML = "You must enter a Screen Name";
        objsnerror.style.color = "#ff0000";
    }
}

function profileformsubmit()
{
   
    msg = "This screen name is not available";
    profileform.submit();
}
function emailupdatessubmit()
{
    emailupdates.submit();
}

function changereplies()
{
    var objreplies = document.getElementById("replies");
    var objforumreplies = document.getElementById("forumreplies");
    var objforumreplies2 = document.getElementById("forumreplies2");
    if (objreplies.checked)
    {
        objforumreplies.disabled = null;
        objforumreplies2.disabled = null;
        objforumreplies.focus();
    }
    else
    {
        objforumreplies.disabled = "disabled";
        objforumreplies2.disabled = "disabled";
        objforumreplies.checked = null;
        objforumreplies2.checked = null;
    }
    //alert(objreplies.disabled);
}

function showdiv(objname)
{
    var myobj = document.getElementById(objname);
    if (myobj)
    {
        var tt_n = navigator.userAgent.toLowerCase();
        var block = document.getElementById("blockUI");

        if (objname == 'register' || objname == 'login')
        {
            myobj.style.left = (document.documentElement.scrollLeft+35) + '%';
        }
        else
        {
            myobj.style.left = (document.documentElement.scrollLeft+35) + '%';
        }

        var osheight;
        if (tt_n.indexOf("safari") != -1)
        {
            osheight = 0;
        }
        else
        {
            osheight = myobj.offsetHeight;
        }
        myobj.style.top = document.body.scrollTop - osheight + 50;
        
        if (tt_n.indexOf("msie") != -1)
        {
            block.style.height = document.body.scrollTop + document.body.offsetHeight;
        }
        else
        {
            block.style.height = document.body.offsetHeight;
        }
        block.style.display = 'block';
        
        myobj.style.display = "block";
    }
}
function hidediv(objname)
{
    var myobj = document.getElementById(objname);
    myobj.style.display = 'none';
    var block = document.getElementById("blockUI");
    block.style.display = 'none';
}

function showabuse()
{
    var objabuse = document.getElementById("abuse");
    
    var tt_n = navigator.userAgent.toLowerCase();
    var block = document.getElementById("blockUI");
    var objabuse = document.getElementById("abuse");

    objabuse.style.left = (document.documentElement.scrollLeft+45) + '%';

    var osheight;
    if (tt_n.indexOf("safari") != -1)
    {
        osheight = 0;
    }
    else
    {
        osheight = abuse.offsetHeight;
    }
    objabuse.style.top = document.body.scrollTop - osheight + 50;
    
    if (tt_n.indexOf("msie") != -1)
    {
        block.style.height = document.body.scrollTop + document.body.offsetHeight;
    }
    else
    {
        block.style.height = document.body.offsetHeight;
    }
    block.style.display = 'block';
    
    objabuse.style.display = "block";
    
    
}
function hideabuse()
{
    var objabuse = document.getElementById("abuse");
    objabuse.style.display = 'none';
    var block = document.getElementById("blockUI");
    block.style.display = 'none';
}

// Probably only need one show and one hide function for both author and MVP.  Use Ajax to get info.

function showemail()
{
    var objemail = document.getElementById("divemail");
    objemail.style.display = 'block';
}
function hideemail()
{
    var objemail = document.getElementById("divemail");
    objemail.style.display = 'none';
}


function showcommentlogin()
{
    var objlogin = document.getElementById("divLogin");
    if (objlogin)
    {
        if (loginstatus == 0)
        {
            objlogin.style.display = 'block';
        }
        else
        {
            objlogin.style.display = 'none';
        }
    }
    	
}

function showSignin(id1, id2)
{
    if (document.getElementById('divLogin' + id1))
    {
        var objdiv1 = document.getElementById('divLogin' + id1);
        if (objdiv1 != null)
        {
            objdiv1.style.display = "inline";
            document.commentform.commentname1.focus();
            document.commentform.commentname2.value = "";
            document.commentform.commentverify.value = "";
            
            var objdiv2 = document.getElementById('divLogin' + id2);
            document.commentform.commentname2.focus();
            document.commentform.commentname1.value = "";
            document.commentform.commentpassword.value = "";
            if (objdiv2 != null)
            {
                objdiv2.style.display = "none";
            }
        }
    }
}

function login()
{
    var objee = document.getElementById("loginemailerror");
    objee.innerHTML = "";
    var objpe = document.getElementById("loginpassworderror");
    objpe.innerHTML = "";
    var objfp = document.getElementById("forgotpassword");
    objfp.innerHTML = "&nbsp;";
    
    showdiv("login");

}

function register(loc)
{
    var tt_n = navigator.userAgent.toLowerCase();
    var objlogin = document.getElementById("login");
    objlogin.style.display = "none";
    var block = document.getElementById("blockUI");
    var objregister = document.getElementById("register");

    objregister.style.left = (document.documentElement.scrollLeft+30) + '%';

    var osheight;
    if (tt_n.indexOf("safari") != -1)
    {
        osheight = 0;
    }
    else
    {
        osheight = objregister.offsetHeight;
    }
    if (loc == 0)
    {
        objregister.style.top = document.body.scrollTop - osheight + 50;
    }
    else
    {
        objregister.style.top = document.body.scrollTop - osheight + 50;
    }
    if (tt_n.indexOf("msie") != -1)
    {
        block.style.height = document.body.scrollTop + document.body.offsetHeight;
    }
    else
    {
        block.style.height = document.body.offsetHeight;
    }
    block.style.display = 'block';
    
    objregister.style.display = "block";
}

function validateEmail() {
   
var loginvalid = 1;
   
  var objle = document.getElementById("loginemail");
  var objfp = document.getElementById("forgotpassword");
  objfp.innerHTML = "";
	if (objle.value != "") {
		if (objle.value.indexOf('@') < 2) {
    		objfp.innerHTML = "<span class='error'>Login error. Need <span class=\"textlight11 sidebartext underline\"><a href=\"javascript:void(0);\" onclick=\"loadXMLDoc( '/showPwHint!email=" + loginEmail + "', 'forgotpassword' );\">a hint</a></span>?</span>";	

    } else {
      var successFunc = function(t) {
      	var emailExists = t.responseText;
      	if (emailExists == 0) {
    		objfp.innerHTML = "<span class='error'>Login error. Need <span class=\"textlight11 sidebartext underline\"><a href=\"javascript:void(0);\" onclick=\"loadXMLDoc( '/showPwHint!email=" + loginEmail + "', 'forgotpassword' );\">a hint</a></span>?</span>";	

    		}
    	}
			new Ajax.Request('/?fooazul', {parameters: formData2QueryString( $('loginform') ), onSuccess:successFunc});
   	}
	}
}

function loginsubmit( reloadparam )
{

    var loginvalid = 1;
    var loginsuccess = 1;
    
    var abuseThingy = document.getElementById("abuseInp");
    
    var objee = document.getElementById("loginemailerror");
    objee.innerHTML = "";
    var objpe = document.getElementById("loginpassworderror");
    objpe.innerHTML = "";
    var objfp = document.getElementById("forgotpassword");
    objfp.innerHTML = "&nbsp;";
    var objle = document.getElementById("loginemail");
    var loginEmail = objle.value;
    var objpw = document.getElementById("loginpassword");
    if (objle.value == "" || objle.value.indexOf('@') < 2)
    {
        loginvalid = 0;
    }
    else
    {
        if (objpw.value == "")
        {
            loginvalid = 0;
        }
    }
	
	if ( loginvalid == 0 ) {
		objfp.innerHTML = "<span class='error'>Login error. Need <span class=\"textlight11 sidebartext underline\"><a href=\"javascript:void(0);\" onclick=\"loadXMLDoc( '/showPwHint!email=" + loginEmail + "', 'forgotpassword' );\">a hint</a></span>?";	
    }
 
    if (loginvalid == 1)
    {
        // TODO: Check email address and password in database
        // If incorrect set loginsuccess = 0;
        
        var loginEmail = objle.value;
        var loginPw = objpw.value;
        var successFunc = function(t) {
        	loginsuccess = t.responseText;
					if (loginsuccess != 0)
					{
							closepopup('login');
							var usernamespan = document.getElementById("usernamespan");
							if (usernamespan)
							{
									usernamespan.innerHTML = loginsuccess;
							}
							var objout = document.getElementById("divloggedout");
							if (objout)
							{
									objout.style.display = "none";
							}
							var objin = document.getElementById("divloggedin");
							if (objin)
							{
									objin.style.display = "block";
							}
							showcommentlogin();
							
							// if we're on a blog comment page, change what's showing
							var bloganonloginbloc = document.getElementById("divLogin2");
							if (bloganonloginbloc) {
								bloganonloginbloc.style.display = "none";
							}
							var blogStatusSpan = document.getElementById("divPostStatus1");
							if (blogStatusSpan) {
								blogStatusSpan.innerHTML = "Signed In as " + loginsuccess;
							}
							// if we're on an add-discussion or discussion (w/message add) page, change what's showing
							var objsubscheckbox = document.getElementById("subscheckbox");
							if (objsubscheckbox) {
								objsubscheckbox.style.display = "inline";
							}
							
							// if we're on a discussion page, change the abuse links
							var abuselinks = document.getElementById("locslist");
							if (abuselinks) {
								var abuselocs = abuselinks.value;
								if (abuselocs) {
									var abuselocsarray = abuselocs.split(" ");
									for (var i in abuselocsarray) {
										var abusedivname = "abuse" + abuselocsarray[i];
										var anabusediv = document.getElementById(abusedivname);
										if (anabusediv) {
											anabusediv.innerHTML = "<a href=\"javascript:showdiv('abuse');loadXMLDoc( '/" + abuselocsarray[i] + "/?getAbuseBlockContents', 'abuseBlockContents' );\">Report this post as abusive or inappropriate</a>";
										}
										
										var answloginspanname = "answeredLogin" + abuselocsarray[i];
										var answguestspanname = "answeredGuest" + abuselocsarray[i];
										var answauthorname = "answeredAuthor" + abuselocsarray[i];
										var answloginspan = document.getElementById(answloginspanname);
										var answguestspan = document.getElementById(answguestspanname);
										var ansauthorinp = document.getElementById(answauthorname);
										var ansauthornamename;
										if (ansauthorinp) 
											ansauthornamename = ansauthorinp.value;
										if (answloginspan && ansauthornamename != loginsuccess)
											answloginspan.style.display = "inline";
										if (answguestspan)
											answguestspan.style.display = "none";
									}
								}
							}
							
							// change the email sub link
							var emailSubsDiv = document.getElementById("divemailstatus");
							if (emailSubsDiv) {
								emailSubsDiv.innerHTML = '<a href="javascript:showdiv(\'divemail\');loadXMLDoc( \'/%% location %%/?getEmailBlockContents\', \'emailBlockContents\' );">Email</a>';
							}
							
							//if we're on the profile page, reload the page
							if (document.URL.indexOf("my_profile") != -1 || document.URL.indexOf( "cmd.9" ) != -1 || reloadparam ) {
								location.reload();
							}
							
					} else {
						objfp.innerHTML = "<span class='error'>Login error. Need <span class=\"textlight11 sidebartext underline\"><a href=\"javascript:void(0);\" onclick=\"loadXMLDoc( '/showPwHint!email=" + loginEmail + "', 'forgotpassword' );\">a hint</a></span>?</span>";
					}
        }
				var failFunc = function(t) {
						loginsuccess = 0;
				}        
				//loadXMLDocSync('/?foobleu!' + formData2QueryString( $('loginform') ) , 'result');
				
				new Ajax.Request('/?foobleu', {parameters: formData2QueryString( $('loginform') ), onSuccess:successFunc, onFailure:failFunc});
												        

    }
}


function gethint()
{
    var objpe = document.getElementById("loginpassworderror");
    objpe.innerHTML = "<span class='error'>Hint:</span> Put hint text here";
}

function forgot(objid)
{
    var objfp = document.getElementById(objid);
    if (objfp)
    {
        objfp.innerHTML = "An email was sent with your new password.";
    }
}
function clearobject(objid)
{
    var myobj = document.getElementById(objid);
    if (myobj)
    {
        myobj.innerHTML = "&nbsp;";
    }
}

function registersubmit()
{
    var oktosubmit = 1;
    var registrationsuccess
    
    // Start temp code
    // validation
    validatescreenname();
    
    var objemailname = document.getElementById("emailname");
    var objemailerror = document.getElementById("emailerror");
    objemailerror.style.visibility = "hidden";
    if (objemailname.value.length < 6)
    {
        objemailerror.style.visibility = "visible";
        oktosubmit = 0;
    }
    var objpassword = document.getElementById("password");
    var objpassworderror = document.getElementById("passworderror");
    objpassworderror.style.visibility = "hidden";
    if (objpassword.value.length < 6)
    {
        objpassworderror.style.visibility = "visible";
        oktosubmit = 0;
    }
    var objpassword2 = document.getElementById("password2");
    if (objpassword.value.length > 5 && objpassword.value != objpassword2.value)
    {
        objpassworderror.innerHTML = "Passwords do not match";
        objpassworderror.style.visibility = "visible";
        oktosubmit = 0;
    }
    
    if (oktosubmit == 1)
    {
        closepopup('register');
        loginstatus = 1;   // Simulates a successful registration
        // End temp code
        if (loginstatus == 1)
        {
            var objin = document.getElementById("divloggedin");
            if (objin)
            {
                objin.style.display = "block";
            }
            var objout = document.getElementById("divloggedout");
            if (objout)
            {
                objout.style.display = "none";
            }
            showcommentlogin();
        }
    }
}
function validatescreenname()
{
    var objscreenname = document.getElementById("screenname");
    var objsnerror = document.getElementById("screennameerror");
    objsnerror.innerHTML = "";
    objsnerror.style.visibility = "visible";
    
    if (objscreenname.value.length > 0)
    {
        var available = 1;


				var successFunc = function(t) {
					var available = t.responseText;
					if (available == 1)
					{
							objsnerror.innerHTML = "Please try again. This name is not available.";
							objsnerror.style.color = "#ff0000";
							objscreenname.focus();
					}
					else
					{
							objsnerror.innerHTML = "This name is available.";
							objsnerror.style.color = "#00ff00";
					}
				}
				new Ajax.Request('/?fooblau', {parameters: formData2QueryString( $('registerform') ), onSuccess:successFunc});
        // End simulation
    }
    else
    {
        objsnerror.innerHTML = "Please try again. You must enter a Screen Name.";
        objsnerror.style.color = "#ff0000";
    }
}

function validatenewemail()
{
    var objemail = document.getElementById("emailname");
    var objemerror = document.getElementById("emailerror");
    objemerror.innerHTML = "";
    objemerror.style.visibility = "visible";
    
    if (objemail.value.length > 0)
    {
        var available = 1;


				var successFunc = function(t) {
					var available = t.responseText;
					if (available == 1)
					{
							objemerror.innerHTML = "Please try again. This Email Address is already in use.";
							objemerror.style.color = "#ff0000";
							objemail.focus();
					}
					else if (available == 2) 
					{
							objemerror.innerHTML = "Please try again. You must enter a valid Email Address.";
							objemerror.style.color = "#ff0000";
							objemail.focus();
					}
					else
					{
							objemerror.innerHTML = "";
					}
				}
				new Ajax.Request('/?fooazul2', {parameters: formData2QueryString( $('registerform') ), onSuccess:successFunc});
        // End simulation
    }
    else
    {
        objemerror.innerHTML = "Please try again. You must enter an Email Address.";
        objemerror.style.color = "#ff0000";
    }
}

function checkPws( pw1, pw2, nm ) {
	var errorObj = document.getElementById( 'passworderror' );
	if ( !pw1 || !pw2 ) {
		errorObj.style.visibility = "visible";
		errorObj.innerHTML = "Please try again. You are missing one of the two passwords.";
	} else if ( pw1 != pw2 ) {
		errorObj.style.visibility = "visible";
		errorObj.innerHTML = "Please try again. Your passwords don't match.";
	} else if ( pw1 == nm || pw2 == nm ) {
		errorObj.style.visibility = "visible";
		errorObj.innerHTML = "Please try again. Your password can't be the same as your screen name.";
	} else if ( pw1.indexOf( " " ) != -1 || pw2.indexOf( " " ) != -1 ) {
		errorObj.style.visibility = "visible";
		errorObj.innerHTML = "Please try again. Your password can't have a space in it.";
	} else if ( pw1 == pw2 ) {
		errorObj.style.visibility = "hidden";
		errorObj.innerHTML = "";
	}
}

function onRegisterReturnKeypress()
{
		var submitButton = document.getElementById('regsubmit');
		
		if (submitButton.disabled == false) {
			$('registerform').submit();
		}
}
	

function validateRegisterPopup()
{
		var screenName = document.getElementById('screenname');
		var email = document.getElementById('emailname');
		var pwd1 = document.getElementById('password');
		var pwd2 = document.getElementById('password2');
		var pwderrId = document.getElementById('passworderror');
		var pwderr = -1;
		if (pwderrId) {
			pwderr = document.getElementById('passworderror').innerHTML.indexOf('Please try again');
		}
		var verify = document.getElementById('verify');
		var verifyErrorId = document.getElementById('captchaerror');
		var verifyError = -1;
		if (verifyErrorId) {
			verifyError = document.getElementById('captchaerror').innerHTML.indexOf('Please try again');
		}
		var tos = document.getElementById('tos');
		var nameErrorId = document.getElementById('screennameerror');
		var nameError = -1;
		if (nameErrorId) {
			nameError = document.getElementById('screennameerror').innerHTML.indexOf('Please try again');
		}
		var emailErrorId = document.getElementById('emailerror');
		var emailError = -1;
		if (emailErrorId) {
			emailError = document.getElementById('emailerror').innerHTML.indexOf('Please try again');
		}
		var submitButton = document.getElementById('regsubmit');
		
//		if (screenName.value.length > 0 && email.value.length > 0 && pwd1.value.length > 0 && pwd2.value.length > 0 && pwderr < 0 && verify.value.length == 5 && verifyError < 0 && tos.checked == true && nameError < 0 && emailError < 0)
		if (screenName.value.length > 0 && email.value.length > 0 && pwd1.value.length > 0 && pwd2.value.length > 0  && pwderr < 0 && tos.checked == true && nameError < 0 && emailError < 0)
		{
				submitButton.disabled = false;
		}
		else
		{
				submitButton.disabled = true;
		}
}


function closepopup(id)
{
    var temp = document.getElementById(id);
    temp.style.display = "none";
    var block = document.getElementById("blockUI");
    block.style.display = 'none';
}
function logout()
{
    loginstatus = 0;
    var objin = document.getElementById("divloggedin");
    if (objin)
    {
        objin.style.display = "none";
    }
    var objout = document.getElementById("divloggedout");
    if (objout)
    {
        objout.style.display = "block";
    }
    showcommentlogin();
}

function printwindow()
{
    if(window.print){window.print()}
    else{alert('To print his page press Ctrl-P on your keyboard \nor choose print from your browser or device after clicking OK');}
}

function printThis(threadID)
{
    var ua=navigator.userAgent.toLowerCase();
    var ie=(parseFloat(ua.slice(ua.indexOf("msie")+5)));
    var nn=(ie)?(-1):(parseFloat(ua.slice(ua.indexOf("mozilla/")+8)));
    if ( !threadID )
    	return;
       
    var url = '/' + threadID + "/?print";    //location.href; 
    var pid = '';
    //var pid = (url.indexOf("?")>=0)?"&":"?" + "printID=" + threadID;
    var sName = 'print'
    var sOptions = 'width=705,height=480,scrollbars=1,resizable=1';

    var x=window.open(url + pid, sName, sOptions);
    
    if(nn>3||ie>3){x.focus();}
}

function clearChangedSpan() {

	var theSpan = document.getElementById("changedSpan");
	if (theSpan) {
		theSpan.innerHTML = "&nbsp;";
	}
}


/*
function UberSniff(sUndefined)
{
    var ua=navigator.userAgent.toLowerCase();
    this.webtv=(ua.indexOf("webtv")>-1);
    this.ie=(parseFloat(ua.slice(ua.indexOf("msie")+5)));
    this.nn=(this.ie)?(-1):(parseFloat(ua.slice(ua.indexOf("mozilla/")+8)));
    this.mac=(ua.indexOf("mac")>-1);
    this.firefox=(ua.indexOf("firefox")>-1);
    this.safari=(ua.indexOf("safari")>-1);
    if(navigator.MSNBCFlashVer==sUndefined)
    {
        if(this.nn<=0&&this.ie<5){navigator.MSNBCFlashVer=6;}
        else{
            if(!this.mac&&this.ie>4){
                var oTestVersion=new tryCatch("oWMPlayer=new ActiveXObject('ShockwaveFlash.ShockwaveFlash.'+s1);return s1;","return 0;");
                navigator.MSNBCFlashVer=-1;
                for(var nCheckVersion=9;nCheckVersion>2;--nCheckVersion)
                {
                    if(oTestVersion.trycatchV(nCheckVersion)){navigator.MSNBCFlashVer=nCheckVersion;break;}
                }
            }
            else{
                if(navigator.plugins['Shockwave Flash']){
                    navigator.MSNBCFlashVer=(parseInt(navigator.plugins['Shockwave Flash'].description.substr(16)));
                }
                else{navigator.MSNBCFlashVer=-1;}
            }
        }
    }
    this.flash=navigator.MSNBCFlashVer;
    if(navigator.MSNBCMPlayer==sUndefined){
        if((this.nn<=0&&this.ie<5)||this.mac){
            navigator.MSNBCMPlayer=true;
        }
        else{
            if(!this.mac&&this.ie>4){
                var oTestVersion=new tryCatch("oWMPlayer=new ActiveXObject('WMPlayer.OCX');return oWMPlayer.versionInfo;","return 0;");
                if(oTestVersion.trycatch()){
                    navigator.MSNBCMPlayer=oTestVersion.trycatch();
                }
                else{
                    for(itest=0;itest<9;++itest){
                        oTestVersion=new tryCatch("oWMPlayer=new ActiveXObject('MediaPlayer.MediaPlayer.'+itest);return 1;","return 0;");
                        navigator.MSNBCMPlayer=(oTestVersion.trycatch());
                        if(navigator.MSNBCMPlayer){itest=100;}
                    }
                }
            }
            else{navigator.MSNBCMPlayer=!!(navigator.mimeTypes&&navigator.mimeTypes["video/x-ms-wm"]&&navigator.mimeTypes["video/x-ms-wm"].enabledPlugin);}
        }
    }
    this.mplayer=navigator.MSNBCMPlayer;
    this.screenHeight=screen.height;
    this.screenWidth=screen.width;
    this.colorDepth=(this.nn>=4)?screen.pixelDepth:screen.colorDepth;
}
*/

