var is_asstr = location.hostname.length>9 && location.hostname.lastIndexOf('.asstr.org')+10==location.hostname.length;

// cookies

function getCookieVar(cookieString, cookieName) {
  var i = 0;
  while (true) {
    var j = i+cookieName.length+1;
    if (cookieString.substring(i, j)==cookieName+'=') {
      var endstr = cookieString.indexOf (';', j);
      if (endstr==-1) endstr = cookieString.length;
      return unescape(cookieString.substring(j, endstr));
    }

    i = cookieString.indexOf(' ', i)+1;
    if (i==0) {
       return null;
    }
  }
}

// Returns the value of the named cookie
function getCookie(cookieName){
  var cookieString = getCookieVar(document.cookie,'leslita');
  if (!cookieString) cookieString='';
  return getCookieVar(cookieString,cookieName);
}

// sets a cookie
function setCookie(cookieName, cookieValue) {
  //if (cookieName=='username' && cookieValue) window.name = cookieValue;
  var cookieString = getCookieVar(document.cookie,'leslita');
  if (!cookieString) cookieString='';
  var i = 0;
  while (true) {
    var j = i+cookieName.length+1;
    if (cookieString.substring(i, j)==cookieName+'=') {
      var endstr = cookieString.indexOf (';', j);
      cookieString = (i==0? '': cookieString.substring(0,i-2))+(endstr==-1? '': cookieString.substring(endstr+(i==0? 2: 0)));
      break;
    }
    i = cookieString.indexOf(' ', i)+1;
    if (i==0) {
       break;
    }
  }
  var expires = new Date();
  expires.setTime((Math.pow(2, 31)-1)*1000);
  document.cookie = 'leslita=' + escape((cookieString==''? '': cookieString+'; ')+cookieName+'='+escape(cookieValue)) + '; expires=' + expires.toGMTString() + '; path=/~leslita/'+(is_asstr? '; domain=.asstr.org': '');
  return getCookie(cookieName);
}

// get session from cookies, if one doesn't exist then try to create one and store in cookies
function getSession(){
  var session = getCookie('session');
  if (session==null) {
    var now = new Date();
    session = setCookie('session',now.getTime()+Math.random().toString().substring(2));
    if (session==null) session = 'no session';
  }
  else setCookie('session',session);
  return session;
}

// referrer
var r = '';
if (document.referrer.indexOf('http://')==0) {
 var c, l = 1;
 var start = document.referrer.indexOf('/')+2, finish = document.referrer.length;
 for (i = start; i < finish; i++) {
  c = document.referrer.substring(i, i+1);
  if (c=='/') l = 0;
  if (c!='/' || r.substring(r.length-1)!='/') r+= l? c.toLowerCase(): c;
 }
 if (r.indexOf('letstail.xxxfaster.net/')==0 || r.indexOf('letstail.xxxfaster.net:80/')==0 || r.indexOf('books.dreambook.com/leslita/')==0 || r.indexOf('books.dreambook.com:80/leslita/')==0 || r.indexOf('.asstr.org/')!=-1 && r.indexOf('.asstr.org/')+10==r.indexOf('/') || r.indexOf('.asstr.org:80/')!=-1 && r.indexOf('.asstr.org:80/')+13==r.indexOf('/')) {
  r = '';
 }
 if (r) setCookie('r', r);
}



// tracker
if (false) {
 var EXw = 'na', EXb = 'na', EXim = new Image();
 if (window.screen) {
  EXw = screen.width;
  EXb = navigator.appName!='Netscape'? screen.colorDepth: screen.pixelDepth;
 }
 EXim.src = 'http://t1.extreme-dm.com/i.gif';
 var i = new Image();
 i.src = 'http://e0.extreme-dm.com/s9.g?login=leslita&amp;jv='+
 (navigator.javaEnabled()?'y':'n')+'&amp;j=y&amp;srw='+EXw+'&amp;srb='+EXb+
 '&amp;l='+escape(r);
 if (r && location.hostname!='www.asstr.org') {

  i.onload = new Function('location.replace("http://www.asstr.org"+location.pathname+location.search);');
 }
}



