$(document).ready(function(){

   $('a[href^="http://"]').not('.picchanger').attr({target: "_blank", title: "Opens in a new window"});

	var thatchSlideShow = function(what) {
        var me = this;
        var timer = 6000;
        var fade = timer / 4;
        var stuff = {
            doSwitch: function() {
                var active = $(what+' div.f.active');
                if ( active.length == 0 ) {
				  active = $(what+' div.f:last');
				}
                var next =  active.next().length ? active.next() : $(what+' div.f:first');

                active.addClass('last-active');

                next.css({opacity: 0.0})
                .addClass('active')
                .animate({opacity: 1.0}, fade, function() {
                    active.removeClass('active last-active');
                });


            },
            init:function() {
                //force preload the slideshow
				height = 0;
				$(what+' div.f').each(function() {
					if ($(this).height() > height) {
						height = $(this).height();
					}
				});
				$(what+' div.f').height(height);
				$(what).height(height);
                $('#slideshow img').each(function() {
                    Preload.load($(this).attr('src'));
                });
                // start the slideshow
                setInterval(function() {
                    stuff.doSwitch.apply()},timer);
            }
        }
        stuff.init.apply(stuff);
        return stuff;
    };

	  var thatchSlideShow2 = function(what) {
        var me = this;
        var timer = 6000;
        var fade = timer / 4;
        var stuff = {
            doSwitch: function() {
                var active = $(what+' img.active');
                if ( active.length == 0 ) active = $(what+' img:last');
                var next =  active.next().length ? active.next() : $(what+' img:first');
                active.addClass('last-active');
                next.css({opacity: 0.0})
                .addClass('active')
                .animate({opacity: 1.0}, fade, function() {
                    active.removeClass('active last-active');
                });


            },
            init:function() {
				height = 0;
				$(what+' img').each(function() {
					if ($(this).height() > height) {
						height = $(this).height();
					}
				});
				$(what).height(height);
                //force preload the slideshow
                $(what+' img').each(function() {
                    Preload.load($(this).attr('src'));
                });
                // start the slideshow
                setInterval(function() {
                    stuff.doSwitch.apply()},timer);
            }
        }
        stuff.init.apply(stuff);
        return stuff;
    };



    if ($('#slideshow').length) {
        new thatchSlideShow('#slideshow');
    }

	if ($('#slideshow2').length) {
        new thatchSlideShow('#slideshow2');
    }

	if ($('#slideshow3').length) {
        new thatchSlideShow2('#slideshow3');
    }


$(function(){
	var hideDelay = 500;
	var currentID;
	var hideTimer = null;
	var container = $('<div id="tt" style="display:none"><div id="ttloading" style="margin:140px 0 140px 120px"><h1>Loading...</h1></div></div>');
	//$(container).css('opacity','0.9');
	$('body').append(container);

	$('.ajax-preview', '#newsright').live('mouseover', function(e){
		var id = $(this).attr('name');
		if (id == '')
			return;
		if (hideTimer)
			clearTimeout(hideTimer);

		var pos = $(this).offset();
		var left = e.pageX;
		var width = $(this).width();
		var leftoffset = $(container).width();
		container.css({
			left: (pos.left - leftoffset) + 'px',
			top: pos.top + 'px'
		});

		// check for the existence of a hidden div
		$('#ttloading').css('display', 'block');
		$('div.hidden', '#tt').css('display','none');

		if ($('#ajaxpreview'+id).is(":hidden")) {
			$('#ttloading').css('display', 'none');
			$('#ajaxpreview'+id).css('display', 'block');
			$('#tt').attr('rel', id);
		} else {
			$.ajax({
				type: 'GET',
				url: '/news/view/'+id,
				success: function(data){
					$('#tt').append(data);
					$('div.hidden', '#tt').css('display','none');
					$('#ttloading').css('display', 'none');
					$('#ajaxpreview'+id).css('display', 'block');
				}
			});
		}

		container.css('display', 'block');
	});

	$('.ajax-preview', '#newsright').live('mouseout', function(){
		var id = $(this).attr('name');
		if (hideTimer)
			clearTimeout(hideTimer);
		hideTimer = setTimeout(function(){
			container.css('display', 'none');
			$('#ajaxpreview'+id).css('display', 'none');
		}, hideDelay);
	});

	// Allow mouse over of details without hiding details
	$('#tt').mouseover(function(){
		if (hideTimer)
			clearTimeout(hideTimer);
	});

	// Hide after mouseout
	$('#tt').mouseout(function(){
		var id = $(this).attr('name');
		if (hideTimer)
			clearTimeout(hideTimer);
		hideTimer = setTimeout(function(){
			container.css('display', 'none');
			$('#ajaxpreview'+id).css('display', 'none');
		}, hideDelay);
	});
});

	if ($('#metachanger')) {
        var metadata = '';
        var id = $('#metalink').attr('rel');
        $('#metadiv').hide();
        $('#metalink').click(function(){
            $('#metadiv').slideToggle(500);
            //$("#metadiv").animate({ height: "300px" }).animate({height: "250px" }, "fast");

            $.get("/update.php", { getcontent: "1", id: $(this).attr('rel'), target: 'title' },function(data) {
                $("form.metaform input[name='title']").val(data);
            });
            $.get("/update.php", { getcontent: "1", id: $(this).attr('rel'), target: 'headline' },function(data) {
                $("form.metaform input[name='desc']").val(data);
            });

            $.get("/update.php", { getcontent: "1", id: $(this).attr('rel'), target: 'keywords' },function(data) {
                $("form.metaform input[name='keywords']").val(data);
            });

            $.get("/update.php", { getcontent: "1", id: $(this).attr('rel'), target: 'weight' },function(data) {
                $("form.metaform input[name='weight']").val(data);
            });

            return false;
        });

        $('form.metaform').submit(function() {
            var inputs = [];
            $(':input', this).each(function() {
                inputs.push(this.name + '=' + escape(this.value));
            });
            $('#metadiv').slideUp('fast');
             $.ajax({
                type: "POST",
                url: this.action,
                data: inputs.join('&'),
                beforeSend: function(){$("#loading").slideDown("fast");}, //show loading just when link is clicked
                complete: function(){ $("#loading").slideUp("fast");}, //stop showing loading when the process is complete
                success: function(html){ //so, if data is retrieved, store it in html
                    $("#metadiv").show("slow"); //animation
                    $('#metalog').slideDown('fast');
                    $("#metalog").html("<h2>Meta Log</h2><div style='clear:both'></div>"+html); //show the h
                    setTimeout(function(){
                        $('#metalog').slideUp('slow');
                    }, 5000);
                }
            });
            return false;
        });
    }
});

