function mouseOver(e) {
    if (e && e.className.indexOf('-over') < 0) {
		e.oldClassName=e.className;
		e.className+='-over';
	}
}
function mouseOut(e) {
    if (e && e.oldClassName) e.className=e.oldClassName;
}

var mouseClick_CLICKED = false;

function mouseClick(e, event) {
	var i,a;
	if (mouseClick_CLICKED) return;
	mouseClick_CLICKED = true;
	setTimeout('mouseClick_CLICKED = false;', 300);
	a = getChild(e,'a');
	if (a) {
		document.location = a.getAttribute('href');
		return;
	}
	
	/*if (e && e.hasChildNodes) {
		for (i=0; i<e.childNodes.length; i++) {
			if (e.childNodes[i].tagName == 'A') {
				document.location = e.childNodes[i].getAttribute('href');
				return;
			}
		}
	}*/
}

function mouseOverImg(e) {
	var img = getChild(e,'img');
	if (img) {
		var dot = img.src.lastIndexOf('.');
		var src_ext = img.src.substring(dot);
		var src_name = img.src.substr(0,dot);
		if(src_name.substring(src_name.length-5) != '-over') {
			img.oldSrc = img.src;
			img.src = src_name+"-over"+src_ext;
		}
	}
}

function mouseOutImg(e) {
	var img = getChild(e,'img');
	if (img && img.oldSrc) img.src = img.oldSrc;
}

function mouseOverSelfImg(e) {
	if (e) {
		var dot = e.src.lastIndexOf('.');
		var src_ext = e.src.substring(dot);
		var src_name = e.src.substr(0,dot);
		if(src_name.substring(src_name.length-5) != '-over') {
			e.oldSrc = e.src;
			e.src = src_name+"-over"+src_ext;
		}
	}
}

function mouseOutSelfImg(e) {
	if (e && e.oldSrc) e.src = e.oldSrc;
}


function getChild(e,tag) {
	return (e.getElementsByTagName(tag).length > 0) ? e.getElementsByTagName(tag)[0] : false;
}

function getAncestorByName(element, ancestorName) {
	if (element.parentNode.tagName) {
		return (element.parentNode.nodeName == ancestorName) ? element.parentNode : getAncestorByName(element.parentNode, ancestorName);
	}
}

function in_array(needle,haystack) {
	for (var i in haystack) {
		if (haystack[i] == needle) return true;
	}
	return false;
}

function setAttribute(obj,attrName,attrValue) {
	if (!obj) return;
	if (document.all) obj[attrName] = attrValue;
	obj.setAttribute(attrName,attrValue);
}

function getAlpha(obj) {
	if (!obj) return -1;
		var browser = navigator.appName;
	if (browser == "Microsoft Internet Explorer") {
		var re=/(alpha)(.{1})(opacity=)(\d{1,})(.{1})/;
		var result = re.exec(obj.style.filter);
		return (result != null)  ? parseFloat(result[4]) : 100;
	} else {
		if (obj.style.MozOpacity != undefined) return (obj.style.opacity == '') ? 100 : parseFloat(obj.style.opacity)*100;
		if (obj.style.MozOpacity != undefined) return (obj.style.MozOpacity == '') ? 100 : parseFloat(obj.style.MozOpacity)*100;
		if (obj.style.KhtmlOpacity != undefined) return (obj.style.KhtmlOpacity == '') ? 100 : parseFloat(obj.style.KhtmlOpacity)*100;
	}
	return -1;
}
 
