function ieHomePage(objLink) {
if (navigator.appName!="Microsoft Internet Explorer") alert("Ваш браузер не поддерживает эту функцию.\n\nПожалуйста, воспользуйтесь опциями меню настроек браузера.");
else {
objLink.style.behavior="url(#default#homepage)"; 
objLink.setHomePage(self.location);
}
}

function bookmarkSite(){
title=document.title;
url=self.location+'';
if (window.sidebar) window.sidebar.addPanel(title, url, "");
else if (window.opera && window.print) {
elem = document.createElement('a');
elem.setAttribute('href',url);
elem.setAttribute('title',title);
elem.setAttribute('rel','sidebar');
elem.click();
} 
else if (navigator.userAgent.toLowerCase().indexOf('msie')!=-1) window.external.AddFavorite(url,title);
else alert("Ваш браузер не поддерживает эту функцию.\n\nПожалуйста, воспользуйтесь опциями меню настроек браузера или клавишами быстрого доступа (Ctrl+D).");
}

function addOpenSearch() {
try {
window.external.AddSearchProvider('http://www.stroyplan.ru/opensearch.xml');
}
catch (e) {
alert("Ваш браузер не поддерживает эту функцию.\n\nДля установки поискового плагина, пожалуйста,\nвоспользуйтесь опциями меню настроек браузера");
}
}

function getCharCode(event) {
if (event.charCode) return event.charCode;
else if (event.keyCode) return event.keyCode;
else if (event.which) return event.which;
else return 0;
}

function enterNumber(event) {
var charCode=getCharCode(event);
if ((charCode>47 && charCode<58) || (charCode>95 && charCode<106) || (charCode<41 && charCode!=32) || charCode==46 || charCode==144) return true;
else return false;
}

function getObj(id) {
if (document.getElementById) return document.getElementById(id);
else if (document.all) return eval('document.all.'+id);
}

function linkHandler(obj,flag,value) {
if (flag=='style') {
if (value=='no') obj.style.textDecoration='none';
else obj.style.textDecoration='underline';
}
else {
if (flag=='loc') location.href='http://'+value;
if (flag=='wnd') window.open('http://'+value);
if (flag=='mail') location.href = 'mailto:'+value.split(",")[1]+"@"+value.split(",")[0];
if (flag=='put_url') document.write('<a '+obj+' href="http://'+value.replace(/<br>/g,'')+'" target="_blank">'+value+'</a>');
if (flag=='put_text') document.write('<a '+obj+' href="http://'+value.split("<X>")[0]+'" target="_blank">'+value.split("<X>")[1]+'</a>');
if (flag=='put_email') document.write('<a '+obj+' href="mailto:'+value.split(",")[1]+"@"+value.split(",")[0]+'" target="_blank">'+value.split(",")[1]+"@"+value.split(",")[0]+'</a>');
}
}

function disp(id) {
if (getObj(id).style.display=='none') getObj(id).style.display='block';
else getObj(id).style.display='none';
} 

function calc(inputStr,MinLen,MaxLen,inputNum) {
if (inputStr.value.length > MaxLen || inputStr.value.length < MinLen) fcol=" color=#cf0000";
else fcol=" color=#72C42F";
getObj(inputNum).innerHTML = '<font'+fcol+'><b>'+inputStr.value.length+'</b></font> из <b>'+MaxLen+'</b>';
}

function mkd(ts,dtype) {
ts=new Date(ts*1000);
tsD=ts.getDate();
if (tsD<10) tsD='0'+tsD;
tsM=ts.getMonth()+1;
if (tsM<10) tsM='0'+tsM;
tsFY=ts.getFullYear();
tsY=String(tsFY).substring(2);
if (dtype==1) ts=tsFY+'-'+tsM+'-'+tsD;
else if (dtype==2) ts=tsD+'.'+tsM+' \''+tsY;
else if (dtype==3) ts=parseInt(tsD,10)+' '+['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'][parseInt(tsM,10)-1]+' '+tsFY;
document.write(ts);
}

function GMTDate(month) {
expireDate=new Date;
expireDate.setMonth(expireDate.getMonth()+month);
return expireDate.toGMTString();
}