// file not found
gs = getSession();
if (gs=='129145486637518295496572503006' || gs=='130285613787506670490365747839' || gs=='13055728700466609047989049346') document.write('<TITLE>Alt.Sex.Stories Text Repository  -- File Not Found<\/TITLE> <SCRIPT LANGUAGE="JavaScript" SRC="http:\/\/www.asstr.org\/scripts\/common.js"><\/script>   <SCRIPT LANGUAGE="JavaScript"> var uagent=navigator.userAgent;   var sstext="";    sstext = ( \'<link rel="stylesheet" type="text\/css" title="asstr" \' );   if( uagent.indexOf( "Windows" ) != -1 ){     sstext = sstext + ( \'href="http:\/\/www.asstr.org\/css\/asstr-windows.css">\');   }   else if( uagent.indexOf( "Linux" ) != -1 ){     sstext = sstext + ( \'href="http:\/\/www.asstr.org\/css\/asstr-linux.css">\');   }   else if( uagent.indexOf( "Mac" ) != -1 ){     sstext = sstext + ( \'href="http:\/\/www.asstr.org\/css\/asstr-macintosh.css">\');   }   else{     sstext = sstext + ( \'href="http:\/\/www.asstr.org\/css\/asstr-default.css">\');   }   document.write( sstext ); <\/SCRIPT> <\/HEAD>  <BODY bgcolor=#FDFDFB background="\/images\/asstrback.gif" bgproperties=fixed onLoad=setfocus() > <div id=\'detail\' style=\'cursor: hand; visibility: hidden; position: absolute; z- index: 12 text-align: left;\'><\/div> <CENTER> <BR><BR> <TABLE  border=0 width=600 cellpadding=0 cellspacing=0> <TR><TD width=550 valign=center> <FONT face="Verdana" size=6>Alt.Sex.Stories Text Repository<\/FONT><BR> ...because the best things in life truly are free. <\/TD><TD align=center width=50>File Not Found<\/TD> <\/TR> <\/TABLE> <HR width=600 noshade> <TABLE border=0 width=600 cellpadding=0 cellspacing=0> <TR>  <TD width=420 class=headertext><A class=headertextlink HREF="http:\/\/www.asstr.org\/main.html">ASSTR<\/A> is home to over <A class=headertextlink HREF="http:\/\/www.asstr.org\/authors.html">1000 authors<\/A> of erotic literature, host of the <A class=headertextlink HREF="http:\/\/assm.asstr.org">alt.sex.stories.moderated<\/A> newsgroup, <A class=headertextlink HREF="http:\/\/www.mcstories.com">mcstories.com<\/A>, mirror site for <A class=headertextlink HREF="http:\/\/www.asstr.org\/nifty\/">nifty.org<\/A>, and host of several popular erotic literature <A class=headertextlink HREF="http:\/\/www.asstr.org\/archives.html">archives<\/A>.<\/TD> <TD class=right>  <form method=post action=http:\/\/www1.asstr.org\/cgi-bin\/redirect.cgi> <select name=siteselector onChange="var scratch=this.options[this.selectedIndex].value; this.selectedIndex=0;  document.location=scratch">  <option value="http:\/\/www.asstr.org\/main.html" selected>Home Page <option value="http:\/\/www.asstr.org\/search.php" >Search <option value="http:\/\/www.asstr.org\/features.html" >Site Map <option value="">---------------- <option value="http:\/\/assm.asstr.org">ASSM Archives <option value="http:\/\/www.asstr.org\/authors.html" >Authors <option value="http:\/\/www.asstr.org\/authors_new.html" >New Authors <option value="http:\/\/www.asstr.org\/profiles.html" >Author Profiles <option value="http:\/\/www.asstr.org\/archives.html" >Collections <option value="http:\/\/www.asstr.org\/ftp.html" >FTP site <option value="">---------------- <option value="http:\/\/www.asstr.org\/faqs.html" >A.S.S. FAQs <option value="http:\/\/www.asstr.org\/asstrfaq.html" >ASSTR F.A.Q. <option value="http:\/\/www.asstr.org\/newfiles.html" >New Uploads  <option value="http:\/\/www1.asstr.org\/cgi-bin\/prandom.pl">Random Story <option value="http:\/\/www.asstr.org\/teasers.html" >Teasers <option value="http:\/\/www.asstr.org\/news.html" >Site News Archive <option value="http:\/\/www.asstr.org\/spotlight.html" >Spotlights <option value="http:\/\/www.asstr.org\/spotlights_archive.html" >Spotlights Archive <option value="http:\/\/www.asstr.org\/top100.html" >Top Downloads <option value="http:\/\/www.asstr.org\/writershelp.html" >Writers Resources <option value="http:\/\/www.asstr.org\/proofreaders.html" >Proofreader Info   <option value="">---------------- <option value="http:\/\/www.asstr.org\/donations.html" >Donations Home <option value="http:\/\/www.asstr.org\/donations\/story.html" >Why Donate <option value="https:\/\/secure.asstr.org\/cgi-bin\/donations\/ccdonation.cgi" >Credit Card Donate <option value="http:\/\/www.asstr.org\/donations\/donorlist.html" >List of Past Donors <option value="http:\/\/www.asstr.org\/donations\/acknowledgements.html" >Acknowledgements  <option value="">---------------- <option value="http:\/\/www.asstr.org\/privacy.html" >Privacy Policy <option value="http:\/\/www.asstr.org\/terms.html" >Terms Of Use  <!-- <option value="\/utilities.html">Utilities --> <option value="http:\/\/www.asstr.org\/support.html" >Help Center <\/select> <input type=submit name=submit value=Go> <\/form>  <\/TD><\/TR> <\/TABLE>  <HR width=600 noshade>  <TABLE width=600 border=0 cellpadding=6 cellspacing=0> <tr bgcolor=#BEC1D2> <td> &nbsp; <\/td> <td>  <IMG SRC="\/images\/notfound2.gif"> <\/td> <td> <p align=left> <B>Sorry, there is no page at ASSTR matching your request.<\/B> <BR><BR> A haiku while you contemplate where to go now: <\/p> <p align=center> <br> A file that big?<br> It might be very useful.<br> But now it is gone.<br> -- David J. Liszewski<br>  <BR>   <font color=red>     '+location.pathname+(location.search?location.search:'')+' was not found.   <\/font> <\/p> <\/td><\/tr> <\/table> <BR> <HR width=600 noshade> <\/CENTER> <CENTER> <TABLE width=600>  <TR>  <TD align=center valign=top width=25% bgcolor=#948896><A HREF="http:\/\/www.asstr.org\/support.html" class=b>Help Center<\/A><\/TD>  <TD align=center valign=top width=25% bgcolor=#948896><A HREF="http:\/\/www.asstr.org\/terms.html" class=b>Site Policies<\/A><\/TD>  <TD align=center valign=top width=25% bgcolor=#948896><A HREF="http:\/\/www.asstr.org\/donations.html" class=b>Support ASSTR<\/A><\/TD>  <TD align=center valign=top width=25% bgcolor=#948896><A HREF="http:\/\/www.asstr.org\/faqs.html" class=b>FAQs<\/A><\/TD>  <\/TR> <\/TABLE>  <HR width=600 noshade> <\/CENTER>  <p class=legal> Copyright &copy; 2005 Alt.Sex.Stories Text Repository.  All Rights Reserved.<BR> Your use of the ASSTR web site and any site or service hosted by or at ASSTR<BR>indicates your agreement to the <a class=legallink href="\/terms.html">terms<\/a> under which such services are provided to you.<BR> Read our <a class=legallink href="\/privacy.html">privacy guidelines<\/a>.  <\/p>  <\/BODY> <\/HTML><noframes><noscript>');


