﻿jQuery.fn.supersleight = function(settings) {
	settings = jQuery.extend({
		imgs: true,
		backgrounds: true,
		shim: 'x.gif',
		apply_positioning: true
	}, settings);
	
	return this.each(function(){
		if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7 && parseInt(jQuery.browser.version, 10) > 4) {
			jQuery(this).find('*').andSelf().each(function(i,obj) {
				var self = jQuery(obj);
				// background pngs
				if (settings.backgrounds && self.css('background-image').match(/\.png/i) !== null) {
					var bg = self.css('background-image');
					var src = bg.substring(5,bg.length-2);
					var mode = (self.css('background-repeat') == 'no-repeat' ? 'crop' : 'scale');
					var styles = {
						'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='" + mode + "')",
						'background-image': 'url('+settings.shim+')'
					};
					self.css(styles);
				};
				// image elements
				if (settings.imgs && self.is('img[src$=png]')){
					var styles = {
						'width': self.width() + 'px',
						'height': self.height() + 'px',
						'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + self.attr('src') + "', sizingMethod='crop')"
					};
					self.css(styles).attr('src', settings.shim);
				};
				// apply position to 'active' elements
				if (settings.apply_positioning && self.is('a, input') && (self.css('position') === '' || self.css('position') == 'static')){
					self.css('position', 'relative');
				};
			});
		};
	});
};

//jQuery UI Dialog 1.7.1
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.1",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;
(function(c){var b={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"},a="ui-dialog ui-widget ui-widget-content ui-corner-all ";c.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");var l=this,m=this.options,j=m.title||this.originalTitle||"&nbsp;",e=c.ui.dialog.getTitleId(this.element),k=(this.uiDialog=c("<div/>")).appendTo(document.body).hide().addClass(a+m.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:m.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(n){(m.closeOnEscape&&n.keyCode&&n.keyCode==c.ui.keyCode.ESCAPE&&l.close(n))}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(n){l.moveToTop(false,n)}),g=this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(k),f=(this.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(k),i=c('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){i.addClass("ui-state-hover")},function(){i.removeClass("ui-state-hover")}).focus(function(){i.addClass("ui-state-focus")}).blur(function(){i.removeClass("ui-state-focus")}).mousedown(function(n){n.stopPropagation()}).click(function(n){l.close(n);return false}).appendTo(f),h=(this.uiDialogTitlebarCloseText=c("<span/>")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo(i),d=c("<span/>").addClass("ui-dialog-title").attr("id",e).html(j).prependTo(f);f.find("*").add(f).disableSelection();(m.draggable&&c.fn.draggable&&this._makeDraggable());(m.resizable&&c.fn.resizable&&this._makeResizable());this._createButtons(m.buttons);this._isOpen=false;(m.bgiframe&&c.fn.bgiframe&&k.bgiframe());(m.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(e){var d=this;if(false===d._trigger("beforeclose",e)){return}(d.overlay&&d.overlay.destroy());d.uiDialog.unbind("keypress.ui-dialog");(d.options.hide?d.uiDialog.hide(d.options.hide,function(){d._trigger("close",e)}):d.uiDialog.hide()&&d._trigger("close",e));c.ui.dialog.overlay.resize();d._isOpen=false},isOpen:function(){return this._isOpen},moveToTop:function(f,e){if((this.options.modal&&!f)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",e)}if(this.options.zIndex>c.ui.dialog.maxZ){c.ui.dialog.maxZ=this.options.zIndex}(this.overlay&&this.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=++c.ui.dialog.maxZ));var d={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++c.ui.dialog.maxZ);this.element.attr(d);this._trigger("focus",e)},open:function(){if(this._isOpen){return}var e=this.options,d=this.uiDialog;this.overlay=e.modal?new c.ui.dialog.overlay(this):null;(d.next().length&&d.appendTo("body"));this._size();this._position(e.position);d.show(e.show);this.moveToTop(true);(e.modal&&d.bind("keypress.ui-dialog",function(h){if(h.keyCode!=c.ui.keyCode.TAB){return}var g=c(":tabbable",this),i=g.filter(":first")[0],f=g.filter(":last")[0];if(h.target==f&&!h.shiftKey){setTimeout(function(){i.focus()},1)}else{if(h.target==i&&h.shiftKey){setTimeout(function(){f.focus()},1)}}}));c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();this._trigger("open");this._isOpen=true},_createButtons:function(g){var f=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();(typeof g=="object"&&g!==null&&c.each(g,function(){return !(d=true)}));if(d){c.each(g,function(h,i){c('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(h).click(function(){i.apply(f.element[0],arguments)}).hover(function(){c(this).addClass("ui-state-hover")},function(){c(this).removeClass("ui-state-hover")}).focus(function(){c(this).addClass("ui-state-focus")}).blur(function(){c(this).removeClass("ui-state-focus")}).appendTo(e)});e.appendTo(this.uiDialog)}},_makeDraggable:function(){var d=this,f=this.options,e;this.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(){e=f.height;c(this).height(c(this).height()).addClass("ui-dialog-dragging");(f.dragStart&&f.dragStart.apply(d.element[0],arguments))},drag:function(){(f.drag&&f.drag.apply(d.element[0],arguments))},stop:function(){c(this).removeClass("ui-dialog-dragging").height(e);(f.dragStop&&f.dragStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}})},_makeResizable:function(g){g=(g===undefined?this.options.resizable:g);var d=this,f=this.options,e=typeof g=="string"?g:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",alsoResize:this.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:f.minHeight,start:function(){c(this).addClass("ui-dialog-resizing");(f.resizeStart&&f.resizeStart.apply(d.element[0],arguments))},resize:function(){(f.resize&&f.resize.apply(d.element[0],arguments))},handles:e,stop:function(){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();(f.resizeStop&&f.resizeStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_position:function(i){var e=c(window),f=c(document),g=f.scrollTop(),d=f.scrollLeft(),h=g;if(c.inArray(i,["center","top","right","bottom","left"])>=0){i=[i=="right"||i=="left"?i:"center",i=="top"||i=="bottom"?i:"middle"]}if(i.constructor!=Array){i=["center","middle"]}if(i[0].constructor==Number){d+=i[0]}else{switch(i[0]){case"left":d+=0;break;case"right":d+=e.width()-this.uiDialog.outerWidth();break;default:case"center":d+=(e.width()-this.uiDialog.outerWidth())/2}}if(i[1].constructor==Number){g+=i[1]}else{switch(i[1]){case"top":g+=0;break;case"bottom":g+=e.height()-this.uiDialog.outerHeight();break;default:case"middle":g+=(e.height()-this.uiDialog.outerHeight())/2}}g=Math.max(g,h);this.uiDialog.css({top:g,left:d})},_setData:function(e,f){(b[e]&&this.uiDialog.data(b[e],f));switch(e){case"buttons":this._createButtons(f);break;case"closeText":this.uiDialogTitlebarCloseText.text(f);break;case"dialogClass":this.uiDialog.removeClass(this.options.dialogClass).addClass(a+f);break;case"draggable":(f?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(f);break;case"position":this._position(f);break;case"resizable":var d=this.uiDialog,g=this.uiDialog.is(":data(resizable)");(g&&!f&&d.resizable("destroy"));(g&&typeof f=="string"&&d.resizable("option","handles",f));(g||this._makeResizable(f));break;case"title":c(".ui-dialog-title",this.uiDialogTitlebar).html(f||"&nbsp;");break;case"width":this.uiDialog.width(f);break}c.widget.prototype._setData.apply(this,arguments)},_size:function(){var e=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var d=this.uiDialog.css({height:"auto",width:e.width}).height();this.element.css({minHeight:Math.max(e.minHeight-d,0),height:e.height=="auto"?"auto":Math.max(e.height-d,0)})}});c.extend(c.ui.dialog,{version:"1.7.1",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1000},getter:"isOpen",uuid:0,maxZ:0,getTitleId:function(d){return"ui-dialog-title-"+(d.attr("id")||++this.uuid)},overlay:function(d){this.$el=c.ui.dialog.overlay.create(d)}});c.extend(c.ui.dialog.overlay,{instances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(d){return d+".dialog-overlay"}).join(" "),create:function(e){if(this.instances.length===0){setTimeout(function(){c(document).bind(c.ui.dialog.overlay.events,function(f){var g=c(f.target).parents(".ui-dialog").css("zIndex")||0;return(g>c.ui.dialog.overlay.maxZ)})},1);c(document).bind("keydown.dialog-overlay",function(f){(e.options.closeOnEscape&&f.keyCode&&f.keyCode==c.ui.keyCode.ESCAPE&&e.close(f))});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var d=c("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});(e.options.bgiframe&&c.fn.bgiframe&&d.bgiframe());this.instances.push(d);return d},destroy:function(d){this.instances.splice(c.inArray(this.instances,d),1);if(this.instances.length===0){c([document,window]).unbind(".dialog-overlay")}d.remove()},height:function(){if(c.browser.msie&&c.browser.version<7){var e=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var d=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(e<d){return c(window).height()+"px"}else{return e+"px"}}else{return c(document).height()+"px"}},width:function(){if(c.browser.msie&&c.browser.version<7){var d=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var e=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(d<e){return c(window).width()+"px"}else{return d+"px"}}else{return c(document).width()+"px"}},resize:function(){var d=c([]);c.each(c.ui.dialog.overlay.instances,function(){d=d.add(this)});d.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);;

//jQuery UI Accordion 1.7.3
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.3",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(j,k){return this.each(function(){if(!k){if(!j||c.filter(j,[this]).length){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")})}}return i.call(c(this),j,k)})},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;
(function(a){a.widget("ui.accordion",{_init:function(){var d=this.options,b=this;this.running=0;if(d.collapsible==a.ui.accordion.defaults.collapsible&&d.alwaysOpen!=a.ui.accordion.defaults.alwaysOpen){d.collapsible=!d.alwaysOpen}if(d.navigation){var c=this.element.find("a").filter(d.navigationFilter);if(c.length){if(c.filter(d.header).length){this.active=c}else{this.active=c.parent().parent().prev();c.addClass("ui-accordion-content-active")}}}this.element.addClass("ui-accordion ui-widget ui-helper-reset");if(this.element[0].nodeName=="UL"){this.element.children("li").addClass("ui-accordion-li-fix")}this.headers=this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){a(this).removeClass("ui-state-focus")});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");this.active=this._findActive(this.active||d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");a("<span/>").addClass("ui-icon "+d.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);if(a.browser.msie){this.element.find("a").css("zoom","1")}this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(e){return b._keydown(e)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();if(!this.active.length){this.headers.eq(0).attr("tabIndex","0")}else{this.active.attr("aria-expanded","true").attr("tabIndex","0")}if(!a.browser.safari){this.headers.find("a").attr("tabIndex","-1")}if(d.event){this.headers.bind((d.event)+".accordion",function(e){return b._clickHandler.call(b,e,this)})}},destroy:function(){var c=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");this.headers.find("a").removeAttr("tabindex");this.headers.children(".ui-icon").remove();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(c.autoHeight||c.fillHeight){b.css("height","")}},_setData:function(b,c){if(b=="alwaysOpen"){b="collapsible";c=!c}a.widget.prototype._setData.apply(this,arguments)},_keydown:function(e){var g=this.options,f=a.ui.keyCode;if(g.disabled||e.altKey||e.ctrlKey){return}var d=this.headers.length;var b=this.headers.index(e.target);var c=false;switch(e.keyCode){case f.RIGHT:case f.DOWN:c=this.headers[(b+1)%d];break;case f.LEFT:case f.UP:c=this.headers[(b-1+d)%d];break;case f.SPACE:case f.ENTER:return this._clickHandler({target:e.target},e.target)}if(c){a(e.target).attr("tabIndex","-1");a(c).attr("tabIndex","0");c.focus();return false}return true},resize:function(){var e=this.options,d;if(e.fillSpace){if(a.browser.msie){var b=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}d=this.element.parent().height();if(a.browser.msie){this.element.parent().css("overflow",b)}this.headers.each(function(){d-=a(this).outerHeight()});var c=0;this.headers.next().each(function(){c=Math.max(c,a(this).innerHeight()-a(this).height())}).height(Math.max(0,d-c)).css("overflow","auto")}else{if(e.autoHeight){d=0;this.headers.next().each(function(){d=Math.max(d,a(this).outerHeight())}).height(d)}}},activate:function(b){var c=this._findActive(b)[0];this._clickHandler({target:c},c)},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===false?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,f){var d=this.options;if(d.disabled){return false}if(!b.target&&d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var h=this.active.next(),e={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:h},c=(this.active=a([]));this._toggle(c,h,e);return false}var g=a(b.currentTarget||f);var i=g[0]==this.active[0];if(this.running||(!d.collapsible&&i)){return false}this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");if(!i){g.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);g.next().addClass("ui-accordion-content-active")}var c=g.next(),h=this.active.next(),e={options:d,newHeader:i&&d.collapsible?a([]):g,oldHeader:this.active,newContent:i&&d.collapsible?a([]):c.find("> *"),oldContent:h.find("> *")},j=this.headers.index(this.active[0])>this.headers.index(g[0]);this.active=i?a([]):g;this._toggle(c,h,e,i,j);return false},_toggle:function(b,i,g,j,k){var d=this.options,m=this;this.toShow=b;this.toHide=i;this.data=g;var c=function(){if(!m){return}return m._completed.apply(m,arguments)};this._trigger("changestart",null,this.data);this.running=i.size()===0?b.size():i.size();if(d.animated){var f={};if(d.collapsible&&j){f={toShow:a([]),toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}else{f={toShow:b,toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}if(!d.proxied){d.proxied=d.animated}if(!d.proxiedDuration){d.proxiedDuration=d.duration}d.animated=a.isFunction(d.proxied)?d.proxied(f):d.proxied;d.duration=a.isFunction(d.proxiedDuration)?d.proxiedDuration(f):d.proxiedDuration;var l=a.ui.accordion.animations,e=d.duration,h=d.animated;if(!l[h]){l[h]=function(n){this.slide(n,{easing:h,duration:e||700})}}l[h](f)}else{if(d.collapsible&&j){b.toggle()}else{i.hide();b.show()}c(true)}i.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();b.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(b){var c=this.options;this.running=b?0:--this.running;if(this.running){return}if(c.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""})}this._trigger("change",null,this.data)}});a.extend(a.ui.accordion,{version:"1.7.3",defaults:{active:null,alwaysOpen:true,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(j,h){j=a.extend({easing:"swing",duration:300},j,h);if(!j.toHide.size()){j.toShow.animate({height:"show"},j);return}if(!j.toShow.size()){j.toHide.animate({height:"hide"},j);return}var c=j.toShow.css("overflow"),g,d={},f={},e=["height","paddingTop","paddingBottom"],b;var i=j.toShow;b=i[0].style.width;i.width(parseInt(i.parent().width(),10)-parseInt(i.css("paddingLeft"),10)-parseInt(i.css("paddingRight"),10)-(parseInt(i.css("borderLeftWidth"),10)||0)-(parseInt(i.css("borderRightWidth"),10)||0));a.each(e,function(k,m){f[m]="hide";var l=(""+a.css(j.toShow[0],m)).match(/^([\d+-.]+)(.*)$/);d[m]={value:l[1],unit:l[2]||"px"}});j.toShow.css({height:0,overflow:"hidden"}).show();j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(f,{step:function(k,l){if(l.prop=="height"){g=(l.now-l.start)/(l.end-l.start)}j.toShow[0].style[l.prop]=(g*d[l.prop].value)+d[l.prop].unit},duration:j.duration,easing:j.easing,complete:function(){if(!j.autoHeight){j.toShow.css("height","")}j.toShow.css("width",b);j.toShow.css({overflow:c});j.complete()}})},bounceslide:function(b){this.slide(b,{easing:b.down?"easeOutBounce":"swing",duration:b.down?1000:200})},easeslide:function(b){this.slide(b,{easing:"easeinout",duration:700})}}})})(jQuery);;




