var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
var a = {};
var b = {
        'transforms':[
					{
						'name':'top',
						'width':'full', /*fixed if type number minus #some_number*/
						'w_fix':500,
						'height':'fixed'
					},
			{
						'name':'co_pyright',
						'width':'full', /*fixed if type number minus #some_number*/
						'height':'fixed'
						
			}
			,
                    {
                            'name':'top_left',
                            'width':'fixed',
                            'height':'fixed',
                            'snap':{'1':0,'2':0,'3':0,'4':{
                            					'1':['left_middle','1',0,'',0,'']
                                              
                            					}}
                    },
                    {
                            'name':'left_middle',
                            'width':'fixed',
                            'height':'fixed',
                            'snap':{
                            	'1':0,
                            	'2':{'1':['main_text','1',0,'p',0,'m']},
                            	'3':{'1':['b','1',20,'p',45,'m']},                            		
                            	'4':{'1':['news_area','1',0,'',0,'']}
                            }
                    },
                    {
                            'name':'news_area',
                            'width':'fixed',
                            'height':'fixed',
                            'snap':{'1':0,'2':0,'3':0,'4':{'1':['buttom_line','1',0,0,0,0]}}
                           
                    },
                    {
                            'name':'main_text',
                            'width':'full',
                            'height':'fixed',
                            'minimal_height':560,
                            'display':1,
                            'hght':{'news_area':[0,'']}
                    },
                    {
                            'name':'buttom_line',
                            'width':'full',
                            'height':'fixed',
                            'snap':{'1':
                            	{
                            		'1':['co_pyright','1',78,'m',303,'p']
                            	},
                            	'2':0,
                            	'3':0,
                            	'4':0
                            	},
                            'hght':{'b':[0,'']}
                    },
                    {
                        'name':'fly',
                        'yPos':[630,'-']
                    }
                ],
         'main_fix':'main_text'
}
function some(l) {
	if (window.innerWidth)
	{
		bw = window.innerWidth;
		bh  = window.innerHeight;
		sh=bh;
	} else
	{
		bw = document.documentElement.clientWidth;
		bh = document.documentElement.clientHeight;
		sh = document.documentElement.scrollHeight;
		if (sh>bh) bh=sh;
	}
	var to_height=[];
	//window.status="W [" + bw + "] H ["+bh+"] sh ["+sh+"] function init [" + function_counter+"]";
	for (var f=0;f<b.transforms.length;f++)
	{
		//alert(b.transforms[f].name);
		var sss = document.getElementById(b.transforms[f].name);
		if (sss)
		{
			var w;var h;
			var name=b.transforms[f].name;
			var snap=b.transforms[f].snap;
			var height = b.transforms[f].hght;
			var align = b.transforms[f].align;
			var display = b.transforms[f].display;
			var minimal =b.transforms[f].minimal_height;
			// уравнивание по ширине
			var wdth = b.transforms[f].wdth;

			if (!isset(minimal)) {var minimal=0;}
			
            var yPos = b.transforms[f].yPos;
            var w_fix = parseInt(b.transforms[f].w_fix);
			if (!w_fix) {w_fix=0;}
			var el = document.getElementById(name);
			var g = b.transforms[f];
			if (typeof(g.width)=='string')
			{
				switch(g.width)
				{
					case "full":
					w = (bw - el.offsetLeft)-2;
					break;
					case "fixed":
					w = 0;
					break;
				}
			}
			else
			{
				  w = ((bw - el.offsetLeft)-2)-g.width;
			}
			if (typeof(g.height)=='string')
			{
				switch(g.height)
				{
					case "full":
					h = (bh-el.offsetTop)-2;
					break;
					case "fixed":
					h =0;
					break;
				}
			}
			else
			{
				if (bh>0)
				{
				  h = ((bh-el.offsetTop)-2)-g.height;
			    }
			}
			if (isIE)
			{
				 if (h>0) el.style.height=(h-10);
 				 if (w>0 && w > w_fix) el.style.width=(w-10)-(parseInt(el.currentStyle.paddingLeft) + parseInt(el.currentStyle.paddingRight));
			}
			else
			{
				if (h>0&&!inarray(to_height,name)) el.style.height=(h-15)+"px";
				if (w>0 && w > w_fix) el.style.width=((w-15)-(parseInt(document.defaultView.getComputedStyle(el,null).getPropertyValue("padding-left"))+
														parseInt(document.defaultView.getComputedStyle(el,null).getPropertyValue("padding-right"))))+"px";
			}
			if (object_lenght(snap)>0) 
			{
				for (var snap_point in snap)
				{
					if (snap[snap_point])
					{
						if (snap_point==4)
						{
							//window.status = bh  +  "---" + el.offsetTop + " --- " + el.offsetHeight;
							if (object_lenght(snap[snap_point])>0)
							{
							// применять ли индексирования стилевых объектов
							//
//							alert(snap[snap_point][1]);
							for (var styleCounter in snap[snap_point])
							{
//							alert(styleCounter + " = " + name);
							var currentTypeRow = snap[snap_point][styleCounter];
//							alert(currentTypeRow);
							y=el.offsetTop + el.offsetHeight;
							x=el.offsetLeft;

							if (currentTypeRow[3]=='m') y=y-currentTypeRow[2];
							if (currentTypeRow[3]=='p') y=y+currentTypeRow[2];
							//alert("snaped element : "+currentTypeRow[0]+" Y["+currentTypeRow[2]+"]>["+y+"]");
//							alert("change light : "+currentTypeRow[2]+" to " + y);
							if (currentTypeRow[5]=='m') x=x-currentTypeRow[4];
							if (currentTypeRow[5]=='p') x=x+currentTypeRow[4];
							//alert("before "+snap[snap_point][3]+""+y1+" after " +y);

							snap_element = document.getElementById(currentTypeRow[0]);
							//alert(snap[snap_point][2]); // y
							snap_element.style.top=(isIE)?y:y+"px";
							snap_element.style.left=(isIE)?x:x+"px";
							//snap_element.innerHTML = "Y:["+y+"] X:["+x+"]";
							}
							}
						}
						/*
						* закрепление некоторого объекта к правому нижнему углу родительского объекта
						*/
						if (snap_point==3)  {
							if (object_lenght(snap[snap_point])>0)
							{
							// применять ли индексирования стилевых объектов
							//
//							alert(snap[snap_point][1]);
							for (var styleCounter in snap[snap_point])
							{
	//							alert(styleCounter + " = " + name);
								var currentTypeRow = snap[snap_point][styleCounter];
	//							alert(currentTypeRow);
								y=el.offsetTop + el.offsetHeight;
								x=el.offsetLeft + el.offsetWidth;

								if (currentTypeRow[3]=='m') y=y-currentTypeRow[2];
								if (currentTypeRow[3]=='p') y=y+currentTypeRow[2];
								//alert("snaped element : "+currentTypeRow[0]+" Y["+currentTypeRow[2]+"]>["+y+"]");
	//							alert("change light : "+currentTypeRow[2]+" to " + y);
								if (currentTypeRow[5]=='m') x=x-currentTypeRow[4];
								if (currentTypeRow[5]=='p') x=x+currentTypeRow[4];
								//alert("before "+snap[snap_point][3]+""+y1+" after " +y);

								snap_element = document.getElementById(currentTypeRow[0]);
								if (snap_element) {
								//alert(snap[snap_point][2]); // y
									snap_element.style.top=(isIE)?y:y+"px";
									snap_element.style.left=(isIE)?x:x+"px";
									
								//snap_element.innerHTML = "Y:["+y+"] X:["+x+"]";
								}
							}
							}
						}
						/* закрепление к левому верхнему краю */
						if (snap_point==1)  
						{
							if (object_lenght(snap[snap_point])>0)
							{
								for (var styleCounter in snap[snap_point])
								{
									var currentTypeRow = snap[snap_point][styleCounter];
									
									var y=el.offsetTop;
									var x=el.offsetLeft;
									//alert(x + "."+y + "."+el.id+","+currentTypeRow[0]);
									if (currentTypeRow[3]=='m') y=y-currentTypeRow[2];
									if (currentTypeRow[3]=='p') y=y+currentTypeRow[2];
									if (currentTypeRow[5]=='m') x=x-currentTypeRow[4];
									if (currentTypeRow[5]=='p') x=x+currentTypeRow[4];
									//alert("current snap on left top coner ["+currentTypeRow[0]+"]");
									snap_element = document.getElementById(currentTypeRow[0]);
									//alert(currentTypeRow[0]);
									/* 
										если для закрепляемого объекта родительский
										текущий элемент то координаты положения ставить на 0
									*/
									//alert(snap_element.id + " " + name );
									if (name==snap_element.parentNode.id) {
										alert('here');
								//		snap_element.style.top=(isIE)?'0':'0'+"px";
								//		snap_element.style.left=(isIE)?'0':'0'+"px";
                                                  snap_element.style.top=(isIE)?y:y+"px";
										snap_element.style.left=(isIE)?x:x+"px";
									} else {
										
										//snap_element.style.top="300px";
										//snap_element.style.left=(isIE)?20:20+"px";
										//alert(snap_element + "["+y+"]["+x+"]" + currentTypeRow[0]);
										snap_element.style.top=(isIE)?y:y+"px";
										snap_element.style.left=(isIE)?x:x+"px";
										///snap_element.offsetTop="400";
										//alert(snap_element.offsetTop);
									}
								}
							}
						}
						if (snap_point==2)  {
							if (object_lenght(snap[snap_point])>0)
							{
								for (var styleCounter in snap[snap_point])
								{
									var currentTypeRow = snap[snap_point][styleCounter];
									y=el.offsetTop;
									x=el.offsetLeft+el.offsetWidth;
									if (currentTypeRow[3]=='m') y=y-currentTypeRow[2];
									if (currentTypeRow[3]=='p') y=y+currentTypeRow[2];
									if (currentTypeRow[5]=='m') x=x-currentTypeRow[4];
									if (currentTypeRow[5]=='p') x=x+currentTypeRow[4];
									//alert("current snap on left top coner ["+currentTypeRow[0]+"]");
									snap_element = document.getElementById(currentTypeRow[0]);
									snap_element.style.top=(isIE)?y:y+"px";
									snap_element.style.left=(isIE)?x:x+"px";
								}
							}
						}
					}
				}
			}
			/* позиционирование */
			if (typeof(align)=='string') {
				switch(align) {
					case "center":
					//alert("["+el.parentNode.tagName+"]"+el.parentNode.offsetWidth+"="+el.offsetWidth);
					var new_y=(el.parentNode.offsetWidth-el.offsetWidth)/2;
					break;
				}
				el.style.left=new_y;
			}
			//alert(minimal);
			if (object_lenght(height)>0&&el.offsetHeight>minimal) 
			{
				var current_hight_position = el.offsetTop+el.offsetHeight;
				//alert(current_hight_position);
				//alert("name + " + name + " = " + el.offsetLeft + ":"+el.offsetTop);
				for (var height_element in height)
				{
					var curr = document.getElementById(height_element);
					//alert(height_element+"="+curr.offsetTop)
					new_height= (current_hight_position-(curr.offsetTop + curr.offsetHeight))+curr.offsetHeight;

					///alert("new height for ["+height_element+"] = " + new_height);
					//window.status = curr + " on["+name+"] TOP ["+curr.offsetTop+"] to " + new_height;
					//alert(height_element+"="+new_height);
					if (isIE) {
						curr.style.height=new_height-(parseInt(curr.currentStyle.paddingTop) + parseInt(curr.currentStyle.paddingBottom));
					}
					else {
						curr.style.height=(new_height-((parseInt(document.defaultView.getComputedStyle(curr,null).getPropertyValue("padding-top"))+
														parseInt(document.defaultView.getComputedStyle(curr,null).getPropertyValue("padding-bottom")))))+"px";
						//alert(curr.style.height);
					}
					//to_height[(a.length+1)]=height_element;
				}
			} else {
				if (minimal) el.style.height=(isIE)?minimal:minimal+"px";
			}
               // уравнивание по ширине
               if (object_lenght(wdth)>0) {
               	for (var i=0;i<wdth.length;i++) {
               		wElement=document.getElementById(wdth[i]);
               		if (wElement) {
               			var current_width_position = el.offsetLeft+el.offsetWidth;
               			new_width= ((wElement.offsetLeft + wElement.offsetWidth))+wElement.offsetWidth;
               			wElement.style.width=(isIE)?new_width:new_width+"px";
               		}
               	}
               }
			if (display>0) {
				el.style.display='block';
				el.style.visibility='visible';
			}
            if (typeof(yPos)=='object') {
                if (yPos.length>0) {
                    if (yPos[1]=='-') {
                        el.style.left=(isIE)?(bw-yPos[0]):(bw - yPos[0])+"px";
                    }
                }
            }
         }
	}
	if (!l) some(true);
	if (!isIE&&!l) {some(true);}
}
if (isIE)  {
	window.onresize=some;
	//window.attachEvent('onresize','some');
	}
