
KMParseSearchReferrer = {
	dummy_referrer:''
};

KMParseSearchReferrer.se = [
	['google\\.','q'],
	['([^\\/]+)?search\\.yahoo\\.','p'],
	['([^\\.]+\\.)?bing\\.','q'],
	['search\\.([^\\.]+\\.)?aol\\.','query'],
	['search\\.([^\\.]+\\.)?aol\\.','q'],
	['([^\\.]+\\.)?ask\\.com','q'],
	['([^\\.]+\\.)?altavista\\.','q'],
	['(search\\.)?lycos\\.','query'],
	['alltheweb\\.','q']
];

KMParseSearchReferrer.parseReferrer = function(referrer) {
	
	var reg = new RegExp('');
	var len = KMParseSearchReferrer.se.length;
	var sed,res,match;

	for (var i = 0; i < len; i ++) {
		sed = KMParseSearchReferrer.se[i];
		reg.compile('^http://(www\\.)?' + sed[0], 'i');
		match = referrer.match(reg);
		if (match) {
		
			res = KMParseSearchReferrer.trimSearchValues(referrer, sed[1]);

			if (res) {
				res = decodeURIComponent(res);
				res = res.replace(/\'|"\(\)/g, '');
				res = res.replace(/[\s\+\.]+/g, ',');
				return res;
			}
			//break;
		}
	}
	return null;
};

KMParseSearchReferrer.trimSearchValues = function(referrer, qkey) {

	var idx = referrer.indexOf('?');
	var e_idx;
	var key;
	var qstr;
	
	if( idx == -1 )
		return null;
	
	qstr = new String(referrer.substring(idx + 1));
	idx= 0;
	
	while ((e_idx = qstr.indexOf('=', idx)) >= 0) {
		
		key = qstr.substring(idx, e_idx);
		idx = qstr.indexOf('&', e_idx) + 1;
		if (key == qkey) {
			if (idx <= 0)
				return qstr.substring(e_idx+1);
			else
				return qstr.substring(e_idx+1, idx - 1);
		}
		if( idx == 0 )
			return null;
	}
	
	return null;
};

KMParseSearchReferrer.getSearchWords = function(referrer) {

	if( referrer == "" || referrer == null)
		return "";

	var res = KMParseSearchReferrer.parseReferrer(referrer);
	
	if( res == null )
		return "";
		
	if( KMParseSearchReferrer.dummy_referrer )
		window.alert("SearchWords=[" + res + "]");
	
	return res;
}

var kmbizswords = KMParseSearchReferrer.getSearchWords(KMParseSearchReferrer.dummy_referrer ? KMParseSearchReferrer.dummy_referrer : document.referrer );