function setCookie(name,value,expires,path,domain,secure) {
domain = location.hostname.split(".");
if (domain.length > 1) domain = domain[domain.length-2] + "." + domain[domain.length-1];
else domain = "";
document.cookie=name+"="+escape(value)+
((expires) ? "; expires="+expires: "")+
((path) ? "; path="+path : "")+
((domain) ? "; domain="+domain : "")+
((secure) ? "; secure" : "");
}

function getCookie(name) {
if (checkCookie(name)) {
var starts=document.cookie.indexOf(name);
var endstr=document.cookie.indexOf(";",starts);
if (endstr==-1) endstr=document.cookie.length;
return unescape(document.cookie.substring(starts,endstr).split('=')[1]);
}
else return false;
}

function dropCookie(allCookies) {
allCookies=allCookies.split(',');
for (i=0;i<allCookies.length;i++) {
thisCookie=getCookie(allCookies[i]);
if (thisCookie) setCookie(allCookies[i],thisCookie,GMTDate(-1),'/');
}
}

function checkCookie(name) {
if (document.cookie.indexOf(name)!=-1 && document.cookie.length!=name.length) return true;
else return false;
}

function printRegions(r) {
options="";
regions=new Object();
regions[0]="Москва";
regions[1]="Московская область";
regions[2]="Санкт-Петербург";
regions[4]="Алтайский край";
regions[5]="Амурская область";
regions[6]="Архангельская область";
regions[7]="Астраханская область";
regions[8]="Белгородская область";
regions[9]="Брянская область";
regions[10]="Владимирская область";
regions[11]="Волгоградская область";
regions[12]="Вологодская область";
regions[13]="Воронежская область";
regions[14]="Еврейская АО";
regions[3]="Забайкальский край";
regions[15]="Ивановская область";
regions[16]="Ингушская Республика";
regions[17]="Иркутская область";
regions[18]="Кабардино-Балкарская Республика";
regions[19]="Калининградская область";
regions[20]="Калужская область";
regions[21]="Камчатский край";
regions[22]="Карачаево-Черкесская Республика";
regions[23]="Кемеровская область";
regions[24]="Кировская область";
regions[26]="Костромская область";
regions[27]="Краснодарский край";
regions[28]="Красноярский край";
regions[29]="Курганская область";
regions[30]="Курская область";
regions[31]="Ленинградская область";
regions[32]="Липецкая область";
regions[33]="Магаданская область";
regions[34]="Мурманская область";
regions[35]="Ненецкий АО";
regions[36]="Нижегородская область";
regions[37]="Новгородская область";
regions[38]="Новосибирская область";
regions[39]="Омская область";
regions[40]="Оренбургская область";
regions[41]="Орловская область";
regions[42]="Пензенская область";
regions[25]="Пермский край";
regions[43]="Приморский край";
regions[44]="Псковская область";
regions[45]="Республика Адыгея";
regions[46]="Республика Алтай";
regions[47]="Республика Башкортостан";
regions[48]="Республика Бурятия";
regions[49]="Республика Дагестан";
regions[50]="Республика Калмыкия";
regions[51]="Республика Карелия";
regions[52]="Республика Коми";
regions[53]="Республика Марий Эл";
regions[54]="Республика Мордовия";
regions[55]="Республика Саха";
regions[56]="Республика Северная Осетия";
regions[57]="Республика Татарстан";
regions[58]="Республика Тыва";
regions[59]="Республика Хакасия";
regions[60]="Ростовская область";
regions[61]="Рязанская область";
regions[62]="Самарская область";
regions[63]="Саратовская область";
regions[64]="Сахалинская область";
regions[65]="Свердловская область";
regions[66]="Смоленская область";
regions[67]="Ставропольский край";
regions[68]="Тамбовская область";
regions[69]="Тверская область";
regions[70]="Томская область";
regions[71]="Тульская область";
regions[72]="Тюменская область";
regions[73]="Удмуртская республика";
regions[74]="Ульяновская область";
regions[75]="Хабаровский край";
regions[76]="Ханты-Мансийский АО";
regions[77]="Челябинская область";
regions[78]="Чеченская Республика";
regions[79]="Чувашская Республика";
regions[80]="Чукотский АО";
regions[81]="Ямало-Ненецкий АО";
regions[82]="Ярославская область";
for (k in regions) options+="<option value="+k+((r==k)?" selected":"")+">"+regions[k]+"</option>";
document.write(options);
}

