// Handles all the rewriting duties for each playslip
var gameName;
function playslip() {
	var game = $('form').parent().parent().parent().parent().attr('class');

	//Finds the first luckydip class and uses the class that follows it
	if($('.luckydip').attr('class')){
	$.imageprefix = $('.luckydip').attr('class').split(' ').slice(-1); 
	$('.luckydip').replaceWith('<li class="luckydip"><a href="#" class="luckydiplink"><img src="/player/g/playslip/'+$.imageprefix+'_lucky_dip.png" alt="Lucky Dip (LD)" width="67" height="23" class="luckydipimg" /></a></li>');
	}
	
	$('.luckydiplinkdn').replaceWith('<span class="luckydiplinkdn"><a href="#" class="luckydiplinkdn" id="luckydiplinkdn"><img src="/player/g/playslip/dn_lucky_dip.png" alt="Lucky Dip" width="67" height="23" class="luckydipdnimg" /></a></span>');
	$('li.noplay > fieldset > ol.hotpicks > li > .pickimage').replaceWith('<img src="/player/g/playslip/hp_choose_game_error.png" alt="Pick Game" width="79" height="25" class="pickimage" />');
	$('.clear').replaceWith('<li class="clear"><a href="#" class="clearline">Clear</a></li>');
	$('.clearDnLd').append('<strong>Clear</strong>');

// If it is a dailyPlay playslip the 'all 6 days' checkbox is only to be shown if the JS is enabled
// The following code replaces the placeholder tag with checkbox code
	if (typeof gameName != 'undefined') {
		if (gameName =='dailyGame' && document[gameName + "PlayslipForm"].checkedForAll != undefined) {
			if(document[gameName + "PlayslipForm"].checkedForAll.value == 'checked'){
				$('.cb_ptw_first').replaceWith('<li class="cb_ptw_first" id="all6days"><input name="playAllDays" type="checkbox" checked="checked" id="playAllDays" onclick="javascript:UpdateChecks(\'all\');removeAllBoardErrors();removeDropDownError()" onchange="javascript:calculateAmount()"/><label for="playAllDays"> Next 6 Draws</label></li>');
			}
			else {
				$('.cb_ptw_first').replaceWith('<li class="cb_ptw_first" id="all6days"><input name="playAllDays" type="checkbox" id="playAllDays" onclick="javascript:UpdateChecks(\'all\');removeAllBoardErrors();removeDropDownError()" onchange="javascript:calculateAmount()"/><label for="playAllDays"> Next 6 Draws</label></li>');
			}
		}
	}
	
	
	$('.luckydiplink').bind('click',function(){enableLuckyDip(this); return false;});
	$('.clearline').bind('click',function(){enableClearLine(this); return false;});
	$('.luckydiplinkdn').replaceWith('<span class="luckydiplinkdn"><a class="clearluckydipdream" href="#">Clear Lucky dip</a><a href="#" class="luckydiplinkdn" id="luckydiplinkdn"><img src="/player/g/playslip/dn_lucky_dip.png" alt="Dreamnumber Lucky Dip (LD)" width="67" height="23" class="luckydipdnimg" /></a></span>');   
	
	//enable dreamnumber lucky dip
	$('.luckydiplinkdn').click(function() {
	$('#luckydiplinkdn').css('display','none');
    	$('.clearluckydipdream').css('display','block');
	$('#dreamnumberspan').replaceWith('<span id="dreamnumberspan">Lucky Dip</span>');
	document[gameName + "PlayslipForm"].dreamNumber.value = 'LD';
	document[gameName + "PlayslipForm"].addOnGameNumbers.value = 'LD';
	document[gameName + "PlayslipForm"].playAddOnGame[0].checked = 'true';
	document[gameName + "PlayslipForm"].addOnLuckyDip.value = 'true';
	calculateAmount();
	return false;
    	}); 

	try
	{
		if ((typeof gameName != 'undefined')&&(typeof document[gameName + "PlayslipForm"] != 'undefined')) {
			if (document[gameName + "PlayslipForm"].addOnLuckyDip != null) {
				if (document[gameName + "PlayslipForm"].addOnLuckyDip.value == "true") {
					$('#luckydiplinkdn').css('display','none');
					$('.clearluckydipdream').css('display','block');		
				}     	
			}
		}
		
		//clear dreamnumber lucky dip
		$('.clearluckydipdream').click(function() {
			$('.clearluckydipdream').css('display','none');
			$('#luckydiplinkdn').css('display','block');
			$('#dreamnumberspan').replaceWith('<span id="dreamnumberspan">'+dreamnumber+'</span>');
			document[gameName + "PlayslipForm"].addOnLuckyDip.value = 'false';
			document[gameName + "PlayslipForm"].addOnGameNumbers.value = dreamnumber;
			calculateAmount();
			return false;
			});
		
	}
	catch (e)
	{
	}

	// Disable the number of weeks dropdown during countdown if player has not yet selected a value
	// for both Days of Week and Number of Weeks.
    if (typeof inAdvancePlayCountdown != 'undefined' && typeof gameName != 'undefined') {  	
		if (inAdvancePlayCountdown && (typeof document[gameName + "PlayslipForm"] != 'undefined')) {
	  		if (document[gameName + "PlayslipForm"].numberOfWeeks != null && document[gameName + "PlayslipForm"].daysOfWeek != null) {
		  		if (document[gameName + "PlayslipForm"].numberOfWeeks.value == 0 && document[gameName + "PlayslipForm"].daysOfWeek.value == "_______") {
			  		document[gameName + "PlayslipForm"].numberOfWeeks.disabled = 'true';
			  	}
			}
	  	}
	}
}

function luckyDipReplace(playline) {		
	$('#' + playline + ' > li > input:text').val('LD');
	removeAllBoardErrors(); 
	updateAll(playline.substring(2,3));
}

// Enables lucky dip play on a given line
function enableLuckyDip(row) {
	var playline = $(row).parent().parent().attr('id');
	if(validateEmptyOrLD(playline.substring(2,3))) {
		luckyDipReplace(playline);
		if (gameName=='hotPicks'){	
	   		clearExtraLuckyDips(playline.substring(2,3));
		}
	}
	else {
		var lineNo ="#"+playline;
		$(lineNo).addClass('error');
		displayErrorWithButton(luckyDipConfirmMsg, "OK", "#", "luckyDipReplace(\""+ playline+"\")");
	}
	
	
	
}



// Enables clearing of a whole play line
function enableClearLine(row) {
	var playline = $(row).parent().parent().attr('id');
	$('#' + playline + ' > li > input:text').val('');
	if (gameName=='hotPicks'){	
		disableLine(playline.substring(2,3));
	}
	removeAllBoardErrors();
	updateAll(playline.substring(2,3));	
}

function resetFocus(playline) {
	var pl = document.getElementById(playline);
	var items = pl.getElementsByTagName("li");
	for (i =0; i < items.length; i++) {
		if(items[i].hasAttribute("class")) {
			var value = items[i].getAttribute("class");
			if (value == "first") {
				var input = items[i].getElementsByTagName("input");
				input[0].focus();
			}
		}
	}
}

// Enables clearing of a whole play line
function enableClearLineFromMB(lineNumber) {	
	var playline = "pl"+lineNumber;
	$('#' + playline + ' > li > input:text').val('');
	removeAllBoardErrors();
	updateAll(lineNumber);
	resetFocus(playline);
}




$(document).ready(function(){
	playslip();
});