// JScripts.js

/*----- SCRIPT INDEX -----
STEALTH EMAIL SCRIPT
AUTO BOOKMARK FN
WRITE NAVBARS
WRITE QUIKSTART
FNAME FORM CHEK
DHTML FLY-IN SCRIPT
BKGRND SOUND SCRIPT
CLICKABLE IMGS
NAVSIDE FAILED MSG
*/

/* STEALTH EMAIL SCRIPT */

function SantAddy(vAddy, vBody, vTitle)
{
  var vDomain="EmailSanta.com";
  var addr = vAddy + "Elf&#64;" + vDomain;
  var subj ="?subject=Hi%20"+ vAddy +"%20Elf!";
  var body ="&body="+  vBody;
  var titl = " Title="+ vTitle;
  var disp = vAddy + " Elf";

  var result = ("<a href=" + "mail" + "to:" + addr + subj + body + titl + ">" + disp + "<\/a>");
  return result;
}

/* AUTO BOOKMARK FN */

function Bmark()
{
if ((navigator.appVersion.indexOf("MSIE") > 0)
  && (parseInt(navigator.appVersion) >= 4)) {
    var bookmark = ("<A CLASS=\"nav\" HREF=\"javascript:window.external.AddFavorite(\'http://www.EmailSanta.com\',\'_Email_Santa\');\" TITLE=\'Click here to bookmark this page!\'>Bookmark<\/A>");
}
else
    var bookmark = ("<A CLASS=\"nav\" HREF=\"http://www.EmailSanta.com/book_home.html#bookmark\" TITLE=\'Click here to find out how to bookmark EmailSanta!\'>Bookmark<\/A>");
  return bookmark;
}

/* WRITE NAVBARS */

function navBar(toporbottom,dirlevel) {

var spacer = "<font class='navtopspc'>|</font>";
var aHref = "<a class='nav' href=";
var vbar = toporbottom;
var subDir = dirlevel;
var emDomain="EmailSanta.com";
var emAddr = "Head_Elf";

if (subDir == "sub")
var vDir = "' ../";
else
var vDir = " '";

var nBar = "<table class='noprint' border='0' cellpadding='0' cellspacing='0' width='100%' bgcolor='#008000'>"+
"<tr><td align='left' width='25%'>&nbsp;"+
spacer + aHref +"'http://www.emailsanta.com/' Title='Click for EmailSanta&#39;s English Homepage'>english</a>"+
spacer + aHref + vDir +"noel.htm' Title='Envoie ta lettre au Père Noël'>français</a>"+ 
spacer +"</td><td align='right' width='75%'>" + 
spacer + aHref + vDir +"reminder.asp' TITLE='Get a reminder to visit EmailSanta next year!'>Reminder</a>"+ 
spacer + aHref + vDir +"book_home.html#homepage' TITLE='Make EmailSanta your default Startpage!'>Startpage</a>"+ spacer;
nBar = nBar + Bmark();
nBar = nBar + spacer + aHref + vDir +"book_home.html#link' Title='How to link to EmailSanta'>Link</a>"+ 
spacer + aHref + vDir +"press_kit.htm' Title='Information for the Media'>Press Kit</a>"+ 
spacer +"<a class='nav' href='mailto:put%20your%20friends%20addresses%20here"+
"?subject=I%20emailed%20Santa%20Claus!!"+
"&body=A%20letter%20to%20Santa%20Claus?%20%20Honest,%20its%20true!%20%20"+
"And%20Jolly%20Saint%20Nick%20wants%20to%20hear%20from%20you%20too!!%20%20"+
"From%20the%20North%20Pole,%20Santa%20sent%20my%20reply...%20"+
"faster%20than%20Rudolph%20the%20reindeer%20can%20fly!!%20%20"+
"So%20get%20in%20the%20spirit!%20%20Put%20some%20jingle%20bells%20on!%20%20"+
"And%20email%20Santa%20at%20www.EmailSanta.com!!%20%20Merry%20Christmas!!' "+
"title=\"Send a funny email to your friends\" >Share</a>" + 
spacer + "<a class='nav' href=" + "mail" + "to:" + emAddr + "&#64;"+ emDomain +
"?subject=Hi%20Head%20Elf!" +
"&body=Thanks%20for%20sending%20an%20email%20to%20the%20Head%20Elf.%20%20" +
"Please%20type%20your%20message%20below%20and%20the%20Head%20Elf%20" +
"will%20get%20back%20to%20you%20as%20soon%20as%20possible! " +
"%20%20Note:%20We%20cannot%20send%20emails%20to%20AOL%20addresses%20" +
"as%20AOL%20is%20blocking%20them.%20%20We%20are%20trying%20to%20get%20"+
"AOL%20to%20fix%20this%20problem."+
"title=\"Questions?, 'Comments', Concerns! about this site?&nbsp; " +
"Click here to email Santa's Head Elf!\" >Feedback</a>" + 
spacer +" &nbsp;</td></tr></table>";

if (vbar == "bot"){
nBar = nBar + "<table border='0' cellpadding='2' cellspacing='2' width='460' bgcolor='#F2FFFF' align='left'>" +
"<tr><td align='left' class='cpy'>© EmailSanta™ (1997 - 2008)<br>" +
"<a href="+ vDir +"privacy.htm' title='EmailSanta&#39;s Privacy Policy'>Privacy:</a>" +
" EmailSanta doesn't share your personal information.</td></table>";}
return nBar;
}


