jQuery.noConflict();

jQuery(window).load(function() {
							 
	// Nivo Slider - Home Slider
	var delay = parseInt(jQuery('.delay').text());
	var transition = jQuery('.transition').text();
	var IE6 = (navigator.userAgent.indexOf("MSIE 6")>=0) ? true : false;
	if(IE6) transition = 'sliceDown';
	delay = delay*1000;
	jQuery('#nivo').nivoSlider({
		effect: transition,
		slices: 15,
		animSpeed: 500,
		pauseTime: delay,
		directionNav: false //Next & Prev
	});
	jQuery('.nivo-controlNav a').text('\u00A0');
	jQuery('#nivo').css('overflow', 'visible');
	
});

jQuery(document).ready(function () {

    //Loading Thumbs
    jQuery('.entry-portfolio-img a ').each(

    function () {
        var img_path = jQuery(this).attr('title'),
            l = jQuery(this),
            img = new Image();

        jQuery(img).css('opacity', '0.0').load(
            function () {
                l.append(this);
                jQuery(this).css('opacity', '0.0').animate({
                    opacity: 1.0
                }, 800, function () {
                    l.removeAttr('title').css('background-image', 'none');

                    jQuery(this).hover(function () {
                        jQuery(this).parent().prev().css('display', 'block');
                        jQuery(this).stop().animate({
                            opacity: 0.8
                        }, 400);
                    },

                    function () {
                        jQuery(this).parent().prev().css('display', 'none');
                        jQuery(this).stop().animate({
                            opacity: 1
                        }, 400);
                    })
                });
            }).attr({
                'src': img_path,
                'width': 290,
                'height': 110
            });
    });
	
	// Homepage images
	jQuery('#recent-content img, #sb img').bind({
		mouseenter: function() {
			jQuery(this).stop().animate({
				opacity: .8
			}, 400);
  	},
  		mouseleave: function() {
    		jQuery(this).stop().animate({
				opacity: 1
			}, 400);
  	}
	});
	
    // Top button
    jQuery('a.top').click(function (e) {
        e.preventDefault();
        var target = (window.opera) ? (document.compatMode == 'CSS1Compat' ? jQuery('html') : jQuery('body')) : jQuery('html,body');
        target.animate({
            scrollTop: jQuery(jQuery(this).attr('href')).offset().top
        }, 500);
    });

    // RSlider - Home Slider
	if (jQuery('div.rs-project').length > 0) jQuery('.rs').RSlider();
	
    // RDM - Dropdown Menu
    jQuery('ul#menu').rdm();

    // RF - Forms
    var cp = jQuery('input#cp').val();
    if (jQuery('div#rf').length > 0) jQuery('div#rf').rf({
        'path': cp,
        'req_val': 'This field is required',
        'req_mail': 'Invalid email address',
        'req_question': 'Invalid answer!',
        'success': 'Thank you!',
        'error': 'Cant send message!',
        'sending': 'Sending please wait...'
    });

	// PrettyPhoto
    var r_lightbox_style = jQuery('#r-lightbox-style').text();
    if (r_lightbox_style == '') r_lightbox_style = 'light_square';
    jQuery('a[rel^="lightbox"], rel="lightbox[portfolio]"').prettyPhoto({
        'theme': r_lightbox_style /* light_rounded / dark_rounded / light_square / dark_square */
    });

    /*
     * jQuery Highlight plugin
     *
     * Based on highlight v3 by Johann Burkard
     * http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html
     *
     * Code a little bit refactored and cleaned (in my humble opinion).
     * Most important changes:
     *  - has an option to highlight only entire words only (wordsOnly - false by default),
     *  - has an option to be case sensitive (caseSensitive - false by default)
     *  - highlight element tag and class names can be specified in options
     *
     * Usage:
     *   // wrap every occurrance of text 'lorem' in content
     *   // with <span class='highlight'> (default options)
     *   $('#content').highlight('lorem');
     *
     *   // search for and highlight more terms at once
     *   // so you can save some time on traversing DOM
     *   $('#content').highlight(['lorem', 'ipsum']);
     *   $('#content').highlight('lorem ipsum');
     *
     *   // search only for entire word 'lorem'
     *   $('#content').highlight('lorem', { wordsOnly: true });
     *
     *   // don't ignore case during search of term 'lorem'
     *   $('#content').highlight('lorem', { caseSensitive: true });
     *
     *   // wrap every occurrance of term 'ipsum' in content
     *   // with <em class='important'>
     *   $('#content').highlight('ipsum', { element: 'em', className: 'important' });
     *
     *   // remove default highlight
     *   $('#content').unhighlight();
     *
     *   // remove custom highlight
     *   $('#content').unhighlight({ element: 'em', className: 'important' });
     *
     *
     * Copyright (c) 2009 Bartek Szopka
     *
     * Licensed under MIT license.
     *
     */

    jQuery.extend({
        highlight: function (node, re, nodeName, className) {
            if (node.nodeType === 3) {
                var match = node.data.match(re);
                if (match) {
                    var highlight = document.createElement(nodeName || 'span');
                    highlight.className = className || 'highlight';
                    var wordNode = node.splitText(match.index);
                    wordNode.splitText(match[0].length);
                    var wordClone = wordNode.cloneNode(true);
                    highlight.appendChild(wordClone);
                    wordNode.parentNode.replaceChild(highlight, wordNode);
                    return 1; //skip added node in parent
                }
            } else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children
            !/(script|style)/i.test(node.tagName) && // ignore script and style nodes
            !(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted
                for (var i = 0; i < node.childNodes.length; i++) {
                    i += jQuery.highlight(node.childNodes[i], re, nodeName, className);
                }
            }
            return 0;
        }
    });

    jQuery.fn.unhighlight = function (options) {
        var settings = {
            className: 'highlight',
            element: 'span'
        };
        jQuery.extend(settings, options);

        return this.find(settings.element + "." + settings.className).each(function () {
            var parent = this.parentNode;
            parent.replaceChild(this.firstChild, this);
            parent.normalize();
        }).end();
    };

    jQuery.fn.highlight = function (words, options) {
        var settings = {
            className: 'highlight',
            element: 'span',
            caseSensitive: false,
            wordsOnly: false
        };
        jQuery.extend(settings, options);

        if (words.constructor === String) {
            words = [words];
        }

        var flag = settings.caseSensitive ? "" : "i";
        var pattern = "(" + words.join("|") + ")";
        if (settings.wordsOnly) {
            pattern = "\\b" + pattern + "\\b";
        }
        var re = new RegExp(pattern, flag);

        return this.each(function () {
            jQuery.highlight(this, re, settings.element, settings.className);
        });
    };


}) //end custom scripts

