// Объявляем переменные 
var count = 0;
var quoteArr = new Array();
var authorArr = new Array();
var timeArr = new Array();
var urlArr = new Array();
var qurlArr = new Array();
var mainURL = window.location.href;
var el;
var d = new Date();
var wait;


// Проверка если вызывают страницу цитаты
if (mainURL.match('#'))
{
	var qurl=mainURL.replace("#", "");
	location.href=qurl;
}

// Если язык неопределен
if (!lang)
{
	var lang = '';
}

var shotcuts = '<a href="javascript:void(0)" class="txt_blue link list left" onClick="getBack();return false;">'+lang.back+'</a><a href="javascript:void(0)" class="txt_blue link list right" onClick="formSubmit(2);return false;">'+lang.next+'</a>';
var shortcutdisbl = '<span class="link list left disbld">'+lang.back+'</span><span class="link list disbld right">'+lang.next+'</span>';
var firstshortcutdisbl = '<span class="link list left disbld">'+lang.back+'</span><a href="javascript:void(0)" class="txt_blue link list right" onClick="formSubmit(2);return false;">'+lang.next+'</a>';

// Определение браузера
function getBrowser()
{
	var ua = navigator.userAgent.toLowerCase();
	
	isIE = (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1);
	// Opera
	isOpera = (ua.indexOf("opera") != -1);
	// Gecko = Mozilla + Firefox + Netscape
	isGecko = (ua.indexOf("gecko") != -1);
	// Safari, используется в MAC OS
	isSafari = (ua.indexOf("safari") != -1);
	
	if(isIE == true)
	{
		return 'ie';
	}
	if(isOpera == true)
	{
		return 'o';
	}
	if(isSafari== true)
	{
		return 's';
	}
	if(isGecko== true)
	{
		return 'ff';
	}

}
// Функция обработки события и получения цитат клиентская сторона
function formSubmit()
{
	var t = e('t').value;
	var now = new Date();
	wait = now.getTime();
	var key = wait - t;
	request = 'method=getQuote&format=json&param=ms&key='+key*Math.floor(Math.random()*100)+'&lang='+lang.langV;
	ajax('/api-internal/1.0/', request, formSubmitResult);
	count++;
	s('mainLink').display = 'none';
	s('aut').display = 'none';
	preloader(e('words'));
	s('mLinks').display = 'none';
	s('navAct').display = 'none';
	s('navDisbl').display = 'block';
	s('nav1Disbl').display = 'none';
	init(1);
}

// Для homepage
function getQuote()
{
	request = 'method=getQuote&format=json&lang='+lang.langV;
	ajax('/api-internal/1.0/', request, result);
}

// Ответ для homepage
function result(result)
{
	eval('Rez='+result);
	e('words').innerHTML = Rez.quoteText;

	if ( Rez.quoteAuthor )
	{
		e('aut').innerHTML = Rez.quoteAuthor;
		e('aut').href='http://'+lang.langV+'.wikipedia.org/wiki/'+Rez.quoteAuthor;
		s('aut').display="inline";
	}
	
	// запрос на homepage
	request = 'quote='+Rez.quoteText+'&author='+Rez.quoteAuthor+'&url=http://'+lang.langV+'.wikipedia.org/wiki/'+Rez.quoteAuthor;
	ajax('/homepage/', request, temp);
}

// Темповая функция
function temp ()
{
	return;
}

// Функция стандартных преобразований для вывода цитаты
function blockManipulate (val,text,author,ctime,url)
{
	var quoteCount;

	e('words').className = 'quote';
	e('logoOut').innerHTML = '<a href="/" class="whitelink"><h1 class="logo active">forismatic.com</h1></a>';
	s('mLinks').display = 'none';
	s('navAct').display = 'block';
	s('navDisbl').display = 'none';
	s('nav1Disbl').display = 'none';

	// Если уменьшаем счетчик
	if(val == 0)
	{
		quoteCount = count-1;
		s('aut').display = 'block';
		e('words').innerHTML = quoteArr[quoteCount];
		if(authorArr[quoteCount])
		{
			e('aut').innerHTML = '<a href="http://'+lang.langV+'.wikipedia.org/wiki/'+authorArr[quoteCount]+'" class="alink" target="_blank">'+authorArr[quoteCount]+'</a>';
			s('aut').display = 'block';
		}
		else s('aut').display = 'none';

		e('t').value= timeArr[quoteCount];
		s('navAct').display = 'block';
		s('navDisbl').display = 'none';
		s('nav1Disbl').display = 'none';
		// Меняем общий урл
		window.location.href=mainURL+'#'+qurlArr[quoteCount]+'/';
	}
	else
	{
		s('aut').display = 'block';
		if(getBrowser()== 'ie')
		{
			s('words').margin = '24px 0 0 0';
		}
		e('words').innerHTML = text;
		if(author)
		{
			e('aut').innerHTML = '<a href="http://'+lang.langV+'.wikipedia.org/wiki/'+author+'" class="alink" target="_blank">'+author+'</a>';
			s('aut').display = 'block';
		}
		else s('aut').display = 'none';
		e('t').value= ctime;
		s('navAct').display = 'block';
	}
	
}

// Функция переходов по массиву назад
function getBack ()
{
	// Если есть предыдущая цитата в массиве тогда выводим ее
	if(quoteArr[count-1])
	{
		blockManipulate(0);
		count--;

		// Если самая первая цитата отключаем хоткеи
		if (count == '1')
		{
			init(2);
			s('navAct').display = 'none';
			s('navDisbl').display = 'none';
			s('nav1Disbl').display = 'block';
			
		}
	}
	else
	{
		init(2);
		s('navAct').display = 'none';
		s('navDisbl').display = 'none';
		s('nav1Disbl').display = 'block';
		
	}
	
}


// обработка ответов сервера для форм сабмит
function formSubmitResult(result)
{
	eval('Rez='+result);
	quoteArr[count] = Rez.quoteText;
	authorArr[count] = Rez.quoteAuthor;
	timeArr[count] = wait;
	urlArr[count] = Rez.url;
	qurlArr[count] = Rez.senderLink;
	
	blockManipulate(1,Rez.quoteText,Rez.quoteAuthor,wait,Rez.url);
	init();
	if(count==1)
	{
		s('navAct').display = 'none';
		s('navDisbl').display = 'none';
		s('nav1Disbl').display = 'block';
	}

	
	// Меняем общий урл
	window.location.href=mainURL+'#'+Rez.senderLink+'/';
}

// Функция работы с меню
function menu (x)
{
	
	// Если браузер ие
	if(getBrowser()== 'ie')
	{	
		x.style.behavior='url(#default#homepage)';
		x.setHomePage('http://forismatic.com/homepage/');
		return false;
	}
	else
	{
		location.href='/start/';
	}
	
	
}

// Функция показывающая прогрес аякса
function preloader (x)
{
	x.innerHTML = '<div class="progress"><img src="/i/progress.gif" width="26" width="26"></div>';
}