/************************************************************
*
* id
*
************************************************************/

function id(comment) {

rm = Get_Cookie('rm');
sid = Get_Cookie('sid');

if (sid > 0) {

   // IE has trouble with innerHTML for an existing tag, so we create a new one and append.
   var newutext = document.createElement("span");
   newutext.innerHTML = rm;
  
   var oldutext = document.getElementById('utext');
   newutext.id = oldutext.id;
   oldutext.parentNode.replaceChild(newutext,oldutext);

   document.getElementById("lin").style.display="inline";
   document.getElementById("lout").style.display="none";

   if (comment == 1) {
   
      document.comform.ccom.disabled=false;
      document.comform.subbut.disabled=false;
      document.comform.tos.disabled=false;
      document.comform.ctitle.disabled=false;
      
      document.comform.ccom.style.backgroundColor = "#FFFFFF";
      document.comform.ctitle.style.backgroundColor = "#FFFFFF";
      
      window.opener.id(0);
   
   }
   
   if (comment == 2) { // Classified form
      
      document.getElementById("classlink").style.display = 'inline';
      document.getElementById("classlogin").style.display = 'none';  
      
   }
   
   return 1;

} else {

   document.getElementById("lin").style.display="none";
   document.getElementById("lout").style.display="inline";
   
   if (comment == 1) {
      
      document.comform.ccom.disabled=true;
      document.comform.subbut.disabled=true;
      document.comform.tos.disabled=true;
      document.comform.ctitle.disabled=true;
      
      document.comform.ccom.style.backgroundColor = "#CCCCCC";
      document.comform.ctitle.style.backgroundColor = "#CCCCCC";

      
   }
   
   if (comment == 2) { // Classified form
      
      document.getElementById("classlink").style.display = 'none';
      document.getElementById("classlogin").style.display = 'inline';  
      
   }
   
   return 0;
   
}

}

/************************************************************
*
* Get_Cookie
*
************************************************************/

function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f

	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );


		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}

/************************************************************
*
* loginwindow
*
************************************************************/

function loginwindow(comment) {

return overlib('<form style=margin:0px; method=post name=uform action='+cgiscript+'><input type=hidden name=g value=><table border=0 width=100%><tr><td colspan=3><hr></td><td align=right valign=top><img src=/images/window-close.gif onclick=nd();nd();></td></tr><tr><td></td><td valign=top><span class=syssansfont><span id=lmess><b>Please Login</span><br></span></td></tr><tbody id=e0><tr><td align=right><span class=syssansfont><b>Email:</span></td><td colspan=2><input type=text name=gu size=32></td></tr></tbody><tbody id=dt0 style=display:none><tr><td></td><td align=center colspan=2><span class=syssansfont><b>OR</td></tr><tr><td align=right><span class=syssansfont><b>Name:</span></td><td colspan=2><input type=text name=fs size=24></td></tr></tbody><tbody id=dt1><tr><td align=right><span class=syssansfont><b>Password:</span></td><td colspan=2><input type=password name=gp size=16></td></tr><tr><td></td><td><span class=syssansfont><input type=checkbox name=gr value=1 checked>Remember Me</span></td></tr></tbody><tr><td></td><td colspan=2><table width=100% cellpadding=0 cellspacing=0><tbody id=ctlwait style=display:none><tr><td height=24><span class=syssansfont>&nbsp;&nbsp;&nbsp;&nbsp;<img src=/images/waiting.gif></td></tr></tbody><tbody id=ctl0 style=display:none><tr><td height=24><b><span style=cursor:pointer onclick=login(1,'+comment+') id=forgotlink><span class=syssansfont><font color=0000ff>RESET PASSWORD</font></span></span></td><td align=right><b><span style=cursor:pointer onclick=fp(1)><span class=syssansfont><font color=0000ff><nobr>LOGIN</nobr></font></span></span></td></tr></table></td></tr></tbody><tbody id=ctl1><tr><td></td><td colspan=2><table width=100% cellpadding=0 cellspacing=0><tr><td height=24><b><span style=cursor:pointer onclick=login(0,'+comment+') id=loginlink><span class=syssansfont><font color=0000ff>LOGIN</font></span></span></td><td align=right><b><span style=cursor:pointer onclick=fp(0)><span class=syssansfont><font color=0000ff><nobr>FORGOT PASSWORD</nobr></font></span></span></td></tr></table></td></tr></tbody></form></table>',FIXX, 20, BELOW, FGCOLOR,'#e9dfef',STICKY,WIDTH,310);

}

