﻿var xmlHttp;
var expireDays = 30;

function $(id)
{
    return document.getElementById(id);
}
function checkNumber(e)
{
    var keynum;
    var keychar;
    var numcheck;
    
    if(window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }
    keychar = String.fromCharCode(keynum);
    numcheck = /(\d|[\b]|\0)/;
    return numcheck.test(keychar);
}

function setValue(id, value)
{
    var el = document.getElementById(id);
    el.value = value;
}


function ValidateCorpAccount(it, p, box)
{
    var vis = (box.checked) ? "block" : "none"; 
    if (document.getElementById(p).value =="") 
    { 
        document.getElementById(it).style.display = vis; 
    }
}

function ValidateLegal(it, box)
{
    var vis = (box.checked) ? "none" : "block"; 
    document.getElementById(it).style.display = vis; 
}

function escClosePopup(id, e) 
{
    e = e || event;
    
    if(e.keyCode == 27)
        document.getElementById(id).style.display = "none";
}

function escPressed(e) 
{
    var escHit = false;
    
    e = e || event;
    
    if(e.keyCode == 27)
        escHit = true;
 
    return escHit;
}
function setImageOverCurrentPosition(sourceID, event)
{
    var el = document.getElementById('divBigImage');
    var sourceEl = document.getElementById(sourceID);
    el.style.position = "absolute";
    el.style.top = 100;//event.clientY;// + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft); //"50px";//sourceEl.offsetHeight;
    el.style.left = 220;//event.clientX;// + (document.documentElement.scrollRight ? document.documentElement.scrollRight : document.body.scrollRight);//sourceEl.offsetWidth;
    el.style.zIndex = "200";
    el.style.display = "block";
    el.focus();
    
}

function ajaxIt()
{
    var xmlHttp;
    try
    {  // Firefox, Opera 8.0+, Safari  
        xmlHttp=new XMLHttpRequest();  
    }
    catch (e)
    {  // Internet Explorer  
        try
        {    
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    
        }
        catch (e)
        {    
            try
            {      
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");      
            }
            catch (e)
            {      
                alert("Your browser does not support AJAX!");      
                return false;      
            }    
        }  
    }
    return xmlHttp;
}

function close(id)
{
    document.getElementById(id).style.display = "none";
}

function ShowModal(title, content, height, width, goToUrl)
{
    toggleVisible("select");
    document.getElementsByTagName('html')[0].style.overflow = "hidden"; //removes scroll bars from entire page 
    
    document.getElementById('modalContentHolder').innerHTML =
        "<div class=\"bigImage\" style=\"display: block;" + (width!=''&&width!=null ? "width: " + width : "") + "\">" + 
            "<div class='toolbar'>" + 
                "<span style=\"float: left; font-weight: bold; font-size: 12px;\">" + title + "</span>" +
                "<span style=\"cursor: pointer;\" onclick=\"javascript:HideModal(" + (goToUrl == null ? "" :  ("'" + goToUrl + "'")) + ");\">Close</span>" +
            "</div>" +
            "<div class=\"textarea\" style=\"padding: 0px; border-style: none; border: 0px; margin: 0px;" + (height != '' && height != null ? " height: " + height + ";" : "") + (width != '' && width != null ? "width: " + width : "") + "\">" +
                content + 
            "</div>" +
        "</div>";
    document.getElementById('screenFilter').style.display = "block";
    //   document.getElementById('modalContentHolder').setAttribute("tabIndex", "0");
    //   document.getElementById('modalContentHolder').setAttribute("onkeydown", "function(event){if(escPressed(this.id, event)) HideModal(" + (goToUrl == null ? "" :  ("'" + goToUrl + "'")) + ");}");
    //   document.getElementById('modalContentHolder').setAttribute("onkeydown", "if(escPressed(this.id, event)) HideModal(" + (goToUrl == null ? "" :  ("'" + goToUrl + "'")) + ");");
    //   document.getElementById('modalContentHolder').onkeydown = function(){if(escPressed(this.id, event)) HideModal((goToUrl == null ? "" :  (goToUrl)));};
    document.onkeydown = HideModalIfEsced;
    function HideModalIfEsced(event)
    {
        if(escPressed(event)) 
            HideModal((goToUrl == null ? "" :  (goToUrl)));
            
        return false;
    }
    window.scrollTo(0, 0);
    document.getElementById('modalContentHolder').style.display = "block";
    document.getElementById('modalContentHolder').focus();
}
function HideModal(goToUrl)
{
    if(goToUrl)
    {
        document.onkeydown = null;
        location.href = goToUrl;
    }
    else
    {
        toggleVisible("select");
        document.getElementsByTagName('html')[0].style.overflow = ""; // adds scroll bars back to page
        
        document.getElementById('screenFilter').style.display='none';
        document.getElementById('modalContentHolder').removeAttribute("tabIndex");
        document.getElementById('modalContentHolder').style.display='none';
        document.onkeydown = null;
    }
}

