function create_sess_cookie(name, value) {
	document.cookie = name + "=" + value + "; path=/";
	return value;
}

function read_cookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') {
			c = c.substring(1, c.length);
		}
		if (c.indexOf(nameEQ) == 0) {
			return c.substring(nameEQ.length, c.length);
		}
	}
	return null;
}

function getPhoneMode(brandWords) {
	var mode = read_cookie('__mode');
	if (null !== mode) {
		return create_sess_cookie("__mode", mode);
	}
	var engines = {
			"yandex.ru": "text",
			"google.ru": "q",
			"google.com": "q",
			"images.google.ru": "q",
			"images.yandex.ru": "text",
			"blogs.yandex.ru": "text",
			"blogsearch.google.ru": "q",
			"go.mail.ru": "q",
			"gogo.ru": "q",
			"nova.rambler.ru": "query",
			"images.rambler.ru":"query",
			"list.mail.ru": "q",
			"search.qip.ru": "query",
			"webalta.ru": "q",
			"search.livetool.ru": "text",
			"nigma.ru": "s",
			"aport.ru": "r",
			"poisk.ru": "text",
			"go.km.ru": "sq",
			"liveinternet.ru": "q",
			"quintura.ru": "request",
			"ru.search.yahoo.com": "p",
			"ru.yahoo.com": "p",
			"google.com.ua": "q"
		};
	// get referrer host
	if (false == document.referrer) {
		return create_sess_cookie("__mode", "brand");
	}
	var match = document.referrer.match(new RegExp('^http(?:s)?\://([^/]+)', 'im'));
	if (null !== match) {
		var referrer_host = match[1];
		for (var host in engines) {
			if (referrer_host.indexOf(host) >= 0) {
				// referrer contain search engine ho st
				match = document.referrer.match(new RegExp("[\?|\&]" + engines[host] + "=.[^\&|$]+"));
				if (null !== match) {
					var keyword = decodeURIComponent(match[0].split('=')[1]).split('+').join(' ');
					// decode URL
					for (var i in brandWords) {
						if (keyword.indexOf(brandWords[i]) >= 0) {
							// keyword contain brand
							return create_sess_cookie("__mode", "brand");
						}
					}
				}
				return create_sess_cookie("__mode", "non-brand");
			}
		}
	}
	return create_sess_cookie("__mode", "default");
}
