/******************************************************************************/
function Validate(form)
{
    var phone = form.phone.value;

    // Trim leading/trailing whitespace:
    phone = phone.replace(/^\s+/, "").replace(/\s+$/, "").replace(/[^\d]/g, "").replace(/-/g, "");

    // Does it look like a phone number?:
    if (!/^[\d]{10,10}$/.test(phone))
    {
        alert("Invalid phone number");
        form.phone.focus();
        return false;
    } // end if()

    var parts = /^(\d{3,3})(\d{3,3})(\d{4,4})$/.exec(phone);
    parts.shift();
    form.phone.value = parts.join("-");

    window.setTimeout(function()
    {
        document.location = '/' + form.phone.value.replace(/-/g, "");
    }, 1);
    return false;
}

function ValidateAddr(form)
{   
    if (form.qa.value == '' || form.qc.value == '' || form.qs.selectedIndex == '0')
    {
        alert("Incomplete street address");
        return false;
    }
    else
        return true;
}

function ValidateName(form)
{
    if (form.qf.value == '' || form.qn.value == '' || form.qs.selectedIndex == '0')
    {
        alert("Please provide fullname and state");
        return false;
    }
    else
        return true;
}

function IsPhone(ph, phone)
{
    // Trim leading/trailing whitespace:
    phone = phone.replace(/[^\d]/g, "");

    // Does it look like a phone number?:
    if (/^[\d]{10,10}$/.test(phone))
    {
        ph.phone = phone;
        return true;
    }
    else if (/^[\d]{6,9}$/.test(phone) && !ph.phone)
    {
        ph.phone = phone.substr(0, 6);
        return true;
    }
    else if (/^[\d]{3,3}$/.test(phone) && !ph.phone)
    {
        ph.phone = phone;
    }
    else if (/^[\d]{3,3}$/.test(phone) && ph.phone && /^[\d]{3,3}$/.test(ph.phone))
    {
        ph.phone += phone;
    }
    else if (/^[\d]{4,4}$/.test(phone) && ph.phone && /^[\d]{6,6}$/.test(ph.phone))
    {
        ph.phone += phone;
        return true;
    }

    return false;
}

/******************************************************************************
* Usage:
*  var req = new Request();
*  if( req.some_querystring_variable_name == "hello" ) { ... }
*/
function Request()
{
    var url = document.location.toString().split(/\?/);
    if (url.length < 2)
        return;

    var parts = url[1].split(/&/);
    var params = new Object();
    for (var i = 0; i < parts.length; i++)
    {
        var str = parts[i].split(/\=/);
        params[unescape(str[0])] = unescape(str[1]);
    } // end for()

    return params;
} // end Request()

function Toggle()
{
    document.getElementById('LargeDiv').style.height = '';
    document.getElementById('more').style.display = 'none';
    return false;
}

function DecodeSearchQuery()
{
    var query = null;

    if (document.referrer)
    {
        referrer = decodeURIComponent(document.referrer);
        //referrer = decodeURIComponent('http://www.google.com/search?q=fsdf+4252339648+2343fdsfs&btnG=Search');

        if (referrer.match(/^http:\/\/(www)?\.?[google}|bing|alltheweb|ask].*/i))
        {
            // Google, Bing             
            if (referrer.match(/q=/))
                query = referrer.replace(/^.*[&\?]+q=([^&]+)&?.*$/i, '$1');
        }
        else if (referrer.match(/^http:\/\/search\.lycos.*/i))
        {
            // Lycos
            if (referrer.match(/query=/))
                query = referrer.replace(/^.*[&\?]+query=([^&]+)&?.*$/i, '$1');
        }
        else if (referrer.match(/^http:\/\/search\.yahoo.*/i))
        {
            // Yahoo
            if (referrer.match(/p=/))
                query = referrer.replace(/^.*[&\?]+p=([^&]+)&?.*$/i, '$1');
        }
        else if (referrer.match(/q=/))
        {
            query = referrer.replace(/^.*[&\?]+q=([^&]+)&?.*$/i, '$1');
        }

        if (query)
        {
            query = query.replace(/\'|"/, '');
            query = query.split(/[\s,\+\.]+/);
        }
    }

    return query;
}