function BuildingPhase()
{

if ($('div.popupForGallery').length>1){
	$('div.popupForGallery:first').remove();
}

if ($('div.ad-gallery').length>1){
	$('div.ad-gallery:first').remove();
}


$('div#liPopup li a').click(function() {
	var idLink = this.id; 
	var num = idLink.indexOf(";");
	idLink = idLink.substr(0, num);

	var idMansion = this.id; 
	var num2 = idMansion.indexOf(";");
	idMansion = idMansion.substr(num2+1, idMansion.length-num2);

  		$.get('/AJAX/GetConstructionNews.aspx?ForPopup=1&ProjectNewsId='+idLink+'&MansionId='+ idMansion +'&page.id=6337', function(data) {
  		 	$('#popupConstructionState').html(data);
		 	InitGalleryForBP(idMansion);
		 	CopyImages();
                 	initPopup();
			return false;
		});
	return false;
});
return false;
}





function InitAccardeon()
{
	$( "#infraAccordion" ).accordion({
		collapsible: true,
       		autoHeight:false,
		active: false
	});
}


var markers;  
var directionsDisplay;
var inframap;
var infowindows;
var objects;
var home;
var directionsService;
var polyline;
var overlay;
var printFromPoint;
var printToPoint;
var printFromAddr;
var printToAddr;

function LoadInfrastructureObjects()
{
     var elementSetID = document.getElementById("infraSetID");
     var set_id = elementSetID.value;


     if (window.XMLHttpRequest)
     {// code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
     }
     else
     {// code for IE6, IE5
           xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
     xmlhttp.onreadystatechange=function()
     {
         if (xmlhttp.readyState==4 && xmlhttp.status==200)
         {
            InitObjects(xmlhttp.responseText);
         }
     }
     xmlhttp.open("GET","/ajax/GetRegionInfrastructureObjects.aspx?SetId=" + set_id, true);
     xmlhttp.send();
}

  function InfrastructureMapInit()
  {
     var elementHouseX = document.getElementById("infraCoordX");
     var houseX = elementHouseX.value;

     var elementHouseY = document.getElementById("infraCoordY");
     var houseY = elementHouseY.value;

     var elementAddress = document.getElementById("infraAddress");
     var address = elementAddress.value;

     var elementPhoto = document.getElementById("infraPhoto");
     var photo = elementPhoto.value;
     

    printToAddr = address;
    home = new google.maps.LatLng(houseX, houseY);
    var myOptions = {
      zoom: 14,
      center: home,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      scaleControl : true,
     mapTypeControl:false,
    streetViewControl:false

    };

    inframap = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);
    var marker = new google.maps.Marker({
	map: inframap,
	icon: photo,
	position: home,
	zIndex:2
    });
    google.maps.event.addListener(marker, 'mouseover', function() {
	    this.setZIndex(0);
    });
    google.maps.event.addListener(marker, 'mouseout', function() {
	    this.setZIndex(2);
    });

    directionsDisplay = new google.maps.DirectionsRenderer();
    directionsDisplay.setMap(inframap);
    directionsService = new google.maps.DirectionsService();

    polyline = new google.maps.Polyline({
		path: [],
		strokeColor: '#0000FF',
		strokeWeight: 5,
	        strokeOpacity: 0.45
	});
  }
    
  function trim(string)
  {
     return string.replace(/(^\s+)|(\s+$)/g, "");
  }

  function InitObjects(infrastructure)
  {	
	infrastructure = trim(infrastructure);
	if(infrastructure.length == 0)
		return;
	objects = Array();
	markers = Array();
	infowindows = Array();
	var object_info = infrastructure.substr(0, infrastructure.length - 1).split("|");
         for(var i = 0; i < object_info.length; i++) 
         { 
             var item = object_info[i].split(";"); 
             var object =  
              { 
                  popuptext : trim(item[0]), 
                  address : trim(item[1]), 
                  photo :trim(item[2]), 
                  coordX : trim(item[3]), 
                  coordY : trim(item[4]),
		id: trim(item[5])
             }; 
	    var content =  GetContentInfo(object);
	    
             var latlng = new google.maps.LatLng(object.coordX, object.coordY);

             var marker = new google.maps.Marker({
		map: inframap,
		icon: "/upload/images/" + object.photo,
		position: latlng,
		html: content,
		zIndex:1
	    });
	    google.maps.event.addListener(marker, 'mouseover', function() {
		    this.setZIndex(3);
	    });
	    google.maps.event.addListener(marker, 'mouseout', function() {
		    this.setZIndex(1);
	    });

            var infowindow = new google.maps.InfoWindow({
	    });
	    infowindow.id = object.id;
	    infowindow.content = content;
	    markers.push(marker);
	    google.maps.event.addListener(marker, 'click', function() {
                 CloseInfoWindows();
 		 infowindow.setContent(this.html);
		 infowindow.setPosition(this.position);
		 infowindow.maxWidth = 300;
       	         infowindows.push(infowindow);
		 infowindow.open(inframap);
	    });
            objects.push(object); 

         } 
         var filter = "";
         ShowInfrastructure(filter);
	//AutoCenter();
  }
  function AutoCenter() 
  {
	var bounds = new google.maps.LatLngBounds();
	//  Go through each...
	$.each(markers, function (index, marker) {
	bounds.extend(marker.position);
	});
	//  Fit these bounds to the map
	inframap.fitBounds(bounds);
	inframap.setZoom(inframap.getZoom() + 1);
  }
  function GetPathToHome(coordX, coordY, address)
  {
	var start = new google.maps.LatLng(coordX, coordY);
	var request = 
	{
  	  origin:start, 
   	  destination: home,
 	  travelMode: google.maps.DirectionsTravelMode.WALKING
	};
	printFromAddr = address;
	directionsService.route(request, function(result, status) 
	{
    		if (status == google.maps.DirectionsStatus.OK)
		{
     			var path = result.routes[0].overview_path;
			var distance = result.routes[0].legs[0].distance.text;
                        var from = printFromAddr;
			var to = printToAddr;
                        var message = "Длина маршрута от <strong>" + from + "</strong> до <strong>" + to + "</strong> - " + distance;
			var element = document.getElementById("ui-infra-message-text");
			element.innerHTML = message;
			var printdiv = document.getElementById("ui-infra-print-container");
			printdiv.style.display = "block";
			polyline.setPath(path);
			polyline.setMap(inframap);
			printFromPoint = start;
			printToPoint = home;
    		}
	});
  }


function printInfraMap() 
{
	$.post("/ajax/prepare_print_data.aspx", { fromXCoord: printFromPoint.lat(), fromYCoord: printFromPoint.lng(), fromName: printFromAddr, 
toXCoord: printToPoint.lat(), toYCoord: printToPoint.lng(), toName: printToAddr},
	function(data) {
	window.open('/ajax/print_map.aspx', '_blank', 'fullscreen,status=yes');
	return false;
	});
  	return false;
} 

  function GetContentInfo(object)
  {
	var content = '<div class="insideinfowindow bold-text">' + object.popuptext + '</div>';
	content += '<div  class="insideinfowindow">' + object.address + '</div>';
	content += '<div class="infoimagecontainer insideinfowindow">';
        content += '<img onclick="GetPathToHome(' + object.coordX + ',' + object.coordY + ',' + "'" + object.address + "'" +');" src="img/walking-button.gif" class="infoimage" />';
	content += '<a href="javascript:void(0);" onclick="GetPathToHome(' + object.coordX + ',' + object.coordY + ',' + "'" + object.address + "'" +'); return false;">Проложить маршрут</a>';
	content += '</div>';
	return content;
  }

  function ShowPopupById(id)
  {
        CloseInfoWindows();
        for(var i = 0; i < objects.length; i++)
	{
	    if(objects[i].id == id)
	    {
		var content = GetContentInfo(objects[i]);
		var infowindow = new google.maps.InfoWindow({	});
		infowindow.setContent(content);
		var latlng = new google.maps.LatLng(objects[i].coordX, objects[i].coordY);
		infowindow.setPosition(latlng);
	        infowindows.push(infowindow);
		infowindow.open(inframap);
		break;
	    }
	}

  }
  function ShowInfrastructure(filter)
  {
      polyline.setMap(null);
      if(filter == "")
      {
      	for(var i = 0; i < markers.length; i++)
      	{
	    markers[i].setVisible(true);
      	}
	InitAccardeon();
      }
      else
      {
	for(var i = 0; i < markers.length; i++)
      	{
	    if(markers[i].icon == filter)
	    {		
		markers[i].setVisible(true);
	    }
             else
	    {
		markers[i].setVisible(false);
            }
      	}

      }
      CloseInfoWindows();
      
  }

  function CloseInfoWindows()
  {
      for(var i = 0; i < infowindows.length; i++)
      {
          infowindows[i].close();
      }
      infowindows = Array();
  }

var mouse_x = 0;
var mouse_y = 0;

document.onmousemove =
	function (e) {
		if ((e) && (e.target) && (e.target.tagName.toLowerCase() == 'option')) return;
		var htmls = document.getElementsByTagName('html');
		if ((!document.body) || (htmls.length < 1)) return;
		if (document.all) {
			mouse_x = event.clientX;
			mouse_y = event.clientY;
			if ((event.srcElement) && (event.srcElement.tagName) && (event.srcElement.tagName.toLowerCase() == 'select')) mouse_y += 30;
		} else if (document.getElementById){
			mouse_x = e.clientX;
			mouse_y = e.clientY;
		} else if (document.layers) {
			mouse_x = e.x;
			mouse_y = e.y;
		} // end if
        mouse_x += document.body.scrollLeft || htmls[0].scrollLeft;
        mouse_y += document.body.scrollTop || htmls[0].scrollTop;
	} // end event

function CheckAsyncRequest(id) {
	var cursor = document.getElementById('hour-glass' + id);
	if (cursor) {
		if (ajax_wait_message) alert(ajax_wait_message);
		return false;
	} else {
		return true;
	} // end if
} // end function

function StartAsyncRequest(id) {
	var cursor = document.getElementById('hour-glass' + id);
	if (cursor) {
		if (ajax_wait_message) alert(ajax_wait_message);
		return false;
	} else {
		cursor = document.createElement('DIV');
		cursor.id = 'hour-glass' + id;
		cursor.className = ajax_cursor_class_name;
		if ((mouse_x) && (mouse_y)) {
			cursor.style.left = (mouse_x + parseInt((cursor_x_shift) ? cursor_x_shift : 0)) + 'px';
			cursor.style.top = (mouse_y + parseInt((cursor_y_shift) ? cursor_y_shift : 0)) + 'px';
		} // end if
		if (ajax_cursor_html) cursor.innerHTML = ajax_cursor_html;
		document.body.appendChild(cursor);
		return true;
	} // end if
} // end function

function FinishAsyncRequest(id) {
	var cursor = document.getElementById('hour-glass' + id);
	if (cursor) {
		document.body.removeChild(cursor);
	} // end if
} // end function

function HttpRequest(url, post_data, id, event, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9) {
	var req = null;
    try {
		req = new XMLHttpRequest();
	} catch(e) {
		req = null;
	} // end try
	if (!req) {
	    try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			req = null;
		} // end try
	} // end if
	if (!req) {
	    try {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			req = null;
		} // end try
	} // end if
	if (req) {
		var can_start = (id) ? StartAsyncRequest(id) : true;
		if (can_start) {
			try {
				req.onreadystatechange =
					function () {
						if (req.readyState == 4) {
							if (id) FinishAsyncRequest(id);
							if (req.status == 200) {
								if (event) event(req.responseText, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
							} else {
								alert("Пожалуйста, дождитесь загрузки данных. ");
								//var win = window.open('about:blank', 'error_window');
								//win.document.write(req.responseText);
							} // end if
						} // end if
					} // end event
				if (Math.random) url = url + (url.indexOf('?') < 0 ? '?' : '&') + 'random=' + escape(Math.random() * 100000);
				if (post_data) {
					req.open("POST", url, true);
					req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
					req.send(post_data);
				} else {
					req.open("GET", url, true);
					req.send("");
				} // end if
			} catch(e) {
				if (id) FinishAsyncRequest(id);
			} // end try
		} // end if
	} else {
		alert("Компонент, необходимый для корректной работы AJAX, отсутствует на Вашем компьютере.");
	} // end if
} // end function

function XmlRootByText(text) {
	var dom = null;
	try {
		dom = new DOMParser();
		if (dom) dom = dom.parseFromString(text, "text/xml");
		if (dom) dom = dom.documentElement;
	} catch(e) {
		dom = null;
	} // end try
	if (!dom) {
	    try {
			dom = new ActiveXObject("Msxml2.DOMDocument");
			if (!dom.loadXML(text)) dom = null;
			if (dom) dom = dom.firstChild;
		} catch(e) {
			dom = null;
		} // end try
	} // end if
	if (!dom) {
	    try {
			dom = new ActiveXObject("Microsoft.DOMDocument");
			if (!dom.loadXML(text)) dom = null;
			if (dom) dom = dom.firstChild;
		} catch(e) {
			dom = null;
		} // end try
	} // end if
	return dom;
} // end function

function GetXmlAttributeValue(node, attrName) {
	var attr;
	if ((node) && (attr = node.attributes.getNamedItem(attrName))) {
		return attr.value;
	} else {
		return "";
	} // end if
} // end function

