// JavaScript Document

var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="no" //Collapse previously open content when opening present? (yes/no)
var ccollect=0;
if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}

function getElementbyClass(rootobj, classname){
var temparray=new Array()
var inc=0
for (i=0; i<rootobj.length; i++){
if (rootobj[i].className==classname)
temparray[inc++]=rootobj[i]
}
return temparray
}

function sweeptoggle(ec){
var thestate=(ec=="expand")? "block" : "none"
var inc=0
while (ccollect[inc]){
ccollect[inc].style.display=thestate
inc++
}
revivestatus()
}


function contractcontent(omit){
var inc=0
while (ccollect[inc]){
if (ccollect[inc].id!=omit)
ccollect[inc].style.display="none"
inc++
}
}

function expandcontent(curobj, cid){
var spantags=curobj.getElementsByTagName("SPAN")
var showstateobj=getElementbyClass(spantags, "showstate")
if (ccollect.length>0){
if (collapseprevious=="yes")
contractcontent(cid)
document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
if (showstateobj.length>0){ //if "showstate" span exists in header
if (collapseprevious=="no")
showstateobj[0].innerHTML=(document.getElementById(cid).style.display=="block")? contractsymbol : expandsymbol
else
revivestatus()
}
}
}

function revivecontent(){
contractcontent("omitnothing")
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
for (i=0; i<selectedComponents.length-1; i++)
document.getElementById(selectedComponents[i]).style.display="block"
}

function revivestatus(){
var inc=0
while (statecollect[inc]){
if (ccollect[inc].style.display=="block")
statecollect[inc].innerHTML=contractsymbol
else
statecollect[inc].innerHTML=expandsymbol
inc++
}
}

function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}

function saveswitchstate(){
var inc=0, selectedItem=""
while (ccollect[inc]){
if (ccollect[inc].style.display=="block")
selectedItem+=ccollect[inc].id+"|"
inc++
}

document.cookie=window.location.pathname+"="+selectedItem
}

function do_onload(){
ccollect=""
uniqueidn=window.location.pathname+"firsttimeload"
var alltags=document.all? document.all : document.getElementsByTagName("*")
ccollect=getElementbyClass(alltags, "switchcontent")
statecollect=getElementbyClass(alltags, "showstate")
if (enablepersist=="on" && ccollect.length>0){
document.cookie=(get_cookie(uniqueidn)=="")? uniqueidn+"=1" : uniqueidn+"=0" 
firsttimeload=(get_cookie(uniqueidn)==1)? 1 : 0 //check if this is 1st page load
if (!firsttimeload)
revivecontent()
}
if (ccollect.length>0 && statecollect.length>0)
revivestatus()
}

if (window.addEventListener)
window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload)
else if (document.getElementById)
window.onload=do_onload

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate

function ca(x){for(var j=1;j<=x;j++){box=eval("document.badwords.d"+j);box.checked=true;}}
function ua(x){for(var j=1;j<=x;j++){box=eval("document.badwords.d"+j);box.checked=false;}}

function ca(x){for(var j=1;j<=x;j++){box=eval("document.profile.d"+j);box.checked=true;}}
function ua(x){for(var j=1;j<=x;j++){box=eval("document.profile.d"+j);box.checked=false;}}

function enableField()
{
	if (document.email.accountname.disabled==false) {
		document.email.accountname.disabled=true;
		document.email.gid.disabled=false;
	}else{
		document.email.accountname.disabled=false;
		document.email.gid.disabled=true;
	}
}
function enableNewsletterField()
{
	if (document.email.nid.disabled==true) {
		document.email.nid.disabled=false;
		document.email.smessage.disabled=true;
		document.email.smessageh.disabled=true;
	}else{
		document.email.nid.disabled=true;
		document.email.smessage.disabled=false;
		document.email.smessageh.disabled=false;

	}

}
function DisableAttachment()
{
		document.email.filename.disabled=true;

}
function EnableAttachment()
{
		document.email.filename.disabled=false;

}
function goToURL(url) { window.location = url; }
function ChangeDeleteOption(PageNum) {
document.getElementById('DeleteSelectedID').value=''+PageNum+'';
}
// 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 formCheck(formobj, one, two, three, four, rtext){
	var fieldRequired = Array("NewUsername", "NewEmail", "NewFirstName" , "NewLastName");
	var fieldDescription = Array(""+one+"", ""+two+"", ""+three+"", ""+four+"");
	var alertMsg = ""+rtext+"\n";	
	var l_Msg = alertMsg.length;	
	for (var i = 0; i < fieldRequired.length; i++){
	var obj = formobj.elements[fieldRequired[i]];
	if (obj){	switch(obj.type){	case "select-one":	if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
	alertMsg += " - " + fieldDescription[i] + "\n";
	}	break;	case "select-multiple":	if (obj.selectedIndex == -1){	alertMsg += " - " + fieldDescription[i] + "\n";
	}	break;	case "text":	case "textarea":	if (obj.value == "" || obj.value == null){	alertMsg += " - " + fieldDescription[i] + "\n";
	}	break;	default:	}	if (obj.type == undefined){	var blnchecked = false;	for (var j = 0; j < obj.length; j++){	if (obj[j].checked){
	blnchecked = true;	}	}   if (!blnchecked){					alertMsg += " - " + fieldDescription[i] + "\n";				}
			}		}	}
	if (alertMsg.length == l_Msg){		return true;	}else{		alert(alertMsg);		return false;
	}}
