/*****************************   anDeRan   ************************************/

var is_ie  = !!document.uniqueID;
var is_ie6 = is_ie && navigator.appVersion.match(/MSIE (5.5|6)/);

if (is_ie6) {
	try {
		document.execCommand("BackgroundImageCache", false, true);
	} catch(err) {}
}

if (is_ie) {
	var XMLHttpRequest = function () {
		return (new ActiveXObject("Msxml2.XMLHTTP")) || (new ActiveXObject("Microsoft.XMLHTTP")) || false;
	};
}

var request = function () {
	try {
		var link = new XMLHttpRequest();
	} catch (e) {
		alert('Your browser doesn\'t support XMLHttpRequest. Please enable XMLHTTPRequest if disabled or update if your browser is old.');
	}

	this.get = function (path, analyze, params) {
		link.onreadystatechange = function () {
			if (link.readyState == 4 && link.status == 200) {
				if (analyze) {
					analyze(link, params);
				}
				
			}
		};
		link.open('GET', path, true);

		if (is_ie6) {
			link.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
		}
		link.send('');
	};
};

var setOpacity = function (obj, num) {
	if (obj.style.filter != undefined) {
		obj.style.filter = 'alpha(opacity=' + (num * 100) + ')';
	} else {
		obj.style.opacity = num;
	}
};

var makeHdrLink = function () {
	var header = document.getElementById('header').getElementsByTagName('DIV')[0];
	var prev = header.getElementsByTagName('H1')[0].firstChild;
	var link = document.createElement('A');
	link.href = '/';
	link.title = prev.title;
	link.style.cssText = 'display: block; width: 232px; height: 74px; position: absolute; margin-left: 363px; top: 68px; background-image: none;';
	header.appendChild(link);
};

var makeButtons = function () {
	if (is_ie6) {
		var i, buttons = document.getElementsByTagName('BUTTON');
		i = buttons.length;
		while (i-- > 0) {
			buttons[i].onmouseover = function () {
				this.firstChild.style.backgroundImage = 'none';
			};
			buttons[i].onmouseout = function () {
				this.firstChild.style.backgroundImage = 'url(/images/common/dotted.png)';
			};
		}
		i = document.links.length;
		while (i-- > 0) {
			if (document.links[i].className == 'more') {
				document.links[i].onmouseover = function () {
					this.firstChild.style.backgroundImage = 'none';
				};
				document.links[i].onmouseout = function () {
					this.firstChild.style.backgroundImage = 'url(/images/common/dotted.png)';
				};
			}
		}
	}
};

var makeDefaults = function () {
	var inputs = document.getElementsByTagName('INPUT');
	var i = inputs.length;
	while (i-- > 0) {
		if (inputs[i].type == 'text' && inputs[i].value) {
			inputs[i].onfocus = function () {
				if (this.value == this.defaultValue) {
					this.value = '';
				}
			};
			inputs[i].onblur = function () {
				if (!this.value) {
					this.value = this.defaultValue;
				}
			};
		}
	}
};

var selects, fixIE = function () {
	if (is_ie6) {
		var i = document.links.length;
		while (i-- > 0) {
			if (document.links[i].className && document.links[i].firstChild.nodeName.toUpperCase() == 'SPAN') {
				document.links[i].onmouseover = function () {
					this.firstChild.style.backgroundPosition = '0 110%';
				};
				document.links[i].onmouseout = function () {
					this.firstChild.style.backgroundPosition = '0 100%';
				};
				if (document.links[i].className == 'pg-last') {
					var offset = document.links[i].offsetWidth + 3;
					document.links[i].parentNode.style.paddingRight = offset + 'px';
					document.links[i].style.position = 'absolute';
				}
			}
		}
		var divs = document.getElementById('content').getElementsByTagName('DIV');
		var i = divs.length;
		while (i-- > 0) {
			if (divs[i].className.indexOf('col-right') != -1) {
				selects = divs[i].getElementsByTagName('SELECT');
				break;
			}
		}
	}
};

