
	var MV;

	function MV_Init()
	{
		MV=Array();
		MV['move']=1;
		MV['margin']=0;
		MV['add']=Array();
		MV['active']=Array();
		MV['active_id2']=Array();
		MV['last']=false;
		MV['submit']=false;
		MV['classname']=Array();
		MV['bcg']=Array();
		MV['bcgid']=Array();
		MV['bcgids']=Array();
		MV['top']=false;
	}

	MV_Init();

	function Mover(msg, glist)
	{
		if(MV['submit'])
		{
			GO('fitem').submit();
			return;
		}

		if(MV['run'])
		{
			alert('Je potřeba vybrat některé povinné variace,' + "\nbez jejich výběru nelze zboží vložit do košíku.\n\n" + MV['forcet'] + "\n");
			return;
		}

		MV['glist']=glist;
		MV['run']=true;

		GO('mover-price-default').innerHTML=Price(MV['define']['price_default']);

		Mover_Price();

		//MV['submit']=true;

		if(!msg && !MV['submit'])
		{
			if(navigator.appName == 'Opera')
			{
				alert("Nejdříve prosím vyberte některou z možných variací pro tento výrobek.");
				return;
			}
			else
			{
				alert("Nejdříve prosím vyberte některou z možných variací pro tento výrobek.\n\nPo levé straně se Vám objeví rychlý přehled.");
			}
		}
		else if(MV['submit'])
		{
			GO('fitem').submit();
			return;
		}

		GO('mover-block').innerHTML=GO('mover-cache').innerHTML;
		GO('mover-cache').innerHTML=false;
		Mover_Position();

		if(MV['glist'])
		{
			Mover();
			MV['glist']=false;
		}
	}



	function Mover_Check(ida)
	{
		var elem, skip=Array(), idv;
		var tf1, tf2, tx='', n=0, tgv=0;
		var price;
		var val, val2, val3;

		if(ida)
		{
			id=ida[0];
			id2=ida[1];
			idv=ida[2];

			//alert(id + ' | ' + id2 + ' | ' + idv);
		}

		MV['forcet']='';

		for(key in MV['groups']['back'][0])
		{
			val=MV['groups']['back'][0][key];
			MV['add'][val]=false;
			n++;

			if(MV['active'][val] && idv && (id == val) && (idv != MV['active'][val]))
			{
				elem=GO('vars-' + val + '-' + MV['active_id2'][val] + '-' + MV['active'][val]);

				GO('vars-tr-' + val + '-' + MV['active_id2'][val] + '-' + MV['active'][val]).className=MV['classname'][val];

				MV['active'][val]=false;
				GO('mover-select-' + id + '-' + MV['active_id2'][val]).value=0;
				elem.checked=false;
			}

			for(key2 in MV['groups']['back'][val])
			{
				val2=MV['groups']['back'][val][key2];

				if(MV['glist'] && !tgv)
				{
					location.href='#variace-' + val + '-' + val2;
					tgv=true;
				}

				for(key3 in MV['define']['vars']['list'][val][val2])
				{
					val3=MV['define']['vars']['list'][val][val2][key3];

					price=MV['define']['vars']['price'][val3];

					elem=GO('vars-' + val + '-' + val2 + '-' + val3);

					if(idv && (val3 == idv) && (val2 == id2) && (val == id))
					{
						elem.checked=true;
					}
					else
					{
						CCS('vlclose-' + val + '-' + val2 + '-' + val3, 'display', 'none');
					}

					if(elem.checked == true)
					{
						MV['add'][val]=price;
						MV['active'][val]=val3;
						MV['active_id2'][val]=val2;

						GO('mover-select-' + val + '-' + val2).value=val3;

						CCS('vlclose-' + val + '-' + val2 + '-' + val3, 'display', 'block');

						//tx+='<input type="hidden" name="tocart[vars][' + val + ']" value="' + val3 + '" />';

						MV['bcg'][val]=val + '-' + val2 + '-' + val3;
					}
				}
			}

			if(MV['groups']['enforce'][val])
			{
				if(MV['active'][val])
				{
					tf1=true;
				}
				else if(!tf2)
				{
					tf2=true;

					MV['forcet']+=n + '. ' + MV['groups']['name'][val] + "\n";
				}
			}

			for(key2 in MV['groups']['back'][val])
			{
				val2=MV['groups']['back'][val][key2];

				if(MV['active_id2'][val] == val2)
				{
					CCS('vclose-' + val + '-' + val2, 'display', 'block');
					//CCS('vlclose-' + val + '-' + val2, 'display', 'block');
				}
				else
				{
					GO('mover-select-' + val + '-' + val2).value=MV['active'][val] ? -1 : 0;
					CCS('vclose-' + val + '-' + val2, 'display', 'none');
					//CCS('vlclose-' + val + '-' + val2, 'display', 'none');
				}
			}

			if((MV['bcg'][val] != MV['bcgid'][val]) && MV['bcgid'][val])
			{
				MV['bcgids'][val]=false;
				Ited_VarsBg('vars-tr-' + MV['bcgid'][val], GO('vars-' + MV['bcgid'][val]).className);
			}

			if(MV['bcg'][val])
			{
				MV['bcgid'][val]=MV['bcg'][val];
				MV['bcgids'][val]='vars-tr-' + MV['bcgid'][val];
				Ited_VarsBg('vars-tr-' + MV['bcgid'][val], 3);
			}
		}


		if(!tf2)
		{
			MV['submit']=true;
			//GO('fvars').innerHTML=tx;
		}
		else
		{
			MV['submit']=false;
		}
	}



	function Mover_Price(ida)
	{
		Mover_Check(ida);

		var price=MV['define']['price_default'];

		for(key in MV['add'])
		{
			price+=MV['add'][key];
		}

		GO('mover-price-sum').innerHTML=Price(price);

		var dph=(price / (100 + MV['define']['dph'])) * 100;

		GO('mover-price-sum-wo').innerHTML=Price(dph);
	}



	function Mover_Position()
	{
		var size, cxy;

		if(!MV['run']) return;

		size=getPageSize();
		cxy=CoorXY();

		CCS('mover-light', 'height', (size[1] - 220) + 'px');

		if(!MV['margin'] && (MV['move'] == 1))
		{
			MV['margin']=cxy[1];
			CCS('mover', 'marginTop', (MV['margin'] + 30) + 'px');
		}

		if(MV['top'] != cxy[1])
		{
			MV['top']=cxy[1];
			MV['move']++;

			Mover_Move(MV['move']);
		}

		setTimeout('Mover_Position()', 10);
	}



	function Mover_Move(num)
	{
		var roz;

		if(num != MV['move']) return;
		if(MV['margin'] == MV['top']) return;

		if(MV['margin'] < MV['top'])
		{
			roz=(MV['top'] - MV['margin']) / 10;
		}
		else
		{
			roz=(MV['margin'] - MV['top']) / 10;
		}

		roz=Math.ceil(roz);

		if(roz < 5)
		{
			roz=5;
		}

		if(MV['margin'] < MV['top'])
		{
			MV['margin']=MV['margin'] + roz;

			if(MV['margin'] > MV['top'])
			{
				MV['margin']=MV['top'];
			}
		}
		else
		{
			MV['margin']=MV['margin'] - roz;

			if(MV['margin'] < MV['top'])
			{
				MV['margin']=MV['top'];
			}
		}

		CCS('mover', 'marginTop', (MV['margin'] + 30) + 'px');

		setTimeout('Mover_Move(' + num + ')', 20);
	}


	function Mover_Radio(id, id2, idv, ignore)
	{
		var val, val2;

		if(!MV['run'])
		{
	//		Mover();
		}

		if(MV['ignore'])
		{
			MV['ignore']=false;
			return;
		}

		if(ignore)
		{
			MV['ignore']=true;
			return;
		}

		if((id + '.' + id2 + '.' + idv) == MV['last'])
		{
			return
		}

		MV['last']=id + '.' + id2 + '.' + idv;

		Mover_Price(Array(id, id2, idv));

		CCS('vlclose-' + id + '-' + id2, 'display', 'block');

/*
		for(key in MV['groups']['back'][0])
		{
			val=MV['groups']['back'][0][key];

			if(val == id)
			{
				MV['add'][val]=0;

				for(key2 in MV['groups']['back'][val])
				{
					val2=MV['groups']['back'][val][key2];

					GO('mover-select-' + val + '-' + val2).value=0;

					if(val2 == id2)
					{
						MV['add'][val]=MV['define']['vars']['price'][idv];

						GO('mover-select-' + val + '-' + val2).value=idv;
						GO('vars-' + val + '-' + val2 + '-' + idv).checked=true;
					}
				}
			}
		}
*/



/*
		alert(id + ' | ' + id2 + ' | ' + val);

		GO('mover-select-' + id + '-' + id2).value=val;
		GO('vars-' + id + '-' + id2 + '-' + val).checked=true;
*/
	}



	function Mover_Remove(id, id2)
	{
		GO('vars-' + id + '-' + id2 + '-' + MV['active'][id]).checked=false;
		GO('vars-tr-' + id + '-' + id2 + '-' + MV['active'][id]).className=MV['classname'][id];
		GO('mover-select-' + id + '-' + id2).value=0;

		MV['active'][id]=false;
		MV['active_id2'][id]=false;

		MV['bcg'][id]=false;

		Mover_Price();
	}



	function Mover_Remove_List(id, id2, idv)
	{
		if(MV['active'][id])
		{
			CCS('vlclose-' + id + '-' + id2 + '-' + MV['active'][id], 'display', 'none');
		}

		Mover_Remove(id, id2);
	}



	function Mover_Close()
	{
		MV['run']=false;
		GO('mover-block').innerHTML='';
	}

