function in_array(needle, haystack, argStrict) {
    // Checks if the given value exists in the array  
    // 
    // version: 905.3120
    // discuss at: http://phpjs.org/functions/in_array
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: vlado houba
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
    // *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
    // *     returns 2: false
    // *     example 3: in_array(1, ['1', '2', '3']);
    // *     returns 3: true
    // *     example 3: in_array(1, ['1', '2', '3'], false);
    // *     returns 3: true
    // *     example 4: in_array(1, ['1', '2', '3'], true);
    // *     returns 4: false
    var key = '', strict = !!argStrict;
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
    return false;
}

function setCookie(c_name,value) {
	var exdate=new Date();
	exdate.setTime(exdate.getTime()+(1000*60*60*24*1000));
	
	document.cookie	=	c_name + "=" + escape(value)+";"		+
						"expires=" + exdate.toGMTString()+";"	+
						"path=/;"								+
						"domain="+domain+";";// CHANGE THE DOMAIN in form_and_js _snippets.html TO BE CLIENT SPECIFIC
} // END FUNCTION: setCookie

function getCookie(c_name) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1) {
			c_start=c_start + c_name.length+1; 
			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));
		} // end if
	} // END IF
	return "";
} // END FUNCTION: getCookie

function checkCookie(name) {
	value=getCookie(name);
	return value;
} // END FUNCTION: checkCookie

function getRef() {
	if (document.referrer != "")
	{
		return unescape(document.referrer);
	}
	else
	{
		return "None";
	}
} // END FUNCTION: getRef

function getSFjkid() {
	SFjkid = "None";
	p_param = "jkid"; //update paid parameter based on searchforce parameter for keyword
	pquery = location.search;
	pquery = unescape(pquery).substr(1);
	parr = pquery.split("&");
	
	for(i=0;i<parr.length;i++){
		$phash = parr[i].split("=");
		if($phash[0].toLowerCase()==p_param){
			SFjkid = $phash[1];
		}
	}
						
	return SFjkid;
} // END FUNCTION: getSFjkid

function getPaidKeyword() {
	paidKeyword = "None";
	p_param = "source"; //update paid parameter based on client 
	pquery = location.search;
	pquery = unescape(pquery).substr(1);
	parr = pquery.split("&");
	
	for(i=0;i<parr.length;i++){
		$phash = parr[i].split("=");
		if($phash[0].toLowerCase()==p_param){
			paidKeyword = $phash[1];
		}
	}
						
	return paidKeyword;
} // END FUNCTION: getPaidKeyword

function getSearchEngine(url) {

	searchEngine = "None";
	if (url == null){
		url = getRef();
	} // END IF

	if ( url != null  &&  url != "None" ) switch(true){
		case(url.search(/google\./i) > -1):
			searchEngine = "Google";
			break;
		case(url.search(/yahoo\./i) > -1):
			searchEngine = "Yahoo";
			break;	
		case(url.search(/msn\./i) > -1):
			searchEngine = "MSN";
			break;	
		case(url.search(/live\./i) > -1):
			searchEngine = "Live";
			break;
		case(url.search(/bing\./i) > -1):
			searchEngine = "Bing";
			break;	
		case(url.search(/ask\./i) > -1):
			searchEngine = "Ask";
			break;	
		case(url.search(/business\./i) > -1):
			searchEngine = "Business";
			break;	
		case(url.search(/baidu\./i) > -1):
			searchEngine = "Baidu";
			break;	
		case(url.search(/search\.aol\./i) > -1):
			searchEngine = "AOL Search";
			break;	
		case(url.search(/aol\./i) > -1):
			searchEngine = "AOL";
			break;	
		case(url.search(/netscape\./i) > -1):
			searchEngine = "Netscape";
			break;	
		case(url.search(/lycos\./i) > -1):
			searchEngine = "Lycos";
			break;	
		case(url.search(/altavista\./i) > -1):
			searchEngine = "Altavista";
			break;	
		case(url.search(/alltheweb\./i) > -1):
			searchEngine = "AlltheWeb";
			break;	
	} // END SWITCH
	
	return searchEngine;
} // END FUNCTION: getSearchEngine

function getNaturalKeyword() {
	naturalKeyword = "None";
	rurl = getRef();
	rse = getSearchEngine(rurl);		
	switch(rse){
	case "Google":
		s_param = "q";
		break;
	case "Yahoo":
		s_param = "p";
		break;	
	case "MSN":
		s_param = "q";
		break;	
	case "Live":
		s_param = "q";
		break;
	case "Bing":
		s_param = "q";
		break;	
	case "Ask":
		s_param = "q";
		break;	
	case "Business":
		s_param = "query";
		break;	
	case "Baidu":
		s_param = "wd";
		break;	
	case "AOL Search":
		s_param = "q";
		aolQuery = rurl.substr(rurl.indexOf("?")+1);
		aolParms = aolQuery.split("&");
	
		for(i=0;i<aolParms.length;i++){
			$aolParm = aolParms[i].split("=");
			if($aolParm[0].toLowerCase()== "s_it" ){
				if ( $aolParm[1] != null && $aolParm[1].indexOf( "comsearch40" ) > -1 ) {
					s_param = "query";
				}
			}
		}
		break;	
	case "AOL":
		s_param = "query";
		break;	
	case "Netscape":
		s_param = "query";
		aolQuery = rurl.substr(rurl.indexOf("?")+1);
		aolParms = aolQuery.split("&");
	
		for(i=0;i<aolParms.length;i++){
			$aolParm = aolParms[i].split("=");
			if($aolParm[0].toLowerCase()== "s_it" ){
				if ( $aolParm[1] != null && $aolParm[1].indexOf( "topsearchbox.search" ) > -1 ) {
					s_param = "q";
				}
			}
		}
		break;	
	case "Lycos":
		s_param = "query";
		break;	
	case "Altavista":
		s_param = "q";
		break;	
	case "AlltheWeb":
		s_param = "q";
		break;	
	default:
		s_param = "None";
		break;
	}	
	rquery = rurl.substr(rurl.indexOf("?")+1);
	rarr = rquery.split("&");
	
	for(i=0;i<rarr.length;i++){
		$rhash = rarr[i].split("=");
		if($rhash[0].toLowerCase()==s_param){
			naturalKeyword = $rhash[1];
		}
	}
		
	return naturalKeyword;
} // END FUNCTION: getNaturalKeyword

if (imptest) {
	alert("Apogee CRM Cookie Functions Inclusion Successful!");
} // END IF

// writeCookie
// if the cookie has been written once before, don't touch it
tempref = checkCookie("ref");

if (	
	(tempref == "") ||
	(tempref == "null") ||
	(tempref == null) ||
	(tempref == undefined)
) {	
	name = "jkid";
	value = getSFjkid();
	setCookie(name, value);

	name = "pkw";
	value = getPaidKeyword();
	setCookie(name, value);
	
	name = "ref";
	value = getRef();
	setCookie(name, value);
			
	name = "nse";
	value = getSearchEngine();
	setCookie(name, value);
	
	name = "nkw";
	value = getNaturalKeyword();
	setCookie(name, value);
} // END IF
