﻿(function ($) {

    //do custom scrolling for links with class scroll - from Prathap Beschi
    $(".scroll").click(function (event) {
        //prevent the default action for the click event
        event.preventDefault();

        var topcontainer_offset = $('#headerContainer').height();

        //get the full url - like mysitecom/index.htm#home
        var full_url = this.href;

        //split the url by # and get the anchor target name - home in mysitecom/index.htm#home
        var parts = full_url.split("#");
        var trgt = parts[1];

        //get the top offset of the target anchor
        var target_offset = $("#" + trgt).offset();
        var target_top = target_offset.top;

        //goto that anchor by setting the body scroll top to anchor top
        $('html, body').animate({ scrollTop: target_top - topcontainer_offset }, 800);
    });

    // Toogle watermark on input fields
    $(':input[type=text][title]').each(function () {

        var $this = $(this);
        if ($this.val() !== '')
            return;

        $this.val($this.attr('title'));
        $this.focus(function () {
            if ($this.val() === $this.attr('title')) {
                $this.val('');
            }
        });
        $this.blur(function () {
            if ($this.val() === '') {
                $this.val($this.attr('title'));
            }
        });
    });

    //jquery wrapper plugin - http://plugins.jquery.com/project/nwrapper
    $.fn.nwrapper = function (options) {

        var defaults = {
            wrapEvery: 1,
            defaultClasses: true,
            extraClasses: false,
            htmlStructure: 'div'
        };

        settings = $.extend({}, defaults, options);

        var elements = $(this).children();
        var elementsLen = elements.length;

        for (var i = 0, numb = 1; i < elementsLen; i += settings.wrapEvery, numb++) {

            // Default Classes Array
            var classes = [];
            if (settings.defaultClasses) {

                classes[0] = 'wrapper';
                classes[1] = 'wrapper-' + numb;

                if (numb == 1) {
                    classes[2] = 'first';
                }


                if (numb == Math.ceil(elementsLen / settings.wrapEvery)) {
                    classes[2] = 'last';
                }

            }

            // Merge Default class with Extra Class
            if (settings.extraClasses) {
                $.merge(classes, settings.extraClasses);
            }

            // If you find any classes crete the class string
            if (classes.length > 0) {
                htmlClassesString = 'class="' + classes.join(" ") + '"';
            } else {
                htmlClassesString = '';
            }

            elements.filter(':eq(' + i + '), :lt(' + (i + settings.wrapEvery) + '):gt(' + i + ')').wrapAll('<' + settings.htmlStructure + ' ' + htmlClassesString + ' />');

        }

        return $(this);
    };

})(jQuery);

// Cookie functions
function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function deleteCookie(name) {
    var date = new Date();
    var expires = "; expires=" + date.toGMTString(); 
    document.cookie = name + "=" + null + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }

    return null;
}



function stripeTables() {
    $('table.striped').each(function (index) {
        var stripingTable = $(this);
        $('tr:odd', stripingTable).addClass('odd');
    });
}


function createCTAbtn(node) {
    node.find('a.btn').each(function () {
        var span = $('<span class="btn"><span></span></span>');
        $(this).before(span);
        span.find('span').append($(this));
    });
    
}

$(document).ready(function () {
    stripeTables();
    //create CTA buttons for certain links
    createCTAbtn($('body'));
});
  
