function Set_Cookie(name, value, expires, path, domain, secure) {
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime(today.getTime());

    /*
    if the expires variable is set, make the correct
    expires time, the current script below will set
    it for x number of days, to make it for hours,
    delete * 24, for minutes, delete * 60 * 24
    */
    if (expires) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date(today.getTime() + (expires));

    document.cookie = name + "=" + escape(value) +
        ((expires) ? ";expires=" + expires_date.toGMTString() : "") +
        ((path) ? ";path=" + path : "") +
        ((domain) ? ";domain=" + domain : "") +
        ((secure) ? ";secure" : "");
}

function Get_Cookie(check_name) {
    // first we'll split this cookie up into name/value pairs
    // note: document.cookie only returns name=value, not the other components
    var a_all_cookies = document.cookie.split(';');
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false; // set boolean t/f default f
    
    for (i = 0; i < a_all_cookies.length; i++) {
        
        // now we'll split apart each name=value pair
        a_temp_cookie = a_all_cookies[i].split('=');
        
        // and trim left/right whitespace while we're at it
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

        // if the extracted name matches passed check_name
        if (cookie_name == check_name) {
            b_cookie_found = true;
            // we need to handle case where cookie has no value but exists (no = sign, that is):
            if (a_temp_cookie.length > 1) {
                cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
            }
            // note that in cases where cookie is initialized but no value, null is returned
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if (!b_cookie_found) {
        //to handle brandindex error
        var test = document.cookie.split('favs=')
        if (test.length > 1) return test[1];
        return null;
    }
}

function Delete_Cookie(name, path, domain) {
    if (Get_Cookie(name)) document.cookie = name + "=" +
        ((path) ? ";path=" + path : "") +
        ((domain) ? ";domain=" + domain : "") +
        ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}



function CountFavs() {
    if (Get_Cookie('favs')) {
        var allValues = Get_Cookie('favs').split(',')
        return allValues.length;
    }
    else {
        return 0;
    }
}


function ShowCount() {
    
    var _value = Get_Cookie('favs');
    var _favText = '<img src=\'/images/fav-star-save.gif\' style=\'margin-bottom:-5px;\'> ';

    if (_value) {
        document.getElementById("favs").innerHTML = _favText + CountFavs() + ' items in favorites &nbsp;&nbsp;<a href=\'javascript:ShowFavs();\' rel=\'nofollow\'>[view]</a>';
    }
    else if (_value == null) {
        var _url = window.location.href;
        if (_url.indexOf('/s.aspx') > 0 || _url.indexOf('/style.aspx') > 0) {
            document.getElementById("favs").innerHTML = _favText + 'Click star for adding to favorites';
        }
    }
    else {
        document.getElementById("favs").innerHTML = _favText + '0 items in favorites';
    }
}

function ClearFavs() {
    if (Get_Cookie('favs')) Set_Cookie('favs', '', '', '/', '', '');
}

function RemoveFavs() {
    var sure = confirm('Are you sure that you want to remove all your favorites?');
    if (sure) {
        ClearFavs();
        ShowFavs();
    }
}

function FavExist(id) {
    var allValues = Get_Cookie('favs').split(',');
    for (i = 0; i < allValues.length; i++) {
        if (allValues[i] == id) return true;
    }
    return false;
}

function RemoveFav(id) {
    if (Get_Cookie('favs')) {
        var newValues = ''
        var values = Get_Cookie('favs');
        if (values == null || values == '') {
            Set_Cookie('favs', '', '', '/', '', '');
        }
        else {
            var allValues = Get_Cookie('favs').split(',');
            for (i = 0; i < allValues.length; i++) {
                if (allValues[i] != id) {
                    if (newValues != '') newValues += ',';
                    newValues += allValues[i];
                }
            }
            Set_Cookie('favs', newValues, '', '/', '', '');
        }
    }
    ShowFavs();
}

function SaveFav(id) {
    if (!Get_Cookie('favs')) {
        Set_Cookie('favs', id, '', '/', '', '');
    }
    else {
        var newValue = '';
        var prevValue = Get_Cookie('favs')
        if (prevValue != null && prevValue != '') {
            if (FavExist(id)) {
                newValue = prevValue;
            }
            else {
                newValue = prevValue + ',' + id;
            }
        }
        else {
            newValue = id;
        }
        Set_Cookie('favs', newValue, '', '/', '', '');
    }
    document.getElementById("fav" + id).innerHTML = '<img src=\'/images/fav-star-saved.gif\' width=\'25\' height=\'25\' alt=\'Item saved!\' border=\'0\'>';
    ShowCount();
}

function ShowFavs() {
    if (Get_Cookie('favs')) {
        window.location.href = 'favs.aspx?ids=' + Get_Cookie('favs');
    }
    else {
        window.location.href = 'default.aspx';
    }
}