/************************************************************
*
* signupwindow
*
************************************************************/

function signupwindow() {

return overlib('<form style=margin:0px; method=post name=sform action='+cgiscript+'><input type=hidden name=g value=><table border=0 width=100%><tr><td colspan=2><hr></td><td align=right valign=top><img src=/images/window-close.gif onclick=nd();nd();></td></tr><tbody id=sf1 style=display:none><tr><td></td><td valign=top><span class=syssansfont><B>Congratulations!</b><p>Your registration is almost complete. The email address you entered has just been sent instructions for completing the registration.<p><b>Thank you.</b></span></td></tr></tbody><tbody id=sf0><tr><td></td><td valign=top><span class=syssansfont><b>Welcome!</b><p>Signing up for the Shawangunk Journal is quick and easy. Please complete all the information below to register. <i>We believe in privacy.</i> Your email and personal information will never be used for anything else, period.<p></span></td></tr><tr><td></td><td valign=top colspan=2><span class=syssansfont><b><span id=smess>New  Registration</span><p></span></td></tr><tr><td align=right><span class=syssansfont><b>Email:</span></td><td colspan=2><input type=text name=email size=32></td></tr><tr><td align=right><span class=syssansfont><b><nobr>Screen Name:</nobr></span></td><td colspan=2><input type=text name=screenname size=24></td></tr><tr><td align=right><span class=syssansfont><b><nobr>First Name:</nobr></span></td><td colspan=2><input type=text name=fname size=16></td></tr><tr><td align=right><span class=syssansfont><b><nobr>Last Name:</nobr></span></td><td colspan=2><input type=text name=lname size=16></td></tr><tr><td align=right><span class=syssansfont><b><nobr>Zip Code:</nobr></span></td><td colspan=2><input type=text name=zip size=5></td></tr><tr><td></td><td height=24><b><span style=cursor:pointer onclick=signup() id=signuplink><span class=syssansfont><font color=0000ff>SIGN UP</font></span></span><span id=waiting style=display:none>&nbsp;&nbsp;&nbsp;&nbsp;<img src=/images/waiting.gif></span></td></tr></table></td></tr></tbody></form></table>',FIXX, 20, BELOW, FGCOLOR,'#e9dfef',STICKY,WIDTH,310);

}

/************************************************************
*
* loginout
*
************************************************************/

function logout() {

document.cookie = "rm=; path=/";
document.cookie = "sid=; path=/";

window.location.reload();

}

/************************************************************
*
* signup
*
************************************************************/

