$(document).ready(function()
{
    $("p:contains(' mte ')").each(function()
    {
	var str = $(this).html();
	$(this).html(str.replace(/ mte /gi, ' <strong>mte</strong> '));
    });
    $('#flashObject').flashembed(
    {
	src: "http://www2.tlc-rewards.com/mtemm2/theme/mte2/images/featuredrewards.swf",
	width: 565,
	height: 165,
	bgcolor: '#fffff',
	quality: 'high',
	scale: 'noscale',
	menu: false
    });
    /*
    $('.adPanelsRight .adPanel:first-child').empty();
    $('.adPanelsRight .adPanel:first-child').flashembed(
    {
	src: "http://www2.tlc-rewards.com/mtemm2/theme/mte2/images/120x120block.swf",
	width: 120,
	height: 120,
	bgcolor: '#fffff',
	quality: 'high',
	scale: 'noscale',
	menu: false
    });
    */
    
    $('.terms').hide();
    $('.a_terms').click(function() { $('.terms').slideToggle('slow'); return false; });
    $('.a_back_to_rewards').click(function() { window.history.back(-1); return false; });
    
    if($('#basket').size() > 0)
    {
	var input = new Object;
	input['site'] = 'cart';
	$.ajax(
	{
	    url:        '/mtemm2/app.php',
    	    data:       input,
    	    type:       'post',
    	    success:    function(data,status)
    	    {
    		if(status == 'success')
        	{
		    if(data.error) top.location = 'home.html';
		    if(data.output)
		    {
			if(data.output.empty) $('#basket').html(data.output.empty);
			else
			{
			    $('#basket').empty();
			    $('<table><tr class="header"><td>ID</td><td>Reward chosen</td><td>Points</td><td>&nbsp;</td></tr></table>').appendTo('#basket');
			    var total = 0;
			    if(data.output.items)
			    {
			        $.each(data.output.items, function(k,v)
			        {
				    $('<tr><td>'+(k+1)+'</td><td>'+v.name+'</td><td class="number">'+v.points+'</td><td><a href="" class="delete_button" id="'+v.rewardid+'"><img src="/mtemm2/theme/mte2/images/delete.png" alt="Delete" /></a></td></tr>').appendTo('table');
				    total += parseInt(v.points);
				});
				$("tr:odd").addClass('odd');
				$('<tr><td class="number total">&nbsp;</td><td class="number total">Total cost:</td><td class="number total" id="total">'+total+'</td><td class="number total">&nbsp;</td></tr>').appendTo('table');
				$('<div class="continue"><a href="/mtemm2/rewards.html"><img src="/mtemm2/theme/mte2/images/btn-back-to-rewards.gif" alt="Countinue" /></a><a href="/mtemm2/checkout.html"><img src="/mtemm2/theme/mte2/images/btn-checkout.gif" alt="Delete" /></a></div>').appendTo('#basket');
				$('.delete_button').click(function()
				{
				    $a = $(this);
				    var del = new Object;
				    del['site'] = 'removefrombasket';
				    del['rewardid'] = $(this).attr('id');
				    
				    $.ajax(
				    {
					url:        '/mtemm2/app.php',
					data:       del,
					type:       'post',
					success:    function(data,status)
					{
					    if(status == 'success')
					    {
						if(data.error) top.location = 'home.html';
						if(data.output)
						{
						    if(data.output.items)
						    {
							var local = parseInt($('#total').html());
							var toRemove = parseInt($a.parent().prev().html());
							//alert(toRemove);
							//alert(local);
							var newvalue = local - toRemove;
							var customer_points = parseInt($('#customer-points').html());
							$('#total').html(newvalue);
							$('#items').html(data.output.items);
							
							if(newvalue > customer_points) $('.continue').hide();
							else $('.continue').show();
							
							$a.parent().parent().remove();
							
							$('.odd').removeClass('odd');
							$("tr:odd").addClass('odd');
							
						    }
						    else top.location = top.location;
						}
					    }
					},
					dataType:   'json',
					error:      function() { $(".error").html('JavaScript error'); }
				    });
				    return false;
				});
			    }
			}
		    }
        	}
    	    },
    	    dataType:   'json',
    	    error:      function() { $(".error").html('JavaScript error'); }
	});
    }
    
    if($('#checkout').size() > 0)
    {
	var input = new Object;
	input['site'] = 'ajaxcheckout';
	$.ajax(
	{
	    url:        '/mtemm2/app.php',
    	    data:       input,
    	    type:       'post',
    	    success:    function(data,status)
    	    {
    		if(status == 'success')
        	{
		    if(data.error) top.location = 'home.html';
		    if(data.output)
		    {
			if(data.output.empty) $('#checkout').html(data.output.empty);
			else
			{
			    $('#checkout').empty();
			    $('<table><tr class="header"><td>ID</td><td>Reward chosen</td><td>Points</td></tr></table>').appendTo('#checkout');
			    var total = 0;
			    if(data.output.items)
			    {
			        $.each(data.output.items, function(k,v)
			        {
				    $('<tr><td>'+(k+1)+'</td><td>'+v.name+'</td><td class="number">'+v.points+'</td></tr>').appendTo('table');
				    total += parseInt(v.points);
				});
				$("tr:odd").addClass('odd');
				$('<tr><td class="number total">&nbsp;</td><td class="number total">Total cost:</td><td class="number total" id="total">'+total+'</td></tr>').appendTo('table');
				
				if(data.output.form)
				{
				    $('<form action="" method="post" id="checkout_form"></form>').appendTo('#checkout');
				    $.each(data.output.form, function(k,v)
				    {
					$('<div class="formText">'+v.label+(v.required ? ' *' : '')+'</div><div class="formInput"><input name="'+v.name+'" value="'+v.value+'" type="text" '+(v.required ? 'class="required"' : '')+' /></div>').appendTo('#checkout_form');
				    });
				    $('<div class="formText">&nbsp;</div><div class="formInput"><input type="submit" value="Submit" /></div>').appendTo('#checkout_form');
				    $('<p class="error"></p>').appendTo('#checkout');
				}
				
				$('#checkout_form').submit(function()
				{
				    $('.error').html('Wait, checking ...');
				    $('.input_error').removeClass('input_error');
				    $('.required').each(function()
				    {
					if($(this).val() == '') $(this).addClass('input_error');
				    });
				    if($('.input_error').size() > 0)
				    {
					$('.error').html('Please fill all required fields');
					$('.error').show();
					return false;
				    }
				    
				    
				    var input = new Object;
				    $('input').each(function() { input[$(this).attr('name')] = $(this).val(); });
				    input['site'] = 'claim';
				    
				    $.ajax(
				    {
					url:        '/mtemm2/app.php',
					data:       input,
					type:       'post',
					success:    function(data,status)
					{
					    if(status == 'success')
					    {
						if(data.error)
						{
						    $.each(data.error, function(k,v) { if(v) $('input[name="'+k+'"]').addClass('input_error'); });
						}
						if(data.output)
						{
						    if(data.output.error)
						    {
							$(".error").empty();
							$.each(data.output.error, function(k,v)
							{
							    $(".error").append(v+'<br />');
							});
							$(".error").show();
						    }
						    if(data.output.ok) top.location = '/mtemm2/thankyou.html';
						}
					    }
					},
					dataType:   'json',
					error:      function() { $(".error").html('JavaScript error'); }
				    });
				    return false;
				});
			    }
			}
		    }
        	}
    	    },
    	    dataType:   'json',
    	    error:      function() { $(".error").html('JavaScript error'); }
	});
    }
    
    
    
    if($('.buttons').size() > 0)
    {
	$.ajax(
	{
	    url:        '/mtemm2/app.php',
    	    data:       { site: 'getBasket'},
    	    type:       'post',
    	    success:    function(data,status)
    	    {
    		if(status == 'success')
        	{
        	    if(data.output)
            	    {
            		if(data.error) top.location = 'home.html';
			if(data.output)
			{
			    for(var i in data.output.items) { $('#'+data.output.items[i]+' > .a_add').html('<img src="/mtemm2/theme/mte2/images/added.png" alt="Reward added to your basket" title="Reward added to your basket"/>').attr('href','/mtemm2/basket.html').addClass('reward_added'); }
			}
            	    }
        	}
    	    },
    	    dataType:   'json',
    	    error:      function() { $(".error").html('JavaScript error'); }
	});
    }
    
    
    $('.a_add').click(function()
    {
	$(this).empty();
	if($(this).hasClass('reward_added'))
	{
	    window.location = '/mtemm2/basket.html';
	    return;
	}
	else
	{
	    $(this).empty();
	    var input = new Object;
	    input['site'] = 'addtobasket';
	    input['rewardid'] = $(this).parent().attr('id');
	    var $link = $(this);
	    $.ajax(
	    {
            url:        '/mtemm2/app.php',
            data:       input,
            type:       'post',
            success:    function(data,status)
	    {
		if(status == 'success')
                {
                    if(data.output)
                    {
			if($('#items').size() > 0) $('#items').html(data.output.items);
			else $('.globalbasket > span').html('<a href="/mtemm2/basket.html"><span id="items">'+data.output.items+'</span> item(s)</a>');

			$link.html('<img src="/mtemm2/theme/mte2/images/added.png" alt="Reward added to your basket" title="Reward added to your basket"/>').attr('href','/mtemm2/basket.html').addClass('reward_added');
		    }
		}
	    },
	    dataType:   'json',
            error:      function() { $(".error").html('JavaScript error'); }
    	    });
	    return false;
	}
    });
    
    if($('.globalname').size() > 0)
    {
	var input = new Object;
	input['site'] = 'customer';
	if($('#account').size() > 0) input['full'] = 1;
	$.ajax(
        {
            url:        '/mtemm2/app.php',
            data:       input,
            type:       'post',
            success:    function(data,status)
            {
                if(status == 'success')
                {
                    if(data.output)
                    {
                        if(data.error) top.location = 'home.html';
			if(data.output)
			{
			    $('.globalname > span').html(data.output.name); //+' '+data.output.surname);
			    $('.globalpoints > span').html('<span id="customer-points">'+data.output.points+'</span> points');
			    if(data.output.items != 'empty') $('.globalbasket > span').html('<a href="/mtemm2/basket.html"><span id="items">'+data.output.items+'</span> item(s)</a>');
			    else $('.globalbasket > span').html(data.output.items);
			    if(data.output.email)
			    {
				$('.customer').empty();
				$('.customer').append('<div class="element"><div class="text">Name:</div><div class="value">'+data.output.name+' '+data.output.surname+'</div></div>');
				$('.customer').append('<div class="element"><div class="text">Address:</div><div class="value">'+data.output.address1+'</div></div>');
				$('.customer').append('<div class="element"><div class="text">&nbsp;</div><div class="value">'+data.output.address2+'</div></div>');
				$('.customer').append('<div class="element"><div class="text">&nbsp;</div><div class="value">'+data.output.towncity+'</div></div>');
				$('.customer').append('<div class="element"><div class="text">&nbsp;</div><div class="value">'+data.output.postcode+'</div></div>');
				$('.customer').append('<div class="element"><div class="text">&nbsp;</div><div class="value">'+data.output.county+'</div></div>');
				$('.customer').append('<div class="element"><div class="text">Email:</div><div class="value">'+data.output.email+'</div></div>');
				$('.customer').append('<div class="element"><div class="text">&nbsp;</div><div class="value"><a href="https://www.mteregistration.co.uk/user/reglogin.aspx" target="_blank"><img src="/mtemm2/theme/mte2/images/btn-edit.gif" alt="Edit/Change you details" /></a></div></div>');
			    }
			}
                    }
                }
            },
            dataType:   'json',
            error:      function() { $(".error").html('JavaScript error'); }
        });
    }
    
    if($('#account').size() > 0)
    {
	var input = new Object;
	input['site'] = 'points';
	$.ajax(
        {
            url:        '/mtemm2/app.php',
            data:       input,
            type:       'post',
            success:    function(data,status)
            {
                if(status == 'success')
                {
		    if(data.error) top.location = 'home.html';
                    if(data.output)
                    {    
			if(data.output)
			{
			    if(data.output.empty) $('.points').html(data.output.empty);
			    else
			    {
				$('.points').empty();
				// points table
				$('<table><tr class="header"><td>Date</td><td>Lender</td><td>Transaction<br />Description</td><td>Points<br />earned</td><td>Points<br />redeemed</td><td>Balance</td></tr></table>').appendTo('.points');
				if(data.output.points)
				{
				    $.each(data.output.points, function(k,v)
				    {
					$('<tr><td>'+v.date+'</td><td>'+(v.lender ? v.lender: '' )+'</td><td>'+v.comment+'</td><td class="number plus">'+((v.points>0) ? v.points : '')+'</td><td class="number minus">'+((v.points<0) ? Math.abs(v.points) : '')+'</td><td class="number">'+data.output.total+'</td></tr>').appendTo('table');
					data.output.total -= v.points;
				    });
				}
				$("tr:odd").addClass('odd');
				$('.points').slideDown('slow');
			    }
			}
                    }
                }
            },
            dataType:   'json',
            error:      function() { $(".error").html('JavaScript error'); }
        });
    }
    
    $('#login').submit(function()
    {
	$(".error").html('Please wait, checking ...');
	$(".error").show();
	$('input[type="image"]').hide();
	
	var input = new Object;
	$('input').each(function() { input[$(this).attr('name')] = $(this).val(); });
	input['site'] = 'login';
	$.ajax(
        {
            url:        '/mtemm2/app.php',
            data:       input,
            type:       'post',
            beforeSend: function()
            {

                if($('input[name="ts"]').val() == undefined)
                {
                    $.get('/mtemm2/app.php?get=ts',function(txt)
                    {
                        $('<input type="hidden" name="ts" value="'+txt+'" />').appendTo('#login');
                        $('#login').submit();

                    });
                    return false;
                } else return true;
            },
            success:    function(data,status)
            {
                if(status == 'success')
                {
		    $('.input_error').removeClass('input_error');
                    if(data.output)
                    {
                        if(data.output.error)
                        {
                            $(".error").empty();
                            $.each(data.output.error, function(k,v)
                            {
                                $(".error").append(v+'<br />');
                            });
                            $(".error").show();
			    $('input[type="image"]').show();
                        }
			if(data.output.ok) top.location = data.output.location;
                    }
        	    if(data.error)
		    {
			$.each(data.error, function(k,v) { if(v) $('input[name="'+k+'"]').addClass('input_error'); });
		    }
                }
            },
            dataType:   'json',
            error:      function() { $(".error").html('JavaScript error'); }
        });
	return false;
    });
});
