function setCookie(name, value, path, expires, domain, secure) {
	var curCookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
		
	document.cookie = curCookie;
}

function getCookie(name) 
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
		
	if (begin == -1) 
	{
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}
	else
		begin += 2;
		
	var end = document.cookie.indexOf(";", begin);
		
	if (end == -1)
		end = dc.length;
		
	return unescape(dc.substring(begin + prefix.length, end));
}
	
function GetExpireDate(daystoexpire)
{
	var date = new Date();
	date.setTime(date.getTime() + (daystoexpire*24*60*60*1000));
	return date;
}
	
function getRowShowDisplay()
{
	if(document.all)
		return 'block';
	else
		return 'table-row';
}

var general_oXmlHttp;

function ajax_post_call(url, parameters, handler){
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	
	general_oXmlHttp = GetHttpObject(handler);
	general_oXmlHttp.open("POST", url, true);
	general_oXmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	general_oXmlHttp.setRequestHeader("Content-length", parameters.length);
	
	if (navigator.appVersion.split("MSIE").length == 1)
		general_oXmlHttp.setRequestHeader("Connection", "close");
	else if ((version >= 7) && (document.body.filters)) 
		general_oXmlHttp.setRequestHeader("Connection", "close");
		
	general_oXmlHttp.send(parameters);
}

function ajax_post_call2(httpObj, url, parameters, handler){
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	
	httpObj.open("POST", url, true);
	httpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpObj.setRequestHeader("Content-length", parameters.length);
	
	if (navigator.appVersion.split("MSIE").length == 1)
		httpObj.setRequestHeader("Connection", "close");
	else if ((version >= 7) && (document.body.filters)) 
		httpObj.setRequestHeader("Connection", "close");
		
	httpObj.send(parameters);
}

//Get http object and test whether it's i.e. or others
//Otherwise return false
function GetHttpObject(handler)
{	
	if(!document.all)
	{
		try
		{
			var oRequester = new XMLHttpRequest();
			oRequester.onload=handler;
			oRequester.onerror=handler;
			return oRequester;
		}
		catch (error)
		{
			alert("Your request can not be completed at this time.");
			return false;
		}
	}
	else
	{
		try
		{
			var oRequester = new ActiveXObject("Microsoft.XMLHTTP");
			oRequester.onreadystatechange=handler;
			return oRequester;
		}
		catch (error)
		{
			alert("Your request can not be completed at this time.");
			return false;
		}
	}
}

var elementToChange = '';

function getRegions(el, changeElement, pos)
{
	elementToChange = changeElement;
	var parameters = "state=" + encodeURIComponent(el.value) +
					"&pos=" + encodeURIComponent(pos);

	ajax_post_call("/include/state_fns.asp", parameters, regionsListener);			
}

function regionsListener()
{
	var response, responseTxt, responseMsg;

	if (general_oXmlHttp.readyState==4 || general_oXmlHttp.readyState=="complete")
	{
		response = general_oXmlHttp.responseText;
									
		if(elementToChange == '' || elementToChange == 'header')
		{
			document.getElementById('selectRegion').innerHTML = response;
			document.getElementById('select-region').style.display = 'block';
		}
		else if(elementToChange == 'body')
			document.getElementById('region2').innerHTML = response;			
		else
		{
			document.getElementById('selectRegion').innerHTML = response;
			document.getElementById('select-region').style.display = 'block';
			document.getElementById('region2').innerHTML = response;
		}
	}
}

function getCategory()
{
	var regionstate = document.getElementById('region').value;
	var state, region;
	if(regionstate.indexOf('~') > 0)
	{
		region = regionstate.substring(regionstate.indexOf('~') + 1, regionstate.length);
		state = regionstate.substring(0, regionstate.indexOf('~'))
	}
	
	if(state == '' || region == '')
	{
		state = getCookie('userState');
		region = getCookie('userRegion');
				
		usedCookie = true;
	}
		
	setCookie("userState", state, '/', GetExpireDate(30));
	setCookie("userRegion", region, '/', GetExpireDate(30));	
			
	var parameters = "state=" + encodeURIComponent(state) +	"&region=" + encodeURIComponent(region);
		
	ajax_post_call("/include/header_ajax.asp", parameters, headerListener);
}

function headerListener()
{
	var response, responseTxt, responseMsg;

	if (general_oXmlHttp.readyState==4 || general_oXmlHttp.readyState=="complete")
	{
		response = general_oXmlHttp.responseText;
									
		document.getElementById('category-region').innerHTML = response;
	}
}
