
function Srvy(wt, postshop, dprt, dest, pinf)
{
	var p_top = (screen.height-250)/2;
	var p_left = (screen.width-250)/2;
	var url = '/pub/agent.dll?qscr=srvy&fshp=' + postshop + '&spwt=' + wt;
	if (dprt != null) {url = url + '&dprt=' + escape(dprt);}
	if (dest != null) {url = url + '&dest=' + escape(dest);}
	if (pinf != null) {url = url + '&pinf=' + escape(pinf);}
	var srvy_pop = window.open(url,'srvy','top='+p_top+',left='+p_left+',location=no,toolbar=no,directories=no,menubar=no,resizable=no,scrollbars=no,status=no,width=332,height=362');
	if (srvy_pop)
	{
		if (postshop)
		{
			srvy_pop.blur();
			window.focus();
		}
		else
		{
			srvy_pop.focus();
		}
	}
}
//----------------------------------------------------------------------------------------------------//
function QualifiedForSurvey(wt, postshop, window, rate, dprt, dest, pinf)
{
	if (IsArranging(GCV('user')))	
	{
		return false;
	}

	if (ShownSurveyBefore(window))	
	{
		return false;
	}

	var srvysVal = GCV('srvys');	
	var a_srvysVal = srvysVal.split(",");
	if (a_srvysVal.length == 3)
	{
		var shoppingMask = a_srvysVal[1];
		var purchaseMask = a_srvysVal[2];
	}
	else
	{	
		var shoppingMask = 0;
		var purchaseMask = 0;
	}
	
	var mask = 1 << wt
	var bSampledBefore = postshop ? ((mask & shoppingMask) ? true : false) : ((mask & purchaseMask) ? true : false);
	if (bSampledBefore)
	{
		return false;
	}
	
	postshop ? (shoppingMask |= mask) : (purchaseMask |= mask);
	setCookie('srvys','v.1,' + shoppingMask + ',' + purchaseMask,'','/','','');

	var rndMax = 1;
	var rndNum = Math.random();
	var sampleRate = ((rndMax/10000.00) * rate);
	if (rndNum < sampleRate)
	{
		Srvy(wt, postshop, dprt, dest, pinf);
	}
}
//----------------------------------------------------------------------------------------------------//
function y2k(num) {return (num<1000) ? num+1900 : num;}
//----------------------------------------------------------------------------------------------------//
function setCookie(name, value, expires, path, domain, secure)
{
	document.cookie = name + '=' + escape(value) + ((expires)?(';expires=' + expires):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'') + ((secure && (secure == true))?'; secure':''); // Set the cookie, adding any parameters that were specified.
}
//----------------------------------------------------------------------------------------------------//
function DDiff(d1,d2)
{
    var diff = Date.UTC(y2k(d1.getYear()),d1.getMonth(),d1.getDate(),0,0,0) -
			   Date.UTC(y2k(d2.getYear()),d2.getMonth(),d2.getDate(),0,0,0);
    return diff/1000/60/60/24;
}
//----------------------------------------------------------------------------------------------------//
function ShownSurveyBefore(window)
{	
	curDate = new Date();
	var lscStr = GCV('lsrvy');
	if (lscStr != "")
	{
		var dateStr = lscStr;
		var start = lscStr.indexOf(",");
		if (start != -1) {start += 1; dateStr = lscStr.substring(start, lscStr.length);}
		var lscDate = new Date(dateStr);
		return (DDiff(curDate,lscDate) < window);
	}
	else
	{
		return false;
	}
}
//----------------------------------------------------------------------------------------------------//
function IsArranging(val)
{
	if (val == '')
		return false;
	
	var a_val = val.split(',');
	if (a_val.length >= 2)
	{
		return ((a_val[1] >= 1) ? true : false);
	}
	else
	{
		return false;
	}
}
//----------------------------------------------------------------------------------------------------//
function GCV(cookie)
{
	var firstChar, lastChar, fullCookie;
	var cv = '';
	
	fullCookie = document.cookie;
	if (fullCookie == '')
		return returnVal;
		
	firstChar = fullCookie.indexOf(cookie) 
	var equalChar = firstChar + cookie.length;
	if ((firstChar != -1) && (fullCookie.charAt(equalChar) == '='))
	{	
		firstChar += cookie.length + 1;	
		lastChar = fullCookie.indexOf(';', firstChar); 
		if (lastChar == -1)
			lastChar = fullCookie.length;
		cv = unescape(fullCookie.substring(firstChar, lastChar));
	}

	return cv;
}