var current_focus_value = '';
var orignal_focus_values = [];
var credit_form_submitted = false;
var currentPagesPage = 0;
$(function(){
	$('div#container div#main_container div#message a.message_box_close').click(function(){
		$('div#container div#main_container div#message').slideUp();
	});
	
	$('form#register input[type!=submit]').blur(function(){
		validateInput(this);
	});
	$('form#register input[type!=submit]').focus(function(){
		removeFormAlert(this);
	});
	
	$('input[rel=empty_on_focus]').focus(function(){
		if(!orignal_focus_values[$(this).attr('id')]){
			orignal_focus_values[$(this).attr('id')] = $(this).val();
		}
		if(orignal_focus_values[$(this).attr('id')] == $(this).val()){
			$(this).val('');
		}
	});
	
	$('input[rel=empty_on_focus]').blur(function(){
		if($(this).val() == ''){
			$(this).val(orignal_focus_values[$(this).attr('id')]);
		}
	});
	fancyRadioButtons('form#credits');
	fancyRadioButtons('form#register');
	
	if($('div#pages')[0]){
		$('div#pages, div#pages *').disableTextSelect();
		var pageCount = $('div#pages').attr('rel');
		if(pageCount <= 4){
			disableButton('next');
		}		
		$('div#pages div#next[class!=disabled]').live("click", function(){
			currentPagesPage ++;
			scrollPages(currentPagesPage);
			if(currentPagesPage+4 == pageCount){
				disableButton('next');
			}
			enableButton('previous');
		});
		$('div#pages div#previous[class!=disabled]').live("click", function(){
			currentPagesPage --;
			scrollPages(currentPagesPage);
			if(currentPagesPage == 0){
				disableButton('previous');
			}
			enableButton('next');
		});
	}
	
	
	$('span#package_type span.info').live('mouseover', 
		function(e){
			$('body').append('<div id="tooltip" style="position:absolute;top:'+e.pageY+'px;left:'+(e.pageX+14)+'px">'+this.innerHTML+'</div>');
		}
	);
	
	$('span#package_type span.info').live('mouseout', 
		function(){
			$('div#tooltip').remove();
		}
	);
		
	$('form#register label.label_radio').click(function(){
		var radio = $(this).children('input')[0];
		if(radio.checked){
			if(radio.value == 'organisation'){
				$('.organisation_only').show();
				$('.person_only').hide().children('input').val('');
			}else{
				$('.person_only').show();
				$('.organisation_only').hide().children('input').val('');
			}
		}
	});
	
	var priceCredit = [];
	priceCredit[10] = 10;
	priceCredit[20] = 19;
	priceCredit[30] = 28;
	priceCredit[40] = 37;
	priceCredit[50] = 46;
	priceCredit[100] = 85;
	
	$('form#credits label.label_radio input').change(function(){
		$('form#credits input[name=hash]').val('');
		$('h2#total_price').html('&euro;'+priceCredit[$(this).attr('value')]+',-');
	});
	
	$('form#credits #ideal_button[type=button]').click(function(){
		$(this).attr('disabled', 'disabled');
		$.get('/account/credits/checkout?'+unixTimestamp(), $('form#credits').serialize(), function(data){
			$('form#credits').append(data);
			credit_form_submitted = true;
			$('form#credits').submit();
		});
	});
	
	$('form#credits').submit(function(){
		return true;
		return credit_form_submitted;
	});
	
	$('input#buy_download').live('click', function(){
		$('div#container div#main_container div#main div#buy_download_confirm div#buy_download_dialog').load(
			'/packages/buy_download_dialog',
			$('form#buy_download_form').serialize(),
			function(){$('div#container div#main_container div#main div#buy_download_confirm').show();}
		);
	});
	
	addChangeHandlerToPackageNumberRadio();
	
	$('input#cancel_buy_download').live('click', function(){
		$('div#container div#main_container div#main div#buy_download_confirm').hide();
	});
	
	$('form#download_confirm').live('submit', function(){
		$('div#container div#main_container div#main div#buy_download_confirm').hide();
		var credits_out = Number($('div#product_sidebar div#product_info span.price').text());
		updateBalance(-credits_out);
		setTimeout(function(){
			$('div#product_sidebar div#product_info')
			.load(
				'/packages/product_info',
				$('form#buy_download_form').serialize(),
				addChangeHandlerToPackageNumberRadio
			);
		}, 1000);
	});
	
	$('form#purchased_packages .download_button').click(function(){
		$('form#purchased_packages input#package_id').val(this.id.substring(11));
		$('form#purchased_packages').submit();
	});
	$('#pages a').fancybox({
		'hideOnContentClick': false,
		'zoomSpeedIn':300, 
		'zoomSpeedOut':300
	});
	
});