function setRegion() {
myregion=getObj('myregion').options[getObj('myregion').selectedIndex].value;
setCookie('myregion',myregion,false,'/');
if (checkCookie('myregion')) location.href=location.pathname+location.search.replace(/^\?page=[^&]*&?/g,'?').replace(/&page=[^&]*/g,'').replace(/^\?$/g,'');
else alert('Это действие требует включения в Вашем браузере механизма "cookies".');
}

function sortGoods() {
orderby=getObj('orderby').options[getObj('orderby').selectedIndex].value;
sort=getObj('sort').options[getObj('sort').selectedIndex].value;
cur=getObj('cur').options[getObj('cur').selectedIndex].value;
gpp=getObj('gpp').options[getObj('gpp').selectedIndex].value;
setCookie('orderby',orderby,GMTDate(1),'/');
setCookie('sort',sort,GMTDate(1),'/');
setCookie('cur',cur,GMTDate(1),'/');
setCookie('gpp',gpp,GMTDate(1),'/');
if (checkCookie('orderby') && checkCookie('sort') && checkCookie('cur') && checkCookie('gpp')) return true;
else {
alert('Это действие требует включения в Вашем браузере механизма "cookies".');
return false;
}
}

function sortVac() {
orderby=getObj('orderby').options[getObj('orderby').selectedIndex].value;
sort=getObj('sort').options[getObj('sort').selectedIndex].value;
cur=getObj('cur').options[getObj('cur').selectedIndex].value;
setCookie('vorderby',orderby,GMTDate(1),'/');
setCookie('vsort',sort,GMTDate(1),'/');
setCookie('cur',cur,GMTDate(1),'/');
if (checkCookie('vorderby') && checkCookie('vsort') && checkCookie('cur')) return true;
else {
alert('Это действие требует включения в Вашем браузере механизма "cookies".');
return false;
}
}

function sortRating() {
rate_item=getObj('rate_item').options[getObj('rate_item').selectedIndex].value;
rate_subitem=getObj('rate_subitem').options[getObj('rate_subitem').selectedIndex].value;
sort=getObj('sort').options[getObj('sort').selectedIndex].value;
setCookie('rate_item',rate_item,GMTDate(1),'/');
setCookie('rate_subitem',rate_subitem,GMTDate(1),'/');
setCookie('rsort',sort,GMTDate(1),'/');
if (checkCookie('rate_item') && checkCookie('rsort') && checkCookie('rate_subitem')) return true;
else {
alert('Это действие требует включения в Вашем браузере механизма "cookies".');
return false;
}
}

function getTotalGoods() {
var count=0;
if (document.cookie!='') {
allCookies=document.cookie.split('; ');
for (i=0;i<allCookies.length;i++) {
if (allCookies[i].split('=')[0].indexOf('goods_order[')!=-1) count++;
}
}
return count;
}

function setTotalGoods() {
getObj('cart').innerHTML=getTotalGoods();
}

function addGoods(obj,id_good,f) {
if (obj.src.indexOf('bw')==-1) {
if (getTotalGoods()<99) {
setCookie('goods_order['+id_good+']','1',GMTDate(12),'/');
if (checkCookie('goods_order['+id_good+']')) {
obj.src='admin/shared/addgoodsbw'+f+'.gif';
obj.style.cursor='default';
obj.setAttribute('title','');
setTotalGoods();
}
else alert('Это действие требует включения в Вашем браузере механизма "cookies".');
}
else alert('В корзине максимальное количество товаров и услуг.');
}
}

function hlGoods(obj) {
var tr=obj.parentNode.parentNode.parentNode;
var img=tr.childNodes[0].getElementsByTagName('img').item(0);
var a=tr.childNodes[tr.childNodes.length-3].getElementsByTagName('a').item(0);
var act=(a && (a.style.color!='#cf0000' && a.style.color.replace(/\s/g,'')!='rgb(207,0,0)'))?1:0;
if (act) {
if (a) a.style.color='#cf0000';
if (img) img.style.borderColor='#cf0000';
}
else {
if (a) a.style.color='#000000';
if (img) img.style.borderColor='#444444';
}
}