function GetXmlNodeValue(node) {
	if ((node) && (node.text)) {
		return node.text;
	} else if ((node) && (node.firstChild) && (node.firstChild.nodeValue)) {
		return node.firstChild.nodeValue;
	} else {
		return "";
	} // end if
} // end function

function GetXmlNodeByTagName(parent, tagName) {
	if ((parent) && (parent.childNodes)) {
		var i;
		for (i = 0; i < parent.childNodes.length; i++) {
			if (parent.childNodes[i].tagName == tagName) return parent.childNodes[i];
		} // end for
	} // end if
	return null;
} // end function

function GetXmlNodesByTagName(parent, tagName) {
	if ((parent) && (parent.childNodes)) {
		return parent.getElementsByTagName(tagName);
	} else {
		return new Array();
	} // end if
} // end function

var ajax_cursor_html = '<img src="' + SitePath + 'RBI/img/hour-glass.gif" width="25" height="25" alt="Подождите...">';
var ajax_wait_message = 'Пожалуйста, подождите, пока загрузятся данные с сервера.';
var ajax_cursor_class_name = 'hour-glass';
var cursor_x_shift = -12;
var cursor_y_shift = -12;

function ProcessCommonRequest(uri, container, callback) {
	if (container) {
		var event = 
			function (result) {
				container.innerHTML = result;
                if (window.startAccordion) startAccordion();
				if (callback) callback();
			} // end event
		HttpRequest(SitePath + uri, null, 'common', event);
	} // end if
	return false;
} // end function

function addtocompare(){};

function AddPageId(uri) {
	if (uri.indexOf('?') == -1) uri += '?';
	else if ((uri.charAt(uri.length - 1) != '?') && (uri.charAt(uri.length - 1) != '&')) uri += '&';
	uri += 'page.id=' + PageId;
	return uri;
}

function SimpleAjaxRequest(uri, ajaxId){
	HttpRequest(SitePath + AddPageId(uri), null, ajaxId, null);		
	return false;
}

function LoadPage(uri, divId) {
	var div = document.getElementById(divId);
	if (div) {
		var event = 
			function (result) {
				div.innerHTML = result;
                if (window.startAccordion) startAccordion();
				ReplaceSelects(document);
			} // end event
		HttpRequest(SitePath + AddPageId(uri), null, divId, event);		
	} // end if	
	return false;
} // end function

function LoadPage(uri, divId, callback) {
	var div = document.getElementById(divId);
	if (div) {
		var event = 
			function (result) {
				div.innerHTML = result;
                if (window.startAccordion) startAccordion();
				if (callback) eval(callback);
				ReplaceSelects(document);			
			} // end event
		HttpRequest(SitePath + AddPageId(uri), null, divId, event);		
	} // end if	
	return false;
} // end function

function GetPageByPost(form, uri, divId) {
	var div = document.getElementById(divId);
	var data = '';
	if (form) {
	    var frm = form.elements;
	    for (i = 0; i < frm.length; i++) 
	    {
		    var element = frm[i];
		    if (element.name == "") continue;
			if ( ((element.type == "checkbox") || (element.type == "radio")) &&
				!element.checked) continue;
 		    data += element.name + '=' + encodeURIComponent(element.value) + '&';
	    }		    
	}	
	if (div) {
		var event = 
			function (result) {
				div.innerHTML = result;
                		if (window.startAccordion) startAccordion();
				ReplaceSelects(document);
			} // end event
		HttpRequest(SitePath + AddPageId(uri), data, divId, event);
	} // end if
	else
		HttpRequest(SitePath + AddPageId(uri), data, 'ajax', null);
		return false;
} // end function

function StandardAjaxAction(form, ajaxUrl, ajaxId, div, alertOnSuccess) {
	var data = '';
	if (form) {
	    var frm = form.elements;
	    for (i = 0; i < frm.length; i++) 
	    {
		    var element = frm[i];
		    if (element.name == "") continue;
		    if ((element.type) && (element.type == 'password') &&
		        (element.defaultValue) && (element.defaultValue == element.value) )
		        element.value = '';
 		    data += element.name + '=' + 
 		        (((element.defaultValue) && (element.defaultValue == element.value) && (element.type) && (element.type != 'hidden')) ?
 		        '' : encodeURIComponent(element.value)) + 
 		        '&';
	    }		    
	}	
	var event = 
		function (result) {
		    var root = XmlRootByText(result);
		    var returnCode = GetXmlNodeValue(GetXmlNodeByTagName(root, 'Result'));
		    if (alertOnSuccess || (returnCode != '0'))
    	        alert(GetXmlNodeValue(GetXmlNodeByTagName(root, 'ErrorMessage')));
		    if (returnCode == '0') {
		        var successEvent = GetXmlNodeValue(GetXmlNodeByTagName(root, 'SuccessEvent'));
    	        if (div) {
					div.innerHTML = GetXmlNodeValue(GetXmlNodeByTagName(root, 'HtmlContent'));
					ReplaceSelects(div);
				}
    	        if (successEvent != '') eval(successEvent);
		    };
		} // end event
	HttpRequest(SitePath + AddPageId(ajaxUrl), data, ajaxId, event);		
	return false;
} // end function

function LoadMapPage(uri, divId, mansionId, divMap, scale) {
	var div = document.getElementById(divId);
	if (div) {
		var event = 
			function (result) {
				div.innerHTML = result;
                if (window.startAccordion) startAccordion();
				ReplaceSelects(document);
				LoadMap(mansionId, divMap, scale);
			} // end event
		HttpRequest(SitePath + AddPageId(uri), null, divId, event);		
	} // end if	
	return false;
} // end function

function ShowEmailDiv(id){
	var link = document.getElementById('sendByEmailLink'+id);
/*	link.style.visibility = "hidden";
	link.style.position = "absolute";*/
	link.style.display = "none";
	var div = document.getElementById('sendDiv'+id);
/*	div.style.visibility = "visible";
	div.style.height = "30px";*/
	div.style.display = "inline";
	return false;
}

function HideEmailDiv(id){
	var link = document.getElementById('sendByEmailLink'+id);
/*	link.style.visibility = "visible";
	link.style.position = "static";*/
	link.style.display = "inline";
	var div = document.getElementById('sendDiv'+id);
	/*div.style.visibility = "hidden";
	div.style.height = "0px";*/
	div.style.display = "none";
}  

var expandedSelect = null;
//var expandingSelect = false;

function ReplaceSelects(container) {
	var selects = container.getElementsByTagName('select');
	for (var i = 0; i < selects.length; i++) {
		if (!selects[i].replaced) {
			var div = document.createElement('div');
			div.className = selects[i].className;// + ' collapsed';
//			var arrowDiv = document.createElement('div');
	//		arrowDiv.className = "select_arrow collapsed";
			//div.appendChild(arrowDiv);
			div.select = selects[i];
			if (selects[i].id) div.id = selects[i].id + 'replaced';
			div.link = document.createElement('a');
			div.link.href = '#';
			div.link.className = 'button';
			
			if (selects[i].options.length > 0){
				if (selects[i].selectedIndex == -1) selects[i].selectedIndex = 0;
				div.link.innerHTML = selects[i].options[selects[i].selectedIndex].text;
			}
			div.link.onclick =
				function (e) {
					var container = this.parentNode;
					toggleSelect(container);
					if (!e) e = event;
					e.cancelBubble = true;
					return false;
				} // end event
			div.appendChild(div.link);
			div.popup = document.createElement('p');
			div.popup.style.display = 'none';
			for (var j = 0; j < selects[i].options.length; j++) {
				var item = document.createElement('a');
				item.innerHTML = selects[i].options[j].text;
				item.href = '#';
				item.option = selects[i].options[j];
				item.container = div;
				item.onclick =
					function () {
						this.option.selected = true;
						this.container.link.innerHTML = this.innerHTML;
						if (this.container.select.onchange) this.container.select.onchange();
						collapseSelect();
						return false;
					} // end event
				div.popup.appendChild(item);
			} // end for
			div.appendChild(div.popup);
			selects[i].style.display = 'none';
			selects[i].parentNode.insertBefore(div, selects[i]);
			selects[i].replaced = true;
		} // end if
	} // end for
} // end function

function collapseSelect(){
	if (expandedSelect) {
//		expandedSelect.className = expandedSelect.className.replace('expanded', 'collapsed');
		expandedSelect.style.position = 'static';
		expandedSelect.popup.style.display = 'none';
	}
	expandedSelect = null;
}
function expandSelect(select){
//	select.className = select.className.replace('collapsed', 'expanded');
	select.style.position = 'relative';
	select.popup.style.display = 'block';
	expandedSelect = select;
}
function isExpanded(select){
	return expandedSelect == select;
}
function toggleSelect(select){
	if (isExpanded(select)) {
		collapseSelect(); 
	} else {
		collapseSelect(); 
		expandSelect(select);
	}
}


function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}
/*
var ReplaceAllSelects =
	function () {
		ReplaceSelects(document);
	} // end event
addLoadEvent(ReplaceAllSelects);
*/
$(document).ready(function () {
	ReplaceSelects(document);
});
	
document.onclick =
	function () {
		collapseSelect();
	} // end event
	
div = false;
var searchFormExpanded;
function enableImageCache(){
	/*Use Object Detection to detect IE6*/
	var  m = document.uniqueID /*IE*/
	&& document.compatMode  /*>=IE6*/
	&& !window.XMLHttpRequest /*<=IE6*/
	&& document.execCommand ;
	
	try{
		if(!!m){
			m("BackgroundImageCache", false, true) /* = IE6 only */ 
		}
		
	}catch(oh){};
};

document.onmouseclick = function (e) {
	if (div) {
		div.style.display="none";
	}
	return false;
}
window.onresize = function(){
 return PopupResize();
}
window.onscroll = function(){
 return PopupResize();
}
/*
var timeout;
var activeMenuItem;
function expandMenu() {
	var uls = activeMenuItem.getElementsByTagName("UL");
	for (var i = 0; i < uls.length; i++) 
		uls[i].style.display = 'block';
	timeout = null;
}
function collapseMenu() {
	var uls = activeMenuItem.getElementsByTagName("UL");
	for (var i = 0; i < uls.length; i++) 
		uls[i].style.display = 'none';			
	timeout = null;
}
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("TD");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover = function() {
			if(timeout) window.clearTimeout(timeout);
			else {
				activeMenuItem = this;
				timeout = window.setTimeout(expandMenu, 50);
			}
		}
		sfEls[i].onmouseout = function() {
			activeMenuItem = this;
			timeout = window.setTimeout(collapseMenu, 50);
		}
	}
}
*/
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("TD");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover = function() {
			var uls = this.getElementsByTagName("UL");
			for (var i = 0; i < uls.length; i++) 
				uls[i].style.display = 'block';
		}
		sfEls[i].onmouseout = function() {
			var uls = this.getElementsByTagName("UL");
			for (var i = 0; i < uls.length; i++) 
				uls[i].style.display = 'none';			
		}
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);
if (window.attachEvent) window.attachEvent("onload", enableImageCache);

function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

function PopupResize() {
	var popup = document.getElementById("popup_bg");
	var body = document.getElementById("body");
	if (popup && body) {
		popup.style.height = body.clientHeight;
		popup.style.width = body.clientWidth;
	}
}

function PopupClose() {
	var popup2 = document.getElementById("popup_container_2");
	var bg = document.getElementById("popup_bg");
	if (popup2) {
		popup2.parentNode.removeChild(popup2);
		if(bg)
			bg.style.zIndex = 400;		
	} else {
		var container = document.getElementById("popup_container");
		if(bg)
			bg.style.display = "none";
		container.style.display = "none";	
	}

// Added for MAP-page (Objects)
	var cont_desc = document.getElementById("contact_description");
	if(cont_desc && bg)
		bg.style.display = "none";

	var popup_estate = document.getElementById("popup_left_part");
	if(popup_estate && bg)
		bg.style.display = "none";

	var bg_stroitel = document.getElementById("popup_bg_stroitel");
	if(bg_stroitel)
		bg_stroitel.style.display = "none";
	
	var city_new_select = document.getElementById("city_new");
	if(city_new_select)
		city_new_select.style.display='block';	
}
function PopupOpen() {
	var city_new_select = document.getElementById("city_new");
	if(city_new_select)
		city_new_select.style.display='none';

	var bg = document.getElementById("popup_bg");
	var scrollAmount = window.pageYOffset ? window.pageYOffset : document[(document.compatMode == 'CSS1Compat') ? 'documentElement' : 'body'].scrollTop;
	var popup2 = document.getElementById("popup_container_2");
	if (popup2) {
		popup2.style.display = "block";
		if (scrollAmount < 0) scrollAmount = 0;
	    popup2.style.top = scrollAmount + 'px';
		bg.style.zIndex = 550;
	} else {
		var popup = document.getElementById("popup_container");
		popup.style.display = "block";
		if (scrollAmount < 0) scrollAmount = 0;
	    popup.style.top = scrollAmount + 'px';
		return PopupResize();
	}
} // end function

// New function. Added to make black background on MAP-page (Objects)
function PopupShow() {
	var popup = document.getElementById("popup_bg_stroitel");
	popup.style.display = "block";
	ResizeBGStroitel();
}
function ResizeBGStroitel() {
	var popup_str = document.getElementById("popup_bg_stroitel");
	var body = document.getElementById("body");
	if (popup_str && body) {
		popup_str.style.height = body.clientHeight + "px";
		popup_str.style.width = body.clientWidth + "px";
	}
}

/*function PopupClose() {
	bg = document.getElementById("popup_bg");
	container = document.getElementById("popup_container");
	bg.style.display = "none";
	container.style.display = "none";	
}
function PopupOpen(left) {
	var bg = document.getElementById("popup_bg");
	var popup = document.getElementById("popup_container");
	bg.style.display = "block";
	popup.style.display = "block";
	//popup.style.top = window.screenY + "px";
	//if(left>0)popup.style.left = (window.innerWidth/2 - 250 ) + "px";
	var scrollAmount = window.pageYOffset ? window.pageYOffset : document[(document.compatMode == 'CSS1Compat') ? 'documentElement' : 'body'].scrollTop;
    popup.style.top = scrollAmount + 'px';
	return PopupResize();
} // end function 
*/

