var mmItems = new Array();
var tm = false;
var sStatus = '';

isDOM = (document.getElementById) ? true : false;
isOpera = isOpera5 = window.opera && isDOM;
isOpera6 = isOpera && window.print;
isOpera7 = isOpera && navigator.userAgent.indexOf("Opera 7") > 0 || navigator.userAgent.indexOf("Opera/7") >= 0;
isMSIE = isIE = document.all && document.all.item && !isOpera;
isIE4 = isIE && !isDOM;
isNC = navigator.appName == "Netscape";
isNC4 = isNC && !isDOM;
isNC6 = isMozilla = isNC && isDOM;


function addMenuItem(id, st) {
	if(!isDOM || !id) return;
	var i = mmItems.length;
	mmItems[i] = new Array();
	mmItems[i][0] = id;
	mmItems[i][1] = (st) ? st : 0;
}

function initMenu() {
	if(!isDOM) return;
	var i, j, iPos, iURL;
	var pos = new Array();
	var iArr = new Array();
	for(i = 0; i < mmItems.length; i++) {
		mmItems[i][2] = document.getElementById(mmItems[i][0]);
		mmItems[i][3] = document.getElementById(mmItems[i][0] + 'div');
		pos = findPos(mmItems[i][2]);
		mmItems[i][3].style.left = pos[0] - 9;
		mmItems[i][3].style.top = pos[1] + mmItems[i][2].offsetHeight;
		if(mmItems[i][1]) {
			mmItems[i][3].style.visibility = 'visible';
		}
		else {
			mmItems[i][3].style.visibility = 'hidden';
		}
		iArr = mmItems[i][2].getElementsByTagName('IMG');
		for(j = 0; j < iArr.length; j++) {
			if(iArr[j] && iArr[j].src && ((iPos = iArr[j].src.indexOf('top_arrow_right')) != -1 || (iPos = iArr[j].src.indexOf('strelka_vniz')) != -1)) {
				mmItems[i][4] = iArr[j];
				mmItems[i][5] = new Image();
				mmItems[i][5].src = (iArr[j].src.indexOf('top_arrow_right') != -1) ? iArr[j].src : iArr[j].src.substring(0, iPos) + 'blue_arrow_right.gif';
				mmItems[i][6] = new Image();
				mmItems[i][6].src = (iArr[j].src.indexOf('top_arrow_right') != -1) ? iArr[j].src.substring(0, iPos) + 'top_arrow_down.gif' : iArr[j].src;
				break;
			}
		}
		if(j == iArr.length) {
			mmItems[i][4] = false;
		}
	}
}

function showMenu(obj) {
	if(!isDOM || !obj) return;
	var i;
	var id = obj.id;
	if(tm) clearTimeout(tm);
	for(i = 0; i < mmItems.length; i++) {
		if(!mmItems[i][3]) continue;
		if(mmItems[i][0] == id) {
			mmItems[i][3].style.visibility = 'visible';
			if(mmItems[i][4]) {
				mmItems[i][4].src = mmItems[i][6].src;
			}
		}
		else {
			mmItems[i][3].style.visibility = 'hidden';
			if(mmItems[i][4]) {
				mmItems[i][4].src = mmItems[i][5].src;
			}
		}
	}
}

function hideMenu() {
	if(!isDOM) return;
	if(tm) clearTimeout(tm);
	tm = setTimeout('totalHideMenu();', 1000);
}

function totalHideMenu() {
	if(!isDOM) return;
	var i;
	if(tm) clearTimeout(tm);
	for(i = 0; i < mmItems.length; i++) {
		if(!mmItems[i][3]) continue;
		if(mmItems[i][1]) {
			mmItems[i][3].style.visibility = 'visible';
			if(mmItems[i][4]) {
				mmItems[i][4].src = mmItems[i][6].src;
			}
		}
		else {
			mmItems[i][3].style.visibility = 'hidden';
			if(mmItems[i][4]) {
				mmItems[i][4].src = mmItems[i][5].src;
			}
		}
	}
}

function mmOver(obj) {
	if(!isDOM || !obj) return true;
	var aGo = obj.getElementsByTagName("A");
	if(aGo && aGo[0]) {
		sStatus = window.status;
		window.status = aGo[0].href;
	}
}

function mmOut() {
	if(!isDOM) return true;
	window.status = sStatus;
}

function mmGo(obj) {
	if(!isDOM || !obj) return true;
	if(isIE) event.cancelBubble = true;
	var aGo = obj.getElementsByTagName("A");
	if(aGo && aGo[0]) {
		window.location = aGo[0].href;
	}
	return false;
}

function onLayerOver() {
	if(!isDOM) return;
	if(tm) clearTimeout(tm);
}

function onLayerOut() {
	if(!isDOM) return;
	hideMenu();
}

function findPos(obj) {
	var temp, x = 0, y = 0;
	if(obj.offsetParent){
		temp = obj;
		while(temp.offsetParent) {
			temp = temp.offsetParent;
			x += temp.offsetLeft;
			y += temp.offsetTop;
		}
	}
	x += obj.offsetLeft;
	y += obj.offsetTop;
	if(isIE)
		x--;
	else
		y--;
  return [x,y];
}

