﻿var Login = new function () {



    var me = this;
    this.EmailInitialText = 'Enter your email address...';
    this.Setup = function () {
        var oEmail = f.GetObject('txtEmail');


        f.SetValue('txtEmailtxtEmailAddress', me.EmailInitialText);
        f.SetClass('txtEmailAddress', 'grey');


        //f.AttachEvent(oEmail, 'mousedown', function () { Login.EmailFocus(); });
        //f.AttachEvent(oEmail, 'blur', function () { Login.EmailBlur(); });
    }

    this.EmailFocus = function () {
        if (f.GetValue('txtEmail') == me.EmailInitialText) {
            f.SetValue('txtEmail', '');
            f.SetClass('txtEmail', '');
        }
    }

    this.EmailBlur = function () {
        if (f.GetValue('txtEmail') == '') {
            f.SetValue('txtEmail', me.EmailInitialText);
            f.SetClass('txtEmail', 'grey');
        }
    }



    this.Validate = function () {

        var sLogin = f.GetValue('txtLogIn');
        var sPassword = f.GetValue('txtPassword');
        var bLoginAutomatically = cb.Checked('chkAutoLogIn');

        Login.TradeLogin.Go(sLogin, sPassword, bLoginAutomatically);
    }

    this.ForgotEmail = function () {
    	e.ModalPopup.Show('divForgotEmail');
        f.GetObject('txtABTANumber').focus();
        f.SetValue('txtABTANumber', '');
        f.GetObject('divEmailMessage').innerHTML = 'An email will be sent to your main email address confirming your password. If you require any assistance please call 01273429110.';
    }

    this.ForgotEmailValidation = function () {
        f.RemoveClass('txtABTANumber', 'error');
        var sABTANumber = f.GetValue('txtABTANumber');
        if (sABTANumber == '') {
            f.AddClass('txtABTANumber', 'error');
        } else {
            oEmailPassword.Go(sABTANumber);
            f.Show('divWaiting');
        }
    }

    this.NewsletterSignUpValidation = function () {
        f.RemoveClass('txtEmailAddress', 'error');
        var sEmailAddress = f.GetValue('txtEmailAddress');
        if (sEmailAddress == '' || !IsEmail(sEmailAddress)) {
            f.AddClass('txtEmailAddress', 'error');
        } else {
            oNewsletterSignup.Go(sEmailAddress);
        }
    }

    this.TradeLogin = new WebService();
    this.TradeLogin.Go = function (Login, Password, LoginAutomatically) {
        aParams = new Array(['Login', Login], ['Password', Password], ['LoginAutomatically', LoginAutomatically]);
        this.RunWebService('/webservices/support.asmx', 'http://intuitivesystems', 'TradeLogin', aParams, this, false);
    }

    this.TradeLogin.Done = function (oXML) {
        var oReturn = this.GetTagValue(oXML, 'TradeLoginResult');
        if (oReturn != 'false') {
            window.location = 'home.aspx';
        } else {
            var oPosition = e.GetPosition('txtLogin');
            oPosition.Left += oPosition.Width;
            oPosition.Top -= 20;
            e.SetTopLeft('imgLoginFail', oPosition.Top, oPosition.Left);
            f.Show('imgLoginFail');
        }
    }
}


var oEmailPassword=new WebService();
oEmailPassword.Go=function(sABTANumber) { 
	aParams=new Array(['sABTANumber',sABTANumber]);
	this.RunWebService('Webservices/Support.asmx','http://intuitivesystems', 'EmailPassword', aParams, this, false);
}

oEmailPassword.Done=function(oXML) {
	var oReturn=this.GetTagValue(oXML, 'EmailPasswordResult');
	
	if (oReturn=='') {
		f.GetObject('divEmailMessage').innerHTML='Sorry we can not match the ABTA/ATOL/Agency number you entered.';
	} else {
		f.GetObject('divEmailMessage').innerHTML='Your login details, including your password, have been sent to your default email address ' + oReturn + '.';
		f.Hide('divABTA');
		f.Hide('aSubmit');
	}
	f.Hide('divWaiting');
}


var oNewsletterSignup = new WebService();
oNewsletterSignup.Go = function(Email) {
    aParams = new Array(['Email', Email]);
    this.RunWebService('/webservices/support.asmx', 'http://intuitivesystems', 'NewsletterSignup', aParams, this, false);
}

oNewsletterSignup.Done = function(oXML) {
    e.ModalPopup.Show('divNewsletterConfirm');
    f.SetValue('txtEmail', 'Enter your email address...');
    f.SetClass('txtEmail', 'grey');
}