/* WRITE QUIKSTART */

function qxStart(pCode) {

txtStart = "<td bgcolor='#FF0000' width='15%' TITLE='You can start your email to Santa here!'>" +
"<form method='post' action='http://www.emailsanta.com/email_santa.asp?" + pCode + 
"' onsubmit='return NameChek(this)' name='xy'>" +
"<p class='navin' align='center'>Dear Santa,&nbsp; my first name is...<br>&nbsp;" +
"<input type='text' name='firstname' size='10' maxlength='25' onFocus='promptEntry(pFirstName)'>&nbsp;&nbsp;<br>" +
"<input type='image' src='images/click.gif' align='absmiddle' border='0' " +
" alt='You can start your email to Santa here!' name='Submit' width='45' height='15'></p></form></td>";
return txtStart;
}

/* FNAME FORM CHEK */

// MESSAGE DISPLAY VARS
// GLOBAL VARS
var whitespace = " "  // whitespace characters  e.g.: \t \n\r
var defaultEmptyOK = false
var sEmail, sComment, xVar1, xVar2  // unused vars reserved for future use

//REUSABLE VARS
var checkOK = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ\'- ";
var AlertPrefix0 = "HO!!  HO!!  HO!! \n\n";
var AlertPrefix2 = AlertPrefix0 + "Did you forget to tell Santa ";
var AlertPrefix3 = AlertPrefix0 + "You wouldn\'t be fibbing to Santa about ";
var AlertSuffix0 = " now would you?  *wink*";
var AlertSuffix2 = "\n(After all, he does need to know where to leave your presents!)";
var AlertSuffix3 = "you live in?\nYou can select your ";
var AlertSuffix4 = "from the drop-down list";
var AlertFName0 = "your first name";
var AlertFName2 = "send letters individually (instead of by group) so Santa can reply to each person.";

//STATUS BAR DISPLAYS
var pFirstName= "Please enter "+ AlertFName0 +" only and "+ AlertFName2;

//ERROR MSG DISPLAYS
var sFirstName=  AlertPrefix2 + AlertFName0 +"?\n\nPlease "+ AlertFName2;
var tFirstName=  AlertPrefix3 + AlertFName0 + AlertSuffix0;

// FUNCTIONS
function NameChek(theForm)
{
   return (
      checkString(theForm.firstname,sFirstName,tFirstName,false)
    )
}

