﻿function imageSwap(imageName, imagePath)
{
    if (document.images) {
        document[imageName].src = imagePath
    }
}

function imageSwapByRef(imageRef, imagePath)
{
    imageRef.src = imagePath;
}

function clearTextbox(txtBox, message)
{
    if (txtBox.value == message)
    {
        txtBox.value = '';
    }
}
function resetTextbox(txtBox, message)
{
    if (txtBox.value == '')
    {
        txtBox.value = message;
    }
}

function clearTextarea(txtBox, message)
{
    if (txtBox.innerHTML == message)
    {
        txtBox.innerHTML = '';
    }
}
function resetTextarea(txtBox, message)
{
    if (txtBox.innerHTML == '')
    {
        txtBox.innerHTML = message;
    }
}

function filter_product(refSelect, filterName)
{
    //get the value of selected item of select box
    var filterValue = refSelect.options[refSelect.selectedIndex].value;
    var queryString;

    //if the value of option is -1 then remove the selected filter from condition else add it.
    if (filterValue == '-1')
        queryString = '?filter_action=1&filter_name=' + encodeURI(filterName) + '&filter_value=' + filterValue + '&filter_type=1';
    else
        queryString = '?filter_action=0&filter_name=' + encodeURI(filterName) + '&filter_value=' + filterValue + '&filter_type=1';
    window.location = queryString;
}

function filter_variations(currentFilterNumber)
{
    window.location = getFilterURL(currentFilterNumber);
}

function getFilterURL(currentFilterNumber)
{
    var queryString = '';
    var i;
    var firstValue = false;
    var z = 3
    
    if (currentFilterNumber > 0)
        z = currentFilterNumber;
    
    
    for (i = 1; i <= z; i++)
    {
        if (document.getElementById('av_' + i))
        {
            if (document.getElementById('av_' + i).value != '-1')
            {
                if (firstValue == false)
                {
                    queryString = queryString + '?';
                    firstValue = true;
                }
                else
                    queryString = queryString + '&';
                    
                queryString = queryString + 'filter' + i + 'value=' + encodeURI(document.getElementById('av_' + i).value);
            }
        }
    }
    
    if (firstValue == false)
        queryString = '?no_filters=1';
        
    return queryString;
}


function select_variation()
{
    window.location = getFilterURL(0) + '&varfilter=' + document.getElementById('varfilter').value;
}

function setReviewRating(imgPrefix, rating, setHiddenValue)
{
    var i;
    for (i = 1; i < 6; i++)
    {
        if (document.getElementById(imgPrefix + i))
        {
            if (i <= rating)
                document.getElementById(imgPrefix + i).src = '/images/icon_star.gif';
            else
                document.getElementById(imgPrefix + i).src = '/images/icon_emptystar.gif';
        }
    }
    
    if (setHiddenValue == true)
        if (document.getElementById('rating'))
            document.getElementById('rating').value = rating;
}

function pb_setReviewRating(imgPrefix, rating, setHiddenValue)
{
    var i;
    for (i = 1; i < 6; i++)
    {
        if (document.getElementById(imgPrefix + i))
        {
            if (i <= rating)
                document.getElementById(imgPrefix + i).src = '/images/pb_icon_StarRated.gif';
            else
                document.getElementById(imgPrefix + i).src = '/images/pb_icon_StarUnrated.gif';
        }
    }
    
    if (setHiddenValue == true)
        if (document.getElementById('rating'))
            document.getElementById('rating').value = rating;
}

function validateSearchBox(SearchBoxID, DefaultMessage)
{
    var searchBox = document.getElementById(SearchBoxID)
    if (searchBox.value.length > 0 && searchBox.value != DefaultMessage)
        document.getElementById('frmSearch').submit()
}


var Timeout_MessageBox = null;
var MessageBoxID = null;

//closes the popup message
function closeMessageBox(popupid)
{
    var refPopup = null;
    refPopup = document.getElementById(popupid);
    if((refPopup.style)&&(refPopup.style.visibility!=null))
    {
      refPopup.style.visibility = 'hidden';
    }
    
    if (typeof Timeout_Messagebox != 'undefined')
    {
        clearTimeout(Timeout_Messagebox);
        MessageBoxID = null;
    }
}

function closeMessageBox_SetTime(popupid)
{
    MessageBoxID = popupid
    Timeout_MessageBox = setTimeout('closeMessageBox(MessageBoxID)', 6000);
}

function truncateProductNames()
{
    $('ul.productsList li div').ThreeDots({max_rows: 2, alt_text_t:true, alt_text_e: true});
    
    $('ul.productsList li a.productLink').each(
        function(intIndex){
            var _name = $('#prod' + (intIndex+1) + ' div').html();
            $('#prod' + (intIndex+1) + ' div').remove();
            $(this).append(_name);
        }
    );
}

function truncateCategoryNames()
{
    $('ul.categoryListing li div').ThreeDots({max_rows: 1, alt_text_t:true, alt_text_e: true});
    
    $('ul.categoryListing li a.categoryLink').each(
        function(intIndex){
            var _name = $('#cat' + (intIndex+1) + ' div').html();
            $('#cat' + (intIndex+1) + ' div').remove();
            $(this).append(_name);
        }
    );
}

function addToBasket(frmName) {
    var numericExpression = /^[0-9]+$/;
    if (frmName.basket_quantity.value.match(numericExpression))
        frmName.submit();
    else
        alert('Please enter a correct quantity');
}

function validateIngredientSelection(formRef) {
    var ingSelected
    ingSelected = false;

    for (i = 1; i <= document.frmIngredientsSelection.IngredientTypeCount.value; i++) {
        if (document.getElementById('Ingredients' + i).selectedIndex >= 0)
            ingSelected = true;
    }

    if (ingSelected == false)
        alert('Please select some ingredient/s before pressing submit');
        
    return ingSelected;
}
