var cookieName = "ups_slww_fav";
var cookieExpireDays = 365;

// loc - locale e.g. en_US, de_DE etc.
// sText - Solution Text. Used in MyUPS WorkSpace
// sId - Solution Id.
// Saves a solution viewed in cookie. Solution is saved if
// 1) sId does not exist in cookie already AND
// 2) ofcourse, cookies/javascript are enabled in a browser
// if there are more than 5 solutions saved,
//	 the fifth solution in a cookie is removed 
// The function does not return anything.
function saveSolution(loc, sText, sId) {
        var c = getSLWWCookie();
        if(c.indexOf(sId) != -1) {
                return;
        }
        var ckCnt = 0;
       	var cookieStr = loc + "," + sId + "," + sText;
       	ckCnt++;
        if(c != "") {
	        var c_arr = c.split("#");
			for(var i=0; i<c_arr.length; i++) {
				cookieStr += "#";
				cookieStr += c_arr[i];
				ckCnt++;
				if(ckCnt >= 5) {
					break;
				}
			}
		}

        setSLWWCookie(cookieStr);
}

// Returns Solution Ids delimited by comma if
// 1) Cookie exists AND
// 2) Solution Ids exist in cookie
// Returns "" otherwise.
function getSolutions() {
        var c_str = getSLWWCookie();
        c_str = c_str.substring(1);
        var retStr = "";
        if(c_str != "") {
                var cArr = c_str.split("#");
                for(i=0; i<cArr.length; i++) {
                        var idx = cArr[i].indexOf(",");
                        var idx2 = cArr[i].indexOf(",", idx+1);
                        retStr += cArr[i].substring(idx+1, idx2);
                        if(i < (cArr.length-1)) {
                                retStr += ",";
                        }
                }
        }
        return retStr;
}

// Do not call this function directly
function setSLWWCookie(value) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + cookieExpireDays);
        document.cookie = cookieName + "=" + escape(value) + "; expires=" + exdate.toGMTString() + "; path=/";
}

// Do not call this function directly
function getSLWWCookie() {
        if (document.cookie.length>0) {
                var c_start=document.cookie.indexOf(cookieName + "=");
                if (c_start!=-1) {
                    var c_start=c_start + cookieName.length+1;
                    var c_end=document.cookie.indexOf(";",c_start);
                    if (c_end==-1) {
                        c_end=document.cookie.length;
                    }
                    return unescape(document.cookie.substring(c_start,c_end));
            }
        }
        return "";
}