function updateBalance(amount){
	var old_balance = Number($('div#sidebar div#sidebar_top .credits').text());
	var balance_div;
	credit_counter_int = window.setInterval(function(){
		balance_div = $('div#sidebar div#sidebar_top .credits');
		if(Number(balance_div.text()) > old_balance+amount){
			balance_div.text(Number(balance_div.text())-1);
		}else{
			window.clearInterval(credit_counter_int);
		}
	}, 100);
}

function unixTimestamp(){
	return new Date().getTime().toString().substring(0, 10);
}

function scrollToPage(pagenum){
	var pageCount = $('div#pages').attr('rel');
	
	var maxScroll = pageCount - 4 > 0 ? pageCount - 4 : 0;
	currentPagesPage = pagenum > maxScroll ? maxScroll : pagenum;
	scrollPages(currentPagesPage);
	if(currentPagesPage == maxScroll){
		disableButton('next');
	}
	if(pageCount > 4 && currentPagesPage > 0){
		enableButton('previous');
	}
	if(pageCount > 4 && currentPagesPage == 0){
		disableButton('previous');
		enableButton('next');
	}
}

function scrollPages(page){
	var multiplier = 569/4;
	$('div#pages div#images').animate({marginLeft:"-"+(multiplier*page)+"px"}, 300);
}
function disableButton(bttn){
	$('div#pages div#'+bttn).addClass('disabled');
}

function enableButton(bttn){
	$('div#pages div#'+bttn).removeClass('disabled');
}

function addChangeHandlerToPackageNumberRadio(){
	$('span#package_type input[name=package_number]').change(function(){
		$('div .price').text($(this).attr('credits'));
		if($(this).attr('purchased')){
			$('#buy_download_form input#buy_download').hide();
			$('#buy_download_form input#download').show();
		}else{
			$('#buy_download_form input#buy_download').show();
			$('#buy_download_form input#download').hide();
		}
	});
}

function placeFormTooltip(input){
	removeFormTooltip();
	removeFormAlert(input);
	var value = $(input).attr('name');
	$(input).parent().prepend('<div id="form_tooltip">'+value+'</div>');
}

function removeFormTooltip(){
	$('div#form_tooltip').remove();
}

function placeFormAlert(input, value){
	$(input).parent().prepend('<div id="form_alert"><span>'+value+'</span></div>');
	$(input).parent().children('div#form_alert').fadeIn();
}

function removeFormAlert(input){
	$(input).parent().children('div#form_alert').fadeOut(200, function(){$(this).remove();});
}

function validateInput(input){
	removeFormAlert(input);
	var input_rel = $(input).attr('rel');
	var input_val = $(input).val();
	if(input_rel){
		$.ajax({
			type: 'POST',
			url:'/ajax/form_validation',
			dataType: 'json',
			data: {rel:input_rel, value:input_val},
			success: function(data){
				if(!data.valid){
					placeFormAlert(input, data.message);
				}
			}
		});
	}
}

function fancyRadioButtons(form_id){
	$(form_id+' label.label_radio').each(function(){
		if($(this).children('input').attr('checked')){
			$(this).removeClass('r_off').addClass('r_on');
		}else{
			$(this).removeClass('r_on').addClass('r_off');
		}
	});
	
	$(form_id+' label.label_radio').click(function(){
		$(form_id+' label.label_radio')
		.removeClass('r_on')
		.addClass('r_off')
		.attr('checked', '')
		.children('input')
		.attr('checked', '');
		$(this)
		.removeClass('r_off')
		.addClass('r_on')
		.attr('checked', 'checked')
		.children('input')
		.attr('checked', 'checked');
		
	});
}


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

var fontSizes = [];
fontSizes['normal'] = '10px';
fontSizes['medium'] = '11px';
fontSizes['large'] = '12px';
function setTextsize(size){
	createCookie('textsize', size);
	$('html').css('fontSize', fontSizes[size]);
	$('div#fontsize_bar a').removeClass('current');
	$('div#fontsize_bar a.'+size).addClass('current');
}

