var loaded;

if (window.self != window.top) window.top.location = window.self.location; 

function changePhoto(my_url_temp, url, nclick, my_width_temp, my_height_temp, my_elm_temp) {
		my_url = my_url_temp;
		my_width = my_width_temp;
		my_height = my_height_temp;
		my_elm = my_elm_temp;
		document.getElementById('bigPhoto').visibility = 'hidden';
		document.getElementById('bigPhoto').src = my_url;
		document.getElementById('bigPhoto').parentNode.href = url;
		document.getElementById('bigPhoto').parentNode.id = nclick;
		document.getElementById('spelink').parentNode.id = nclick;
}

function n2click() {
	alert('bla');
}

var first = true;

function imgLoad() {
	if (first == true) {first = false;}
		else {
			document.getElementById('bigPhoto').width = my_width;
			document.getElementById('bigPhoto').height = my_height;
			document.getElementById('bigPhoto').visibility = 'visible';	
			for (i = 0; (i < document.getElementById('gallery').getElementsByTagName('div').length); i++) {
				document.getElementById('gallery').getElementsByTagName('div').item(i).className = '';
			} 
			my_elm.className = 'sel';
		}
}

calendar = {
	init:		function() {
					my_add = new Array();
					day = document.getElementById('fday');
					month = document.getElementById('fmonth');
					year = document.getElementById('fyear');
					if (((month.selectedIndex == 0) || (month.selectedIndex == 2) || (month.selectedIndex == 4) || (month.selectedIndex == 6) || (month.selectedIndex == 7) || (month.selectedIndex == 9) || (month.selectedIndex == 11)) && (month.options.length != 31)) {
						day.innerHTML = '';
						calendar.add(31);
					}
					if (((month.selectedIndex == 3) || (month.selectedIndex == 5) || (month.selectedIndex == 8) || (month.selectedIndex == 10)) && (month.options.length != 30)) {
						day.innerHTML = '';
						calendar.add(30);
					}
					if (month.selectedIndex == 1) {
						day.innerHTML = '';
						febYear = year.options[year.selectedIndex].innerHTML;
						febDate = new Date (febYear,2,1);
						febDate = new Date (febDate - (24*60*60*1000));
						febDays = febDate.getDate();
						calendar.add(febDays);
					}
				},
	today:	function() {
					calendar.init();
					today = new Date();
					day.options[today.getDate()-1].selected = true;
					month.options[today.getMonth()].selected = true;
					for (i = 0; i < year.options.length; i++) {
						if (year.options[i].value == today.getFullYear()) year.options[i].selected = true;
					}
				},
	add:		function(endDays) {
					for (i = 0; i < endDays; i++) {
						my_add[i] = document.createElement('option');
						day.appendChild(my_add[i]);
						my_add[i].value = i+1;
						my_add[i].innerHTML = i+1;
					}
				}
}

