window.onerror = null;
isDOM=(document.getElementById)?true:false;
isMSIE=(document.all && document.all.item)?true:false;

var menuActive = 0
var menuActive2 = 0
var menuOn = 0
var onLayer
var onLayer2
var timeOn = null
var loaded = 0
 
// LAYER SWITCHING CODE
if (isMSIE) {
  layerRef="document.all[\"";
  styleSwitch="\"].style";
}
if (isDOM) {
  layerRef="document.getElementById(\"";
  styleSwitch="\").style";
}
  
// SHOW MENU
function showLayer(layerName){
    if (timeOn != null) {
	  clearTimeout(timeOn)
	  hideLayer(onLayer, onLayer2)
	}
	eval(layerRef+layerName+styleSwitch+'.visibility="visible"');
	onLayer = layerName
}

function showLayer2( layerName, layerName2 ){
    if (timeOn != null) {
	  clearTimeout(timeOn);
	  hideLayer(onLayer, onLayer2);
	}
    eval(layerRef+layerName+styleSwitch+'.visibility="visible"');
    eval(layerRef+layerName2+styleSwitch+'.visibility="visible"');
    onLayer = layerName;
    onLayer2 = layerName2;
}

// HIDE MENU
function hideLayer( layerName1, layerName2 ){
    if ( menuActive == 0 ) {
	    eval(layerRef+layerName1+styleSwitch+'.visibility="hidden"')
    }
	if ( (menuActive2 == 0)&&(layerName2) ) {
        
        eval(layerRef+layerName2+styleSwitch+'.visibility="hidden"')
    }
    return false;
}

// TIMER FOR BUTTON MOUSE OUT
function btnTimer() {
    timeOn = setTimeout("btnOut()",100); //Таймаут на лайер после ухода не с него
}

// BUTTON MOUSE OUT
function btnOut() {
    hideLayer(onLayer)
}

// MENU MOUSE OVER  
function menuOver(itemName) {
    menuActive2 = 0;
    //clearTimeout(timeOn);
    menuActive = 1;
    
}
function menuOver2(itemName) {
	clearTimeout(timeOn)
    menuActive = 1;
	menuActive2 = 1;
}

// MENU MOUSE OUT 
function menuOut() {
    if ( menuActive2 == 0 ) {
        btnTimer();
        menuActive = 0;
        timeOn = setTimeout("hideLayer(onLayer,onLayer2)", 100)
        //hideLayer(onLayer,onLayer2);
    }        
}

function menuOut2() {
    btnTimer();
    menuActive = 0;
    menuActive2 = 0;
    timeOn = setTimeout("hideLayer(onLayer,onLayer2)", 100)
}

// Подсветка меню
function menuLight2 ( id_level_1, class_1, id_level_2, class_2, id_level_3, class_3 ) {
    if ( check_ie() ) {
        document.getElementById(id_level_1).className = class_1+'ie';
	} else {
        //alert(class_1+'other');
        document.getElementById(id_level_1).className = class_1+'other';
    }
    //document.getElementById(id_level_1).className = class_1;
    document.getElementById(id_level_2).className = class_2;
    if ( check_ie() ) {
        document.getElementById(id_level_3).className = class_3+'ie';
	} else {
        document.getElementById(id_level_3).className = class_3+'other';
    } 
}

function menuLight ( id_level_1, class_1, id_level_2, class_2 ) {
	if ( check_ie() ) {
        document.getElementById(id_level_1).className = class_1+'ie';
	} else {
        document.getElementById(id_level_1).className = class_1+'other';
    }
    document.getElementById(id_level_2).className = class_2;
}
function m_menuLight ( id_level_1, class_1, str ) {
    if ( str ) {
        a = new Array();
        a = str.split(',');
        for ( i = 0; i<a.length; i++ ) {
            if ( check_ie() ) {
                document.getElementById(a[i]).className = 'menu_not_over_2_ie';
        	} else {
                document.getElementById(a[i]).className = 'menu_not_over_2_other';
            }    
        }
    }
	document.getElementById(id_level_1).className = class_1;
}