function checkString (theField, s, t, emptyOK)
{  if (checkString.arguments.length == 2) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return (true);
    if (isWhitespace(theField.value)) 
       return warnEmpty (theField, s);
    if (isAlphabetic(theField.value) == false)
       return warnInvalid (theField, t);
    if (theField.value.length < 2)
       return warnInvalid (theField, t);
    else return (true);
}

function promptEntry (p)
{   window.status = p;
     return (true);
}

function warnEmpty (theField, s)
{	theField.focus(theField);
	theField.select(theField);
	alert(s);
	return (false);
}

function warnInvalid (theField,t)
{	theField.focus(theField);
	theField.select(theField);
	alert(t);
	return (false);
}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return (true);
    for (i = 0; i < s.length; i++)
    {  var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return (false);
    }
    return (true);
}

function isAlphabetic(t)
{  var i,j;
    var checkOK = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ\.'- ";
    if (isEmpty(t)) 
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);
    for (i = 0; i < t.length; i++)
    {   
        var c = t.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
        if (c == checkOK.charAt(j))
        break;
        if (j == checkOK.length)
        {
        return (false);
        break;
    }
}
    return (true);
}

/* DHTML FLY-IN SCRIPT */

function posTextTop() {
flyTxtTop.style.posTop = -750;
}

function moveTextTop() {
if (flyTxtTop.style.posTop<0) {
flyTxtTop.style.posTop+=1;
window.setTimeout("moveTextTop();",1);
  }
}

function posTextLeft(){
flyTxt.style.posLeft = -1000;
}

function moveTextLeft() {
if (flyTxt.style.posLeft<0) {
flyTxt.style.posLeft+=1;
window.setTimeout("moveTextLeft();",1);
  }
}

/* BKGRND SOUND SCRIPT */
function rndnumber()
{
var randscript = -1
var howMany = 5
while (randscript < 0 || randscript > howMany || isNaN(randscript)){
randscript = parseInt(Math.random()*(howMany+1))
}
return randscript
}

function bkgrndSound()
{
var MSIE=navigator.userAgent.indexOf("MSIE");
var NETS=navigator.userAgent.indexOf("Netscape");
var OPER=navigator.userAgent.indexOf("Opera");
var howMany = 5
var quote = new Array(howMany+1)
quote[0]="jingles.au"
quote[1]="jingles.au"
quote[2]="s_laugh.au"
quote[3]="s_laugh.au"
quote[4]="boing1.au"
quote[5]="boing1.au"
quotenum = rndnumber()

var src = new Array(4)
src[0]="SRC=http://www.christmassantaclaus.com/audio/"
src[1]="SRC=http://www.christmassantaclaus.com/audio/"
src[2]="SRC=http://members.shaw.ca/KrisKringle/audio/"
src[3]="SRC=http://members.shaw.ca/KrisKringle/audio/"
srcnum = rndnumber()

if((MSIE>-1) || (OPER>-1)) {
var bsound = "<BGSOUND "+ src[srcnum] + quote[quotenum] +" LOOP='2'>";
} else {
var bsound = ("<EMBED "+ src[srcnum] + quote[quotenum] +" AUTOSTART=TRUE AUTOPLAY=TRUE HIDDEN=true VOLUME=100");
var bsound = bsound + ("LOOP='3' BORDER=0 WIDTH=2 HEIGHT=2 CONTROLS=smallconsole ALIGN=right> ");
}
return bsound;
}


/* CLICKABLE IMGS */

function togChek(vForm,vField) {
checkSet = eval("document."+vForm+"."+vField)
checkSet.checked = !(checkSet.checked)
}

function togRadio(vForm,vField,vValue) {
radioSet = eval("document."+vForm+"."+vField)
for (i=0;i<radioSet.length;i++) {
if (radioSet[i].value == vValue)
radioSet[i].checked = true
}
}

/* NAVSIDE FAILED MSG */
var NaverrMsg = "<p class='navin'>&nbsp; <br>The navigation links for this page did not load properly.<br><br> "+
"Please click your browser's Refresh/Reload button.<br>&nbsp;</p>"