;(function ($) {

    /* 
     *  Copyright (c) 2009 Rascals - Interactive Laboratory http://www.rascals.eu
     *  RF - Rascals Forms
     */

    jQuery.fn.rf = function (options) {
        var opts = jQuery.extend({
            'path': 'contact-form.php',
            'req_val': 'This field is required',
            'req_mail': 'Invalid email address',
            'req_question': 'Invalid answer!',
            'success': 'Thank you!',
            'error': 'Cant send message!',
            'sending': 'Sending please wait...'
        }, options);

        function isEmpty(val) {
            var re = /\s/g;
            var str = val.replace(re, '');
            if (str.length == 0) {
                return true;
            } else {
                return false;
            }
        }

        function isEmail(val) {
            var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            if (!val.match(re)) {
                return true;
            } else {
                return false;
            }
        }

        function f_check() {
            var f_check = false;
            var req_num = $('p.rf .req').size();

            $('p.rf .req').each(function (i) {
                if (isEmpty($(this).val())) {
                    $(this).next().text(opts.req_val).css('display', 'block');
                    return false;
                } else {
                    $(this).next().css('display', 'none');
                }
                if ($(this).is('.email')) {
                    if (isEmail($(this).val())) {
                        $(this).next().text(opts.req_mail).css('display', 'block');
                        return false;
                    } else {
                        $(this).next().css('display', 'none');
                    }
                }

                if ($('p.rf .req').size() == (i + 1)) f_check = true;

            });

            if (f_check == true) return true;
        }

        function inputs() {
            var inputs = new Object;

            $('p.rf .val').each(function (i) {
                var name = $(this).attr('name');
                var value = $(this).val();
                if (this.name != '') {
                    inputs[name] = value;
                }
            });
            return inputs;
        }

        function clear() {
            $('p.rf .val').each(function (i) {
                $(this).val('').next().css('display', 'none');
            });
        }

        $('#send').click(function () {
            if (f_check()) {
                $.ajax({
                    type: 'POST',
                    url: opts.path,
                    data: inputs(),
                    beforeSend: function (data) {
                        $('#send').attr('disabled', true);
                        $('.rf-submit span').html(opts.sending);
                    },
                    complete: function (data) {
                        $('#send').attr('disabled', false);
                    },
                    success: function (html) {
                        if (html == 'bad_answer') {
                            $('p.rf .asq').val('').next().text(opts.req_question).css('display', 'block');
                            $('.rf-submit span').html('');
                        } else if (html == 'success') {
                            clear();
                            $('.rf-submit span').html(opts.success);
                        } else {
                            $('.rf-submit span').html(opts.error);
                        }
                    },
                    error: function (html) {
                        $('.rf-submit span').html(opts.error);
                    }

                });
            }
        })

    };

})(jQuery); // confine scope

