
var timeOutId;
var works = new Array();
var currentWorkIndex = 0;
var numWorks = 0;
var menusCopy;

var ip=/\.png/i, al="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='",	c=0;
var clear="media/clear.gif"
			
$(document).ready(function(){
	

	init();
	
	$.ajax(
	{
        type: "GET",
		//url: "data/"+mw+".xml",
		//url: "data/new_file.xml",
		url: "data/getData.php?m=mWorks&mw="+mw+"&rand="+Math.floor(Math.random()*1001),
		dataType: "xml",
		success: function(xml)
		{
			
 			$(xml).find('item').each(function(i)
			{
				var w =  {}
				w.id = $(this).attr('id');
				w.title = $(this).attr('title');
				w.info = $(this).attr('info');
				w.frame = $(this).attr('frame');
				w.sold = $(this).attr('sold');
				w.copyright = $(this).attr('copyright');
				works[i] = w;
				numWorks++;
				
			});
			
			initWorks();
		}
	});
	
	//pfx(document.getElementsByTagName('*'));
	//pfx($("pngf"));
	pfx();
	
})

function initWorks()
{
	
	
	
	$.each(works, function(i) 
	{
		
		$("#worksNavNumbers").append('<a href="javascript:void(0)">'+(i+1)+'</a>')
	})

	if (colorClass=="black") fadeToBlack();
	
	$("a").click(function()
	{
		if ($(this).attr("href") != "javascript:void(0)") fadeToWhite($(this).attr("href"));
		return false;
		
	});
	
	
	setWork(0);
	
	
	var worksTip = $("#worksTip");

	var timeoutId;
	
	$("#worksNav a").click(function()
	{

		var nextIndex = getNextIndex(this)
		setWork(nextIndex);
		var nextIndex = getNextIndex(this)	
		//$("#worksTip img").attr("src", "media/gallery/thumbnails/"+mw+works[nextIndex].id+".png");
		
		hideWorksTip(0);
	});
	

	
	$("#worksNav a").mouseover(function(){
		//showWorksTip(timeoutId);
		
		if (timeoutId) {
			clearTimeout(timeoutId);
		}
		
		var xpos = $(this).offset().left - 30;
		
		
		worksTip.show();
		
		var index = getNextIndex(this)
		$("#worksTip img").attr("src", "media/works/thumbs/" + works[index].id + ".jpg");
		$("#worksTip img").addClass("unitPng");
		
	
		
		
		if (worksTip.css("visibility") == "hidden") {
			worksTip.css("visibility", "visible");
			worksTip.css("left", xpos + "px");
		}
		else {
			worksTip.animate({
				left: xpos
			}, 50);
		}
		
		worksTip.css("top", $(this).offset().top - 80 + "px");
		
	})
	
	$("#worksNav a").mouseout(function(){
		timeoutId = setTimeout("hideWorksTip(300)", 250)
		//console.log("new timer: " + timeoutId)
	});
}


function pfx()
{
	//els = new Array(document.getElementById("worksTip"))
	bels = document.getElementsByTagName("*");
	i=bels.length;
	
	els = new Array();
	
	while(i-->0)
	{
		if(!bels[i].className.match(/dontFixPng/))
		{
			els[c]=bels[i];c++;
		}
	}
	
	i=els.length;
	
	
	while(i-->0)
	{
		var el=els[i],
		es=el.style,
		elc=el.currentStyle,
		elb=elc.backgroundImage;
		
		if(el.src&&el.src.match(ip)&&!es.filter)
		{
			es.height=el.height;es.width=el.width;es.filter=al+el.src+"',sizingMethod='crop')";
			el.src=clear;
		}
		else
		{
			if(elb.match(ip))
			{
				var path=elb.split('"'),
				rep=(elc.backgroundRepeat=='no-repeat')?'crop':'scale',
				elkids=el.getElementsByTagName('*'),
				j=elkids.length;
				
				es.filter=al+path[1]+"',sizingMethod='"+rep+"')";
				es.height=el.clientHeight+'px';es.backgroundImage='none';
				
				if(j!=0)
				{
					if(elc.position!="absolute")es.position='static';
					while(j-->0)
						if(!elkids[j].style.position)elkids[j].style.position="relative";
				}
			}
		}
	}
}