/*******************************************************************************
 *  Preloading
 ******************************************************************************/
var Preload = {
    load: function(trigger, handlers) {
        if( (typeof trigger).toLowerCase() == 'string' ){
            src = trigger;
        }else{
            src = $(trigger).attr('href');
            try{
                opts = eval( '({' + $(trigger).attr('rel') + '})' );
            }catch(e){}
        }
        //test if it is an image, otherwise, use ajax
        if( src.match(/.jpg$|.jpeg$|.png$|.gif$|.bmp$|.tif$|.tiff$|.gi$/i) ){
            var img = new Image();
            if( handlers ){
                if( handlers.loaded && typeof handlers.loaded == 'function' ){
                    img.onload = function(){
                        response = {
                            width: img.width,
                            height: img.height,
                            obj: $('<img>').attr('src',img.src)
                        };
                        handlers.loaded( response );
                    };
                }
                if( handlers.loaded && typeof handlers.error == 'function' ){
                    img.onerror = function( err ){
                        handlers.error( err );
                    }
                }
            }
            img.src = src;
        }else if( src.match(/.swf$|.flv$|.SWF$|.FLV$/i) ){
            if( $.fn.flash ){
                if( handlers ){
                    if( handlers.loaded && typeof handlers.loaded == 'function' ){
                    // todo: code flash handling
                    }
                }
            }
        }else{
            $.get(
                src,
                function( html ){
                    if( handlers ){
                        if( handlers.loaded && typeof handlers.loaded == 'function' ){
                            var content = $('<div>').html( html );
                            response = {
                                width: parseInt(content.children(0).css('width')),
                                height: parseInt(content.children(0).css('height')),
                                obj: content,
                                data: html
                            };
                            handlers.loaded( response );
                        }
                    }
                }
            );
        }
    }
};

/*
$.easing.elasout = 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;
	};
$.easing.easeInQuart = function (x, t, b, c, d) {
	return c*(t/=d)*t*t*t + b;
};
$.easing.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;
};
 */
// 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;
    }
});

