window.defaultNum=5 //kolichectvo blokov sprava po umolchaniyu
window.noSelects = false; //zagrujat dekorativnie selects


function init() {
	
	new AddDecor('.scene_menu dt', 'both',false);
	new AddDecor('.dvd_menu dt','both',false);
	setTimeout(function()
	{
		popUpWindow.init();
		try
		{
		myRbir = new Rbir(
		{
			def:[designPath+'/images/radio_on.gif', designPath+'/images/radio_off.gif'], //DEFAULT IMAGES
			dark:[designPath+'/images/radio_act_dark.gif', designPath+'/images/radio_def_dark.gif']
			
		});}
		/*catch(e){
		//
		}
		try
		{
		myCbir = new Cbir(
		{
			def:[designPath+'/images/checkbox_act.gif', designPath+'/images/checkbox_def.gif']
		});}*/
		catch(e){
		//
		}
		(document.all && !window.print) ? null : Sbr.init();
	},50);
	FlashTabs.init();
	bodyHeight();
}

function initAfterAjax(ajax_id) {
	if (!ajax_id) return false;
	//balloonTip.hide();
	Sbr.init(ajax_id);
	try
	{
		myRbir = new Rbir(
		{
			def:[designPath+'/images/radio_on.gif', designPath+'/images/radio_off.gif'], //DEFAULT IMAGES
			dark:[designPath+'/images/radio_act_dark.gif', designPath+'/images/radio_def_dark.gif']
		}, ajax_id);
		
		myCbir = new Cbir(
		{
			def:[designPath+'/images/checkbox_act.gif', designPath+'/images/checkbox_def.gif']
		}, ajax_id);
	}
	catch(e){
		//
	}
	resizeTabs();
	return true;
}


// Event-Selectors
var rulesDefault = {
	// Show+Hide balloon-tooltip over the models
	'div.models img:mouseover': function(element, event) {
		if (!element.tip) {
			element.tip = element.getAttribute('alt') ? element.getAttribute('alt') : '';
			element.setAttribute('alt','');
		}
		balloonTip.show(element.tip, {'x':-15,'y':-35}, 'simpleBalloon');
  },
	'div.models img:mouseout': function(element) {
    balloonTip.hide();
  },
	'table.gallery div.thumb img:mouseover': function(element, event) {
		var obj = element;
		while (obj = obj.parentNode) {
			if (obj.className == 'item') break;
		}
		if (info = document.getElementsByClassName('item_info',obj)[0]) balloonTip.show(info, 25);
  },
	'table.gallery div.thumb img:mouseout': function(element) {
    balloonTip.hide();
  },
  'div.model_photos div.wrap img:mouseover': function(element, event) {
		if (!element.tip) {
			element.tip = element.getAttribute('alt') ? element.getAttribute('alt') : '';
			element.setAttribute('alt','');
		}
		balloonTip.show(element.tip, {'x':-15,'y':-35}, 'simpleBalloon');
  },
	'div.model_photos div.wrap img:mouseout': function(element) {
    balloonTip.hide();
  },
  'div.model_videos img:mouseover': function(element, event) {
		if (!element.tip) {
			element.tip = element.getAttribute('alt') ? element.getAttribute('alt') : '';
			element.setAttribute('alt','');
		}
		balloonTip.show(element.tip, {'x':-15,'y':-35}, 'simpleBalloon');
  },
	'div.model_videos img:mouseout': function(element) {
    balloonTip.hide();
  }
}

Ajax.Responders.register({
  onComplete: function() { EventSelectors.assign(rulesDefault);}
})

function openImage(url,image_x,image_y)
{
    X_pos = (screen.width/2)-(image_x/2);
    Y_pos = (screen.height/2)-(image_y/2);
    window.open(url,'imagewin','scrollbars=no,resizable=no,left='+X_pos+',top='+Y_pos+',width='+image_x+',height='+image_y);
}

/* DOM-ready watcher by brothercake, http://www.brothercake.com/site/resources/scripts/domready/ */
function domFunction(f, a) {
	var n = 0;
	var t = setInterval(function() {
		var c = true;
		n++;
		if (typeof document.getElementsByTagName != 'undefined' && (document.getElementsByTagName('body')[0] != null || document.body != null)) {
			c = false;
			if (typeof a == 'object') {
				for (var i in a) {
					if ((a[i] == 'id' && document.getElementById(i) == null) || (a[i] == 'tag' && document.getElementsByTagName(i).length < 1) ) {
						c = true;
						break;
					}
				}
			}
			if (!c) { f(); clearInterval(t); }
		}
		if (n >= 60) {
			clearInterval(t);
		}
	}, 250);
};

/**
 * Add some html for decoring any element by css.
 *
 * elements (required) - elements in css style, like '#menu li'
 * layout - where add decor: 'top', 'bottom' or 'both' (by default)
 * wrap - add all childs to a wrap: true (by default) or false
 */
function AddDecor (elements, layout, wrap, id) {
	if (!elements) return false;
	var searchUnder = id ? '#'+id+' ' : '';
	switch (layout) {
		case 'top': this.layout = 'top'; break;
		case 'bottom': this.layout = 'bottom'; break;
		default: this.layout = 'both';
	}
	this.wrap = wrap == null ? true : (wrap == false ? false : true);

	var selArr = elements.split(',');
	var selNum = selArr.length;
	for (var j=0;j<selNum;j++) {
		var elArr = $$(searchUnder+selArr[j]);
		var elNum = elArr.length;
		for (var i=0;i<elNum;i++) {
			this.work(elArr[i]);
		}
	}
	return true;
}

AddDecor.prototype.work = function(el) {
	elChildsNum = el.childNodes.length;

	if (this.wrap) {
		var wrapObj = document.createElement('div');
		wrapObj.className = 'decorWrap';
		while(el.firstChild) wrapObj.appendChild(el.firstChild);
		el.appendChild(wrapObj);
	}

	if (this.layout == 'top' || this.layout == 'both') {
		var decorTop = document.createElement('b');
		decorTop.className = 'decorStr decorTop';
		var decorLeft = document.createElement('i');
		decorLeft.className = 'decorLeft';
		decorTop.appendChild(decorLeft);
		var decorCentre = document.createElement('i');
		decorCentre.className = 'decorCentre';
		decorTop.appendChild(decorCentre);
		var decorRight = document.createElement('i');
		decorRight.className = 'decorRight';
		decorTop.appendChild(decorRight);

		if (el.firstChild) {
			el.insertBefore(decorTop, el.firstChild);
		} else {
			el.appendChild(decorTop);
		}
	}

	if (this.layout == 'bottom' || this.layout == 'both') {
		var decorBottom = document.createElement('b');
		decorBottom.className = 'decorStr decorBottom';
		var decorLeft = document.createElement('i');
		decorLeft.className = 'decorLeft';
		decorBottom.appendChild(decorLeft);
		var decorCentre = document.createElement('i');
		decorCentre.className = 'decorCentre';
		decorBottom.appendChild(decorCentre);
		var decorRight = document.createElement('i');
		decorRight.className = 'decorRight';
		decorBottom.appendChild(decorRight);

		el.appendChild(decorBottom);
	}
}

/**
 * Select boxes replacer
 * by ZeT, http://zet.od.ua
 * version 0.5.2007-02-02
 *
 * based on http://www.easy-designs.net/articles/replaceSelect2/
 */
var withoutId = 0;