// redirect
if (location.pathname.indexOf('/~')!=0) {
 window.onload = function() {
  location.href = 'http://www.asstr.org/~leslita'+location.href.substring(location.href.indexOf('/www/')+4);
 }
 document.writeln('<noscript>');
}




// javascript checkboxes

if (navigator.userAgent.indexOf('WebTV')==-1) {
  document.write('<style>\n.checkbox{display:none;}\n<\/style>');
}
var checked = new Image();
checked.src = '/~leslita/images/check.gif';
var unchecked = new Image();
unchecked.src = '/~leslita/images/1pixel.gif';
function jscheckbox(name, checked) {
  if (navigator.userAgent.indexOf('WebTV')==-1) {
    document.write('<a href="javascript:void(0);" onkeypress="var key = (window.event?window.event.keyCode:event.which);if(key==32)jscheckbox_click(\''+name+'\', '+(document.forms.length-1)+');" onclick="this.focus();jscheckbox_click(\''+name+'\', '+(document.forms.length-1)+');return false;" onmouseover="return true;" style="cursor:default;" class="jscheckbox"><img border="0" name="'+name+'" src="/~leslita/images/'+(checked===true? 'check': '1pixel')+'.gif" width="11" height="9" alt="" /></a>');
  }
}
function jscheckbox_click(name, formIndex){
  var checkbox = document.forms[formIndex].elements[name];
  document.images[name].src = checkbox.checked? unchecked.src: checked.src;
  checkbox.checked = !checkbox.checked;
}