function SelectClick(i , id) {
	var selects_container = document.getElementById("select_items" + id);
	var select_items = selects_container.getElementsByTagName("LI");
	for (k=0; k < select_items.length; k++) {
			select_items[k].style.position="static";
	}
	var selected_item = document.getElementById("select_item_" + i);
	selected_item.style.position="relative";
	var options_container = document.getElementById("select_options_" + i);
	options_container.style.display="block";
	div = options_container;
}
function ChangeValue(id, item) {
	var select_value = document.getElementById("select_value_" + id);
	select_value.innerHTML = item.text;
	if (div) {
		div.style.display="none";
	}
	return false;
}
/*scroller*/
document.onmousemove = function (e) {
		if (document.all) {
			mouse_x = event.clientX;
			mouse_y = event.clientY;
			if ((event.srcElement) && (event.srcElement.tagName) && (event.srcElement.tagName.toLowerCase() == 'select')) mouse_y += 30;
		} else if (document.getElementById){
			mouse_x = e.clientX;
			mouse_y = e.clientY;
		} else if (document.layers) {
			mouse_x = e.x;
			mouse_y = e.y;
		} // end if
		if (window.pageXOffset) {
			mouse_x += window.pageXOffset;
			mouse_y += window.pageYOffset;
		} else {
			var html = document.getElementsByTagName('html')[0];
			mouse_x += html.scrollLeft;
			mouse_y += html.scrollTop;
		} // end if
		moveIt();
		moveCt();
	} // end event

input_y = false;

//---------------------------------------------calculator----------------------------------------------------
input_cr = false;

function startCredit(div, min_value, max_value,  data_input) {
	input_cr = true;
	min = min_value*1;
	max = max_value*1;
	input = div;
	inputval = input.value.toString().replaceAll(' ','')*1;
	
	data = document.getElementById(data_input);
		
	if (IsNumeric(inputval) && inputval <= max && inputval >= min)//if everything is correct
	{			
		data.style.left = ((inputval-min)/(max-min))*data.parentNode.offsetWidth - data.offsetWidth/2 + "px";
		input.value=formatCurrency(inputval);
	}
	else if (IsNumeric(inputval) && inputval < min)//if input is integer and less then min value
  {   
	  	//document.getElementById('checksubmit').value='false';	
	  	inputval=min;
		data.style.left = ((inputval-min)/(max-min))*data.parentNode.offsetWidth - data.offsetWidth/2 + "px";    
		input.value=formatCurrency(min);
  }
	else if (IsNumeric(inputval) && inputval > max) //if input is integer and greater than max value	
	{
        //document.getElementById('checksubmit').value='false';		
		inputval=max;
		data.style.left = ((inputval-min)/(max-min))*data.parentNode.offsetWidth - data.offsetWidth/2 + "px";			
		input.value=formatCurrency(max);
	}
	else // if input is not an integer
	{    
		//document.getElementById('checksubmit').value='false';		  
		inputval=max;
        data.style.left = ((inputval-min)/(max-min))*data.parentNode.offsetWidth - data.offsetWidth/2 + "px";		
		input.value=formatCurrency(max);
	}
	var saveandclose = document.getElementById("SaveAndClose");
	saveandclose.disabled = false;
}

document.onchange = function () {
	input_cr = false;
}

input_credit = false;

function startCt(div, min_value, max_value,  data_input) {
	input_credit = true;
	min = min_value*1;
	max = max_value*1;

	input = div;
	old_mouse_position = mouse_x;
	old_input_position = input.offsetLeft;
	left_mouse_border = old_mouse_position - input.offsetLeft - input.offsetWidth/2;
	right_mouse_border = left_mouse_border + input.parentNode.offsetWidth ;
	data = document.getElementById(data_input);
	//var saveandclose = document.getElementById("SaveAndClose");
	//saveandclose.disabled = false;
}

function moveCt() {
	if (input_credit) {
		current_mouse_position = mouse_x;
		if (current_mouse_position <= left_mouse_border ) {
			input.style.left = - input.offsetWidth/2 + "px";
			data.value = formatCurrency(min);
		} else {
			if (current_mouse_position <= right_mouse_border) {
				dX = current_mouse_position - old_mouse_position;
				input.style.left = old_input_position + dX + "px";
				data.value =formatCurrency(min + Math.round((max-min)*((old_input_position + input.offsetWidth/2+ dX)/(input.parentNode.offsetWidth))));
			} else {
				input.style.left = input.parentNode.offsetWidth - input.offsetWidth/2 + "px";
				data.value = formatCurrency(max);
			}
		}
	}
}
//---------------------------------------------end calculator----------------------------------------------------


function startDrag() {
	input_y = true;
	old_mouse_position = mouse_y; 
	input = document.getElementById('scroll');
	old_input_position = input.offsetTop;
	top_mouse_border = old_mouse_position - input.offsetTop;
	bottom_mouse_border = top_mouse_border + input.parentNode.offsetHeight - input.offsetHeight;
	table = document.getElementById('ConstructionState');
	k = (table.offsetHeight - 264)/ (input.parentNode.offsetHeight - input.offsetHeight);
}

function showScroll() {
	input = document.getElementById('scroll');
	table = document.getElementById('ConstructionState');
	if (table.offsetHeight<=input.parentNode.offsetHeight) input.style.display="none";	
}

function moveIt() {
	if (input_y) {
		current_mouse_position = mouse_y;
		if (current_mouse_position <= top_mouse_border ) {
			input.style.top = 0;
			table.style.top = -3+"px";
		} else {
			if (current_mouse_position <= bottom_mouse_border) {
				dX = current_mouse_position - old_mouse_position;
				input.style.top = old_input_position + dX + "px";
				table.style.top = - (input.offsetTop) * k -3  + "px";
			} else {
				input.style.top = input.parentNode.offsetHeight - input.offsetHeight + "px";
				table.style.top = - (input.parentNode.offsetHeight - input.offsetHeight)* k -3  + "px";
			}
		}
	}
}

document.onmouseup = 
function () {
	input_y = false;
	input_credit = false;//for calculator
}

menu_status = new Array();
function showHide(theid){
    if (document.getElementById) {
    var switch_id = document.getElementById('myresult' + theid);
        if(menu_status[theid] != 'show') {
           switch_id.className = 'show';
           menu_status[theid] = 'show';
        }else{
           switch_id.className = 'hide';
           menu_status[theid] = 'hide';
        }
    }
}
//============================additional===============================
function ajax_preload(id) 
{
    var div = document.getElementById(id);
	div.innerHTML = 'Загрузка данных...';
}

function extsearch(act) 
{
	if (act=='show') 
	{
		document.getElementById('divextarea').style.display='block';
		document.getElementById('divextprice').style.display='block';	
		//document.getElementById('showext').style.display='none';
		//document.getElementById('hideext').style.display='block';
		
		suitform(document.getElementById('estate').value);	
	}
	else
	{
		document.getElementById('divextarea').style.display='none';
		document.getElementById('divextprice').style.display='none';
		//document.getElementById('showext').style.display='block';
		//document.getElementById('hideext').style.display='none';		
	}	
    return false;	
}

function checkext() {
	if (document.getElementById('divextarea').style.display=='none')
	{
		document.getElementById('minarea').disabled='disabled';
		document.getElementById('maxarea').disabled='disabled';			
	}
	if (document.getElementById('divextprice').style.display=='none')
	{			
		document.getElementById('minprice').disabled='disabled';
		document.getElementById('maxprice').disabled='disabled';
	
	}    
}


function suitform(val) {
	if (val==document.getElementById('Flat').value){//Kvartira
	    //document.getElementById('divmansion').style.display='none';
		document.getElementById('divroom').style.display='block';
		if (document.getElementById('divextprice').style.display=='block') {
		    document.getElementById('divextarea').style.display='block';
		}
		if (document.getElementById('cb_div')) {
			document.getElementById('cb_div').style.display = 'block';
		}
		document.getElementById('estatetype').value = 'Flat';
	}
	if (val==document.getElementById('Office').value) {//Magazin/Office
		document.getElementById('divroom').style.display='none';
		//document.getElementById('divmansion').style.display='none';
		if (document.getElementById('divextprice').style.display=='block') {
		    document.getElementById('divextarea').style.display='block';
		}
		if (document.getElementById('cb_div')) {
			document.getElementById('cb_div').style.display = 'none';
		}

		document.getElementById('estatetype').value = 'Office';
	}
	if (val==document.getElementById('Garage').value) {//Garaj	
	    document.getElementById('divextarea').style.display='none';
		//document.getElementById('divmansion').style.display='block';
		document.getElementById('divroom').style.display='none';
		if (document.getElementById('cb_div')) {
			document.getElementById('cb_div').style.display = 'none';
		}

		document.getElementById('estatetype').value = 'Garage';
	}	
}

var CanSaveAs = 0;
function SaveUrlToDisk(url){
	CanSaveAs = 1;
	var newWindow = window.open(url, '_blank');
	return false;
}

