/**
 * Initializer.
 */ 
$(document).ready(function(){

	// Setup default OpenID-provider
	AUTH.setProvider('yandex');

	// OpenID-provider switching events
	$('#openid-providers-selector td.yandex span').click(function(){
		AUTH.setProvider('yandex');
	});
	$('#openid-providers-selector td.rambler span').click(function(){
		AUTH.setProvider('rambler');
	});
	$('#openid-providers-selector td.google span').click(function(){
		AUTH.setProvider('google');
	});
	$('#openid-providers-selector td.livejournal span').click(function(){
		AUTH.setProvider('livejournal');
	});
	$('#openid-providers-selector td.openid span').click(function(){
		AUTH.setProvider('openid');
	});
	$('#openid-providers-selector td.yahoo span').click(function(){
		AUTH.setProvider('yahoo');
	});
	$('#openid-providers-selector td.flickr span').click(function(){
		AUTH.setProvider('flickr');
	});

	// Auth form submitting event
	$('#loginForm').submit(function(){

		// AJAX login request
		AUTH.sendRequest();

		// Cancel form submitting
		return false;
	});

});


/**
 * Auth object
 */
var AUTH = {};

/**
 * OpenID providers data
 */
AUTH.providers = {
	'yandex'	: {
		'url'	: 'http://yandex.ru'
	},
	'rambler'	: {
		'url'	: 'http://rambler.ru'
	},
	'google'	: {
		'url'	: 'https://www.google.com/accounts/o8/id'
	},
	'livejournal'	: {
		'url'	: '.livejournal.com'
	},
	'openid'	: {
		'url'	: ''
	},
	'yahoo'	: {
		'url'	: 'http://yahoo.com'
	},
	'flickr'	: {
		'url'	: 'http://yahoo.com'
	}
}


/**
 * Set openid provider
 */
AUTH.setProvider = function( provider ) {

	// Устанавливаем текущий тип провайдера
	$('#loginForm input[name=provider]').val(provider);

	// Снимаем выделение со всех иконок провайдеров
	$('#openid-providers-selector td').removeClass('active');

	// Устанавливаем выделение на нужную иконку провайдера
	$('#openid-providers-selector td.' + provider).addClass('active');

	// Hide all blocks
	$('#openid-auth-block-yandex').hide();
	$('#openid-auth-block-google').hide();
	$('#openid-auth-block-rambler').hide();
	$('#openid-auth-block-livejournal').hide();
	$('#openid-auth-block-openid').hide();
	$('#openid-auth-block-yahoo').hide();
	$('#openid-auth-block-flickr').hide();

	// Show selected OpenID-provider infoblock
	switch( provider ) {

		case 'yandex':
			$('#openid-auth-block-yandex').show();
			break;

		case 'rambler':
			$('#openid-auth-block-rambler').show();
			break;

		case 'google':
			$('#openid-auth-block-google').show();
			break;

		case 'livejournal':
			$('#openid-auth-block-livejournal').show();
			break;

		case 'openid':
			$('#openid-auth-block-openid').show();
			break;

		case 'yahoo':
			$('#openid-auth-block-yahoo').show();
			break;

		case 'flickr':
			$('#openid-auth-block-flickr').show();
			break;
	}

}



AUTH.sendRequest = function() {

	// Provider type
	var provider = $('#loginForm input[name=provider]').val();

	var openID = '';

	// Make OpenID
	switch( provider ) {
		case 'yandex':
			openID = 'http://yandex.ru';
			break;

		case 'rambler':
			openID = 'http://rambler.ru';
			break;

		case 'google':
			openID = 'https://www.google.com/accounts/o8/id';
			break;

		case 'livejournal':
			openID = 'http://' + $('#loginForm input[name=ljLogin]').val() + '.livejournal.com';
			break;

		case 'openid':
			openID = $('#loginForm input[name=openID]').val();
			break;

		case 'yahoo':
		case 'flickr':
			openID = 'http://yahoo.com';
			break;
			
	}

	// Redirect to auth process
	document.location.href = '/auth_try.php?openid=' + openID;

}
