/*

 * 	Easy Slider - jQuery plugin

 *	written by Alen Grakalic	

 *	http://cssglobe.com/post/3783/jquery-plugin-easy-image-or-content-slider

 *

 *	Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)

 *	Dual licensed under the MIT (MIT-LICENSE.txt)

 *	and GPL (GPL-LICENSE.txt) licenses.

 *

 *	Built for jQuery library

 *	http://jquery.com

 *

 */

 

/*

 *	markup example for $("#images").easySlider();

 *	

 * 	<div id="images">

 *		<ul>

 *			<li><img src="images/01.jpg" alt="" /></li>

 *			<li><img src="images/02.jpg" alt="" /></li>

 *			<li><img src="images/03.jpg" alt="" /></li>

 *			<li><img src="images/04.jpg" alt="" /></li>

 *			<li><img src="images/05.jpg" alt="" /></li>

 *		</ul>

 *	</div>

 *

 */



(function($) {



    $.fn.easySlider = function(options) {



        // default configuration properties

        var defaults = {

            prevId: 'prevBtn',

            prevText: 'Previous',

            nextId: 'nextBtn',

            nextText: 'Next',

            controlsShow: true,

            controlsBefore: '',

            controlsAfter: '',

            controlsFade: true,

            firstId: 'firstBtn',

            firstText: 'First',

            firstShow: false,

            lastId: 'lastBtn',

            lastText: 'Last',

            lastShow: false,

            vertical: false,

            speed: 800,

            auto: false,

            pause: 2000,

            continuous: false,

            numeric: false,

            numericId: 'controls',

            onChangedCallback: imageChanged

        };



        var options = $.extend(defaults, options);



        this.each(function() {

            var obj = $(this);

            var s = $("li", obj).length;

            var w = $("li", obj).width();

            var h = $("li", obj).height();

            var clickable = true;

            obj.width(w);

            obj.height(h);

            obj.css("overflow", "hidden");

            var ts = s - 1;

            var t = 0;

            $("ul", obj).css('width', s * w);



            if (options.continuous) {

                $("ul", obj).prepend($("ul li:last-child", obj).clone().css("margin-left", "-" + w + "px"));

                $("ul", obj).append($("ul li:nth-child(2)", obj).clone());

                $("ul", obj).css('width', (s + 1) * w);

            };



            if (!options.vertical) $("li", obj).css('float', 'left');



            if (options.controlsShow) {

                var html = options.controlsBefore;

                if (options.numeric) {

                    html += '<ol id="' + options.numericId + '"></ol>';

                } else {

                    if (options.firstShow) html += '<span id="' + options.firstId + '"><a href=\"javascript:void(0);\">' + options.firstText + '</a></span>';

                    html += ' <span id="' + options.prevId + '"><a href=\"javascript:void(0);\">' + options.prevText + '</a></span>';

                    html += ' <span id="' + options.nextId + '"><a href=\"javascript:void(0);\">' + options.nextText + '</a></span>';

                    if (options.lastShow) html += ' <span id="' + options.lastId + '"><a href=\"javascript:void(0);\">' + options.lastText + '</a></span>';

                };



                html += options.controlsAfter;

                $(obj).after(html);

            };



            if (options.numeric) {

                for (var i = 0; i < s; i++) {

                    $(document.createElement("li"))

						.attr('id', options.numericId + (i + 1))

						.html('<a rel=' + i + ' href=\"javascript:void(0);\">' + (i + 1) + '</a>')

						.appendTo($("#" + options.numericId))

						.click(function() {

						    animate($("a", $(this)).attr('rel'), true);

						});

                };

            } else {

                $("a", "#" + options.nextId).click(function() {

                    animate("next", true);

                });

                $("a", "#" + options.prevId).click(function() {

                    animate("prev", true);

                });

                $("a", "#" + options.firstId).click(function() {

                    animate("first", true);

                });

                $("a", "#" + options.lastId).click(function() {

                    animate("last", true);

                });

            };



            function setCurrent(i) {

                i = parseInt(i) + 1;

                $("li", "#" + options.numericId).removeClass("current");

                $("li#" + options.numericId + i).addClass("current");

            };



            function showMeta(i) {

                document.getElementById("fss_meta").style.display = "block";

                debugger;

                var a = $("ul", obj);

                $("#fss_meta h3").html($("#fss ul:nth-child(" + i + ") img").attr("alt"));

                $("#fss_meta p").html(options.metaInfo[i - 1]);

            };



            function adjust() {

                if (t > ts) t = 0;

                if (t < 0) t = ts;

                if (!options.vertical) {

                    $("ul", obj).css("margin-left", (t * w * -1));

                } else {

                    $("ul", obj).css("margin-left", (t * h * -1));

                }

                clickable = true;

                if (options.numeric) setCurrent(t);

				var test = $(this).children().get(t+1).id;
				
				var brokenstring = test.split("_"); 

                if (options.onChangedCallback) options.onChangedCallback(brokenstring[2]);

            };



            function animate(dir, clicked) {

                if (clickable) {

                    clickable = false;

                    var ot = t;

                    switch (dir) {

                        case "next":

                            t = (ot >= ts) ? (options.continuous ? t + 1 : ts) : t + 1;

                            break;

                        case "prev":

                            t = (t <= 0) ? (options.continuous ? t - 1 : 0) : t - 1;

                            break;

                        case "first":

                            t = 0;

                            break;

                        case "last":

                            t = ts;

                            break;

                        default:

                            t = dir;

                            break;

                    };

                    var diff = Math.abs(ot - t);

                    var speed = diff * options.speed;

                    if (!options.vertical) {

                        p = (t * w * -1);

                        $("ul", obj).animate(

							{ marginLeft: p },

							{ queue: false, duration: speed, complete: adjust }

						);

                    } else {

                        p = (t * h * -1);

                        $("ul", obj).animate(

							{ marginTop: p },

							{ queue: false, duration: speed, complete: adjust }

						);

                    };



                    if (!options.continuous && options.controlsFade) {

                        if (t == ts) {

                            $("a", "#" + options.nextId).hide();

                            $("a", "#" + options.lastId).hide();

                        } else {

                            $("a", "#" + options.nextId).show();

                            $("a", "#" + options.lastId).show();

                        };

                        if (t == 0) {

                            $("a", "#" + options.prevId).hide();

                            $("a", "#" + options.firstId).hide();

                        } else {

                            $("a", "#" + options.prevId).show();

                            $("a", "#" + options.firstId).show();

                        };

                    };



                    if (clicked) clearTimeout(timeout);

                    if (options.auto && dir == "next" && !clicked) {

                        ;

                        timeout = setTimeout(function() {

                            animate("next", false);

                        }, diff * options.speed + options.pause);

                    };



                };



            };

            // init

            var timeout;

            if (options.auto) {

                ;

                timeout = setTimeout(function() {

                    animate("next", false);

                }, options.pause);

            };



            setCurrent(1);

            //if (options.onChangedCallback)

               // options.onChangedCallback(0);



            if (!options.continuous && options.controlsFade) {

                $("a", "#" + options.prevId).hide();

                $("a", "#" + options.firstId).hide();

            };

        });

    };



})(jQuery);



function imageChanged(num) {

//alert(num);

	var divs = $("#content_divs").children().each(function() {

        var child = $(this);

		child.css('display', 'none');

    });

	

	var divss = $("#ul_divs").children().each(function() {

        var child = $(this);

		child.css('display', 'none');

    });



	$(".sublink > a").each(function() {

		$(this).removeClass("active"); 

	});

	$("#l_"+num).addClass("active"); 



	$("#node_content_"+num).css('display', 'none');

	$("#node_content_"+num).fadeIn(300);

	

	$("#ul_content_"+num).css('display', 'none');

	$("#ul_content_"+num).fadeIn(300);

	

	$("#node_sidecontent_"+num).css('display', 'none');

	$("#node_sidecontent_"+num).fadeIn(300);

	



}


