// JavaScript Document
jQuery(document).ready(function()
{ 
	jQuery('#fb_userName').blur(function()
	{
		jQuery('#fbuserNamemessage').text('');
		username = jQuery('#fb_userName').val();
		if(username == '')
		{
			jQuery('#fbuserNamemessage').removeClass('success');
			jQuery('#fbuserNamemessage').addClass('error');
			jQuery('#fbuserNamemessage').text(' is required');
		}
		else
		{
			ajaxURL = AJAX_PATH+"makerequest.php?pname=fbconnect&userName="+username+'&action=isUserName';
			jQuery.getJSON(ajaxURL+"&jsoncallbackfb=?",function(msg){
				if(msg['msg'] == 'available')
				{
					jQuery('#fbuserNamemessage').removeClass('error');
					jQuery('#fbuserNamemessage').addClass('success');
					jQuery('#fbuserNamemessage').text(' is available');
				}
				else if(msg['msg'] == 'isTaken')
				{
					jQuery('#fbuserNamemessage').removeClass('success');
					jQuery('#fbuserNamemessage').addClass('error');
					jQuery('#fbuserNamemessage').text(' is taken');
				}
				else
				{
					jQuery('#fbuserNamemessage').removeClass('success');
					jQuery('#fbuserNamemessage').addClass('error');
					jQuery('#fbuserNamemessage').text(' is invalid');
				}
			});
		}
	});

	jQuery('#fb_password').blur(function()
	{
		jQuery('#fbpasswordMessage').text('');
		password = jQuery('#fb_password').val();
		if(password == '')
		{
			jQuery('#fbpasswordMessage').removeClass('success');
			jQuery('#fbpasswordMessage').addClass('error');
			jQuery('#fbpasswordMessage').text(' is required');
		}
		else
		{
			ajaxURL = AJAX_PATH+"makerequest.php?pname=fbconnect&pass="+password+'&action=validpass';
			jQuery.getJSON(ajaxURL+"&jsoncallbackfb=?",function(msg){
				if(msg['msg'] == 'valid')
				{
					/*jQuery('#fbpasswordMessage').removeClass('error');
					jQuery('#fbpasswordMessage').addClass('success');
					jQuery('#fbpasswordMessage').text('Valid');
					*/
				}
				else
				{
					jQuery('#fbpasswordMessage').removeClass('success');
					jQuery('#fbpasswordMessage').addClass('error');
					jQuery('#fbpasswordMessage').text(' is invalid');
				}
			});
		}
	});
});

function fb_signup()
{
	jQuery('#unknown_error').hide();
	
	jQuery('#fbuserNamemessage').text('');
	username = jQuery('#fb_userName').val();

	jQuery('#fbpasswordMessage').text('');
	password = jQuery('#fb_password').val();
	
	if(username == '' || password == '')
	{
		if(username == '')
		{
			jQuery('#fbuserNamemessage').removeClass('success');
			jQuery('#fbuserNamemessage').addClass('error');
			jQuery('#fbuserNamemessage').text(' is required');
		}
		
		if(password == '')
		{
			jQuery('#fbpasswordMessage').removeClass('success');
			jQuery('#fbpasswordMessage').addClass('error');
			jQuery('#fbpasswordMessage').text(' is required');
		}
	}
	else
	{
		ajaxURL = AJAX_PATH+"makerequest.php?pname=fbconnect&userName="+username+"&pass="+password+"&action=creatuser";
		jQuery.getJSON(ajaxURL+"&jsoncallbackfb=?",function(msg){
			if(msg['msg'] == 'svailable' || msg['msg'] == 'Lsuccess' || msg['msg'] == 'Lsuccess2')
			{
				
				jQuery('#fbmain_login_panel').hide();
				jQuery('#welcome-panel').hide();
				if(msg['msg'] == 'Lsuccess2')
				{
					//facebook_onconnect2();
					window.location.reload();
				}
				else
				{
					facebook_onconnect();
				}
			}
			else if(msg['msg'] == 'fb_empty' || msg['msg'] == 'Uerror' || msg['msg'] == 'LUerror')
			{
				jQuery('#unknown_error').show();
			}
			else if(msg['msg'] == 'esTaken' || msg['msg'] == 'isTaken')
			{
				jQuery('#fbuserNamemessage').removeClass('success');
				jQuery('#fbuserNamemessage').addClass('error');
				jQuery('#fbuserNamemessage').text(' is taken');
			}
			else if(msg['msg'] == 'envalidChar' || msg['msg'] == 'Uinvalid')
			{
				jQuery('#fbuserNamemessage').removeClass('success');
				jQuery('#fbuserNamemessage').addClass('error');
				jQuery('#fbuserNamemessage').text(' is invalid');
			}
			else if(msg['msg'] == 'Pinvalid')
			{
				jQuery('#fbpasswordMessage').removeClass('success');
				jQuery('#fbpasswordMessage').addClass('error');
				jQuery('#fbpasswordMessage').text(' is invalid');
			}
		});
	}
}

