var player = '/_/player.1.0.swf', fp_player = '/_/fp.player.1.0.4.swf', fullscreen = '/_/fullscreen.1.0b2.swf';


function ini() {
	var subscribe_email = $('subscribe_email');
	if (subscribe_email) {
		subscribe_email.onfocus = function() {
			if (subscribe_email.value === $('subscribe_email_default').value) subscribe_email.value = '';
		}
		subscribe_email.onblur = function() {
			if (subscribe_email.value === '') subscribe_email.value = $('subscribe_email_default').value;
		}
	}
	var search_text = $('search_text');
	if (search_text) {
		search_text.onfocus = function() {
			if (search_text.value === $('search_text_default').value) search_text.value = '';
		}
		search_text.onblur = function() {
			if (search_text.value === '') search_text.value = $('search_text_default').value;
		}
	}
	var subscribe_name = $('subscribe_name');
	if (subscribe_name) {
		subscribe_name.onfocus = function() {
			if (subscribe_name.value === $('subscribe_name_default').value) subscribe_name.value = '';
		}
		subscribe_name.onblur = function() {
			if (subscribe_name.value === '') subscribe_name.value = $('subscribe_name_default').value;
		}
	}
	var subscribe_mail = $('subscribe_mail');
	if (subscribe_mail) {
		subscribe_mail.onfocus = function() {
			if (subscribe_mail.value === $('subscribe_mail_default').value) subscribe_mail.value = '';
		}
		subscribe_mail.onblur = function() {
			if (subscribe_mail.value === '') subscribe_mail.value = $('subscribe_mail_default').value;
		}
	}
	CufonIni();
	backgroundChangeStart();
	iniToTop();
	CacheElements.now();
}

function CufonIni() {
	Cufon('.m1', {hover: true});
	Cufon('.m2', {hover: true});
	Cufon('.p_title');
	Cufon('.p_subtitle');
	Cufon('.page_ttl');
	Cufon('.bigtext');
	Cufon.now();
}

function iniToTop() {
	var nodes = window.document.body.getElementsByTagName('A'), i = 0, so = nodes.length;
	for (; i < so; i++) {
		if (nodes[i].href.indexOf('#') !== -1) nodes[i].onclick = toTop;
	}
}

function toTop() {
	window.document.body.scrollTop = 0;
	return false;
}

function $(id) {
	return window.document.getElementById(id);
}

function toggleV(o) {
	if (o.style.visibility === 'hidden') o.style.visibility = 'visible';
	else o.style.visibility = 'hidden';
}

var CacheElements = {
	o: null,
	storage: [],
	stored: [],
	store: function(src) {
		var es = this.storage, i = 0, so = es.length;
		for (; i < so; i++) {
			if (es[i] == src) return;
		}
		this.storage[so] = src;
		this.stored[so] = false;
	},
	now: function() {
		if (!this.o) {
			var div = window.document.createElement('DIV');
			div.style.position = 'absolute';
			div.style.top = '-9999px';
			div.style.left = '-9999px';
			this.o = window.document.body.appendChild(div);
			div = window.document.createElement('DIV');
			div.style.position = 'relative';
			div.id = 'elements_image_preloader';
			this.o = this.o.appendChild(div);
		}
		var i = 0, so = this.storage.length, img;
		for (; i < so; i++) {
			if (this.stored[i]) continue;
			img = window.document.createElement('IMG');
			img.style.position = 'absolute';
			img.style.top = 0;
			img.style.left = 0;
			img.src = this.storage[i];
			this.o.appendChild(img);
			this.stored[i] = true;
		}
	}
}

