function main(){
	Common.Cookie.set("cookie","on", "/");
	var oStatus = document.getElementById('status');
	if (oStatus){	
		Authorization.init(
				'/ajax-handler/',
				oStatus,
				document.getElementById('login_form')/*.getElementsByTagName('table')[0]*/,
				'auth.current'
				);
	}
	
	var ph = new InputPlaceholder (document.getElementById ('SearchField'), 'поиск', '', 'emptyField');
	
	var a_auth_shadows_preload = new Array("auth_bottom_bg.png","auth_left_bg.png","auth_right_bg.png","auth_top_bg.png","lamp_on.gif");
	var o_temp_images = new Object;

	for(var f = 0; f < a_auth_shadows_preload.length; f++){
		o_temp_images["preloader" + f] = document.createElement("img");
		o_temp_images["preloader" + f].src = "/f/1/global/" + a_auth_shadows_preload[f];
	}
	
	(new VersionSwitcher()).init();
	
	Reflow.init();
	
}

var Reflow = {
	
	init : function(){
		this.eMeasurer = $("#measurer")[0];
		this.iFontSize = this.eMeasurer.offsetHeight;
		this.oListeners = {};
		this.initHandlers();
		this.attachEvents();
	},
	
	events : {
		reflow : 1, windowResize : 1, fontChange : 1
	},
	
	attachEvents : function(){
		var oMe = this;
		$(window).resize(
			function(){
				oMe.onWindowResize();
				oMe.onReflow();
			}
		);
		setInterval(
			function(){ 	
				var iFontSize = oMe.eMeasurer.offsetHeight;
				if(iFontSize != oMe.iFontSize){
					oMe.iFontSize = iFontSize;
					oMe.onFontChange();
					oMe.onReflow();
				}
			},
			50
		);
	},
	
	initHandlers : function(){
		var oMe = this;
		for(var e in this.events){
			if(this.events.hasOwnProperty(e)){
				var sCapitalEvent = e.substring(0,1).toUpperCase() + e.substring(1);
				this["on" + sCapitalEvent] = function(e){
					return function(){
						oMe.onEvent(e);
					}
				}(e);
			}
		}
	},
	
	addListener : function(sEvent, fCall, aArgs){
		var aListener = [fCall, (aArgs && aArgs.length) ? aArgs : null];
		if(this.oListeners[sEvent]){
			this.oListeners[sEvent].push(aListener);
		}
		else if(this.events[sEvent]){
			this.oListeners[sEvent] = [aListener];
		}
	},
	
	onEvent : function(sEvent){
		var aListeners = this.oListeners[sEvent];
		if(aListeners && aListeners.length){
			for(var g = 0; g < aListeners.length; g++){
				aListeners[g][0].apply(Reflow, (aListeners[g][1] && aListeners[g][1].length) ? aListeners[g][1] : []);
			}
		}
	}
	
}


VersionSwitcher = function(){}
VersionSwitcher.prototype = {
	
	init : function(){
		this.PRINT_CSS_URL = "/f/1/global/main_print.css";
		this.bPrintMode = false;
		this.jVersionSwitcher = $("#version_switcher span.link");
		this.eHead = document.getElementsByTagName('head')[0];
		this.ePrintCss = null;

		this.attachEvents();
		
		return this;
	},
	
	attachEvents : function(){
		var oMe = this;
		this.jVersionSwitcher.click(
			function(){
				oMe.toggleVersion();
			}
		);
	},
	
	toggleVersion : function(){
		if(!this.bPrintMode){
			this.ePrintCss = document.createElement('link');
			with(this.ePrintCss){
				rel = 'stylesheet';
				type = 'text/css';
				href = this.PRINT_CSS_URL;
			}
			this.eHead.appendChild(this.ePrintCss);
		}
		else{
			this.ePrintCss.href = "";
			this.eHead.removeChild(this.ePrintCss);
		}
		this.jVersionSwitcher.toggleClass("print_mode");
		this.bPrintMode = !this.bPrintMode;
	}
	
}