// Work szekció animációja
function divMorph(state,t) {
	if ( state == 0 ) {
		if ( rajta == 0 ) {
			$('img#'+t).animate({
				opacity: 0.5,
				marginLeft:'0'	
			},600);
		}
		$.clearQueue();
	}
	else if ( state == 1 ) {
		if ( rajta == 1 ) { 
			$('div#'+t+'>div').animate({
				opacity: 1.0
			},300);		
		}
	}
}

// JSON értelmezés / kiírás
function parseData(data) {
	var jsonObj = JSON.parse(data);
	n = jsonObj.length;
	$('#tweets').empty();
	for (var i=0;i<n;i++) {
		var tweetTime = new Date(jsonObj[i].created_at);
		var nowTime = new Date();
		var milsec = Date.parse(tweetTime);
		var subsec = Math.round((nowTime - tweetTime)/1000);
		var toPrint;
		if ( subsec < 60 ) { toPrint = subsec+' seconds ago'; }
		else if ( subsec < 3600 ) { toPrint = Math.round(subsec/60)+' minutes ago'; }
		else if ( subsec < 43200 ) { toPrint = Math.round(subsec/3600)+' hours ago'; }
		else { toPrint = tweetTime.toLocaleString(); }
		$('#tweets').append('<div id="'+jsonObj[i].tid+'"><span class="text">'+jsonObj[i].text+'</span><br /><span class="footer">@AlfredDobradi - '+toPrint+'</span></div>');
	}
}

// Csirip-frissítés
function refreshTweets() {
	$.ajax({
		type: "GET",
		url: "backend/twitter.php",
		data: "last="+$('#tweets > div:first').attr('id'),
		dataType: "text",
		success: function(data) {
			if ( data != null && data != "null" ) {
				parseData(data);
			}
			/*var jsonObj = JSON.parse(data);
			var n=jsonObj.length;
			for (var i=0;i<n;i++) {
				var tweetTime = new Date(jsonObj[i].created_at);
				var nowTime = new Date();
				var milsec = Date.parse(tweetTime);
				var subsec = Math.round((nowTime - tweetTime)/1000);
				var toPrint;
				if ( subsec < 60 ) { toPrint = subsec+' seconds ago'; }
				else if ( subsec < 3600 ) { toPrint = Math.round(subsec/60)+' minutes ago'; }
				else if ( subsec < 43200 ) { toPrint = Math.round(subsec/3600)+' hours ago'; }
				else { toPrint = tweetTime.toLocaleString(); }
				$('#tweets').prepend('<div id="'+jsonObj[i].tid+'"><span class="text">'+jsonObj[i].text+'</span><br /><span class="footer">@AlfredDobradi - '+toPrint+'</span></div>').fadeIn(1000);
			}*/
			$('#tweets > div').each(function(i) {
				if ( i>5 ) { $(this).fadeOut(1000); }
			});
		},
		error: function(xhr,ts,et) {
			alert('error: '+ts);
		}
	});
}

// Csirip-idozítés
function timedCount()
{
refreshTweets();
t=setTimeout("timedCount()",15000);
}

// Ellenorzo függvények
function captcha() {
	if ( $('input#check').val() == $('input#tocheck').val() ) { return true; }
	else { return false; }
}
function namecheck(name) {
	return /^\S+[A-Za-z\s-]+/.test(name);
}
function emailcheck(email) {
	return /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/.test(email.toLowerCase());
}	
function urlcheck(url) {
	return /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ .test(url.toLowerCase());
}
function fcheck(f) {
	if ( f == "" ) { return false; }
	else { return true; }
}

// Urlap-ellenorzés
function errorcheck() {
	var iserror = false;
	if ( captcha() === false ) { $('input#check').addClass('error'); iserror=true; }
	n = $('input#name').val();
	if ( n == "" || n == null ) {
		$('input#name').addClass('error'); iserror=true;
	}
	else {
		if ( namecheck(n) === false ) { $('input#name').addClass('error'); iserror=true; }
	}
	if ( emailcheck($('input#email').val()) === false ) { $('input#email').addClass('error'); iserror=true; }
	if ( $('input#URL').val() != "" ) { if ( urlcheck($('input#URL').val()) === false ) { $('input#URL').addClass('error'); iserror=true; } }
	if ( fcheck($('textarea#feedback').val()) === false ) { $('textarea#feedback').addClass('error'); iserror=true; }
	if ( iserror === true ) { return false; }
	else { return true; }
}

// Betöltéskori cucc.
$(document).ready(function() {
	var rajta=0;
	$('#tweets').html('<div id="followme"><a href="http://www.twitter.com/AlfredDobradi"><img src="http://twitter-badges.s3.amazonaws.com/t_logo-a.png" alt="Follow AlfredDobradi on Twitter"/></a><br />Fetching tweets...</div>');
	
	// Csiripek összeszedése
	$.ajax({
		type: "GET",
		url: "backend/twitter.php",
		dataType: "text",
		success: function(data) {
			parseData(data);
		},
		error: function(xhr,ts,et) {
			alert('error: '+ts);
		}
	});

	// Menu viselkedés
	$('.menuitem').hover(
		function() {
			$('span#'+$(this).attr('id')+' > *').css('color','#0088ff');
		},
		function() {
			$('span#'+$(this).attr('id')+' > *').css('color','#222222');		
		}
	);
	$('.menuitem').click(
		function() {
			var c=$(this).attr('id');
			var speed;
			$('.menuitem').each(function(i) {
				if ( $(this).attr('id') ==  c ) { speed = 1000+(i)*1000; }
			});
			$.scrollTo(('div#'+$(this).attr('id')), speed, { offset: { left: 0, top:-100 } });
		}
	);

	// Tetejére link.
	$('.home').click(
		function() {
			$.scrollTo(0,1000);
		}
	);
	
	// Captcha generálás
	$('input#check').val('');
	var a = Math.floor(Math.random()*11);
	var b = Math.floor(Math.random()*11);
	var toprint = a+'+'+b+'=';
	var checksum=a*1+b*1;
	$('label[for=check]>span').html('Validation: '+toprint);
	$('input#tocheck').val(checksum);
	
	// Urlap elküldése
	$('input#kuld').bind('click',function() {
		if ( errorcheck() !== false ) {
			$.post(
				"backend/email.php",
				{
					"username":$('input#name').val(),
					"email":$('input#email').val(),
					"url":$('input#URL').val(),
					"feedback":$('textarea#feedback').val()
				},
				function(data) {
					$('span#result').html(data).fadeOut(3000);
				},
				"text"
			);
		}
	});

	// Ikonok
	$('a.social').hover(
		function() {
			var media = $(this).attr('id');
			$('img#'+media).attr('src','images/'+media+'1.png');
		},
		function() {
			var media = $(this).attr('id');
			$('img#'+media).attr('src','images/'+media+'.png');
		}
	);

	$('li > input, li > textarea').focus(function() { $(this).removeClass('error').addClass('focused'); }).blur(function() { $(this).removeClass('focused'); });
	
	// Referencia muködése
	$('.reference').hover(
		function() {
			temp = $(this).attr('id');
			$('img#'+temp).animate({
				opacity: 1.0,
				marginLeft:'-400'	
			},400);
			$('div#'+temp+'>div').animate({
				opacity: 1.0
			},800);
		},
		function() {
			temp = $(this).attr('id');
			$('img#'+temp).animate({
				opacity: 0.5,
				marginLeft:'0'	
			},400);
			$('div#'+temp+'>div').animate({
				opacity: 0.0
			},150);
		}
	);
	
	timedCount();
});