/*
* Home Page - Individual Functions
* @Author: Alexander Gavazov
* @Date: 2007-11-23
*/

/*********** Flash Intro **************/
function loadFlashIntro()
{
	if(GetCookie('intro'))
	{
		setTimeout(afterIntro, 500);
		return false;
	}

	SetCookie('intro', true);
	$('flash_intro').style.height = '2000px';

	$('flash_intro').innerHTML += '<div id="FlashContainer"></div>';
	$('flash_intro').innerHTML += '<div id="flash_intro_bg"></div>';
	$('flash_intro').innerHTML += '<iframe></iframe>';

	document.body.style.overflow = 'hidden';

	writeSwf($('FlashContainer'), root_directory + 'images/intro.swf', 800, 600, '#202020', {
		soundURL: play_file
	});
}
function destroyFlashIntro()
{
	removeNodes($('flash_intro'));
	$('flash_intro').style.display = 'none';
	document.body.style.overflow = 'auto';

	setTimeout(afterIntro, 500);
}
function afterIntro()
{
	projectLoad(afterIntroProject);

	if(firstWeatherId)
	{
		loadWetaher(firstWeatherId);
	}
}



/*********** Projects **************/
var projectCountCompleate = 0;
var projectPresentImage;
var projectTweenPresentText;
var projectOnComplete = false;
var projectLastActiveFrame = '';


// Load JSON data with ajax
// Start functions
function projectLoad(id, onComplete)
{
	if(!id)
	{
		if(projectOnComplete)
		{
			projectOnComplete();
		}

		return;
	}

	if(projectLastActiveFrame)
	{
		projectLastActiveFrame.className = projectLastActiveFrame.className.replace(/active/, '');
	}

	projectLastActiveFrame = $('project_frame_' + id)
	projectLastActiveFrame.className += ' active';

	projectDestroy();
	projectShowPreloader();
	new Ajax(root_directory + lang + '/' + 'ajax/project_home/', 'get', {
		parameters: 'id=' + id,
		jsonVar: 'projectData',
		onComplete: projectLoadingData
	});
}


// Create preloader + fadein effect
function projectShowPreloader(noLoading)
{
	var source = '<div id="preloader"><img src="' + root_directory + 'images/layout/preloader.gif" alt="" />';
	if(!noLoading) source += '<br />Loading <span id="loading_project_procent">0</span>%';
	source += '</div>';

	$('project_frame').innerHTML += source;
}


// Load element (images)
function projectLoadingData()
{
	projectLoadElements = 1;

	$('t').innerHTML += '<img src="' +  projectData.present_image + '" id="visual_present_image" onload="projectCountCompleateImage();" style="opacity: 0" alt="" />';

	if(projectData.thumbs)
	{
		projectLoadElements += projectData.thumbs.length + projectData.thumbsBw.length;

		var projectImages = new Array();
		for(i in projectData.thumbs)
		{
			$('t').innerHTML += '<img src="' +  projectData.thumbs[i] + '" id="visual_present_image" onload="projectCountCompleateImage();" style="opacity: 0" alt="" />';
		}

		var projectImagesBw = new Array();
		for(i in projectData.thumbsBw)
		{
			$('t').innerHTML += '<img src="' +  projectData.thumbsBw[i] + '" id="visual_present_image" onload="projectCountCompleateImage();" style="opacity: 0" alt="" />';
		}
	}
}


// Count procent
function projectCountCompleateImage()
{
	projectCountCompleate++;

	if($('loading_project_procent'))
	{
		$('loading_project_procent').innerHTML = parseInt(100 / projectLoadElements * projectCountCompleate);
	}

	if(projectLoadElements == projectCountCompleate)
	{
		projectCreateElements();
	}
}



/*** Create ***/

// Project create: Step 1 - Show present image
function projectCreateElements()
{
	removeNodes($('t'));
	$('project_frame').removeChild($('preloader'));
	$('visual_put_present_image').innerHTML = '<img src="' +  projectData.present_image + '" id="visual_present_image" onload="projectCountCompleateImage()" style="opacity: 0" alt="" />';
	fade('visual_present_image', 100, 0, .9);

	projectCreateElementsSetp2()
}

// Project create: Step 2 - Show thumb title & thumbs
function projectCreateElementsSetp2()
{
	//project_thumb_title
	var source = '';
	source += projectData.title;

	$('project_thumb_title').innerHTML = source;

	fade('project_thumb_title', 100, 0, '', projectCreateElementsSetp3);
}

// Project create: Step 3 - Show present text
function projectCreateElementsSetp3()
{
	var source = '';
	source += '<div id="present_text" style="bottom: -80px">';
		source += '<div class="text_shadow"></div>';
		source += '<div class="text">';
			source += '<h1 class="title"><a href="' + projectData.link + '" onmouseover="return tooltip(this, \'' + titleLangMore + '\')">' + projectData.title + '</a></h1>';
			source += '<div class="project_icon ' + projectData.icon + '"></div>';
			source += '<p>' + projectData.summary + '</p>';
		source += '</div>';
	source += '</div>';

	$('visual_put_present_text').innerHTML = source;

	projectTweenPresentText = new Tween($('present_text').style, 'bottom', Tween.elasticEaseOut, -80, 37, 1.4, 'px');
	projectTweenPresentText.onMotionFinished = projectCreateElementsSetp4;
	projectTweenPresentText.start();
}

