var forbiddenTypes = ".gif .jpg .txt .doc"; // расширения файлов, ссылки на которые мы не переписываем
var forbiddenClass = "forbidden"; // имя класса для ссылок, которые мы не переписываем
// определяем имя сайта (домена)
var site = location.host;
var start = 'yes';

var pic = new Image();
pic.src="/img/underhead.jpg";
var pic1 = new Image();
pic.src = "/img/bgright.gif";


// получение данных, используя AJAX
// здесь реализовано на jquery, но можно и  по другому
function getDataAjax(url)	{
$.ajax({
type: "GET", 
url: url, 
data: "ajax=yes",
success: function(data) 
{ 
	parseGetData(data);
}
});
}

function setupNewLinks(obj) {
var links = obj.getElementsByTagName("a"); // все ссылки внутри объекта obj
// перебираем ссылки
for (i = 0; i < links.length; i ++)
{
// проверяем, можно ли переписывать адрес текущей ссылки 
//(проверка по имени класса, расширению и "внешности" ссылки :-)
// если можно, то переписываем
	tmp = links[i].href; 
	tmp = tmp.replace("http://"+site, "");
	indexOfDot = 0;
	if(tmp.lastIndexOf(".") > 0) indexOfDot = tmp.lastIndexOf("."); 
	if(forbiddenTypes.match(tmp.substring(indexOfDot)) == null && tmp.substring(0, 7) != "http://" && links[i].className != forbiddenClass)
	{
		// прописываем, что происходит при клике на ссылку
		$(links[i]).bind("click", function(){
				markLinksWithHref(this.href);
				historyVar.getNewHistoryState(this.href.replace("http://"+site+"/#", ""));
				this.className = "curPage";
				});
		// заменяем адрес
		links[i].href = "#" + tmp;
	}
}}

// с помощью этой функции мы отмечаем все ссылки 
// с одинаковым значением href
function markLinksWithHref(linkHref){
	var links = document.getElementsByTagName("a");
	if(navigator.appName == 'Microsoft Internet Explorer') linkHref = linkHref.replace("http://"+site+"/", "");
	for (i = 0; i < links.length; i ++)
	{
		if(links[i].href == linkHref || links[i].href == linkHref+"/") links[i].className = "curPage";
		else links[i].className = "";
	}
}

function checkAnchorOnload(){
// определяем полный путь и якорь страницы
var urlPathName = location.pathname;
var urlAnchor = location.hash;

// проверяем адрес, если пользователь первый раз 
//вошел на сайт. Если в адресе есть якорь, то 
// подгружаем страницу
if(start == 'yes')
{
	if(urlPathName != "/") 
	{
		location.href = "http://"+site+"/#"+urlPathName;
	}
	else if(urlAnchor != "" && urlAnchor.indexOf("#/") != -1)
	{
		getDataAjax(urlAnchor.replace("#", ""));
	}
}
// примерно такая же проверка, но только при нажатии 
// "назад" или "вперед" в браузере
else if(start == '')
{
	if(urlPathName == "/") 
	{
		if(urlAnchor == "" || (urlAnchor == "#" && navigator.appName == 'Microsoft Internet Explorer')) 
		{
			getDataAjax("http://"+site+"/");
		}
		else if(urlAnchor.indexOf("#/") != -1) 
		{
			getDataAjax(urlAnchor.replace("#/", ""));
		}
	}
}}


function setLanguage(lang)
{
	if(systemLanguage != lang)
	{
		alert(lang);
		systemLanguage = lang;
	}
}

function setFlashSection(sect, how)
{
	if((systemSection != sect)||(how))
	{
		var movie = (navigator.appName.indexOf("Microsoft")!=-1 ? window : document)["flashMenu"];
		movie.setSection(sect);
		systemSection = sect;
	}
}

function parseGetData(data){
//получаем заголовок и содержание страницы из XML, а так же язык и раздел сайта
title = data.getElementsByTagName('title');
cnt = data.getElementsByTagName('content');
lang = data.getElementsByTagName('language');
sect = data.getElementsByTagName('section');
err = data.getElementsByTagName('error');
	
	
if(err[0].firstChild.nodeValue != 'Success')
{
	location.replace('/not_found.php');
}
	
document.title = '';
//вставляем это в нашу страницу
$('#content').html(cnt[0].firstChild.nodeValue);
document.title = title[0].firstChild.nodeValue;
language = lang[0].firstChild.nodeValue;
section = sect[0].firstChild.nodeValue;

// обновляем ссылки внутри страницы
setupNewLinks(document.getElementById('content'));
markLinksWithHref(window.location.href); 
// проверяем и при необходимости устанавливаем язык и активный раздел сайта
setLanguage(language);
setFlashSection(section, false);
}
	
function init() {
	setupNewLinks(document); // переписываем адреса ссылок
	historyVar = new historyHandler(); // запоминаем историю
	start = '';
}
	
function historyHandler() {
	var stateVar = "nothin'", displayDiv = document.getElementById("content");
	
	this.getNewHistoryState = function(currentState) {
		var newVal = currentState;
		unFocus.History.addHistory(newVal);
	};
	
	this.historyListener = function(historyHash) {
		stateVar = historyHash;
		// при каждом изменении истории мы будем
		// выдавать соответствующий контент
		checkAnchorOnload();
	};
	unFocus.History.addEventListener('historyChange', this.historyListener);
	
	this.historyListener(unFocus.History.getCurrent());
};
var historyVar;
var systemLanguage = 'rus';
var systemSection;