﻿/*******************************************/
/*         THANKS TO DENIS FOR THIS        */
/*          FOREVER LOVE & RESPECT         */ 
/*******************************************/

function hasQueryString() {
    //get url and query string from URL, query string starts from ?
    var url = unescape(document.URL);
    var queryString = url.substring(url.indexOf('?') + 1, url.length).replace('#', '');

    if (queryString != "") {
        return true;
    } else {
        return false;
    }
}

function getQueryString(passedURL) {
    //get url and query string from URL, query string starts from ?
    var url = unescape(passedURL);
    var queryString = url.substring(url.indexOf('?') + 1, url.length).replace('#', '');

    return queryString;
}

function getCleanURL(passedURL) {
    //get url and query string from URL, query string starts from ?
    var url = unescape(passedURL);
    var cleanURL = url.substring(0, url.indexOf('?')).replace('#', '');

    if (cleanURL == '') {
        cleanURL = url;
    }

    return cleanURL;
}

//function will return an array with query string arguments
function getQueryArg(passedName) {

    //get url and query string from URL, query string starts from ?
    var url = unescape(document.URL);
    var queryString = url.substring(url.indexOf('?') + 1, url.length).replace('#', '');

    //create a new array for query string arguments, splits is at & sign
    var queryArgs = new Array();
    queryArgs = queryString.split("&");

    //create counter and return array
    var count = 0;
    var returnArr = [];
    
    //loop through elements in queryArgs
    for (count in queryArgs) {
    
        //extrapolate argument name and value
        var arg = queryArgs[count];
        var argName = arg.substring(0, arg.indexOf('='));
        var argValue = arg.substring(arg.indexOf('=') + 1, arg.length);

        //if passed name is null, meaning no specific argument has been passed 
        if (!passedName) {  //place the argument in an array and 
            returnArr[returnArr.length] = { "name": argName, "value": argValue };
        } else { //return wanted argument
            if (argName == passedName)
                return argValue;
        }
    }

    //return argument
    return ((!passedName) ? returnArr : undefined);
}

//function will create cookies on clients PC
function setCookie(cookieName, value, expireDays) {
    //initialize expire date
    var exdate = new Date();

    //set expire date
    exdate.setDate(exdate.getDate() + expireDays);

    //set cookie
    document.cookie = cookieName + "=" + escape(value) +
    ((expireDays == null) ? "" : ";expires=" + exdate.toGMTString());
}

//function will return cookie retrieved on clients PC
function getCookie(cookieName) {
    //check if cookie contains anything
    if (document.cookie.length > 0) {
        
        //set cookie start
        cookieStart = document.cookie.indexOf(cookieName + "=");
        
        //if cookie start
        if (cookieStart != -1) {
            cookieStart = cookieStart + cookieName.length + 1;
            cookieEnd = document.cookie.indexOf(";", cookieStart);
            if (cookieEnd == -1) cookieEnd = document.cookie.length;
            return unescape(document.cookie.substring(cookieStart, cookieEnd));
        }
    }
    return "";
}
