
var isLocal = (window.location.hostname.indexOf("seniorliving.net") >= 0) ? 1 : 0;
isLocal = true;

function getCookieVal(offset) {
    if (!isLocal) return false;

    var endstr = document.cookie.indexOf(";", offset);
    if (endstr == -1)
        endstr = document.cookie.length;

    return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie(name) {
    if (!isLocal) return false;
    
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    //alert(clen);
    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 "";
}

function DeleteCookie(name, path, domain) {
    if (!isLocal) return false;

    if (GetCookie(name))
        document.cookie = name + "=" + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function FixCookieDate(date) {
    var base = new Date(0);
    var skew = base.getTime();
    if (skew > 0)
        date.setTime(date.getTime() - skew); 
}

function SetCookie(name, value, expires, path, domain, secure) {
    if (!isLocal) return false;
    
    var cookieVal = name + "=" + escape(value) + ((expires) ? ";expires=" + expires.toGMTString() : "") + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ((secure) ? ";secure" : "");
    //alert(cookieVal);
    document.cookie = cookieVal;
}

function fixBadRS(instring) {
    instring = instring.replace(/\\\"/g, "");
    instring = instring.replace(/\"/g, "");
    instring = escape(instring);
    instring = instring.replace(/\%5E/g, "|");
    return instring;
}

function unEscJava(string) {
    var value = unescape(string);
    return value.replace(/\+/g, " ");
}

function getRecentSearches(itemno) {
    var getRS = GetCookie("searchPrefs");
    try {
        if (getRS.length > 4) {
            if (0 < getRS.indexOf("\"")) {
                getRS = fixBadRS(getRS);
                SetCookie("searchPrefs", getRS);
            }

            var splitRS = getRS.split("|");
            if (splitRS[itemno]) {
                var myVal = unEscJava(splitRS[itemno]);
                return myVal;
            } else { return ""; }
        } else { return ""; }
    } catch (e) { alert("getRecentSearches error:" + e); }
}

function setRecentSearch(searchVal, expdate) {
    SetCookie("searchPrefs", searchVal, expdate, '/'); //, null, "/", null, null);
}

function hasRecentSearches() {
    recentSearch = getRecentSearches('0');
    if (recentSearch == '') {
        return false;
    } else {
        return true;
    }
}

function updateRecentSearch(where, expdate) {
    recentSearch = getRecentSearches('0');
    //alert("recent search: " + recentSearch);
    if (recentSearch == '') {
        setRecentSearch(where + ':', expdate); 
    } else {
        alreadyExist = false;
        var splitUpSearches = recentSearch.split("^");
        
        for (var i = 0; i < splitUpSearches.length; i++) {
            var splitEachSearch = splitUpSearches[i].split(":");
            if (splitEachSearch[0] == where) { alreadyExist = true; }
        }

        if (!alreadyExist) {
            if (splitUpSearches.length == 5) {// show only the last 5 searches
                tempRecentSearch = recentSearch.split("^").splice(0, 4);
                var buff = "";
                for (var j = 0; j < tempRecentSearch.length; j++) {
                    if (j == 0) { buff += tempRecentSearch[j]; }
                    else { buff += "^" + tempRecentSearch[j]; } 
                }
                setRecentSearch(where + ':^' + buff, expdate);
            } else {
                setRecentSearch(where + ':^' + recentSearch, expdate); 
            }
        }
    }
}

function writeRecentSearches() {
    if (hasRecentSearches()) {
            //alert("only recent searches");
            document.write('<DIV class="recentSearches-hd" id="recentSearches" style="display:block;">Recent Searches:</DIV>');
            document.write('<div style="z-index:100000;position:relative;"><ul class="link sf-js-enabled" style="display:block;padding:0px;margin-top:0px;margin-bottom:0px;margin-right:4px;*margin-right:4px;">');
            try {
                var recentSearches = getRecentSearches('0');               
                var splitUpSearches = recentSearch.split("^");
                var showNumSearches = Math.min(splitUpSearches.length, 5); // show only the last 5 searches
                
                for (var i = 0; i < showNumSearches; i++) {
                    var splitEachSearch = splitUpSearches[i].split(":");
                    var presentationName = splitEachSearch[0];
                    if (presentationName != "undefined" || presentationName != "Undefined" || presentationName != null) {
                        document.write('<li style="-moz-background-inline-policy:continuous;overflow:hidden;"><a href="#" onclick ="doRecentSearch(\'' + presentationName + '\');" >');
                        //presentationName = shortPN(presentationName);
                        document.write(presentationName);
                        document.write('</a></li>');
                    }
                }
            } catch (e) { alert("inside write error" + e);}
            document.write('</ul></div>');            
    }
}

function doRecentSearch(searchVal){
	if (searchVal.length){
		document.getElementById("keyphrase").value = searchVal;
		document.getElementById("sitesearch").submit();
	}
}

function HideRecentSearches() { document.getElementById("recentsearchbox").className = 'recentsearchboxClassHidden'; }
function ShowRecentSearches() {    
    if (hasRecentSearches()) {
        document.getElementById("recentsearchbox").className = 'recentsearchboxClass'; 
    }
}

/**
 * begin my requests methods
*/

function setRequestData(myRequestJSON) {
	
	response = JSON.stringify(myRequestJSON); 
	//alert(response);
	var expdate = new Date();
    FixCookieDate(expdate);
    expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365));
    
    SetCookie("myRequestInfo", response, expdate, '/'); 
}

function getRequestData() {
	var getRD = GetCookie("myRequestInfo");
	if (getRD) return eval('(' + getRD + ')');
	return null;
}

function hasRequestData() {
	requestData = getRequestData();
	
    if (requestData && requestData.firstName) {
        return true;
    } else {
        return false;
    }
}
