/* Tell user that login failed then reset form to allow another attempt */
function loginAttemptFailed(initialContentLogin, loginDiv, resetToolbarLinks, initialContentToolLinks){
	new Effect.Fade('blogToolBarLoginWrapper', {
		delay: 1.0,
		duration: 0.5,
		afterFinish: function(){
			loginDiv.update('<div style="width:200px;margin:0px auto;line-height:20px;vertical-align:middle;position:relative;top:2px;">' +
			'Login attempt failed, please try again!' +
			'</div>');
			new Effect.Appear('blogToolBarLoginWrapper', {
				duration: 0.5,
				afterFinish: function(){
					new Effect.Fade('blogToolBarLoginWrapper', {
						delay: 2.0,
						duration: 0.5,
						afterFinish: function(){
							loginDiv.update(initialContentLogin);
							bindLoginSubmitEvent();
							new Effect.Appear('blogToolBarLoginWrapper', {
								duration: 0.5
							});
						}
					});
				}
			});
		}
	});
}
/* Change toolbar controls to reflect logged in state of user */
function loginAttempSuccessful(initialContentLogin, initialContentToolLinks, loginDiv, userDetails){

	var username = userDetails.split('#');
	var fullname = username[2];
	username = username[1];
	
	new Ajax.Request('http://' + document.domain, {
		method: 'post',
		parameters: {
			requestType: 'toolbarLinks'
		},
		onSuccess: function(t){
			
			//Update stuff below toolbar
			
			new Ajax.Request(window.location.href, {
				method: 'post',
				parameters: {
					requestType: 'reloadBelowToolbar'
				},
				onSuccess: function(t){
					new Effect.Fade('container', {
						duration: 0.5,
						delay: 1.5,
						afterFinish: function(){
							$('container').update(t.responseText);
							new Effect.Appear('container', {
								duration: 1.0
							});
						}
					});
				}
			})
			
			//Update toolbar
			new Effect.Fade('toolbarRefreshDiv', {
				duration: 0.5,
				delay: 1.5,
				afterFinish: function(){
					loginDiv.setAttribute('id', 'toolbarRefreshDiv');
					new Effect.Appear('toolbarRefreshDiv', {
						duration: 1.0,
						beforeStart: function(){
							$('toolbarRefreshDiv').update(t.responseText);
							bindNewPostLinkClickEvent();
						}
					});
				}
			});
			
//			new Effect.Fade('blogToolBarLinks', {
//				duration: 0.5,
//				delay: 1.5,
//				afterFinish: function(){
//					new Effect.Appear('blogToolBarLinks', {
//						duration: 1.0,
//						beforeStart: function(){
//							$('blogToolBarLinks').update(links[0]);
//						}
//					});
//				}
//			});
		},
		onFail: function(){
			loginAttemptFailed(initialContentLogin, loginDiv, true, initialContentToolLinks);
		}
	});
}

function bindLoginSubmitEvent(){

	/* Login submit catcher */
	$('blogToolBarLoginForm').observe('submit', function(e){
	
		var objForm = document.forms['Login'];
		var password = $F('blogToolBarLoginPassword');
		var username = $F('blogToolBarLoginUsername');
		
		var loginDiv = $('blogToolBarLoginWrapper');
		var initialContentLogin = $('blogToolBarLoginWrapper').innerHTML;
		var initialContentToolLinks = $('blogToolBarLinks').innerHTML;
		
		new Effect.Fade('blogToolBarLoginWrapper', {
			duration: 0.5,
			afterFinish: function(){
				loginDiv.update('<div style="width:100px;margin:0px auto;line-height:20px;vertical-align:middle;position:relative;top:2px;">' +
				'<img style="width:16px;position:relative;top:2px;" width="16" height="16" alt="Logging in..."  src="http://w03.ecpod.com/blog/images/loading-small.gif" />' +
				'<span style="position: relative; top: -3px;">&nbsp;&nbsp;&nbsp;Logging in...</span></div>');
				new Effect.Appear('blogToolBarLoginWrapper', {
					duration: 0.5
				});
			}
		});

		new Ajax.Request('http://' + document.domain, {
			method: 'post',
			parameters: $('blogToolBarLoginForm').serialize(true),
			onSuccess: function(t){
			
				if (t.responseText == '3') {
					loginAttemptFailed(initialContentLogin, loginDiv);
				}
				else 
					if (t.responseText.startsWith('0')) {
						loginAttempSuccessful(initialContentLogin, initialContentToolLinks, loginDiv, t.responseText);
					}
				e.stop();
			},
			onFail: function(){
				loginAttemptFailed(initialContentLogin, loginDiv);
				e.stop();
			}
			
		});
		e.stop();
	});
}

function bindForgotPasswordSubmitEvent(){
    /* Forgot password submit catcher */
    $('blogToolBarForgotPassForm').observe('submit', function(e){
    
        var objForm = document.forms['forgotPass'];
        var email = $F('blogToolBarLoginUsername');
                
		var parameters = {
			i: 'e1rp0',
			email: email
		};
		
        new Ajax.Request('http://'+document.domain+'/includes/process.php', {
            method: 'post',
            parameters: parameters,
            onSuccess: function(transport){
 			//TODO tell the user or whatever...
            }
        });
        e.stop();
    });
    
}

function bindForgotPasswordClickToggler(){
    /* Forgot password click toggler */
    var forgotPassShowing = false;
    var t = $$('a[class="blogToolBarForgotPasswordLink"]');
    for (var i = t.length - 1; i >= 0; i--) {
        t[i].observe('click', function(){
            var forgotPassText = $('blogToolBarLoginForgotPassword');
            if (forgotPassShowing) {
                new Effect.Fade('blogToolBarForgotPassPanel', {
                    duration: 1.0
                });
                new Effect.Move('blogToolBarForgotPassPanel', {
                    x: 0,
                    y: -195,
                    mode: 'relative',
                    duration: 1.0
                });
                forgotPassText.setStyle({
                    color: '#FF6600'
                });
            }
            else {
                new Effect.Appear('blogToolBarForgotPassPanel', {
                    duration: 0.6
                });
                new Effect.Move('blogToolBarForgotPassPanel', {
                    x: 0,
                    y: 195,
                    mode: 'relative',
                    duration: 0.6
                });
                forgotPassText.setStyle({
                    color: '#9A9A9A'
                });
            }
            forgotPassShowing = !forgotPassShowing;
            return false;
        });
    }
}

function bindUsernamePasswordClickEvent(){
	/* Username / Password click/blur effect */
	var t = $$('input[class="blogToolBarLogin"]');
	var defaultText = "Username";
	for (var i = t.length - 1; i >= 0; i--) {
		t[i].observe('focus', function(e){
			e.element().setStyle({
				border: '1px solid #000'
			});
			e.element().select();
		});
		t[i].observe('blur', function(e){
			e.element().setStyle({
				border: '1px solid #C8C8C8'
			});
			if (e.element().value == '') {
				e.element().value = defaultText;
			}
		});
	}
}

function bindInputBlurEvent(){
		/* Search & Email click/blur effect */
	var t = $$('input[type="text"]');
	for (var i = t.length - 1; i >= 0; i--){
		t[i].observe('focus', function(e){
			e.element().setStyle({border: '1px solid #000'});
		});
		t[i].observe('blur', function(e){
			e.element().setStyle({border: '1px solid #C8C8C8'});
		});
	}
}

function bindTranslateClickEvent(){
	$('blogToolBarTranslate').observe('click', function(){
		console.log('translate');
	});
}