formCheck = {
	trueColor: '#C0FCC1',
	falseColor: '#FF9393',
	
	init:		function() {
					for (var i = 0; i < document.forms.length; i++) {
						document.forms[i].onreset = function() {
							if (confirm('Вы действительно хотите очистить все поля?')) return true
								else return false;
						}
						if (document.forms[i].elements['pass'] && document.forms[i].elements['confpass']) {
							document.forms[i].elements['pass'].onblur = document.forms[i].elements['pass'].onkeypress = document.forms[i].elements['pass'].onkeyup = function() {
								myForm = this.form;
								if (formCheck.pass() == true) formCheck.mark(true, myForm.elements['pass'], myForm.elements['confpass'])
									else if (formCheck.pass() == false) formCheck.mark(false, myForm.elements['pass'], myForm.elements['confpass'])
							}
							compare_pass = true;
							document.forms[i].elements['confpass'].onblur = document.forms[i].elements['confpass'].onkeypress = document.forms[i].elements['confpass'].onkeyup = function() {
								myForm = this.form;
								if (formCheck.pass2() == true) formCheck.mark(true, myForm.elements['pass'], myForm.elements['confpass'])
									else if (formCheck.pass2() == false) formCheck.mark(false, myForm.elements['pass'], myForm.elements['confpass'])
									else if (formCheck.pass2() == undefined) formCheck.mark(undefined, myForm.elements['pass'], myForm.elements['confpass'])
							}
						}
						if (document.forms[i].elements['mail']) { 
							compare_email = true;
							document.forms[i].elements['mail'].onblur = document.forms[i].elements['mail'].onchange = function() {
								myForm = this.form;
								if (formCheck.email('ready') == true) formCheck.mark(true, myForm.elements['mail'])
									else if (formCheck.email('ready') == false) formCheck.mark(false, myForm.elements['mail'])
									else if (formCheck.email('ready') == undefined) formCheck.mark(undefined, myForm.elements['mail'])
							}	
							document.forms[i].elements['mail'].onkeyup = function() {
								myForm = this.form;
								if (formCheck.email() == true) formCheck.mark(true, myForm.elements['mail'])
									else if (formCheck.email() == false) formCheck.mark(false, myForm.elements['mail'])
									else if (formCheck.email() == undefined) formCheck.mark(undefined, myForm.elements['mail'])
							}	
						}
						if (document.forms[i].elements['nickname']) { 
							compare_nickname = true;
							document.forms[i].elements['nickname'].onblur = document.forms[i].elements['nickname'].onchange = function() {
								myForm = this.form;
								if (formCheck.nick('ready') == true) formCheck.mark(true, myForm.elements['nickname'])
									else if (formCheck.nick('ready') == false) formCheck.mark(false, myForm.elements['nickname'])
									else if (formCheck.nick('ready') == undefined) formCheck.mark(undefined, myForm.elements['nickname'])
							}	
							document.forms[i].elements['nickname'].onkeyup = function() {
								myForm = this.form;
								if (formCheck.nick() == true) formCheck.mark(true, myForm.elements['nickname'])
									else if (formCheck.nick() == false) formCheck.mark(false, myForm.elements['nickname'])
									else if (formCheck.nick() == undefined) formCheck.mark(undefined, myForm.elements['nickname'])
							}	
						}
					}
				},
	pass:		function() {
					if (myForm.elements['confpass'].value != '') {
						if (myForm.elements['pass'].value == myForm.elements['confpass'].value) return true
							else return false;
					}
				},
	pass2:	function() {
					if (myForm.elements['confpass'].value != '') {
						if ((myForm.elements['confpass'].value.length >= myForm.elements['pass'].value.length) || (compare_pass == false)) {
							compare_pass = false;
							if ((myForm.elements['pass'].value == myForm.elements['confpass'].value) && (myForm.elements['confpass'].value.length >= 5)) return true
								else return false;
						}
					} else {
							compare_pass = true;
							return undefined;
						}
				}, 
	nick:		function() {
					if (myForm.elements['nickname'].value != '') {
						if (formCheck.nick.arguments[0] == 'ready') {
							if (myForm.elements['nickname'].value.match(/^[^ ]{2,}$/i, '')) return true;
								else return false;
						} else {
								if ((myForm.elements['nickname'].value.length >= 2) || (compare_nickname == false)) {
									compare_nickname = false;
									if (myForm.elements['nickname'].value.match(/^[^ ]{2,}$/i, '')) return true;
										else return false;
								}
							}
					} else {
							compare_nickname = true;
							return undefined;
						}
				},
	email:	function() {
					if (myForm.elements['mail'].value != '') {
						if (formCheck.email.arguments[0] == 'ready') {
							if (myForm.elements['mail'].value.match(/^[\w\.\-]+@[\w\.\-]+\.[a-zA-Z]{2,10}$/i, '')) return true;
								else return false;
						} else {
								if ((myForm.elements['mail'].value.match(/^[\w\.\-]+@[\w\.\-]+\.[a-zA-Z]{2,10}$/i, '')) || (compare_email == false)) {
									compare_email = false;
									if (myForm.elements['mail'].value.match(/^[\w\.\-]+@[\w\.\-]+\.[a-zA-Z]{2,10}$/i, '')) return true;
										else return false;
								}
							}
					} else {
							compare_email = true;
							return undefined;
						}
				},
	mark:		function() {
					if (formCheck.mark.arguments[0] == true) for (var mr = 1; mr < formCheck.mark.arguments.length; mr++) formCheck.mark.arguments[mr].style.backgroundColor = "" + formCheck.trueColor;
						else if (formCheck.mark.arguments[0] == false) for (var mr = 1; mr < formCheck.mark.arguments.length; mr++) formCheck.mark.arguments[mr].style.backgroundColor = "" + formCheck.falseColor;
						else if (formCheck.mark.arguments[0] == undefined) for (var mr = 1; mr < formCheck.mark.arguments.length; mr++) formCheck.mark.arguments[mr].style.backgroundColor = "";
				}
}

function newWin(url, winWidth, winHeight) {
		var countWin;
		if(!winWidth) winWidth = 550;
		if(!winHeight) winHeight = 500;
		PopupWin = window.open(url, 'newWin'+countWin, 'width='+winWidth+', height='+winHeight+',menubar=no,status=no,titlebar=no,toolbar=no,location=no,resizable=no,scrollbars=no');
		countWin++;
}