function agreesubmit(el){
checkobj=el
if (document.all||document.getElementById){
for (i=0;i<checkobj.form.length;i++){  //hunt down submit button
var tempobj=checkobj.form.elements[i]
if(tempobj.type.toLowerCase()=="submit")
tempobj.disabled=!checkobj.checked
}
}
}
function loadchatroomwindow(SID){
window.open('/chat/flashchat.php?enc_pass='+SID+'', 'ChatRoom', 'toolbar=no, directories=no, location=no,   status=no, menubar=no, resizable=yes, scrollbars=yes, width=650, height=500');
}

function resizeHotOrNot(thisimage) {
var maxImageWidth = 370;
var maxImageHeight = 370;
   if (thisimage.height > thisimage.width) {
      if (thisimage.height > maxImageHeight) {
         thisimage.height = maxImageHeight;
         thisimage.style.cursor='arrow';
      }
   } else {
      if (thisimage.width > maxImageWidth) {
         thisimage.width = maxImageWidth;
         thisimage.style.cursor='arrow';
      }
   }
}
function goToURL(url) { window.location = url; }
function ca(x){for(var j=1;j<=x;j++){box=eval("document.inbox.d"+j);box.checked=true;}}
function ua(x){for(var j=1;j<=x;j++){box=eval("document.inbox.d"+j);box.checked=false;}}
function resizeProfileImage(thisimage) {
var maxImageWidth =200;
var maxImageHeight = 200;
   if (thisimage.height > thisimage.width) {
      if (thisimage.height > maxImageHeight) {
         thisimage.height = maxImageHeight;
         thisimage.style.cursor='arrow';
      }
   } else {
      if (thisimage.width > maxImageWidth) {
         thisimage.width = maxImageWidth;
         thisimage.style.cursor='arrow';
      }
   }
}

function resizeProfileImageLarge(thisimage) {
var maxImageWidth1 = 450;
var maxImageHeight1 = 500;
   if (thisimage.height > thisimage.width) {
      if (thisimage.height > maxImageHeight1) {
         thisimage.height = maxImageHeight1;
         thisimage.style.cursor='arrow';
      }
   } else {
      if (thisimage.width > maxImageWidth1) {
         thisimage.width = maxImageWidth1;
         thisimage.style.cursor='arrow';
      }
   }
}
function ChangeSearchPage(PageNum) {
document.getElementById('searchPage').value=''+PageNum+'';
}
function ChangeSearchDisplay(display) {
document.getElementById('displaytype').value=''+display+'';
}
function ca(x){for(var j=1;j<=x;j++){checkbox=eval("document.inbox.d"+j);checkbox.checked=true;}}
function ua(x){for(var j=1;j<=x;j++){checkbox=eval("document.inbox.d"+j);checkbox.checked=false;}}
function cf(x){for(var j=1;j<=x;j++){box=eval("document.profile.d"+j);box.checked=true;}}
function uf(x){for(var j=1;j<=x;j++){box=eval("document.profile.d"+j);box.checked=false;}}
// JavaScript Document

var isNav4, isNav6, isIE4;



/*

 * Browser version snooper; determines your browser

 * (Navigator 4, Navigator 6, or Internet Explorer 4/5)

 */

function setBrowser()

{

    if (navigator.appVersion.charAt(0) == "4")

    {

        if (navigator.appName.indexOf("Explorer") >= 0)

        {

            isIE4 = true;

        }

        else

        {

            isNav4 = true;

        }

    }

    else if (navigator.appVersion.charAt(0) > "4")

    {

        isNav6 = true;

    }

}



/*

 *

 * Given a selector string, return a style object

 * by searching through stylesheets. Return null if

 * none found

 *

 */

function getStyleBySelector( selector )

{

    if (!isNav6)

    {

        return null;

    }

    var sheetList = document.styleSheets;

    var ruleList;

    var i, j;



    /* look through stylesheets in reverse order that

       they appear in the document */

    for (i=sheetList.length-1; i >= 0; i--)

    {

        ruleList = sheetList[i].cssRules;

        for (j=0; j<ruleList.length; j++)

        {

            if (ruleList[j].type == CSSRule.STYLE_RULE &&

                ruleList[j].selectorText == selector)

            {

                return ruleList[j].style;

            }   

        }

    }

    return null;

}



