var SlideshowObj = Class.create();
SlideshowObj.prototype =  
{
	projectsList	: [],
	projIndex		: 0,
	allOk			: false,
	Delay			: 5000,
	sldStarted		: false,
	NowItem			: null,
	NextItem		: null,
	Timer			: 0,
	Timeout			: 0,
	NextSlideId		: 'next_slide_img',
	changeStep 		: 0.2,
	
	initialize: function(Options)
	{ 
		this.Options = {
			ImageId					: '',
			ClientId				: '',
			ProjectId				: '',
			DescId					: '',
			slideContainer 			: '',
			imagesContainer 		: '',
			loadingImage 			: '',
			extraDetailsContainer	: '',
			imgClassName			: ''
		};
		
		Object.extend(this.Options, Options || {});
		this.LoadProjects();
	},
	
	prepareSlide : function()
	{
		var Div = $('divPoints');
		for (var i = 0; i < this.projectsList.length; i++)
		{
			var Image 	= document.createElement('IMG');
			Image.src 	= "poze/bullet_inactiv.jpg";
			Image.id 	= "proj_" + i;
			Image.style.cursor = 'pointer';
			Div.appendChild(Image);
			Event.observe(Image, 'click', this.displayOneProj.bindAsEventListener(this));
		}
		
		if ((this.projectsList.length > 0) && $(this.Options.ImageId) && $(this.Options.ClientId) && $(this.Options.ProjectId)) this.allOk = true;
		if (this.allOk)
		{
			$(this.Options.loadingImage).style.display 		= 'none';
			$(this.Options.imagesContainer).style.display 	= 'block';
			$(this.Options.slideContainer).style.display 	= 'block';
			if ($(this.Options.extraDetailsContainer)) 
			{
				$(this.Options.extraDetailsContainer).style.display = 'block';
			}
			
			this.slideProjects();
		}
	},
	
	slideProjects : function()
	{
		if (this.allOk)
		{
			this.NowItem 	= this.projectsList[this.projIndex];
	    	this.NextItem 	= (this.projIndex < (this.projectsList.length - 1)) ? this.projectsList[this.projIndex + 1] : this.projectsList[0];
	    	if (this.sldStarted == false)
	    	{
	    		var NextImage 				= new Image();
	    		NextImage.src 				= this.NextItem.LogoHome;
	    		NextImage.id 				= this.NextSlideId;
	    		NextImage.className 		= this.Options.imgClassName;
	    		NextImage.style.display 	= 'block';
	    		NextImage.style.position 	= 'absolute';
	    		NextImage.style.width 		= $(this.Options.ImageId).style.width;
	    		NextImage.style.height 		= $(this.Options.ImageId).style.height;
	    		NextImage.style.opacity 	= 0;
	    		NextImage.style.filter 		= 'alpha(opacity : 0)';
	    		$(this.Options.imagesContainer).appendChild(NextImage);
	    		
	    		$(this.Options.ImageId).style.opacity 	= 1;
	    		$(this.Options.ImageId).style.filter 	= 'alpha(opacity : 100)';
	    		this.sldStarted = true;	
	    	}
			else 
			{
				$(this.NextSlideId).src 			= this.NextItem.LogoHome;
				$(this.NextSlideId).style.opacity 	= 0;
				$(this.NextSlideId).style.filter 	= 'alpha(opacity : 0)';
			}
	    	
			$(this.Options.ImageId).src 		= this.NowItem.LogoHome;
			$(this.Options.ClientId).innerHTML 	= this.NowItem.ClientName;
			$(this.Options.ProjectId).innerHTML = this.NowItem.Name;
			$(this.Options.DescId).innerHTML 	= this.NowItem.Description2;
			
			for (var i = 0; i < this.projectsList.length; i++)
		   	{
		   		if ($("proj_" + i)) $("proj_" + i).src = (i != this.projIndex) ? "poze/bullet_inactiv.jpg" : "poze/bullet_activ.jpg";
		   	}
			
			this.Timeout = setTimeout(this.startFade.bindAsEventListener(this), this.Delay);
		}
	},
	
	startFade : function()
    {
    	this.Timer = setInterval(this.fadeImage.bindAsEventListener(this), 50);
    },
    
    fadeImage : function()
    {
    	var NowOpacity 	= parseFloat($(this.Options.ImageId).style.opacity);
    	var NextOpacity = parseFloat($(this.NextSlideId).style.opacity);
    	
    	if (NowOpacity > 0)
    	{
    	   	$(this.Options.ImageId).style.opacity 	= (NowOpacity - this.changeStep);
    	   	$(this.Options.ImageId).style.filter 	= 'alpha(opacity = ' + (NowOpacity - this.changeStep) * 100 + ')';
    	   	$(this.NextSlideId).style.opacity 		= (NextOpacity + this.changeStep);
	   		$(this.NextSlideId).style.filter 		= 'alpha(opacity = ' + (NextOpacity - this.changeStep) * 100 + ')';	   		
    	}
    	else
    	{
    		clearInterval(this.Timer);
    		this.projIndex = (this.projIndex < (this.projectsList.length - 1)) ? (this.projIndex + 1) : 0;
    		$(this.Options.ImageId).style.opacity = 0;
    		
	    	var Aux 				= this.Options.ImageId;
	    	this.Options.ImageId 	= this.NextSlideId;
	    	this.NextSlideId 		= Aux;
    		this.slideProjects();
    	}
    },
    
    displayOneProj : function(event)
    {
		var ev 		= event || window.event;
		var index 	= ev.target.id;
		index 		= index.replace(/proj_/, '');
		if (!Object.isUndefined(this.projectsList[index]))
		{
			clearInterval(this.Timer);
    		clearTimeout(this.Timeout);
    		this.projIndex = parseInt(index);
    		this.slideProjects();
		}
    },
    
    go2ProjectPage : function()
    {
        if (!Object.isUndefined(this.projectsList[this.projIndex]))
		{
			window.location = 'http://www.interactions.ro/project.php?p=' + this.projectsList[this.projIndex].Link;
		}
    },
		
	LoadProjects : function()
	{
		var AjaxRequest = new Ajax.Request
		(
			'loadHomeProjects.php',
			{
				method		: 'post',
				onSuccess	: this.OnSuccess.bindAsEventListener(this),
				onFailure	: this.OnSuccess.bindAsEventListener(this)
			}
		);	
	},
	
	OnSuccess : function(OriginalRequest, AjaxRequest)
	{
		eval ("Result = " + OriginalRequest.responseText);
		this.projectsList = (Result != 0) ? Result : [];
		this.prepareSlide();		
	}
}