function LoadFlash(mansionId, estateType, debug)
{
/*
	var flashvars = {};
	flashvars.configUri = encodeURIComponent(SitePath + AddPageId('AJAX/GetBuildingXml.aspx?MansionId=' + mansionId + '&EstateType=' + estateType + (debug ? '&debug=1' : '')));
	flashvars.localConfig = 0;
	var params = {};
	params.allowscriptaccess = 'always';
	params.wmode = 'transparent';
	var attributes = {};
	swfobject.embedSWF(SitePath + "sevgorod/img/flash/viewer.swf", "flash", "484", "202", "8", '', flashvars, params, attributes);
*/
	var flashvars = {};
		flashvars.floor_is = '5';
		flashvars.flat_is = '7';
		flashvars.configUrl = encodeURIComponent(SitePath + AddPageId('AJAX/GetBuildingXml.aspx?MansionId=' + mansionId + '&EstateType=' + estateType + (debug ? '&debug=1' : '')));
		flashvars.localConfig = 0;
	var params = {};
	var attributes = {};
	swfobject.embedSWF(SitePath + "sevgorod/img/flash/viewer.swf", "flash", "484", "202", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
}
/*
function LoadFlash(mansionId, estateType, debug, stub)
{
	if (stub) 	{
		var oldFlashDiv = document.getElementById("flash");
		var parentDiv = oldFlashDiv.parentNode;
		var flashDiv = document.createElement('DIV');
		flashDiv.className = 'flash';
		flashDiv.id = 'flash';
		var p = document.createElement('P');
		p.innerHTML = 'К сожалению, для данного дома 3D-модель пока недоступна.';
		p.className = 'res_descr';
		flashDiv.appendChild(p);
		parentDiv.replaceChild(flashDiv, oldFlashDiv);
	} else {
		var flashvars = {};
		flashvars.configUri = encodeURIComponent(SitePath + AddPageId('AJAX/GetBuildingXml.aspx?MansionId=' + mansionId + '&EstateType=' + estateType + (debug ? '&debug=1' : '')));
		flashvars.localConfig = 0;
		var params = {};
		params.allowscriptaccess = 'always';
		params.wmode = 'transparent';
		var attributes = {};
		swfobject.embedSWF(SitePath + "rbi/img/flash/viewer.swf", "flash", "484", "202", "8", '', flashvars, params, attributes);
	}
}
*/

function LoadFlash(mansionId, estateType, debug, flat, floor)
{
	var flashvars = {};
		flashvars.floor_is = floor;
		flashvars.flat_is = flat;
		flashvars.configUrl = encodeURIComponent(SitePath + AddPageId('AJAX/GetBuildingXml.aspx?MansionId=' + mansionId + '&EstateType=' + estateType + (debug ? '&debug=1' : '')));
		flashvars.localConfig = 0;
	var params = {};
	var attributes = {};
	swfobject.embedSWF(SitePath + "sevgorod/img/flash/viewer.swf", "flash", "484", "202", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
}

function selectFlat(flatId) {
	LoadPage('AJAX/GetProjectPlan.aspx?estateid=' + flatId, 'ProjectPlan');
	LoadPage('AJAX/GetEstateConclusion.aspx?estateid=' + flatId, 'EstateConclusion');
	LoadPage('AJAX/GetEstateServiceLinks.aspx?DspServiceLinks.Action=estate&DspServiceLinks.ProjectId=' + flatId, 'EstateService');
	var input = document.getElementById("SaveAndClose");
	input.disabled = false;
	return false;
}

String.prototype.replaceAll = function(strTarget, strSubString)
{//Replaces all the occurrences of second string in first string
	var strText = this;
	var intIndexOfMatch = strText.indexOf( strTarget );

	while (intIndexOfMatch != -1){
		strText = strText.replace( strTarget, strSubString )	
		intIndexOfMatch = strText.indexOf( strTarget );
	}
	
	return( strText );
}//end replaceAll

//rating
function hiderate(id) {
   document.getElementById(id).style.display='none';
}

function showrate(id) {
   pid = id.toString().split("_")[1]; //id of the estate
      
   var displaybool = true;
   var ratedlist = document.getElementById('ratedlist');
   if (ratedlist) {
   var rl = document.getElementById('ratedlist').value.split('_');     
      
   for (var k=0;k<rl.length - 1;k++)
   {
   	  if (rl[k] == pid) {
   	  	 displaybool = false;   	
   	  }
   }   
   }
   
   if (displaybool) {  
       document.getElementById(id).style.display='block';
   }
}


function rateon(val)
{
	star = val.toString().split("_")[1]; //rating value
  pid = val.toString().split("_")[0]; //id of the project
	
	for (var k=1; k<=star*1; k++)
	{
		 document.getElementById(pid + '_' + k).className = "staron";  
	}
	
	for (var k=5; k>star*1; k--)
	{
		 document.getElementById(pid + '_' + k).className = "staroff";  
	}		
}
	
function rateit(val) {
   star = val.toString().split("_")[1]; //rating value
   pid = val.toString().split("_")[0]; //id of the estate   
   var ratedlist = document.getElementById('ratedlist');
   if (ratedlist) ratedlist.value += pid + '_';
   document.getElementById('r_' + pid).style.display='none';   
   return LoadPage('AJAX/VotingBlock.aspx?CurrentItemID=' + pid + '&IncNumber=' + star, 'rated_' + pid);
}
//end rating

//============================additional===============================
function FindNextItem(item) {
	var current = item.parentNode.nextSibling;
	while (current && (current.nodeType != 1))
		current = current.nextSibling;
		
	if (item.checked) {		
		current.style.display = "";
	} else {
		CheckboxItems = current.getElementsByTagName("input");
		for (i=0; i < CheckboxItems.length; i++) {
			CheckboxItems[i].checked = false;
		}
		current.style.display = "none";
		
	}
}

var map;
function LoadMap(mansionId, divMap, scale){
	if (GBrowserIsCompatible()) {
	map = new GMap2(document.getElementById(divMap));
	var map_ctrl=new GLargeMapControl();
	var map_type_ctrl=new GMapTypeControl();
	var map_scale_ctrl=new GScaleControl();
	map.addControl(map_ctrl);
	map.addControl(map_type_ctrl);
	map.addControl(map_scale_ctrl);
	for (i=0; i < mansionCoords.length; i++){
		if (mansionCoords[i].content_item_id != mansionId) continue;
		var point = new GLatLng(mansionCoords[i].coordX, mansionCoords[i].coordY);
		map.setCenter(point, scale);			
	}
	for (i=0; i < mansionCoords.length; i++){
		var point = new GLatLng(mansionCoords[i].coordX, mansionCoords[i].coordY);
		var building = new GMarker(point, {title:mansionCoords[i].name});
		building.caption = "<b>"+ mansionCoords[i].name + "</b><br>" + mansionCoords[i].message;
		GEvent.addListener(building, "click", function() {this.openInfoWindowHtml(this.caption);});
		map.addOverlay(building);
	}
	}
}
function ChangeMapCenter(coordX, coordY, scale){

	if (GBrowserIsCompatible()){
		var point = new GLatLng(coordX, coordY);
		map.setCenrer(point, scale);
	}
}

var PasswordMask = "^\\w{6,}$";
var EmailMask = "^[a-z0-9\\._-]+@([a-z0-9-]+\\.)+[a-z0-9-]+$";
function SubmitRegistration(form) {
	var result = '';
	result += RequiredFieldCheck(form.Country, 'Страна');
	result += RequiredFieldCheck(form.City, 'Город');
	result += RequiredFieldCheck(form.FirstName, 'Имя');
	result += RequiredFieldCheck(form.LastName, 'Фамилия');
	result += RequiredFieldCheck(form.Email, 'E-mail');
	result += FieldCheck(form.Email, EmailMask, 'E-mail', '');
	result += RequiredFieldCheck(form.Login, 'Логин');
	result += RequiredFieldCheck(form.Password, 'Пароль');
	result += FieldCheck(form.Password, PasswordMask, 'Пароль', ': пароль должен состоять из латинских букв и цифр и быть не менее шести символов');
	result += ConfirmationCheck(form.ConfirmPassword, form.Password, 'Подтверждение пароля');
	result += DateCheck(form.Day, form.Month, form.Year);
	result += RequiredFieldCheck(form.AntiBot, 'Код-антибот');
	if ( !result )
	{
		return true;
	}
	else
	{
		var div = document.getElementById('ErrorsList');
		div.innerHTML = result + '<br />';
		div.scrollIntoView();
		return false;
	}
}
function SubmitProfile(form) {
	var result = '';
	result += RequiredFieldCheck(form.Country, 'Страна');
	result += RequiredFieldCheck(form.City, 'Город');
	result += RequiredFieldCheck(form.FirstName, 'Имя');
	result += RequiredFieldCheck(form.LastName, 'Фамилия');
	result += RequiredFieldCheck(form.Email, 'E-mail');
	result += FieldCheck(form.Email, EmailMask, 'E-mail', '');
	result += DateCheck(form.Day, form.Month, form.Year);
	if (form.Password.value) {
		result += FieldCheck(form.Password, PasswordMask, 'Пароль', ': пароль должен состоять из латинских букв и цифр и быть не менее шести символов');
		result += ConfirmationCheck(form.ConfirmPassword, form.Password, 'Подтверждение пароля');
	}
	if ( !result )
	{
		return true;
	}
	else
	{
		var div = document.getElementById('ErrorsList');
		div.innerHTML = result + '<br />';
		div.scrollIntoView();
		return false;
	}
}
function FeedbackSend(form) {
	var result = '';
	result += RequiredFieldCheck(form.Theme, 'Тема');
	result += RequiredFieldCheck(form.Text, 'Текст');
	var divName = document.getElementById('Name');
	if (divName != null)
		result += RequiredFieldCheck(form.Name, 'Имя');
	var divEmail = document.getElementById('Email');
	if (divEmail != null)
	{
		result += RequiredFieldCheck(form.Email, 'E-mail');
		result += FieldCheck(form.Email, EmailMask, 'E-mail', '');
	}
	if ( !result )
	{
		return true;
	}
	else
	{
		var div = document.getElementById('ErrorsList');
		div.innerHTML = result + '<br />';
		div.scrollIntoView();
		return false;
	}
}
function RequiredFieldCheck(input, FieldName) {
	var result = input.value ? '' : 'Поле &quot;' + FieldName + '&quot; не заполнено<br />';
	return result; 
}
function FieldCheck(input, mask, FieldName, FillError) {
	var RegMask = new RegExp(mask, 'i');
	var result = ''
	if (input.value) {
		result = RegMask.test(input.value) ? '' : 'Неверный ввод в поле &quot;' + FieldName + '&quot;' + FillError + '<br />';
	}
	return result;
}
function ConfirmationCheck(input, password, FieldName) {
	var result = '';
	if ((password.value) && (!FieldCheck(password, PasswordMask))) {
		if (input.value != password.value) {
			result = input.value ? 'Неверное подтверждение пароля<br />' :  'Поле &quot;' + FieldName + '&quot; не заполнено<br />';
		}
	}
	return result;
}
function  DateCheck(day, month, year) {
	var result = '';
	result += RequiredFieldCheck(day, 'День рождения');
	result += month.value != '0' ? '' : 'Выберите месяц рождения из списка "Месяц рождения"<br />';
	result += RequiredFieldCheck(year, 'Год рождения');
	return result;
}

function ChangeSelect(iddiv,nameselect,idselect,from,to,nameclass,listoption,step,disable)
{
	var ChangeDiv = document.getElementById(iddiv);
	if(!ChangeDiv) return;
	if(disable == 1)return;

	if(listoption)var ArrayOption = listoption.split(',');
		   else var ArrayOption = new Array(1,2,3,4,5);

	var n=0;
	//var Select = "<select name='" + nameselect + "' id='" + idselect + "' class='" + nameclass + "' onchange=\"suitform(this.value);StandardAjaxAction(document.getElementById('Otbor'),'ajax/SearcheChangeSelects.aspx','changeform','divroom');\" >"+
		//	    "<option value=\"\">---</option>";
	var Select = document.createElement('SELECT');
	Select.name = nameselect;
	Select.id = idselect;
	Select.className = nameclass;
	Select.onchange = function(){
		suitform(this.value);
		StandardAjaxAction(this.form, 'ajax/SearcheChangeSelects.aspx', 'changeform');
	};
	var Option = document.createElement('OPTION');
	Option.innerHTML = "---";
	Select.appendChild(Option);
	var Value='';
	for(var i= 0;i<ArrayOption.length;i++)
	{
		if(ArrayOption[i]>1000)Value = ChangeItemValue(ArrayOption[i]);
						  else Value = ArrayOption[i];
		
		if((ArrayOption[i]>=from) && (ArrayOption[i]<to))
		{
			Option = document.createElement('OPTION');
			Option.innerHTML = Value;
			Option.value = ArrayOption[i];
			Select.appendChild(Option);
			//Select +='<option value="'+ ArrayOption[i] + '">' + Value + '</option>';
			n = 1;
		}
			else
		{
			if((ArrayOption[i]<=from)&&(ArrayOption[i+1]>from) && (step == 1) && (n == 0)) {
				Option = document.createElement('OPTION');
				Option.innerHTML = Value;
				Option.value = ArrayOption[i];
				Select.appendChild(Option);
			}
			//Select +='<option value="'+ ArrayOption[i] + '">' + Value + '</option>';

			if((n == 1) || ArrayOption[i]>to)
			{
				if (step == 2) {
					Option = document.createElement('OPTION');
					Option.innerHTML = Value;
					Option.value = ArrayOption[i];
					Select.appendChild(Option);
				}
					//Select +='<option value="'+ ArrayOption[i] + '">' + Value + '</option>';
				break;
			}
		}
	}

	ChangeDiv.style.visibility = "hidden";
	ChangeDiv.innerHTML = "";
	ChangeDiv.appendChild(Select);
	ReplaceSelects(ChangeDiv);
	ChangeDiv.style.visibility = "visible";
}

function ChangeTwoSelects(iddiv,nameselect,nameselect2,idselect,idselect2,from,to,nameclass,listoptions,n)
{
	if(n==2||!n)ChangeSelect(iddiv,nameselect,idselect,from,to,nameclass,listoptions,1);
	if(n==1||!n)ChangeSelect(iddiv+'2',nameselect2,idselect2,from,to,nameclass,listoptions,2);
}

function ChangeItemValue(ValueItem)
{
	var NewValue = '';
	var n = 0;
	
	for(var i=ValueItem.length;i>0;i--)
	{
		NewValue = ValueItem.charAt(i-1) + NewValue;
		
		if(n<2)n++;
		  else { n=0; NewValue = ' ' + NewValue;}
	}
	
	return NewValue;
}

function SetMonthVisibility(){
	var monthContainer = document.getElementById("monthContainer");
	if (document.forms['subscribeForm'].PaymentSubscriptionType[0].checked){
		monthContainer.style.display = 'none';
	}
	else{
		monthContainer.style.display = '';
	}
}

function fillDaysSelect(){
	var oldSelreplaced = document.getElementById("paymentsubscriptiondayidreplaced");
	if (oldSelreplaced != null) oldSelreplaced.parentNode.removeChild(oldSelreplaced);
	
	var oldSel = document.getElementById("paymentsubscriptiondayid");
	var selcontainer = oldSel.parentNode;
	var selname = oldSel.name;
	var selIndex = oldSel.selectedIndex;
	
	oldSel.parentNode.removeChild(oldSel);
	
	var sel = document.createElement("select");
	sel.id = "paymentsubscriptiondayid";
	sel.className = 'select_small';
	sel.name = selname;
	selcontainer.appendChild(sel);
	
	while (sel.options.length) {
		sel.options[0] = null;
	}
	
	var numOfDays;
	if (document.getElementById("month1").checked){
		numOfDays = 28;
	}
	else{
		numOfDays = 30;
	}
	
	for(var i=1; i<=numOfDays; i++){
		var oOption = document.createElement("option");
		oOption.text=i;
		oOption.value=i;
		sel.options.add(oOption, i-1);
	}
	if (selIndex != -1) sel.selectedIndex = selIndex;
	if (!sel.replaced && oldSelreplaced != null) ReplaceSelects(selcontainer);
}

function SetPaymentInfoDivVisibility(){
	var paymentInfoDiv = document.getElementById("PaymentInfoDiv");
	var check = document.getElementById("paymentCheckId");
	if(check.checked){
		paymentInfoDiv.style.display='';
	}
	else{
		paymentInfoDiv.style.display='none';
	}
}

function DeselectAllSubscription(){
	document.getElementById("paymentCheckId").checked=false;
	var containerBuilding = document.getElementById("smsSubscriptionTypeBuildingContainer");
	var checks = containerBuilding.getElementsByTagName("input");
	for (var i=0; i< checks.length; i++){
		if (checks[i].type = 'checkbox'){
			checks[i].checked = false;
		}	
	}
}

function SubmitPhone(form){
	var result = '';
	result += RequiredFieldCheck(form.Phone, 'Телефон');
	if ( !result )
	{
		return true;
	}
	else
	{
		var div = document.getElementById('ErrorsList');
		div.innerHTML = result + '<br />';
		return false;
	}
}

function allowDigits(key) {
		//Tab, backspace, enter, home, end, delete, F5 keys and digits are allowed
		return key == 8 || key == 9 || key == 13 || key == 35 || key == 36 || key == 46 || 
		(key > 36 && key < 41) || (key > 47 && key < 58) || (key > 95 && key < 106) || key == 116;
}

function reset_podbor(ph){
	var html = $.ajax({
		type: "GET",
		url: ph,
		dataType: "html",
		async: false
	});
	$("#search").html(html.responseText);
	$.each($("#search > div"), function(i, n){ReplaceSelects(n);});
	$.each($("#search > ul > li"), function(i, n){ReplaceSelects(n);});
	suitform(document.getElementById(estatetype).value);
}

function reset_podbor_catalog(ph){
	var html = $.ajax({
		type: "GET",
		url: ph,
		dataType: "html",
		async: false
	});
	$("#sf").html(html.responseText);
	$.each($("#sf > div"), function(i, n){ReplaceSelects(n);})
	//document.getElementById('estate').onchange();
	suitform(document.getElementById(estatetype).value);
	StandardAjaxAction(document.getElementById('sf'),'ajax/SearcheChangeSelects.aspx?action=estate','changeform');
}
/*
$(document).ready(function () {
	$("#clear_button").click(function(){
		reset_podbor('/ajax/clearform.aspx?estatetype='+estatetype);
	});
});
*/

$(document).ready(function() {

	$("#jq-popup").dialog({
		bgiframe: true,
		modal: true,
		autoOpen: false
	});
	
	ChangeNumberOfOptions();
	SplitMansionTitle();

});

var alreadyLoaded={};
function ImgZoomWindow(imgUrl){
	if(imgUrl!=null && imgUrl!=""){
		$('#jq-popup').html("<img src=\""+imgUrl+"\" />");
		$('#jq-popup').dialog('open');
		if(!alreadyLoaded[imgUrl]){
			$('#jq-popup').dialog('close');
			setTimeout("$('#jq-popup').dialog('open');",1000);
			alreadyLoaded[imgUrl]=true;
		}
	}
}

// Class ModalDialog begin
function ModalDialog(paramsHash){
	var parameters;
	// Constructor begin
	function Constructor(ph){
		parameters=ph;
		var p="no option";
		if(true==IsAnyOptionsInMyList()){
			p="compare";
		}else{
		}
		ModalDialog.popupElement=$("<div id=\"modal-dialog\">"+DialogText(p)+"</div>");
		$("#flash").css("display", "none");
		ModalDialog.popupElement.dialog(DialogParameters(p));
    ModalDialog.counter++;
	}
	Constructor(paramsHash);
	// Constructor end
	
	function IsAnyOptionsInMyList(){
		return (myListItemsCount>0 ? true : false);
	}
	
	function DialogText(p){
		var res="";
		switch(p){
			case "no option":
					//res="В «Моем списке» нет ни одного решения. Вы уверены, что хотите покинуть страницу с подробным описанием квартир?";
					res="Вы не сохранили ни одного варианта в «Мой список».<br/><br/>Вы уверены, что хотите покинуть страницу с подробным описанием квартир?";
				break;
			case "compare":
				res="В «Списке выбранного» "+myListItemsCount+" квартиры. Хотите сравнить эти варианты?";
				break;
			default:
				break;
		}
		return res;
	}
	
	function DialogParameters(p){
		var res={};
		switch(p){
			case "no option":
				res = {
					dialogClass : "modal-dialog popup-on-close",
					modal : false, 
					title : "\"Мой список\" пуст",
					buttons : {
						"Да, закрыть окно" : function(){
							$(this).dialog('close');
							PopupClose();
							isPopupActive=false;
						}, 
						"Нет, я хочу сохранить вариант" : function(){
							SaveOptionToMyList();
							$(this).dialog('close');
							$("#flash").css("display", "");
							isPopupActive=false;
						}
					}
				}
				break;
			case "compare":
				res = {
					dialogClass : "modal-dialog popup-on-close",
					modal : false, 
					title : "Сравнить варианты? ",
					buttons : {
						"Нет, я хочу посмотреть другие дома" : function(){
							$(this).dialog('close');
							PopupClose();
							isPopupActive=false;
						}, 
						"Да, перейти к \"Моему выбору\"" : function(){
							GoToMyList();
							$(this).dialog('close');
							PopupClose();
							isPopupActive=false;
						}
					}
				}
				break;
			default:
				break;
		}
		return res;
	}
	
	function SaveOptionToMyList(){
		AddSolutionToMyList(parameters.projectId);
	}

	function GoToMyList(){
		window.location="/mycabinet/mylist";
	}
}
ModalDialog.popupElement=null;
ModalDialog.counter=0;
// Class ModalDialog end

function AddSolutionToMyList(projectId,elem){
	//StandardAjaxAction(null,'AJAX/AddToMyList.aspx?PopUp=1&ProjectId='+projectId,'RemoveFromMyList',document.getElementById('MyListLink'+isPopupActive?"PopUp":"")+projectId,true);
	StandardAjaxAction(null,'AJAX/AddToMyList.aspx?PopUp=1&ProjectId='+projectId,'RemoveFromMyList',document.getElementById("MyListLink"+(isPopupActive?"PopUp":"")+projectId),true);
	myListItemsCount++;
	ChangeNumberOfOptions();
}

function RemoveSolutionFromMyList(projectId){
	var p2='AJAX/AddToMyList.aspx?PopUp=1&Remove=1&ProjectId='+projectId;
	var p4=document.getElementById("MyListLink"+(isPopupActive?"PopUp":"")+projectId);
	StandardAjaxAction(null,p2,'AddToMyList',p4,true);
	myListItemsCount--;
	ChangeNumberOfOptions();
}

function GetMyListItemsCount(){
  GetJson();
}

function GetJson(){
	$.getJSON(
		"http://sevgorod.stage.quantumart.ru/ajax/mylistdata.aspx?format=json&getdata=mylistcount&"+userID+"&"+Math.round(Math.random()), 
		function(_data){
			myListItemsCount=_data;
		}
	);
}

//
// Блок функций для изменения значений в пункте меню "Мой список"
//

function ChangeNumberOfOptions(){
	var a=$("#nav > tbody > tr > td > div > a:[href='"+SitePath+"mycabinet/mylist/']");
	if(a.length==0){
		a=$("#nav > tbody > tr > td > div > a:[title='Мой список']");
	}
	var span=$(a).find("span");
	var optionsNumber=myListItemsCount;
	var spanText=" ("+(optionsNumber)+" "+_variantov_(optionsNumber)+")";
	if(span.length==0){
		var span=$("<span style=\"font-size: 7pt; clear: both ! important; display: block;\">"+spanText+"</span>");
		$(a).css("padding-top", "0");
		$(span).appendTo($(a));
	}else{
		$(span).text(spanText);
	}
}


//
// Функция для переноса названия дома по словам в столбце "Дом" на странице Сравнения
//

function SplitMansionTitle()
{

var a = new Array();
$('.MansionTitle').each(function(){
	var ht = $(this).html().replace(' ','<br>');
	$(this).html(ht) ;
	});

}



function GetOptionsNumber_localVersion(){
	return (Math.round(Math.random()*1000));
}

function GetOptionsNumber(){
	return myListItemsCount;
}

function _variantov_(number){
	var res="вариант";
	strNumber=number.toString();
	var digits=strNumber[strNumber.length-1];
	var teens=strNumber.length>1?strNumber[strNumber.length-2]:0;
	if(1==digits && 1!=teens){
		res+="";//вариант
	}else if(digits>1 && digits<5 && teens!=1){
		res+="а";//варианта
	}else{
		res+="ов";//вариантов
	}
	return res;
}

function Delay(iMs){ // iMs=[number TimeInMilliSeconds]
    var iStart=new Date;
    while(new Date-iStart<iMs);
}

/*
 * Dialog class
*/
function Dialog(paramsHash){
	
	var popupNode;
	
	function Constructor(ph){
		if(ph.dlgParams.dialogClass){
			popupNode=$("."+ph.dlgParams.dialogClass).children(".ui-dialog-content");
			popupNode.html(DialogText(ph));
			popupNode.dialog("open");
		}
		if(!popupNode.length || popupNode.length!=1){
			popupNode=$("<div id=\"modal-dialog-"+Dialog.index+"\">"+DialogText(ph)+"</div>");
			popupNode.dialog(DialogParameters(ph));
		}
	}
	Constructor(paramsHash);
	
	function DialogText(ph){
		var res="";
		if(ph.content.src){
			var url=ph.content.src;
			if(ph.content.local && ph.content.local==true){
			}else{
				url=SitePath+url;
			}
			var resp=$.ajax({
				url : url, 
				async : false
			});
			if(ph.content.jqSelector){
				res=$(ph.content.jqSelector,resp.responseText);
			}else{
        //var respT=res.responseText;//.split('"').join('\\"');
				//res=$(res.responseText.replaceAll("\u0009","").replaceAll("\u000A","").replaceAll("\u000D","").replace(/^\s+|\s+$/g, '').replaceAll("\"", "'").replaceAll("<!--[CDATA[","").replaceAll("]]-->",""));
				res=resp.responseText;
			}
			if(ph.content.fromOldPopup && ph.content.fromOldPopup==true){
				res=$("HtmlContent",res).html();
				try{
					res=res.replace("<!--[CDATA[","");
				}catch(ex){}
				try{
					res=res.replace("]]-->","");
				}catch(ex){}
				res="<div class=\"popup\">"+$(".popup",res)[0].innerHTML+"</div>";
			}else{
				if(ph.content.xmlNode){
					if(ph.content.xmlNode.name){
						res=$(ph.content.xmlNode.name,res);
					}else if(ph.content.xmlNode.id){
						res=$("#"+ph.content.xmlNode.name,res);
					}else if(ph.content.xmlNode.klass){
						res=$("."+ph.content.xmlNode.name,res);
					}
					if(ph.content.xmlNode.index){
						res=$(res)[ph.content.xmlNode.index];
					}else{
						res=$(res)[0].innerHTML;
					}
				}
				if(ph.content.wrapWith){
					var startWrap="",endWrap="";
					if(ph.content.wrapWith.tagName){
						startWrap="<"+ph.content.wrapWith.tagName;
						endWrap="</"+ph.content.wrapWith.tagName+">";
						for(var i in ph.content.wrapWith){
							if(i!='tagName'){
								startWrap+=" "+i+"=\""+ph.content.wrapWith[i]+"\"";
							}
						}
						startWrap+=">";
					}
					res=$(startWrap+"\n\t"+res.html()+"\n"+endWrap);
				}
				if(res.jquery){
					res=res.html();
				}
			}
		}
		return res;
	}
	
	function DialogParameters(ph){
		var res={};
		var _default={
			dialogClass:"modal-dialog",
			modal:true, 
			//title:"Test title. Dialog "+Dialog.index,
			autoOpen:true, 
			open: function(event, ui){
				//Возможно, лучше поменять местами по значению эти переменные
				Dialog.counter++;
				Dialog.index++;
				ReplaceSelects(document);
				HideFlash();
			}, 
			close: function(event, ui) {
				Dialog.counter--;
				ShowFlash();
			}
		}
		if(ph.dlgParams){
			res=ph.dlgParams;
		}
		res=$.extend(_default,res);
		return res;
	}
	
	function HideFlash(){
		$("#flash").css("visibility", "hidden");
	}

	function ShowFlash(){
		if(Dialog.counter==0){
			$("#flash").css("visibility", "visible");
		}
	}
}
Dialog.index=0;
Dialog.counter=0;

//Added by Anton Grinberg function for changing button in popup ( from add to delete and back)
function ChangeButton(state)
{
	
	el = document.getElementById("AddRemoveToList");
	if(el)
	{
		if(state == 1)
		{	
			var clickF = new String(el.attributes["onclick"].value);
			clickF = clickF.replace("ChangeButton(1)","ChangeButton(0)");

			clickF = clickF.replace(/AddSolutionToMyList/,"RemoveSolutionFromMyList");

			el.setAttribute("onclick", clickF);
			el.innerHTML = "<img src  = \"img/EstatePopup_deleteFromMyListButton.gif\"/>";
		}
		else
		{
			var clickF = new String(el.attributes['onclick'].value);

			clickF = clickF.replace("ChangeButton(0)","ChangeButton(1)");

			clickF = clickF.replace(/RemoveSolutionFromMyList/, "AddSolutionToMyList");
			
			el.setAttribute("onclick", clickF);
			el.innerHTML = "<img src  = \"img/EstatePopup_addToMyListButton.gif\"/>";
		}
	}
	else
		alert("no element");

}

function IsNumeric(sText) //check if input is integer
{               
        var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;                      

	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
	
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
        if (sText.length<1)
        {
            IsNumber = false;
        }
	return IsNumber;
}

function formatCurrency(num) 
{
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	num = Math.floor(num/100).toString();
	
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	{
	     num = num.substring(0,num.length-(4*i+3)) + ' ' + num.substring(num.length-(4*i+3));
	}
	return (((sign)?'':'-') + '' + num);
}//end formatCurrency

function OnSliderKeyPress(e)
{
	if (e.which == 13) 
		if (e.target.form.onsubmit()) e.target.form.submit();	
}
function check_form(element)
{
   var cout;
   for(i=0;i<element.length;i++)
                if(element[i].checked==true)cout=element[i].value;
 
   return cout;
}

function DisplayOrNone(element)
{
	var DivElement = document.getElementById(element);

	if(DivElement.style.display == "block")DivElement.style.display = "none";
				         else DivElement.style.display = "block";
}

var map;
var GeographyInfoRoot;
var coWorkerCompleted = false;
var MansionsScale = 13;
var Markers;
var activeMarker;

function LoadMapPage2(uri, uriXml, divId, mansionId, divMap, scale) {
	var div = document.getElementById(divMap);
	if (div) {
		var eventXml = 
			function (result) {
				GeographyInfoRoot = XmlRootByText(result);
				if (coWorkerCompleted) LoadMapOnlyImage(mansionId, divMap, scale);
				else coWorkerCompleted = true;
			};
		var event = 
			function (result) {
				div.innerHTML = result;
				PopupOpen();
				ReplaceSelects(document);
				if (coWorkerCompleted) LoadMap(mansionId, divMap, scale);
				else coWorkerCompleted = true;
			} // end event
		HttpRequest(SitePath + AddPageId(uriXml), null, null, eventXml);		
		if (coWorkerCompleted) LoadMap(mansionId, divMap, scale);
 	      			else coWorkerCompleted = true;


//		HttpRequest(SitePath + AddPageId(uri), null, divId, event);		
	} // end if
	return false;
} // end function

function LoadMapOnlyImage(mansionId, divMap, scale){
	var CurrentMansion = GetNodeById(GeographyInfoRoot, mansionId, true);
	MansionsScale = scale;
	/* Проверка на совместимость с используемым браузером*/
	if (GBrowserIsCompatible()) {
		/* Создание объекта карты, googlemap - имя, по которому находится объект карты, 	описываемый ниже*/
		map = new GMap2(document.getElementById(divMap));
		/* Создать элементы навигации, масштабную линейку */
		var map_ctrl=new GLargeMapControl();
		var map_type_ctrl=new GMapTypeControl();
		var map_scale_ctrl=new GScaleControl();
		/* Добавить элементы навигации */
		map.addControl(map_ctrl);
		/* Кнопки выбора типа карты*/
		map.addControl(map_type_ctrl);
		/* Добавить масштабную линейку */
		map.addControl(map_scale_ctrl);

		/*Центрирование карты*/
		var point = new GLatLng(CurrentMansion.getAttribute("coordX"), CurrentMansion.getAttribute("coordY"));
		map.setCenter(point, scale);
		PlacementMarkers(mansionId);
	}
}

function LoadMapPage(uri, uriXml, divId, mansionId, divMap, scale) {
	var div = document.getElementById(divId);
	if (div) {
		var eventXml = 
			function (result) {
				GeographyInfoRoot = XmlRootByText(result);
				if (coWorkerCompleted) LoadMap(mansionId, divMap, scale);
				else coWorkerCompleted = true;
			};
		var event = 
			function (result) {
				div.innerHTML = result;
				PopupOpen();
				ReplaceSelects(document);
				if (coWorkerCompleted) LoadMap(mansionId, divMap, scale);
				else coWorkerCompleted = true;
			} // end event
		HttpRequest(SitePath + AddPageId(uriXml), null, null, eventXml);		
		HttpRequest(SitePath + AddPageId(uri), null, divId, event);		
	} // end if
	return false;
} // end function

function LoadMap(mansionId, divMap, scale){
	var CurrentMansion = GetNodeById(GeographyInfoRoot, mansionId, true);
	MansionsScale = scale;
	/* Проверка на совместимость с используемым браузером*/
	if (GBrowserIsCompatible()) {
		/* Создание объекта карты, googlemap - имя, по которому находится объект карты, 	описываемый ниже*/
		map = new GMap2(document.getElementById(divMap));
		/* Создать элементы навигации, масштабную линейку */
		var map_ctrl=new GLargeMapControl();
		var map_type_ctrl=new GMapTypeControl();
		var map_scale_ctrl=new GScaleControl();
		/* Добавить элементы навигации */
		map.addControl(map_ctrl);
		/* Кнопки выбора типа карты*/
		map.addControl(map_type_ctrl);
		/* Добавить масштабную линейку */
		map.addControl(map_scale_ctrl);

		/*Центрирование карты*/
		if (CurrentMansion) {
			var point = new GLatLng(CurrentMansion.getAttribute("coordX"), CurrentMansion.getAttribute("coordY"));
			map.setCenter(point, scale);
		};
		PlacementMarkers(mansionId);
	};
	if (CurrentMansion) {
		var CurrentRegion = CurrentMansion.parentNode;
		FillSelect(CurrentRegion, 'GoogleMansionsSelect', 'Mansion', 'Mansion', CurrentMansion.getAttribute("id"), OnMansionChange);
		var CurrentCity = CurrentRegion.parentNode;
		FillSelect(CurrentCity, 'GoogleRegionsSelect', 'Region', 'Region', CurrentRegion.getAttribute("id"), OnRegionChange);
		var div = document.getElementById('CityName');
		div.innerHTML = CurrentCity.getAttribute("name");
	};
}

function CreateMap(div, centerLat, centerLong, scale) {
	if (GBrowserIsCompatible()) {
		/* Создание объекта карты, googlemap - имя, по которому находится объект карты, 	описываемый ниже*/
		map = new GMap2(document.getElementById(div));
		/* Создать элементы навигации, масштабную линейку */
		var map_ctrl=new GLargeMapControl();
		var map_type_ctrl=new GMapTypeControl();
		var map_scale_ctrl=new GScaleControl();
		/* Добавить элементы навигации */
		map.addControl(map_ctrl);
		/* Кнопки выбора типа карты*/
		map.addControl(map_type_ctrl);
		/* Добавить масштабную линейку */
		map.addControl(map_scale_ctrl);

		/*Центрирование карты*/
		if (centerLat && centerLong) {
			var point = new GLatLng(centerLat, centerLong);
			map.setCenter(point, scale);
		};
		return map;
	} else return null;
}

function PlacementMarkers(mansionId) {
	/* Создание иконки */
	var baseIcon = new GIcon();
	baseIcon.iconSize=new GSize(27,27);
	baseIcon.iconAnchor=new GPoint(13,27);
	baseIcon.infoWindowAnchor=new GPoint(13,0);

	/*Расстановка фишек*/
	var Mansions = GetXmlNodesByTagName(GeographyInfoRoot, 'house');
	Markers = new Array();
	for (i=0; i < Mansions.length; i++){
		var point = new GLatLng(Mansions[i].getAttribute("coordX"), Mansions[i].getAttribute("coordY"));
		var newIcon = new GIcon(baseIcon);
		if (Mansions[i].getAttribute("id") == mansionId)
			newIcon.image = SitePath + 'sevgorod/img/ball_active.png';
		else 
			newIcon.image = SitePath + 'sevgorod/img/ball.png';
		var building = new GMarker(point, {icon: newIcon, title: Mansions[i].getAttribute("name")});
		if (Mansions[i].getAttribute("id") == mansionId)
			activeMarker = building;		
		building.caption = "<b>"+ Mansions[i].getAttribute("name") + "</b><br>" + Mansions[i].getAttribute("message");
		building.id = Mansions[i].getAttribute("id");
		GEvent.addListener(building, "click", function() {this.openInfoWindowHtml(this.caption); OnMarkerClick(this);});
		map.addOverlay(building);
		Markers.push(building);
	}
}

function OnMarkerClick(marker){
	if (marker == activeMarker) return;
	var CurrentMansion = GetNodeById(GeographyInfoRoot, marker.id, true);
	var CurrentRegion = CurrentMansion.parentNode;
	FillSelect(CurrentRegion, 'GoogleMansionsSelect', 'Mansion', 'Mansion', CurrentMansion.getAttribute("id"), OnMansionChange);
	var CurrentCity = CurrentRegion.parentNode;
	FillSelect(CurrentCity, 'GoogleRegionsSelect', 'Region', 'Region', CurrentRegion.getAttribute("id"), OnRegionChange);
	SetActiveMarker(marker);
	LoadPage('AJAX/GetEstateConclusion.aspx?MansionId=' + CurrentMansion.getAttribute("id") + '&SimilarEstateId=' + document.getElementById('CurrentEstateId').value, 'EstateConclusion');
	/*var input = document.getElementById("SaveAndClose");
	input.disabled = false;*/
}

function ChangeMapCenter(GObject){
	if (GBrowserIsCompatible()){
		var coordX = GObject.getAttribute("coordX");
		var coordY = GObject.getAttribute("coordY");
		try {
			var scale = GOBject.getAttribute("scale");
		} catch (e) {
			scale = MansionsScale;
		}
		var point = new GLatLng(coordX, coordY);
		map.setCenter(point, scale);
	}
}

function SetCity(cityId) {
	var city = GetNodeById(GeographyInfoRoot, cityId);
	FillSelect(city, 'GoogleRegionsSelect', 'Region', 'Region', 0, OnRegionChange);
	var div = document.getElementById('CityName');
	div.innerHTML = city.getAttribute("name");
//	var region = GetNodeById(GeographyInfoRoot, document.getElementById('Region').value, true);
	FillSelect(city, 'GoogleMansionsSelect', 'Mansion', 'Mansion', 0, OnMansionChange, 'house');
	ChangeMapCenter(city);
}

function OnRegionChange(){
	var region = GetNodeById(GeographyInfoRoot, this.value, true);
	if (region != null) {
		FillSelect(region, 'GoogleMansionsSelect', 'Mansion', 'Mansion', 0, OnMansionChange);
		ChangeMapCenter(region);
	}
	else {
		var city = GetNodeById(GeographyInfoRoot, document.getElementById('PopupCity').value, true);
		FillSelect(city, 'GoogleMansionsSelect', 'Mansion', 'Mansion', 0, OnMansionChange, 'house');
	}
}

function OnMansionChange(){
	var mansionId = this.value;
	var mansion = GetNodeById(GeographyInfoRoot, mansionId, true);
	if (mansion != null) {
		ChangeMapCenter(mansion);
		//PlacementMarkers(mansion.getAttribute("id"));
		var i = 0;
		while ((i < Markers.length) && (Markers[i].id != mansionId)) i++;
		if (i < Markers.length) SetActiveMarker(Markers[i]);
		LoadPage('AJAX/GetEstateConclusion.aspx?MansionId=' + this.value + '&SimilarEstateId=' + document.getElementById('CurrentEstateId').value, 'EstateConclusion');

		$("div.wide a.button").text($('option:selected', this).text());
		$('#ui-bottom-mansion-list').val(mansionId);
		$('#ui-bottom-mansion-list').change();
		makeTraceRoute();

	}
/*	var input = document.getElementById("SaveAndClose");
	input.disabled = false;*/
}

function FillSelect(parent, divId, selectId, selectName, selectedId, onChange, tagName) {
	var select = document.createElement('select');
	select.id=selectId; select.name=selectName;
	select.className = "select"; select.onchange = onChange;
	var defaultOption = document.createElement('option');
	defaultOption.value = 1;
	defaultOption.innerHTML = "Любой";
	select.appendChild(defaultOption);
	if (parent != null) {
		var children;
		if (tagName == null)
			children = parent.childNodes;
		else
			children = parent.getElementsByTagName(tagName);
		for (var j = 0; j < children.length; j++) {
			if (children[j].nodeType == 1){
				var option = document.createElement('option');
				option.value = children[j].getAttribute("id");
				option.innerHTML = children[j].getAttribute("name");
				if (children[j].getAttribute("id") == selectedId) option.selected = 'selected';
				select.appendChild(option);
			}
		}
	}
	var div = document.getElementById(divId);
	div.innerHTML = '';
	div.appendChild(select);
	ReplaceSelects(div);
}

function GetNodeById(parent, id, deep) {
	if (!parent.childNodes) return;
	var children = parent.childNodes;
	for (var i = 0; i < children.length; i++) {
		if (children[i].nodeType == 1) {
			if (children[i].getAttribute("id") == id) return children[i];
			var result;
			if (deep) result = GetNodeById(children[i], id, true);
			if (result) return result;
		}
	}
	return;
}

function SetActiveMarker(marker){
	if ((marker != activeMarker) && GBrowserIsCompatible()) {
		marker.setImage(SitePath + 'sevgorod/img/ball_active.png');
		activeMarker.setImage(SitePath + 'sevgorod/img/ball.png');
		activeMarker = marker;
	}
}


//====================================TRACE ROUTE SCRIPT====================================
function __StringFormat()
{
	for(var i=1;i<arguments.length;i++)
	{
		var exp = new RegExp('\\{' + (i-1) + '\\}','gm');
		arguments[0] = arguments[0].replace(exp,arguments[i]);
	}
	return arguments[0];
}

if(!String.Format)
{
	String.Format = __StringFormat;
}

function onMansionItemChanged (sender) {
	//var selectedMansion = eval( "(" + sender.options[sender.selectedIndex].value + ")");
	var selectedMansion = GetNodeById(GeographyInfoRoot, sender.value, true);
	var mansion = {};
	mansion.coordX = selectedMansion.getAttribute('coordX');
	mansion.coordY = selectedMansion.getAttribute('coordY');
	mansion.address = selectedMansion.getAttribute('message');
	mansion.name = selectedMansion.getAttribute('name');
	map.setCenter(new GLatLng(mansion.coordX, mansion.coordY), 13);
	map.clearOverlays();
	addMarker(mansion);
	$('div.wide a.button').focus();
	if (typeof($('div.wide a.button').get().onkeypress) == 'undefined') {
		$('div.wide a.button').keypress(function (e) {
			if (e.keyCode == 13) {
				makeTraceRoute();
				e.preventDefault();
			}
		});
	}

	var CurrentMansion = GetNodeById(GeographyInfoRoot, sender.value, true);
	var CurrentRegion = CurrentMansion.parentNode;
	FillSelect(CurrentRegion, 'GoogleMansionsSelect', 'Mansion', 'Mansion', CurrentMansion.getAttribute("id"), OnMansionChange);
	var CurrentCity = CurrentRegion.parentNode;
	FillSelect(CurrentCity, 'GoogleRegionsSelect', 'Region', 'Region', CurrentRegion.getAttribute("id"), OnRegionChange);

	$('#ui-destination-text').html(String.Format("Проложить маршрут к &laquo;{0}&raquo;", mansion.name));
	resetForm();
}

function showErrorMessage(text) {
	$('#ui-message-text').html(text);
	if (!$('#ui-message-text').hasClass('error')) {
		$('#ui-message-text').addClass('error');
	}
}

var _from = {};

function clearDistancePanel() {
	document.getElementById('ui-distance-panel').innerHTML = '';
}

function loadTraceRoute(from, to) {
	var directions = new GDirections(map, document.getElementById('ui-distance-panel'));
	GEvent.addListener(directions, 'error', function() {
		showErrorMessage(String.Format('Ошибка при загрузке маршрута. Код ошибки: {0}', directions.getStatus().code));
	});
	GEvent.addListener(directions, 'addoverlay', function() {
		window.setTimeout('clearDistancePanel()', 10);

	});
	GEvent.addListener(directions, 'load', function() {
		$('#ui-print-link-container').show();
		showMessage(String.Format("Длина маршрута от <b>{0}</b> до <b>{1}</b> - <b>{2}</b> км", document.getElementById('ui-trace-from').value, getSelectedMansion().address, directions.getDistance().meters/1000));
		if (!$('#ui-get-route-action').hasClass('active')) {
			$('#ui-get-route-action').addClass('active');
		}
		map.clearOverlays();
		var selectedMansion = getSelectedMansion();
		addMarker(selectedMansion);
	});
	var query = 'from: ' + from + ' to: ' + to;
	directions.load(query, { travelMode: G_TRAVEL_MODE_WALKING, locale : '', preserveViewPort : false, avoidHighways: false });
}

function showMessage (text) {
	$('#ui-message-text').html(text);
	if ($('#ui-message-text').hasClass('error')) {
		$('#ui-message-text').removeClass('error');
	}
}

function getSelectedMansion() {
	var selectedMansion = GetNodeById(GeographyInfoRoot, $('#ui-bottom-mansion-list option:selected').val(), true);
	var result = {};
	result.coordX = selectedMansion.getAttribute('coordX');
	result.coordY = selectedMansion.getAttribute('coordY');
	result.address = selectedMansion.getAttribute('message');
	result.name = selectedMansion.getAttribute('name');
	return result;
/*
	var selects = document.getElementById("route-panel").getElementsByTagName('select');
	if (selects) {
		return eval( "(" + selects[0].options[(selects[0].selectedIndex)].value + ")");
	}
*/
}

function resetForm() {
	showMessage('');
	if ($('#ui-get-route-action').hasClass('active')) {
		$('#ui-get-route-action').removeClass('active');
		$('#ui-print-link-container').hide();
	}
	$('#ui-suggestion-panel span').siblings().remove();
	$('#ui-suggestion-panel').hide();
	$('div.popup_text').css('height', '700px');
}

function printMap () {
	var sm = getSelectedMansion();
	
	$.post("/ajax/prepare_print_data.aspx", { fromXCoord: _from.coordY,  fromYCoord: _from.coordX, fromName: _from.name, toXCoord: sm.coordX, toYCoord: sm.coordY, toName: sm.address},
		function(data) {
			window.open('/ajax/print_map.aspx', '_blank', 'fullscreen,status=yes');
			return false;
		}
	);
	return false;
}

function addMarker(mansion) {
	var baseIcon = new GIcon();
	baseIcon.iconSize=new GSize(27,27);
	baseIcon.iconAnchor=new GPoint(13,27);
	baseIcon.infoWindowAnchor=new GPoint(13,0);
	var point = new GLatLng(mansion.coordX, mansion.coordY);
	//var point = new GLatLng(mansion.getAttribute('coordX'), mansion.getAttribute('coordY'));

	var newIcon = new GIcon(baseIcon);
	newIcon.image = SitePath + 'sevgorod/img/ball_active.png';
	var building = new GMarker(point, {icon: newIcon, title: mansion.name});
	//var building = new GMarker(point, {icon: newIcon, title: mansion.getAttribute('name')});
	map.addOverlay(building);
}

function makeTraceRoute (sender) {
	showMessage('');
	$('#ui-suggestion-panel span').siblings().remove();
	$('#ui-suggestion-panel').hide();
	$('div.popup_text').css('height', '700px');
	if ($('#ui-get-route-action').hasClass('active')) {
		$('#ui-get-route-action').removeClass('active');
		$('#ui-print-link-container').hide();
	}
	var uiTraceFrom = document.getElementById('ui-trace-from');
	if (uiTraceFrom) {
		if (uiTraceFrom.value != '' && uiTraceFrom.value != 'Введите адрес вашего местонахождения') {
			var geocoder = new GClientGeocoder();
			/*geocoder.getLatLng(uiTraceFrom.value, function (point) {*/
			geocoder.getLocations(uiTraceFrom.value, function (point) {
				if (!point) {
					showErrorMessage(String.Format("Адрес '{0}' не найден", uiTraceFrom.value));
				} else {
					if (point.Placemark) {
						var selectedMansion = getSelectedMansion();
						map.clearOverlays();
						traceTo = String.Format("{0},{1}",selectedMansion.coordX, selectedMansion.coordY);
						//traceFrom = String.Format("{0},{1}", point.y, point.x);
						traceFrom = String.Format("{0},{1}", point.Placemark[0].Point.coordinates[1], point.Placemark[0].Point.coordinates[0]);
						_from.coordX = point.x;
						_from.coordY = point.y;
						_from.name = uiTraceFrom.value;
	
						loadTraceRoute(traceFrom, traceTo);
						if (point.Placemark.length > 1) {
							$('#ui-suggestion-panel').show();
							var suggestionContent = '';
							var popupHeight = $('div.popup_text').css('height');
							var popupHeight = popupHeight.substr(0, popupHeight.indexOf('px'));
							var popupHeight = Number(popupHeight) + 11 * point.Placemark.length + 'px';
							$('div.popup_text').css('height', popupHeight);
							for (var i = 1; i < point.Placemark.length; i++) {
								suggestionContent += String.Format('<div><a href="#">{0}</a></div>', point.Placemark[i].address);
							}
							$('#ui-suggestion-panel').append(suggestionContent);
							$('#ui-suggestion-panel div a').click(function(e){
								$('#ui-trace-from').val($(e.target).text());
								makeTraceRoute();
								e.preventDefault();
							});
						}
					} else {
						showErrorMessage(String.Format("Адрес '{0}' не найден", uiTraceFrom.value));
					}
				}
			});
		} else {
			//showErrorMessage('Вы ввели пустую строку адреса!');
		}
	}
}
function keyPress(event) {
	event = event || window.event;
	if (event.keyCode == 13) {
		makeTraceRoute();
		event.preventDefault ? event.preventDefault() : (event.returnValue = false);
	}
}
//====================================END TRACE ROUTE SCRIPT====================================
function validateinput()
{
    if (document.getElementById('bank').value == 1)
    {
        alert('Выберите банк');
        return false;
    }
   
    if (document.getElementById('credit_data').disabled)
    {
        alert('Минимальная сумма кредита банка превышает цену недвижимости');
        return false;
    }    
    
//    if (document.getElementById('checksubmit').value == 'false')
//    {
//    	  alert('Вы ввели не допустимое число');
//        document.getElementById('checksubmit').value = 'true';     	
//    	  return false;
//    }
    
    return true;
} //end popup functions

function addtocompare()
{
    var chbox = document.getElementsByName('comparelist');
    var str = '';
    for(var i=0;i<chbox.length;i++)
    {
			var checkid = document.getElementById('compstr').value.split(',');
			
			if (chbox[i].checked)
			{
					var add = true;				
			    for (var k=0;k<checkid.length - 1;k++)
			    {
						if (chbox[i].value == checkid[k])
						{
							  add = false;
							  break;
						}
					}
					if (add)
					{
					    str += chbox[i].value + ',';
					}
			}
    }
    document.getElementById('compstr').value += str;
    document.getElementById('postthis').value = document.getElementById('compstr').value;
}

function compare()
{
    addtocompare();

    var str = document.getElementById('postthis').value;

    if (str.split(',').length<3)
    {
        alert('Сравнение требует выбора минимум двух объектов');
        return false;
    }
    else {

        document.getElementById('compstr').value = '';
    }

    return true;
}

function resetcompare()
{
    document.getElementById('compstr').value = '';
}
function PreSubmit()
{
	document.getElementById('row_fio').childNodes[0].innerHTML = '';
	document.getElementById('row_tel').childNodes[0].innerHTML = '';
	document.getElementById('row_time').childNodes[0].innerHTML = '';
	document.getElementById('row_variant').childNodes[0].innerHTML = '';
	
	var fio_new = document.getElementById('fio').value;
	var tel_new = document.getElementById('tel').value;
	var time_new = document.getElementById('time').value;
	var variant_new = document.getElementById('sel_variant').value;
	var dopinfo_new = document.getElementById('dop_info').value;
	
	if(fio_new == "")
	{
		document.getElementById('row_fio').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
	}
	else if(tel_new == "")
	{
		document.getElementById('row_tel').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
	}
	else if(time_new == "")
	{
		document.getElementById('row_time').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
	}
	else if(variant_new == "")
	{
		document.getElementById('row_variant').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
	}
	else
	{
		AddCallbackForm(fio_new, tel_new, time_new, variant_new, dopinfo_new);
	}
	
/*
	var cur_dialog = document.getElementById('callback');

	var er_rows = cur_dialog.getElementsByClassName('error_td');
	for(var i = 0; i < er_rows.length; i++)
	{
		er_rows[i].childNodes[0].innerHTML = '';
	}
	var er_rows_var = cur_dialog.getElementsByClassName('error_td_variant');
	er_rows_var[0].childNodes[0].innerHTML = '';

	var fio_new = cur_dialog.getElementsByClassName('fio_input')[0].value;
	var tel_new = cur_dialog.getElementsByClassName('tel_input')[0].value;
	var time_new = cur_dialog.getElementsByClassName('time_input')[0].value;
	var variant_new = cur_dialog.getElementsByClassName('variant_input')[0].value;
	var dopinfo_new = cur_dialog.getElementsByClassName('dopinfo_input')[0].value;

	if(cur_dialog.getElementsByClassName('fio_input')[0].value == "")
	{
		er_rows[0].childNodes[0].innerHTML = 'Не заполнено обязательное поле';
	}
	else if(cur_dialog.getElementsByClassName('tel_input')[0].value == "")
	{
		er_rows[1].childNodes[0].innerHTML = 'Не заполнено обязательное поле';
	}
	else if(cur_dialog.getElementsByClassName('time_input')[0].value == "")
	{
		er_rows[2].childNodes[0].innerHTML = 'Не заполнено обязательное поле';
	}
	else if(cur_dialog.getElementsByClassName('variant_input')[0].value == "")
	{
		er_rows_var[0].childNodes[0].innerHTML = 'Не заполнено обязательное поле';
	}
	else
	{
		AddCallbackForm(fio_new, tel_new, time_new, variant_new, dopinfo_new);
	}
*/
}

function AddCallbackForm(m_fio, m_tel, m_time, m_variant, m_dopinfo)
{
	$.post("/AJAX/add_callback_message.aspx", { UserFIO: m_fio, TelEmail: m_tel, Time: m_time, SelectedVariant: m_variant, DopInfo: m_dopinfo }, function(data){
		$("#callback").parent().parent().dialog("close");
		new Dialog({content : {src : '/ajax/callback_added_success_popup.aspx' }, dlgParams : {dialogClass : 'callback-success'}});
	}
	);
}

function MainMenuModi(slovo)
{
	var all_as = document.getElementsByTagName("a");
	for(var i = 0; i < all_as.length; i++)
		if(all_as[i].title == slovo)
		{
			all_as[i].parentNode.parentNode.style.width = "100%";
			break;
		}
}


//
// Configuration
//

// If you would like to use a custom loading image or close button reference them in the next two lines.
var loadingImage = 'img/lightbox/loading.gif';		
var closeButton = 'img/lightbox/close.gif';		





//
// 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;
}


//
// 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;
	}
}