/*

 *

 * Given an id and a property (as strings), return

 * the given property of that id.  Navigator 6 will

 * first look for the property in a tag; if not found,

 * it will look through the stylesheet.

 *

 * Note: do not precede the id with a # -- it will be

 * appended when searching the stylesheets

 *

 */

function getIdProperty( id, property )

{

    if (isNav6)

    {

        var styleObject = document.getElementById( id );

        if (styleObject != null)

        {

            styleObject = styleObject.style;

            if (styleObject[property])

            {

                return styleObject[ property ];

            }

        }

        styleObject = getStyleBySelector( "#" + id );

        return (styleObject != null) ?

            styleObject[property] :

            null;

    }

    else if (isNav4)

    {

        return document[id][property];

    }

    else

    {

        return document.all[id].style[property];

    }

}



/*

 *

 * Given an id and a property (as strings), set

 * the given property of that id to the value provided.

 *

 * The property is set directly on the tag, not in the

 * stylesheet.

 *

 */

function setIdProperty( id, property, value )

{

    if (isNav6)

    {

        var styleObject = document.getElementById( id );

        if (styleObject != null)

        {

            styleObject = styleObject.style;

            styleObject[ property ] = value;

        }

    }

    else if (isNav4)

    {

        document[id][property] = value;

    }

    else if (isIE4)

    {

         document.all[id].style[property] = value;

    }

}



/*

 *

 * Move a given id.  If additive is true,

 * then move it by xValue dots horizontally and

 * yValue units vertically.  If additive is

 * false, then move it to (xValue, yValue)

 *

 * Note: do not precede the id with a # -- it will be

 * appended when searching the stylesheets

 *

 * Note also: length units are preserved in Navigator 6

 * and Internet Explorer. That is, if left is 2cm and

 * top is 3cm, and you move to (4, 5), the left will

 * become 4cm and the top 5cm.

 *

 */

function generic_move( id, xValue, yValue, additive )

{

    var left = getIdProperty(id, "left");

    var top = getIdProperty(id, "top");

    var leftMatch, topMatch;



    if (isNav4)

    {

        leftMatch = new Array( 0, left, "");

        topMatch = new Array( 0, top, "");

    }

    else if (isNav6 || isIE4 )

    {

        var splitexp = /([-0-9.]+)(\w+)/;

        leftMatch = splitexp.exec( left );

        topMatch = splitexp.exec( top );

        if (leftMatch == null || topMatch == null)

        {

            leftMatch = new Array(0, 0, "px");

            topMatch = new Array(0, 0, "px");

        }

    }

    left = ((additive) ? parseFloat( leftMatch[1] ) : 0) + xValue;

    top = ((additive) ? parseFloat( topMatch[1] ) : 0) + yValue;

    setIdProperty( id, "left", left + leftMatch[2] );

    setIdProperty( id, "top", top + topMatch[2] );

}



/*

 *

 * Move a given id to position (xValue, yValue)

 *

 */

function moveIdTo( id, x, y )

{

    generic_move( id, x, y, false );

}



/*

 *

 * Move a given id to (currentX + xValue, currentY + yValue)

 *

 */

function moveIdBy( id, x, y)

{

    generic_move( id, x, y, true );

}



/*

 *

 * Function used when converting rgb format colors

 * from Navigator 6 to a hex format

 *

 */ 

function hex( n )

{

    var hexdigits = "0123456789abcdef";

    return ( hexdigits.charAt(n >> 4) + hexdigits.charAt(n & 0x0f) );

}



/*

 *

 * Retrieve background color for a given id.

 * The value returned will be in hex format (#rrggbb)

 *

 */ 

function getBackgroundColor( id )

{

    var color;



    if (isNav4)

    {

        color = document[id].bgColor;

    }

    else if (isNav6)

    {

        var parseExp = /rgb.(\d+),(\d+),(\d+)./;

        var rgbvals;

        color = getIdProperty( id, "backgroundColor" );

        if (color)

        {

            rgbvals = parseExp.exec( color );

            if (rgbvals)

            {

                color = "#" + hex( rgbvals[1] ) + hex( rgbvals[2] ) +

                    hex( rgbvals[3] );

            }

        }

        return color;

    }

    else if (isIE4)

    {

        return document.all[id].backgroundColor;

    }

    return "";

}



/*

 *

 * Return a division's document

 * 

 */

function getDocument( divName )

{

    var doc;



    if (isNav4)

    {

        doc = window.document[divName].document;

    }

    else if (isNav6)

    {

        doc = document;

    }

    else if (isIE4)

    {

        doc = document;

    }

    return doc;

}


function SymError(){  return true;}window.onerror = SymError;