function search(form) {
        var term = form.s.value;
        if (isAlphaNum(term) == false) {
                form.action='/search/';
                form.submit();
        } else {
                document.location.href='/search/' + escape(form.s.value);
        }
}

function isAlphaNum(term) {
        var i = 0;
        var alphaNum = true;
        while (i<term.length && alphaNum == true) {
                var theChar = term.substring(i,i+1).charCodeAt(0);
                if (theChar != 32) {
                        if ((theChar < 48) || (theChar > 122) ||
                           ((theChar > 57) && (theChar < 65)) ||
                           ((theChar > 90) && (theChar < 97))) {
                                alphaNum = false;
                        }
                }
                i++;
        }
        return alphaNum;
}

function getCookieExpireString() {
    var date = new Date();
    date.setTime(date.getTime() + (999*24*60*60*1000));
    return "expires=" + date.toGMTString() + "; path=/;";
}

function setDefaultCookie() {
    if (document.cookie.indexOf('fbtimezone') == -1) {
        var value="Eastern";
        var now = new Date().toString();
        if (now.indexOf('PST') != -1 || now.indexOf('PDT') != -1 || now.indexOf('Pacific')!= -1) {
            value = "Pacific";
        } else if (now.indexOf('MST') != -1 || now.indexOf('MDT') != -1 || now.indexOf('Mountain') != -1) {
            value = "Mountain";
        } else if (now.indexOf('CST') != -1 || now.indexOf('CDT') != -1 || now.indexOf('Central') != -1) {
            value = "Central";
        }
        document.cookie = "fbtimezone=" + value + ';' + getCookieExpireString();
    }

    if (document.cookie.indexOf('fbdealsites') == -1) {
        document.cookie = "fbdealsites=all;" + getCookieExpireString();
    }
}

var dealsite = new Array();
dealsite[0]="AnandTech";
dealsite[1]="BensBargains";
dealsite[2]="CheapAssGamer";
dealsite[3]="CheapStingyBargains";
dealsite[4]="DealCatcher";
dealsite[5]="DealNews";
dealsite[6]="Deals2Buy";
dealsite[7]="DealSea";
dealsite[8]="DealSpl.us";
dealsite[9]="DealTaker";
dealsite[10]="FatWallet";
dealsite[11]="GotApex";
dealsite[12]="SlickDeals";
dealsite[13]="Techbargains";
dealsite[14]="XPBargains";

var filterShown = false;
var filterMax = dealsite.length;

function doFilterSelectAll() {
    var flag = document.getElementById('c_0').checked == true ? false : true;

    for (i=0; i<filterMax; i++)
    {
        var tmp = "c_" + i;
        var o = document.getElementById(tmp);
        o.checked = flag;
    }
}

function getCookie( 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;
    }
}

function doShowFilter() {
    if (document.cookie.indexOf('fbdealsites') == -1) {
        // Is cookie there yet?
        setDefaultCookie();
    }

    var value = getCookie('fbdealsites');

    if (value == 'all') {
        for (i=0; i<filterMax; i++) {
            var tmp = "c_" + i;
            var o = document.getElementById(tmp);
            o.checked = true;
        }
    } else {
        for (i=0; i<filterMax; i++) {
            if (value.indexOf(dealsite[i]) != -1) {
                var tmp = "c_" + i;
                var o = document.getElementById(tmp);
                o.checked = true;
            }
        }
    }

    if (!filterShown) {
        new Effect.SlideDown('filter', {duration: 1});
        filterShown = true;
    }
}

function doHideFilter() {
    var totalChecked = 0;
    for (i=0; i<filterMax; i++)
    {
        var tmp = "c_" + i;
        var o = document.getElementById(tmp);
        if (o.checked == true) {
            totalChecked = totalChecked + 1;
        }
    }
    if (totalChecked == 0) {
        // Unable to proceed, please select at least 1 deal site.
        alert('Please select at least one deal site then click Save again.');
        return;
    }
    if (totalChecked == filterMax) {
        document.cookie = "fbdealsites=all;" + getCookieExpireString();
    } else {
        // Create cookie specific to user preferences
        var tmpvalue = "";
        for (i=0; i<filterMax; i++)
        {
            var tmp = "c_" + i;
            var o = document.getElementById(tmp);
            if (o.checked == true) {
                tmpvalue = tmpvalue + dealsite[i] + ":";
            }
        }
        document.cookie = "fbdealsites=" + tmpvalue + ";" + getCookieExpireString();
    }
    if (filterShown) {
        new Effect.SlideUp('filter', {duration: 1});
        filterShown = false;
    }
}

var talkToUsShown = false;

function doShowTalkToUs() {

    if (!talkToUsShown) {
        new Effect.SlideDown('talktous', {duration: 1});
        talkToUsShown = true;
    }
}

function doHideTalkToUs() {

    if (talkToUsShown) {
        new Effect.SlideUp('talktous', {duration: 1});
        talkToUsShown = false;
    }
}