//
// 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'){ hideLightbox(); }
}


//
// listenKey()
//
function listenKey () {	document.onkeypress = getKey; }
	

//
// showLightbox()
// Preloads images. Pleaces new image in lightbox then centers and displays.
//
function showLightbox(objLink)
{
	// prep objects
	var objOverlay = document.getElementById('overlay');
	var objLightbox = document.getElementById('lightbox');
	var objCaption = document.getElementById('lightboxCaption');
	var objImage = document.getElementById('lightboxImage');
	var objLoadingImage = document.getElementById('loadingImage');
	var objLightboxDetails = document.getElementById('lightboxDetails');

	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// center loadingImage if it exists
	if (objLoadingImage) {
		objLoadingImage.style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - 35 - objLoadingImage.height) / 2) + 'px');
		objLoadingImage.style.left = (((arrayPageSize[0] - 20 - objLoadingImage.width) / 2) + 'px');
		objLoadingImage.style.display = 'block';
	}

	// set height of Overlay to take up whole page and show
	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';

	// preload image
	imgPreload = new Image();

	imgPreload.onload=function(){
		objImage.src = objLink.href;

		// center lightbox and make sure that the top and left values are not negative
		// and the image placed outside the viewport
		var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - imgPreload.height) / 2);
		var lightboxLeft = ((arrayPageSize[0] - 20 - imgPreload.width) / 2);
		
		objLightbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
		objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";


		objLightboxDetails.style.width = imgPreload.width + 'px';
		
		if(objLink.getAttribute('title')){
			objCaption.style.display = 'block';
			//objCaption.style.width = imgPreload.width + 'px';
			objCaption.innerHTML = objLink.getAttribute('title');
		} else {
			objCaption.style.display = 'none';
		}
		
		// A small pause between the image loading and displaying is required with IE,
		// this prevents the previous image displaying for a short burst causing flicker.
		if (navigator.appVersion.indexOf("MSIE")!=-1){
			pause(250);
		} 

		if (objLoadingImage) {	objLoadingImage.style.display = 'none'; }

		// Hide select boxes as they will 'peek' through the image in IE
		selects = document.getElementsByTagName("select");
        for (i = 0; i != selects.length; i++) {
                selects[i].style.visibility = "hidden";
        }

	
		objLightbox.style.display = 'block';

		// After image is loaded, update the overlay height as the new image might have
		// increased the overall page height.
		arrayPageSize = getPageSize();
		objOverlay.style.height = (arrayPageSize[1] + 'px');
		
		// Check for 'x' keypress
		listenKey();

		return false;
	}

	imgPreload.src = objLink.href;
	
}





