	
	var fadein = null;
	var fadeout = null;
	var fadeObj = null
	function motionblur(obj)
	{
		
		if(fadeObj!= null){
			fadeObj.style.opacity = "0.0";
			fadeObj.style.filter="alpha(opacity=0)";
		}
		fadeObj = obj;
		fadein = setTimeout("fadeIn()",0 )
		
	}
	
	function fadeIn()
	{
		//console.log(parseFloat(fadeObj.style.opacity))
		if(parseFloat(fadeObj.style.opacity) < 1)
		{
			fadeObj.style.opacity = (parseFloat(fadeObj.style.opacity)+0.1) + "";
			fadeObj.style.filter="alpha(opacity="+parseInt(parseFloat(fadeObj.style.opacity)*100)+")";
			setTimeout("fadeIn()",40 )
		}
		else
		{
			fadein = null
			fadeout = setTimeout("fadeOut()",70 )
		}
	}
	
	function fadeOut()
	{
	if(fadeout != null){
		//console.log(parseFloat(fadeObj.style.opacity))
		if(parseFloat(fadeObj.style.opacity) > 0.0)
		{
			fadeObj.style.opacity = (parseFloat(fadeObj.style.opacity)-0.05) + "";
			fadeObj.style.filter="alpha(opacity="+parseInt(parseFloat(fadeObj.style.opacity)*100)+")";
			setTimeout("fadeOut()",70 )
		}
		else
		{
			fadeout = null;
		}
	}
	}
	var currMenu = null
	function showMenu(id, obj) //obj - object, under which the menu will be displayed
	{
		var top = (findPosY(obj)+ parseInt(obj.offsetHeight)-6) + "px"
		byId(id).style.top = top;
		
		var left = findPosX(obj) + "px"
		byId(id).style.left = left;
		show(id);
		currMenu = byId(id);
	}
	function showProdMenu(id, obj) //obj - object, under which the menu will be displayed
	{
		var top = (findPosY(obj)+ parseInt(obj.offsetHeight)-2) + "px"
		byId(id).style.top = top;
		
		var left = (findPosX(obj) + 10) + "px"
		byId(id).style.left = left;
		show(id);
		currMenu = byId(id);
	}
	function runcheck(ev)
	{
		if(currMenu){
			currX = mouseX(ev)
			currY = mouseY(ev)
			offY = currY - parseInt(currMenu.style.top)		
			offX = currX - parseInt(currMenu.style.left)
			if(offY < -30 || offY > parseInt(currMenu.offsetHeight)+5 || offX < -10 || offX > parseInt(currMenu.offsetWidth)+10)
			{
				hide(currMenu.id);
				hideSub('hairSub', curobj);
				hideSub('skinSub', curobj);
				currMenu = null;
			}
		}
	}
	var curobj = null;
	function showSub(sub,obj)
	{
		hideSub('hairSub', curobj);
		hideSub('skinSub', curobj);
		curobj = obj;
		var subs = byClass(sub);
		obj.style.border="1px solid #fbb"
		//alert(subs[0])
		byId("ttt").style.visibility = "hidden";
		byId("ttt").style.display = "";
		for(i = 0; i < subs.length; i++)
		{
			if(subs[i].innerHTML.trim() != ""){
				subs[i].style.display = "";
			}
		}
	}
	
	
	function hideSub(sub, obj)
	{
		if (obj != null)
		{
			obj.style.border="";
		}
		var subs = byClass(sub);
		for(i = 0; i < subs.length; i++)
		{
			subs[i].style.display = "none";
		}

		byId("ttt").style.display = "";
	}
	
	
	/////////////////////////////Line/////////////////////////////
	
	var clImage = new Array();
	for(i = 0; i < 13; i++)
	{
		clImage[i] = 0;
	}
	
	var mlImage = new Array();
	for(i = 0; i < 10; i++)
	{
		mlImage[i] = 0;
	}
	
	function registerImage()
	{
		var count = 0;
		for(i = 0; i < 13; i++)
		{
			if(clImage[i] == 0)
			{
				clImage[i] = 1;
				count++;
				break;
			}
			count++;
		}
		var percent = ((100/13)*count)+"";
		if(percent.indexOf(".") != -1)
		{
			percent = percent.substring(0, percent.indexOf("."))
		}
		byId("clinePercent").innerHTML = percent;
		if(count == 13){
			showLineItem("nicacolor");
		}
	}
	
	function showLineItem(id)
	{
		byId("lineImg_nicacolor").style.display = "none"
		byId("lineImg_oxygel").style.display = "none"
		byId("lineImg_shampoo").style.display = "none"
		byId("lineImg_milk").style.display = "none"
		byId("lineImg_styling_gel").style.display = "none"
		byId("lineImg_sanit").style.display = "none"
		byId("lineImg_mask").style.display = "none"
		byId("lineImg_mask_pro").style.display = "none"
		byId("lineImg_cond").style.display = "none"
		byId("lineImg_keto").style.display = "none"
		byId("lineImg_blond").style.display = "none"
		byId("lineImg_blond_pro").style.display = "none"
		byId("lineImg_waving").style.display = "none"
		byId("lineImg_voch").style.display = "none"
		byId("clineloading").style.display = "none"
			
			byId("lineImg_"+id).style.display = "";
	}
	
	function registerMedImage()
	{
		var count = 0;
		for(i = 0; i < 10; i++)
		{
			if(mlImage[i] == 0)
			{
				mlImage[i] = 1;
				count++;
				break;
			}
			count++;
		}
		var percent = ((100/10)*count)+"";
		if(percent.indexOf(".") != -1)
		{
			percent = percent.substring(0, percent.indexOf("."))
		}
		byId("mlinePercent").innerHTML = percent;
		if(count == 10){
			showMedLineItem("acid");
		}
	}
	function showMedLineItem(id)
	{
		byId("lineImg_acid").style.display = "none"
		byId("lineImg_calcit").style.display = "none"
		byId("lineImg_chelatogel").style.display = "none"
		byId("lineImg_chelatosolv").style.display = "none"
		byId("lineImg_desense").style.display = "none"
		byId("lineImg_desobt").style.display = "none"
		byId("lineImg_etch").style.display = "none"
		byId("lineImg_hiponer").style.display = "none"
		byId("lineImg_rc").style.display = "none"
		byId("lineImg_white").style.display = "none"
		byId("mlineloading").style.display = "none"
		byId("lineImg_"+id).style.display = "";
	}
	
	///////////////////////////utils /////////////////////////////
	
	
	

	String.prototype.trim = function() 
	{ 
		return this.replace(/^\s+|\s+$/g, ''); 
	}

	function byId(id)
	{
		return document.getElementById(id);
	}
	function byName(name)
	{
		return document.getElementsByName(name);
	}
	function byClass(name)
	{
		return getElementsByClassName(name);
	}
	function showHide(id){
		el = byId(id);
		if(el.style.display == "none"){
			el.style.display = "";
		}
		else{
			el.style.display = "none";
		}
	}
	function show(id){
		el = byId(id);
		if(el!= null)
			el.style.display = ""
	}
	function hide(id){
		el = byId(id);
		if(el!= null)
			el.style.display = "none";
	}
		
	function findPosX(obj)
	{
		var curleft = 0;
		try{
				if (obj.offsetParent) {
					while (obj.offsetParent) {
						curleft += obj.offsetLeft;
						obj = obj.offsetParent;
					}
				} 
				else if (obj.x) curleft += obj.x;
		}catch(ex){}
	
		return curleft;
	}
	
	function findPosY(obj) {
		var curtop = 0;
		try
		{
			if (obj.offsetParent) {
				while (obj.offsetParent) {
					curtop += obj.offsetTop;
					obj = obj.offsetParent;
				}
			} else if (obj.y) curtop += obj.y;
		}catch(ex){}
		return curtop;
	}
	
	function mouseX(ev)
	{
			var x = ev.pageX;
			if (!x && 0 !== x) {
				x = ev.clientX || 0;
			}
		
			return x;
	}
	
	function mouseY(ev)
	{
			var y = ev.pageY;
			if (!y && 0 !== y) {
				y = ev.clientY || 0;
			}
			return y;
	}
	
	
	var getElementsByClassName = function (className, tag, elm){
		if (document.getElementsByClassName) {
			getElementsByClassName = function (className, tag, elm) {
				elm = elm || document;
				var elements = elm.getElementsByClassName(className),
					nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
					returnElements = [],
					current;
				for(var i=0, il=elements.length; i<il; i+=1){
					current = elements[i];
					if(!nodeName || nodeName.test(current.nodeName)) {
						returnElements.push(current);
					}
				}
				return returnElements;
			};
		}
		else if (document.evaluate) {
			getElementsByClassName = function (className, tag, elm) {
				tag = tag || "*";
				elm = elm || document;
				var classes = className.split(" "),
					classesToCheck = "",
					xhtmlNamespace = "http://www.w3.org/1999/xhtml",
					namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
					returnElements = [],
					elements,
					node;
				for(var j=0, jl=classes.length; j<jl; j+=1){
					classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
				}
				try	{
					elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
				}
				catch (e) {
					elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
				}
				while ((node = elements.iterateNext())) {
					returnElements.push(node);
				}
				return returnElements;
			};
		}
		else {
			getElementsByClassName = function (className, tag, elm) {
				tag = tag || "*";
				elm = elm || document;
				var classes = className.split(" "),
					classesToCheck = [],
					elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
					current,
					returnElements = [],
					match;
				for(var k=0, kl=classes.length; k<kl; k+=1){
					classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
				}
				for(var l=0, ll=elements.length; l<ll; l+=1){
					current = elements[l];
					match = false;
					for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
						match = classesToCheck[m].test(current.className);
						if (!match) {
							break;
						}
					}
					if (match) {
						returnElements.push(current);
					}
				}
				return returnElements;
			};
		}
		return getElementsByClassName(className, tag, elm);
	};