﻿// global var to hold base url - as we cant use ResolveUrl in templates
var baseUrl = "<%= Request.Url.GetLeftPart(UriPartial.Authority) %>";

/*
* validateForm
* Validates form for colorboxes
*/
function validateForm(frm, handler) {
    var errors = new Array();

    for (var i = 0; i < frm.elements.length; i++) {
        $(frm.elements[i].parentNode.parentNode).removeClass('error');
        if ($(frm.elements[i]).is('.reqText')) {
            // Not empty
            if (frm.elements[i].value.match(/^\s*$/)) {
                errors.push(frm.elements[i].name + ' cannot be empty');
                $(frm.elements[i].parentNode.parentNode).addClass('error');
            }
        }
        else if ($(frm.elements[i]).is('.validEmail')) {
            // Valid email
            if (frm.elements[i].value.match(/^\s*$/)) {
                // Not empty
                errors.push(frm.elements[i].name + ' cannot be empty');
                $(frm.elements[i].parentNode.parentNode).addClass('error');
            }
            else if (!frm.elements[i].value.match(/^[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+)*\@[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()<>@,;:\\".[\]\x7f-\xff]+)+$/)) {
                // Valid email
                errors.push(frm.elements[i].name + ' is not a valid email');
                $(frm.elements[i].parentNode.parentNode).addClass('error');
            }
        }
    }

    if (errors.length > 0) {
        var errorMsg = '<strong>Important Message: Before you can continue there are a few errors to correct ...</strong>';
        errorMsg += '<ul>';
        for (var i = 0; i < errors.length; i++) {
            errorMsg += '<li>' + errors[i] + '</li>';
        }
        errorMsg += '</ul>';
        $('.errorBox', frm)[0].innerHTML = errorMsg;
        $('.errorBox', frm).show();

        $.fn.colorbox.resize();
    }
    else {
        ajaxForm(frm, handler);
    }
}

/*
* ajaxForm
* Handles AJAX for form submission. Calls specified handler on completion.
*/
function ajaxForm(frm, handler) {
    $.ajax({
        type: "POST",
        url: frm.action,
        dataType: 'json',
        data: $(frm).serialize(),
        success: handler
    });
}

/**
 *
 */
function clearText(obj) {
    if (obj.value == 'Search') {
        obj.value = '';
    }
}

function loadText(obj, text) {
    if (obj.value == '') {
        obj.value = text;
    }
}

/**
 *
 */
$(document).ready(function () {
    $('.searchFilter').sSelect();
});

/**
 *
 */
$(window).load(function () {
$('#slider').nivoSlider({
effect: 'sliceDown'
});
});

/**
*
*/
$(document).ready(function () {
    // facebook link handler
    if ($(".facebook").length > 0) {
        $(".facebook").attr("href", "http://www.facebook.com/sharer.php?u=" + encodeURIComponent(document.location));
        $(".facebook").attr("target", "_blank");
    }
});
