function getCookieVal(offset) {
    var endstr = document.cookie.indexOf(";", offset);
    if (endstr == -1) { endstr = document.cookie.length; }
    return unescape(document.cookie.substring(offset, endstr));
}
function getCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
            return getCookieVal(j);
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}
function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape(value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

function setAppCookie(country, language) {
    var today = new Date();
    var expiry = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000);
    setCookie("GACCONTEXT", "" + country + "-" + language, expiry);
}
function getAppCookie() {
    return getCookie("GACCONTEXT");
}
function deleteAppCookie() {
    deleteCookie("GACCONTEXT");
}

/* added rei 2011 */
function getReferrer() {
    return document.referrer;
}

function getQueryParams() {
    var urlParams = {};
    (function() {
        var a = /\+/g;  // Regex for replacing addition symbol with a space
        var r = /([^&=]+)=?([^&]*)/g;
        var d = function(s) { return decodeURIComponent(s.replace(a, " ")); };
        var e,q;
		
		if((window.location.hash.length > 0) && (window.location.hash.split("?").length > 1)){
			q = window.location.hash.split("?")[1]; 
		}else{
			q = window.location.search.substring(1);
		}

        while (e = r.exec(q))
            urlParams[d(e[1])] = d(e[2]);
    })();
    return urlParams;
}
/*
function showQueryParams() {
    var urlParams = getQueryParams();
    for (var i in urlParams) {
        alert(i + ": " + urlParams[i]);
    }  
}*/

/* added mih 30.01.2012 */
function setFrameSource(frameId, source) {
    var frame = document.getElementById(frameId);
    if (frame == null && document.all != null) {
        document.all[frameId];
    }
    if (frame == null && window.frames != null) {
        frame = window.frames[frameId];
    }
    if (frame != null && source != null) {
        if (frame.contentDocument != null) {
            frame.contentDocument.location.replace(source);
        } else if (frame.contentWindow != null) {
            frame.contentWindow.document.location.replace(source);
        } else {
            frame.src = source;
        }
    }
}