/*function permissionHandler()
{
	//window.location = 'http://www.popscreen.com/join/step_2'
}*/


/*function statusSubmit(status)
{
    facebook_prompt_permission('publish_stream', function(accepted)
    {
        if(accepted) {
            // User (already) has permission
            window.location = 'http://www.popscreen.com/join/step_2';
        }
        else
        {
            //  User does not have permission
            window.location = 'http://www.popscreen.com/join/step_2';
        }
    });
}

function facebook_prompt_permission(permission, callbackFunc)
{
    // Check if user has permission, if not invoke dialog.
    FB.ensureInit(function() {
        FB.Connect.requireSession(function(){
            //check is user already granted for this permission or not
            FB.Facebook.apiClient.users_hasAppPermission(permission,
            function(result) {
                // prompt offline permission
                if (result == 0) {
                    // render the permission dialog
                    FB.Connect.showPermissionDialog(permission,
                    function(result){
                        if (null == result)
						{
                            //window.location = 'http://www.popscreen.com/join/step_2';
						}
                        else
						{
							//alert('hi');
							gotoPage();
                           
						}
                    }, true, null);
                } else {
                    // permission already granted.
                    callbackFunc(true);
                }
            });
        });
    });
}
*/
function facebook_onconnect2()
{

	FB.Facebook.apiClient.users_hasAppPermission('offline_access', function(result2){
		if(result2 == 0){
			FB.Connect.showPermissionDialog("offline_access", function(permission_status) {
				if (!permission_status) {
					window.location = 'http://www.popscreen.com/my/library';
				} else {
					window.location = 'http://www.popscreen.com/my/library';
				}
			});
		}
	})
}


function facebook_onconnect()
{
	FB.ensureInit(function(){
		FB.Facebook.apiClient.users_hasAppPermission('publish_stream', function(result1){
			FB.Facebook.apiClient.users_hasAppPermission('offline_access', function(result2){
				if(result1 == 0 || result2 == 0){
					FB.Connect.showPermissionDialog("publish_stream,offline_access", function(permission_status) {
						if (!permission_status) {
							//window.location = 'http://www.popscreen.com/join/step_2';
							window.location = 'http://www.popscreen.com/my/library';
						} else {
							//window.location = 'http://www.popscreen.com/join/step_2';
							window.location = 'http://www.popscreen.com/my/library';
						}
					});
				}
					/*else
						save_session();
					*/
			})
		});
	});
}


var is_initialized = false;
// Ensure Facebook app is initialized and call callback afterward
function ensure_init(callback) {
	if(window.is_initialized) {
		callback();
	} else {
		FB_RequireFeatures(["XFBML"], function() {	
			//FB.FBDebug.logLevel = 4;
			//FB.FBDebug.isEnabled = true;
			FB.Facebook.init('7846cb1567e154b0c4490cc80bfab542', 'http://www.popscreen.com/xd_receiver.htm');
	
			window.is_initialized = true;
			callback();
		});
	}
}



function facebook_prompt_permission(permission, callbackFunc) {
	ensure_init(function() {
		//check is user already granted for this permission or not
		FB.Facebook.apiClient.users_hasAppPermission(permission,
			function(result) {
				// prompt offline permission
			if (result == 0) {
				// render the permission dialog
				FB.Connect.showPermissionDialog(permission, callbackFunc);
			} else {
				// permission already granted.
				callbackFunc(true);
			}
		});
	});
}

function statusSubmit() {
	// this checks current status of permission and if not granted it will display an ajax box for user to give permission.
	facebook_prompt_permission('publish_stream,offline_access', function(accepted) {
		if(accepted) {
			// do something here. I send the status that the user has written to FB via an AJAX request.
			//alert("hiii");
			//window.location = 'http://www.popscreen.com/join/step_2';
			window.location = 'http://www.popscreen.com/my/library';
			//var result=FB.Facebook.apiClient.users_getInfo(UID,'proxied_email',function (result,ex) { alert("here lets try "+result[0]['proxied_email']);});
		}
		else
		{
			//window.location = 'http://www.popscreen.com/join/step_2';
			window.location = 'http://www.popscreen.com/my/library';
		}
	});
}