function signup() {

m=document.sform;

var datacomplete = 1;
var errormessage = "Processing...";

if (! /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(m.email.value)) {

   errormessage = "<font color=ff0000>Invalid Email Address";
   m.email.select();
   datacomplete = 0;
   
}

teststr=m.screenname.value.replace(/ /g,'');

if (teststr.length < 3 && datacomplete == 1) {

   errormessage = "<font color=ff0000>Screenname too short";
   m.screenname.select();
   datacomplete = 0;

}

teststr=m.fname.value.replace(/ /g,'');

if (teststr.length < 1 && datacomplete == 1) {

   errormessage = "<font color=ff0000>Please enter a First Name";
   m.fname.select();
   datacomplete = 0;

}

teststr=m.lname.value.replace(/ /g,'');

if (teststr.length < 1 && datacomplete == 1) {

   errormessage = "<font color=ff0000>Please enter a Last Name";
   m.lname.select();
   datacomplete = 0;

}

teststr=m.zip.value.replace(/\D/g,'');

if (teststr.length < 5 && datacomplete == 1) {

   errormessage = "<font color=ff0000>Please enter a valid Zip Code";
   m.zip.select();
   datacomplete = 0;
   
}

// IE has trouble with innerHTML for an existing tag, so we create a new one and append.
var newsmess = document.createElement("span");
newsmess.innerHTML = errormessage;
  
var oldsmess = document.getElementById('smess');
newsmess.id = oldsmess.id;
oldsmess.parentNode.replaceChild(newsmess,oldsmess);

if (datacomplete == 0) {
  
  return false;

}

if (sureq = getXMLHttpRequest()) {

   document.getElementById('signuplink').style.display='none';
   document.getElementById('waiting').style.display='inline';
   
   sureq.onreadystatechange=function() {

      if (sureq.readyState==4) {
      
         var newsmess = document.createElement("span");

         if (sureq.responseText.match(/OK/)) {

            document.getElementById('sf1').style.display='block';
            document.getElementById('sf0').style.display='none';

         } else {

            if (sureq.responseText.match(/Email/)) {
            
               newsmess.innerHTML="<font color=ff0000>Email already registered.";
               m.email.select();

            } else {

               if (sureq.responseText.match(/Screenname/)) {
               
                  newsmess.innerHTML="<font color=ff0000>Screenname already registered.";
                  m.screenname.select();
               
               } else {

                  newsmess.innerHTML="<font color=ff0000>"+sureq.responseText+"";

               }
 
            }
            
            document.getElementById('signuplink').style.display='inline';
            document.getElementById('waiting').style.display='none';

         }
         
         var oldsmess = document.getElementById('smess');
         newsmess.id = oldsmess.id;
         oldsmess.parentNode.replaceChild(newsmess,oldsmess);

      }

   }

   var poststr = "g=s&email=" + encodeURI( m.email.value ) + "&screenname=" + encodeURI( m.screenname.value )  + "&fname=" + encodeURI( m.fname.value )  + "&lname=" + encodeURI( m.lname.value )  + "&zip=" + encodeURI( m.zip.value );

   sureq.open("POST",cgiscript,true);
   sureq.send(poststr);

} else {

   return;

}

}

/************************************************************
*
* login
*
************************************************************/

function login(lf,comment) {

var m=document.uform;

if (lireq = getXMLHttpRequest()) {

   document.getElementById('ctl0').style.display='none';
   document.getElementById('ctl1').style.display='none';
   document.getElementById('ctlwait').style.display='';
 
   lireq.onreadystatechange=function() {

   if (lireq.readyState==4) {

      if (lireq.responseText.match(/OK/)) {

         id(comment);
         nd();
         nd();
         return;

      } else {

         document.getElementById('lmess').innerHTML=lireq.responseText;
     
         if (lf == 1) {
     
            document.getElementById('ctl0').style.display='';
	    document.getElementById('ctlwait').style.display='none';

         } else {
     
            document.getElementById('ctl1').style.display='';
	    document.getElementById('ctlwait').style.display='none';
     
         }
 
         if (lireq.responseText.match(/An email with/)) {

            document.getElementById('ctl0').style.display = 'none';
            document.getElementById('ctlwait').style.display='none';
     	    document.getElementById('dt0').style.display = 'none';
     	    document.getElementById('e0').style.display = 'none';

         }

      }

   }

   }

   if (lf == 1) {

      var poststr = "g=f&fu=" + encodeURI( m.gu.value ) + "&fs=" + encodeURI( m.fs.value );

   } else {

      if (m.gr.checked) {

         var poststr = "g=u&gu=" + encodeURI( m.gu.value ) + "&gp=" + encodeURI( m.gp.value ) + "&gr=1";

      } else {
   
         var poststr = "g=u&gu=" + encodeURI( m.gu.value ) + "&gp=" + encodeURI( m.gp.value ) + "&gr=0";
   
      }

   }

   lireq.open("POST",cgiscript,true);
   lireq.send(poststr);

}

}

/************************************************************
*
* fp
*
************************************************************/

function fp(onoff) {

var lmess = new Array("Please enter the email address or screenname of the account.","Please Login");

var ctlontag = 'ctl'+onoff;
var dtontag = 'dt'+onoff;

off = 1-onoff;

var ctlofftag = 'ctl' + off;
var dtofftag = 'dt'+off;

document.getElementById(ctlontag).style.display = '';
document.getElementById(ctlofftag).style.display = 'none';

document.getElementById(dtontag).style.display = '';
document.getElementById(dtofftag).style.display = 'none';

document.getElementById('lmess').innerHTML = lmess[onoff];

}
