﻿function validateEmail(elementValue) {
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return emailPattern.test(elementValue);
}

function ClearNewsLetterForm() {
    HideSpinner();
    $("#TB_NewsLetter input").val('');
}

var callInProgress = false;

function ShowNewsLetterSpinner() {
    $("#TB_NewsLetter .content").hide();
    $("#TB_NewsLetter .footer").hide();
    $("#TB_NewsLetter .spinner").show();
}

function HideNewsLetterSpinner() {
    $("#TB_NewsLetter .spinner").hide();
    $("#TB_NewsLetter .content").show();
    $("#TB_NewsLetter .footer").show();
}

function ValidateNewsLetterInput() {
    var valid = true;

    var name = $("#TB_NewsLetter .name input").val();
    var email = $("#TB_NewsLetter .email input").val();

    if (name == '') {
        $("#TB_NewsLetter .name span.err").show();
        valid = false;
    }
    else {
        $("#TB_NewsLetter .name span.err").hide();
    }


    if (email == '') {
        $("#TB_NewsLetter .email span.err").show();
        valid = false;
    }
    else {
        if (validateEmail(email)) {
            $("#TB_NewsLetter .email span.err").hide();
        }
        else {
            $("#TB_NewsLetter .email span.err").attr("title", "Netfang ekki löglegt!").show();
            valid = false;
        }
    }

    return valid;
}

function RegisterNewsLetter() {

    if (!callInProgress && ValidateNewsLetterInput()) {

        ShowNewsLetterSpinner();

        var name = $("#TB_NewsLetter .name input").val();
        var email = $("#TB_NewsLetter .email input").val();

        callInProgress = true;
        Crymogea.Services.Contact.NewsLetterSignup(name, email, RegisterNewsLetterComplete, RegisterNewsLetterFailed);
    }
}

function RegisterNewsLetterComplete(data, methodContext, methodName) {
    if (data != null) {
        if (data == 1) {//Success
            $("#TB_NewsLetter .field").hide();
            $("#TB_NewsLetter .controls").hide();
            $("#TB_NewsLetter .content").html('<h5><span>Póstlisti Crymogeu</span></h5><p style="font-size: 12px;">Takk fyrir að skrá þig á póstlista Crymogeu.<br /><br />Þú þarft núna að staðfesta netfangið. <br />Þér mun berast tölvupóstur innan skamms sem inniheldur upplýsingar um skráninguna og leiðbeiningar um hvernig þú staðfestir netfangið. <br />Skráningu lýkur um leið og netfangið hefur verið staðfest.</p>');
        }
        else if (data == -1) {//Email already registered
            $("#TB_NewsLetter .message p").text('Netfang nú þegar skráð.').addClass("err").parent("div.message").show();
        }
        else {//Failed
            $("#TB_NewsLetter .message p").text("Gat ekki klárað skráningu, vinsamlegast reynið aftur síðar.").addClass("err").parent("div.message").show();
        }
    }
    else {//Error
        alert("Error: Register newsletter.");
    }

    //Hide the spinner
    HideNewsLetterSpinner();
    //Set the loading status to false
    callInProgress = false;

}

function RegisterNewsLetterFailed(exception, methodContext, methodName) {
    //Error

    alert("Error: Register newsletter.");

    //Hide the spinner
    HideNewsLetterSpinner();
    //Set the loading status to false
    callInProgress = false;
}

function ShowSendPageSpinner() {
    $("#TB_Send .content").hide();
    $("#TB_Send .footer").hide();
    $("#TB_Send .spinner").show();
}

function HideSendPageSpinner() {
    $("#TB_Send .spinner").hide();
    $("#TB_Send .content").show();
    $("#TB_Send .footer").show();
}

function ValidateSendPageInput() {
    var valid = true;

    var name = $("#TB_Send .name input").val();
    var email = $("#TB_Send .email input").val();

    if (name == '' || name == 'your name') {
        $("#TB_Send .name span.err").show();
        valid = false;
    }
    else {
        $("#TB_Send .name span.err").hide();
    }


    if (email == '' || email == 'email address of recipient') {
        $("#TB_Send .email span.err").show();
        valid = false;
    }
    else {
        if (validateEmail(email)) {
            $("#TB_Send .email span.err").hide();
        }
        else {
            $("#TB_Send .email span.err").attr("title", "Email is invalid!").show();
            valid = false;
        }
    }

    return valid;
}

function SendPage() {

    if (!callInProgress && ValidateSendPageInput()) {

        ShowSendPageSpinner();

        var name = $("#TB_Send .name input").val();
        var email = $("#TB_Send .email input").val();
        var body = $("#TB_Send .body textarea").text();

        var url = window.location.href;
        var newsID = 0;

        callInProgress = true;
        Crymogea.Services.Contact.SendPage(name, email, body, url, newsID, SendPageComplete, SendPageFailed);
    }
}

function SendPageComplete(data, methodContext, methodName) {
    if (data != null) {
        if (data.Value == 1) {//Success
            $("#TB_Send .field").hide();
            $("#TB_Send .controls").hide();
            $("#TB_Send .message p").text('Page notification sent.').removeClass("err").parent("div.message").show();
        }        
        else {//Failed
            $("#TB_Send .message p").text("Could't send page, please try again later.").addClass("err").parent("div.message").show();
        }
    }
    else {//Error
        alert("Error: Sending page.");
    }

    //Hide the spinner
    HideSendPageSpinner();
    //Set the loading status to false
    callInProgress = false;

}

function SendPageFailed(exception, methodContext, methodName) {
    //Error

    alert("Error: Sending page.");

    //Hide the spinner
    HideSendPageSpinner();
    //Set the loading status to false
    callInProgress = false;
}