function PrintPage(ObjName)
{
  var Obj = document.getElementById(ObjName);
	document.body.style.marginTop = "0px";
	document.body.style.marginLeft = "0px";
	document.body.innerHTML = Obj.innerHTML;
	var coll = document.getElementsByTagName("SPAN");
  if (coll!=null)
  {
      for (i=0; i < coll.length; i++)
      {
        if(coll[i].className == "seriy")
        {
          coll[i].className = "seriySmall";
        }
      }
  }
  coll = document.getElementsByTagName("TABLE");
  if (coll!=null)
  {
      for (i=0; i < coll.length; i++)
      {
        if (coll[i].width == 744)
        {
          coll[i].width -= 100;
        }
        if ((coll[i].width == '100%') && (coll[i].className == "configTableEntry"))
        {
          coll[i].width = '60px';
        }
      }
  }
  coll = document.getElementsByTagName("TD");
  if (coll!=null)
  {
      for (i=0; i < coll.length; i++)
      {
        if (coll[i].width == 544)
        {
          coll[i].width -= 100;
        }
        else if (coll[i].style.width == '100%')
        {
          coll[i].style.width = '290px';
        }
        else if (coll[i].className == "seriy")
        {
          coll[i].className = "seriySmall";
        }
        else if (coll[i].style.paddingLeft == "20px")
        {
          coll[i].style.paddingLeft = "0px";
        }
      }
  }
  /*var win = window.open();
  win.document.write(document.body.innerHTML);*/
	window.print();
	location.reload();
}

function findObj(theObj, theDoc)
{
  var /*p, i,*/ foundObj;
  
  /*if(!theDoc) theDoc = document;
  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  {
    theDoc = parent.frames[theObj.substring(p+1)].document;
    theObj = theObj.substring(0,p);
  }
  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  for (i=0; !foundObj && i < theDoc.forms.length; i++) 
    foundObj = theDoc.forms[i][theObj];
  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
    foundObj = findObj(theObj,theDoc.layers[i].document);
  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);*/
  foundObj = document.getElementById(theObj);
  return foundObj;
}

var ie4 = document.all;
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all; 
var curObj;
var Interval = (ie4) ? 600 : 400;

//Example: preloadImages('file.gif', 'http://www.x.com/y.gif');
function preloadImages()
{
  if(document.images)
  {
    if(!document.imageArray) document.imageArray = new Array();
    var i,j = document.imageArray.length, args = preloadImages.arguments;
    
    for(i=0; i<args.length; i++)
    {
      if (args[i].indexOf("#")!=0)
      {
        document.imageArray[j] = new Image;
        document.imageArray[j++].src = args[i];
      }
    }
  }
}
var ImgDir = "picture/";
preloadImages(ImgDir + "arrow.gif", ImgDir + "arrow_a.gif");
function SwapImg(id,bIsOver)
{
	var Obj = findObj(id);
	if (Obj)
	{
		Obj.src = (bIsOver)?(ImgDir + "arrow_a.gif"):(ImgDir + "arrow.gif");
	}
}

var layerRef = "null", styleSwitch = "null";
var OnDiv = "false";

   HM_DOM = (document.getElementById) ? true : false;
   HM_NS4 = (document.layers) ? true : false; 
   
if (HM_NS4) {
	layerRef = "document.layers";
	styleSwitch = "";
	visiblevar = "show";
	hidevar = "hide";
}else{
	if (HM_DOM)
		{
 			styleSwitch=".style";
			visiblevar="visible";
			hidevar="hidden";
		}
		else 
		{
			layerRef="document.all";
 			styleSwitch=".style";
			visiblevar="visible";
			hidevar="hidden";
		}
  }
  
  
  /* For Tech (change dimensions) START */
    
  var isNAV4, isNAV6, isIE, isOPERA, isWIN, isMAC, isFF;

var cStart = "";
var cEnd = "";
var os = navigator.userAgent;

if (isNAV4) {
	cStart = "layers['";
	cEnd = "']";
	cStyle = "";
} else if (isNAV6) {
	cStart = "getElementById('";
	cEnd = "')";
	cStyle = ".style";
} else if (isOPERA) {
	cStart = "all.";
	cEnd = "";
	cStyle = ".style";
} else {
	cStart = "all.";
	cEnd = "";
	cStyle = ".style";
}

function getImage(imgname, nestedLayer){
	var theObj
	if (typeof imgname == "string") {
		if(nestedLayer && isNAV4) { 
			theObj = eval("document.layers."+nestedLayer+".document.images."+imgname)
		} else { 
			theObj = eval("document.images['"+imgname+"']");
		}
	} else {
		theObj = imgname;
	}
	
	return theObj
}
//Changing a picture within a layer
function setImage(obj, imgName, imgSrc, nestedLayer) {
	var img;
	if (isNAV4) {
		var myObj = getObject(obj, nestedLayer)
		img = myObj.document.images[imgName];
	} else {
		img = document.images[imgName];
	}
	if (img) img.src = imgSrc;
	else debug("setImage(image not found: '"+imgName+"')", 'ERROR');
}