function Elements(name, theme, back, forward, list, comm_list, pages_id, photo_id, comm_id, no_pages_disable_us, fullscreen_id) {
	this.name = name;
	this.theme = theme;
	this.list = list;
	this.comm_list = comm_list;
	this.pagesO = $(pages_id);
	this.photo_id = photo_id;
	this.photoO = $(photo_id);
	this.commO = $(comm_id);
	this.cached = false;
	this.no_pages_disable_us = no_pages_disable_us ? no_pages_disable_us : [];
	this.back = back;
	this.forward = forward;
	this.fullscreen_id = fullscreen_id;
	this.cache = function() {
		var so = this.list.length, i = 0;
		for (; i < so; i++) CacheElements.store(this.list[i]);
		CacheElements.now();
		this.cached = true;
	};
	this.get4flash = function() {
		$(this.fullscreen_id).returnJSON(JSON.stringify({current: this.page, list: this.list, comments: this.comm_list}));
	};
	this.setPage = function(page) {
		var so = this.list.length, i = 0;
		if (so > 1) {
			var html = '';
			if (page > 7) i = page - 7;
			if (so - 1 == page && so > 8) i--;
			if (so > 9 && so - i - 9 > 0) so = i + 9;
			if (page === 0) html += '<div class="back"><img src="/_/back._.png" alt="'+ this.back +'"></div>';
			else html += '<div class="back"><a href="" onclick="'+ this.name +'.prevPage();return false"><img src="/_/back.png" alt="'+ this.back +'"></a></div>';
			for (; i < so; i++) {
				if (i === page) html += '<div class="sel"><img src="/themes/'+ this.theme +'/digits/'+ (i + 1) +'.png" alt="'+ (i + 1) +'"></div>';
				else html += '<div><a href="" onclick="'+ this.name +'.setPage('+ i +');return false"><img src="/themes/'+ this.theme +'/digits/'+ (i + 1) +'.png" alt="'+ (i + 1) +'"></a></div>';
			}
			if (page === so - 1) html += '<div class="forward"><img src="/_/forward._.png" alt="'+ this.forward +'"></div>';
			else html += '<div class="forward"><a href="" onclick="'+ this.name +'.nextPage();return false"><img src="/_/forward.png" alt="'+ this.forward +'"></a></div>';
			this.pagesO.innerHTML = html;
			html = null;
		} else {
			var hasComments = false;
			so = this.comm_list.length;
			for (i = 0; i < so; i++) {
				if (this.comm_list[i] !== '') {
					hasComments = true;
					break;
				}
			}
			if (!hasComments) {
				so = this.no_pages_disable_us.length;
				var o;
				for (; i < so; i++) {
					o = $(this.no_pages_disable_us[i]);
					if (o) o.style.display = 'none';
				}
			}
		}
		if (this.isFLV(this.list[page])) {
			this.photoO.innerHTML = '<div style="width:725px;height:435px" id="'+ this.photo_id +'_flv">';
			swfobject.embedSWF(player, this.photo_id +'_flv', "725", "435", "8.0.0", "/_/expressInstall.swf", {xmlpath: "/player.xml/?"+ encodeURIComponent(this.list[page])}, {menu: "false", quality: "best", scale: "noscale", allowfullscreen: "false"}, {});
		} else if (this.isSWF(this.list[page])) {
			this.photoO.innerHTML = '<div style="width:725px;height:435px" id="'+ this.photo_id +'_swf">';
			swfobject.embedSWF(this.list[page], this.photo_id +'_swf', "725", "435", "8.0.0", "/_/expressInstall.swf", {}, {menu: "false", quality: "best", scale: "noscale", allowfullscreen: "false"}, {});
		} else this.photoO.innerHTML = '<img src="'+ this.list[page] +'">';
		this.commO.innerHTML = '<div style="position:absolute;top:0;left:0;width:100%">'+ this.comm_list[page] +'</div>';
		this.page = page;
		if (page > 0 && !this.cached) this.cache();
	};
	this.nextPage = function() {
		this.setPage(this.page + 1);
	};
	this.prevPage = function() {
		this.setPage(this.page - 1);
	};
	this.isFLV = function(path) {
		return (path.split('.').pop().toLowerCase() === 'flv');
	};
	this.isSWF = function(path) {
		return (path.split('.').pop().toLowerCase() === 'swf');
	};
	if (!$('elements_image_preloader')) {
		CacheElements.store('/_/back.png');
		CacheElements.store('/_/forward._.png');
		var so = this.list.length, i = 9;
		for (; i < so; i++) CacheElements.store('/themes/'+ this.theme +'/digits/'+ (i + 1) +'.png"');
		so = i = null;
	}
	swfobject.embedSWF(fullscreen, fullscreen_id, "100%", "100%", "9.0.0", "/_/expressInstall.swf", {callback: "returnJSON", object: name}, {quality: "best", allowfullscreen: "true", wmode: "transparent"}, {});
	no_pages_disable_us = name = theme = back = forward = list = pages_id = photo_id = null;
	return this;
}