var Sbr = {
	init: function(id) {
		this.last = false;
		this.trigger = false;

		if (id && (form = document.getElementById(id))) {
			this.s = form.getElementsByTagName('select');
		} else {
			this.s = document.getElementsByTagName('select');
			withoutId = 1;
		}
    	this.sCount = this.s.length;
		for (var i=0; i<this.sCount; i++) {
		  if (!this.s[i].multiple) {
  			if (!this.s[i].id) {
  				this.s[i].id = 'select_'+i;
  			}
		  	if (withoutId == 1 && this.s[i].id == 'chosenProblem') {
				// select with ID 'chosenProblem' will be styled after popup window being loaded.
				// Identival styling class like "Sbr" was realized in popup.js
			} else {
				this.run(this.s[i], i);
			}
 		  }
		}
	},

	run: function(obj, counter) {
		// building faux select structure
		
		
		
		fauxSel = document.createElement('dl');
		fauxSel.className = obj.className ? obj.className + ' sbrWrap' : 'sbrWrap';
		
		obj.className = 'selReplaced';
		
	for(i=0; i<= $$('.perpage').length -1; i++) {
		window.arrowClick = $$('.perpage')[i];
		window.arrowClick.onclick = function(){	
			var selectElement = this.next().down('.sbrWrap').nextSibling;
			if (this.next().down('.sbrWrap').childNodes[1].className == 'sbrOptsCol') {
				selectElement.onfocus();
				Sbr.last.className = 'sbrOptsCol';
				Sbr.last = this.next().down('.sbrWrap').childNodes[1];
				Sbr.trigger = false;
				document.onclick = function() { if (Sbr.trigger) Sbr.last.className = 'sbrOptsCol'; Sbr.trigger = true; }
				this.next().down('.sbrWrap').childNodes[1].className = 'sbrOptsExp';
			} else {
				Sbr.lastObjId = false;
				document.onclick = function() {	}
				this.next().down('.sbrWrap').childNodes[1].className = 'sbrOptsCol';
			}
			if (this.next().down('.sbrWrap').childNodes[0].className == '') {
				this.next().down('.sbrWrap').nextSibling.focus();
			}
		}
		
	}

		
		

		fauxSel.onclick = function() {	
			var selectElement = this.nextSibling;
			if (this.childNodes[1].className == 'sbrOptsCol') {
				selectElement.onfocus();
				Sbr.last.className = 'sbrOptsCol';
				Sbr.last = this.childNodes[1];
				Sbr.trigger = false;
				document.onclick = function() { if (Sbr.trigger) Sbr.last.className = 'sbrOptsCol'; Sbr.trigger = true; }
				this.childNodes[1].className = 'sbrOptsExp';
			} else {
				Sbr.lastObjId = false;
				document.onclick = function() {	}
				this.childNodes[1].className = 'sbrOptsCol';
			}
			if (this.childNodes[0].className == '') {
				this.nextSibling.focus();
			}
		}

		var curOpt = document.createElement('dt');
		curOpt.className = '';
		fauxSel.appendChild(curOpt);
		var optsWrap = document.createElement('dd');
		optsWrap.className = 'sbrOptsCol';
		fauxSel.appendChild(optsWrap);
		var optsList = document.createElement('ul');
		optsWrap.appendChild(optsList);
		optsList.style.zIndex = fauxSel.style.zIndex = 1000-counter;

		var opts = obj.options;
		var selectedOpt = (!obj.selectedIndex) ? 0 : obj.selectedIndex;
		for (var i=0; i<opts.length; i++) {
			var li = document.createElement('li');
			var txt = opts[i].text ? document.createTextNode(opts[i].text) : document.createTextNode('blank option');
			li.appendChild(txt);
			li.title = opts[i].title;
			li.selIndex = i;
			li.selectID = obj.id;
			li.onclick = function() {
				Sbr.selectMe(this);
			}
			if (i == selectedOpt) {
				li.className = 'sbrSelected';
				curOpt.appendChild(txt.cloneNode(false));
			}
			if (window.attachEvent) {
				li.onmouseover = function() {
					this.className += ' hover';
				}
				li.onmouseout = function() {
					this.className = this.className.replace(new RegExp(" hover\\b"), '');
				}
			}
			optsList.appendChild(li);
		}
		obj.oldonfocus = obj.onfocus;
		obj.onfocus = function() {
			if (this.oldonfocus) this.oldonfocus();
			this.previousSibling.childNodes[0].className = 'sbrFocused';
		}
		obj.oldonblur = obj.onblur;
		obj.onblur = function() {
			if (this.oldonblur) this.oldonblur();
			this.previousSibling.childNodes[0].className = '';
		}
		obj.oldonchange = obj.onchange;
		obj.onchange = function() {
			if(obj.previous == undefined) {
				obj.previous = obj.value;
			} else {
				if(obj.previous == obj.value) {
					return;
				} else {
					obj.previous = obj.value;
				}
			}
			//alert("Change");
			if (this.oldonchange) this.oldonchange();
			var idx = this.selectedIndex;
			var ul = this.previousSibling.childNodes[1].childNodes[0];
			Sbr.selectMe(ul.childNodes[idx],1);
		}
		obj.onkeypress = obj.onchange;

		obj.parentNode.insertBefore(fauxSel,obj);
	},

	selectMe: function(liObj) {
		var selectElement = liObj.parentNode.parentNode.parentNode.nextSibling;
		var lis = liObj.parentNode.getElementsByTagName('li');
		for (var i=0; i<lis.length; i++) {
			if (lis[i] != liObj) {
				lis[i].className = '';
				lis[i].onclick = function() {
					Sbr.selectMe(this);
				}
			} else {
				this.setVal(liObj.selectID, liObj.selIndex);
				liObj.className = 'sbrSelected';
				var curOpt = liObj.parentNode.parentNode.parentNode.childNodes[0];
				curOpt.removeChild(curOpt.childNodes[0]);
				curOpt.appendChild(liObj.childNodes[0].cloneNode(false));
				if(arguments[1] != 1){
					selectElement.onchange();
				}
			}
		}
	},

	setVal: function(objID, val) {
		var obj = document.getElementById(objID);
		obj.selectedIndex = val;
	}
}


var balloonTip = {
	show: function(source, offset, balloonClass) {
		if (!this.balloon) this.build();
		if (!source) return false;
		if (typeof(source) == 'object' && source.tagName != null) {
			this.source = source.cloneNode(true);
			this.source.style.display = '';
		} else {
			this.source = document.createTextNode(source);
		}
		this.offset = offset ? (typeof(offset)!='object' ? {'x':offset,'y':offset} : offset ) : {'x':0,'y':0};
		this.balloon.className = balloonClass ? balloonClass : '';

		this.tip.appendChild(this.source);
		this.sizes = {
			scrollX : (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft),
			scrollY : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop),
			winX : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth),
			winY : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight)
		};

		document.onmousemove = function(event) {balloonTip.posit(event);}
		this.balloon.style.display = 'block';
	},

	build: function() {
		this.balloon = document.createElement('div');
		this.balloon.setAttribute('id','balloon');
		this.balloon.style.display = 'none';
		this.tip = document.createElement('div');
		this.tip.setAttribute('id','balloon-tip');
		this.balloon.appendChild(this.tip);
		document.getElementsByTagName('body').item(0).appendChild(this.balloon);
	},

	posit: function(evt) {
		this.balloon.style.left = 'auto';
		var bX = this.balloon.offsetWidth;
		var bY = this.balloon.offsetHeight;
		var x = this.mouseX(evt) + this.offset.x;
		var y = this.mouseY(evt) + this.offset.y;

		if (bX < this.sizes.winX && x - this.sizes.scrollX + bX >= this.sizes.winX) {
			x -= bX + this.offset.x * 2;
		}
		if (bY < this.sizes.winY && y - this.sizes.scrollY + bY >= this.sizes.winY) {
			y -= bY + this.offset.y * 2;
		}

		this.balloon.style.left = x + 'px';
		this.balloon.style.top = y + 'px';
	},

	hide: function() {
		document.onmousemove = function() { return false; }
		try{this.tip.removeChild(this.source);}catch(e){}
		this.source = null;
		this.balloon.style.display = 'none';
		this.balloon.style.left = this.balloon.style.top = '-1000px';
	},

	mouseX: function(evt) {
		if (document.all) if (event) evt = event;
		if (evt.pageX)
			return evt.pageX;
		if (evt.clientX)
			return evt.clientX + this.sizes.scrollX;
		return -1;
	},
	mouseY: function(evt) {
		if (document.all) if (event) evt = event;
		if (evt.pageY)
			return evt.pageY;
		if (evt.clientY)
			return evt.clientY + this.sizes.scrollY;
		return -1;
	}
}

/* hides 'splash' div and sets cookie 'cms_splash_screen' about it */
function hideSplash() {
	expires = 365; // days

	var today = new Date();
	today.setTime( today.getTime() );
	var expires_date = new Date( today.getTime() + (expires * 1000 * 60 * 60 * 24) );
	document.cookie = 'cms_splash_screen=1' + ';expires=' + expires_date.toGMTString();

	$('splash_out').style.display = 'none';
	$('splash').style.display = 'none';

}
/**
*@package EnvisioNext javascript library
*@subpackage Popup static window
*@copyright (C) 2007 EnvisioNext.com  <support@EnvisioNext.com>
*@author Anton Zavidov <anton.zavidov@envisionext.com.ua>
*/

//Base class
var popUpWindow = {
	// Init popuphandler
	// This function must be run after load document
	init : function()
	{
		var popups = $$(".tooltip");
		for(var i=0; i<popups.length; i++){
			var activePopUpElement = this.find(popups[i],"prev");
			if(activePopUpElement)
			{
				Event.observe(activePopUpElement,'click',this.open);
			}
		}
	},
	// Find handler object
	find : function(element,mode)
	{
		var prev = true;
		clas = (mode == "prev")? "popup" : "tooltip";
		while(element.className != clas && prev == true) {
			if((mode == "prev" && element.previousSibling) || (mode != "prev" && element.nextSibling)){
				element = (mode == "prev")? element.previousSibling : element.nextSibling;
			} else {
				prev = false;
				return false;
			}
		}
		return element;
	},
	// Open/Close popup window
	open : function()
	{
		element = (navigator.appName == "Microsoft Internet Explorer")?Event.element(event):this;
		var popUp = popUpWindow.find(element, "next");
		if(popUp)
		{
			if(popUp.style.display == "" || popUp.style.display == "none")
			{
				popUp.style.display = "block";
			} else {
				popUp.style.display = "none";
			}
		}
	},
	// Close popup window if clicked 'close'
	closePopUp : function(element)
	{
		element.parentNode.parentNode.style.display = "none";
	}
}