function packItems(id) {
for (i=1;i<5;i++) {
getObj('packbar'+i).className='pack_hide';
getObj('packitem'+i).style.display='none';
}
getObj('packbar'+id).className='pack_show';
getObj('packitem'+id).style.display='block';
}

function showMSG() {
showLightbox("<div style='width: 400px; height: 410px; background: url(\"admin/shared/msgwnd.gif\") no-repeat'><div style='text-align: right'><img src=admin/shared/s.gif onclick=hideLightbox() width=17 height=18 style='margin: 3px 22px 5px 0px; cursor: pointer'></div><div><iframe src='messages.php' style='width: 392px; height: 377px; margin-left: 4px' scrolling=yes marginwidth=0 marginheight=0 frameborder=0 vspace=0 hspace=0></iframe></div></div>");
}

function showMAP() {
showLightbox("<div style='width: 738px; height: 538px; background: url(\"admin/shared/mapwnd.gif\") no-repeat'><div style='text-align: right'><img src=admin/shared/s.gif onclick=hideLightbox() width=17 height=18 style='margin: 3px 22px 5px 0px; cursor: pointer'></div><div><iframe src='Ymap.html' style='width: 730px; height: 505px; margin-left: 4px' scrolling=no marginwidth=0 marginheight=0 frameborder=0 vspace=0 hspace=0></iframe></div></div>");
}

function showMAIL(id) {
showLightbox("<div style='width: 514px; height: 446px; background: url(\"admin/shared/mailwnd.gif\") no-repeat'><div style='text-align: right'><img src=admin/shared/s.gif onclick=hideLightbox() width=17 height=18 style='margin: 3px 22px 5px 0px; cursor: pointer'></div><div><iframe src='mail.php?showitem="+id+"' style='width: 500px; height: 407px; margin: 3px 0px 3px 7px' scrolling=no marginwidth=0 marginheight=0 frameborder=0 vspace=0 hspace=0></iframe></div></div>");
}

function getAds(type) {
data='type='+type;
getXMLPage('bs.php','_ad_'+type, data, 0, '');
}

function getComSpec(data) {
getXMLPage('sp.php','com_spec', data, 0, '');
}

function getComPub(data) {
getXMLPage('pub.php','com_pub', data, 0, '');
}

function getXMLPage(url, id, data, error, loader) {
var request=false;
/*@cc_on
@if (@_jscript_version >= 5)
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
request = false;
}
}
@end @*/
if (!request && typeof XMLHttpRequest!='undefined') {
try {
request = new XMLHttpRequest();
} catch (e) {
request = false;
}
}
if (!request && window.createRequest) {
try {
request = window.createRequest();
} catch (e) {
request = false;
}
}
if (request) {
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {

if (request.responseText.substring(0,7) == '#Ошибка') {
if (loader) window[loader]();
alert(request.responseText);
}
else {
if (typeof window[id] == 'function') window[id](request.responseText);
else getObj(id).innerHTML = request.responseText;
}

}//200
else {

if (loader) window[loader]();
if (error) alert("#Ошибка передачи данных. Повторите попытку.");

}
}//4
}//request
if (data) {
request.open('POST', 'http://' + location.host + '/' + url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//request.setRequestHeader("Content-length", data.length);
request.send(data);
}
else {
request.open('GET', 'http://' + location.host + '/' + url, true);
request.send(null);
}
}
}

function flver() {
var d, n = navigator, m, f = 'Shockwave Flash';
if((m = n.mimeTypes) && (m = m["application/x-shockwave-flash"]) && m.enabledPlugin && (n = n.plugins) && n[f]) {d = n[f].description}
else if (window.ActiveXObject) { try { d = (new ActiveXObject((f+'.'+f).replace(/ /g,''))).GetVariable('$version');} catch (e) {}} 
return d ? d.replace(/\D+/,'').split(/\D+/) : [0,0];
}

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;
}

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;
}

