function init2(){

    (function() {
        var Dom = YAHOO.util.Dom,
            Event = YAHOO.util.Event,
            Anim = YAHOO.util.Anim,
            demo = null,
            animate = null,
            holder = null,
            anim = null,
            attrs = {
                top: 0,
                left: 0
            };

        Event.onDOMReady(function() {
            demo = Dom.get('demo');
            animate = Dom.get('animate');
            Event.on(animate, 'click', function(ev) {
                var top = attrs.top - 80;
                animateBackground(top, 0);
                Event.stopEvent(ev);
            });
            holder = document.createElement('div');
            holder.id = 'holder';
            document.body.appendChild(holder);
            anim = new Anim(holder, {}, .5, YAHOO.util.Easing.bounceOut);
            anim.onTween.subscribe(function() {
                demo.style.backgroundPosition = holder.style.left + ' ' + holder.style.top;
            }, anim, true);
        });

        function animateBackground(top, left) {
            attrs.top = top;
            attrs.left = left;
            anim.attributes = {
                top: {
                    to: top
                },
                left: {
                    to: left
                }
            }
            anim.animate();
        }

    })()

}

YAHOO.namespace('IEDesign');

YAHOO.IEDesign.EasyCalendar = function () {

    var buttonClass = 'calendar_btn',
        buttonPath = '/img/calendar.png';
        
    var $E, $D;

    var showCalendar = function(e){
        //show first - cant set XY on element with display:none
        this.show();

        $D.setStyle(this.oDomContainer, 'opacity', 0);

        var target = $E.getTarget(e);
        var region = $D.getRegion(target);
        xy = [region.left, region.top];
        //position over cal button
        $D.setXY(this.oDomContainer, xy);

        //fade in
        var myAnim = new YAHOO.util.Anim(this.oDomContainer, {
            opacity: {
                to: 1
            }
        }, 0.4, YAHOO.util.Easing.easeOut);
        myAnim.animate();
    }

    var hideCalendar = function(cal){

        //fade out
        var myAnim = new YAHOO.util.Anim(cal.oDomContainer, {
            opacity: {
                to: 0
            }
        }, 0.4, YAHOO.util.Easing.easeOut);

        myAnim.onComplete.subscribe(function(){
            cal.hide();
        });

        myAnim.animate();
    }

    return  {

        init: function () {

            $E = YAHOO.util.Event;
            $D = YAHOO.util.Dom;

            $E.onDOMReady(function(){

                $D.getElementsByClassName('date', 'dd', 'bd', function(el){

                    //show button
                    var btn = document.createElement('img');
                    btn.src = buttonPath;

                    $D.addClass(btn, 'cal-btn');

                    el.appendChild(btn);

                    //add hidden container for calendar pane
                    var body = document.getElementsByTagName('body')[0];
                    var container = document.createElement('div');
                    body.appendChild(container);
                    $D.setStyle(container, 'position', 'absolute');
                    $D.setStyle(container, 'display', 'none');

                    var inputs = el.getElementsByTagName('select');

                    var selYear = inputs[2];
                    var selMonth = inputs[1];
                    var selDay = inputs[0];

                    //instantiate Calendar
                    var id = $D.generateId(container);
                    var cal = new YAHOO.widget.Calendar("cal", id, {
                        title:"Choose a date:",
                        close:true,
                        START_WEEKDAY:1,
                        HIDE_BLANK_WEEKS:true,
                        mindate: "1/1/" + selYear.options[0].value,
                        maxdate: "12/31/" + selYear.options[selYear.options.length-1].value
                    } );

                    //on button click, show calendar and position to button
                    $E.on(btn, 'click', showCalendar, cal, true);

                    //date selected on calendar, update select dropdowns
                    function handleSelect(type, args, obj) {

                        var dates = args[0];
                        var date = dates[0];
                        var year = date[0],
                        month = date[1],
                        day = date[2];

                        //first value isnt blank
                        if (1 == selDay.options[0].value) {
                            month--;
                            day--;
                        }

                        selMonth.selectedIndex = month;
                        selDay.selectedIndex = day;

                        for (var y=0;y<selYear.options.length;y++) {
                            if (selYear.options[y].text == year) {
                                selYear.selectedIndex = y;
                                break;
                            }
                        }

                        hideCalendar(obj);
                    }

                    //date changed on select dropdowns, update calendar
                    function updateCal() {

                        if (selMonth.selectedIndex && selYear.selectedIndex) {

                            var month = parseInt(selMonth.options[selMonth.selectedIndex].value);
                            var day = parseInt(selDay.options[selDay.selectedIndex].value);
                            var year = parseInt(selYear.options[selYear.selectedIndex].value);

                            cal.setMonth(month - 1);
                            cal.setYear(year);

                            if (! isNaN(month) && ! isNaN(day) && ! isNaN(year)) {
                                var date = month + "/" + day + "/" + year;

                                cal.select(date);

                            }

                        }

                        cal.render();
                    }


                    cal.selectEvent.subscribe(handleSelect, cal, true);

                    updateCal();

                    $E.on([selYear, selMonth, selDay], "change", updateCal);


                });

            });

        }
    };

}();