/**
*@package EnvisioNext javascript library
*@subpackage Toplist
*@copyright (C) 2007 EnvisioNext.com  <support@EnvisioNext.com>
*@author Anton Zavidov <anton.zavidov@envisionext.com.ua>
*/
var TopList = {
	globalDivClass : "list",
	linkClass : "name",
	coverImg : "coverImg",
	coverLink : "coverLink",
	urls1 : false,
	urls2 : false,
	imgs : false,
	init : function()
	{
		var element = $$("div."+TopList.globalDivClass+" a."+TopList.linkClass);
		this.urls1 = $$("." + TopList.coverLink);
		this.urls2 = $$("div.img a.name");
		this.imgs = $$("." + TopList.coverImg);
		
		for (var i=0; i<element.length; i++) {
			Event.observe(element[i], 'mouseover', this.mouseOver.bindAsEventListener(this));
		}
	},
	mouseOver : function(event)
	{
		var element = Event.element(event);
		if(element.tagName!="A"){
			element = element.parentNode;
		}
		this.urls1[0].href = element.href;
		this.urls1[1].href = element.href;
		this.urls2[0].href = element.href;
		this.urls2[1].href = element.href;
		var div = element.nextSibling;
		if(!div)div = element.parentNode.nextSibling;
			try{
				this.imgs[0].src = div.childNodes[0].src;
				this.imgs[1].src = div.childNodes[1].src;
			} catch(e){
				var div = element.parentNode.parentNode.nextSibling;
				try{
					this.imgs[0].src = div.childNodes[0].src;
					this.imgs[1].src = div.childNodes[1].src;
				} catch(e){}
			}
	}
}

// Debug Window
var dbw = function(element)
{
	var d="";
	for(f in element) {
		try
		{
			d+=f+"="+element(f)+"\n";
		} 
		catch(e)
		{
			continue;
		}
	}
	myW = open("", "displayWindow", "status=no,toolbar=no,menubar=yes");
	myW.document.open();
	myW.document.write("<html><body><textarea style='width: 500px; heigth: 500px'>"+d+"</textarea></body></html>");
	myW.document.close();
	
}
/**
*@package EnvisioNext javascript library
*@subpackage ListUp
*@copyright (C) 2007 EnvisioNext.com  <support@EnvisioNext.com>
*@author Anton Zavidov <anton.zavidov@envisionext.com.ua>
*/
var ListUp = {
	init : function()
	{
		if($('RelatedItemsViewIdDriver') && $('RelatedItemsViewId') && $('RelatedItemsViewIdSelect')){
			Event.observe($('RelatedItemsViewIdDriver'), 'click', this.RelatedItemsViewIdDriver.bindAsEventListener(this));
			//Event.observe($('RelatedItemsViewIdSelect'), 'change', this.RelatedItemsViewIdSelect.bindAsEventListener(this));
			this.selects($('RelatedItemsViewIdSelect'),'RelatedItemsView');
			this.hiddenEl('RelatedItemsViewId','RelatedItemsView');
			$('RelatedItemsViewId').style.display = "block";
		}
		if($('RelatedPhotoItemsViewIdDriver') && $('RelatedPhotoItemsViewId') && $('RelatedPhotoItemsViewIdSelect')){
			Event.observe($('RelatedPhotoItemsViewIdDriver'), 'click', this.RelatedPhotoItemsViewIdDriver.bindAsEventListener(this));
			//Event.observe($('RelatedPhotoItemsViewIdSelect'), 'change', this.RelatedPhotoItemsViewIdSelect.bindAsEventListener(this));
			this.selects($('RelatedPhotoItemsViewIdSelect'),'RelatedPhotoItemsView');
			this.hiddenEl('RelatedPhotoItemsViewId','RelatedPhotoItemsView');
			$('RelatedPhotoItemsViewId').display = "block";
		}
	},
	RelatedItemsViewIdDriver : function()
	{
		var el = $('RelatedItemsViewId');
		this.hiddenEl('RelatedItemsViewId','RelatedItemsView');
		if(el.style.display == "" || el.style.display == "block") {
			el.style.display = "none";
			$('RelatedItemsViewIdDriver').className = $('RelatedItemsViewIdDriver').className.split(" ")[0]+" collapse";
		} else {
			el.style.display = "block";
			$('RelatedItemsViewIdDriver').className = $('RelatedItemsViewIdDriver').className.split(" ")[0]+" expand";
		}
	},
	RelatedPhotoItemsViewIdDriver : function()
	{
		var el = $('RelatedPhotoItemsViewId');
		this.hiddenEl('RelatedPhotoItemsViewId','RelatedPhotoItemsView');
		if(el.style.display == "" || el.style.display == "block") {
			el.style.display = "none";
			$('RelatedPhotoItemsViewIdDriver').className = $('RelatedPhotoItemsViewIdDriver').className.split(" ")[0]+" collapse";
		} else {
			el.style.display = "block";
			$('RelatedPhotoItemsViewIdDriver').className = $('RelatedPhotoItemsViewIdDriver').className.split(" ")[0]+" expand";
		}
	},
	RelatedItemsViewIdSelect : function(el)
	{
		var value = el.value;
		setSettings('RelatedItemsView',value);
		this.hiddenEl('RelatedItemsViewId','RelatedItemsView');
	},
	RelatedPhotoItemsViewIdSelect : function(el)
	{
		var value = el.value;
		setSettings('RelatedPhotoItemsView',value);
		this.hiddenEl('RelatedPhotoItemsViewId','RelatedPhotoItemsView');
	},hiddenEl : function(el,cook)
	{		
		var num = getSettings(cook);
		if(num!=null){
			num = parseInt(num);
		} else {
			num=window.defaultNum;
			setSettings('RelatedPhotoItemsView',num);
		}
		var elements = $$("#"+el+" div.item");
		for(var i=0; i<elements.length; i++){
			if(i>=num) {
				elements[i].style.display="none";
			} else {
				elements[i].style.display="block";
			}
		}
	},/*
	hiddenEl : function(el,cook)
	{		
		var num = getSettings(cook);
		if(num!=null){
			num = parseInt(num);
			var elements = $$("#"+el+" div.item");
			for(var i=0; i<elements.length; i++){
				if(i>=num) {
					elements[i].style.display="none";
				} else {
					elements[i].style.display="block";
				}
			}
		}
	},*/
	/*selects : function(se,cook)
	{
		var num = getSettings(cook);
		num = (!num)?window.defaultNum:num;
		for(var i=0; i<se.options.length; i++){
			if(parseInt(se.options[i].value) == parseInt(num)){
				se.options[i].selected = true;
				return;
			}
		}
	}
}*/selects : function(se,cook)
	{
		var num = getSettings(cook);
		if(num!=null){
			num = parseInt(num);
		} else {
			num = (!num)?window.defaultNum:num;
			setSettings('RelatedPhotoItemsView',num);
		}
		/*for(var i=0; i<se.options.length; i++){
			if(parseInt(se.options[i].value) == parseInt(num)){
				se.options[i].selected = true;
				return;
			}
		}*/
		se.up('dl').down('dt').innerHTML = num;
	}
}

/*New Vote*/
updateRating = function(voteObj) {
	$$('.vote_'+voteObj.cid).each(function(block){
		block.select('b').each(function(obj,index){
			if (index+1<=voteObj.voteTotal) obj.addClassName('active');
			else obj.removeClassName('active');
			if (index+1<=voteObj.voteUser) obj.addClassName('userRating');
			else obj.removeClassName('userRating');
			Event.stopObserving(obj, 'click');
			Event.observe(obj,'click',function(event){
				if (!voteObj.allowVoting) return;
				if (!window.userId || window.userId < 1) {document.location.href = (window.joinUrl) ? window.joinUrl : '/'; return}
				if (voteObj.disableVoting) {document.location.href = '/'; return;}
				var opt = {
					method: 'post',
					postBody: 'mode_ajax=true&UserVotes_action=userVote&UserVotes_cid='+voteObj.cid+'&UserVotes_vote='+(index+1),
					onSuccess: function(t) {
						var documentBody = document.getElementsByTagName('body')[0];
						var div = document.createElement('div');
						div.innerHTML = t.responseText;
						clearCache();
						documentBody.appendChild(div);
						voteObj.voteTotal = $F($('voteTotal_'+voteObj.cid));
						voteObj.voteUser = $F($('voteUser_'+voteObj.cid));
						window.updateRating(voteObj);
						documentBody.removeChild(div);
					},
					onFailure: function(t) {}
				}
				new Ajax.Request('uservotes.php?', opt);
				Event.stop(event);
			});
		});
	});
}