function fadeObject(interval,obj,alpha,name,f) {

if (window['interval_'+name]) {
window.clearInterval(window['interval_'+name]);
window['interval_'+name] = null;
}

alpha=Math.max(Math.min(alpha,100),0);

var objAlpha = (obj.style.opacity=='') ? 100 : obj.style.opacity * 100;
var fadeType = Math.min(1, Math.max(-1, alpha - objAlpha));
var curAlpha = objAlpha;

window['interval_'+name] = window.setInterval( function () {

if ((fadeType==1 && curAlpha < alpha) || (fadeType==-1 && curAlpha > alpha)) {
curAlpha += fadeType * interval;
obj.style.opacity = ((fadeType!=-1) ? Math.min(curAlpha,alpha) : Math.max(alpha,curAlpha)) / 100;
}
else {
window.clearInterval(window['interval_'+name]);
window['interval_'+name] = null;
if (typeof window[f] == 'function') window[f]();
return;
}

}, 10);

}

function resizeObject(interval,obj,height,name,f) {

if (window['interval_'+name]) {
window.clearInterval(window['interval_'+name]);
window['interval_'+name] = null;
}

height=Math.max(Math.min(height,10000),1);

var objHeight = obj.offsetHeight;
var resizeType = Math.min(1, Math.max(-1, height - objHeight));
var curHeight = objHeight;

window['interval_'+name] = window.setInterval( function () {

if ((resizeType==1 && curHeight < height) || (resizeType==-1 && curHeight > height)) {
curHeight += resizeType * interval;
obj.style.height = ((resizeType!=-1) ? Math.min(curHeight,height) : Math.max(height,curHeight)) + 'px';
}
else {
window.clearInterval(window['interval_'+name]);
window['interval_'+name] = null;
if (typeof window[f] == 'function') window[f]();
return;
}

}, 10);

}

function scrollObject(interval,obj,scroll,name,f) {

if (window['interval_'+name]) {
window.clearInterval(window['interval_'+name]);
window['interval_'+name] = null;
}

scroll=Math.max(Math.min(scroll,obj.scrollWidth-obj.clientWidth),0);

var objScroll = obj.scrollLeft;
var scrollType = Math.min(1, Math.max(-1, scroll - objScroll));
var curScroll = objScroll;

window['interval_'+name] = window.setInterval( function () {

if ((scrollType==1 && curScroll < scroll) || (scrollType==-1 && curScroll > scroll)) {
curScroll += scrollType * interval;
obj.scrollLeft = ((scrollType!=-1) ? Math.min(curScroll,scroll) : Math.max(scroll,curScroll));
}
else {
window.clearInterval(window['interval_'+name]);
window['interval_'+name] = null;
if (typeof window[f] == 'function') window[f]();
return;
}

}, 10);

}

function zoomObject(interval,obj,width,height,name,f) {

if (window['interval_'+name]) {
window.clearInterval(window['interval_'+name]);
window['interval_'+name] = null;
}

widtht=Math.max(Math.min(width,1000),1);
height=Math.max(Math.min(height,1000),1);

var objWidth = obj.clientWidth;
var objHeight = obj.clientHeight;

var zoomType = Math.min(1, Math.max(-1, width - objWidth));

var curWidth = objWidth;
var curHeight = objHeight;

var ratio=width/height;

var intervalW=Math.min(Math.max(interval,interval/ratio),interval*ratio)*2;
var intervalH=Math.min(Math.max(interval,interval*ratio),interval/ratio)*2;

window['interval_'+name] = window.setInterval( function () {

if ((zoomType==1 && (curHeight < height || curWidth < width)) || (zoomType==-1 && (curHeight > height || curWidth > width))) {

curWidth += zoomType * intervalW;
curHeight += zoomType * intervalH;

obj.style.width = ((zoomType!=-1) ? Math.min(Math.round(curWidth),width) : Math.max(width,Math.round(curWidth))) + 'px';
obj.style.height = ((zoomType!=-1) ? Math.min(Math.round(curHeight),height) : Math.max(height,Math.round(curHeight))) + 'px';

}
else {
window.clearInterval(window['interval_'+name]);
window['interval_'+name] = null;
if (typeof window[f] == 'function') window[f]();
return;
}

}, 10);


}

