/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($) { $.fn.hoverIntent = function(f, g) { var cfg = { sensitivity: 7, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function(ev) { cX = ev.pageX; cY = ev.pageY; }; var compare = function(ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]); } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function() { compare(ev, ob); }, cfg.interval); } }; var delay = function(ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]); }; var handleHover = function(e) { var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while (p && p != this) { try { p = p.parentNode; } catch (e) { p = this; } } if (p == this) { return false; } var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } if (e.type == "mouseover") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function() { compare(ev, ob); }, cfg.interval); } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function() { delay(ev, ob); }, cfg.timeout); } } }; return this.mouseover(handleHover).mouseout(handleHover); }; })(jQuery);

/*
* Superfish v1.4.8 - jQuery menu widget
* Copyright (c) 2008 Joel Birch
*
* Dual licensed under the MIT and GPL licenses:
* 	http://www.opensource.org/licenses/mit-license.php
* 	http://www.gnu.org/licenses/gpl.html
*
* CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
*/
; (function($) {
    $.fn.superfish = function(op) { var sf = $.fn.superfish, c = sf.c, $arrow = $(['<span class="', c.arrowClass, '"> &#187;</span>'].join('')), over = function() { var $$ = $(this), menu = getMenu($$); clearTimeout(menu.sfTimer); $$.showSuperfishUl().siblings().hideSuperfishUl(); }, out = function() { var $$ = $(this), menu = getMenu($$), o = sf.op; clearTimeout(menu.sfTimer); menu.sfTimer = setTimeout(function() { o.retainPath = ($.inArray($$[0], o.$path) > -1); $$.hideSuperfishUl(); if (o.$path.length && $$.parents(['li.', o.hoverClass].join('')).length < 1) { over.call(o.$path); } }, o.delay); }, getMenu = function($menu) { var menu = $menu.parents(['ul.', c.menuClass, ':first'].join(''))[0]; sf.op = sf.o[menu.serial]; return menu; }, addArrow = function($a) { $a.addClass(c.anchorClass).append($arrow.clone()); }; return this.each(function() { var s = this.serial = sf.o.length; var o = $.extend({}, sf.defaults, op); o.$path = $('li.' + o.pathClass, this).slice(0, o.pathLevels).each(function() { $(this).addClass([o.hoverClass, c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass); }); sf.o[s] = sf.op = o; $('li:has(ul)', this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over, out).each(function() { if (o.autoArrows) addArrow($('>a:first-child', this)); }).not('.' + c.bcClass).hideSuperfishUl(); var $a = $('a', this); $a.each(function(i) { var $li = $a.eq(i).parents('li'); $a.eq(i).focus(function() { over.call($li); }).blur(function() { out.call($li); }); }); o.onInit.call(this); }).each(function() { var menuClasses = [c.menuClass]; if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); $(this).addClass(menuClasses.join(' ')); }); }; var sf = $.fn.superfish; sf.o = []; sf.op = {}; sf.IE7fix = function() {
        var o = sf.op; if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity != undefined)
            this.toggleClass(sf.c.shadowClass + '-off');
    }; sf.c = { bcClass: 'sf-breadcrumb', menuClass: 'sf-js-enabled', anchorClass: 'sf-with-ul', arrowClass: 'sf-sub-indicator', shadowClass: 'sf-shadow' }; sf.defaults = { hoverClass: 'sfHover', pathClass: 'overideThisToUse', pathLevels: 1, delay: 800, animation: { opacity: 'show' }, speed: 'normal', autoArrows: true, dropShadows: true, disableHI: false, onInit: function() { }, onBeforeShow: function() { }, onShow: function() { }, onHide: function() { } }; $.fn.extend({ hideSuperfishUl: function() { var o = sf.op, not = (o.retainPath === true) ? o.$path : ''; o.retainPath = false; var $ul = $(['li.', o.hoverClass].join(''), this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility', 'hidden'); o.onHide.call($ul); return this; }, showSuperfishUl: function() { var o = sf.op, sh = sf.c.shadowClass + '-off', $ul = this.addClass(o.hoverClass).find('>ul:hidden').css('visibility', 'visible'); sf.IE7fix.call($ul); o.onBeforeShow.call($ul); $ul.animate(o.animation, o.speed, function() { sf.IE7fix.call($ul); o.onShow.call($ul); }); return this; } });
})(jQuery);

/*
Watermark v3.0.4 (January 14, 2010) plugin for jQuery
http://jquery-watermark.googlecode.com/
Copyright (c) 2009-2010 Todd Northrop
http://www.speednet.biz/
Licensed under GPL 3, see  <http://www.gnu.org/licenses/>
*/
(function(a) { var k = "function", i = "password", c = "maxLength", e = "type", b = true, d = false, s = "watermark", t, m = s, h = "watermarkClass", p = "watermarkFocus", j = "watermarkSubmit", l = "watermarkMaxLength", g = "watermarkPassword", f = "watermarkText", r = ":data(" + m + ")", n = ":text,:password,:search,textarea", o = ["Page_ClientValidate"], q = d; a.extend(a.expr[":"], { search: function(a) { return "search" === a.type }, data: function(f, h, g) { var e, c = /^((?:[^=!^$*]|[!^$*](?!=))+)(?:([!^$*]?=)(.*))?$/.exec(g[3]); if (c) { e = a(f).data(c[1]); if (e !== t) { if (c[2]) { e = "" + e; switch (c[2]) { case "=": return e == c[3]; case "!=": return e != c[3]; case "^=": return e.slice(0, c[3].length) == c[3]; case "$=": return e.slice(-c[3].length) == c[3]; case "*=": return e.indexOf(c[3]) !== -1 } } return b } } return d } }); a.watermark = { version: "3.0.4", options: { className: s, useNative: b }, hide: function(b) { a(b).filter(r).each(function() { a.watermark._hide(a(this)) }) }, _hide: function(a, i) { if (a.val() == a.data(f)) { a.val(""); if (a.data(g)) if (a.attr(e) === "text") { var d = a.data(g), b = a.parent(); b[0].removeChild(a[0]); b[0].appendChild(d[0]); a = d } if (a.data(l)) { a.attr(c, a.data(l)); a.removeData(l) } if (i) { a.attr("autocomplete", "off"); window.setTimeout(function() { a.select() }, 0) } } a.removeClass(a.data(h)) }, show: function(b) { a(b).filter(r).each(function() { a.watermark._show(a(this)) }) }, _show: function(d) { var r = d.val(), j = d.data(f), m = d.attr(e); if ((r.length == 0 || r == j) && !d.data(p)) { q = b; if (d.data(g)) if (m === i) { var o = d.data(g), n = d.parent(); n[0].removeChild(d[0]); n[0].appendChild(o[0]); d = o; d.attr(c, j.length) } if (m === "text" || m === "search") { var k = d.attr(c); if (k > 0 && j.length > k) { d.data(l, k); d.attr(c, j.length) } } d.addClass(d.data(h)); d.val(j) } else a.watermark._hide(d) }, hideAll: function() { if (q) { a.watermark.hide(n); q = d } }, showAll: function() { a.watermark.show(n) } }; a.fn.watermark = function(q, l) { var o = "string", s = typeof q === o, r; if (typeof l === "object") { r = typeof l.className === o; l = a.extend({}, a.watermark.options, l) } else if (typeof l === o) { r = b; l = a.extend({}, a.watermark.options, { className: l }) } else l = a.watermark.options; if (typeof l.useNative !== k) l.useNative = l.useNative ? function() { return b } : function() { return d }; return this.each(function() { var u = "dragleave", t = "dragenter", w = this, d = a(w); if (!d.is(n)) return; if (d.data(m)) { if (s || r) { a.watermark._hide(d); s && d.data(f, q); r && d.data(h, l.className) } } else { if (l.useNative.call(w, d)) if (("" + d.css("-webkit-appearance")).replace("undefined", "") !== "" && d.attr("tagName") !== "TEXTAREA") { s && d.attr("placeholder", q); return } d.data(f, s ? q : ""); d.data(h, l.className); d.data(m, 1); if (d.attr(e) === i) { var x = d.wrap("<span>").parent(), k = a(x.html().replace(/type=["']?password["']?/i, 'type="text"')); k.data(f, d.data(f)); k.data(h, d.data(h)); k.data(m, 1); k.attr(c, q.length); k.focus(function() { a.watermark._hide(k, b) }).bind(t, function() { a.watermark._hide(k) }).bind("dragend", function() { window.setTimeout(function() { k.blur() }, 1) }); d.blur(function() { a.watermark._show(d) }).bind(u, function() { a.watermark._show(d) }); k.data(g, d); d.data(g, k) } else d.focus(function() { d.data(p, 1); a.watermark._hide(d, b) }).blur(function() { d.data(p, 0); a.watermark._show(d) }).bind(t, function() { a.watermark._hide(d) }).bind(u, function() { a.watermark._show(d) }).bind("dragend", function() { window.setTimeout(function() { a.watermark._show(d) }, 1) }).bind("drop", function(b) { var a = b.originalEvent.dataTransfer.getData("Text"); d.val().replace(a, "") === d.data(f) && d.val(a); d.focus() }); if (w.form) { var o = w.form, v = a(o); if (!v.data(j)) { v.submit(a.watermark.hideAll); if (o.submit) { v.data(j, o.submit); o.submit = function(c, b) { return function() { var d = b.data(j); a.watermark.hideAll(); if (d.apply) d.apply(c, Array.prototype.slice.call(arguments)); else d() } } (o, v) } else { v.data(j, 1); o.submit = function(b) { return function() { a.watermark.hideAll(); delete b.submit; b.submit() } } (o) } } } } a.watermark._show(d) }).end() }; o.length && a(function() { for (var b, c, d = o.length - 1; d >= 0; d--) { b = o[d]; c = window[b]; if (typeof c === k) window[b] = function(b) { return function() { a.watermark.hideAll(); b.apply(null, Array.prototype.slice.call(arguments)) } } (c) } }) })(jQuery);

/**
* jQuery.ScrollTo - Easy element scrolling using jQuery.
* Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
* Dual licensed under MIT and GPL.
* Date: 3/9/2009
* @author Ariel Flesler
* @version 1.4.1
*
* http://flesler.blogspot.com/2007/10/jqueryscrollto.html
*/
; (function($) { var m = $.scrollTo = function(b, h, f) { $(window).scrollTo(b, h, f) }; m.defaults = { axis: 'xy', duration: parseFloat($.fn.jquery) >= 1.3 ? 0 : 1 }; m.window = function(b) { return $(window).scrollable() }; $.fn.scrollable = function() { return this.map(function() { var b = this, h = !b.nodeName || $.inArray(b.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1; if (!h) return b; var f = (b.contentWindow || b).document || b.ownerDocument || b; return $.browser.safari || f.compatMode == 'BackCompat' ? f.body : f.documentElement }) }; $.fn.scrollTo = function(l, j, a) { if (typeof j == 'object') { a = j; j = 0 } if (typeof a == 'function') a = { onAfter: a }; if (l == 'max') l = 9e9; a = $.extend({}, m.defaults, a); j = j || a.speed || a.duration; a.queue = a.queue && a.axis.length > 1; if (a.queue) j /= 2; a.offset = n(a.offset); a.over = n(a.over); return this.scrollable().each(function() { var k = this, o = $(k), d = l, p, g = {}, q = o.is('html,body'); switch (typeof d) { case 'number': case 'string': if (/^([+-]=)?\d+(\.\d+)?(px)?$/.test(d)) { d = n(d); break } d = $(d, this); case 'object': if (d.is || d.style) p = (d = $(d)).offset() } $.each(a.axis.split(''), function(b, h) { var f = h == 'x' ? 'Left' : 'Top', i = f.toLowerCase(), c = 'scroll' + f, r = k[c], s = h == 'x' ? 'Width' : 'Height'; if (p) { g[c] = p[i] + (q ? 0 : r - o.offset()[i]); if (a.margin) { g[c] -= parseInt(d.css('margin' + f)) || 0; g[c] -= parseInt(d.css('border' + f + 'Width')) || 0 } g[c] += a.offset[i] || 0; if (a.over[i]) g[c] += d[s.toLowerCase()]() * a.over[i] } else g[c] = d[i]; if (/^\d+$/.test(g[c])) g[c] = g[c] <= 0 ? 0 : Math.min(g[c], u(s)); if (!b && a.queue) { if (r != g[c]) t(a.onAfterFirst); delete g[c] } }); t(a.onAfter); function t(b) { o.animate(g, j, a.easing, b && function() { b.call(this, l, a) }) }; function u(b) { var h = 'scroll' + b; if (!q) return k[h]; var f = 'client' + b, i = k.ownerDocument.documentElement, c = k.ownerDocument.body; return Math.max(i[h], c[h]) - Math.min(i[f], c[f]) } }).end() }; function n(b) { return typeof b == 'object' ? b : { top: b, left: b} } })(jQuery);


$(document).ready(function() {

    // Drop-down menu
    $('ul#groupNav').superfish({
        delay: 0,                            // one second delay on mouseout 
        animation: { opacity: 'show', height: 'show' },  // fade-in and slide-down animation 
        speed: 'fast',                          // faster animation speed 
        autoArrows: false,                           // disable generation of arrow mark-up 
        dropShadows: false                            // disable drop shadows 
    });

    // contact form

    // hide errors
    $('#content .formRow .error').hide();

    // all inputs
    $('#content .contactForm .txtInput').focus(function() {
        $(this).addClass('focus');
    }).blur(function() {
        $(this).removeClass('focus');
    });

    // name
    $('#content .contactForm .nameInput').focus(function() {
        $(this).css('background-position', '-241px top');
    }).blur(function() {
        $(this).css('background-position', 'left top');
    });

    // email
    $('#content .contactForm .emailInput').focus(function() {
        $(this).css('background-position', '-241px -27px');
    }).blur(function() {
        $(this).css('background-position', 'left -27px');
    });

    // company
    $('#content .contactForm .companyInput').focus(function() {
        $(this).css('background-position', '-241px -54px');
    }).blur(function() {
        $(this).css('background-position', 'left -54px');
    });

    // address
    $('#content .contactForm .addressInput').focus(function() {
        $(this).css('background-position', '-241px -81px');
    }).blur(function() {
        $(this).css('background-position', 'left -81px');
    });

    // city
    $('#content .contactForm .cityInput').focus(function() {
        $(this).css('background-position', '-241px -108px');
    }).blur(function() {
        $(this).css('background-position', 'left -108px');
    });

    // state
    $('#content .contactForm .stateInput').focus(function() {
        $(this).css('background-position', '-241px -135px');
    }).blur(function() {
        $(this).css('background-position', 'left -135px');
    });

    // zip
    $('#content .contactForm .zipInput').focus(function() {
        $(this).css('background-position', '-241px -162px');
    }).blur(function() {
        $(this).css('background-position', 'left -162px');
    });

    // phone
    $('#content .contactForm .phoneInput').focus(function() {
        $(this).css('background-position', '-241px -189px');
    }).blur(function() {
        $(this).css('background-position', 'left -189px');
    });

    $('#content .contactForm .nameInput').watermark('*First & Last Name');
    $("#content .contactForm .emailInput").watermark('*Email address');
    $("#content .contactForm .companyInput").watermark('*Company Name');
    $("#content .contactForm .addressInput").watermark('*Company Address');
    $("#content .contactForm .cityInput").watermark('*City');
    $("#content .contactForm .stateInput").watermark('*ST');
    $("#content .contactForm .zipInput").watermark('*Zip');
    $("#content .contactForm .phoneInput").watermark('Phone');

    // contact me button
    $('#content .contactForm .contactBtn').click(function() {

        var noError = true;

        // hide errors
        $('#content .formRow .error').hide();

        var name = $("#content .contactForm .nameInput").val();
        if (name == '*First & Last Name') {
            name = null;
        }
        var email = $("#content .contactForm .emailInput").val();
        if (email == '*Email address') {
            email = null;
        }
        var company = $("#content .contactForm .companyInput").val();
        if (company == '*Company Name') {
            company = null;
        }
        var address = $("#content .contactForm .addressInput").val();
        if (address == '*Company Address') {
            address = null;
        }
        var city = $("#content .contactForm .cityInput").val();
        if (city == '*City') {
            city = null;
        }
        var state = $("#content .contactForm .stateInput").val();
        if (state == '*ST') {
            state = null;
        }
        var zip = $("#content .contactForm .zipInput").val();
        if (zip == '*Zip') {
            zip = null;
        }
        var phone = $("#content .contactForm .phoneInput").val();
        if (phone == 'Phone') {
            phone = null;
        }

        var emailTo = $("#content .contactForm .emailToInput").val();

		newslettersignup.NewsLetterSignUp(name, email, company, address, city, state, zip, phone, emailTo, succeededCallback, failedCallback, userContext);
		
		return false;
    });

    // close buttons
    $('#content #contactError .closeBtn').click(function() {
        $(this).parent().parent().fadeOut('fast');
        return false;
    });
    $('#content #contactConf .closeBtn').click(function() {
        $('#content .contactForm .txtInput').val('');
        $('#content .formRow .error').hide();
        $(this).closest('div').fadeOut('fast');
        return false;
    });


    // featured project
    $('#slider #featuredProj').hoverIntent(function() {
        $(this).addClass('featuredProjHover').children('div.projectInfo').slideDown();
    }, function() {
        $(this).removeClass('featuredProjHover').children('div.projectInfo').slideUp();
    });

    // sliders
    var numProj = $('#header .project').size();
    var currProj = 1;
    var autoAdvance;

    // initialize state
    $('#header .projectInfo').hide();
    $('#sliderContainer .project').hide();
    $('#header .leftProj').show();
    $('#header .midProj').show();
    $('#header .rightProj').show();

    // show and hide project info	
    $('#sliderContainer .project').hoverIntent(function() {
        $(this).children('div.projectInfo').slideDown();
    }, function() {
        $(this).children('div.projectInfo').slideUp();
    });

    // hub page slider

    function advanceProj(btn) {
        // hide projects
        $('#sliderContainer').fadeOut('fast', function() {
            $('#slider .leftProj').removeClass('leftProj');
            $('#slider .rightProj').removeClass('rightProj');
            $('#slider .project').hide();

            if (btn == 'left') {
                if (currProj == 1) {
                    // show new left proj
                    $('#slider .proj' + (numProj)).addClass('leftProj').show();

                    // show new right proj
                    $('#slider .proj' + currProj).addClass('rightProj').show();

                    // update counter
                    currProj = numProj;
                } else {
                    // show new left proj
                    $('#slider .proj' + (currProj - 1)).addClass('leftProj').show();

                    // show new right proj
                    $('#slider .proj' + currProj).addClass('rightProj').show();

                    // update counter
                    currProj--;
                }

            } else {
                // update counter
                if (currProj == numProj) {
                    currProj = 1;
                } else {
                    currProj++;
                }

                // show new left proj
                $('#slider .proj' + (currProj)).addClass('leftProj').show();

                // show new right proj
                if (currProj == (numProj)) {
                    $('#slider .proj1').addClass('rightProj').show();
                } else {
                    $('#slider .proj' + (currProj + 1)).addClass('rightProj').show();
                }
            }

            // show projects
            $('#slider #sliderContainer').fadeIn('fast');

        });

    }

    // auto advance
    if ($('#slider').length > 0) {
        autoAdvance = setInterval(advanceProj, 5000);
        $('#slider').mouseenter(function() {
            clearInterval(autoAdvance);
        }).mouseleave(function() {
            autoAdvance = setInterval(advanceProj, 5000);
        });
    }

    // left nav button
    $('#slider #leftNav').click(function() {
        advanceProj('left');
        return false;

    });

    // right nav button
    $('#slider #rightNav').click(function() {
        advanceProj();
        return false;

    });


    // landing page slider

    function advanceLandingProj(btn) {
        // hide projects
        $('#sliderContainer').fadeOut('fast', function() {
            $('#landingSlider .leftProj').removeClass('leftProj');
            $('#landingSlider .midProj').removeClass('midProj');
            $('#landingSlider .rightProj').removeClass('rightProj');
            $('#landingSlider .project').hide();

            if (btn == 'left') {
                if (currProj == 1) {
                    // show new left proj
                    $('#landingSlider .proj' + numProj).addClass('leftProj').show();

                    // show new mid proj
                    $('#landingSlider .proj' + currProj).addClass('midProj').show();

                    // show new right proj
                    $('#landingSlider .proj' + (currProj + 1)).addClass('rightProj').show();

                    // update counter
                    currProj = numProj;
                } else {
                    // show new left proj
                    $('#landingSlider .proj' + (currProj - 1)).addClass('leftProj').show();

                    // show new left proj
                    $('#landingSlider .proj' + currProj).addClass('midProj').show();

                    // show new right proj
                    if (currProj == numProj) {
                        $('#landingSlider .proj1').addClass('rightProj').show();
                    } else {
                        $('#landingSlider .proj' + (currProj + 1)).addClass('rightProj').show();
                    }

                    // update counter
                    currProj--;
                }
            } else {
                // update counter
                if (currProj == numProj) {
                    currProj = 1;
                } else {
                    currProj++;
                }

                // show new left proj
                $('#landingSlider .proj' + currProj).addClass('leftProj').show();

                if (currProj == (numProj - 1)) {
                    // show new mid proj
                    $('#landingSlider .proj' + (currProj + 1)).addClass('midProj').show();

                    // show new right proj
                    $('#landingSlider .proj1').addClass('rightProj').show();
                } else if (currProj == numProj) {
                    // show new mid proj
                    $('#landingSlider .proj1').addClass('midProj').show();

                    // show new right proj
                    $('#landingSlider .proj2').addClass('rightProj').show();
                } else {
                    // show new mid proj
                    $('#landingSlider .proj' + (currProj + 1)).addClass('midProj').show();

                    // show new right proj
                    $('#landingSlider .proj' + (currProj + 2)).addClass('rightProj').show();
                }
            }

            // show projects
            $('#landingSlider #sliderContainer').fadeIn('fast');

        });

    }

    // auto advance
    if ($('#landingSlider').length > 0) {
        autoAdvance = setInterval(advanceLandingProj, 5000);
        $('#landingSlider').mouseenter(function() {
            clearInterval(autoAdvance);
        }).mouseleave(function() {
            autoAdvance = setInterval(advanceLandingProj, 5000);
        });
    }

    // left nav button
    $('#landingSlider #leftNav').click(function() {
        advanceLandingProj('left');
        return false;

    });

    // right nav button
    $('#landingSlider #rightNav').click(function() {
        advanceLandingProj();
        return false;

    });

    // random project on content pages
    $('#headerProj .headerProjItem').hide();
    $('#headerProj .headerProjItem:eq(' + Math.floor(Math.random() * ($('#headerProj .headerProjItem').length)) + ')').show();

});

function succeededCallback(result) {
    if (result.Error == true) {
        var Modal = $('#content .contactForm #contactError');
        var close = $('#content .contactForm #contactError a');
        Modal.children('.modalContent').children('h4,ul,p').remove();
        
        $(result.ResponseHTML).insertBefore(close);

        //error signs
        $('#content .formRow .error').hide();
        if (result.NameHasError) { $("#content .formRow #nameError").show(); }
        if (result.EmailHasError) { $("#content .formRow #emailError").show(); }
        if (result.CompanyNameHasError) { $("#content .formRow #companyError").show(); }
        if (result.AddressHasError) { $("#content .formRow #addressError").show(); }
        if (result.CityHasError) { $("#content .formRow #cityError").show(); }
        if (result.StateHasError) { $("#content .formRow #stateError").show(); }
        if (result.ZipHasError) { $("#content .formRow #zipError").show(); }

        $.scrollTo('#footer', 100);

        Modal.fadeIn('fast');
    }
    else {
        $('#content .contactForm #contactConf').fadeIn('fast');

        $.scrollTo('#footer', 100);
    }
}

function userContext(result) {
    alert(result.ErrorMsg + 'Timeout');
}

function failedCallback(result) {
    alert(result.ErrorMsg + 'error');
}