// JavaScript Document
var barsfixed = false;

// If the first block is not blank then there is a pre-set rating so we need to fix the bars.
if(document.getElementById('bar_1')) {
	if (document.getElementById('bar_1').src.indexOf("blank.gif",0) == -1) barsfixed = true;
}

function fixBars(e) {
	var barsId = getEventTarget(e);
	var barId = barsId.id.split('_');
	barsfixed = true;
	document.getElementById('customer_rating').value = barId[1];
	_changeBars(barId);
}

function changeBars(e) {
	var barsId = getEventTarget(e);
	var barId = barsId.id.split('_');
	if (barsfixed == true) return;
	_changeBars(barId);
}

function _changeBars(barId) {
	var bars = 10;
	var barCount = 0;
	for(i=1; i<=bars; i++) {
		if(document.getElementById('bar_' + i)) {
			barCount++;
		}
	}
	
	if(barCount == 10) {	
		switch(barId[1])
		{
			case '1':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/red.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '1';
				break;
			case '2':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/red.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/red.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '2';
				break;
			case '3':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/red.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/red.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/red.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '3';
				break;
			case '4':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '4';
				break;
			case '5':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '5';
				break;
			case '6':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/amber.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '6';
				break;
			case '7':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '7';
				break;
			case '8':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '8';
				break;
			case '9':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/blank.gif";
				document.getElementById('rating_number').innerHTML = '9';
				break;
			case '10':
				document.getElementById('bar_1').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_2').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_3').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_4').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_5').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_6').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_7').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_8').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_9').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('bar_10').src = "/images/tri/retailer_rating/green.gif";
				document.getElementById('rating_number').innerHTML = '10';
				break;
		
		   default: 
			   resetBars();
		}
	}else {
		return false;	
	}
}

function checkReview() {
	var errors = "Please correct the following errors:\r\n";
	var errorCount = 0;
	
	// Check there is a handset manu set.
	if($('#selectamanuf').length && $('#selectamanuf').val() == '') {
		errors += "Please select a handset manufacturer\r\n";		
		errorCount++;
	}
	
	// Check there is a handset model set.
	if($('#selectamodel').length && $('#selectamodel').val() == '') {
		errors += "Please select a handset model\r\n";		
		errorCount++;
	}
	
	// Check the name field is not blank.
	if(document.getElementById('reviewer_name').value == '') {
		//alert('Please enter your name');
		document.getElementById('reviewer_name').style.backgroundColor = '#FF3300';
		errors += "Please enter your name\r\n";		
		errorCount++;
	}
	
	// Check the email field is not blank and the email address is valid.
	if(document.getElementById('reviewer_email').value == '') {
		//alert('Please enter your email address');
		document.getElementById('reviewer_email').style.backgroundColor = '#FF3300';
		errors += "Please enter your e-mail address\r\n";	
		errorCount++;
	}else {
		var validFormatRegExp = /^\w(\.?\w(-)?)*@\w(\.?[-\w])*\.([a-z]{3}(\.[a-z]{2})?|[a-z]{2}(\.[a-z]{2})?)$/i
      if (validFormatRegExp.test(document.getElementById('reviewer_email').value)){
         document.getElementById('reviewer_email').style.backgroundColor = '#FFFFFF';
      } else {
         //alert('Invalid Email Address');
         document.getElementById('reviewer_email').style.backgroundColor = '#FF3300';
		 errors += "Please enter a valid e-mail address\r\n";
		 errorCount++;
      }	
	}
	
	// Check the body field is not blank.
	if(document.getElementById('review_body').value == '') {
		//alert('Please enter your review');
		document.getElementById('review_body').style.backgroundColor = '#FF3300';
		errors += "Please enter your review\r\n";
		errorCount++;
	}
	
	if(!charCheck)
	{
		//alert('Please enter at least 50 characters');
		$('#review_body').css('backgroundColor', '#FF3300');
		errors += "Please enter at least 50 characters for your review\r\n";
		errorCount++;
	}
	
	if(document.getElementById('customer_rating').value == 0) {
		//alert('Please enter a rating out of 10');
		errors += "Please enter your rating out of 10\r\n";
		errorCount++;
	}
	
	// Check the verify field is not blank.
	if(document.getElementById('verify_field').value == '') {
		//alert('Please enter the verification code');
		document.getElementById('verify_field').style.backgroundColor = '#FF3300';
		errors += "Please enter the verification code\r\n";
		errorCount++;
	}
	
	// If there are no errors submit the form.
	if(errorCount == 0) {
		document.getElementById('review_form').submit();
	}else {
		alert(errors);
	}
}

function closeWindow() {
	window.close();
}

function resetBars() {
	if (barsfixed == true) return;
	for(i=10; i>0; i--) {
		document.getElementById('bar_' + i).src = "/images/tri/retailer_rating/blank.gif";
		document.getElementById('rating_number').innerHTML = '0';
	}
}

function init() {
	for(i=1; i<=10; i++) {
		if(document.getElementById('bar_' + i)) {
			var bar = document.getElementById('bar_' + i);
			attachEventListener(bar, 'mouseover', changeBars, false);
//			attachEventListener(bar, 'click', changeBars, false);
			attachEventListener(bar, 'click', fixBars, false);
			attachEventListener(bar, 'mouseout', resetBars, false);
		}
	}
}

function closeBtn() {
	if(closeBtn = document.getElementById('close_window')) attachEventListener(closeBtn, 'click', closeWindow, false);
}

function submitBtn() {
	if(document.getElementById('submit_review')) {
		var submitBtn = document.getElementById('submit_review');
		attachEventListener(submitBtn, 'click', checkReview, false);
	}
}

addLoadListener(init);
addLoadListener(submitBtn);
addLoadListener(closeBtn);


// Get models from manu
if($("#selectamanuf").length)
{
	$("#selectamanuf").change(function()
	{
		if($("#selectamanuf").val() != "")
		{
			$.get("?requestmodels=" + $("#selectamanuf").val(), function(data)
			{
				$("#selectamodel").html(data);
			});
		}
		else
		{
			$("#selectamodel").html('<option value="">Model...</option>');
		}
		
		return false;
	});
}

//Check length of review characters

var charCheck = true;
//check textbox exists
if($('#review_body').length)
{
	//store message in variable and set up check
	var message = $('#minChar').text();
	//add keyup event to textbox
	/*$('#review_body').keyup(function()
	{
		//on keyup check length of value of textarea
		if($('#review_body').val().length >= 50)
		{
			//if length is more than 50 then clear message and set global variable to true
			$('#minChar').text("");
			charCheck = true;
		}
		else
		{			
			//if length is less than 50 then set global variable to false and replace the message if no message already
			if($('#minChar').text() == "")
			{
				$('#minChar').text(message);
			}
			charCheck = false;
		}
	});*/
}