User:TestBotOnly/index.html.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
<html>

<head>

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="mediawiki.cookie.js"></script>

</head>

<body>

<style type="text/css">
#centralNotice.collapsed #editorSurvey2011 {
  display: none;
}
 
#editorSurvey2011 {
  position: relative;
  overflow: hidden;
  margin-bottom: 0.5em !important;
  background-color: #d7e4fa;
  background-repeat: repeat-x;
  border: solid 1px #a7d7f9; 
  display: none;
}
 
#editorSurvey2011-content {
  position:relative;
  padding: 20px;
  text-align: center;
}
 
#editorSurvey2011-logo {
  position: absolute;
  top: 20px;
  left: 25px;
  background-image: url(http://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Wikimedia_logo_text_RGB.svg/60px-Wikimedia_logo_text_RGB.svg.png);
  height: 60px;
  width: 60px;
  background-repeat: no-repeat;
}
 
#editorSurvey2011 #cn-toggle-box {
  position: absolute;
  z-index: 98;
  top: 0px;
  right: 0px;
  float: right;
  font-size: 0em;
}
</style>
 
<div id="editorSurvey2011" style="display:none">
	<div id="editorSurvey2011-logo"> </div>
	<div id="editorSurvey2011-content">
		<span style="font-size: 1em;line-height: 1.5em;">
			<a id="editorSurveyLink" style="color:black" target="_blank" href="{{{BannerLink}}}">
				{{{BannerHtml}}}
			</a>
		</span>
	</div>
	<div id="cn-toggle-box">
		<a id="editorSurveyClose" href="#">
			<img border="0" src="http://bits.wikimedia.org/skins-1.17/common/images/closewindow.png" alt="Close" />
		</a>
	</div>
</div>
 
<script type="text/javascript"> 
 
var constSamplingRate = {{{SamplingRate}}}; 
var constDisplayTimeSpan = {{{DisplayTimeSpan}}}; 
 
var constDone = 'done';
var constTodo = 'todo';
 
$(document).ready( function() 
{
	wmdeslog( '$(document).ready' );
 
	// If the survey should not be hidden...
	if ( mw.cookie.get( 'surveyStatus2' ) != constDone ) 
	{
		initSurveyIfNeeded();
	}
} );
 
function initSurveyIfNeeded() 
{
	wmdeslog( 'initSurveyIfNeeded' );
 
	// If the users has been picked to participate in the survey
	if ( mw.cookie.get( 'surveyStatus2' ) == constTodo ) 
	{
		var startTime = mw.cookie.get( 'surveyStartTime2' );
 
		// If the start of the survey is set, display it when still within 5 mins, otherwise set done.
		if ( startTime != null ) 
		{
				if ( parseInt( startTime ) + ( 1000*60* constDisplayTimeSpan ) > (new Date()).getTime() ) 
				{
					displaySurvey();
				}
				else 
				{
					setSurveyStatus( constDone );
					if (wgNoticeToggleState) toggleNotice();
				}
		}	
		// If the start of the survey is not set, check for the right page (first page that is not an "action" page)
		else if ( window.location.toString().indexOf( 'action=' ) == -1 ) 
		{
			mw.cookie.set( 'surveyStartTime2', (new Date()).getTime().toString(), { 'expires': 31 /* days */, 'path': '/' } );
			displaySurvey();
		}
	}
	else 
	{
		// If the user is an editor, do lottery.
		if ( window.location.toString().indexOf( 'action=edit' ) != -1 ) 
		{
			var selectionSize = constSamplingRate ; 
			// If the user wins the lottery, set DisplayTodo
			if ( Math.random() < selectionSize ) 
			{
				setSurveyStatus( constTodo );
				if (!wgNoticeToggleState) toggleNotice(); 
			} 
			// If the user loses, set done.
			else 
			{
				setSurveyStatus( constDone );
				if (wgNoticeToggleState) toggleNotice(); 
			}
		}
		else 
		{
		// (If the user is not an editor, hide banner.)
		if (wgNoticeToggleState) toggleNotice(); 
		}
	}
}
 
function setSurveyStatus( status ) 
{
	wmdeslog( 'setSurveyStatus: ' + status );
	mw.cookie.set( 'surveyStatus2', status, { 'expires': 31 /* days */, 'path': '/' } );
}
 
function displaySurvey() 
{
	wmdeslog( 'displaySurvey' );
 
	$( '#editorSurveyLink' ).click( onSurveyLinkClick );
	$( '#editorSurveyClose' ).click( onSurveyCloseClick );

 	if (!wgNoticeToggleState) toggleNotice(); 
 	$( '#editorSurvey2011' ).show();
}
 
var isFirstClick = true;
 
function onSurveyLinkClick() 
{
	wmdeslog( 'onSurveyLinkClick' );
	if ( isFirstClick )
	{
		wmdeslog( 'onSurveyLinkClick - first click' );
		setSurveyStatus(constDone);
 
		var sender = $( this );
		sender.attr( 'href', sender.attr( 'href' ) + Math.random().toString() );

		if (wgNoticeToggleState) toggleNotice();

		isFirstClick = false;
	}
 	return true;
}
 
function onSurveyCloseClick()
{
	$( '#editorSurvey2011' ).hide();
	setSurveyStatus( constDone );
	if (wgNoticeToggleState) toggleNotice();
}
 
function wmdeslog( message ) {
	//console.log( 'WMDE survey: ' + message );
}
 
</script>

</body>

</html>