else  {
	window.onresize=some;
	window.onscroll=some;
}
function object_lenght(obj) {
	var x=0;for (var s in obj) {x++};return x;
}
function isset(mmm) {
	if (mmm=='undefined'||mmm==null){return false;}else {return true};
}
function inarray(arr,e) {for(var s;s<arr.length;s++){if(arr[s]=e)return true}return false;}


function view(path) 
{
	imgWin = window.open('','_blank','Left=20,Top=40,toolbar=0,width=1,height=1');
	imgWin.opener = window;
	imgWin.document.open("text/html");
	imgWin.document.writeln("<html>");
	imgWin.document.writeln("<head><title>ПРОСМОТР РИСУНКА</title></head>");
	imgWin.document.writeln("<body leftMargin='0' topMargin='0'><A HREF=\"#\" title=\"Закрыть\" onClick=\"window.close()\" id=\"img\"></a>");
	imgWin.document.write("</body></html>");
	imgWin.document.close();
	var pic = imgWin.document.createElement('img');
   pic.setAttribute('border',0);
   pic.setAttribute('align','center');
   pic.src=path;
   pic.onload = function() 
   {
	  var b = imgWin.document.getElementById('img');
      b.appendChild(pic);
      imgWin.resizeTo(this['width']+30,this['height']+50);
	}
	imgWin.focus();
}