function toggleVisible(tagName)
{
    var ddls = document.getElementsByTagName(tagName);
    
    for (var i=0; i<ddls.length; i++)
    {
        ddls[i].style.visibility = ddls[i].style.visibility == "hidden" ? "visible" : "hidden";
    }
}
function ShowLegalHtml()
{
    ShowModal("Terms&nbsp;of&nbsp;Service",
                document.getElementById('legalcontent').innerHTML,
                "500px"); 
}
function ShowPrivacyHtml()
{
    ShowModal("Privacy&nbsp;Policy",
                document.getElementById('privacycontent').innerHTML,
                "500px");
}
function SwitchTab(id)
{
    var currentTab = document.getElementById(id);
    var tabs = document.getElementById("tabs").getElementsByTagName("span");
    var i;
    
    for(i=0; i<tabs.length; i++)
    {
        if(tabs[i]==currentTab)
        {
            tabs[i].className = "currenttab";
            document.getElementById("div" + tabs[i].id).style.display = "block";
        }
        else
        {
            tabs[i].className = "tab";
            document.getElementById("div" + tabs[i].id).style.display = "none";
        }
    }
}
function LoadGallery()
{
    xmlHttp = ajaxIt();
    document.getElementById('divgallery').innerHTML = "<div style='text-align: center; margin: 0px auto; width: auto;'><br /><br /><img src='./images/waiting.gif' alt='Animated Waiting Circle' /></div>";
    xmlHttp.onreadystatechange = galleryLoaded;
    xmlHttp.open("GET", "bumpers.aspx?AJAX=1&method=gallery&sid=" + Math.random(), true);
    xmlHttp.send(null);    
}
function galleryLoaded()
{
    if(xmlHttp.readyState == 4)
        document.getElementById('divgallery').innerHTML = xmlHttp.responseText;
}

function LoadExpress(isBranded)
{
    xmlHttp = ajaxIt();
    document.getElementById('divexpressfueltanks').innerHTML = "<div style='text-align: center; margin: 0px auto; width: auto;'><br /><br /><img src='../images/waiting.gif' alt='Animated Waiting Circle' /></div>";
    xmlHttp.onreadystatechange = expressLoaded;
    if (isBranded)
        xmlHttp.open("GET", "fuelTanks-branded.aspx?AJAX=1&method=expressfueltankheader&b=" + gup("b") + "&sid=" + Math.random(), true);
    else
        xmlHttp.open("GET", "fuelTanks.aspx?AJAX=1&method=expressfueltankheader&sid=" + Math.random(), true);
    xmlHttp.send(null);
}
function expressLoaded()
{
    if(xmlHttp.readyState == 4)
        document.getElementById('divexpressfueltanks').innerHTML = xmlHttp.responseText;
}
function LoadExpressFiltered(isBranded, makecode) 
{
    xmlHttp = ajaxIt();
    document.getElementById('divExpressList').innerHTML = "<div style='text-align: center; margin: 0px auto; width: auto;'><br /><br /><img src='../images/waiting.gif' alt='Animated Waiting Circle' /></div>";
    SelectedListItem("expressfilter", "expressfilteritem" + makecode);
    xmlHttp.onreadystatechange = expressFilteredLoaded;
    if(isBranded)
        xmlHttp.open("GET", "fuelTanks-branded.aspx?AJAX=1&method=expressfueltanks&b=" + gup("b") + "&makecode=" + makecode + "&sid=" + Math.random(), true);
    else
        xmlHttp.open("GET", "fuelTanks.aspx?AJAX=1&method=expressfueltanks&makecode=" + makecode + "&sid=" + Math.random(), true);
    xmlHttp.send(null);
}
function expressFilteredLoaded() {
    if (xmlHttp.readyState == 4) 
    {
        document.getElementById('divExpressList').innerHTML = xmlHttp.responseText;
    }
}
function addFTPart(fieldId, partNumber) 
{
    /*if ($(fieldId).value.indexOf(partNumber + "\n") > -1) 
    {
        $(fieldId).value = $(fieldId).value.replace(partNumber + "\n", "");
        alert($(fieldId).value.indexOf(partNumber + "\n") > -1);
    }
    else*/
    $(fieldId).value += partNumber + "\n";
    setCookie("ExpressFuelTanks", getCookie("ExpressFuelTanks") + partNumber + "\n", expireDays);
}
function getCookie(cookie) 
{
    if (document.cookie.length > 0) 
    {
        c_start = document.cookie.indexOf(cookie + "=");
        if (c_start != -1) {
            c_start = c_start + cookie.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}
function setCookie(cookie, value, expiredays) 
{
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = cookie + "=" + escape(value) +
        ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
}
function SelectedListItem(listId, selectedListItemId) 
{
    var list = $(listId);

    for (var i = 0; i < list.childNodes.length; i++) 
    {
        if (list.childNodes[i].id == selectedListItemId)
        {
            list.childNodes[i].style.listStyleType = "circle";
            list.childNodes[i].style.fontWeight = "bold";
        }
        else
        {
            list.childNodes[i].style.listStyleType = "none";
            list.childNodes[i].style.fontWeight = "normal";
        }
    }
}
function gup(name)
{
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return results[1];
}