;(function ($) {

    /* 
     *  Copyright (c) 2009 Rascals - Interactive Laboratory http://www.rascals.eu
     *  RDM - Rascals Dropdown Menu
     */

    jQuery.fn.rdm = function () {

        $('a', this).removeAttr('title');

        $('li', this).hover(function () {
									  
			if ($(this).parent().attr('id') == 'menu') 
				$(this).addClass('menu-hover');
			else
				$(this).css('background-color', '#2c2b2b');
		
        	$(this).find('ul:first').css('visibility', 'visible').hide().slideDown(400);
        },

        function () {
			if ($(this).parent().attr('id') == 'menu') 
				$(this).removeClass('menu-hover');
			else
				$(this).css('background-color', 'transparent');
            $(this).find('ul:first').css('visibility', 'hidden');

        });

    };

})(jQuery); // confine scope

;(function ($) {

    /* 
     *  Copyright (c) 2009 Rascals - Interactive Laboratory http://www.rascals.eu
     *  RSlider - Rascals Slider
	 *  ver 1.0
     */

    jQuery.fn.RSlider = function (options) {
        var opts = jQuery.extend({
            'delay': parseInt($('.delay', this).text()),
            'duration': parseInt($('.duration', this).text()),
            'width': 950,
            'height': 300,
            'transition': $('.transition', this).text(),
            'easing': $('.easing', this).text(),
            'active_class': 'active',
            'ctrl': '.rs-ctrl a'
        }, options);
        var timer;
        var delay = opts.delay * 1000;
        var check = false;
        var project = $(this).find('.rs-project'),
            c = 1,
            ti = $('.rs-project', this).size(),
            ctrl = $(opts.ctrl, this);
		
        //Loading images
        project.each(function (i) {
                var img_path = $(this).find('a').attr('title'),
                    l = $(this),
                    img = new Image();
                l.append('<span class="ajax-loader"></span>')
                $(img).css('opacity', '0.0').load(

                    function () {
                        l.append(this);
                        $(this).css('opacity', '0.0').animate({
                            opacity: 1.0
                        }, 800, function () {
                            l.find('a').removeAttr('title');
                            l.find('span.ajax-loader').remove();
                        });
                    }).attr({
                        'src': img_path,
                        'width': opts.width,
                        'height': opts.height
                    });
                if (opts.transition == 'vertical') l.css('top', i * opts.height + 'px');
                else if (opts.transition == 'horizontal') l.css('left', i * opts.width + 'px');
                else {
                        if (i > 0) l.css('display', 'none');
                    }
            });

        //Image caption
        $('.rs-caption-bg' ,this).css('opacity', '0.9');
        var rcr_over = function () {
                reset_timer();
                var ch = $(this).parent().find('.rs-caption').height();
                $(this).parent().find('.rs-caption-bg').height(ch);
                $(this).parent().find('.rs-caption').css({
                    visibility: 'visible',
                    display: 'none'
                }).slideDown({
                    duration: 500,
                    easing: 'easeOutQuart'
                });

                $(this).parent().find('.rs-caption-bg').slideDown({
                    duration: 500,
                    easing: 'easeOutQuart'
                });

            };

        var rcr_out = function () {
                $(this).parent().find('.rs-caption').slideUp(200);
                $(this).parent().find('.rs-caption-bg').slideUp(200);
                auto_slide();
            };

        $('.rs-show-caption', this).hoverIntent({
                sensitivity: 5,
                timeout: 0,
                over: rcr_over,
                out: rcr_out
            });

        //Controller
        ctrl.eq(0).addClass(opts.active_class);
        ctrl.each(function (i) {
                $(this).click(function () {
                    if (check == false || !$(this).is(opts.active_class) ) {
                        ctrl.removeClass(opts.active_class);
                        $(this).addClass(opts.active_class);
                        c = i;
                        auto_slide();
                        next();
                    }
                    return false;
                });
            });

        $('.rs-next',this).bind('click', function () {
                if (check == false) {
                    auto_slide();
                    next();
                }
                return false;
            });

        $('.rs-prev', this).bind('click', function () {
                if (check == false) {
                    auto_slide();
                    prev();
                    return false;
                }
            });

        function fade() {
                if (project.eq(c - 1).css('display') == 'none') {
                    var dp = project.filter(':visible');
                    dp.css('z-index', 0);
                    project.eq(c - 1).css('z-index', 1).fadeIn('normal', function () {
                        check = false;
                        dp.css('display', 'none');
                    });
                }
            }

        function slide() {
                if (project.eq(c - 1).css('display') == 'none') {
                    var dp = project.filter(':visible');
                    dp.css('z-index', 1);
                    project.eq(c - 1).css({
                        'z-index': 0,
                        'display': 'block'
                    });

                    dp.animate({
                        left: opts.width
                    }, opts.duration, opts.easing, function () {
                        check = false;
                        dp.css({
                            'left': 0,
                            'display': 'none'
                        });
                    });
                }
            }

        function next() {
                check = true;
                if (c == 0) c = ti;
                l = c;
                if (c == ti) c = 1
                else c++;
                if (opts.transition == 'vertical') {
                    check = false;
                    project.animate({
                        marginTop: -(c - 1) * opts.height
                    }, {
                        duration: opts.duration,
                        easing: opts.easing,
                        queue: false
                    });
                } else if (opts.transition == 'horizontal') {
                    check = false;
                    project.animate({
                        marginLeft: -(c - 1) * opts.width
                    }, {
                        duration: opts.duration,
                        easing: opts.easing,
                        queue: false
                    });
                }

                else if (opts.transition == 'fade') fade();
                else slide();
                ctrl.removeClass(opts.active_class);
                ctrl.eq(c - 1).addClass(opts.active_class);
            }

        function prev() {
                check = true;
                l = c;
                if (c == 1) c = ti;
                else c--
                if (opts.transition == 'vertical') {
                    check = false;
                    project.animate({
                        marginTop: -(c - 1) * opts.height
                    }, {
                        duration: opts.duration,
                        easing: opts.easing,
                        queue: false
                    });
                } else if (opts.transition == 'horizontal') {
                    check = false;
                    project.animate({
                        marginLeft: -(c - 1) * opts.width
                    }, {
                        duration: opts.duration,
                        easing: opts.easing,
                        queue: false
                    });
                }
                else if (opts.transition == 'fade') fade();
                else slide();
                ctrl.removeClass(opts.active_class);
                ctrl.eq(c - 1).addClass(opts.active_class);
            }

        auto_slide = function () {
                if (delay > 0) {
                    clearInterval(timer);
                    timer = setInterval(function () {
                        next();
                    }, delay);
                }
            }

        auto_slide();
        reset_timer = function () {
                clearInterval(timer);
            }
    };

})(jQuery); // confine scope
/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright © 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/*
 *
 * TERMS OF USE - EASING EQUATIONS
 * 
 * Open source under the BSD License. 
 * 
 * Copyright © 2001 Robert Penner
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
 */
 ;(function($){ // secure $ jQuery alias
/**
* 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);
})(jQuery); // confine scope