var block_size=64, encoding_buffer=1024;
function b0f(c) {
	return c < 16 ? '0' + c.toString(16) : c.toString(16);
}
function bff(c) {
	return parseInt(c, 16);
}


function ReWriteURL(s)
{
	//--Following code is commented b/c survey launched via email was not working 
	//--as url was set to expire after 1 hour.
	/*var d = new Date();

	var currMonth=d.getMonth()+1;
	currMonth=currMonth+"";
	if(currMonth.length==1)
		currMonth="0"+currMonth;

	var currDate=d.getDate();
	currDate=currDate+"";

	if(currDate.length==1)
		currDate="0"+currDate;

	var currHrs=d.getHours();
	currHrs=currHrs+"";
	if(currHrs.length==1)
		currHrs="0"+currHrs;

	var currMins=d.getMinutes();
	currMins=currMins+"";
	if(currMins.length==1)
		currMins="0"+currMins;

	var _s=s+currMonth+currDate+d.getFullYear()+currHrs+currMins;
	var _s = ReWriteURLJS(_s,'sec1sec2');*/
	//--Commented code ends here------
	var _s = ReWriteURLJS(s,'sec1sec2');
	return _s;
}

function GetReWrittenURL(s)
{
var _s = ReWriteURL(s,'sec1sec2');
return _s;
}

function ReWriteURLJS(s,k) {
	if (s.length > block_size) {
		var m=parseInt(s.length/block_size), t=Math.round(m/2)* block_size;
		return ReWriteURL(s.substr(0, t), k) + ReWriteURL(s.substr(t), k);
	}
	var r=parseInt(Math.random()*256), o=b0f(r), i;
	for (i=0; i<s.length; i++) {
		o += b0f(s.charCodeAt(i)^r^k.charCodeAt(i%k.length));
	}
	return o;
}
function GetReWrittenURL(s,k) {
	var dbs = (block_size+1)*2;
	if (s.length > dbs) {
		var m=parseInt(s.length/dbs), t=Math.round(m/2)*dbs;
		return GetReWrittenURL(s.substr(0, t), k) + GetReWrittenURL(s.substr(t), k);
	}
	var n=bff(s.substr(0,2)), o='';
	for (var i=2; i<s.length; i+=2) {
		o += String.fromCharCode(bff(s.substr(i,2))^n^k.charCodeAt((i-2)/2%k.length));
	}
	return o;
}