$(document).ready(function() {
jQuery.extend({
	random: function(X) {
	    return Math.floor(X * (Math.random() % 1));
	},
	randomBetween: function(MinV, MaxV) {
	  return MinV + jQuery.random(MaxV - MinV + 1);
	}
});

	$('#sheet').hide();
	$('a.show').click(function() {
		$('#sheet').slideToggle('slow');
		return false;
	});

	$('#zoomer').flash(
			{
				swf:    '/img/general/zoomer.swf',
                height: 340,
        		width:  490,
                allowfullscreen: 'true',
                menu: 'false',
                bgcolor: '#FFFFFF',
				flashvars: {
				    zoomifyXMLPath: '/img/general/zoomer.xml'
                }
			}
		);
    //************ add flv *************//
    flv = ['victoria_v04','nikky_v03','zelda_v02','caprice_v01','chiara_v03','jenni_v03','danae_v02', 'cikita_v04', 'angel_v02'];
 	function insertflv(id){
		$('#player1').flash(
			{
				swf:    '/img/general/flvplayer.swf',
                height: 405,
        		width:  648,
				flashvars: {
                    file:           '/img/movies/flv/'+ flv[id]+'.flv',
                    image:          '/img/movies/preview/'+ flv[id]+'.jpg',
                    showdigits:     'false',
                    usefullscreen:  'false',
                    backcolor:      '0xFFFFFF'
                }
			}
		);
    }

    $('.flvmenu a').click(function() {
       $(this).not(".flvmenuLinkAactive").each(function(){
            var index = $(".flvmenu a").index(this);
            $(this).siblings("a").removeClass("flvmenuLinkAactive");
            $(this).addClass("flvmenuLinkAactive");
            $('#player1').flash().remove();
            insertflv(index);
       });
       return false;
	});
//    console.info(    $.randomBetween(0, 3),index);
    random = $.randomBetween(0,flv.length);
    $('.flvmenu a').eq(random).addClass("flvmenuLinkAactive");
    insertflv(random);

});


// Scroll: Setup Scrolling Stuff
var currentSection2 = new Array();
currentSection2[1] = "photo-page";
currentSection2[2] = "erro-page";
//var currentSection = "strana-pane";

// Scroll the page manually to the position of element "link", passed to us.

function Scroll(link, scrollArea, offset,number)
{
    tabTag = "-tab";
	// Store the last section, and update the current section
	if (currentSection2[number] == link) {
		return;
	}
	lastSection = currentSection2[number];
	currentSection2[number] = link

	// Change the section highlight.
	// Extract the root section name, and use that to change the background image to 'top', revealing the alt. state

    sectionTab = currentSection2[number].split("-")[0] + tabTag + number;
    document.getElementById(sectionTab).className = "active";
    if (lastSection) {
	    lastTab = lastSection.split("-")[0] + tabTag + number;
	    document.getElementById(lastTab).className = "inactive";
	}
    // console.log(currentSection2[number]);
	// Get the element we want to scroll, get the position of the element to scroll to

	theScroll = document.getElementById(scrollArea);
	position = findElementPos(document.getElementById(link));

	// Get the position of the offset div -- the div at the far left.
	// This is the amount we compensate for when scrolling

	if (offset != "") {
		offsetPos = findElementPos(document.getElementById(offset));
		position[0] = position[0] - offsetPos[0];
		position[1] = position[1] - offsetPos[1];
	}
	scrollStart(theScroll, theScroll.scrollTop, position[1], "hor");
	// return false;
}

function Scroll2(link, scrollArea, offset,number)
{
    tabTag = "-tab";
	// Store the last section, and update the current section
	if (currentSection2[number] == link) {
		return;
	}
	lastSection = currentSection2[number];
	currentSection2[number] = link

	// Change the section highlight.
	// Extract the root section name, and use that to change the background image to 'top', revealing the alt. state
/*
    sectionTab = currentSection2[number].split("-")[0] + tabTag + number;
    document.getElementById(sectionTab).className = "active";
    if (lastSection) {
	    lastTab = lastSection.split("-")[0] + tabTag + number;
	    document.getElementById(lastTab).className = "inactive";
	}*/
    // console.log(currentSection2[number]);
	// Get the element we want to scroll, get the position of the element to scroll to

	theScroll = document.getElementById(scrollArea);
	position = findElementPos(document.getElementById(link));

	// Get the position of the offset div -- the div at the far left.
	// This is the amount we compensate for when scrolling

	if (offset != "") {
		offsetPos = findElementPos(document.getElementById(offset));
		position[0] = position[0] - offsetPos[0];
		position[1] = position[1] - offsetPos[1];
	}
	scrollStart(theScroll, theScroll.scrollTop, position[1], "hor");
	// return false;
}

