﻿/// <reference path="references.js" />

var _txbCompanyName = null;
var _txbFirstName = null;
var _txbLastName = null;
var _txbEmailAddress = null;
var _txbPhoneNumber = null;
var _txbUrlQualifier = null;
var _txbSignupCode = null;

$(function() {
    $("#" + _txbPhoneNumber).blur(function(evt) {
        FormatPhoneNumber(evt.target);
    });
});

function FormatPhoneNumber(txb) {
    var ret = false;
    var jtxb = $(txb);
    var phoneNumber = $.trim(jtxb.val()).replace(/-/g, "");
    if (phoneNumber.length === 10 && ValNumbersVal(phoneNumber)) {
        jtxb.val(phoneNumber.substr(0, 3) + "-" +
            phoneNumber.substr(3, 3) + "-" +
            phoneNumber.substr(6, 4));
        ret = true;
    }
    return ret;
}

function ValidateNewAccount() {
    var message = "";
    if (!ValInputTextEmpty(_txbCompanyName)) {
        message = AppendLine(message, "Company Name cannot be blank.");
    }
    if (!ValInputTextEmpty(_txbFirstName)) {
        message = AppendLine(message, "First Name cannot be blank.");
    }
    if (!ValInputTextEmpty(_txbLastName)) {
        message = AppendLine(message, "Last Name cannot be blank.");
    }
    if (!ValInputTextEmpty(_txbEmailAddress)) {
        message = AppendLine(message, "Email Address cannot be blank.");
    }
    else if (!ValEmailAddress(_txbEmailAddress)) {
        message = AppendLine(message, "Email Address is not correct.");
    }
    if (!ValInputTextEmpty(_txbPhoneNumber)) {
        message = AppendLine(message, "Phone Number cannot be blank.");
    }
    else if (!FormatPhoneNumber(document.getElementById(_txbPhoneNumber))) {
        message = AppendLine(message, "Please enter a complete 10 digit phone number.");
    }
    if (!ValInputTextEmpty(_txbUrlQualifier)) {
        message = AppendLine(message, "Subdomain cannot be blank.");
    }
    else if (!ValNumbersAndLetters(_txbUrlQualifier, 2)) {
        message = AppendLine(message, "Subdomain must contain only letters and digits (4 characters mininum).");
    }
    if (ValInputTextEmpty(_txbSignupCode) && !ValNumbersAndLetters(_txbSignupCode, 2)) {
        message = AppendLine(message, "You have entered an invalid signup code.");
    }

    return message;
}
function StartTrial() {
    var message = ValidateNewAccount();
    if (message.length > 0) {
        ShowError("divError", "Error", message, null, 350, 200);
        return;
    }
    var dto = new Object();
    dto.companyName = GetVal(_txbCompanyName);
    dto.firstName = GetVal(_txbFirstName);
    dto.lastName = GetVal(_txbLastName);
    dto.emailAddress = GetVal(_txbEmailAddress);
    dto.phoneNumber = GetVal(_txbPhoneNumber).replace(/-/g, "");
    dto.urlQualifier = GetVal(_txbUrlQualifier);
    dto.signupCode = GetVal(_txbSignupCode) == "" ? null : GetVal(_txbSignupCode);
    $("#btnStartTrial").attr("disabled", true);
    PageMethod("StartTrial", dto, StartTrialSuccess, StartTrialError);
}
function StartTrialSuccess(evt, request) {
    if (evt.d.length > 0 && evt.d != "adconversion") {
        ShowError("divError", "Error", evt.d);
        $("#btnStartTrial").attr("disabled", false);
        return;
    }
    if (evt.d == "adconversion") {
        window.location.href = "../public/Landing.aspx?TrialAccount=true";
    }
    else {
        window.location.href = "../signup/NewAccountCreated.aspx";
    }
}
function StartTrialError(response, settings) {
    if (response.responseText.Message != null) {
        ShowError("divError", "Error", response.responseText.Message);
    }
    else {
        ShowError("divError", "Error", response.responseText);
    }
    $("#btnStartTrial").attr("disabled", false);
}

// Thank you to Google for the tab scripts and styles
function changePreview(tabNumber) {
var tabNames = ['tab1','tab2','tab3','tab4','tab5','tab6','tab7','tab8','tab9','tab10'];
for (i = 1; i <= tabNames.length; i++) {
    document.getElementById('tab-content-sect-' + i).style.display = 'none';
  }
  document.getElementById('tab-content-sect-' + tabNumber).style.display = 'block';
  lis = document.getElementById('tab-content-list').getElementsByTagName('li');
  for (i = 0; i < lis.length; i++) {
    if (lis[i].className == 'active')
      lis[i].className = 'menu';
  }
  document.getElementById('tab' + tabNumber).className = 'active';
}