function backgroundChange(id) {
	backgroundChangeStart(id);
}

function backgroundChangeStart(id) {
	var fp = $('fp');
	if (!fp) return;
	if (typeof firstPageImages === 'undefined' || typeof id === 'undefined' || typeof firstPageImages[id] === 'undefined') {
		fp.innerHTML = '';
		return;
	}
	if (firstPageImages[id].url !== '') fp.innerHTML = '<a href="'+ firstPageImages[id].url +'"><img src="'+ firstPageImages[id].src +'" alt="'+ firstPageImages[id].alt.replace(/"/g, '\"') +'"></a>';
	else fp.innerHTML = '<img src="'+ firstPageImages[id].src +'" alt="'+ firstPageImages[id].alt.replace(/"/g, '\"') +'">';
}

function validateFontAndSubscribeForm() {
	var o = $('subscribe_mail'), mail = o.value, img = o.parentNode.style.backgroundImage;
	if (mail === '' || mail === $('subscribe_mail_default').value || !/^[^\@]+\@[a-z0-9\-\_\.]+\.[a-z0-9]{2,6}$/i.test(mail)) {
		o.parentNode.style.backgroundImage = img.replace('input.png', 'input.error.png');
		return false;
	}
	o.parentNode.style.backgroundImage = img.replace('input.error.png', 'input.png');
	return true;
}

var slideshow = {
	list: [],
	page: 0,
	theme: 'white',
	setPage: function(page) {
		var data = slideshow.list[page];
		$('slideshow').innerHTML = '<div class="p_title">'+ data.title +'</div><div class="p_subtitle">'+ data.subtitle +'</div><div class="h30"></div><div class="sub"><div class="pages">'+ (page > 0 ? '<div class="back"><a href="" onclick="slideshow.setPage('+ (page - 1) +');return false"><img src="/_/back.png" alt=""></a></div>' : '<div class="back"><img src="/_/back._.png" alt=""></div>') +' <div class="digit_1"><img src="/themes/'+ slideshow.theme +'/digits/'+ (page + 1) +'.png" alt="'+ (page + 1) +'"></div><div class="slash"><img src="/_/slash.png" alt=""></div><div class="digit_2"><img src="/themes/'+ slideshow.theme +'/digits/'+ slideshow.list.length +'.png" alt="'+ slideshow.list.length +'"></div> '+ (page + 1 < slideshow.list.length ? '<div class="forward"><a href="" onclick="slideshow.setPage('+ (page + 1) +');return false"><img src="/_/forward.png" alt=""></a></div>' : '<div class="forward"><img src="/_/forward._.png" alt=""></div>') +'</div></div><div class="h30"></div><div class="cols2"><div class="cols2_2 pt8">'+ (data.img !== '' ? '<img src="'+ data.img +'" alt=""><br><br>' : '') +'<div class="text">'+ data.info +'</div>'+ (data.link_title !== '' ? '<br><a href="'+ data.link +'"'+ (data.new_window ? ' target="_blank" onclick="window.open(\''+ data.link +'\');return false"' : null) +'>'+ data.link_title +'</a>' : '')+'</div><div class="cols2_1"><div class="bigtext">'+ data.text +'</div></div></div>';
		CufonIni();
	}
};