// LAF: Swaps a layer with the currently visible layer
// limited 1 per page, this could be changed be creating a group
var currentLayer;

function setLayer(layer) {
	if (currentLayer) setVisibility(currentLayer,'hidden');
	setVisibility(layer, 'visible');
	currentLayer = layer;
}


function swapImage(imgname, imgsrc) {
		eval("document." + imgname + ".src='" + imgsrc + "';");
}

/* For Tech (Change dimensions) End*/

/* Gallery Start*/


function SelectPhoto(prefix, num)
{
  ResetAll();
  findObj('carMiddleImg').src = Catalog + prefix + "_medium_" + num + ".jpg";
  findObj(prefix + num).bgColor = CurrentColor;
  Prefix = prefix;
  Number = num;
  return false;
}

function ResetAll()
{
  var i = 1;
  var currColor = 1;
  var ImgId = "ext" + i;
  var Obj = findObj(ImgId);
  while (Obj)
  {
    Obj.bgColor = DefaultColor;
    i++;
    ImgId = "ext" + i;
    Obj = findObj(ImgId);
  }
  var i = 1;
  var currColor = 1;
  var ImgId = "int" + i;
  var Obj = findObj(ImgId);
  while (Obj)
  {
    Obj.bgColor = DefaultColor;
    i++;
    ImgId = "int" + i;
    Obj = findObj(ImgId);
  }
}

/* Gallery END */

/* Configurator Colors START*/
function ResetAllColors()
{
  var i = 1;
  var currColor = 1;
  var ImgId = "color" + i;
  var Obj = findObj(ImgId);
  while (Obj)
  {
    Obj.bgColor = DefaultColor;
    i++;
    ImgId = "color" + i;
    Obj = findObj(ImgId);
  }
}

var Images = new Array();
var i = 0;
Images[i] = new Image();
Images[i++].src = "picture/plus.gif";
Images[i] = new Image();
Images[i++].src = "picture/minus.gif";

function findObj(theObj, theDoc)
{
  var p, i, foundObj;
  
  if(!theDoc) theDoc = document;
  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
  {
    theDoc = parent.frames[theObj.substring(p+1)].document;
    theObj = theObj.substring(0,p);
  }
  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  for (i=0; !foundObj && i < theDoc.forms.length; i++) 
    foundObj = theDoc.forms[i][theObj];
  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
    foundObj = findObj(theObj,theDoc.layers[i].document);
  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
  
  return foundObj;
}

function GetPrice(Obj)
{
	if (!Obj)
		return false;

	var cPrice;
	if (!Obj.price)
	{
	    for(i=0; i<Obj.attributes.length; i++)
	    {
	    	if (Obj.attributes.item(i).nodeName == "price")
			{
				cPrice = Obj.attributes.item(i).value;
				break;
			}
	    }
	} else {
		cPrice = Obj.price;
	}
	return cPrice;
}

function SwapEntry(rowNo, Obj)
{
	if (!Obj)
		return false;

	var ResId = "Total_" + rowNo;
	var ResSpan = findObj(ResId);
	if (!ResSpan)
		return false;
	var curPrice = parseInt(ResSpan.innerHTML);
	var priceDiff = parseInt(GetPrice(Obj));
	if(Obj.src.indexOf("plus") > 0)
	{
		//Addition needed
		curPrice += priceDiff;
		Obj.src = Images[1].src;
	}
	else
	{
		//Substraction needed
		curPrice -= priceDiff;
		Obj.src = Images[0].src;
	}
	ResSpan.innerHTML = curPrice;
}

function SelectEngine(rowNo, Obj)
{
	if (!Obj)
		return false;

	var enginePrice;
	enginePrice = GetPrice(Obj);

	var ResId = "Total_" + rowNo;
	var ResSpan = findObj(ResId);
	if (!ResSpan)
		return false;
	var curEngine;
	var i = 1;
	var curEngineId = "engine" + i + "_" + rowNo;
	curEngine = findObj(curEngineId);
	var curPrice = parseFloat(ResSpan.innerHTML);

	while (i <= EnginesCount)
	{
	  //alert(curEngineId);
	  if (!curEngine)
	  {
	    i++;
	    curEngineId = "engine" + i + "_" + rowNo;
		  curEngine = findObj(curEngineId);
	    continue;
	  }
		if(curEngine.src.indexOf("minus") > 0)
		{
		    if (curEngine != Obj) {
		        curPrice -= parseFloat(GetPrice(curEngine));
		        curEngine.src = Images[0].src;
		    }
			break;
		}
		i++;
		curEngineId = "engine" + i + "_" + rowNo;
		curEngine = findObj(curEngineId);
	}
	var priceDiff = parseFloat(enginePrice);

    if (Obj.src != Images[0].src)
    {
	    Obj.src = Images[0].src;
	    curPrice -= priceDiff;
	}
	else
	{
        Obj.src = Images[1].src;
        curPrice += priceDiff;
	}
	
	ResSpan.innerHTML = curPrice;
}

/* Configurator Colors END */