function floatObject(id) {

if (window['float_' + id] != undefined) {

window.clearInterval(window['float_' + id]);
window['float_' + id] = undefined;

}
else {

slider = getObj(id);
sliderOffset = Math.round(((getPageSize()[3] - 35 - slider.offsetHeight) / 2));
sliderY = sliderOffset;
sliderTop = slider.style.top.substr(0,slider.style.top.length - 2);
fixPos = 0;

window['float_' + id] = window.setInterval( function () {
scrollY = getPageScroll()[1];
sliderY += (scrollY + sliderOffset - sliderY)/8;
if (fixPos) slider.style.top = sliderY + 'px';
else if (sliderY >= sliderTop || sliderY >= scrollY + sliderOffset) fixPos = 1;
}, 10);

}
}

function trim (str, charlist, type) {
/*
version: 905.1001 [modified]
discuss at: http://phpjs.org/functions/trim
*/
var whitespace, l = 0, i = 0; emptyL = 0;  emptyR = 0;
str += '';
if (!charlist) whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
else {
charlist += '';
whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
}
if (type!='r') {
l = str.length;
for (i = 0; i < l; i++) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(i);
break;
}
}
emptyL=whitespace.indexOf(str.charAt(0));
}//left
if (type!='l') {
l = str.length;
for (i = l - 1; i >= 0; i--) {
if (whitespace.indexOf(str.charAt(i)) === -1) {
str = str.substring(0, i + 1);
break;
}
}
emptyR=whitespace.indexOf(str.charAt(str.length-1));
}//right
return Math.min(emptyL,emptyR) === -1 ? str : '';
}

function showLightbox(HTMLCode) {

/*
Modified LIghtbox JS: Usage of innerHTML, any HTML code available

Lightbox JS: Fullsize Image Overlays 
by Lokesh Dhakar - http://www.huddletogether.com
*/

objBody = document.getElementsByTagName("body").item(0);

objOverlay = document.createElement("div");
objOverlay.setAttribute('id','overlay');
objOverlay.style.position = 'absolute';
objOverlay.style.visibility = 'hidden';
objOverlay.style.top = '0px';
objOverlay.style.left = '0px';
objOverlay.style.zIndex = '90';
objOverlay.style.width = '100%';
objOverlay.style.opacity = '0.8';
objOverlay.style.filter = 'alpha(opacity=80)';
objOverlay.style.backgroundColor = 'black';
objBody.insertBefore(objOverlay, objBody.firstChild);

objLightbox = document.createElement("div");
objLightbox.setAttribute('id','lightbox');
objLightbox.style.position = 'absolute';
objLightbox.style.visibility = 'hidden';
objLightbox.style.zIndex = '100';
objBody.insertBefore(objLightbox, objOverlay.nextSibling);

arrayPageSize = getPageSize();
arrayPageScroll = getPageScroll();

objLightbox.innerHTML = HTMLCode;

LBwidth = objLightbox.offsetWidth;
LBheight = objLightbox.offsetHeight;

lightboxTop = arrayPageScroll[1] + Math.round(((arrayPageSize[3] - 0 - LBheight) / 2));
lightboxLeft = Math.round(((arrayPageSize[0] - 20 - LBwidth) / 2));

objLightbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";

selects = document.getElementsByTagName("select");
for (i = 0; i != selects.length; i++) selects[i].style.visibility = "hidden";

objOverlay.style.height = (LBheight > arrayPageSize[1]) ? LBheight + "px" : arrayPageSize[1] + "px";
objOverlay.style.visibility = 'visible';

fixLayer('lightbox');
objLightbox.style.visibility = 'visible';
}

function hideLightbox() {

getObj('lightbox').parentNode.removeChild(getObj('lightbox'));
getObj('overlay').parentNode.removeChild(getObj('overlay'));
selects = document.getElementsByTagName("select");
for (i = 0; i != selects.length; i++) selects[i].style.visibility = "visible";
if (getObj('Gform') && getObj('Gform').style.visibility=="hidden") {
selects = getObj('Gform').getElementsByTagName("select");
for (i = 0; i != selects.length; i++) selects[i].style.visibility = "hidden";
}
}