/*var Projects = [];
var Index = 0;
var sldStarted = false;
Event.observe(window, 'load', function()
{
	LoadProjects();
});

function LoadProjects()
{
	var AjaxRequest = new Ajax.Request
	(
		'loadHomeProjects.php',
		{
			method		: 'post',
			onSuccess	: SuccesProj,
			onFailure	: SuccesProj
		}
	);	
}

function SuccesProj(response)
{
	eval ("Result = " + response.responseText);
	Projects = (Result != 0) ? Result : [];
	
	var infoDispl = false;
	var Div = $('divPoints');
	for (var i = 0; i < Projects.length; i++)
	{
		var Image 	= document.createElement('IMG');
		Image.src 	= "poze/bullet_inactiv.jpg";
		Image.id 	= "proj_" + i;
		Image.style.cursor = 'pointer';
		Div.appendChild(Image);
		Event.observe(Image, 'click', function (event) 
		{ 
			var ev 		= event || window.event;
			var index 	= ev.target.id;
			index 		= index.replace(/proj_/, '');
			if (!Object.isUndefined(Projects[index])) DisplayProj(Projects[index], index);
		});
		
		if (!infoDispl)
		{  
			StartSlide(Projects[i], i);
			infoDispl = true;
		}
	}
}

function DisplayProj(ProjObj, index)
{
	var imgPreloader = new Image();
	imgPreloader.onload = (function(){
        $('imgLogo').src = imgPreloader.src;
    });
    imgPreloader.src = 'poze/projects/' + ProjObj.ImagesFolder + '/logo/' + ProjObj.LogoHome;
    
   	$('cName').update(ProjObj.ClientName);
   	$('pName').update(ProjObj.Name);
   	$('pContent').update(ProjObj.Description2);
   	for (var i = 0; i < Projects.length; i++)
   	{
   		if ($("proj_" + i)) $("proj_" + i).src = (i != index) ? "poze/bullet_inactiv.jpg" : "poze/bullet_activ.jpg";
   	}
}*/
