﻿var masCompanyCode = 'LRS';

function watermarkSearchBox()
{
    if (location.href.indexOf("q=") != -1)
    {
        var begin = location.href.indexOf("q=") + 2;
        var end = location.href.length;

        if (location.href.indexOf("&") != -1)
        {
            end = location.href.indexOf("&");
        }

        var searchTerm = location.href.substring(begin, end);
        document.forms.SearchForm.q.value = searchTerm.replace(/%20/g, " ");
    }
}

function deleteCookie(cookieName)
{
    document.cookie = cookieName + "=" + ";expires=Thursday, 01 Jan 1970 00:00:01 GMT;";
    return null;
}

function splitSearchTerms(searchTerm)
{
    if (searchTerm.length > 0)
    {
        searchTerm = escape(searchTerm);
        searchTerm = searchTerm.replace(/%20/g, " ");
        searchTerm = searchTerm.replace(/  /g, " ");

        return searchTerm.split(' ');
    }

    return null;
}

function linkItem(partNumber)
{
    linkItem(partNumber, partNumber);
}

function linkItem(partNumber, text)
{
    if (text == null)
    {
        text = partNumber;
    }

    document.write('<a href="http://www.latemodelrestoration.com/item/' + partNumber + '">' + text + '</a>');
}

function setDropDownSelected(form, valueToMatch, dropDownElementId)
{
    if (valueToMatch != null && valueToMatch.length > 0)
    {
        if (form[dropDownElementId] != null)
        {
            for (i = 0; i <= form[dropDownElementId].options.length; i++)
            {
                if (form[dropDownElementId].options[i] != null)
                {
                    if (valueToMatch == form[dropDownElementId].options[i].value)
                    {
                        form[dropDownElementId].selectedIndex = i;
                    }
                }
            }
        }
    }
}

function getCookieData(labelName)
{
    var cookieData = document.cookie; 	// grab the data once
    var cookieEnd;

    for (i = 0; i < cookieData.length; i++)
    {
        var j = i + labelName.length;
        if (cookieData.substring(i, j) == labelName)
        {
            cookieEnd = cookieData.indexOf(";", j)
            if (cookieEnd == -1) { cookieEnd = cookieData.length; }

            return unescape(cookieData.substring(j + 1, cookieEnd))
        }
    }
    return null;
}

function trimString(input)
{
    if (input.length == 0)
    {
        return null;
    }
    else
    {
        var space = ' ';

        // Remove leading spaces
        while (input.indexOf(space) == 0)
        {
            if (input.length == 0) { return null; }
            else { input = input.slice(1, input.length); }
        }

        // Remove trailing spaces
        while (input.indexOf(space, input.length - 1) == (input.length - 1))
        {
            if (input.length == 0) { return null; }
            else { input = input.slice(0, input.length - 1); }
        }

        return input;
    }
}

function getXHR()
{
    try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
    try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }
    try { return new XMLHttpRequest(); } catch (e) { }
    return null;
}

function AddOneToCart(itemNumber)
{
    UpdateCart(itemNumber, 1, function(response)
    {
        window.location = '/IW_ShoppingCartStore.m4p.pvx?;SC_STEP1';
    });
}

function UpdateCart(itemNumber, quantity, callback)
{
    var httpMethod = 'POST';
    var runAsync = true;
    var http = getXHR();
    var url = '/IW_Products.m4p.pvx?;ITEM_SUBMIT';
    var params = 'FormIOL=FormIOL%2Csource%2Ccat%2Ck%2Cfk%2Cfs%2CSearchDesc%2CSearchText%2CNoTree%2CCatLvl%2CCurrentPage%2Csingle%2Crows%2Crow1.ItemCode%2Crow1.Quantity%2Citem%2CActionType%2C' +
                 '&source=' +
                 '&cat=' +
                 '&k=' +
                 '&fk=' +
                 '&fs=0' +
                 '&SearchDesc=' +
                 '&SearchText=' +
                 '&NoTree=' +
                 '&CatLvl=' +
                 '&CurrentPage=' +
                 '&single=' +
                 '&rows=1' +
                 '&row1.ItemCode=' + itemNumber +
                 '&row1.Quantity=' + quantity +
                 '&ActionType=Add';

    http.open(httpMethod, url, runAsync);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    // http.setRequestHeader("Content-length", params.length);
    // http.setRequestHeader("Connection", "close");

    http.onreadystatechange = function()
    {
        if (http.readyState == 4)
        {
            callback(http.responseText);
        }
    }

    http.send(params);
}