//
// Animated Scroll Functions
// Scrolls are synchronous -- only one at a time.
//

var scrollanim = {time:0, begin:0, change:0.0, duration:0.0, element:null, timer:null};

function scrollStart(elem, start, end, direction)
{
	//console.log("scrollStart from "+start+" to "+end+" in direction "+direction);

	if (scrollanim.timer != null) {
		clearInterval(scrollanim.timer);
		scrollanim.timer = null;
	}
	scrollanim.time = 0;
	scrollanim.begin = start;
	scrollanim.change = end - start;
	scrollanim.duration = 25;
	scrollanim.element = elem;

	if (direction == "horiz") {
		scrollanim.timer = setInterval("scrollHorizAnim();", 15);
	}
	else {
		scrollanim.timer = setInterval("scrollVertAnim();", 15);
	}
}

function scrollVertAnim()
{
	if (scrollanim.time > scrollanim.duration) {
		clearInterval(scrollanim.timer);
		scrollanim.timer = null;
	}
	else {
		move = sineInOut(scrollanim.time, scrollanim.begin, scrollanim.change, scrollanim.duration);
		scrollanim.element.scrollTop = move;
		scrollanim.time++;
	}
}

function scrollHorizAnim()
{
	if (scrollanim.time > scrollanim.duration) {
		clearInterval(scrollanim.timer);
		scrollanim.timer = null;
	}
	else {
		move = sineInOut(scrollanim.time, scrollanim.begin, scrollanim.change, scrollanim.duration);
		scrollanim.element.scrollLeft = move;
		scrollanim.time++;
	}
}


//
// MOVE: Animate the move of an element.
//
// Move is also synchronous. One at a time, please.
//

var moveanim = {time:0, beginX:0, changeX:0.0, beginY:0, changeY:0, duration:0.0, element:null, timer:null};

function moveStart(elem, startX, endX, startY, endY, duration)
{
	if (moveanim.timer != null) {
		clearInterval(moveanim.timer);
		moveanim.timer = null;
	}
	moveanim.time = 0;
	moveanim.beginX = startX;
	moveanim.changeX = endX - startX;
	moveanim.beginY = startY;
	moveanim.changeY = endY - startY;
	moveanim.duration = duration;
	moveanim.element = elem;

	moveanim.timer = setInterval("moveAnimDo();", 15);
}

function moveAnimDo()
{
	if (moveanim.time > moveanim.duration) {
		clearInterval(moveanim.timer);
		moveanim.timer = null;
	}
	else {
		moveX = cubicOut(moveanim.time, moveanim.beginX, moveanim.changeX, moveanim.duration);
		moveY = cubicOut(moveanim.time, moveanim.beginY, moveanim.changeY, moveanim.duration);
		moveanim.element.style.left = moveX + "px";
		moveanim.element.style.top = moveY + "px";
		moveanim.time++;
	}
}

function findElementPos(elemFind)
{
	var elemX = 0;
	var elemY = 0;
	do {
		elemX += elemFind.offsetLeft;
		elemY += elemFind.offsetTop;
	} while ( elemFind = elemFind.offsetParent )

	return Array(elemX, elemY);
}

// t = time, b = begin, c = change, d = duration
// time = current frame, begin is fixed, change is basically finish - begin, duration is fixed (frames),

function linear(t, b, c, d)
{
	return c*t/d + b;
}

function sineInOut(t, b, c, d)
{
	return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
}

function cubicIn(t, b, c, d) {
	return c*(t/=d)*t*t + b;
}

function cubicOut(t, b, c, d) {
	return c*((t=t/d-1)*t*t + 1) + b;
}

function cubicInOut(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;
}

function bounceOut(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;
	}
}