function setWork(index)
{
	
	$("#worksTitle").html(works[index].title);
	$("#worksInfo").html(works[index].info);
	
	if (works[index].sold == "true") 
	{
		$("#worksInfo").addClass("sold")
	}
	else 
	{
		$("#worksInfo").removeClass("sold"); 
	}

	$("#worksTitle, #worksInfo").css('opacity', 0)
	
	Cufon.replace('#worksTitle', { fontFamily: 'bodoni' });
	Cufon.replace('#worksInfo', { fontFamily: 'din' });

	$("#worksInner .ds_copyright").html("");

	
	var img = new Image();
	var imgContainer = $("#worksInner .ds_c");

	imgContainer.html('<div class="loader"> </div>');
	$("#worksInner").removeClass("showFrame");
	
	
	$(img).load(function()
	{

		$(this).hide();
		
		
		imgContainer.html(this);
		$(this).fadeIn(1500);
		$("#worksTitle, #worksInfo").animate({ opacity: 1 });
		
		if (works[index].frame != "false" && colorClass!="black")
		{
			$("#worksInner").addClass("showFrame");
		}
		
		if (works[index].copyright) 
			$("#worksInner .ds_copyright").html("<span>"+works[index].copyright+"</span>");
			

	
	})
	$(img).attr("src", "media/works/"+works[index].id+".jpg");

	


	$("#worksNavNumbers a").eq(currentWorkIndex).removeClass("selected")
	$("#worksNavNumbers a").eq(index).addClass("selected")
	
	Cufon.replace('#worksNavNumbers', { fontFamily: 'din' });
	
	currentWorkIndex = index;
}

function hideWorksTip(delay){
	$("#worksTip").fadeOut(delay)
}

/*
function showWorksTip(timeoutId){
	if (timeoutId) {
		clearTimeout(timeoutId);
	}
	
	var xpos = $(this).offset().left - 30;
	
	
	worksTip.show();
	
	var index = getNextIndex(this)
	$("#worksTip img").attr("src", "works/thumbs/" + works[index].id + ".jpg");
	console.log("works/thumbs/" + works[index].id + ".jpg")
	alert("plop")
	
	
	if (worksTip.css("visibility") == "hidden") {
		worksTip.css("visibility", "visible");
		worksTip.css("left", xpos + "px");
	}
	else {
		worksTip.animate({
			left: xpos
		}, 50);
	}
	
	worksTip.css("top", $(this).offset().top - 80 + "px");
}*/


function getNextIndex(el)
{
	if (el.id == "worksNavPrev")   	nextIndex = (currentWorkIndex == 0) ? numWorks - 1 : currentWorkIndex - 1;
	else if (el.id == "worksNavNext")	nextIndex = (currentWorkIndex == numWorks - 1) ? 0 : currentWorkIndex + 1;
	else nextIndex = $(el).text()-1;
	return nextIndex;
}

function fadeToBlack()
{
	
	$("body").append('<div id="menusCopy" class="white">'+$("#menus").html()+'</div>');
	
	menusCopy = $("#menusCopy");
	menusCopy.css("top", $("#menus").offset().top + "px");
	menusCopy.css("left", $("#menus").offset().left +"px");
	
	menusCopy.fadeOut(300);
	
	
	$("body").animate({backgroundColor: "#0d0d0d"}, 200, "linear");
	$("#main").animate({backgroundColor: "#191919"}, 200, "linear");
	
	$("#worksOuter").removeClass("white");
	$("#worksOuter").addClass("black");
	
	$("#worksTip").removeClass("white");
	$("#worksTip").addClass("black");
	
	$("#worksBottom").removeClass("white");
	$("#worksBottom").addClass("black");
	
	
}

function fadeToWhite(href)
{
	menusCopy.fadeIn(300);
	$("#menus").fadeOut(300);
	$("#worksInner .ds_c img").fadeOut(100);
	
	$("body").animate({backgroundColor: "#f2f2f2"}, 200, "linear", function()
	{
		document.location = href;
	});
	$("#main").animate({backgroundColor: "white"}, 200, "linear");
}