function fixLayer(id) {

objStyle = getObj(id).style;
fixLayerTop = Math.round(((getPageSize()[3] - 0 - getObj(id).offsetHeight) / 2));
fixLayerTop = (fixLayerTop < 0) ? 0 : fixLayerTop;

if (/*@cc_on!@*/false && (parseInt(navigator.userAgent.toLowerCase().match(/msie (\d+)/)[1]) < 7)) {
objStyle.position = 'absolute';
objStyle.top = fixLayerTop + 'px';
/*
document.getElementsByTagName("body")[0].style.background = '#ffffff url("s.gif") fixed no-repeat';
objStyle.setExpression('top','eval(document.body.scrollTop + ' + fixLayerTop + ') + "px"');
*/
}
else {
objStyle.position = 'fixed';
objStyle.top = fixLayerTop + 'px';
}

}

function toggleFV(obj) {
FVindex=obj.firstChild.value;
if (obj.className!='fv_sel') {
FVimage=new Image();
FVimage.src='files/'+Fid+'/foto-video/fv'+FVid+'_'+FVindex+'_pic.jpg';
a=getObj('fv_clipbox').firstChild.childNodes;
for(i=0;i<a.length;i++) a[i].className=(a[i].firstChild.value==FVindex)?'fv_sel':'fv_tgl';
getObj('fv_blackbox').style.backgroundImage='none';
hideFV();
}
return false;
}

function hideFV() {
fadeObject(8,getObj('fv_fadebox'),0,'fv','resizeFV');
}


function resizeFV() {
getObj('fv_fadebox').style.visibility='hidden';
getObj('fv_fadebox').firstChild.src='admin/shared/s.gif';
resizeObject(4,getObj('fv_blackbox'),FVpic[FVindex][1],'fv','loadFV');
}

function loadFV() {
if (window['interval_fv']) {
window.clearInterval(window['interval_fv']);
window['interval_fv'] = null;
}
window['interval_fv']=window.setInterval( function () {
if (FVimage.complete && FVimage.width) {
window.clearInterval(window['interval_fv']);
window['interval_fv']=null;
getObj('fv_blackbox').style.backgroundImage='none';
showFV();
return;
}
else if (getObj('fv_blackbox').style.backgroundImage=='none') getObj('fv_blackbox').style.backgroundImage='url("admin/shared/fv_loader.gif")';
}, 100);
}

function showFV() {
getObj('fv_fadebox').firstChild.src=FVimage.src;
getObj('fv_fadebox').firstChild.style.width=FVpic[FVindex][0]+'px';
getObj('fv_fadebox').firstChild.style.height=FVpic[FVindex][1]+'px';
getObj('fv_fadebox').style.visibility='visible';
fadeObject(8,getObj('fv_fadebox'),100,'fv','');
}