preloadImages = {
	init:		function() {
					var image_root = 'img';
					var imagesArray = new Array(
						'b-hdr-bg.gif',
						'mnu-bg-hv.gif'
					);
					for (var im = 0; im < imagesArray.length; im++) {
						imgpath = image_root + '/' + imagesArray[im];
						preloadImages.preload(imgpath);
					}
				},
	preload:	function(imgsrc) {
					if (document.images) {	
						var image = new Image();
						image.src = imgsrc;
					}
	}
}

gallery = {
	width: 	0,
	init: 	function() {
					if (document.getElementById('photo-parent')) {
						td = document.getElementById('photo-parent').getElementsByTagName('td');
						table = document.getElementById('photo-parent').getElementsByTagName('table');
						count = 0;
						row = false;
						document.body.onresize = gallery.inline;
						gallery.inline();
					}
				},
	inline: 	function() {
					document.getElementById('photo-parent').style.visibility = 'hidden';
					row = false;
					count = 0;
					for (var i = 0; (table.item(i)); i++) td.item(i).style.height = 'auto';
					for (var i = 1; (table.item(i)); i++) 
						if ((row == false) && (table.item(i).parentNode.parentNode.parentNode.parentNode.offsetTop == table.item(i-1).parentNode.parentNode.parentNode.parentNode.offsetTop)) {
						 count++;
						} else row = true;
					count++;
					for (var i = 0; (td.item(i)); i=i+count) {	
						myHeight = 0;	
						for (var o = 0; (td.item(i+o) && o < count); o++) 
							if (td.item(i+o).offsetHeight > myHeight) myHeight = td.item(i+o).offsetHeight;
						for (var o = 0; (td.item(i+o) && o < count); o++) 
						td.item(i+o).style.height = myHeight + 'px';
					}
					document.getElementById('photo-parent').style.visibility = 'visible';
				}
}

cat_gallery = {
	width: 	0,
	init: 	function() {
					if (document.getElementById('cat-parent')) {
						td = document.getElementById('cat-parent').getElementsByTagName('td');
						table = document.getElementById('cat-parent').getElementsByTagName('table');
						count = 0;
						row = false;
						document.body.onresize = cat_gallery.inline;
						cat_gallery.inline();
					}
				},
	inline: 	function() {
					document.getElementById('cat-parent').style.visibility = 'hidden';
					row = false;
					count = 0;
					for (var i = 0; (table.item(i)); i++) td.item(i).getElementsByTagName('div')[0].style.height = 'auto';
					for (var i = 1; (table.item(i)); i++) 
						if ((row == false) && (table.item(i).parentNode.offsetTop == table.item(i-1).parentNode.offsetTop)) {
						 count++;
						} else row = true;
					count++;
					for (var i = 0; (td.item(i)); i=i+count) {	
						myHeight = 0;	
						for (var o = 0; (td.item(i+o) && o < count); o++) 
							if (td.item(i+o).getElementsByTagName('div')[0].offsetHeight > myHeight) myHeight = td.item(i+o).getElementsByTagName('div')[0].offsetHeight;
						for (var o = 0; (td.item(i+o) && o < count); o++) 
						td.item(i+o).getElementsByTagName('div')[0].style.height = myHeight + 'px';
					}
					document.getElementById('cat-parent').style.visibility = 'visible';
				}
}


rollover = {
	init: 	function() {
					if (document.getElementById('rollover')) {
						rlvImg = document.getElementById('rollover').getElementsByTagName('img');
						for (var r = 0; (rlvImg.item(r)); r++) {
							rlvImg.item(r).onmouseover = rollover.over;
							rlvImg.item(r).onmouseout = rollover.out;
							ovrsrc = rlvImg.item(r).src.replace(/([\w\-\/]+)\.(\w+)/, "$1-ovr.$2");
							preloadImages.preload(ovrsrc);
						}
					}
	},
	over: 	function() {
					this.src = this.src.replace(/([\w\-\/]+)\.(\w+)/, "$1-ovr.$2");
	},
	out: 		function() {
					this.src = this.src.replace(/([\w\-\/]+)\-ovr([\w+\.]+)/, "$1$2");
	}
}

showHits = {
	init:		function() {
					if (document.getElementById('third')) {
						document.getElementsByTagName('body')[0].onresize = showHits.sOH;
						showHits.sOH();
					}
	},
	sOH:		function() {
					if (document.getElementsByTagName('body')[0].offsetWidth < 970) {
						document.getElementById('third').style.display = 'none';
					}
					 else {
						document.getElementById('third').style.display = 'block';
					 }
	}
}

function init() {
	gallery.init();
	cat_gallery.init();
	showHits.init();;
}

if (loaded) init();
loaded = true;


