/**
    Validates email address
    
    Parameters
    email:String - email to be validated
    
    Returns
    Boolean - false on invalid email and true on valid email address
 */
var validateEmail = function (email) {
    return new RegExp(/^([\w-\.\+])+\@([\w-]+\.)+([\w]{2,4})+$/gi).test(email);
};

var validatePhoneNo = function(no) {
    return new RegExp(/^[\+\d\s]{4,}$/g).test(no);
};

String.prototype.reverse = function() {
    var splitStr = this.split(""),
        tmpStr = splitStr.reverse(),
        reversedStr = tmpStr.join("");
    return reversedStr;
};

var eml = function(email) {
    var email = email.reverse();
    document.location.href = "mailto:"+email;
};

$(document).ready(function() {

    if ($("#menu > li > a").length > 0) {
        // menu mouseover and out
        $("#menu > li > a").mouseover(function() {
            $(this).next().hide();
            $(this).next().next().show();
        });
        $("#menu > li > a").mouseout(function() {
            $(this).next().show();
            $(this).next().next().hide();
        });
        
        // subMenu mouseover and out
        $("#subMenu > li > a").mouseover(function() {
            $(this).prev().prev().hide();
            $(this).prev().show();
        });
        $("#subMenu > li > a").mouseout(function() {
            $(this).prev().prev().show();
            $(this).prev().hide();
        });
    }
    
    if ($("#langBtn").length > 0) {
        // slide in language menu
        $("#langBtn").click(function() {
            $("#langMenu").slideToggle("fast");
        });
        
        // lose language menu on language click
        $("#langMenu > li > a").click(function() {
            $("#langMenu").slideToggle("fast");
        });
    }
    
    // modify content window on menu items
    if ($("#menu > li > div").length > 0 && $("#menu > li > div").text() != "") {
        var arrowImg = $("#menu > li > div").next(),
            arr = arrowImg.attr('src').split('_'),
            clsName = "wrapper"+arr[1],
            arrowImgOffsets = $(arrowImg).offset();
        $("#contentWrapper").addClass(clsName);

        // menu-respective placement of the content
        if ($("#subMenu").text() == '') {
            // specific procedure for MSIE
            var bgCSSDirective = (jQuery.browser.msie) ? "background-position-x" : "background-position";
            var bgArrowPos = $("#contentWrapper").css(bgCSSDirective);
            var bgArrowX = Number(bgArrowPos.substring(0,bgArrowPos.indexOf('px')))-20;
            var contentWrapperLeft = arrowImgOffsets.left-bgArrowX;
        } else {
            $("#contentWrapper").css({paddingTop:0, backgroundImage:'none'});
            var subMenuPos = $("#subMenu").css('margin-left');
            var subMenuX = Number(subMenuPos.substring(0,subMenuPos.indexOf('px')))+40;
            var contentWrapperLeft = arrowImgOffsets.left-subMenuX;
            var subMenuWidth = 0;
            var subMenuItems = $("#subMenu > *");
            for (i=0; subMenuItems[i]; i++) {
                subMenuWidth += $(subMenuItems[i]).width();
            }
            if (subMenuItems.length > 2) {
                $("#subMenu").css("margin-left",subMenuX-subMenuWidth/2+40);
            }
        }
        $("#contentWrapper").css("left",contentWrapperLeft);
    } else {
        $("#contentWrapper").addClass("defaultWrapper");
    }
    
    
    
    // turn off empty contentAreas
    if ($("#contentArea").children().length == 0) {
        $("#contentArea").remove();
    }
    
    // hook up Lightbox for galleries
    $(function() { $("a[rel='lightbox']").lightBox(); });
});