/*****************************   anDeRan   ************************************/

var is_ie  = !!document.uniqueID;
var is_ie6 = is_ie && navigator.appVersion.match(/MSIE [56]/) && !navigator.appVersion.match(/MSIE [789]/);

if (is_ie6) {
	try {
		document.execCommand("BackgroundImageCache", false, true);
	} catch(err) {}
}

var preloadImgs = function () {
	var i = arguments.length;
	while (i-- > 0) {
		(new Image()).src = '/images/' + arguments[i];
	}
};

var initNav = function () {
	var nav = document.getElementById('nav');
	var ul, i = nav.childNodes.length;
	while (i-- > 0) {
		if (nav.childNodes[i].nodeName == 'LI') {
			ul = nav.childNodes[i].getElementsByTagName('UL')[0];
			if (ul) {
				var span = document.createElement('SPAN');
				var span2 = document.createElement('SPAN');
				span.appendChild(span2);
				ul.appendChild(span);
				nav.childNodes[i].onmouseover = function () {
					var ul = this.getElementsByTagName('UL')[0];
					ul.style.visibility = 'visible';
					this.className += ' nav-over';
				};
				nav.childNodes[i].onmouseout = function () {
					var ul = this.getElementsByTagName('UL')[0];
					ul.style.visibility = 'hidden';
					this.className = this.className.replace(/ nav-over/g, '');
				};
			}
		}
	}
};

var initDefaults = function () {
	var inputs = document.getElementsByTagName('INPUT');
	var i = inputs.length;
	while (i-- > 0) {
		if (inputs[i].type == 'text') {
			if (inputs[i].className.indexOf('def-value') != -1) {
				inputs[i].onfocus = function () {
					if (this.value == this.defaultValue) {
						this.value = '';
					}
				};
				inputs[i].onblur = function () {
					if (!this.value) {
						this.value = this.defaultValue;
					}
				};
			}
		}
	}
};

var makeURL = function (name, val) {
	var parts = location.href.split(/\?/);
	if (parts[1]) {
		parts[1] = '?' + parts[1];
		var pos = parts[1].indexOf(name + '=');
		if (pos != -1) {
			pos = pos + name.length + 1;
			return parts[0] + parts[1].substring(0, pos) + parts[1].substring(pos).replace(/^[a-z0-9_]+/, val);
		} else {
			return parts[0] + parts[1] + '&' + name + '=' + val;
		}
	} else {
		return parts[0] + '?' + name + '=' + val;
	}
};

var sendValue = function (select) {
	location.href = makeURL(select.name, select.options[select.selectedIndex].value);
};

var setParam = function (link) {
	link.blur();
	var types = link.href.split('#');
	document.getElementById('fld-type').value = types[1];
	document.getElementById('fld-button').value = '';
	document.getElementById('fld-button2').value = '';
	return hs.htmlExpand(link, {dimmingOpacity: 0.8, contentId: 'html-content'});
};

var openTable = function (form) {
	var type     = document.getElementById('fld-type').value;
	var size     = parseInt(form.elements['fld-size'].value, 10);
	var distance = parseInt(form.elements['fld-distance'].value, 10);
	var width    = document.documentElement.clientWidth - 10;
	var height   = document.documentElement.clientHeight; // header=66, footer=66


	if (distance < 150) {
		distance = 150;
		alert('Пожалуйста введите расстояние до монитора не меньше 150см.');
	} else if (distance > 500)
	{
		distance = 500;
		alert('Пожалуйста введите расстояние до монитора не больше 500см.');
	} else {


	var def_width  = 960, def_height = 1485;
//var def_width  = 1020, def_height = 1485;
	var __width = 0, __height = 0;
	var kf = distance / 500;
	switch (type) {
	case 'width':
		if (width > 1171) {
			
			width = (1171 * (76.769 / size)) * kf;
			//width = 1171 * (76.769 / size);
		}
		__width = width;		

		var factor = def_height / def_width;
		__height = width * factor;
		break;
	case 'height':
		height -= 66; // remove header, but leave footer
		__height = height;

		var factor = def_width / def_height;
		__width = height * factor;
		break;
	}
	location.href = '/table.php?current=sivcev&type=' + type + '&width=' + parseInt(__width, 10) + '&height=' + parseInt(__height, 10) + '&size=' + size + '&distance=' + distance;
	return false;
	}
};

