var conf=
{
	APIKey: '2_qPqfmQiw3C-NIFw34S9MK3iIDs3TQu0s9i8UOH31pcEFYlSsuLxc6juO_-9c5SZF',
	enabledProviders: 'facebook,twitter,messenger,google,aol,openid'
}

var login_params=
{
	showTermsLink: 'false',
	hideGigyaLink: 'true',
	headerText: 'Login using other providers',
	height: '40',
	width: '150',
	containerID: 'componentDiv',
	UIConfig: '<config><body><controls><snbuttons buttonsize="20"></snbuttons></controls><background frame-color="Transparent"></background></body></config>',
	useFacebookConnect: 'true'
}

var user = Class.create({
	verifyURL: '/actions/verify_user.php',
	registerURL: '/register.php',
	loginURL: '/login.php',

	onLoginHandler: function(eventObj) {
		if (eventObj.user.isSiteUID == true ){
			//cool, we have such user. Just login
			elems = {
				prophp_uid: eventObj.UID,
				prophp_sign: eventObj.signature,
				prophp_time: eventObj.timestamp,
				prophp_siteuid: 1
			};
			this.createForm(this.loginURL, elems).submit();
		} else {
			//create fake form and submit it like register form was submitted
			elems = {
				prophp_r_email: eventObj.user.email,
				prophp_editvar_country: eventObj.user.country,
				prophp_editvar_name: eventObj.user.firstName +' '+ eventObj.user.lastName,
				prophp_editvar_Age: eventObj.user.age,
				prophp_editvar_gender: eventObj.user.gender,
				prophp_uid: eventObj.UID,
				prophp_sign: eventObj.signature,
				prophp_time: eventObj.timestamp,
				prophp_from_gigya: 1
			};
			this.createForm(this.registerURL, elems).submit();
		}
	},

	createForm: function(url, elems){
		elems = $H(elems);
		//register user
		form = new Element('form',{
			action: url,
			method: 'post',
			className: 'hidden'
		});
		$(document.body).insert(form);
		elems.each(function(elem){
			form.insert({
				bottom:new Element('input',{
					type: 'hidden',
					name: elem.key,
					value: elem.value
				})
			});
		});
		return form;
	}
});


document.observe("dom:loaded", function() {
	var userClass = new user();
	gigya.services.socialize.addEventHandlers(conf, { 
		onLogin: userClass.onLoginHandler.bind(userClass)
	});
	$uid = $('uid');
	$sig = $('sig');
	$datetime = $('datetime');
	if ($uid && $sig && $datetime) {
		//send notifylogin
		params = {
			siteUID: $uid.value,
			timestamp: $datetime.value,
			signature: $sig.value
		};
		gigya.services.socialize.notifyLogin(conf, params);
	}
	gigya.services.socialize.showLoginUI(conf,login_params);
});

