	var myXMLsOverHTTP = []

	function myXMLOverHTTP( prms ) {
		this.id = myXMLsOverHTTP.length
		myXMLsOverHTTP[this.id] = this
		
		// 
		this.prms = prms || {}
		this.proceedor = prms.proceedor || false
		
		//   
		this.transport = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject('Microsoft.XMLHTTP')
		if (this.transport)
			this.transport.onreadystatechange = new Function('myXMLsOverHTTP['+this.id+'].listen()')
		
		return this
		}
	
	myXMLOverHTTP.prototype.get = function( url ) {
		this.transport.open( 
			'GET', 
			(/[?]/.test(url)) 
				? url + '&' + Math.random() 
				: url + '?' + Math.random(),
			true
			)
		return this.transport.send( null )
		}
		
	myXMLOverHTTP.prototype.post = function( url, obj ) {
		var postString = []
		
		//  
		//if (obj.tagName && obj.tagName.toLowerCase() == 'form') 
		//{
		//	for (var i=0; i<formObj.elements.length; i++)
		//	{
		//		postString.push( formObj.elements[i].name + '=' + formObj.elements[i].value )
		//	}
		//} 
		//else if (obj.constructor == String) 
		//{
		//	postString.push( obj )
		//}
		
		//  
		this.transport.open( 'POST', url, true )
		this.transport.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
		return this.transport.send( 
			(postString.length > 0) 
				? postString.join('&')
				: null 
			)
		}
	
	myXMLOverHTTP.prototype.listen = function() {
		switch (this.transport.readyState) {
		
			case 0:
				break
				
			case 1:
				break
				
			case 2:
				break
				
			case 3:
				break
				
			case 4:
				this.lastXML = this.transport.responseXML
				if (this.lastXML && this.proceedor) 
					this.proceedor( this.lastXML.documentElement )
				break
		
			}
		return true
		}
	

	var myTempVWObj = null
	
	var cancelEvent = function (e) {
		var e = getEventObj( e )
		if (e) {
			if (e.cancelable) {
				if (e.stopPropagation)
					e.stopPropagation()
				e.preventDefault()
				} else {
					e.returnValue = false
					e.cancelBubble = true
					}
			return false
			}
		}
	
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	bOk = eventAdd( Obj, EventName, Handler, [, Bubble] ),
//	bOk = eventRemove( Obj, EventName, Handler, [, Bubble] )
//
//	Добавляет (удаляет) обработчик события Handler на событие
//	Eventname к объекту Obj
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {
	
	  function eventAdd( obj, ev, handler, bubble ) {
	  	if (obj) {
			if (obj.addEventListener)
				return obj.addEventListener( ev, handler, bubble )
				else
				return obj.attachEvent( 'on'+ev, handler )
			} else
				return false
		}
		
	function eventRemove( obj, ev, handler, bubble ) {
		if (obj) {
			if (obj.removeEventListener)
				return obj.removeEventListener( ev, handler, bubble )
				else
				return obj.detachEvent( 'on'+ev, handler )	
			} else
				return false
		}

// }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	Array = getObjsById( Obj, ID, [, Array] )
//
//	Возвращает массив (обновленный, если указан Array) объектов,
//	являющихся потомками Obj и поля id которых совпадают с параметром ID
//
//	Примечание: функция рекурсивная
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {
	
	function getObjsById( obj, id, arr ) {
		if (!arr) 
			var arr = new Array()
		
		for (var i=0; i<obj.childNodes.length; i++) {
			if (obj.childNodes[i].id == id) 
				arr[arr.length] = obj.childNodes[i]
			if (obj.childNodes[i].hasChildNodes()) 
				getObjsById( obj.childNodes[i], id, arr )
			}
		
		return arr
		}
			
// }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	oID = getObjById( Obj, ID )
//
//	Возвращает первый (!) объект oID являющихся потомком Obj 
//	и поле id которого совпадают с параметром ID
//
//	Примечание: функция рекурсивная
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {
		
	function getObjById( obj, id ) {
		var res = null
		
		for (var i=0; i<obj.childNodes.length; i++) {
			if (obj.childNodes[i].id == id)
				return obj.childNodes[i]
				else if (obj.childNodes[i].hasChildNodes()) 
					res = getObjById( obj.childNodes[i], id )
			if (res) 
				return res
			}
			
		return res
		}
		
// }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	oObj = getstr2obj( getString )
//
//	Создает из GET строки (вида aa=bb&cc=dd) объект (ассоциативный массив)
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {

	function getstr2obj( str ) {
		var obj = new Object()
		var i = 0
		
		var p = str.split('&')
		for (i in p) obj[p[i].split('=')[0]] = p[i].split('=')[1]
		
		return obj
		}
		
// }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	str = obj2str( Obj )
//
//	Создает строку описание (вида {aa: 'bb', cc: 'dd'}) объекта Obj
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {

	function obj2str( obj ) {
		if (obj) {
			var arr = new Array()
			var isArray = (obj.constructor == Array) ? true : false
			for (var i in obj) {
				if (obj[i].constructor == Array || obj[i].constructor == Object)
					if (isArray)
						arr.push(obj2str(obj[i]))
						else
						arr.push("'"+i+"':"+obj2str(obj[i]))
					else { 
						var str = (obj[i].constructor == String) ? "'"+obj[i]+"'" : obj[i]
						if (isArray) 
							arr.push(str)
							else
							arr.push("'"+i+"':"+str)
						}
				}
			return (isArray) ? '['+arr.join(',')+']' : '{'+arr.join(',')+'}'
			} else
				return null
		}
		
// }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	x, y = getglobaloffset( Obj [, iframeObj] )
//
//	Выдает абсолютные координаты объекта в виде obj.x, obj.y
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {
	
	function getglobaloffset( obj ) {
		if (obj) {
			var xy = (arguments[2]) ? getglobaloffset(arguments[2], arguments[1]) : {x: 0, y: 0}
			do 
			{
				if (arguments[1] && (obj == arguments[1]))
					break
				if (!/positionRelative/.test(obj.className))
				{
					xy.x += obj.offsetLeft
					xy.y += obj.offsetTop
				}
			} while (obj = obj.offsetParent)
			return xy
			} else
				return {x: 0, y: 0}
		}
		
// }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	c = intdiff( a, b )
//
//	Возвращает разницу между a и b
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {

	function intdiff( a, b ) {
		return (a > b) ? a - b : b - a
		}
		
// }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	bool = compareArrays( Array, Array[, Array ... ] )
//
//	Сравнивает массивы. Если массивы эквиваленты - возвращает true
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {

	function compareArrays() {
		if (arguments.length < 2) 
			return false
		for (var i=arguments.length-1; i>0; i--) {
			if (arguments[i].length != arguments[0].length) 
				return false
			for (var j in arguments[0]) {
				if (arguments[0][j] != arguments[i][j])
					return false
				}
			}
		return true
		}

// }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//	bool = isChildOf( srcObj, parentObj )
//
//	Проверяет, является ли srcObj ребенком parentObj
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// {

	function isChildOf( sObj, pObj ) {
		do {
			if (sObj == pObj)
				return true
			} while (sObj = sObj.parentNode)
		return false
		}

// }

	function getObjByClassName( obj, className ) {
		var res = null
		
		for (var i=0; i<obj.childNodes.length; i++) {
			if (obj.childNodes[i].className == className)
				return obj.childNodes[i]
				else if (obj.childNodes[i].hasChildNodes()) 
					res = getObjById( obj.childNodes[i], id )
			if (res) 
				return res
			}
			
		return res
		}
		
	function getEventObj( e ) {
		return e ? e : event
		}
		
	function declention( num, root, ends, phrase ) 
	{
		if (phrase) 
			root = num + '&nbsp;' + root
		if (num > 9) 
			num = num % 10
		if (num == 1) 
			return root + ends[0]
		if ((num > 1) && (num < 5)) 
			return root + ends[1]
		if (((num > 4) && (num <= 9)) || (num == 0)) 
			return root + ends[2]
	}

	
		
	var basePath = 'base/img/123/'
	var digits = { small: {}, micro: {}, big: {} }
	
	// Символ рубля
	var rubleSymbol = document.createElement('img')
	with (rubleSymbol) {
		src = 'base/img/middle/rub.gif'
		title = 'руб.'
		alt = 'руб.'
		className = 'rub'
		}
	
	for (var name in digits) {
		for (var i=0; i<10; i++) {
			digits[name][i] = document.createElement('img')
			digits[name][i].src = basePath + name + '/' + i + '.gif'
			digits[name][i].className = 'digits'
			}
		digits[name]['.'] = document.createElement('img')
		digits[name]['.'].src = basePath + name + '/,.gif'
		digits[name]['.'].className = 'digits comma'
		}
			
	var myNumbersObjs = new Array()
	function myNumbers( prms ) {
		
		this.id = myNumbersObjs.length
		myNumbersObjs[this.id] = this
		
		this.prms = prms
		this.obj = (this.prms.obj) 
			? this.prms.obj
			: (this.prms.objID)
				? document.getElementById(this.prms.objID)
				: false
				
		// Если объект не задан
		if (!this.obj)
			return false
		
		// Внутренние события
		this.events = {
			beforeDraw: [],
			afterDraw: [],
			set: []
			}
		
		// Свойства
		this.timerPaused = false
		this.drawingNow = false
		this.roundUp = prms.roundUp || 0
		this.integerUp = prms.integerUp || false
		this.numClass = this.prms.numClass || 'small'
		this.withRubles = (this.prms.withNoRubles) ? false : true
		this.setNumber( this.prms.number || 0 )
		
		return this
		}

	myNumbers.prototype.addEventListener = function( eventName, handler, capture ) {
		if (this.events[eventName]) {
			this.events[eventName].push( handler )
			return true
			}
		return false
		}
	
	myNumbers.prototype.removeEventListener = function( eventName, handler, capture ) {
		if (this.events[eventName]) {
			for (var i=0; i<this.events[eventName].length; i++) {
				if (this.events[eventName][i] == handler) {
					this.events[eventName][i] = false
					return true
					}
				}
			}
		return false
		}

	myNumbers.prototype.runEvent = function( eventName ) {
		for (var i=0; i<this.events[eventName].length; i++)
			if (this.events[eventName][i])
				this.events[eventName][i]()
		return true
		}

	myNumbers.prototype.draw = function() {
		
		// Если предыдущая отрисовка еще не закончена
		if (this.drawingNow)
			return false
		
		var zeros = this.roundUp
		var zerosCalc = false
		var integerSize = 0
		
		this.runEvent( 'beforeDraw' )
		this.drawingNow = true
		
		// Удаляем предыдущие
		while (this.obj.firstChild)
			this.obj.removeChild( this.obj.firstChild )
		
		// Создаем картинки
		this.nowDigits = ( 
			(this.roundUp > 0) 
				? Math.round(this.nowNum*10*this.roundUp)/(10*this.roundUp)
				: Math.round(this.nowNum)
			).toString().split('')
		
		// Расчет целой части
		if (this.integerUp) {
			for (var i=0; i<this.nowDigits.length && this.nowDigits[i] != '.'; i++)
				integerSize++
			if (integerSize<this.integerUp) 
				for (var i=this.integerUp-integerSize; i>0; i--)
					this.obj.appendChild( digits[this.numClass][0].cloneNode(true) )
			}
		
		// Отрисовка
		for (var i=0; i<this.nowDigits.length; i++) {
			if (zerosCalc) 
				zeros--
			if (this.nowDigits[i] == '.')
				zerosCalc = true
			this.obj.appendChild( digits[this.numClass][this.nowDigits[i]].cloneNode(true) )
			}
		
		// Расчет десятичной части
		if (zeros) {
			if (!zerosCalc)
				this.obj.appendChild( digits[this.numClass]['.'].cloneNode(true) )
			for (var i=zeros; i>0; i--)
				this.obj.appendChild( digits[this.numClass][0].cloneNode(true) )
			}
		
		if (this.withRubles)
			this.obj.appendChild( rubleSymbol.cloneNode(true) )
		
		this.drawingNow = false
		this.runEvent( 'afterDraw' )
		
		return true
		}
		
	myNumbers.prototype.getNumber = function() { return this.nowNum }
	myNumbers.prototype.setNumber = function( number ) {
		this.nowNum = number
		this.runEvent( 'set' )
		this.draw()
		}
	
	myNumbers.prototype.increaseNumber = function( number ) {
		this.setNumber( this.nowNum + number )
		}
		
	myNumbers.prototype.startTimer = function( timeStep, numStep ) {
		if (!this.isRunning()) {
			this.timerHandler = new Function( 'myNumbersObjs['+this.id+'].increaseNumber('+numStep.toString()+')' )
			this.timerStep = timeStep
			this.timerObj = setInterval( this.timerHandler, timeStep )
			this.timerRunning = true
			}
		return true
		}
		
	myNumbers.prototype.pauseTimer = function() {
		if (this.timerObj) {
			this.timerPaused = true
			clearInterval( this.timerObj )
			return true
			} else 
				return false
		}
		
	myNumbers.prototype.releaseTimer = function() {
		if (this.timerPaused) {
			this.timerPaused = false
			this.timerObj = setInterval( this.timerHandler, this.timerStep )
			return true
			} else
				return false
		}
				
	myNumbers.prototype.stopTimer = function() {
		if (this.timerObj)
			clearInterval( this.timerObj )
		this.timerObj = false
		this.timerPaused = false
		this.timerRunning = false
		return true
		}
		
	myNumbers.prototype.isRunning = function() { return this.timerRunning }
	myNumbers.prototype.isPaused = function() { return this.timerPaused }
		
	myNumbers.prototype.reset = function() {
		this.stopTimer()
		this.setNumber( 0 )
		return true
		}
	
	
	var myMoveableObjs = new Array()
	
	function myMoveableObj( prms ) {
		
		// Локальные переменные
		var ifO
		
		// Определение переменных
		this.moveing = false						// Двигается ли в данный момент объект
		this.id = myMoveableObjs.length
		this.obj = prms.obj
		this.zoneObj = (prms.zone) ? prms.zone : null
		this.moverobjs = (prms.moverObjs) ? prms.moverObjs : new Array( prms.obj )
		this.moveByGrid = (prms.moveByGrid) ? true : false
		this.gridSize = (prms.gridSize) ? prms.gridSize : 16
		this.byX = (prms.byX === false) ? false : true
		this.byY = (prms.byY === false) ? false : true
		this.zoneSpace = (prms.zoneSpace) ? prms.zoneSpace : 0
		this.zoneMargins = prms.zoneMargins || {x: 0, y: 0}
		this.zoneWidth = 0
		this.zoneHeight = 0
		this.positioningObj = (prms.positioningObj) ? prms.positioningObj : this.obj
		this.win = (prms.win) ? prms.win : window
		// this.iframeO = ((ifO = window.document.getElementById(this.win.name)) && (ifO.tagName == 'IFRAME')) ? ifO : null
		this.iframeO = null
		this.dblClickTimer = 200
		this.dblClickActive = false
		this.VWObj = prms.VWObj || false 
		this.onSleepMoveCan = true
		
		// События
		this.onmovestart = (prms.onmovestart) ? prms.onmovestart : new Array()
		this['onmove'] = (prms['onmove']) ? prms['onmove'] : new Array()
		this.onmovestop = (prms.onmovestop) ? prms.onmovestop : new Array()
		this.onSleepMove = (prms.onSleepMove) ? prms.onSleepMove : []
		this.onDblClick = new Array()
		
		// Публикуем объект
		myMoveableObjs[this.id] = this
			
		// Обработчики событий
		this.mover = new Function( 'e', 'myMoveableObjs["' + this.id + '"].move(e)' )			// Обработчик передвижения
		this.mstarter = new Function( 'e', 'myMoveableObjs["' + this.id + '"].moveStart(e)' )		// Начало перемещения 
		this.mstoper = new Function( 'e', 'myMoveableObjs["' + this.id + '"].moveStop(e)' )		// Окончание перемещения
		this.dblClickDeActivator = new Function( 'e', 'myMoveableObjs["' + this.id + '"].dblClickActive = false' )
		
		
		// Запуск обработчиков
		for (var i=0; i<this.moverobjs.length; i++)
			eventAdd( this.moverobjs[i], 'mousedown', this.mstarter, true )
		
		// Стартовые параметры объекта
		this.preCalculate()
		
		return this
		}
	
	myMoveableObj.prototype.realToGrid = function( i ) { return Math.round(i/this.gridSize) }
	myMoveableObj.prototype.gridToReal = function( i ) { return i*this.gridSize }
	myMoveableObj.prototype.toGrid = function( i ) { return this.gridToReal(this.realToGrid(i)) }
	myMoveableObj.prototype.getX = function () { return parseInt(this.obj.style.left) }
	myMoveableObj.prototype.getY = function () { return parseInt(this.obj.style.top) }
	
	myMoveableObj.prototype.getXY = function ( l, t ) { 
		return {
			x: this.getX(),
			y: this.getY() 
			}
		}
	
	myMoveableObj.prototype.setX = function ( l ) {  
		// l - в данной функции всегда в пикселах
		var X = (this.moveByGrid) ? this.toGrid(l) - Math.round(this.positioningObjWidth/2) : l
		if (this.VWObj)
			X -= this.VWObj.getX()
		this.obj.style.left = X + 'px'
		return X
		}
		
	myMoveableObj.prototype.setY = function ( t ) {  
		// t - в данной функции всегда в пикселах
		var Y = (this.moveByGrid) ? this.toGrid(t) - Math.round(this.positioningObjHeight/2) : t
		if (this.VWObj)
			Y -= this.VWObj.getY()
		this.obj.style.top = Y + 'px'
		return Y
		}
	
	myMoveableObj.prototype.setXY = function ( l, t ) { 
		return {
			x: this.setX(l),
			y: this.setY(t) 
			}
		}
	
	myMoveableObj.prototype.move = function (e) {
		var e = getEventObj( e )
		var x = e.clientX - this.cursorOffset.x
		var y = e.clientY - this.cursorOffset.y
		
		cancelEvent( e )
		
		if (this.zoneObj) {
			if (this.byX && x > this.zoneSpace+this.zoneMargins.x+this.zoneOffset.x && x < this.zoneWidth+this.zoneOffset.x-this.zoneMargins.x) 
				this.setX(x)
			if (this.byY && y > this.zoneSpace+this.zoneMargins.y+this.zoneOffset.y && y < this.zoneHeight+this.zoneOffset.y-this.zoneMargins.y) 
				this.setY(y)
			} else {
				if (this.byX) 
					this.setX( x )
				if (this.byY)
					this.setY( y )
				}

		// Запускаем события
		for (i in this.onmove) 
			this.onmove[i]()
			
		// Запускаем события
		for (i in this.onmove) 
			this.onmove[i]()
			
		if (this.onSleepMoveCan) {
			for (i in this.onSleepMove) 
				this.onSleepMove[i]()
			this.onSleepMoveCan = false
			setTimeout( 'myMoveableObjs["' + this.id + '"].onSleepMoveCan = true', 150 )
			}

		return false
		}
	
	myMoveableObj.prototype.moveStart = function (e) { 
		var e = getEventObj( e )
		
		if (e.which == 1 || e.button == 1) {
			cancelEvent(e)
			
			// Обработка двойного щелчка
			if (!this.dblClickActive) {
				this.dblClickActive = true
				setTimeout( this.dblClickDeActivator, this.dblClickTimer )
				} else {
					for (var i=0; i<this.onDblClick.length; i++)
						this.onDblClick[i]()
					this.moveStop()
					return true
					}
					
			
			this.preCalculate()
			this.cursorOffset = 
			{ 
				x:	e.clientX - this.objOffset.x, 
				y:	e.clientY - this.objOffset.y  
			}
			
			// Флаг, о том что объект в данный момент движется
			this.moveing = true
			
			// События
			document.ondrag = function () { return false }
        	document.onselectstart = function () { return false }
			document.body.ondrag = function() { return false }
			document.body.onselectstart = function () { return false } 
			document.documentElement.onselectstart = function () { return false }
			document.documentElement.ondrag = function () { return false }   
			document.onmousemove = this.mover
			document.onmouseup = this.mstoper
			
			// Запускаем события
			for (i in this.onmovestart) 
				this.onmovestart[i]()
			
			// Курсоры
			if (!this.byX) 
				window.myMoveableObjDocument.style.cursor = 's-resize'
			if (!this.byY) 
				window.myMoveableObjDocument.style.cursor = 'w-resize'
			
			this.obj.className += ' nowMoveing'
			
			return true
			}
		
		return false
		}
		
	myMoveableObj.prototype.moveStop = function () { 
		
		// События
		eventRemove( window.myMoveableObjDocument, 'mousemove', this.mover, true )
		eventRemove( window.myMoveableObjDocument, 'mouseup', this.mstoper, true )
		document.onmousemove = null
		document.onmouseup = null
		document.ondrag = null
		document.onselectstart = null
		document.body.ondrag = null
		document.body.onselectstart = null
		document.documentElement.onselectstart = null
		document.documentElement.ondrag = null
		
		// Запускаем события
		for (i in this.onmovestop)
			this.onmovestop[i]()
			
		// Курсоры
		if (!this.byX || !this.byY) 
			window.myMoveableObjDocument.style.cursor = 'move'
		
		window.myMoveableObjDocument.style.display = 'none'
		this.obj.className = this.obj.className.replace(/ ?nowMoveing/, '')		
		return true
		}
		
	myMoveableObj.prototype.preCalculate = function () { 
		
		// Абсолютные смещения
		this.objOffset = getglobaloffset( this.obj )
				
		if (this.zoneObj)
			this.zoneOffset = getglobaloffset(this.zoneObj)
			else
			this.zoneOffset = {x: 0, y: 0}
		
		if (this.iframeO)
			this.iframeOffset = getglobaloffset(this.iframeO)
			else
			this.iframeOffset = {x: 0, y: 0}
		
		// Размеры и границы
		this.positioningObjWidth = this.positioningObj.offsetWidth + this.positioningObj.offsetLeft*2
		this.positioningObjHeight = this.positioningObj.offsetHeight + this.positioningObj.offsetTop*2
		if (this.zoneObj) {
			this.zoneWidth = this.zoneObj.offsetWidth - this.zoneSpace - this.obj.offsetWidth
			this.zoneHeight = this.zoneObj.offsetHeight - this.zoneSpace - this.obj.offsetHeight
			}
			
		}
	
	function myMoveingFakeDocument() {
		var obj
		with (obj = window.document.createElement('div')) {
			id = 'fakeDocumentForMoveing'
			appendChild(window.document.createElement('div'))
			}
		return window.document.body.appendChild(obj)
		}
		

	var myImagesStates = new Array()
	var myImagesStatesCache = new Object()

	function myImageState( prms ) {
		
		// Публикация
		this.id = myImagesStates.length
		myImagesStates[this.id] = this
		
		// Переменные
		this.obj = prms.obj || window.document.createElement('img')
		this.states = {}
		this.nowState = 'mouseout'
		
		// Дефолты
		if (prms.obj && !prms.states.mouseout)
			prms.states.mouseout = this.obj.src
		this.defaultState = prms.states.mouseout
		
		// Загрузка состояний
		if (prms.states)
			for (var state in prms.states) {
				this.states[state] = { 
					handler: new Function('e', 'myImagesStates['+this.id+'].setState(e, "'+state+'")')
					}
				if (myImagesStatesCache[prms.states[state]]) 
					this.states[state].obj = myImagesStatesCache[prms.states[state]]
					else {
						this.states[state].obj = new Image()
						this.states[state].obj.src = prms.states[state]
						myImagesStatesCache[prms.states[state]] = this.states[state].obj
						}
				}
		
		// Раздача событий
		for (var state in this.states)
			eventAdd( this.obj, state, this.states[state].handler, false)
		
		// Анулирования onload
		if (this.obj.onload)
			this.obj.onload = null
		
		return this
		}
		
	myImageState.prototype.setState = function( e, state ) {
		var e = getEventObj( e )
		this.nowState = state
		this.obj.src = this.states[state].obj.src
		return true
		}

	
	// Автообновление данных
	window.iXMLIO = new myXMLOverHTTP
	(
		{
			proceedor: function( xml ) { setCookie( 'id', xml.getAttribute('id') ); return true; }
		}
	);
	
	window.onfakeload = function() {
		window.myMoveableObjDocument = myMoveingFakeDocument()
		
		//
		// Форма ввода данных
		//
		// {
		
		window.enterDataForm = document.getElementById('enterData')
		
		// Заполняем кол-во дней
		for (var i=1; i<=7; i++)
			with (window.enterDataForm.workWeekInDays.appendChild( document.createElement('option') )) {
				value = i
				appendChild( document.createTextNode( i ) )
				if (i == 5)
					selected = 'selected'
				}
				
		// Заполняем кол-во часов
		for (var i=1; i<=24; i++)
			with (window.enterDataForm.workDayInHours.appendChild( document.createElement('option') )) {
				value = i
				appendChild( document.createTextNode( i ) )
				if (i == 8)
					selected = 'selected'
				}
		
		//
		// Бегунок оклада
		//
		// {
				
		window.mySaleryDraggerObj = new myMoveableObj
		(
			{ 
				obj:			document.getElementById('mySalaryDragger'), 
				byY:			false,
				zone:			document.getElementById('mySalaryZone'),
				zoneMargins:	{ x: -8, y: 0 },
				onmove:
				[ 
					function () 
					{
						with (window.mySaleryDraggerObj)
						{
							obj.style.marginLeft	= '0px' 
							onmove					= null
						}
					} 
				],
				onSleepMove:
				[ 
					function () 
					{ 
						//var value = ( window.mySaleryDraggerObj.getX() - window.mySaleryDraggerObj.zoneOffset.x + 7 ) * 1000 + 5000
						var x 		= ( window.mySaleryDraggerObj.getX() - window.mySaleryDraggerObj.zoneOffset.x + 7 ) 
						var value	= 5000
						var dG		= 1000
						var graph	=
						[
							0,		50,		0.1,
							50,		120,	0.5,
							120,	275,	1,
							275,	315,	5,
							315,	325,	10,
							325,	329,	50,
							329,	338,	100
						]
						for (var i=0; i<graph.length; i+=3)
						{
							if (x >= graph[i] && x > graph[i+1])
							value += ( graph[i+1] - graph[i] ) * graph[i+2] * dG
							else
							{
								value += (x - graph[i] ) * graph[i+2] * dG
								break
							}
							
						}
						if (value > 1000000) value = 1000000
						if (value < 5000) value = 5000
						value = Math.round( value )
						mySaleryDraggerObj.obj.firstChild.firstChild.nodeValue = value.toString().replace(/([0-9]{3})$/, ' $1').replace(/([0-9])([0-9]{3}) /, '$1 $2 ')
						enterDataForm.mySalaryValue.value = value.toString()
						setCookie( 'mySalary', x )
					} 
				]
			}
		)
		document.getElementById('mySalaryZone').onclick = function( e )
		{
			if (window.mySaleryDraggerObj.onmove)
				window.mySaleryDraggerObj.onmove[0]()
			window.mySaleryDraggerObj.setX( getEventObj( e ).clientX - 9 - window.mySaleryDraggerObj.obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.offsetLeft )
			window.mySaleryDraggerObj.onSleepMove[0]()
		}
		
		// }
		//
		// Бегунок отпуска
		//
		// {
		
		window.myLeaveDraggerObj = new myMoveableObj
		(
			{ 
				obj:			document.getElementById('myLeaveDragger'),
				byY:			false,
				zone:			document.getElementById('myLeaveZone'),
				zoneMargins:	{ x: -8, y: 0 },
				onmove:
				[ 
					function () 
					{
						with (window.myLeaveDraggerObj)
						{
							obj.style.marginLeft	= '0px' 
							onmove					= null
						}
					} 
				],
				onSleepMove:
				[ 
					function () 
					{ 
						var value = Math.round( ( window.myLeaveDraggerObj.getX() - window.myLeaveDraggerObj.zoneOffset.x + 7 ) / 3.7 )
						if (value > 90) value = 90
						if (value < 1) value = 1
						myLeaveDraggerObj.obj.firstChild.firstChild.nodeValue = value.toString()
						enterDataForm.myLeaveValue.value = value.toString()
						setCookie( 'myLeave', window.myLeaveDraggerObj.getX() - window.myLeaveDraggerObj.zoneOffset.x + 7 )
					} 
				]
			}
		)
		document.getElementById('myLeaveZone').onclick = function( e )
		{
			if (window.myLeaveDraggerObj.onmove)
				window.myLeaveDraggerObj.onmove[0]()
			window.myLeaveDraggerObj.setX( getEventObj( e ).clientX - 9 - window.myLeaveDraggerObj.obj.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.offsetLeft )
			window.myLeaveDraggerObj.onSleepMove[0]()
		}
			
		// }
		//
		// Загрузка куков
		//
		// {
		
		var myPreviousSalary = getCookie( 'mySalary' )
		if (parseInt(myPreviousSalary) > 0)
		{
			mySaleryDraggerObj.setX( mySaleryDraggerObj.zoneOffset.x*1 + myPreviousSalary*1 - 7 )
			mySaleryDraggerObj.onSleepMove[0]()
		}
		else
		{
			window.mySaleryDraggerObj.obj.style.marginLeft = '-5px'
		}
		
		var myPreviousLeave = getCookie( 'myLeave' )
		if (parseInt(myPreviousLeave) > 0)
		{
			myLeaveDraggerObj.setX( myLeaveDraggerObj.zoneOffset.x*1 + myPreviousLeave*1 - 7 )
			myLeaveDraggerObj.onSleepMove[0]()
		}
		else
		{
			window.myLeaveDraggerObj.obj.style.marginLeft = '98px'
		}
		
		// }
		
		window.refreshIO = new myXMLOverHTTP
		(
			{
				proceedor: function( xml ) 
				{
					if (!xml)
						return false
					
					freePeoples.setNumber( parseInt(xml.getAttribute('peoples')) )
					freeSites.setNumber( parseInt(xml.getAttribute('sites')) )
					freeTotal.setNumber( parseInt(xml.getAttribute('total')) )
					return true 
				}
			}
		)
		refreshIO.get('xml/stamp.xml')
		// setInterval( function() { refreshIO.get('xml/stamp.xml') } , 10000 )
		
		}
	
	function calculateEnteredData( formObj ) {
		var Salary = formObj.mySalaryValue.value
		var Leave = formObj.myLeaveValue.value
		var WorkDays = formObj.workWeekInDays.value
		var WorkHours = formObj.workDayInHours.value
		
		// Удаление ненужных блоков
		formObj.style.display = 'none'
		showBookMark( 'myLife' )
		
		// Рассчеты
		window.dLM.setNumber( Salary*Leave/30 )
		window.dYM.setNumber( Salary*12 )
		window.dWM.setNumber( Salary/4 )
		window.dDM.setNumber( Salary/4/WorkDays )
		window.dHM.setNumber( Salary/4/WorkDays/WorkHours )
		window.dMM.setNumber( Salary/4/WorkDays/WorkHours/60 )
		window.dRN.setNumber( Salary/4/WorkDays/WorkHours/60/60 )
		window.dRN.reset()
		window.dRN.startTimer( 200, Salary/4/WorkDays/WorkHours/60/60/5 )
		
		return true
		}

	// Текущая страница объявляется в конце странице. Lusever.
	window.nowBookMark = false
	function showBookMark( id ) {
		document.getElementById('bookMarks').style.display = 'block'
		// Удаление предыдущей закладки
		if (window.nowBookMark)
			hideBookMark( window.nowBookMark )
		
		document.getElementById( id + 'Container' ).style.display = 'block'
		document.body.style.background = '#ffa939 url(base/img/body_bg/two.gif) repeat-x center 70px'
		if (window[ id + 'IS' ]) {
			window[ id + 'IS' ].obj.src = window[ id + 'IS' ].states.mouseover.obj.src
			window[ id + 'IS' ].obj.style.cursor = 'default'
			window[ id + 'IS' ].states.mouseout.obj.src = window[ id + 'IS' ].states.mouseover.obj.src
			}
		
		window.nowBookMark = id
		}
		
	function hideBookMark( id ) {
		
		document.getElementById( window.nowBookMark + 'Container' ).style.display = 'none'
		if (window[ window.nowBookMark + 'IS' ]) {
			window[ window.nowBookMark + 'IS' ].obj.src = window[ window.nowBookMark + 'IS' ].defaultState
			window[ id + 'IS' ].obj.style.cursor = 'pointer'
			window[ window.nowBookMark + 'IS' ].states.mouseout.obj.src = window[ window.nowBookMark + 'IS' ].defaultState
			}
		
		window.nowBookMark = false
		return true
		}
		
	function showIndex() 
	{
		
		// Прячем закладку
		hideBookMark( window.nowBookMark )
		document.body.style.background = '#ffa939 url(base/img/body_bg/index.gif) repeat-x center 70px'		
		// Возврат блоков
		document.getElementById('enterDataContainer').style.display = 'block'
		enterDataForm.style.display = 'block'
		document.getElementById('bookMarks').style.display = 'none'
		window.nowBookMark = 'enterData'
		
		// Рассчеты
		window.dLM.reset()
		window.dYM.reset()
		window.dWM.reset()
		window.dDM.reset()
		window.dHM.reset()
		window.dMM.reset()
		window.dRN.reset()
		
	}
	
	function setCookie(name, value) 
	{
		document.cookie = name + '=' + escape(value) + '; path=/' + '; domain=daitedeneg.ru'
		return true
	}
	
	function getCookie(name) 
	{
		var cookie	= " " + document.cookie
		var search	= " " + name + "="
		var setStr	= ''
		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
	}
	
	function sendInitialDataToServer()
	{
		// var getStr	= 'data.gate?set=initial&ww='+enterDataForm.workWeekInDays.value+'&wd='+enterDataForm.workDayInHours.value+'&site='+(enterDataForm.favoriteSite ? enterDataForm.favoriteSite.value : '')+'&s='+enterDataForm.mySalaryValue.value+'&l='+enterDataForm.myLeaveValue.value
		// var id		= getCookie('id')
		// if (id)
		// 	getStr	+= '&id='+id
		// iXMLIO.get( getStr )
		// return true
	}
	
/**
 * SWFObject v1.4.2: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
 *   legal reasons.
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){
if(!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();
if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){_16.push(key+"="+_18[key]);}
return _16;
},getSWFHTML:function(){
var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=key+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}
_19+="/>";
}else{if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}
_19+="</object>";}
return _19;
},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();
return true;
}else{
if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(){
var _23=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{
try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{
var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=new deconcept.PlayerVersion([6,0,21]);
axo.AllowScriptAccess="always";}
catch(e){
if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}
if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return _23;};
deconcept.PlayerVersion=function(_27){
this.major=_27[0]!=null?parseInt(_27[0]):0;
this.minor=_27[1]!=null?parseInt(_27[1]):0;
this.rev=_27[2]!=null?parseInt(_27[2]):0;
};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){return false;}
return true;
};
deconcept.util={getRequestParameter:function(_29){
var q=document.location.search||document.location.hash;
if(q){
var _2b=q.substring(1).split("&");
for(var i=0;i<_2b.length;i++){
if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){
return _2b[i].substring((_2b[i].indexOf("=")+1));}}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){
var _2d=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2d.length;i++){
_2d[i].style.display="none";
for(var x in _2d[i]){if(typeof _2d[i][x]=="function"){_2d[i][x]=null;}}}};
if(typeof window.onunload=="function"){
var oldunload=window.onunload;
window.onunload=function(){
deconcept.SWFObjectUtil.cleanupSWFs();
oldunload();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}
if(Array.prototype.push==null){
Array.prototype.push=function(_30){
this[this.length]=_30;
return this.length;};}

var getQueryParamValue=deconcept.util.getRequestParameter;
var FlashObject=deconcept.SWFObject; // for legacy support
var SWFObject=deconcept.SWFObject;



	function manageTimer( imgObj, msg, kindID ) 
	{	
		if (window.enterDataForm && !(/disabled/.test(imgObj.className))) 
		{
			var imgList = imgObj.parentNode.getElementsByTagName('img')
			window.Salary = window.enterDataForm.mySalaryValue.value
			window.Leave = window.enterDataForm.myLeaveValue.value
			window.WorkDays = window.enterDataForm.workWeekInDays.value
			window.WorkHours = window.enterDataForm.workDayInHours.value
			if (!window.dS.isRunning()) 
			{
				document.getElementById('summary').style.display = 'none'
				imgObj.style.display = 'none'
				imgObj.nextSibling.style.display = 'block'
				for (var i=0; i<imgList.length; i++)
				{
					if (imgList[i] != imgObj.nextSibling)
					{
						imgList[i].className += ' disabled'
					}
				}
				window.moneySoundPlayer.Play()
				window.dS.startTimer( 1000, 1 )
				window.dR.startTimer( 500, window.Salary/4/window.WorkDays/window.WorkHours/60/60/2 )
				closeNotEnought()
			} 
			else if (!window.dS.isPaused()) 
			{
				var imgOffset = getglobaloffset( document.getElementById('notenoughBtn') )
				window.moneySoundPlayer.StopPlay()
				window.dS.stopTimer()
				window.dR.stopTimer()
				for (var i=0; i<imgList.length; i++)
				{
					imgList[i].className = imgList[i].className.replace(/ ?disabled/, '')
				}
				imgObj.style.display = 'none'
				imgObj.previousSibling.style.display = 'block'
				with (document.getElementById('summary'))
				{
					firstChild.innerHTML	= 'Пока я ' + msg + ' (' + ( window.dM.getNumber() > 0 ?declention(window.dM.getNumber(), 'минут', ['а', 'ы', ''], true) + ', ' : '' ) + declention(window.dS.getNumber(), 'секунд', ['а', 'ы', ''], true) + '), я заработал <b>' + declention(Math.round(window.dR.getNumber()), '</b>рубл', ['ь', 'я', 'ей'], true) + '.'
					style.left				= imgOffset.x - 530 + 'px'
					style.top				= imgOffset.y - 290 + 'px'
					style.display			= 'block'
				}

				// // Передача значения
				// new myXMLOverHTTP
				// (
				// 	{
				// 		proceedor: function( xml ) 
				// 		{ 
				// 			return true 
				// 		}
				// 	}
				// ).get('data.gate?set=forfree&fk='+kindID+'&fv='+Math.round(dR.getNumber())+'&ft='+dM.getNumber()+':'+dS.getNumber()+'&id='+getCookie('id'))
				
				window.dS.reset()
				window.dM.reset()
				window.dR.reset()
				with (document.getElementById('notEnoughButton'))
				{
					setAttribute('href', 'http://www.retailstars.ru/')
					firstChild.className = ''
				}
			} 
		}	
		return true
	}
	
	function closeNotEnought()
	{
		with (document.getElementById('notEnoughButton'))
		{
			removeAttribute('href')
			firstChild.className = 'disabled'
		}
	}
	
//-- Google Analytics Urchin Module
//-- Copyright 2007 Google, All Rights Reserved.

//-- Urchin On Demand Settings ONLY
var _uacct="";			// set up the Urchin Account
var _userv=1;			// service mode (0=local,1=remote,2=both)

//-- UTM User Settings
var _ufsc=1;			// set client info flag (1=on|0=off)
var _udn="auto";		// (auto|none|domain) set the domain name for cookies
var _uhash="on";		// (on|off) unique domain hash for cookies
var _utimeout="1800";   	// set the inactive session timeout in seconds
var _ugifpath="/__utm.gif";	// set the web path to the __utm.gif file
var _utsp="|";			// transaction field separator
var _uflash=1;			// set flash version detect option (1=on|0=off)
var _utitle=1;			// set the document title detect option (1=on|0=off)
var _ulink=0;			// enable linker functionality (1=on|0=off)
var _uanchor=0;			// enable use of anchors for campaign (1=on|0=off)
var _utcp="/";			// the cookie path for tracking
var _usample=100;		// The sampling % of visitors to track (1-100).

//-- UTM Campaign Tracking Settings
var _uctm=1;			// set campaign tracking module (1=on|0=off)
var _ucto="15768000";		// set timeout in seconds (6 month default)
var _uccn="utm_campaign";	// name
var _ucmd="utm_medium";		// medium (cpc|cpm|link|email|organic)
var _ucsr="utm_source";		// source
var _uctr="utm_term";		// term/keyword
var _ucct="utm_content";	// content
var _ucid="utm_id";		// id number
var _ucno="utm_nooverride";	// don't override

//-- Auto/Organic Sources and Keywords
var _uOsr=new Array();
var _uOkw=new Array();
_uOsr[0]="google";	_uOkw[0]="q";
_uOsr[1]="yahoo";	_uOkw[1]="p";
_uOsr[2]="msn";		_uOkw[2]="q";
_uOsr[3]="aol";		_uOkw[3]="query";
_uOsr[4]="aol";		_uOkw[4]="encquery";
_uOsr[5]="lycos";	_uOkw[5]="query";
_uOsr[6]="ask";		_uOkw[6]="q";
_uOsr[7]="altavista";	_uOkw[7]="q";
_uOsr[8]="netscape";	_uOkw[8]="query";
_uOsr[9]="cnn";	_uOkw[9]="query";
_uOsr[10]="looksmart";	_uOkw[10]="qt";
_uOsr[11]="about";	_uOkw[11]="terms";
_uOsr[12]="mamma";	_uOkw[12]="query";
_uOsr[13]="alltheweb";	_uOkw[13]="q";
_uOsr[14]="gigablast";	_uOkw[14]="q";
_uOsr[15]="voila";	_uOkw[15]="rdata";
_uOsr[16]="virgilio";	_uOkw[16]="qs";
_uOsr[17]="live";	_uOkw[17]="q";
_uOsr[18]="baidu";	_uOkw[18]="wd";
_uOsr[19]="alice";	_uOkw[19]="qs";
_uOsr[20]="yandex";	_uOkw[20]="text";
_uOsr[21]="najdi";	_uOkw[21]="q";
_uOsr[22]="aol";	_uOkw[22]="q";
_uOsr[23]="club-internet"; _uOkw[23]="query";
_uOsr[24]="mama";	_uOkw[24]="query";
_uOsr[25]="seznam";	_uOkw[25]="q";
_uOsr[26]="search";	_uOkw[26]="q";
_uOsr[27]="wp";	_uOkw[27]="szukaj";
_uOsr[28]="onet";	_uOkw[28]="qt";
_uOsr[29]="netsprint";	_uOkw[29]="q";
_uOsr[30]="google.interia";	_uOkw[30]="q";
_uOsr[31]="szukacz";	_uOkw[31]="q";
_uOsr[32]="yam";	_uOkw[32]="k";
_uOsr[33]="pchome";	_uOkw[33]="q";
_uOsr[34]="kvasir";	_uOkw[34]="searchExpr";
_uOsr[35]="sesam";	_uOkw[35]="q";
_uOsr[36]="ozu"; _uOkw[36]="q";
_uOsr[37]="terra"; _uOkw[37]="query";
_uOsr[38]="nostrum"; _uOkw[38]="query";
_uOsr[39]="mynet"; _uOkw[39]="q";
_uOsr[40]="ekolay"; _uOkw[40]="q";
_uOsr[41]="search.ilse"; _uOkw[41]="search_for";

//-- Auto/Organic Keywords to Ignore
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="www.urchin.com";

//-- Referral domains to Ignore
var _uRno=new Array();
//_uRno[0]=".urchin.com";

//-- **** Don't modify below this point ***
var _uff,_udh,_udt,_ubl=0,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ubd=document,_udl=_ubd.location,_udlh="",_uwv="1.3";
var _ugifpath2="http://www.google-analytics.com/__utm.gif";
if (_udl.hash) _udlh=_udl.href.substring(_udl.href.indexOf('#'));
if (_udl.protocol=="https:") _ugifpath2="https://ssl.google-analytics.com/__utm.gif";
if (!_utcp || _utcp=="") _utcp="/";
function urchinTracker(page) {
 if (_udl.protocol=="file:") return;
 if (_uff && (!page || page=="")) return;
 var a,b,c,xx,v,z,k,x="",s="",f=0,nv=0;
 var nx=" expires="+_uNx()+";";
 var dc=_ubd.cookie;
 _udh=_uDomain();
 if (!_uVG()) return;
 _uu=Math.round(Math.random()*2147483647);
 _udt=new Date();
 _ust=Math.round(_udt.getTime()/1000);
 a=dc.indexOf("__utma="+_udh+".");
 b=dc.indexOf("__utmb="+_udh);
 c=dc.indexOf("__utmc="+_udh);
 if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
 if (_utimeout && _utimeout!="") {
  x=new Date(_udt.getTime()+(_utimeout*1000));
  x=" expires="+x.toGMTString()+";";
 }
 if (_ulink) {
  if (_uanchor && _udlh && _udlh!="") s=_udlh+"&";
  s+=_udl.search;
  if(s && s!="" && s.indexOf("__utma=")>=0) {
   if (!(_uIN(a=_uGC(s,"__utma=","&")))) a="-";
   if (!(_uIN(b=_uGC(s,"__utmb=","&")))) b="-";
   if (!(_uIN(c=_uGC(s,"__utmc=","&")))) c="-";
   v=_uGC(s,"__utmv=","&");
   z=_uGC(s,"__utmz=","&");
   k=_uGC(s,"__utmk=","&");
   xx=_uGC(s,"__utmx=","&");
   if ((k*1) != ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) {_ubl=1;a="-";b="-";c="-";xx="-";z="-";v="-";}
   if (a!="-" && b!="-" && c!="-") f=1;
   else if(a!="-") f=2;
  }
 }
 if(f==1) {
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+c+"; path="+_utcp+";"+_udo;
 } else if (f==2) {
  a=_uFixA(s,"&",_ust);
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
  _ufns=1;
 } else if (a>=0 && b>=0 && c>=0) {
   b = _uGC(dc,"__utmb="+_udh,";");
   b = ("-" == b) ? _udh : b;  
  _ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
 } else {
  if (a>=0) a=_uFixA(_ubd.cookie,";",_ust);
  else {
   a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";
   nv=1;
  }
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
  _ufns=1;
 }
 if (_ulink && xx && xx!="" && xx!="-") {
   xx=_uUES(xx);
   if (xx.indexOf(";")==-1) _ubd.cookie="__utmx="+xx+"; path="+_utcp+";"+nx+_udo;
 }
 if (_ulink && v && v!="" && v!="-") {
  v=_uUES(v);
  if (v.indexOf(";")==-1) _ubd.cookie="__utmv="+v+"; path="+_utcp+";"+nx+_udo;
 }
 var wc=window;
 var c=_ubd.cookie;
 if(wc && wc.gaGlobal && wc.gaGlobal.dh==_udh){
  var g=wc.gaGlobal;
  var ua=c.split("__utma="+_udh+".")[1].split(";")[0].split(".");
  if(g.sid)ua[3]=g.sid;
  if(nv>0){
   ua[2]=ua[3];
   if(g.vid){
    var v=g.vid.split(".");
    ua[0]=v[0];
    ua[1]=v[1];
   }
  }
  _ubd.cookie="__utma="+_udh+"."+ua.join(".")+"; path="+_utcp+";"+nx+_udo;
 }
 _uInfo(page);
 _ufns=0;
 _ufno=0;
 if (!page || page=="") _uff=1;
}
function _uGH() {
 var hid;
 var wc=window;
 if (wc && wc.gaGlobal && wc.gaGlobal.hid) {
  hid=wc.gaGlobal.hid;
 } else {
  hid=Math.round(Math.random()*0x7fffffff);
  if (!wc.gaGlobal) wc.gaGlobal={};
  wc.gaGlobal.hid=hid;
 }
 return hid;
}
function _uInfo(page) {
 var p,s="",dm="",pg=_udl.pathname+_udl.search;
 if (page && page!="") pg=_uES(page,1);
 _ur=_ubd.referrer;
 if (!_ur || _ur=="") { _ur="-"; }
 else {
  dm=_ubd.domain;
  if(_utcp && _utcp!="/") dm+=_utcp;
  p=_ur.indexOf(dm);
  if ((p>=0) && (p<=8)) { _ur="0"; }
  if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; }
 }
 s+="&utmn="+_uu;
 if (_ufsc) s+=_uBInfo();
 if (_uctm) s+=_uCInfo();
 if (_utitle && _ubd.title && _ubd.title!="") s+="&utmdt="+_uES(_ubd.title);
 if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+_uES(_udl.hostname);
 if (_usample && _usample != 100) s+="&utmsp="+_uES(_usample);
 s+="&utmhid="+_uGH();
 s+="&utmr="+_ur;
 s+="&utmp="+pg;
 if ((_userv==0 || _userv==2) && _uSP()) {
  var i=new Image(1,1);
  i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
  i.onload=function() { _uVoid(); }
 }
 if ((_userv==1 || _userv==2) && _uSP()) {
  var i2=new Image(1,1);
  i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
  i2.onload=function() { _uVoid(); }
 }
 return;
}
function _uVoid() { return; }
function _uCInfo() {
 if (!_ucto || _ucto=="") { _ucto="15768000"; }
 if (!_uVG()) return;
 var c="",t="-",t2="-",t3="-",o=0,cs=0,cn=0,i=0,z="-",s="";
 if (_uanchor && _udlh && _udlh!="") s=_udlh+"&";
 s+=_udl.search;
 var x=new Date(_udt.getTime()+(_ucto*1000));
 var dc=_ubd.cookie;
 x=" expires="+x.toGMTString()+";";
 if (_ulink && !_ubl) {
  z=_uUES(_uGC(s,"__utmz=","&"));
  if (z!="-" && z.indexOf(";")==-1) { _ubd.cookie="__utmz="+z+"; path="+_utcp+";"+x+_udo; return ""; }
 }
 z=dc.indexOf("__utmz="+_udh+".");
 if (z>-1) { z=_uGC(dc,"__utmz="+_udh+".",";"); }
 else { z="-"; }
 t=_uGC(s,_ucid+"=","&");
 t2=_uGC(s,_ucsr+"=","&");
 t3=_uGC(s,"gclid=","&");
 if ((t!="-" && t!="") || (t2!="-" && t2!="") || (t3!="-" && t3!="")) {
  if (t!="-" && t!="") c+="utmcid="+_uEC(t);
  if (t2!="-" && t2!="") { if (c != "") c+="|"; c+="utmcsr="+_uEC(t2); }
  if (t3!="-" && t3!="") { if (c != "") c+="|"; c+="utmgclid="+_uEC(t3); }
  t=_uGC(s,_uccn+"=","&");
  if (t!="-" && t!="") c+="|utmccn="+_uEC(t);
  else c+="|utmccn=(not+set)";
  t=_uGC(s,_ucmd+"=","&");
  if (t!="-" && t!="") c+="|utmcmd="+_uEC(t);
  else  c+="|utmcmd=(not+set)";
  t=_uGC(s,_uctr+"=","&");
  if (t!="-" && t!="") c+="|utmctr="+_uEC(t);
  else { t=_uOrg(1); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); }
  t=_uGC(s,_ucct+"=","&");
  if (t!="-" && t!="") c+="|utmcct="+_uEC(t);
  t=_uGC(s,_ucno+"=","&");
  if (t=="1") o=1;
  if (z!="-" && o==1) return "";
 }
 if (c=="-" || c=="") { c=_uOrg(); if (z!="-" && _ufno==1)  return ""; }
 if (c=="-" || c=="") { if (_ufns==1)  c=_uRef(); if (z!="-" && _ufno==1)  return ""; }
 if (c=="-" || c=="") {
  if (z=="-" && _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; }
  if (c=="-" || c=="") return "";
 }
 if (z!="-") {
  i=z.indexOf(".");
  if (i>-1) i=z.indexOf(".",i+1);
  if (i>-1) i=z.indexOf(".",i+1);
  if (i>-1) i=z.indexOf(".",i+1);
  t=z.substring(i+1,z.length);
  if (t.toLowerCase()==c.toLowerCase()) cs=1;
  t=z.substring(0,i);
  if ((i=t.lastIndexOf(".")) > -1) {
   t=t.substring(i+1,t.length);
   cn=(t*1);
  }
 }
 if (cs==0 || _ufns==1) {
  t=_uGC(dc,"__utma="+_udh+".",";");
  if ((i=t.lastIndexOf(".")) > 9) {
   _uns=t.substring(i+1,t.length);
   _uns=(_uns*1);
  }
  cn++;
  if (_uns==0) _uns=1;
  _ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path="+_utcp+"; "+x+_udo;
 }
 if (cs==0 || _ufns==1) return "&utmcn=1";
 else return "&utmcr=1";
}
function _uRef() {
 if (_ur=="0" || _ur=="" || _ur=="-") return "";
 var i=0,h,k,n;
 if ((i=_ur.indexOf("://"))<0 || _uGCse()) return "";
 h=_ur.substring(i+3,_ur.length);
 if (h.indexOf("/") > -1) {
  k=h.substring(h.indexOf("/"),h.length);
  if (k.indexOf("?") > -1) k=k.substring(0,k.indexOf("?"));
  h=h.substring(0,h.indexOf("/"));
 }
 h=h.toLowerCase();
 n=h;
 if ((i=n.indexOf(":")) > -1) n=n.substring(0,i);
 for (var ii=0;ii<_uRno.length;ii++) {
  if ((i=n.indexOf(_uRno[ii].toLowerCase())) > -1 && n.length==(i+_uRno[ii].length)) { _ufno=1; break; }
 }
 if (h.indexOf("www.")==0) h=h.substring(4,h.length);
 return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral";
}
function _uOrg(t) {
 if (_ur=="0" || _ur=="" || _ur=="-") return "";
 var i=0,h,k;
 if ((i=_ur.indexOf("://"))<0 || _uGCse()) return "";
 h=_ur.substring(i+3,_ur.length);
 if (h.indexOf("/") > -1) {
  h=h.substring(0,h.indexOf("/"));
 }
 for (var ii=0;ii<_uOsr.length;ii++) {
  if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) {
   if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) > -1 || (i=_ur.indexOf("&"+_uOkw[ii]+"=")) > -1) {
    k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);
    if ((i=k.indexOf("&")) > -1) k=k.substring(0,i);
    for (var yy=0;yy<_uOno.length;yy++) {
     if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; }
    }
    if (t) return _uEC(k);
    else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic";
   }
  }
 }
 return "";
}
function _uGCse() {
 var h,p;
 h=p=_ur.split("://")[1];
 if(h.indexOf("/")>-1) {
  h=h.split("/")[0];
  p=p.substring(p.indexOf("/")+1,p.length);
 }
 if(p.indexOf("?")>-1) {
  p=p.split("?")[0];
 }
 if(h.toLowerCase().indexOf("google")>-1) {
  if(_ur.indexOf("?q=")>-1 || _ur.indexOf("&q=")>-1) {
   if (p.toLowerCase().indexOf("cse")>-1) {
    return true;
   }
  }
 }
}
function _uBInfo() {
 var sr="-",sc="-",ul="-",fl="-",cs="-",je=1;
 var n=navigator;
 if (self.screen) {
  sr=screen.width+"x"+screen.height;
  sc=screen.colorDepth+"-bit";
 } else if (self.java) {
  var j=java.awt.Toolkit.getDefaultToolkit();
  var s=j.getScreenSize();
  sr=s.width+"x"+s.height;
 }
 if (n.language) { ul=n.language.toLowerCase(); }
 else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); }
 je=n.javaEnabled()?1:0;
 if (_uflash) fl=_uFlash();
 if (_ubd.characterSet) cs=_uES(_ubd.characterSet);
 else if (_ubd.charset) cs=_uES(_ubd.charset);
 return "&utmcs="+cs+"&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmfl="+fl;
}
function __utmSetTrans() {
 var e;
 if (_ubd.getElementById) e=_ubd.getElementById("utmtrans");
 else if (_ubd.utmform && _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;
 if (!e) return;
 var l=e.value.split("UTM:");
 var i,i2,c;
 if (_userv==0 || _userv==2) i=new Array();
 if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); }

 for (var ii=0;ii<l.length;ii++) {
  l[ii]=_uTrim(l[ii]);
  if (l[ii].charAt(0)!='T' && l[ii].charAt(0)!='I') continue;
  var r=Math.round(Math.random()*2147483647);
  if (!_utsp || _utsp=="") _utsp="|";
  var f=l[ii].split(_utsp),s="";
  if (f[0].charAt(0)=='T') {
   s="&utmt=tran"+"&utmn="+r;
   f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+_uES(f[1]);
   f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmtst="+_uES(f[2]);
   f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmtto="+_uES(f[3]);
   f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmttx="+_uES(f[4]);
   f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmtsp="+_uES(f[5]);
   f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmtci="+_uES(f[6]);
   f[7]=_uTrim(f[7]); if(f[7]&&f[7]!="") s+="&utmtrg="+_uES(f[7]);
   f[8]=_uTrim(f[8]); if(f[8]&&f[8]!="") s+="&utmtco="+_uES(f[8]);
  } else {
   s="&utmt=item"+"&utmn="+r;
   f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+_uES(f[1]);
   f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmipc="+_uES(f[2]);
   f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmipn="+_uES(f[3]);
   f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmiva="+_uES(f[4]);
   f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmipr="+_uES(f[5]);
   f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmiqt="+_uES(f[6]);
  }
  if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+_uES(_udl.hostname);
  if (_usample && _usample != 100) s+="&utmsp="+_uES(_usample);

  if ((_userv==0 || _userv==2) && _uSP()) {
   i[ii]=new Image(1,1);
   i[ii].src=_ugifpath+"?"+"utmwv="+_uwv+s;
   i[ii].onload=function() { _uVoid(); }
  }
  if ((_userv==1 || _userv==2) && _uSP()) {
   i2[ii]=new Image(1,1);
   i2[ii].src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+c;
   i2[ii].onload=function() { _uVoid(); }
  }
 }
 return;
}
function _uFlash() {
 var f="-",n=navigator;
 if (n.plugins && n.plugins.length) {
  for (var ii=0;ii<n.plugins.length;ii++) {
   if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {
    f=n.plugins[ii].description.split('Shockwave Flash ')[1];
    break;
   }
  }
 } else {
  var fl;
  try {
   fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
   f = fl.GetVariable("$version");
  } catch(e) {}
  if (f == "-") {
   try {
    fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
    f = "WIN 6,0,21,0";
    fl.AllowScriptAccess = "always";
    f = fl.GetVariable("$version");
   } catch(e) {}
  }
  if (f == "-") {
   try {
    fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
    f = fl.GetVariable("$version");
   } catch(e) {}
  }
  if (f != "-") {
   f = f.split(" ")[1].split(",");
   f = f[0] + "." + f[1] + " r" + f[2];
  }
 }
 return f;
}
function __utmLinkerUrl(l,h) {
 var p,k,a="-",b="-",c="-",x="-",z="-",v="-";
 var dc=_ubd.cookie;
 var iq = l.indexOf("?");
 var ih = l.indexOf("#");
 var url=l;
 if (dc) {
  a=_uES(_uGC(dc,"__utma="+_udh+".",";"));
  b=_uES(_uGC(dc,"__utmb="+_udh,";"));
  c=_uES(_uGC(dc,"__utmc="+_udh,";"));
  x=_uES(_uGC(dc,"__utmx="+_udh,";"));
  z=_uES(_uGC(dc,"__utmz="+_udh+".",";"));
  v=_uES(_uGC(dc,"__utmv="+_udh+".",";"));
  k=(_uHash(a+b+c+x+z+v)*1)+(_udh*1);
  p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmx="+x+"&__utmz="+z+"&__utmv="+v+"&__utmk="+k;
 }
 if (p) {
  if (h && ih>-1) return;
  if (h) { url=l+"#"+p; }
  else {
   if (iq==-1 && ih==-1) url=l+"?"+p;
   else if (ih==-1) url=l+"&"+p;
   else if (iq==-1) url=l.substring(0,ih-1)+"?"+p+l.substring(ih);
   else url=l.substring(0,ih-1)+"&"+p+l.substring(ih);
  }
 }
 return url;
}
function __utmLinker(l,h) {
 if (!_ulink || !l || l=="") return;
 _udl.href=__utmLinkerUrl(l,h);
}
function __utmLinkPost(f,h) {
 if (!_ulink || !f || !f.action) return;
 f.action=__utmLinkerUrl(f.action, h);
 return;
}
function __utmSetVar(v) {
 if (!v || v=="") return;
 if (!_udo || _udo == "") {
  _udh=_uDomain();
  if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
 }
 if (!_uVG()) return;
 var r=Math.round(Math.random() * 2147483647);
 _ubd.cookie="__utmv="+_udh+"."+_uES(v)+"; path="+_utcp+"; expires="+_uNx()+";"+_udo;
 var s="&utmt=var&utmn="+r;
 if (_usample && _usample != 100) s+="&utmsp="+_uES(_usample);
 if ((_userv==0 || _userv==2) && _uSP()) {
  var i=new Image(1,1);
  i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
  i.onload=function() { _uVoid(); }
 }
 if ((_userv==1 || _userv==2) && _uSP()) {
  var i2=new Image(1,1);
  i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
  i2.onload=function() { _uVoid(); }
 }
}
function _uGCS() {
 var t,c="",dc=_ubd.cookie;
 if ((t=_uGC(dc,"__utma="+_udh+".",";"))!="-") c+=_uES("__utma="+t+";+");
 if ((t=_uGC(dc,"__utmx="+_udh,";"))!="-") c+=_uES("__utmx="+t+";+");
 if ((t=_uGC(dc,"__utmz="+_udh+".",";"))!="-") c+=_uES("__utmz="+t+";+");
 if ((t=_uGC(dc,"__utmv="+_udh+".",";"))!="-") c+=_uES("__utmv="+t+";");
 if (c.charAt(c.length-1)=="+") c=c.substring(0,c.length-1);
 return c;
}
function _uGC(l,n,s) {
 if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
 var i,i2,i3,c="-";
 i=l.indexOf(n);
 i3=n.indexOf("=")+1;
 if (i > -1) {
  i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
  c=l.substring((i+i3),i2);
 }
 return c;
}
function _uDomain() {
 if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; }
 if (_udn=="auto") {
  var d=_ubd.domain;
  if (d.substring(0,4)=="www.") {
   d=d.substring(4,d.length);
  }
  _udn=d;
 }
 _udn = _udn.toLowerCase(); 
 if (_uhash=="off") return 1;
 return _uHash(_udn);
}
function _uHash(d) {
 if (!d || d=="") return 1;
 var h=0,g=0;
 for (var i=d.length-1;i>=0;i--) {
  var c=parseInt(d.charCodeAt(i));
  h=((h << 6) & 0xfffffff) + c + (c << 14);
  if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
 }
 return h;
}
function _uFixA(c,s,t) {
 if (!c || c=="" || !s || s=="" || !t || t=="") return "-";
 var a=_uGC(c,"__utma="+_udh+".",s);
 var lt=0,i=0;
 if ((i=a.lastIndexOf(".")) > 9) {
  _uns=a.substring(i+1,a.length);
  _uns=(_uns*1)+1;
  a=a.substring(0,i);
  if ((i=a.lastIndexOf(".")) > 7) {
   lt=a.substring(i+1,a.length);
   a=a.substring(0,i);
  }
  if ((i=a.lastIndexOf(".")) > 5) {
   a=a.substring(0,i);
  }
  a+="."+lt+"."+t+"."+_uns;
 }
 return a;
}
function _uTrim(s) {
  if (!s || s=="") return "";
  while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length);
  while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1);
  return s;
}
function _uEC(s) {
  var n="";
  if (!s || s=="") return "";
  for (var i=0;i<s.length;i++) {if (s.charAt(i)==" ") n+="+"; else n+=s.charAt(i);}
  return n;
}
function __utmVisitorCode(f) {
 var r=0,t=0,i=0,i2=0,m=31;
 var a=_uGC(_ubd.cookie,"__utma="+_udh+".",";");
 if ((i=a.indexOf(".",0))<0) return;
 if ((i2=a.indexOf(".",i+1))>0) r=a.substring(i+1,i2); else return "";  
 if ((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i); else return "";  
 if (f) {
  return r;
 } else {
  var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');
  return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m];
 }
}
function _uIN(n) {
 if (!n) return false;
 for (var i=0;i<n.length;i++) {
  var c=n.charAt(i);
  if ((c<"0" || c>"9") && (c!=".")) return false;
 }
 return true;
}
function _uES(s,u) {
 if (typeof(encodeURIComponent) == 'function') {
  if (u) return encodeURI(s);
  else return encodeURIComponent(s);
 } else {
  return escape(s);
 }
}
function _uUES(s) {
 if (typeof(decodeURIComponent) == 'function') {
  return decodeURIComponent(s);
 } else {
  return unescape(s);
 }
}
function _uVG() {
 if((_udn.indexOf("www.google.") == 0 || _udn.indexOf(".google.") == 0 || _udn.indexOf("google.") == 0) && _utcp=='/' && _udn.indexOf("google.org")==-1) {
  return false;
 }
 return true;
}
function _uSP() {
 var s=100;
 if (_usample) s=_usample;
 if(s>=100 || s<=0) return true;
 return ((__utmVisitorCode(1)%10000)<(s*100));
}
function urchinPathCopy(p){
 var d=document,nx,tx,sx,i,c,cs,t,h,o;
 cs=new Array("a","b","c","v","x","z");
 h=_uDomain(); if (_udn && _udn!="") o=" domain="+_udn+";";
 nx=_uNx()+";";
 tx=new Date(); tx.setTime(tx.getTime()+(_utimeout*1000));
 tx=tx.toGMTString()+";";
 sx=new Date(); sx.setTime(sx.getTime()+(_ucto*1000));
 sx=sx.toGMTString()+";";
 for (i=0;i<6;i++){
  t=" expires=";
  if (i==1) t+=tx; else if (i==2) t=""; else if (i==5) t+=sx; else t+=nx;
  c=_uGC(d.cookie,"__utm"+cs[i]+"="+h,";");
  if (c!="-") d.cookie="__utm"+cs[i]+"="+c+"; path="+p+";"+t+o;
 }
}
function _uCO() {
 if (!_utk || _utk=="" || _utk.length<10) return;
 var d='www.google.com';
 if (_utk.charAt(0)=='!') d='analytics.corp.google.com';
 _ubd.cookie="GASO="+_utk+"; path="+_utcp+";"+_udo;
 var sc=document.createElement('script');
 sc.type='text/javascript';
 sc.id="_gasojs";
 sc.src='https://'+d+'/analytics/reporting/overlay_js?gaso='+_utk+'&'+Math.random();
 document.getElementsByTagName('head')[0].appendChild(sc);  
}
function _uGT() {
 var h=location.hash, a;
 if (h && h!="" && h.indexOf("#gaso=")==0) {
  a=_uGC(h,"gaso=","&");
 } else {
  a=_uGC(_ubd.cookie,"GASO=",";");
 }
 return a;
}
var _utk=_uGT();
if (_utk && _utk!="" && _utk.length>10 && _utk.indexOf("=")==-1) {
 if (window.addEventListener) {
  window.addEventListener('load', _uCO, false); 
 } else if (window.attachEvent) { 
  window.attachEvent('onload', _uCO);
 }
}

function _uNx() {
  return (new Date((new Date()).getTime()+63072000000)).toGMTString();
}