//
// hideLightbox()
//
function hideLightbox()
{
	// get objects
	objOverlay = document.getElementById('overlay');
	objLightbox = document.getElementById('lightbox');

	// hide lightbox and overlay
	objOverlay.style.display = 'none';
	objLightbox.style.display = 'none';

	// make select boxes visible
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}

	// disable keypress listener
	document.onkeypress = '';
}




//
// initLightbox()
// Function runs on window load, going through link tags looking for rel="lightbox".
// These links receive onclick events that enable the lightbox display for their targets.
// The function also inserts html markup at the top of the page which will be used as a
// container for the overlay pattern and the inline image.
//
function initLightbox()
{
	
	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];

		if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "lightbox")){
			anchor.onclick = function () {showLightbox(this); return false;}
		}
	}

	// the rest of this code inserts html at the top of the page that looks like this:
	//
	// <div id="overlay">
	//		<a href="#" onclick="hideLightbox(); return false;"><img id="loadingImage" /></a>
	//	</div>
	// <div id="lightbox">
	//		<a href="#" onclick="hideLightbox(); return false;" title="Click anywhere to close image">
	//			<img id="closeButton" />		
	//			<img id="lightboxImage" />
	//		</a>
	//		<div id="lightboxDetails">
	//			<div id="lightboxCaption"></div>
	//			<div id="keyboardMsg"></div>
	//		</div>
	// </div>
	
	var objBody = document.getElementsByTagName("body").item(0);
	
	// create overlay div and hardcode some functional styles (aesthetic styles are in CSS file)
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id','overlay');
	objOverlay.onclick = function () {hideLightbox(); return false;}
	objOverlay.style.display = 'none';
	objOverlay.style.position = 'absolute';
	objOverlay.style.top = '0';
	objOverlay.style.left = '0';
	//objOverlay.style.zIndex = '690';
	objOverlay.style.zIndex = '1690';
 	objOverlay.style.width = '100%';
	objBody.insertBefore(objOverlay, objBody.firstChild);
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	// preload and create loader image
	var imgPreloader = new Image();
	
	// if loader image found, create link to hide lightbox and create loadingimage
	imgPreloader.onload=function(){

		var objLoadingImageLink = document.createElement("a");
		objLoadingImageLink.setAttribute('href','#');
		objLoadingImageLink.onclick = function () {hideLightbox(); return false;}
		objOverlay.appendChild(objLoadingImageLink);
		
		var objLoadingImage = document.createElement("img");
		objLoadingImage.src = loadingImage;
		objLoadingImage.setAttribute('id','loadingImage');
		objLoadingImage.style.position = 'absolute';
		//objLoadingImage.style.zIndex = '700';
		objLoadingImage.style.zIndex = '1700';
		objLoadingImageLink.appendChild(objLoadingImage);

		imgPreloader.onload=function(){};	//	clear onLoad, as IE will flip out w/animated gifs

		return false;
	}

	imgPreloader.src = loadingImage;

	// create lightbox div, same note about styles as above
	var objLightbox = document.createElement("div");
	objLightbox.setAttribute('id','lightbox');
	objLightbox.style.display = 'none';
	objLightbox.style.position = 'absolute';
	//objLightbox.style.zIndex = '700';	
	objLightbox.style.zIndex = '1700';
	objBody.insertBefore(objLightbox, objOverlay.nextSibling);
	
	// create link
	var objLink = document.createElement("a");
	objLink.setAttribute('href','#');
	objLink.setAttribute('title','Click to close');
	objLink.onclick = function () {hideLightbox(); return false;}
	objLightbox.appendChild(objLink);

	// preload and create close button image
	var imgPreloadCloseButton = new Image();

	// if close button image found, 
	imgPreloadCloseButton.onload=function(){

		var objCloseButton = document.createElement("img");
		objCloseButton.src = closeButton;
		objCloseButton.setAttribute('id','closeButton');
		objCloseButton.style.position = 'absolute';
		//objCloseButton.style.zIndex = '710';
		objCloseButton.style.zIndex = '1710';
		objLink.appendChild(objCloseButton);

		return false;
	}

	imgPreloadCloseButton.src = closeButton;

	// create image
	var objImage = document.createElement("img");
	objImage.setAttribute('id','lightboxImage');
	objLink.appendChild(objImage);
	
	// create details div, a container for the caption and keyboard message
	var objLightboxDetails = document.createElement("div");
	objLightboxDetails.setAttribute('id','lightboxDetails');
	objLightbox.appendChild(objLightboxDetails);

	// create caption
	var objCaption = document.createElement("div");
	objCaption.setAttribute('id','lightboxCaption');
	objCaption.style.display = 'none';
	objLightboxDetails.appendChild(objCaption);

	// create keyboard message
/*	var objKeyboardMsg = document.createElement("div");
	objKeyboardMsg.setAttribute('id','keyboardMsg');
	objKeyboardMsg.innerHTML = 'press <a href="#" onclick="hideLightbox(); return false;"><kbd>x</kbd></a> to close';
	objLightboxDetails.appendChild(objKeyboardMsg);*/


}

//
// addLoadEvent()
// Adds event to window.onload without overwriting currently assigned onload functions.
// Function found at Simon Willison's weblog - http://simon.incutio.com/
//
function addLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}
addLoadEvent(initLightbox); // run initLightbox onLoad
