function microtime(get_as_float) {  
    // Returns either a string or a float containing the current time in seconds and microseconds    
    //   
    // version: 812.316  
    // discuss at: http://phpjs.org/functions/microtime  
    // +   original by: Paulo Ricardo F. Santos  
    // *     example 1: timeStamp = microtime(true);  
    // *     results 1: timeStamp > 1000000000 && timeStamp < 2000000000  
    var now = new Date().getTime() / 1000;  
    var s = parseInt(now);  
  
    return (get_as_float) ? now : (Math.round((now - s) * 1000) / 1000) + ' ' + s;  
}

$(document).ready(function() {

	var popul8_url = 'http://us.popul8.com.au/campaigns/34_betterplace/public/';

	var guid = '';
	var sesid = microtime(true) + '' + Math.round((Math.random() * 1000000));

	if($.cookie('p8_guid') == null || $.cookie('p8_guid') == 'undefined')
		guid = sesid;
	else
		guid = $.cookie('p8_guid');
	
	var exp = 365;
	var options = { expires: exp, domain: 'australia.betterplace.com', path: '/' };
	$.cookie('p8_guid', guid, options);

	$('input[name="p8_sesid"]').val(sesid);
	$('input[name="p8_guid"]').val(guid);

	/**
	* Parsing _GET
	*/
	var p8_err = $.query.get('p8_err');
	if( p8_err != '' ) {
	
		$('.errFld').css('display', 'block');
		$('.errFld').text( $.base64Decode(p8_err) );
	
	}
	
	var p8_source = $.query.get('source');
	if( p8_source != '' ) {
		
		$('input[name="p8_source"]').val(p8_source);
		
	}

	var t_fromemail = $.query.get('fromemail');
	if( t_fromemail != '' ) {
		
		$('input[name="t_fromemail"]').val(t_fromemail);
		
	}

	if( ! $('#add_address').is(':checked') ) {
		
		$('.fader').hide();
		$('#add_address').parent().css('border', 'none');
		
	}
	/** END OF: Parsing _GET */
	
	
	$('#add_address').click(
		
		function() {
			
			if( $(this).is(':checked') ) {

				$('.fader').show('slow');
				$(this).parent().css('border', '1px solid #00aeef');

			} else {

				$('.fader').hide('slow');
				$(this).parent().css('border', 'none');
				
			}
			
		}
		
	);
	
	var validate_form = $("#enter_form").validate({
		
		rules: {
			
			t_address: { required: '#add_address:checked' },
			t_suburb: { required: '#add_address:checked' }
			
		},
		messages: {},
		errorPlacement: function(error, element) {}
		
	 });
	
	/**
	* Stickers selection
	*/
	$('select[name="t_sticker"]').replaceWith('<input type="hidden" name="t_sticker" value="0" />');
	
	var selected = $('input[name="t_sticker"]').val();
	$('.stickers img').each(function(i, img) {
	
		var src = $(img).attr('src');
		var str = '(.*)sticker_' + selected + '_(.*)';
		var reg = new RegExp(str);
		
		if( src.match(reg) ) $(img).attr('src', src.replace(/(.*)(sticker_)(.*)/, '$1sticker_' + selected + '_.gif'));
		else $(img).attr('src', src.replace(/(.*)(sticker_)(.*)/, '$1sticker_' + i + '_over.gif'));
		
		$(img).click(function() {
		
			var clicked_src = $(this).attr('src');
			
			if( clicked_src.match(/(.*)(_over.gif)$/) ) {
				
				$(this).attr('src', clicked_src.replace(/(.*)(_over.gif)$/, '$1_.gif'));
				$('input[name="t_sticker"]').val(parseInt(i));
				
				var redir = $('input[name=p8_redirect]').val();
				$('input[name=p8_redirect]').val( redir.replace(/((sticker=([012]{1}))+)$/, 'sticker=' + parseInt(i)) );
				
				$('.stickers img').each(function(j, img2) {
					
					if( i != j) {
						
						$(img2).attr('src', $(img2).attr('src').replace(/(.*)_([0-9]*)_(.gif)$/, '$1_$2_over.gif'));
						
					}
					
				});

			}
			
		});
	
	});
	/** END OF: Stickers selection */
	
	/** Adding new referrals */
	$('.add-friend').click(function(e) {
		
		$('.referrals:first').clone().insertAfter( $('.referrals:last') );
		$('.referrals:last').css('border-top', '1px solid #e4e3de');
		$('.referrals:last').append('<a href="#" class="delete"><span>Delete</span></a>');
		$('.referrals:last a.delete').click(function(e) {
			$(this).parent().hide('fast', function() { $(this).remove(); });
			e.preventDefault();
		});
		$('.referrals:last input').val('');
		$('.referrals:last input').each( function(i, el) { 
		
			$(el).attr('id', 'generated_input_' + parseInt(microtime(true)) + parseInt(i) );
			$(el).attr('class', $(el).attr('class').match(/(email)/) ? 'required email' : 'required' );
			$(el).attr('class', $(el).attr('class') + ' generated_input');
			validate_form.element( '#' + $(el).attr('id') );
			validate_form.form();
		
		} );

		if( $('.referrals').length > 3 ) {
			
			var h = $('.col').height();
			$('.col').height( h + 120 );
			
		}

		e.preventDefault();

	});
	/** END OF: Adding new referrals */
	
	/** Flash files */
		var flashvars = {};
		var params = {};
		var attributes = {};


		if( ids[0] >= 1000 ) {

			flashvars.supporters = ids[0];
			params.allowfullscreen = "false"; 

			swfobject.embedSWF(popul8_url + "media/flash/counter.swf", "counter", "930", "85", "9", popul8_url + "media/flash/expressInstall.swf", flashvars, params, attributes);

			//swfobject.registerObject("media-player", "9", popul8_url + "flash/expressInstall.swf");
		
		}
	
		flashvars = {};
		params = {};

		flashvars.p8_sesid = $('input[name="p8_sesid"]').val();
		flashvars.p8_guid = $('input[name="p8_guid"]').val();
		flashvars.p8_source = $('input[name="p8_source"]').val();
		flashvars.p8_url = popul8_url + 'proc.php';

		swfobject.embedSWF(popul8_url + "media/flash/ProcLogger.swf", "c8_logger", "1", "1", "9.0.0","", flashvars, params, attributes);
	/** END OF: Flash files*/

	/** Facebook integration */
		$('div.facebook').html('<input type="checkbox" value="1" name="t_facebook" id="facebook"> <label for="facebook">Yes, please put a virtual sticker on my Facebook wall</label>');
	/** END OF: Facebook integration */

});