YAHOO.IEDesign.FindAccordion = function(){

    var config = {
        animate    : true,
        persistent : true
    }

    var $E, $D, $;

    var el;

    var animating = false;

    var animateTransition = false;

    function init(id) {

        $E = YAHOO.util.Event,
        $D = YAHOO.util.Dom,
        $  = YAHOO.util.Dom.get;

        el = $(id);

        if (!el) {
            return false;
        }

        addEventListener();

        if (YAHOO.env.ua.ie) {
            animateTransition = false;
        }

        return this;
    }

    function addEventListener() {
        $E.on(el, 'click', handleClick);
    }

    function handleClick(e) {

        var target = $E.getTarget(e);

        //click on heading?
        if (!$D.hasClass(target, 'hd') && !$D.hasClass(target.parentNode, 'hd')) {
            return;
        }

        var listEl = $D.getAncestorByTagName(target, 'li');

        if ($D.hasClass(listEl, 'selected')) {

            //one item must be open at all times
            if (config.persistent) {
                return false;
            }

            collapseItem(listEl);

        }else {

            //only one item, and one is currently being expanded
            if (config.persistent && animating) {
                return false;
            }

            expandItem(listEl);
        }
    }

    function expandItem(el) {
        
        var h = el.scrollHeight;

        if (animateTransition) {

            var myAnim = new YAHOO.util.Anim(el, {
            height: { to: h }
            }, 0.7, YAHOO.util.Easing.easeOut);

            myAnim.onComplete.subscribe(function(){
                $D.addClass(el, 'selected');
                animating = false;
            });

            myAnim.animate();

            animating = true;

            if (config.persistent ) {
                collapseExpandedItems();
            }

        }else{
            $D.setStyle($D.getChildren(el)[1], 'display', 'block');
            collapseExpandedItems();
            $D.addClass(el, 'selected');
        }

    }

    function collapseExpandedItems() {
        return $D.getElementsByClassName('selected', 'li', el, collapseItem);
    }

    function getExpandedItems() {
        return $D.getElementsByClassName('selected', 'li', el);
    }

    function collapseItem(el) {

        if (animateTransition) {
            var h = el.getElementsByTagName('div')[0].scrollHeight;

            var myAnim = new YAHOO.util.Anim(el, {
            height: { to: h }
            }, 0.7, YAHOO.util.Easing.easeOut);

            myAnim.onComplete.subscribe(function(){
                $D.removeClass(el, 'selected');
            });

            myAnim.animate();
        }else{
            
            $D.setStyle($D.getChildren(el)[1], 'display', 'none');
            $D.removeClass(el, 'selected');
        }
        
    }

    return {
        init: init
    }
}();



var init = function(){

    var $E = YAHOO.util.Event;
    var $D = YAHOO.util.Dom;
    var $ = $D.get;

    YAHOO.IEDesign.FindAccordion.init('find-venture-accordion');

    $E.on('search-form', 'submit', function(e){

        $E.stopEvent(e);

        window.location = '/search/' + $('keyword').value;

    });

    $E.on('keyword', 'focus', function(e){

        var v = $('keyword').value;

        if ('Search' == v){
            $('keyword').value = '';
        }

    });

    $E.on('keyword', 'blur', function(e){

        var v = $('keyword').value;

        if ('' == v){
            $('keyword').value = 'Search';
        }

    });

    if ($('register-panel')){

        var els = $('register-panel').getElementsByTagName('input');

        for (var i = 0; i < els.length; i++){

            if ('text' == els[i].type){

                els[i].originalValue = els[i].value;

                $E.on(els[i], 'focus', function(){
                    if (this.originalValue == this.value){
                        this.value = '';
                    }
                });

                $E.on(els[i], 'blur', function(){
                    if ('' == this.value){
                        this.value = this.originalValue;
                    }
                });
            }

        }

    }
    
    if($D.getElementsByClassName('date').length > 0) {

        YAHOO.IEDesign.EasyCalendar.init();

        body = document.getElementsByTagName('body')[0];

        if (!$D.hasClass(body, 'yui-skin-sam')) {
            $D.addClass(body, 'yui-skin-sam');
        }
    }

}

var loader = new YAHOO.util.YUILoader({
    require: ["utilities", "calendar"],

    onSuccess: function(o) {

        init();
    }
});


loader.insert();