function check_ie(){
    ver=navigator.appVersion
    agent=navigator.userAgent.toLowerCase()
    dom=document.getElementById?1:0
    op5=(agent.indexOf("opera 5")>-1 || agent.indexOf("opera/5")>-1) && window.opera 
    op6=(agent.indexOf("opera 6")>-1 || agent.indexOf("opera/6")>-1) && window.opera   
    op7=(agent.indexOf("opera 7")>-1 || agent.indexOf("opera/7")>-1) && window.opera   
	ie5 = (agent.indexOf("msie 5")>-1 && !op5 && !op6 && !op7 )
    ie55 = (ie5 && agent.indexOf("msie 5.5")>-1)
    ie6 = (agent.indexOf("msie 6")>-1 && !op5 && !op6 && !op7 )
    ie4=(agent.indexOf("msie")>-1 && document.all &&!op5 &&!op6 && !op7 && !ie5 && !ie6)
    ie = (ie4 || ie5 || ie6 || ie55)
    return ie
}

function calcLeft(x_ele){
    var x_ret=0;
    var oParent = x_ele.offsetParent;
    if (oParent == null) return 0
    else x_ret=x_ele.offsetLeft + calcLeft(oParent);
    return x_ret;
}
function calcTop(x_ele){
	if (!document.all) return (x_ele.offsetTop);
	var x_ret=0;
	var oParent = x_ele.offsetParent;
	if (oParent == null) return 0
		else x_ret=x_ele.offsetTop + calcTop(oParent);
	return x_ret;
}
function calc_childs_posiotion ( str ) {
    a = new Array();
    a = str.split(',');
    for ( i = 0; i<a.length-2; i++ ) {
        document.getElementById('Menu'+a[i]).style.left = calcLeft ( document.getElementById('m'+a[i]) );
    }
    document.getElementById('Menu'+a[a.length-2]).style.left = 444;
}
function classparse ( classname ) {
    //alert( calcLeft ( document.getElementById('mspares') ) );
    if ( check_ie() ) {
		findTags(document.getElementById('Menuautocommercial'),
		['table','tbody','tr','td','div'],
		"%obj%.className='"+classname+"ie'");
        findTags(document.getElementById('Menuautocars'),
		['table','tbody','tr','td','div'],
		"%obj%.className='"+classname+"ie'");
//        findTags(document.getElementById('Menuautoprice'),
//		['table','tbody','tr','td','div'],
//		"%obj%.className='"+classname+"ie'");
        /*document.getElementById('ccommerciallt').className = classname+'ie';
        document.getElementById('ccommercialtransporter').className = classname+'ie';
        document.getElementById('ccommercialcaravelle').className = classname+'ie';
        document.getElementById('ccommercialcaddy').className = classname+'ie';
        document.getElementById('ccommercialmultivan').className = classname+'ie';*/
	} else {

		findTags(document.getElementById('Menuautocommercial'),
		['table','tbody','tr','td','div'],
		"%obj%.className='"+classname+"other'");
        findTags(document.getElementById('Menuautocars'),
		['table','tbody','tr','td','div'],
		"%obj%.className='"+classname+"other'");
//        findTags(document.getElementById('Menuautoprice'),
//		['table','tbody','tr','td','div'],
//		"%obj%.className='"+classname+"other'");
        /*document.getElementById('ccommerciallt').className = classname+'other';
        document.getElementById('ccommercialtransporter').className = classname+'other';
        document.getElementById('ccommercialcaravelle').className = classname+'other';
        document.getElementById('ccommercialcaddy').className = classname+'other';
        document.getElementById('ccommercialmultivan').className = classname+'other';*/
    } 
}

function findTags(outer,tags,action)
{
	var d_o=outer;
	var cur_col=(d_o.childNodes||d_o.children);
	var cur_node=d_o;
	var tag_i=0;
	var stack=Array();
	var ft=Array();

	while(1)
	{
		for (i=0;i<cur_col.length;i++)
		{
			re = new RegExp(tags[tag_i],'i');
			str = new String(cur_col[i].nodeName || cur_col[i].tagName);
			if(str.match(re))
			{
				if(tag_i==tags.length-1)
				{
					if(action)eval(action.replace(/%obj%/,'cur_col[i]'));
					ft.unshift(cur_col[i]);
				}
				else
					stack[stack.length]={'node':cur_col[i],'name':str,'tag_i':tag_i};
			}
		}
		if(stack.length==0)break;
		else
		{
			cur_col=stack[stack.length-1]['node'].childNodes||stack[stack.length-1]['node'].children;
			tag_i=stack[stack.length-1]['tag_i']+1;
			stack.length=stack.length-1;
		}
	}
	return ft;
}
