//Script for US/Canada site finder




function validateForm(objForm)
{

    var msg = "";
    var searchType = objForm.searchType.value;
    var sel = document.getElementById("state");
    var inp = document.getElementById("txtSearch");

    switch (searchType)
    {
        case "byZip":
            if (inp.value == "") msg = "Please enter a postal code";
            break;
        case "byCity":
            if (inp.value == "" || sel.selectedIndex == 0   ) msg = "Please enter a city and state/province";
            break;
        case "byState":
            if (sel.selectedIndex == 0   ) msg = "Please choose a state or province";
            break;
        case "byName":
            if (inp.value == "") msg = "Please enter the name of an establishment";
            break;
        case "byStreet":
            if (inp.value == "") msg = "Please enter a street";
            break;
    }

    if (msg == "")
    {
        return true;
    }
    else
    {
        alert (msg);
        if(searchType == "byState")
            sel.focus();
        else
            inp.focus();
         return false;
    }
}

/*set  display of state/prov menu and distance ordering option;
set display of previously entered value, if any*/
function on_sf_searchtype (searchType)
{

    var stateDiv = document.getElementById("stateDiv");
    var txtSearch = document.getElementById("txtSearch");
    var searchDiv = document.getElementById("searchDiv");
    var selOrder = document.getElementById("selOrder");
    var radiusDiv = document.getElementById("radiusDiv");
    //inp.value = "";

    txtSearch.value="";
    switch (searchType)
    {
        case "byZip":
            searchDiv.style.display = "inline";
            stateDiv.style.display = "none";
            radiusDiv.style.display = "inline";
            toggleDistanceOption (selOrder,true);
            break;
        case "byCity":
            searchDiv.style.display = "inline";
            stateDiv.style.display = "inline";
            radiusDiv.style.display = "inline";
            toggleDistanceOption(selOrder,true);
            if (stateProv)
                setStateProv();
            break;
        case "byState":
            searchDiv.style.display = "none";
            stateDiv.style.display = "inline";
            radiusDiv.style.display = "none";
            toggleDistanceOption(selOrder,false);
            if (stateProv)
                setStateProv();
            break;
        case "byStreet":
            searchDiv.style.display = "inline";
            stateDiv.style.display = "none";
            radiusDiv.style.display = "none";
            toggleDistanceOption(selOrder,false);
            break;
        case "byName":
            searchDiv.style.display = "inline";
            stateDiv.style.display = "none";
            radiusDiv.style.display = "none";
            toggleDistanceOption(selOrder,false);
            break;
    }
}

function resetForm()
{
    var stateDiv = document.getElementById("stateDiv");
    var inp = document.getElementById("txtSearch");
    var selOrder = document.getElementById("selOrder");
    var radiusDiv = document.getElementById("radiusDiv");

    stateDiv.style.display = "none";
    inp.style.display = "inline";
    toggleDistanceOption (selOrder,true);
    radiusDiv.style.display = "inline";

    document.forms[0].reset;
}

function toggleDistanceOption(selOrder,showOpt)
{
    if (showOpt)
    {
        if (selOrder.options.length < 4 )
            selOrder.options[3] = new Option("Distance (Near to Far)", "distanceOrder");
            selOrder.options[selOrder.selectedIndex].selected = false;
            selOrder.options[3].selected = true;
    }
    else
    {
        if (selOrder.options.length >= 4 )
            selOrder.options[3] = null;
    }
}

function setStateProv ()
{
    if (stateProv)
    {
        var sel = document.getElementById("state");
        var stateName = document.getElementById("stateName");
        for (var i = 1; i < sel.options.length; ++i)
        {
            if (sel.options[i].value == stateProv)
            {
                sel.options[i].selected = true;
                stateName.value = sel.options[i].text;
            }
        }
    }
}

var printMode = false;
function printable()
{

    var printButton = document.getElementById("printButton");
    if (!printMode)
    {
        printMode = true;
        document.getElementById("headcontainer").style.display="none";
        document.getElementById("menubar").style.display="none"; 
        document.getElementById("playersmenu").style.display="none"; 
        document.getElementById("finderFormDiv").style.display="none";
        document.getElementById('head_bg').style.backgroundImage="url()";
        document.getElementById('playerssite').setAttribute("style","float:none");
        document.getElementById('playerssite').style.styleFloat="none"; //IE
        document.getElementsByTagName('body')[0].className="printable";
        printButton.value = "Cancel Print Mode";
        window.print();
    }
    else
    {
        printMode = false;
        document.getElementById("headcontainer").style.display="block";
        document.getElementById("menubar").style.display="block";      
        document.getElementById("playersmenu").style.display="block";   
        document.getElementById("finderFormDiv").style.display="block";
        document.getElementById('head_bg').style.backgroundImage="url(/players/img/templategraphics/players_site_header_background.jpg)";
        document.getElementById('playerssite').setAttribute("style","float:right");
        document.getElementById('playerssite').style.styleFloat="right"; //IE  
        document.getElementsByTagName('body')[0].className="";
        printButton.value = "Print";
    }



}

/* TIPS ----------------------- */
var tip, tipTimer;
var tipTimeout = 200;

function initTip () {
    tip = document.getElementById("newGameTip");
    tip.onmouseover =  onEnterTip;
    tip.onmouseout = onExitTip;

}


function killTip(e) {
    tip.style.display = "none";
}


function doTip(img)
{
    var coords =   findElementPos(img)
    tip.style.left = coords.x + (90 ) + "px";
    tip.style.top = coords.y  + "px";
     tip.style.display = "block";

}

function onEnterTip()
{
   clearTimeout (tipTimer);
}

function onExitTip(evt)
{
    evt = (evt) ? evt : ((window.event) ? window.event : "");
    if (evt == undefined )
    {

        doKill() ;
        return;
    }

    //get element we are leaving and element we are enterning
    if(document.all )
    {   //IE event properties
        var fromEl = evt.fromElement;
        var toEl = evt.toElement;
    }
    else
    {   //correct event props
        var fromEl = evt.target;
        var toEl = evt.relatedTarget;
    }

    //mouse off browser
    if (toEl == undefined)
    {
        doKill() ;
        return;
    }


    //go up node tree until we get to flyout div, avatar, or body, or go off screen
     while (toEl.id != tip.id && toEl.nodeName != 'body' && toEl.parentNode != undefined)
     {
            toEl= toEl.parentNode;
     }

     //if entering flyout or avatar, don't kill flyout
     if (toEl.id == tip.id  )
     {
         return;
     }
     else
     {
        doKill() ;
     }

}


function killTip()
{
   tipTimer = setTimeout("doKill()",tipTimeout) ;
}

function doKill()
{
   tip.style.display = "none";
   clearTimeout (tipTimer);
}

function findElementPos (element) {
    var coords = { x: 0, y: 0 };
    while (element) {
    coords.x += element.offsetLeft;
    coords.y += element.offsetTop;
    element = element.offsetParent;
    }
    return coords;
}









