//Javascript - Main

//Initialize
function init() {

    //alert('init!');

    //Set right content columns height (to left)
    var iContLeftHeight = $('#content-bar-col-left').height();
    $('#content-bar-col-right').height(iContLeftHeight + 40);

    //Top menu CSS
    $('ul.clsNavTop li:last').addClass('nav-end');

    //Top menu state
    $('ul.clsNavTop li a').each(function(i, val) {
        if ($(val).attr('href') == jQuery.url.attr('path')) {
            if ($(val).parent().parent().parent().get(0).tagName == "LI") {
                $(val).parent().parent().parent().find('a').addClass('active');
            } else {
                $(val).addClass('active');
            }
        } else if (($(val).attr('href') == '/en/home/') && (jQuery.url.attr('path') == '/')) {
            $(val).addClass('active');
        }
    });
    //>

    //Breadcrumb exists?
    //if so, space r-hand column
    if (typeof ($().find('#breadcrumb').attr('id')) != 'undefined') {
        $('#content-bar-col-right').css("padding-top", "50px");
    }
}
//
//Set style
function setStyle(sElementId, sStyleAtt, sStyleVal) {
    $("#" + sElementId).css(sStyleAtt, sStyleVal);
}
//
//Validate Email Address
function validateEmailAddress(sEmailField) {
    var emailstring = $("#" + sEmailField).val();
    var ampIndex = emailstring.indexOf("@");
    var afterAmp = emailstring.substring((ampIndex + 1), emailstring.length);
    var dotIndex = afterAmp.indexOf(".");
    dotIndex = dotIndex + ampIndex + 1;
    afterAmp = emailstring.substring((ampIndex + 1), dotIndex);
    var afterDot = emailstring.substring((dotIndex + 1), emailstring.length);
    var beforeAmp = emailstring.substring(0, (ampIndex));
    var email_regex = /^\w(?:\w|-|\.(?!\.|@))*@\w(?:\w|-|\.(?!\.))*\.\w{2,3}/
    if ((emailstring.indexOf("@") != "-1") &&
		(emailstring.length > 5) &&
		(afterAmp.length > 0) &&
		(beforeAmp.length > 1) &&
		(afterDot.length > 1) &&
		(email_regex.test(emailstring))) {
        setStyle(sEmailField, "background-color", "#FFF");
        return true;
    } else {
        setStyle(sEmailField, "background-color", "#FFCCCC");
        return false;
    }
}
//
//Validate Text Field
function validateTextField(sFormField) {
    if ($("#" + sFormField).val().length > 0) {
        setStyle(sFormField, "background-color", "#FFF");
        return true;
    } else {
        setStyle(sFormField, "background-color", "#FFCCCC");
        return false;
    }
}
//
//Validate Form
function vailidateForm(reqFields, reqEmailField) {
    //var
    var blFirstError = true;
    var valid = false;
    //var reqFields = ["tbName", "tbEmail"];
    var sErrorType = null;
    var sTextError = "Please complete all required fields.";
    var sEmailError = "Please enter a valid e-mail address.";
    //
    //iterate form field
    $.each($(reqFields), function(i, n) {

        //validate
        valid = validateTextField(n);

        //Focus 1st error
        if ((valid == false) && (blFirstError == true)) {
            $("#" + n).focus();
            blFirstError = false;
            sErrorType = "text";
        }

    });
    // /iterate form field >
    //
    if (valid == true) {
        //validate email field
        valid = validateEmailAddress(reqEmailField);
        if (valid == false) {
            sErrorType = "email";
        }
    }
    //
    //Show error message?
    if (valid == false) {
        var sError = null;
        if (sErrorType == "text") {
            sError = sTextError;
        } else if (sErrorType == "email") {
            sError = sEmailError;
        }
        //Error!
        $("#FormStatus").empty();
        $("#FormStatus").attr("class", "form-error");
        $("#FormStatus").append(sError);
        $("#FormStatus").show();
    } else {
        //Success!
        $("#FormStatus").empty();
        $("#FormStatus").attr("class", "form-success");
        $("#FormStatus").append("Processing...");
        $("#FormStatus").show();
    }
    //valid?
    return valid;
}
//
//Handle Form Sent Response
function handleFormSentResponse(responseText, statusText, sFormSentMessage) {
    var sReText = responseText;
    if (sReText == "SENT") {
        $("#FormStatus").empty();
        $("#FormStatus").attr("class", "form-success");
        $("#FormStatus").append(sFormSentMessage);
        $("#FormStatus").show();
    } else {
        $("#FormStatus").empty();
        $("#FormStatus").attr("class", "form-error");
        $("#FormStatus").append("Error: sending form, please retry.");
        $("#FormStatus").show();
    }
}
//
//Initialize Lightbox
function initializeLightbox() {
    $('a.lightbox').lightBox({
        imageLoading: '/images/lightbox/lightbox-ico-loading.gif',
        imageBtnClose: '/images/lightbox/lightbox-btn-close.gif',
        imageBtnPrev: '/images/lightbox/lightbox-btn-prev.gif',
        imageBtnNext: '/images/lightbox/lightbox-btn-next.gif'
    });
}
//
//-->