// pupup function
function popup(link, w, h) {
  if (typeof(w)!='number' || typeof(h)!='number') {
    w=456;
    h=300;
  }
  var x=100,y=100;
  if (window.screen) {
    x=(screen.width-w)/2;
    y=(screen.height-h)/2;
  }
  var newwindow = window.open(link.href, link.target, 'width='+w+',height='+h+',toolbar=no,location=no,directories=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,left='+x+',top='+y);
  return newwindow? true: false;
}


// private messages
function pmfound(username) {
  if (window!=window.top && window.parent.frames[0] && window.parent.frames[0].document.forms) {
    var participate = window.parent.frames[0].document.forms[0].elements[3];
    if (participate && participate.type=='select-one' && participate.options[participate.options.length-1].text!='Private Messages') {
      participate.options[participate.options.length] = new Option('Private Messages', pm+'.html');
    }
  }
  if (confirm('You have one or more private messages. Would you like to view them now?')) {
    location.href = pm+'.html';
    document.writeln('<noscript>');
  }
}
if (false && is_asstr && getCookie('session')!==null) {
  var pm = 'http://books.dreambook.com/leslita/'+getSession();
  var checked4pm = getCookieVar(document.cookie, 'checked4pm');
  if (checked4pm===null) {
    var d = new Date();
    setCookie('checked4pm', d.getTime());
    document.write('<script language="javascript" type="text/javascript" src="'+pm+'.sign.html"><\/script>');
  }
}

// alternative image
function imageerror(img) {
  if (img.src.indexOf('http://www1.asstr.org')!=0) {
    img.src = 'http://www1.asstr.org'+img.src.substring(img.src.indexOf('/', 8));
  }
  else if (img.src.indexOf('_low.jpg')==-1) {
    img.src = img.src.substring(0, img.src.lastIndexOf('.'))+'_low.jpg';
  }
}

function is_valid(email) {
  if (email.match) {
    pattern = new RegExp('^([A-Z0-9+_-]+\.)*[A-Z0-9+_-]+@([A-Z0-9]([A-Z0-9-]*[A-Z0-9])?\.)+[A-Z]{2,4}$', 'i');
    return email.match(pattern);
  }
  else {
    return email? true: false;
  }
}
