$(document).ready(function()
{
    if(window.location.hash == '#terms')
    {
	$(".inline").click();
    }
    $('#js_error').hide();
    $('.submitbut').show();

    $('input[name="sound"]').focus(function()
    {
	if($(this).val() == 'Enter your answer here...')
	    $(this).val('');
    });

    $('input[name="sound"]').blur(function()
    {
	if($(this).val() == '')
	    $(this).val('Enter your answer here...');
    });
    
    // last month - this month buttons
    $('#last_month_button').click(function()
    {
	$('.this_month_div').fadeOut('fast',function()
	{
	    $('.last_month_div').fadeIn('fast');
	});
	return false;
    });
    
    $('#this_month_button').click(function()
    {
	$('.last_month_div').fadeOut('fast',function()
	{
	    $('.this_month_div').fadeIn('fast');
	});
	return false;
    });
    
    
    // day in the dropdown
    
    $('select[name="dob_Day"]').empty();
    $('<option value="">day</option>').appendTo('select[name="dob_Day"]');
    for(var i=1; i < 32; i++)
    {
	var tmp = i.toString();
	$('<option value="'+i+'">'+(tmp.length > 1 ? tmp : '0'+tmp)+'</option>').appendTo('select[name="dob_Day"]');
    }
    
    // month in the dropdown
    
    $('select[name="dob_Month"]').empty();
    $('<option value="">month</option>').appendTo('select[name="dob_Month"]');
    var month=new Array(12);
    month[0]="January";
    month[1]="February";
    month[2]="March";
    month[3]="April";
    month[4]="May";
    month[5]="June";
    month[6]="July";
    month[7]="August";
    month[8]="September";
    month[9]="October";
    month[10]="November";
    month[11]="December";
    
    for(var i in month)
    {
	$('<option value="'+(parseInt(i)+1)+'">'+month[i]+'</option>').appendTo('select[name="dob_Month"]');
    }
    
    // year in the dropdown
    
    $('select[name="dob_Year"]').empty();
    $('<option value="">year</option>').appendTo('select[name="dob_Year"]');
    for(var i=2010; i > 1900; i--)
    {
	$('<option value="'+i+'">'+i+'</option>').appendTo('select[name="dob_Year"]');
    }
    
    var formselector 	= '#competition_form';
    var error		= '.ol_errors';
    var emptypin	= 'Please fill all fields';
    var waitmessage	= 'Please wait ...';
    var terms		= 'terms';
    var errorClass	= 'error';	
    
    $(formselector).submit(function(event)
    {
	event.preventDefault();
	var input = $(formselector).serializeArray();
	$('.'+errorClass).removeClass(errorClass);
	
	if($('input[name="sound"]').val() == 'Enter your answer here...' || $('input[name="sound"]').val() == '')
	{
	    $('input[name="sound"]').parent().parent().addClass(errorClass);
	    $(error).empty();
    	    $(error).append('<li>Please enter your answer above</li>');
            $(error).parent().show();
	    $.scrollTo('60%');
	    return false;
	}

	$.ajax(
        {
    	    url:	$(formselector).attr('action'),
            data:       input,
            type:       'post',
            beforeSend: function()
            {
                if($('input[name="_ts"]').val() == undefined)
                {
                    $.post('/token.do', { }, function(token)
                    {
                        $('<input type="hidden" name="_ts" value="'+token+'" />').appendTo(formselector);
                        $(formselector).submit();
                    });
                    return false;
                } else return true;
            },
            success:	function(data,status)
            {
                if(status == 'success')
                {
		    if(data.error)
		    {
			$.each(data.error, function(k,v)
			{
			    $('[name="'+k+'"]').parent().parent().addClass(errorClass); 
			    if(k == 'dob') $('[name="'+k+'_Day"]').parent().parent().addClass(errorClass); 
			});
		    }
                    if(data.output)
                    {
                        if(data.output.error)
                        {
                            $(error).empty();
                            $.each(data.output.error, function(k,v) { $(error).append('<li>'+v+'</li>'); });
			    $.scrollTo('60%');


                            $(error).parent().show();
                        }
			if(data.output.ok)
			{
			    $('.form_element').hide();
			    $('#error').hide();
			    $('input[name="sound"]').val('THANK YOU!').attr('disabled',true).addClass('disabled');
			    $('#comp_new_form > .divider').hide();
			    $('#comp_new_form_footer > p').hide();
			    $('#comp_new_form_footer > .submitbut').hide();
			    $.scrollTo('40%');
			    
			    $('.thankyou_message').fadeIn();
			}
                    }
                }
            },
            dataType:   'json',
            error:      function(XMLHttpRequest, textStatus, errorThrown) { $(error).html('JavaScript error: '+(textStatus ? textStatus : errorThrown+': '+XMLHttpRequest)); }
        });
        return false;
    });
});