var makeHints = function () {
	var tags = document.getElementsByTagName('DFN');
	var i = tags.length;
	var div, word;
	while (i-- > 0) {
		word = tags[i].title;
		var id = 'h-' + word;
		tags[i].setAttribute('hint', id);
		tags[i].removeAttribute('title');
		var div = document.getElementById(id);
		if (!div) {
			div = document.createElement('DIV');
			div.id = id;
			div.className = 'hint-block';
			div.style.visibility = 'hidden';
			document.body.appendChild(div);
			setOpacity(div, 0.8);
			(new request).get('/scripts/requests.php?action=get_description&word=' + word, function (req, div) {
				div.innerHTML = req.responseText;
			}, div);
		}

		tags[i].onmouseover = function () {
			var id = this.getAttribute('hint');
			var div = document.getElementById(id);
			height = div.offsetHeight * 2;
			div.style.width = 'auto';
			var max = is_ie6 ? 283 : 253;
			if (div.offsetWidth > max) {
				div.style.width = max + 'px';
			}

			if (is_ie6 && selects) {
				var i = selects.length;
				while (i-- > 0) {
					selects[i].style.visibility = 'hidden';
				}
			}

			this.onmousemove = function (e) {
				e = e || event;
				var byTop;
				if (div) {
					div.style.visibility = 'visible';

					div.style.top = e.clientY + (document.documentElement.scrollTop || window.scrollY || document.body.scrollTop) + 20 + 'px';
					div.style.left = e.clientX + (document.documentElement.scrollLeft || window.scrollX || document.body.scrollLeft) + 'px';
				}
			}
		};

		tags[i].onmouseout = function () {
			var id = this.getAttribute('hint');
			var div = document.getElementById(id);
			if (div) {
				div.style.visibility = 'hidden';
				if (is_ie6 && selects) {
					var i = selects.length;
					while (i-- > 0) {
						selects[i].style.visibility = 'visible';
					}
				}
			}
		};
	}
};

var getResults = function (button) {
	var url = '', form = button.form;

	var i = form.elements.length;
	while (i-- > 0) {
		if (form.elements[i].type == 'radio') {
			if (form.elements[i].checked) {
				url += '&' + form.elements[i].name + '=' + form.elements[i].value;
				break;
			}
		}
	}

	if (url) {
		button.disabled = true;
		(new request).get('/scripts/requests.php?action=get_results&pid=' + form.elements['poll_id'].value + url, function (req) {
			
			form.innerHTML = req.responseText;
		});
	}
	button.blur();
	return false;
};

var sendEmail = function (button) {
	var parent = button.form;
	var input = parent.elements['email'];
	if (input.value && input.value.match(/^[\w\d\.\-]{2,}@[\w\d\.\-]{2,}\.[\w]{2,4}$/)) {
		button.disabled = true;
		(new request).get('/scripts/requests.php?action=newsletter&email=' + input.value, function (req) {
			var lines = parent.getElementsByTagName('P');
			var i = lines.length;
			while (i-- > 0) {
				parent.removeChild(lines[i]);
			}
			var p = document.createElement('P');
			p.innerHTML = req.responseText;
			parent.appendChild(p);
		});
	} else {
		var i = 0;
		var interval = setInterval(function () {
			input.style.borderColor = i % 2 ? '#8F8F8F' : '#F00';
			if (i == 20) {
				clearInterval(interval);
				input.style.borderColor = '#8F8F8F';
			}
			i++;
		}, 150);
		button.blur();
	}
	return false;
};

var checkSearch = function (button) {
	var parent = button.form;
	var input = parent.elements['text'];
	if (input.value && input.value != input.defaultValue) {
		return true;
	} else {
		var i = 0;
		var interval = setInterval(function () {
			input.style.borderColor = i % 2 ? '#8F8F8F' : '#F00';
			if (i == 20) {
				clearInterval(interval);
				input.style.borderColor = '#8F8F8F';
			}
			i++;
		}, 150);
		button.blur();
	}
	return false;
};

window.onload = function () {
	makeHdrLink();
	makeButtons();
	makeDefaults();
	fixIE();
	makeHints();

	try {
		Scroller.setAll();
		initLightbox();
	} catch (e) { }
};