function LoadHeader()
{

    var url = 'Header';
    var elementId = 'header';

    LoadSection(url, function(response)
    {
        document.getElementById(elementId).innerHTML = response;
    });
}

function LoadFooter()
{

    var url = 'Footer';
    var elementId = 'footer';

    LoadSection(url, function(response)
    {
        document.getElementById(elementId).innerHTML = response;
    });
}

function LoadSection(url, event)
{

    var xhr = getXHR();

    xhr.onreadystatechange = function()
    {
        if (xhr.readyState == 4 && xhr.status == 200)
        {
            event(xhr.responseText);
        }
    }

    xhr.open("GET", url, true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send("");
}

// ---------------------------
// Drop down functions
// ---------------------------

var timeout = 50;
var closetimer = 0;
var ddmenuitem = 0;

// close layer when click-out
// document.onclick = mclose;

// open hidden layer
function mopen(id)
{
    // cancel close timer
    mcancelclosetime();

    // close old layer
    if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';

    // get new layer and show it
    ddmenuitem = document.getElementById(id);
    ddmenuitem.style.visibility = 'visible';

}

// close showed layer
function mclose()
{
    if (ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
    closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
    if (closetimer)
    {
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}

function DoSearch(searchForm)
{
    var sendTo = "/Product/Search?q=" + searchForm["q"].value;

    if (searchForm["vehicle"] != null && searchForm["vehicle"].value.length > 0)
    {
        sendTo += "&vehicle=" + searchForm["vehicle"].value;
    }

    location.href = sendTo;

    return false;
}

// ---------------------------
// Ad rotator functions
// ---------------------------

function preLoadAdImages()
{
    for (i = 0; i <= ads.length - 1; i++)
    {
        document.getElementById('ads_preload').innerHTML = "<img src='" + ads[i][1] + "' />";
    }
}

function PauseAds()
{
    requestStop = true;

    $("#pause_ads").hide();
    $("#play_ads").show();
}

function PlayAds()
{
    requestStop = false;

    $("#pause_ads").show();
    $("#play_ads").hide();
}

function autoGetNextAd()
{
    if (!requestStop)
    {
        secondsLeft = secondsLeft - 1;

        if (secondsLeft == 0)
        {
            getNextAd();
            secondsLeft = secondsInterval;
        }
    }

    setTimeout("autoGetNextAd();", secondsInterval * 100);
}

function getNextAd()
{
    secondsLeft = secondsInterval;
    adIndex++;
    if (adIndex >= ads.length) { adIndex = 0; }
    setAd(adIndex);
}

function getPrevAd()
{
    secondsLeft = secondsInterval;
    adIndex--;
    if (adIndex == -1) { adIndex = ads.length - 1; }
    setAd(adIndex);
}

function setAd(setAdIndex)
{
    adIndex = setAdIndex;

    var currentAd = ads[adIndex];
    var link = currentAd[0];
    var imgSrc = currentAd[1];
    var fadeSpeed = 'def';

    $('#ads').fadeOut(fadeSpeed, function()
    {
        $('#ads').html("<a href='" + link + "'><img style='width:580px;height:200px;' src='" + imgSrc + "' /></a>");
        $('#ads').fadeIn(fadeSpeed);
    });
}

// ---------------------------
// Vehicle functions
// ---------------------------

//function GetSelectedYear()
//{
//    return document.forms.Vehicle.VehicleYear.value;
//}

//function GetSelectedMakeId()
//{
//    return document.forms.Vehicle.VehicleMake.value;
//}

//function GetSelectedModelId()
//{
//    return document.forms.Vehicle.VehicleModel.value;
//}

//function OnVehicleYearSelected()
//{
//    document.forms.Vehicle.VehicleMake.disabled = false;

//    var selectedYear = GetSelectedYear();
//    var html = "<option> - Select Make - </option>";

//    $.getJSON("/Vehicle/Makes.json", { Year: selectedYear },
//        function(data)
//        {

//            $.each(data, function(i, item)
//            {
//                html = html + "<option value='" + item.MakeId + "'>" + item.MakeName + "</option>";
//            });

//            $("#VehicleMake").empty();
//            $("#VehicleMake").append(html);
//        });
//}

//function OnVehicleMakeSelected()
//{
//    document.forms.Vehicle.VehicleModel.disabled = false;

//    var selectedYear = GetSelectedYear();
//    var selectedMakeId = GetSelectedMakeId();
//    var html = "<option> - Select Model - </option>";

//    $.getJSON("/Vehicle/Models.json", { year: selectedYear, makeId: selectedMakeId },
//        function(data)
//        {

//            $.each(data, function(i, item)
//            {
//                html = html + "<option value='" + item.ModelId + "'>" + item.ModelName + "</option>";
//            });
//            $("#VehicleModel").empty();
//            $("#VehicleModel").append(html);


//        });
//}

//function OnVehicleModelSelected()
//{
//    document.forms.Vehicle.SaveVehicle.disabled = false;
//}

//function SaveVehicleSelection()
//{
//    var selectedYear = GetSelectedYear();
//    var selectedMakeId = GetSelectedMakeId();
//    var selectedModelId = GetSelectedModelId();

//    $.post("/Vehicle/Save.json", { year: selectedYear, makeId: selectedMakeId, modelId: selectedModelId },
//            function(data)
//            {
//                // alert(data);
//                document.location.reload();
//            }, "json");
//}

//function ClearActiveVehicle()
//{
//    $.post("/Vehicle/ClearActive.json", null,
//        function(data)
//        {
//            document.location.reload();
//        }, "json");
//}

//function SetActiveVehicle(vehicleId)
//{
//    $.post("/Vehicle/SetActive.json", { vehicleId: vehicleId },
//            function(data)
//            {
//                document.location.reload();
//            }, "json");
//}

//function DeleteVehicle(vehicleId)
//{
//    $.post("/Vehicle/Delete.json", { vehicleId: vehicleId },
//            function(data)
//            {
//                document.location.reload();
//            }, "json");
//}

//function ShowDeleteIcon(id)
//{
//    var delLink = document.getElementById(id);
//    delLink.style.visibility = 'visible';
//}

//function HideDeleteIcon(id)
//{
//    var delLink = document.getElementById(id);
//    delLink.style.visibility = 'hidden';
//}

function SetSortOrder(sortOrderDropDown)
{
    SaveCookie("ProductSort", sortOrderDropDown.value, 14);
    document.location.reload();
}

function SaveCookie(cookieName, cookieValue, expireDays)
{
    var today = new Date();
    var expir = new Date(today.getTime() + expireDays * 24 * 60 * 60 * 1000)
    if (cookieValue != null && cookieValue != '')
    {
        document.cookie = cookieName + '=' + escape(cookieValue) + '; expires=' + expir.toGMTString()
    }
    bites = document.cookie.split('; ')
}

function EbmLogOut()
{
    if(window.confirm('If you have any items in your Shopping Cart they will be lost.'))
    {
        deleteCookie('GUID');
        window.top.location.href = '/';
    }
}