function setAlpha(obj,alpha) {
	if (!obj) return;
	var browser = navigator.appName;
	if (browser == "Microsoft Internet Explorer") {
		obj.style.filter = "alpha(opacity="+alpha+")";
	} else {
		obj.style.opacity = alpha*0.01;
		obj.style.MozOpacity = alpha*0.01;
		obj.style.KhtmlOpacity = alpha*0.01;
	}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function language(lang) {
  langRE = /\/bg\/|\/en\/|\\bg\\|\\en\\/;
  document.location.replace(document.location.href.replace(langRE,'/'+lang+'/'));
}

function toggleLayerClass(layerID,class1,class2) {
	var obj = document.getElementById(layerID);
	if (obj) obj.className = (obj.className == class1) ? class2 : class1;
}

function toggleLayersClass(layerID,haystack,class1,class2) {
	var layers = layerID.split(',');
	var i,obj;
	for (i=0; i<haystack.length; i++) {
		obj = document.getElementById(haystack[i]);
		if (obj) obj.className = (in_array(obj.id,layers)) ? class1 : class2;
	}
}

function toggleLayersStyle(layerID,haystack,styleName,style1,style2) {
	var layers = layerID.split(',');
	var i,obj,styleValue;
	for (i=0; i<haystack.length; i++) {
		obj = document.getElementById(haystack[i]);
		if (obj) {
			styleValue = (in_array(obj.id,layers)) ? style1 : style2;
			if (styleName == 'alpha') {
				setAlpha(obj,styleValue);
			}
			else obj.style[styleName] = styleValue;
		}
	}
}

function setActiveTab(e,activeStyle, regularStyle) {
	var table = getAncestorByName(e, "TABLE");
	var i, active_tab, tabs;
	if (table) {
		active_tab = (table.getAttribute('activeTab')) ? document.getElementById('tab_label_'+table.getAttribute('activeTab')) : false;
		pos = parseInt(e.id.substring(e.id.lastIndexOf('_')+1),10);
		if (table.getAttribute('activeTab') == pos) return;
		setAttribute(table,'activeTab',pos);
		if (active_tab) active_tab.className = regularStyle;
		else {
			tabs = table.getElementsByTagName('td');
			for (i=0; i<tabs.length; i++) if (tabs[i].className == activeStyle) tabs[i].className = regularStyle
		}
		e.className = activeStyle;
	}
}

function imagePosition() {
	var fade = document.getElementById('fade');
	if (fade) {
		fade.style.height = document.body.clientHeight+'px';
		fade.style.width = document.body.clientWidth+'px';
	}
	var pad = document.getElementById('pad');
	if (pad) pad.style.left = (document.body.clientWidth-950)/2+'px';
}

function fullScreen(colorID,imgSrc) {
	var fade = document.getElementById('fade');
	if (fade) {
		fade.className = 'visible';
		fade.style.height = document.body.clientHeight+'px';
		fade.style.width = document.body.clientWidth+'px';
		setAlpha(fade,50);
	}
	var pad = document.getElementById('pad');
	if (pad) pad.style.left = (document.body.clientWidth-950)/2+'px';
	var fullscreen_layer = document.getElementById('fullscreen_layer_'+colorID);
	if (fullscreen_layer) {
		fullscreen_layer.className = 'visible';
	}
	var img = document.getElementById('fullscreen_'+colorID);
	img.src = imgSrc;
	//hide description
	var desc = document.getElementById('model-description');
	if (desc) desc.className = 'hidden';
}

function closeFullScreen(id) {
	var fade = document.getElementById('fade');
	if (fade) fade.className = 'hidden';
	var fullscreen_layer = document.getElementById(id);
	if (fullscreen_layer) fullscreen_layer.className = 'hidden';
	//restore description
	var desc = document.getElementById('model-description');
	if (desc) desc.className = 'visible';

}

function zoomImage(img_id, pic, pic_large) {
	var img = document.getElementById(img_id);
	if (img) img.src = pic;
}

function zoomImage2(colorID, imageID) {
	var img = document.getElementById('imgLarge_'+colorID);
	if (img) {
		img.src = gallery[colorID+'_'+imageID].pic;
		img.onclick = function() {
			fullScreen(colorID,gallery[colorID+'_'+imageID].picLarge);
		}
	}
	
	var zoom_icon = document.getElementById('zoom_icon_'+colorID);
	if (gallery[colorID+'_'+imageID].picLarge != '' && gallery[colorID+'_'+imageID].picLarge != 'images/none.gif') {
		zoom_icon.className = 'visible';
		var a = getChild(zoom_icon,'a');
		a.onclick = function() {
			fullScreen(colorID,gallery[colorID+'_'+imageID].picLarge);
		}
	} else zoom_icon.className = 'hidden';
}

function vat(country,id) {
	var vat_id = document.getElementById(id);
	var vat_fld;
	if (vat_id) {
		if (country.getAttribute('eu') == 1) {
			vat_id.className = 'visible'
			if (vat_fld = getChild(vat_id,'input')) vat_fld.value = country.getAttribute('prefix');
		} else {
			vat_id.className = 'hidden';
		}
	}
}


function shippingEQbilling(e) {
	var layers = new Array('shipping_company', 'shipping_location', 'shipping_address');
	var obj;
	for (var i=0; i< layers.length; i++) {
		obj = document.getElementById(layers[i]).style;
		obj.display = (e.checked) ? 'none' : (document.all) ? 'block' : 'table-row';
		obj.visibility = (e.checked) ? 'hidden' : 'visible';
	}
}
