﻿//var server = "www.PromSell.com";

var params

function HttpGet(loc)
{
    // route all page requests through here - easier to cath them in times of trouble
    location = encodeURI(loc);
}

function ReDirect(newLocation, loc) {
    if (loc == null)
        loc = location.toString();
        
    var params0 = loc.split('?');
    if (params0.length == 2)
        loc = newLocation + "?" + params0[1];
    else
        loc = newLocation;
    
    HttpGet(loc);
}

function GoRss() {
    var loc = location.toString();
    var server = GetDomain(loc);
    ReDirect("http://" + server + "/RSS.aspx", loc);
}

function GoCat(id) {
    var loc = location.toString();
    loc = UrlUpdateParam(loc, 'cid', id.toString());
    
    var server = GetDomain(loc);
    ReDirect("http://" + server + "/Category.aspx", loc);
}

function GetDomain(text) {

    var ptr = text.indexOf("http://");
    if (ptr >= 0) ptr = ptr + 7;
    
    var part1 = text.substring(ptr);
    ptr = part1.indexOf("/");

    var domainName = part1.substring(0, ptr);

    return domainName;
}

function GoHome() {
    var server = GetDomain(location.toString());
    ReDirect("http://" + server + "/Default.aspx", " ");
}

function GetListPage() {
    
    var loc = location.toString();
    loc = GetListPageVariables(loc);
    HttpGet(loc);
}

function GetListSubscription() {
    
    var loc = location.toString();
    loc = GetListPageVariables(loc);

    ReDirect("/User/Subscriptions.aspx", loc);
    
}

function GetListPageVariables(loc) {

    for (i = 0; i <= 14; i++) {

        var id = "sel" + i;
        var ctl = $('#' + id);
        var val = "";

        if (ctl.length > 0)
            val = ctl.val();

        loc = UrlUpdateParam(loc, id, val);
    }

    loc = UrlUpdateParam(loc, id, val);

    var selC = $("#selC");
    if (selC.length > 0) {
        loc = UrlUpdateParam(loc, 'cc', selC.val());
    }
    
    loc = UrlUpdateParam(loc, 'cso', $("#sortOrder").val());
    loc = UrlUpdateParam(loc, 'cdt', $("#displayType").val());
    
    var catId = $("#CatId");
    if (catId.length > 0) {
        loc = UrlUpdateParam(loc, 'cid', catId.val());
    }
    return loc;
}

function getParams(loc) {
    var params0 = loc.split('?');
    
    params1 = params0[1].split('&');
    return params1;
}

function GetCatPage() {

    var loc = location.toString();

    loc = UrlUpdateParam(loc, 'cid', $("#CatId").attr('value'));

    HttpGet(loc);
}

function UrlUpdateParam(url, id, value) {

    var urlParams = "";
    var vals = url.split('?');

    if (vals.length == 2 && (vals[1].length > 0)) {
        vals[1] = '&' + vals[1];
        urlParams = UrlRemoveParam(vals[1], id);
    }

    if (value.length > 0) {
        urlParams = urlParams + '&' + id + '=' + value;
    }

    if (urlParams.length > 0)
        url = vals[0] + '?' + urlParams.substring(1);
    else
        url = vals[0];
        
    return url;
}

function UrlRemoveParam(text, paramId) {
    
    paramId = "&" + paramId + "=";
    
    var ptr = text.indexOf(paramId);

    while (ptr >= 0) {
        var locStart = text.substring(0, ptr);
        var locEnd = text.substring(ptr + 1);
        var ptr2 = locEnd.indexOf('\&');
        var spd = typeof (ptr2);
        var spd1 = (ptr2 > 0);
        if (spd1) {
            locEnd = locEnd.substring(ptr2);
        }
        else {
            locEnd = "";
        }

        text = locStart + locEnd;

        ptr = text.indexOf(paramId);
    }

    return text;

}