/**
*@package EnvisioNext javascript library
*@subpackage Cookies
*@copyright (C) 2007 EnvisioNext.com  <support@EnvisioNext.com>
*@author Anton Zavidov <anton.zavidov@envisionext.com.ua>
*/
var setSettings = function(name, value)
{
	document.cookie = name + "=" + escape(value) +
      	"; expires=Mon, 01-Jan-2017 00:00:00 GMT" +
      	"; path=/";
}
var getSettings = function(name)
{
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
   	var offset = 0;
    var end = 0;
    if (cookie.length > 0)
	{
		offset = cookie.indexOf(search);
		if (offset != -1)
		{
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1)
			{
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}
/**
*@package EnvisioNext javascript library
*@subpackage Flash Tabs
*@copyright (C) 2007 EnvisioNext.com  <support@EnvisioNext.com>
*@author Anton Zavidov <anton.zavidov@envisionext.com.ua>
*/
var FlashTabs = {
	formats : {
		// Example
		//"dvd":[x,y,mode,flvFolder,flvName,providerName];
		"dvd":[648,478,0,"tour_movies/","640.flv"],
		"high":[488,372,1,"tour_movies/","480.flv"],
		"medium":[328,265,2,"tour_movies/","320.flv"],
		"low":[192,144,3,"tour_movies/"]
	},
	init : function()
	{
		var lis = $$('div.download_dvd_flash li');
		for (var i=0; i<lis.length; i++) {
			Event.observe(lis[i], 'click', this.click.bindAsEventListener(this));
		}
		var active = $$('div.download_dvd_flash li.active');
		if(active[0]){
			var clas = active[0].id;
			var format = this.formats[clas];
			if(!format){
				return;
			}
			var div = $("free_tour_player");
			div.style.width = format[0] + "px";
			div.style.height = format[1] + "px";
			this.correctHeight(format[1], div);
			flashStart(format[5],format[3],format[4]);
		}
	},
	click : function(event)
	{
		var element = Event.element(event);
		var clas = element.id;
		if(!clas) {
			return;
		}
		var format = this.formats[clas];
		if(!format){
			return;
		}
		var active = $$('div.download_dvd_flash li.active');
		if(active[0]){
			active[0].className = ""; 
		}
		element.className = "active";
		var div = $("free_tour_player");
		div.style.width = format[0] + "px";
		div.style.height = format[1] + "px";
		this.correctHeight(format[1], div);
		en_flash_sendToPlayer(format[2],format[5],format[3],format[4]);
	},
	correctHeight : function(height,div)
	{
		var cover = $$('div.download_dvd_flash div.main_flash');
		if(!cover){
			return
		} else cover = cover[0];
		div.style.paddingTop = parseInt((485-height)/2)+"px";
	}
}
////
var bodyHeight = function() { 
	var body = $$('body')[0];
	body.style.height = 'auto';
	var winHeight = (document.documentElement.clientHeight?document.documentElement.clientHeight :	document.body.clientHeight);
	body.style.height = body.offsetHeight > winHeight ? 'auto' : '100%'; 
};

function setCookie(name, value) {
      var valueEscaped = escape(value);
      var expiresDate = new Date();
      expiresDate.setTime(expiresDate.getTime() + 365 * 24 * 60 * 60 * 1000);
      var expires = expiresDate.toGMTString();
      var newCookie = name + "=" + valueEscaped + "; path=/; expires=" + expires;
      if (valueEscaped.length <= 4000) document.cookie = newCookie + ";";
}

function getCookie(name) {
      var prefix = name + "=";
      var cookieStartIndex = document.cookie.indexOf(prefix);
      if (cookieStartIndex == -1) return null;
      var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
      if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
      return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function setStreamTab (id){
		setCookie('StreamTab', id);
}

/*send Content Error*/
function sendContentError(obj) {
	var obj = obj || new Object();
	var data = {
		code : obj.code || 404,
		url : obj.url || null
	}
	var frame = document.createElement('iframe');
	with (frame) {
		src = document.location.protocol + '//' + document.location.host + '/logError/contentError.html?code=' + data.code + (data.url ? '&url='+escape(data.url) : '');
		with (style) {
			position = 'absolute';
			top = '-10000px';
			left = '-10000px';
			width = '0';
			height = '0';
			visibility = 'hidden';
		}
		var handler = function(){document.body.removeChild(frame);};
		if (document.addEventListener) addEventListener('load', handler, false)
		else attachEvent('onload', handler);
	}
	document.body.appendChild(frame);
}
updateRating = function(voteObj) {
	$$('.vote_'+voteObj.cid).each(function(block){
		block.select('b').each(function(obj,index){
			if (index+1<=voteObj.voteTotal) obj.addClassName('active');
			else obj.removeClassName('active');
			if (index+1<=voteObj.voteUser) obj.addClassName('userRating');
			else obj.removeClassName('userRating');
			Event.stopObserving(obj, 'click');
			Event.observe(obj,'click',function(event){
				if (!voteObj.allowVoting) return;
				if (!window.userId || window.userId < 1) {document.location.href = (window.joinUrl) ? window.joinUrl : '/'; return}
				if (voteObj.disableVoting) {document.location.href = '/'; return;}
				var opt = {
					method: 'post',
					postBody: 'mode_ajax=true&UserVotes_action=userVote&UserVotes_cid='+voteObj.cid+'&UserVotes_vote='+(index+1),
					onSuccess: function(t) {
						var documentBody = document.getElementsByTagName('body')[0];
						var div = document.createElement('div');
						div.innerHTML = t.responseText;
						clearCache();
						documentBody.appendChild(div);
						voteObj.voteTotal = $F($('voteTotal_'+voteObj.cid));
						voteObj.voteUser = $F($('voteUser_'+voteObj.cid));
						window.updateRating(voteObj);
						documentBody.removeChild(div);
					},
					onFailure: function(t) {}
				}
				new Ajax.Request('uservotes.php?', opt);
				Event.stop(event);
			});
		});
	});
}

function Get_Cookie( check_name ) {
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		a_temp_cookie = a_all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

function Delete_Cookie( name, path, domain ) {
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function createInput(name,value) {
	return '<input type="hidden" id="' + name + '" name="' + name + '" value="' + value + '" />';
}

function client_data(info)
{
	if (info == 'width')
	{
		var width = (screen.width) ? screen.width:'';
		var height = (screen.height) ? screen.height:'';
		if (typeof(screen.deviceXDPI) == 'number') {
			width *= screen.deviceXDPI/screen.logicalXDPI;
			height *= screen.deviceYDPI/screen.logicalYDPI;
		} 
		var string_value = '' + width + ' x ' + height + ' pixels';
		return (width && height) ? string_value : '';
	}
	else if (info == 'js' )
	{
		return 1;
	}
	else if ( info == 'cookies' )
	{
		expires ='';
		Set_Cookie( 'cookie_test', 'it_worked' , expires, '', '', '' );
		if ( Get_Cookie( 'cookie_test' ) )
		{
			var value = 1;
		}
		else {
			var value = 0;
		}
		return value;
	}
}

var FlashDetect=new function(){var self=this;self.installed=false;self.raw="";self.major=-1;self.minor=-1;self.revision=-1;self.revisionStr="";var activeXDetectRules=[{"name":"ShockwaveFlash.ShockwaveFlash.7","version":function(obj){return getActiveXVersion(obj);}},{"name":"ShockwaveFlash.ShockwaveFlash.6","version":function(obj){var version="6,0,21";try{obj.AllowScriptAccess="always";version=getActiveXVersion(obj);}catch(err){}
return version;}},{"name":"ShockwaveFlash.ShockwaveFlash","version":function(obj){return getActiveXVersion(obj);}}];var getActiveXVersion=function(activeXObj){var version=-1;try{version=activeXObj.GetVariable("$version");}catch(err){}
return version;};var getActiveXObject=function(name){var obj=-1;try{obj=new ActiveXObject(name);}catch(err){obj={activeXError:true};}
return obj;};var parseActiveXVersion=function(str){var versionArray=str.split(",");return{"raw":str,"major":parseInt(versionArray[0].split(" ")[1],10),"minor":parseInt(versionArray[1],10),"revision":parseInt(versionArray[2],10),"revisionStr":versionArray[2]};};var parseStandardVersion=function(str){var descParts=str.split(/ +/);var majorMinor=descParts[2].split(/\./);var revisionStr=descParts[3];return{"raw":str,"major":parseInt(majorMinor[0],10),"minor":parseInt(majorMinor[1],10),"revisionStr":revisionStr,"revision":parseRevisionStrToInt(revisionStr)};};var parseRevisionStrToInt=function(str){return parseInt(str.replace(/[a-zA-Z]/g,""),10)||self.revision;};self.majorAtLeast=function(version){return self.major>=version;};self.minorAtLeast=function(version){return self.minor>=version;};self.revisionAtLeast=function(version){return self.revision>=version;};self.versionAtLeast=function(major){var properties=[self.major,self.minor,self.revision];var len=Math.min(properties.length,arguments.length);for(i=0;i<len;i++){if(properties[i]>=arguments[i]){if(i+1<len&&properties[i]==arguments[i]){continue;}else{return true;}}else{return false;}}};self.FlashDetect=function(){if(navigator.plugins&&navigator.plugins.length>0){var type='application/x-shockwave-flash';var mimeTypes=navigator.mimeTypes;if(mimeTypes&&mimeTypes[type]&&mimeTypes[type].enabledPlugin&&mimeTypes[type].enabledPlugin.description){var version=mimeTypes[type].enabledPlugin.description;var versionObj=parseStandardVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revisionStr=versionObj.revisionStr;self.revision=versionObj.revision;self.installed=true;}}else if(navigator.appVersion.indexOf("Mac")==-1&&window.execScript){var version=-1;for(var i=0;i<activeXDetectRules.length&&version==-1;i++){var obj=getActiveXObject(activeXDetectRules[i].name);if(!obj.activeXError){self.installed=true;version=activeXDetectRules[i].version(obj);if(version!=-1){var versionObj=parseActiveXVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revision=versionObj.revision;self.revisionStr=versionObj.revisionStr;}}}}}();};FlashDetect.JS_RELEASE="1.0.4";



/*var JSEnable 		= createInput('JSEnable',client_data('js'));
var cookieEnable 	= createInput('cookieEnable',client_data('cookies'));
var screenRes 		= createInput('screenRes',client_data('width'));
var flashPlayerVers	= createInput('flashPlayerVers',FlashDetect.major+'.'+FlashDetect.minor+' '+FlashDetect.revisionStr);*/

/*function SetInfo(id){
	var data = JSEnable + cookieEnable + screenRes + flashPlayerVers;
	$(id).innerHTML = data;
}*/

function EmailTets(id,text){
	var alphaExp = /^[-+\.0-9=a-zA-Z_]+@([-0-9a-zA-Z]+\.)+([0-9a-zA-Z]){2,4}$/;
	 if ($(id).value == ''){
		alert(text+' is required!');
		$(id).focus();
		return false;
	 }else if (!alphaExp.test($(id).value)){
		alert(text+' is not correct!');
		$(id).focus();
		return false;
	}else{
		return true;
	}
}

//********************************************************************************/
//********************************************************************************/
//********************************************************************************/
//*********************************common.js**************************************/
//********************************************************************************/
//********************************************************************************/
//********************************************************************************/

window.defaultNum=5 //kolichectvo blokov sprava po umolchaniyu
window.noSelects = false; //zagrujat dekorativnie selects

////////////////////////////////////////////////////////////////////////////////////////////////////////////

function wrapSelectBox(select) {
	Selector.findChildElements(select.parentNode, ['li']).without(select).each(function (li) {
		Event.observe(li, 'click', function(event) {
			li = Event.element(event);
			select.down('dt').update(li.innerHTML);
			if (input = select.down('input')) {
				var attrVal = li.getAttribute('value');
				input.value = (!attrVal || attrVal == -1) ? li.getAttribute('lang') : attrVal;
			}
			var changeCode = select.getAttribute('onchange');
			if (changeCode && changeCode != '') {
				eval(changeCode);
			}
		}.bind(select));
	});
}

Event.observe(window, "load", function(event) {
	if ($('top20dvds')) {
		TopList.init();
	}
	if (navigator.userAgent.indexOf("MSIE") > -1) {
		$$("a.thumb img").each(function(item) {
			item.style.position = "relative";
			item.style.display = "inline";
		});
	}
	$$('dl.selectboxs').each(wrapSelectBox);
});

function ajaxSelectLoader(select, type) {
	select.down('dd').toggle();
	if (!window.ajaxLoadFlags || !window.ajaxLoadFlags[type]) {
		if (!window.ajaxLoadFlags) {
			window.ajaxLoadFlags = {};
		}
		new Ajax.Request('blockbrowsesets.php?BlockBrowseSets_ajax=1&BlockBrowseSets_show' + type + '=1', {
			method: 'get',
			onSuccess: function(t) {
				window.ajaxLoadFlags[type] = true;
				$('browse' + type).update(t.responseText);
				wrapSelectBox(select);
				
				if (document.getElementById('searchForma')){
					$('search' + type).update(t.responseText);
					wrapSelectBox(select);
					}
				
			}
		});
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////


//********************************************************************************/
//********************************************************************************/
//********************************************************************************/
//**********************************popup.js**************************************/
//********************************************************************************/
//********************************************************************************/
//********************************************************************************/

var was_SbrPopUp_Init = 0;
var SbrPopUp = {
	init: function(id) { 
		this.last = false;
		this.trigger = false;

		if (id && (form = document.getElementById(id))) {
			this.s = form.getElementsByTagName('select');
		} else {
			this.s = document.getElementsByTagName('select');
		}
    	this.sCount = this.s.length;
		for (var i=0; i<this.sCount; i++) {
		  if (!this.s[i].multiple) {
  			if (!this.s[i].id) {
  				this.s[i].id = 'select_'+i;
  			}
			this.run(this.s[i], i);
 		  }
		}
	},

	run: function(obj, counter) {
		// building faux select structure
		var fauxSel = document.createElement('dl');
		fauxSel.className = obj.className ? obj.className + ' sbrWrap' : 'sbrWrap';
		obj.className = 'selReplaced';

		fauxSel.onclick = function() {	
			var selectElement = this.nextSibling;
			if (this.childNodes[1].className == 'sbrOptsCol') {
				selectElement.onfocus();
				SbrPopUp.last.className = 'sbrOptsCol';
				SbrPopUp.last = this.childNodes[1];
				SbrPopUp.trigger = false;
				document.onclick = function() { if (SbrPopUp.trigger) SbrPopUp.last.className = 'sbrOptsCol'; SbrPopUp.trigger = true; }
				this.childNodes[1].className = 'sbrOptsExp';
			} else {
				SbrPopUp.lastObjId = false;
				document.onclick = function() {	}
				this.childNodes[1].className = 'sbrOptsCol';
			}
			if (this.childNodes[0].className == '') {
				this.nextSibling.focus();
			}
		}

		var curOpt = document.createElement('dt');
		curOpt.className = '';
		fauxSel.appendChild(curOpt);
		var optsWrap = document.createElement('dd');
		optsWrap.className = 'sbrOptsCol';
		fauxSel.appendChild(optsWrap);
		var optsList = document.createElement('ul');
		optsWrap.appendChild(optsList);
		optsList.style.zIndex = fauxSel.style.zIndex = 1000-counter;

		var opts = obj.options;
		var selectedOpt = (!obj.selectedIndex) ? 0 : obj.selectedIndex;
		for (var i=0; i<opts.length; i++) {
			var li = document.createElement('li');
			var txt = opts[i].text ? document.createTextNode(opts[i].text) : document.createTextNode('blank option');
			li.appendChild(txt);
			li.title = opts[i].title;
			li.selIndex = i;
			li.selectID = obj.id;
			li.onclick = function() {
				SbrPopUp.selectMe(this);
			}
			if (i == selectedOpt) {
				li.className = 'sbrSelected';
				curOpt.appendChild(txt.cloneNode(false));
			}
			if (window.attachEvent) {
				li.onmouseover = function() {
					this.className += ' hover';
				}
				li.onmouseout = function() {
					this.className = this.className.replace(new RegExp(" hover\\b"), '');
				}
			}
			optsList.appendChild(li);
		}
		obj.oldonfocus = obj.onfocus;
		obj.onfocus = function() {
			if (this.oldonfocus) this.oldonfocus();
			this.previousSibling.childNodes[0].className = 'sbrFocused';
		}
		obj.oldonblur = obj.onblur;
		obj.onblur = function() {
			if (this.oldonblur) this.oldonblur();
			this.previousSibling.childNodes[0].className = '';
		}
		obj.oldonchange = obj.onchange;
		obj.onchange = function() {
			if(obj.previous == undefined) {
				obj.previous = obj.value;
			} else {
				if(obj.previous == obj.value) {
					return;
				} else {
					obj.previous = obj.value;
				}
			}
			//alert("Change");
			if (this.oldonchange) this.oldonchange();
			var idx = this.selectedIndex;
			var ul = this.previousSibling.childNodes[1].childNodes[0];
			SbrPopUp.selectMe(ul.childNodes[idx],1);
		}
		obj.onkeypress = obj.onchange;

		obj.parentNode.insertBefore(fauxSel,obj);
	},

	selectMe: function(liObj) {
		var selectElement = liObj.parentNode.parentNode.parentNode.nextSibling;
		var lis = liObj.parentNode.getElementsByTagName('li');
		for (var i=0; i<lis.length; i++) {
			if (lis[i] != liObj) {
				lis[i].className = '';
				lis[i].onclick = function() {
					SbrPopUp.selectMe(this);
				}
			} else {
				this.setVal(liObj.selectID, liObj.selIndex);
				liObj.className = 'sbrSelected';
				var curOpt = liObj.parentNode.parentNode.parentNode.childNodes[0];
				curOpt.removeChild(curOpt.childNodes[0]);
				curOpt.appendChild(liObj.childNodes[0].cloneNode(false));
				if(arguments[1] != 1){
					selectElement.onchange();
				}
			}
		}
	},

	setVal: function(objID, val) {
		var obj = document.getElementById(objID);
		obj.selectedIndex = val;
	}
}


var browserName=navigator.appName;  

if (browserName=="Microsoft Internet Explorer") 
{ 
  var agt=navigator.userAgent.toLowerCase();
  var iePos  = agt.indexOf('msie');
  var browserVer = parseFloat(agt.substring(iePos+5,agt.indexOf(';',iePos)));

  if(browserVer < 7)   window.isIE6=true;
}
else 
  window.isIE6=false; 



function getPageSize() {
	
 var xScroll, yScroll;

if (window.innerHeight && window.scrollMaxY) {	
	xScroll = window.innerWidth + window.scrollMaxX;
	yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
	xScroll = document.body.scrollWidth;
	yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
	xScroll = document.body.offsetWidth;
	yScroll = document.body.offsetHeight;
}

var windowWidth, windowHeight;

if (self.innerHeight) {	// all except Explorer
	if(document.documentElement.clientWidth){
		windowWidth = document.documentElement.clientWidth; 
	} else {
		windowWidth = self.innerWidth;
	}
	windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
	windowWidth = document.documentElement.clientWidth;
	windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
	windowWidth = document.body.clientWidth;
	windowHeight = document.body.clientHeight;
}	

// for small pages with total height less then height of the viewport
if(yScroll < windowHeight){
	pageHeight = windowHeight;
} else { 
	pageHeight = yScroll;
}

// for small pages with total width less then width of the viewport
if(xScroll < windowWidth){	
	pageWidth = xScroll;		
} else {
	pageWidth = windowWidth;
}

return [pageWidth,pageHeight];
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function getWindowSize()
{
	var w = 0;
	var h = 0;

	//IE
	if(!window.innerWidth)
	{
		//strict mode
		if(!(document.documentElement.clientWidth == 0))
		{
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
		}
		//quirks mode
		else
		{
			w = document.body.clientWidth;
			h = document.body.clientHeight;
		}
	}
	//w3c
	else
	{
		w = window.innerWidth;
		h = window.innerHeight;
	}
	return [w,h];
}


function showSimple(id)
{
	var arrayPageSize = this.getPageSize();
	$('popup_overlay').setStyle({ width: arrayPageSize[0] + 'px', height: arrayPageSize[1] + 'px' });
	
	$('popup_overlay').show();
	$(id).show();
	
	if(getScrollXY()[1] > 0)
	{
	 var myHeight = 0;
	  if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myHeight = window.innerHeight;
	  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myHeight = document.documentElement.clientHeight;
	  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myHeight = document.body.clientHeight;
	  }
		$(id).style.top = getScrollXY()[1] + myHeight/2 + 'px';
		$(id).style.marginLeft = '-'+$(id+'_holder').getWidth()/2 + 'px';
		$(id).style.marginTop = '-'+$(id+'_holder').getHeight()/2 + 'px';
	}
	else
	{
		$(id).style.top = "50%";
		$(id).style.marginLeft = '-'+$(id+'_holder').getWidth()/2 + 'px';
		$(id).style.marginTop = '-'+$(id+'_holder').getHeight()/2 + 'px';
	}
}

function moveNodeContent(from, to) {
	$A($(from).childNodes).each(function(elt) {
		if (elt.nodeType != 3) {
			$(from).removeChild(elt); $(to).appendChild(elt);
		}
	})
}

function popupShow(elemId,href,cost,isKeywords, yesId)
{		
	if(href)
	{
		if(typeof(yesId) == 'undefined'){
			$('yes').href = href;
			$('yes_tetx').href = href;
		}
		else
		$(yesId).href = href;
	}
	if(cost) $('warning_cost').update(cost);
	if(cost) $('warning_cost_f').update(cost);
	
	var arrayPageSize = this.getPageSize();
	$('popup_overlay').setStyle({ width: arrayPageSize[0] + 'px', height: arrayPageSize[1] + 'px' });
	
	if($(elemId+'_holder') && $(elemId+'_holder').innerHTML != "")
	{
		$(elemId).update($(elemId+'_holder').innerHTML);
		$('popup_window').update("");
	}
	
	$('popup_window').appendChild(Builder.node('div',{id:elemId+'_holder'}));
	
	//$(elemId+'_holder').update($(elemId).innerHTML);
	//$(elemId).update("");
	moveNodeContent($(elemId), $(elemId+'_holder'));
	
	
	if(window.isIE6)$('popup_window').style.top = getScrollXY()[1] + document.documentElement.clientHeight/2 + "px";
	else $('popup_window').style.top = "50%";
	$('popup_window').style.marginLeft = '-'+$('popup_window').getWidth()/2 + 'px';
	$('popup_window').style.marginTop = '-'+$('popup_window').getHeight()/2 + 'px';
	$('popup_window').style.position= 'fixed';
	
	if($('popup_window').getHeight() > getWindowSize()[1])
	{
		$('popup_window').style.top = getScrollXY()[1]+"px";
		$('popup_window').style.marginTop = '0px';
		$('popup_window').style.position= 'absolute';
	}
	
	$('popup_overlay').show();
	$('popup_window').show();
	
	$('popup_window').style.zIndex = 10001;
	if(window.isIE6)
	{
		$$('select').each(function(sel){
			if(typeof(sel.up('.popup_wnd')) == 'undefined') sel.style.visibility = 'hidden';
		});
		// assign other position for IE6 only
		$('popup_window').style.position= 'absolute';	
		$('popup_window').style.marginLeft = '-'+$('popup_window').getWidth()/2 + 'px';
		$('popup_window').style.marginTop = '-'+$('popup_window').getHeight()/2 + 'px';
	}
	
	/*if (was_SbrPopUp_Init == 0) {
		SbrPopUp.init('js_reportForm');
		was_SbrPopUp_Init = 1;
	} else {
		document.getElementById('js_reportForm').getElementsByTagName('dl')[0].remove();
		SbrPopUp.init('js_reportForm');
	}*/
}


function popupCloseSimple(elemId)
{
	$('popup_overlay').hide();
	$(elemId).hide();	
}

function popupClose(elemId)
{	
if($(elemId+'_holder') && $(elemId+'_holder').innerHTML != "")
{
	moveNodeContent($(elemId+'_holder'), $(elemId));
	//$(elemId).update($(elemId+'_holder').innerHTML);
	$('popup_window').update("");
}

$('popup_overlay').hide();
$('popup_window').hide();

if(window.isIE6)
{
	$$('select').each(function(sel){
	   if(typeof(sel.up('.popup_wnd')) == 'undefined') sel.style.visibility = 'visible';
	});
}

}

function showTab(tabID, obj)
{
$$('#tab_nav a').each(function(it){
	it.className = '';
});

$$('.tabCont').each(function(it){
	it.style.display = 'none';
});

$(obj).className = 'sel';
$(tabID).style.display = 'block';
}


Event.observe(window, 'load', function () {
/*		new Insertion.Bottom(document.body,'<div id="popup_overlay"></div>');
new Insertion.Bottom(document.body,'<div id="popup_window"></div>');*/
document.body.appendChild(Builder.node('div',{id:'popup_overlay'}));
document.body.appendChild(Builder.node('div',{id:'popup_window', className:'popup_wnd'}));

$('popup_overlay').setStyle({'position': 'absolute', 'top': '0', 'left': '0', 'z-index': '1000', 'width': '100%', 'height': '500px', 'background': '#000', 'display':'none', 'opacity':'0.8'});

$('popup_window').setStyle({'position':'fixed', 'top':'50%', 'left':'50%', 'z-index':'10001', 'display':'none'});

});


//********************************************************************************/
//********************************************************************************/
//********************************************************************************/
//**********************JS/lightbox2.02/js/lightbox.js****************************/
//********************************************************************************/
//********************************************************************************/
//********************************************************************************/

// -----------------------------------------------------------------------------------
//
//	Lightbox v2.02
//	by Lokesh Dhakar - http://www.huddletogether.com
//	3/31/06
//
//	For more information on this script, visit:
//	http://huddletogether.com/projects/lightbox2/
//
//	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
//	
//	Credit also due to those who have helped, inspired, and made their code available to the public.
//	Including: Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.org), Thomas Fuchs(mir.aculo.us), and others.
//
//
// -----------------------------------------------------------------------------------
/*

	Table of Contents
	-----------------
	Configuration
	Global Variables

	Extending Built-in Objects	
	- Object.extend(Element)
	- Array.prototype.removeDuplicates()
	- Array.prototype.empty()

	Lightbox Class Declaration
	- initialize()
	- start()
	- changeImage()
	- resizeImageContainer()
	- showImage()
	- updateDetails()
	- updateNav()
	- enableKeyboardNav()
	- disableKeyboardNav()
	- keyboardAction()
	- preloadNeighborImages()
	- end()
	
	Miscellaneous Functions
	- getPageScroll()
	- getPageSize()
	- getKey()
	- listenKey()
	- showSelectBoxes()
	- hideSelectBoxes()
	- pause()
	- initLightbox()
	
	Function Calls
	- addLoadEvent(initLightbox)
	
*/
// -----------------------------------------------------------------------------------

//
//	Configuration
//
var fileLoadingImage = designUrl + "JS/lightbox2.02/images/loading.gif";		
var fileBottomNavCloseImage = designUrl + "JS/lightbox2.02/images/closelabel.gif";

var resizeSpeed = 7;	// controls the speed of the image resizing (1=slowest and 10=fastest)

var borderSize = 10;	//if you adjust the padding in the CSS, you will need to update this variable

// -----------------------------------------------------------------------------------

//
//	Global Variables
//
var imageArray = new Array;
var activeImage;

if(resizeSpeed > 10){ resizeSpeed = 10;}
if(resizeSpeed < 1){ resizeSpeed = 1;}
resizeDuration = (11 - resizeSpeed) * 0.15;

// -----------------------------------------------------------------------------------

//
//	Additional methods for Element added by SU, Couloir
//	- further additions by Lokesh Dhakar (huddletogether.com)
//
Object.extend(Element, {
	getWidth: function(element) {
	   	element = $(element);
	   	return element.offsetWidth; 
	},
	setWidth: function(element,w) {
	   	element = $(element);
    	element.style.width = w +"px";
	},
	setHeight: function(element,h) {
   		element = $(element);
    	element.style.height = h +"px";
	},
	setTop: function(element,t) {
	   	element = $(element);
    	element.style.top = t +"px";
	},
	setSrc: function(element,src) {
    	element = $(element);
    	element.src = src; 
	},
	setHref: function(element,href) {
    	element = $(element);
    	element.href = href; 
	},
	setInnerHTML: function(element,content) {
		element = $(element);
		element.innerHTML = content;
	}
});

// -----------------------------------------------------------------------------------

//
//	Extending built-in Array object
//	- array.removeDuplicates()
//	- array.empty()
//
Array.prototype.removeDuplicates = function () {
	for(i = 1; i < this.length; i++){
		if(this[i][0] == this[i-1][0]){
			this.splice(i,1);
		}
	}
}

// -----------------------------------------------------------------------------------

Array.prototype.empty = function () {
	for(i = 0; i <= this.length; i++){
		this.shift();
	}
}

// -----------------------------------------------------------------------------------

//
//	Lightbox Class Declaration
//	- initialize()
//	- start()
//	- changeImage()
//	- resizeImageContainer()
//	- showImage()
//	- updateDetails()
//	- updateNav()
//	- enableKeyboardNav()
//	- disableKeyboardNav()
//	- keyboardNavAction()
//	- preloadNeighborImages()
//	- end()
//
//	Structuring of code inspired by Scott Upton (http://www.uptonic.com/)
//
var Lightbox = Class.create();

Lightbox.prototype = {
	
	// initialize()
	// Constructor runs on completion of the DOM loading. Loops through anchor tags looking for 
	// 'lightbox' references and applies onclick events to appropriate links. The 2nd section of
	// the function inserts html at the bottom of the page which is used to display the shadow 
	// overlay and the image container.
	//
	initialize: function() {	
		if (!document.getElementsByTagName){ return; }
		var anchors = document.getElementsByTagName('a');

		// loop through all anchor tags
		for (var i=0; i<anchors.length; i++){
			var anchor = anchors[i];
			
			var relAttribute = String(anchor.getAttribute('rel'));
			
			// use the string.match() method to catch 'lightbox' references in the rel attribute
			if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('lightbox'))){
				anchor.onclick = function () {myLightbox.start(this); return false;}
			}
		}

		// The rest of this code inserts html at the bottom of the page that looks similar to this:
		//
		//	<div id="overlay"></div>
		//	<div id="lightbox">
		//		<div id="outerImageContainer">
		//			<div id="imageContainer">
		//				<img id="lightboxImage">
		//				<div style="" id="hoverNav">
		//					<a href="#" id="prevLink"></a>
		//					<a href="#" id="nextLink"></a>
		//				</div>
		//				<div id="loading">
		//					<a href="#" id="loadingLink">
		//						<img src="images/loading.gif">
		//					</a>
		//				</div>
		//			</div>
		//		</div>
		//		<div id="imageDataContainer">
		//			<div id="imageData">
		//				<div id="imageDetails">
		//					<span id="caption"></span>
		//					<span id="numberDisplay"></span>
		//				</div>
		//				<div id="bottomNav">
		//					<a href="#" id="bottomNavClose">
		//						<img src="images/close.gif">
		//					</a>
		//				</div>
		//			</div>
		//		</div>
		//	</div>


		var objBody = document.getElementsByTagName("body").item(0);
		
		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','overlay');
		objOverlay.style.display = 'none';
		objOverlay.onclick = function() { myLightbox.end(); return false; }
		objBody.appendChild(objOverlay);
		
		var objLightbox = document.createElement("div");
		objLightbox.setAttribute('id','lightbox');
		objLightbox.style.display = 'none';
		objBody.appendChild(objLightbox);
	
		var objOuterImageContainer = document.createElement("div");
		objOuterImageContainer.setAttribute('id','outerImageContainer');
		objLightbox.appendChild(objOuterImageContainer);

		var objImageContainer = document.createElement("div");
		objImageContainer.setAttribute('id','imageContainer');
		objOuterImageContainer.appendChild(objImageContainer);
	
		var objLightboxImage = document.createElement("img");
		objLightboxImage.setAttribute('id','lightboxImage');
		objImageContainer.appendChild(objLightboxImage);
	
		var objHoverNav = document.createElement("div");
		objHoverNav.setAttribute('id','hoverNav');
		objImageContainer.appendChild(objHoverNav);
	
		var objPrevLink = document.createElement("a");
		objPrevLink.setAttribute('id','prevLink');
		objPrevLink.setAttribute('href','#');
		objHoverNav.appendChild(objPrevLink);
		
		var objNextLink = document.createElement("a");
		objNextLink.setAttribute('id','nextLink');
		objNextLink.setAttribute('href','#');
		objHoverNav.appendChild(objNextLink);

	
		var objLoading = document.createElement("div");
		objLoading.setAttribute('id','loading');
		objImageContainer.appendChild(objLoading);
	
		var objLoadingLink = document.createElement("a");
		objLoadingLink.setAttribute('id','loadingLink');
		objLoadingLink.setAttribute('href','#');
		objLoadingLink.onclick = function() { myLightbox.end(); return false; }
		objLoading.appendChild(objLoadingLink);
	
		var objLoadingImage = document.createElement("img");
		objLoadingImage.setAttribute('src', fileLoadingImage);
		objLoadingLink.appendChild(objLoadingImage);

		var objImageDataContainer = document.createElement("div");
		objImageDataContainer.setAttribute('id','imageDataContainer');
		objImageDataContainer.className = 'clearfix';
		objLightbox.appendChild(objImageDataContainer);

		var objImageData = document.createElement("div");
		objImageData.setAttribute('id','imageData');
		objImageDataContainer.appendChild(objImageData);
	
		var objImageDetails = document.createElement("div");
		objImageDetails.setAttribute('id','imageDetails');
		objImageData.appendChild(objImageDetails);
	
		var objCaption = document.createElement("span");
		objCaption.setAttribute('id','caption');
		objImageDetails.appendChild(objCaption);
	
		var objNumberDisplay = document.createElement("span");
		objNumberDisplay.setAttribute('id','numberDisplay');
		objImageDetails.appendChild(objNumberDisplay);
		
		var objBottomNav = document.createElement("div");
		objBottomNav.setAttribute('id','bottomNav');
		objImageData.appendChild(objBottomNav);
	
		var objBottomNavCloseLink = document.createElement("a");
		objBottomNavCloseLink.setAttribute('id','bottomNavClose');
		objBottomNavCloseLink.setAttribute('href','#');
		objBottomNavCloseLink.onclick = function() { myLightbox.end(); return false; }
		objBottomNav.appendChild(objBottomNavCloseLink);
	
		var objBottomNavCloseImage = document.createElement("img");
		objBottomNavCloseImage.setAttribute('src', fileBottomNavCloseImage);
		objBottomNavCloseLink.appendChild(objBottomNavCloseImage);
	},
	
	//
	//	start()
	//	Display overlay and lightbox. If image is part of a set, add siblings to imageArray.
	//
	start: function(imageLink) {	

		hideSelectBoxes();

		// stretch overlay to fill page and fade in
		var arrayPageSize = getPageSize();
		Element.setHeight('overlay', arrayPageSize[1]);
		new Effect.Appear('overlay', { duration: 0.2, from: 0.0, to: 0.8 });

		imageArray = [];
		imageNum = 0;		

		if (!document.getElementsByTagName){ return; }
		var anchors = document.getElementsByTagName('a');

		// if image is NOT part of a set..
		if((imageLink.getAttribute('rel') == 'lightbox')){
			// add single image to imageArray
			imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title')));			
		} else {
		// if image is part of a set..

			// loop through anchors, find other images in set, and add them to imageArray
			for (var i=0; i<anchors.length; i++){
				var anchor = anchors[i];
				if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))){
					imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title')));
				}
			}
			imageArray.removeDuplicates();
			while(imageArray[imageNum][0] != imageLink.getAttribute('href')) { imageNum++;}
		}

		// calculate top offset for the lightbox and display 
		var arrayPageSize = getPageSize();
		var arrayPageScroll = getPageScroll();
		var lightboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 15);

		Element.setTop('lightbox', lightboxTop);
		Element.show('lightbox');
		
		this.changeImage(imageNum);
	},

	//
	//	changeImage()
	//	Hide most elements and preload image in preparation for resizing image container.
	//
	changeImage: function(imageNum) {	
		
		activeImage = imageNum;	// update global var

		// hide elements during transition
		Element.show('loading');
		Element.hide('lightboxImage');
		Element.hide('hoverNav');
		Element.hide('prevLink');
		Element.hide('nextLink');
		Element.hide('imageDataContainer');
		Element.hide('numberDisplay');		
		
		imgPreloader = new Image();
		
		// once image is preloaded, resize image container
		imgPreloader.onload=function(){
			Element.setSrc('lightboxImage', imageArray[activeImage][0]);
			myLightbox.resizeImageContainer(imgPreloader.width, imgPreloader.height);
		}
		imgPreloader.src = imageArray[activeImage][0];
	},

	//
	//	resizeImageContainer()
	//
	resizeImageContainer: function( imgWidth, imgHeight) {

		// get current height and width
		this.wCur = Element.getWidth('outerImageContainer');
		this.hCur = Element.getHeight('outerImageContainer');

		// scalars based on change from old to new
		this.xScale = ((imgWidth  + (borderSize * 2)) / this.wCur) * 100;
		this.yScale = ((imgHeight  + (borderSize * 2)) / this.hCur) * 100;

		// calculate size difference between new and old image, and resize if necessary
		wDiff = (this.wCur - borderSize * 2) - imgWidth;
		hDiff = (this.hCur - borderSize * 2) - imgHeight;

		if(!( hDiff == 0)){ new Effect.Scale('outerImageContainer', this.yScale, {scaleX: false, duration: resizeDuration, queue: 'front'}); }
		if(!( wDiff == 0)){ new Effect.Scale('outerImageContainer', this.xScale, {scaleY: false, delay: resizeDuration, duration: resizeDuration}); }

		// if new and old image are same size and no scaling transition is necessary, 
		// do a quick pause to prevent image flicker.
		if((hDiff == 0) && (wDiff == 0)){
			if (navigator.appVersion.indexOf("MSIE")!=-1){ pause(250); } else { pause(100);} 
		}

		Element.setHeight('prevLink', imgHeight);
		Element.setHeight('nextLink', imgHeight);
		Element.setWidth( 'imageDataContainer', imgWidth + (borderSize * 2));

		this.showImage();
	},
	
	//
	//	showImage()
	//	Display image and begin preloading neighbors.
	//
	showImage: function(){
		Element.hide('loading');
		new Effect.Appear('lightboxImage', { duration: 0.5, queue: 'end', afterFinish: function(){	myLightbox.updateDetails(); } });
		this.preloadNeighborImages();
	},

	//
	//	updateDetails()
	//	Display caption, image number, and bottom nav.
	//
	updateDetails: function() {
	
		Element.show('caption');
		Element.setInnerHTML( 'caption', imageArray[activeImage][1]);
		
		// if image is part of set display 'Image x of x' 
		if(imageArray.length > 1){
			Element.show('numberDisplay');
			Element.setInnerHTML( 'numberDisplay', "Image " + eval(activeImage + 1) + " of " + imageArray.length);
		}

		new Effect.Parallel(
			[ new Effect.SlideDown( 'imageDataContainer', { sync: true, duration: resizeDuration + 0.25, from: 0.0, to: 1.0 }), 
			  new Effect.Appear('imageDataContainer', { sync: true, duration: 1.0 }) ], 
			{ duration: 0.65, afterFinish: function() { myLightbox.updateNav();} } 
		);
	},

	//
	//	updateNav()
	//	Display appropriate previous and next hover navigation.
	//
	updateNav: function() {

		Element.show('hoverNav');				

		// if not first image in set, display prev image button
		if(activeImage != 0){
			Element.show('prevLink');
			document.getElementById('prevLink').onclick = function() {
				myLightbox.changeImage(activeImage - 1); return false;
			}
		}

		// if not last image in set, display next image button
		if(activeImage != (imageArray.length - 1)){
			Element.show('nextLink');
			document.getElementById('nextLink').onclick = function() {
				myLightbox.changeImage(activeImage + 1); return false;
			}
		}
		
		this.enableKeyboardNav();
	},

	//
	//	enableKeyboardNav()
	//
	enableKeyboardNav: function() {
		document.onkeydown = this.keyboardAction; 
	},

	//
	//	disableKeyboardNav()
	//
	disableKeyboardNav: function() {
		document.onkeydown = '';
	},

	//
	//	keyboardAction()
	//
	keyboardAction: function(e) {
		if (e == null) { // ie
			keycode = event.keyCode;
		} else { // mozilla
			keycode = e.which;
		}

		key = String.fromCharCode(keycode).toLowerCase();
		
		if((key == 'x') || (key == 'o') || (key == 'c')){	// close lightbox
			myLightbox.end();
		} else if(key == 'p'){	// display previous image
			if(activeImage != 0){
				myLightbox.disableKeyboardNav();
				myLightbox.changeImage(activeImage - 1);
			}
		} else if(key == 'n'){	// display next image
			if(activeImage != (imageArray.length - 1)){
				myLightbox.disableKeyboardNav();
				myLightbox.changeImage(activeImage + 1);
			}
		}


	},

	//
	//	preloadNeighborImages()
	//	Preload previous and next images.
	//
	preloadNeighborImages: function(){

		if((imageArray.length - 1) > activeImage){
			preloadNextImage = new Image();
			preloadNextImage.src = imageArray[activeImage + 1][0];
		}
		if(activeImage > 0){
			preloadPrevImage = new Image();
			preloadPrevImage.src = imageArray[activeImage - 1][0];
		}
	
	},

	//
	//	end()
	//
	end: function() {
		this.disableKeyboardNav();
		Element.hide('lightbox');
		new Effect.Fade('overlay', { duration: 0.2});
		showSelectBoxes();
	}
}

// -----------------------------------------------------------------------------------

//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}

// -----------------------------------------------------------------------------------

//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

// -----------------------------------------------------------------------------------

//
// getKey(key)
// Gets keycode. If 'x' is pressed then it hides the lightbox.
//
function getKey(e){
	if (e == null) { // ie
		keycode = event.keyCode;
	} else { // mozilla
		keycode = e.which;
	}
	key = String.fromCharCode(keycode).toLowerCase();
	
	if(key == 'x'){
	}
}

// -----------------------------------------------------------------------------------

//
// listenKey()
//
function listenKey () {	document.onkeypress = getKey; }
	
// ---------------------------------------------------

function showSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}

// ---------------------------------------------------

function hideSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}

// ---------------------------------------------------

//
// pause(numberMillis)
// Pauses code execution for specified time. Uses busy code, not good.
// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602
//
function pause(numberMillis) {
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) {
		now = new Date();
		if (now.getTime() > exitTime)
			return;
	}
}

// ---------------------------------------------------



function initLightbox() { myLightbox = new Lightbox(); }
Event.observe(window, 'load', initLightbox, false);

// -----------------------------------------------------------------------------------
