/**
 * common.js v1.1 for JumpStart Auction Directory
 * -----------------------------------------
 * Contains the following utility functions and classes that are free to reuse
 * with attribution:
 *   * cookiejar and subcookiejar, by Harmen Janssen
 *   * getElementsByClassName, by Jonathan Snook and Robert Nyman
 *   * insertAfter, by Jeremy Keith
 *   * findPos, by Peter-Paul Koch
 *
 * The rest is written by Zenscope Studio, LLC (www.zenscope.com) and is
 * Copyright (c) 2007 Arsetta, Inc. all rights reserved
 */

var cookiejar={bake:function(a,b,c,d){var e='';if(c){var f=new Date();f.setTime(f.getTime()+(c*24*60*60*1000));e="; expires="+f.toGMTString()}var g='; path=/';if(d)g='; path='+d;document.cookie=a+'='+escape(b)+e+g},fetch:function(a){var b=a+'=';var d=document.cookie.split(';');for(var i=0;i<d.length;i++){var c=d[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(b)==0)return unescape(c.substring(b.length,c.length))}return null},crumble:function(a){cookiejar.bake(a,'',-1)}};var subcookiejar={nameValueSeparator:'$$|$$',subcookieSeparator:'$$^$$',bake:function(a,b,c,d){var e='';for(var i in b){e+=i+subcookiejar.nameValueSeparator;e+=b[i];e+=subcookiejar.subcookieSeparator}e=e.substring(0,e.length-subcookiejar.subcookieSeparator.length);cookiejar.bake(a,e,c,d)},fetch:function(a,b){var c=cookiejar.fetch(a);var d=c.split(subcookiejar.subcookieSeparator);for(var i=0;i<d.length;i++){var e=d[i].split(subcookiejar.nameValueSeparator);if(e[0]==b)return e[1]}return null},crumble:function(a,b,c,d){var e=cookiejar.fetch(a);var f={};var g=e.split(subcookiejar.subcookieSeparator);for(var i=0;i<g.length;i++){var h=g[i].split(subcookiejar.nameValueSeparator);if(h[0]!=b)f[h[0]]=h[1]}subcookiejar.bake(a,f,c,d)}};function getElementsByClassName(a,b,c){var d=(b=="*"&&a.all)?a.all:a.getElementsByTagName(b);var e=new Array();var f=new Array();if(typeof c=="object"){for(var i=0;i<c.length;i++){f.push(new RegExp("(^|\\s)"+c[i].replace(/\-/g,"\\-")+"(\\s|$)"))}}else{f.push(new RegExp("(^|\\s)"+c.replace(/\-/g,"\\-")+"(\\s|$)"))}var g;var h;for(var j=0;j<d.length;j++){g=d[j];h=true;for(var k=0;k<f.length;k++){if(!f[k].test(g.className)){h=false;break}}if(h){e.push(g)}}return(e)};if(typeof Array.prototype.push!="function"){Array.prototype.push=ArrayPush;function ArrayPush(a){this[this.length]=a}}function insertAfter(a,b){var c=b.parentNode;if(c.lastChild==b){c.appendChild(a)}else{c.insertBefore(a,b.nextSibling)}};String.prototype.lTrim=function(){return this.replace(/^\s+/,'')};String.prototype.rTrim=function(){return this.replace(/\s+$/,'')};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,'')};function getReservationForm(){if(!document.getElementById||!document.getElementsByTagName)return false;var a=document.getElementById("make_reservation");if(!a)return false;var b=getElementsByClassName(a,"form","zemContactForm");if(b.length>0){return b[0]}else{return false}};function compareEmailAddresses(a,b){var c=a.toLowerCase();c=c.trim();var d=b.toLowerCase();d=d.trim();if(c.length===0||d.length===0)return true;if(c.valueOf()==d.valueOf()){return true}else{return false}};function putErrorHelp(){if(!document.getElementById||!document.createElement||!document.getElementsByTagName)return false;var a=getReservationForm();if(!a)return false;var b=getElementsByClassName(a,"ul","zemError");if(b.length>0){var c=getElementsByClassName(a,"p","form-notes");var d=c[0];var e=document.createElement("p");e.className="form-notes";e.innerHTML='Error messages are <span class="zemRequirederrorElement">highlighted in red</span>.';insertAfter(e,d)}else{return false}};function confirmEmail(){if(!document.getElementsByTagName)return false;var a=getReservationForm();var b=a.resform_email.value;var c=a.resform_email_confirm.value;if(!compareEmailAddresses(b,c)){alert("The fields \"E-Mail Address\" and \"Confirm Your E-Mail\" don't match. Please check that you've entered the same address into both.");a.resform_email.focus();a.resform_email.select();return false}return true};function makeResCookies(){var a=getReservationForm();var b={name:a.resform_personname.value,orgname:a.resform_orgname.value,email:a.resform_email.value,emailconf:a.resform_email_confirm.value,phone:a.resform_phone.value,auctionstart:a.resform_auctionstart.selectedIndex};if(cookiejar.fetch('resform_cookie')){cookiejar.crumble('resform_cookie')}subcookiejar.bake('resform_cookie',b)};function prefillResForm(){var a=getReservationForm();if(!cookiejar.fetch('resform_cookie')||!a){return false}else{a.resform_personname.value=subcookiejar.fetch('resform_cookie','name');a.resform_orgname.value=subcookiejar.fetch('resform_cookie','orgname');a.resform_email.value=subcookiejar.fetch('resform_cookie','email');a.resform_email_confirm.value=subcookiejar.fetch('resform_cookie','emailconf');a.resform_phone.value=subcookiejar.fetch('resform_cookie','phone');var b=subcookiejar.fetch('resform_cookie','auctionstart');a.resform_auctionstart.options[b].selected=true;var c=getElementsByClassName(a,"p","form-notes");var d=c[0];c=getElementsByClassName(a,'ul','zemError');var e=c[0];if(!e){d.innerHTML='To save you time, we&rsquo;ve remembered your information. Please make corrections below, if needed.  Required fields are <span class="zemRequired">highlighted in blue</span>.'}return true}};function processResForm(){if(!confirmEmail()){return false}makeResCookies();return true};function prepResForm(){var a=getReservationForm();if(a){a.onsubmit=function(){return processResForm()}}};function findPos(a){var b=0;var c=0;if(a.offsetParent){b=a.offsetLeft;c=a.offsetTop;while(a==a.offsetParent){b+=a.offsetLeft;c+=a.offsetTop}}return[b,c]};function fixSafariScroll(){if(navigator.vendor=='KDE'||(document.childNodes&&!document.all&&!navigator.taintEnabled)){if(window.location.hash.indexOf('#zcr')!=-1){arrForm_xypos=findPos(document.getElementById('make_reservation'));window.scroll(0,arrForm_xypos[1])}}};addEvent(window,'load',prefillResForm);addEvent(window,'load',prepResForm);addEvent(window,'load',putErrorHelp);addEvent(window,'load',fixSafariScroll);