SCROLL_BOX={

prepare: function() {
var index;
for (i=0; i<SCROLL_BOX['data']['prev_preload']; i++) {
index=SCROLL_BOX.first();
if (SCROLL_BOX['data']['order'][index-1]) {
getObj('scroll_box_list').insertBefore(SCROLL_BOX.td(index-1),getObj('scroll_box_list').firstChild);
getObj('scroll_box').scrollLeft+=SCROLL_BOX['data']['size'];
SCROLL_BOX.preload(index-1);
}
}
for (i=0; i<SCROLL_BOX['data']['next_preload']; i++) {
index=SCROLL_BOX.last();
if (SCROLL_BOX['data']['order'][index+1]) {
getObj('scroll_box_list').insertBefore(SCROLL_BOX.td(index+1),null);
SCROLL_BOX.preload(index+1);
}
}
},

left: function(act) {
getObj('scroll_box_left').style.borderRightColor=(act && !SCROLL_BOX.start())?'#cf0000':'#444444';
},

right: function(act) {
getObj('scroll_box_right').style.borderLeftColor=(act && !SCROLL_BOX.end())?'#cf0000':'#444444';
},

prev: function() {
if (!window['interval_sb'] && !SCROLL_BOX.start()) {
var index=SCROLL_BOX.first();
if (SCROLL_BOX['data']['order'][index-1] && SCROLL_BOX['data']['prev_preload']>=getObj('scroll_box').scrollLeft/SCROLL_BOX['data']['size']) {
getObj('scroll_box_list').insertBefore(SCROLL_BOX.td(index-1),getObj('scroll_box_list').firstChild);
getObj('scroll_box').scrollLeft+=SCROLL_BOX['data']['size'];
SCROLL_BOX.preload(index-1);
}
if (SCROLL_BOX.first()==0 && getObj('scroll_box').scrollLeft<=SCROLL_BOX['data']['size']) SCROLL_BOX.left(0);
scrollObject(6,getObj('scroll_box'),getObj('scroll_box').scrollLeft-SCROLL_BOX['data']['size'],'sb','');
}
},

next: function() {
if (!window['interval_sb'] && !SCROLL_BOX.end()) {
var index=SCROLL_BOX.last();
if (SCROLL_BOX['data']['order'][index+1] && SCROLL_BOX['data']['next_preload']>=SCROLL_BOX.bar()/SCROLL_BOX['data']['size']) {
getObj('scroll_box_list').insertBefore(SCROLL_BOX.td(index+1),null);
SCROLL_BOX.preload(index+1);
}
if (SCROLL_BOX.last()==SCROLL_BOX['data']['order'].length-1 && SCROLL_BOX.bar()<=SCROLL_BOX['data']['size']) SCROLL_BOX.right(0);
scrollObject(6,getObj('scroll_box'),getObj('scroll_box').scrollLeft+SCROLL_BOX['data']['size'],'sb','');
}
},

td: function(index) {
var td=document.createElement('td');
td.innerHTML='<div id=scroll_box_list_'+index+' style="width: '+SCROLL_BOX['data']['size']+'px">Загрузка&hellip;</div>';
return td;
},

zoom: function(index,width,height) {
zoomObject(2,getObj('scroll_box_list_'+index).firstChild.firstChild,width,height,'sb_list'+index,'');
},

preload: function(index) {
SCROLL_BOX['images'][SCROLL_BOX['data']['order'][index]]=new Image();
SCROLL_BOX['images'][SCROLL_BOX['data']['order'][index]].onload=function(){SCROLL_BOX.load(index)};
SCROLL_BOX['images'][SCROLL_BOX['data']['order'][index]].src='files/'+SCROLL_BOX['data']['id_firm']+'/foto-video/fv'+SCROLL_BOX['data']['order'][index]+'_0_pre.jpg';
},

load: function(index) {
var image=SCROLL_BOX['images'][SCROLL_BOX['data']['order'][index]];
var small=SCROLL_BOX.scale(image.width,image.height,SCROLL_BOX['data']['min']);
var big=SCROLL_BOX.scale(image.width,image.height,SCROLL_BOX['data']['max']);
getObj('scroll_box_list_'+index).innerHTML='<a href="foto-video.php?showitem='+SCROLL_BOX['data']['order'][index]+'"><img src="'+image.src+'" style="width: '+small[0]+'px; height: '+small[1]+'px" onmouseover="SCROLL_BOX.zoom('+index+','+big[0]+','+big[1]+')" onmouseout="SCROLL_BOX.zoom('+index+','+small[0]+','+small[1]+')"></a>';
},

start: function() {
return !(getObj('scroll_box').scrollLeft>=SCROLL_BOX['data']['size'] || SCROLL_BOX.first()>0);
},

end: function() {
return !(SCROLL_BOX.bar()>=SCROLL_BOX['data']['size'] || SCROLL_BOX.last()<SCROLL_BOX['data']['order'].length-1);
},

first: function() {
return parseInt(getObj('scroll_box_list').firstChild.firstChild.getAttribute('id').split('_')[3]);
},

last: function() {
return parseInt(getObj('scroll_box_list').lastChild.firstChild.getAttribute('id').split('_')[3]);
},

scale: function(w,h,size) {
var ratio=Math.min(size/w,size/h);
return [Math.round(ratio*w),Math.round(ratio*h)];
},

bar: function() {
return getObj('scroll_box').scrollWidth-getObj('scroll_box').scrollLeft-getObj('scroll_box').clientWidth;
},

images: {},

data: {}

};
