//----------------------------------------------
// initliaze
//----------------------------------------------


$(document).ready(function(){
	$('#tscs-link').click(function(e) {
		e.preventDefault();
		window.open( "index.php?controller=entry&action=tscs", "myWindow",
		"status = 1, height = 500, width = 610, resizable = 0, scrollbars = 1" );
		$('#tc').removeAttr('disabled'); // Enable the T's & C's checkbox
	});
});

function submitBtnClick() {
	if (validateSection2()) {
		$('#form_entry').submit(); // Submit the form
	}
}

function nextBtnClick() {
	if(validateSection1()) {
		$('#entry-step1').fadeOut('slow', function(){
			$('.step1').css( {backgroundPosition: "0 -27px"} );
			$('.step2').css( {backgroundPosition: "0 0"} );
			$('#entry-step2').fadeIn('slow');
		});
	}

}


function checkEmail(email) {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)){
        return (true)
    }
    return (false)
}


function isNumber(val,length) {
    if (isNaN(val)) {
        return false;
    } else {
        if(val.length == length) {
            return true;
        } else {
        	return false;
        }
    }
}

function checkChar(val) {
	var wordCount = val.split(' '); // Only takes into account single spaces

	if (wordCount.length > 25) {
		return false;
	}

	return true;
}

function checkExt(val) {
	val = val.toLowerCase();
	var extSplit = val.split('.');
	var ext = extSplit[extSplit.length - 1];

	if (ext != 'jpg' && ext != 'jpeg' && ext != 'png' && ext != 'gif') {
		return false;
	}

	return true;
}

function validateSection1() {
    var result = 0;

	result += showHideError('#firstname', '#firstname_err', 'first name');
	result += showHideError('#lastname', '#lastname_err', 'last name');
	result += showHideError('#email', '#email_err', '<br />please enter a valid email');
	result += showHideError('#phone', '#phone_err', '<br />please enter a contact number');
	result += showHideError('#address', '#address_err', 'address');
	result += showHideError('#suburb', '#suburb_err', 'suburb');
	result += showHideError('#state', '#state_err', 'state');
	result += showHideError('#postcode', '#postcode_err', 'postcode');

	// The value of result will be +1 for each correctly entered field. Therefore if this is 8 then we can safely assume they entered all required fields
	if (result == 8) {
		return true;
	}
}

function showHideError(id, errId, text) {
	var defText = "<br />please enter your ";
	defText += text;
	var showError = false;

	switch(id) {
		case '#email':
			if (!$(id).val() || !checkEmail($(id).val())) {
				showError = true;
				defText = text;
			}
		break;
		case '#phone':
			if(!$(id).val() || !isNumber($(id).val(),10)) {
				showError = true;
				defText = text;
			}
		break;
		case '#postcode':
			if(!$(id).val() || !isNumber($(id).val(),4)) {
				showError = true;
			}
		break;
		case '#event':
			if ($(id).val() == '- Select -') {
				showError = true;
				defText = text;
			}
		break;
		case '#answer':
			if(!$(id).val()) {
				showError = true;
				defText = text;
			}
		break;
		case '#tc':
			if(!$("input[id='tc']:checked").val()) {
				showError = true;
				defText = text;
			}
		break;
		case '#image':
			if(!$(id).val() || !checkExt($(id).val())) {
				showError = true;
				defText = text;
			}
		break;
		default:
			if(!$(id).val()) {
				showError = true;
				if (id == '#image' || id == '#store') {
					defText = text;
				}
			}
		break;
	}

	if (showError) {
		$(errId).html(defText).show();
		return false;
	} else {
		$(errId).html('').hide();
		return true;
	}
}

function validateSection2() {
    var result = 0;

	result += showHideError('#event', '#event_err', '<br />please enter which tour you wish to attend');
    result += showHideError('#answer', '#answer_err', '<br />please enter your text, making sure it is in 25 words or less');
    result += showHideError('#tc', '#tc_err', '<br />please agree to the terms and conditions');
    result += showHideError('#store', '#store_err', '<br />please select your nearest Westfield');
    result += showHideError('#image', '#image_err', 'please upload a valid picture');

    // The value of result will be +1 for each correctly entered field. Therefore if this is 3 then we can safely assume they entered all required fields
	if (result == 5) {
		return true;
	}
}

function viewTerms() {

	$('#form_entry_tc').removeAttr('disabled');

}