// Project create: Step 4 - Show thumbs
function projectCreateElementsSetp4()
{
	var source = '';
	source += '<div class="slider" id="visual_slide" style="left: -100px"></div>';
	source += '<ul id="visual_thumbs_move_elastic" style="left: 5px; opacity: 0">';
		for(i in projectData.thumbs)
		{
			var title = (projectData.thumbTitle[i]) ? 'onmouseover="return tooltip(this, \'' + projectData.thumbTitle[i] + '\')"' : '';

			source += '<li id="thumbs_mouse_control' + i + '" onclick="projectLoadImage(' + i + ', \'' + projectData.thumbPath[i] + '\')" onmouseover="fade(\'project_color_thumb' + i + '\', 100, 0)" onmouseout="fade(\'project_color_thumb' + i + '\', 0, 100)"';

			if(i == 0) source += 'class="first">';
			else if(i == projectData.thumbs.length - 1) source += ' class="last" >';
			else source += '>';

			source += '<div class="frame" ' + title + '></div>';
			source += '<img src="' + projectData.thumbsBw[i] + '" alt="" id="project_bw_thumb' + i + '" />';
			source += '<img src="' + projectData.thumbs[i] + '" alt="" id="project_color_thumb' + i + '" />';

			source += '</li>';
		}
	source += '</ul>';

	$('project_thumbs_slide').innerHTML = source;


	// Set thumb actions
	for(i in projectData.thumbs)
	{
		// Add evenst
		setOpacity($('project_bw_thumb' + i), 70);
		setOpacity($('project_color_thumb' + i), 0);
	}

	fade('visual_thumbs_move_elastic', 100, 0, 2);

	if(projectOnComplete)
	{
		projectOnComplete();
	}
}



/*** Destroy ***/

// Project destroy: Step 1
function projectDestroy()
{
	// Remove temp content
	removeNodes($('t'));

	// Reset procent
	if($('preloader'))
	{
		$('project_frame').removeChild($('preloader'));
	}
	projectCountCompleate = 0;


	// Reset present image
	removeNodes($('visual_put_present_image'));


	// Reset present text
	if(projectTweenPresentText)
	{
		projectTweenPresentText.stop();
	}
	removeNodes($('visual_put_present_text'));


	// Reset thumbs title
	setOpacity($('project_thumb_title'), 0);
	removeNodes($('project_thumb_title'));


	// Reset thumbs slide
	removeNodes($('project_thumbs_slide'));
}



function projectLoadImage(id, img)
{
	//visual_slide
	projectShowPreloader(true);

	removeNodes($('visual_put_present_image'));

	projectPresentImage = new Image();
	projectPresentImage.onload = function()
	{
		// Remove preloader
		$('project_frame').removeChild($('preloader'));

		// Create image
		$('visual_put_present_image').appendChild(projectPresentImage);
		fade('visual_present_image', 100, 0, .9);

		// Move slider
		var positionStart = parseInt($('visual_slide').style.left);
		var positionEnd = id * 77 + 2;
		slideTweenThumbs = new Tween($('visual_slide').style, 'left', Tween.strongEaseOut, positionStart, positionEnd, .8, 'px');
		slideTweenThumbs.onMotionFinished = function()
		{
			// Fade color thumb
			fade('project_color_thumb' + id, 100);

			// Remove unclor (mouseout)
			$('thumbs_mouse_control' + id).onmouseover = function(){return false};
			$('thumbs_mouse_control' + id).onmouseout = function(){return false};
		};
		slideTweenThumbs.start();

	}
	projectPresentImage.src = img;
	projectPresentImage.id = 'visual_present_image';
	projectPresentImage.style.opacity = '0';
}
/*********** /Weather **************/




/*********** Weather **************/
function loadWetaher(id)
{
	new Ajax(root_directory + 'ajax/weather/', 'get', {
		parameters: 'id=' + id,
		onComplete: function(url)
		{
			if(url)
			{
				writeSwf($('weather_content'), url, 615, 103);
			}
		}
	});
}
/*********** /Weather **************/




/*********** Newsletter **************/
function addNewsletter()
{
	newsletterMove(0, -250, newsletterSend);
}

function newsletterSend()
{
	new Ajax(root_directory + 'ajax/news_letter/', 'post', {
		parameters: 'email=' + $('news_letter_email').value,
		onComplete: function(message)
		{
			$('visual_news_letter_message').innerHTML = message;
			newsletterMove(-260, -500, function(){
				setTimeout("newsletterMove(-500, 0)", 3000);
			});
		}
	});
}

NewsletterMove = new Tween;
function newsletterMove(start, end, onComplete)
{
	NewsletterMove.init($('visual_news_letter_move').style, 'left', Tween.strongEaseOut, start, end, .9, 'px');
	NewsletterMove.onMotionFinished = (onComplete) ? onComplete : function(){};
	NewsletterMove.start();
}
/*********** /Newsletter **************/