var checkDistance = function (input) {
	var value = parseInt(input.value);
	if (value < 150) {
		input.value = 150;
		alert('Пожалуйста, используйте для проверки расстояние не менее 150см.');
	} else if (value > 500)
	{
		alert('Пожалуйста, используйте для проверки расстояние не более 500см.');
	}
};

var recommendDistance  = function (link) {
	var type     = document.getElementById('fld-type').value;
	var width    = document.documentElement.clientWidth - 10;
	var height   = document.documentElement.clientHeight; // header=66, footer=66
	//var size     = parseInt(form.elements['fld-size'].value, 10);
//	var distance = parseInt(form.elements['fld-distance'].value, 10);

	var myTextField = document.getElementById('fld-size');
	var myDistanceField = document.getElementById('fld-distance');

	var def_width2  = 480, def_height2 = 744;

	if(myTextField.value != ""){
		
switch (type) {
	case 'width':
		if (width > 1171) {
					width = 1171 * (76.769 / myTextField.value);
					alert("Рекомендуемое расстояние от монитора до глаз: 500 см., 333 см., 250 см.");
					myDistanceField.value = 500;
				} else {
				var standrt = 1171 * (76.769 / myTextField.value);
				var di = Math.round(501*width /	standrt);
				var di11 = Math.round(334*width /	standrt);
				var di12 = Math.round(251*width /	standrt);
				alert("Рекомендуемое расстояние от монитора до глаз: " + di + "см. " + di11 + "см. " + di12 + "см. " );
					myDistanceField.value = di;
				}
						break;
	case 'height':
			if (height > 1580) {
					alert("Рекомендуемое расстояние от монитора до глаз: 500 см., 555 см., 625 см." );
					myDistanceField.value = 500;
				} else {
					height -= 66; // remove header, but leave footer
					var factor = def_width2 / def_height2;  //0,64516129
					width = height * factor; 
		
				var standrt = 480 * (72 / myTextField.value);
				var di = Math.round(193*width /	standrt);
				var di9 = Math.round(214*width /	standrt);
				var di8 = Math.round(240*width /	standrt);
				alert("Рекомендуемое расстояние от монитора до глаз: " + di + "см. " + di9 + "см. " + di8 + "см. ");
					myDistanceField.value = di;
				}

		break;
	}

	}

	else{
		alert("Пожалуйста введите длину тестового отрезка в мм");	
	}

};


var getNote = function (link) {
	var scr_width = screen.width;
	var scr_height = screen.height;

	var text = '', img;

	if (link.href.indexOf('resolution') != -1) {
		text += 'Разрешение вашего экрана - ' + scr_width + 'x' + scr_height + '.\n';
	}

	if (scr_height > 900) {
		img = document.getElementById('img-height');
		text += 'Вам больше подойдёт второй вариант (в оранжевой рамке) - во всю высоту\n(при развёрнутом окошке браузера на весь экран).';
	} else {
		img = document.getElementById('img-width');
		text += 'Вам больше подойдёт первый вариант (в оранжевой рамке) - во всю ширину\n(при развёрнутом окошке браузера на весь экран).';
	}
	img.src = img.src.replace(/(.+\/[^_]+).*(\.[a-z]+)$/, '$1_y$2');

	link.blur();
	alert(text);

	return false;
};

var initMonitors = function () {
	var img_height = document.getElementById('img-height');
	if (img_height) {
		(new Image()).src = img_height.src.replace(/(.+\/[^_]+).*(\.[a-z]+)$/, '$1_g$2');
		img_height.onmouseover = function () {
			this.src = this.src.replace(/(.+\/[^_]+).*(\.[a-z]+)$/, '$1_g$2');
		};
		img_height.onmouseout = function () {
			this.src = this.src.replace(/(.+\/[^_]+).*(\.[a-z]+)$/, '$1$2');
		};
	}
	var img_width = document.getElementById('img-width');
	if (img_width) {
		(new Image()).src = img_width.src.replace(/(.+\/[^_]+).*(\.[a-z]+)$/, '$1_g$2');
		img_width.onmouseover = function () {
			this.src = this.src.replace(/(.+\/[^_]+).*(\.[a-z]+)$/, '$1_g$2');
		};
		img_width.onmouseout = function () {
			this.src = this.src.replace(/(.+\/[^_]+).*(\.[a-z]+)$/, '$1$2');
		};
	}
};

window.onload = function () {
	preloadImgs('common/nav_on.png');
	initNav();
	initDefaults();
	initMonitors();
};
