/*
	System:     Calculate Pond Volume
	Version:    2.10
	Copyright:  2011 (c) Fred's Konsult, Fredrik Jacobsson

	Licensed to: Fred's Konsult

	All JavaScript-code in this file are the property of
	Fred's Konsult. You are not allowed to copy, modify or
	distribute any portion of it without permission.

	Website:   http://www.pump-demo-com
	E-mail:    info[at]pump-demo.com
*/

var cpvLng;

function initText() {
if (pdCheck()){
 if(lang=="de"){cpvLng="de";}else{cpvLng="en";}
}
else {
 cpvLng="en";
 for (i=1;i<7;i++) {if(document.links[i].text=="Startseite"){cpvLng="de";break;}}
}
if (cpvLng == "en") {
cpvActiveZone = "    - edit this zone ";
cpvPass = "<span style='padding-left:20px;'>Use value...</span>";
cpvErr_sq_val	= "Error - you have entered more squares in the different zones than what the pond size allows";
cpvErr_num_of_val	= "   (value missing)";
cpvErr0 = "The pond must be drawn as a continuous space - you can't increase/decrease pond here";
cpvErr1 = "There have to be a space between this zone and the container zone.";
cpvErr2 = "There have to be a space between this zone and the pond edge.";
cpvErr3 = "A shallow water zone or a deep water zone is not allowed outside the pond and the deep water zone must be drawn in the shallow water zone.";
cpvErr4 = "You can't decrease this zone here - decrease the deep-water zone first.";
cpvMFTtext1 = "metres";
cpvLGtext1 = "Litres";
} else {
cpvActiveZone = "    - Bearbeiten Sie diese Zone";
cpvPass = "<span style='padding-left:20px;'>Ergebnis verwenden...</span>";
cpvErr_sq_val	= "Fehler- Sie haben mehr Quadrate in die verschiedenen Zonen eingetragen, als die Teichgröße erlaubt.";
cpvErr_num_of_val	= "   (fehlender Wert)";
cpvErr0 = "Der Teich muss als ununterbrochener Raum gezeichnet werden. Sie können ihn hier nicht zerteilen.";
cpvErr1 = "Es muss einen Raum zwischen den beiden Zonen geben.";
cpvErr2 = "Es muss einen Raum zwischen dieser Zone und dem Teichrand geben.";
cpvErr3 = "Eine Zone des seichten Wassers oder eine Zone des tiefen Wassers wird nicht außerhalb des Teiches erlaubt und die Zone des tiefen Wassers muss in die Zone des seichten Wassers gezeichnet werden.";
cpvErr4 = "Sie können diese Zone nicht hier verringern - verringern Sie die Tiefwasserzone zuerst.";
cpvMFTtext1 = "metres";
cpvLGtext1 = "Litres";

}
}

var cpvMapp = "/pdc/";
var cpvTagg1 = "<img src='" + cpvMapp + "p0.gif' id='";	//<img src='../p0.gif' id='x0y15' onclick='c(0,15)' alt=''>
var cpvTagg110 = "<img src='" + cpvMapp + "p10.gif' id='";
var cpvTagg120 = "<img src='" + cpvMapp + "p20.gif' id='";
var cpvTagg130 = "<img src='" + cpvMapp + "p30.gif' id='";
var cpvTagg2 = "' onclick='c(";
var cpvTagg3 = ")'>";
var cpvAllponds = 
[
"--------------------- --------------------- ----111111111111----- ---11111111111111---- --1111122222211111--- --1111222222221111--- --1112223333222111--- --1112233333322111--- --1112233333322111--- --1112223333222111--- --1111222222221111--- --1111122222211111--- ---11111111111111---- ----111111111111----- --------------------- ---------------------",
"--------------------- --------------------- ------11111111------- ----111111111111----- ---11112222221111---- --1111222222221111--- --1112222332222111--- -111122233332221111-- -111122233332221111-- --1112222332222111--- --1111222222221111--- ---11112222221111---- ----111111111111----- ------11111111------- --------------------- ---------------------",
"--------------------- --------11111-------- ------111111111------ -----1111111111------ ----111122221111----- ----111222222111----- ---11122233222111---- ---11122333322111---- ---11122333322111---- ---11122233222111---- ----111222222111----- ----111122221111----- -----1111111111------ ------11111111------- --------1111--------- ---------------------",
"--------------------- ------11111---------- ----111111111-------- ---111111111111------ --111122211111111---- --1112222211111111--- -111222322211111111-- -1112233322111111111- -1112223222111111111- --11122222111111111-- --1111222111111------ ---1111111111-------- ----1111111---------- ------111------------ --------------------- ---------------------",
"--------------------- --------11111-------- ------111111111------ ----1111111111111---- ---111112222211111--- --1111122232221111--- --11112223332221111-- -1111222223222221111- -1111122222222211111- -111111111111111111-- --11111111111111111-- --1111111--1111111--- ---1111------1111---- ----1----------1----- --------------------- ---------------------",

"--------------------- ------111111111------ ---11111111111111---- --1111122222211111--- -111112222222211111-- -111122223322221111-- -1111222333322211111- -1111223333332211111- --111222333322211111- --11122223322221111-- --11112222222211111-- --1111122222211111--- --111111111111111---- ---111111111111------ --------------------- ---------------------",
"--------------------- -------111111-------- ----11111111111------ --11111111111111----- -11111122221111111--- -111112222221111111-- --111122232221111111- ---1112233322111111-- ---11122232211111---- ---11112222111111---- ----1111221111111---- ----111111111111----- -----111111111------- -------1111---------- --------11----------- ---------------------",
"--------------------- -------1111---------- -----1111111--------- ---111-222-11-------- --111-22222-111------ -111-2222222-1111---- -111222-33-22-1111--- -111222333322211111-- --11-22-33-22-11111-- ---11-222222-11111--- ---111-2222-11111---- ----1111111111------- -----1111111--------- -------1111---------- --------------------- ---------------------",
"--------------------- ------111111--------- ----111111111-------- ---1111222111-------- --1111222221111------ --1112223322111111--- -111122333322111111-- -1111123333322111111- --111112333322111111- ----111223322211111-- ------112222211111--- ------111221111------ ------111111111------ -------1111111------- --------11111-------- ---------------------",
"--------------------- ------11111111------- ----1111111111111---- ---1111-2222-111111-- --1111-222222-111111- --111-22-33-22-11111- -111122233332221111-- -1111222333322211---- --111-22333-22-11---- --111122-3-222111---- ---111-222222-11----- ---1111-2222-111----- ----11111111111------ -----111111111------- -------1111---------- ---------------------"
]
var cpvMall = "--------------------- --------------------- --------------------- -------111111-------- ------11111111------- -----1111221111------ -----1112222111------ -----1122332211------ -----1122332211------ -----1112222111------ -----1111221111------ ------11111111------- -------111111-------- --------------------- --------------------- ---------------------";
var gpInit = "";
var cpvBol = -1;
var cpvXmax = 20;
var cpvYmax = 15;
var cpvLlevel = 10;
var cpvMemVal = '';
var cpvY1 = -1;
var cpvY2 = cpvYmax + 1;
var cpvY1mem;
var cpvY2mem;
var cpvXY = new Array(cpvYmax+2);
for (y = 0; y <= cpvYmax; y++) {
	cpvXY[y] = new Array(cpvXmax+1);
	for (x = 0; x <= cpvXmax; x++) {
		cpvXY[y][x] = -1;
	}
}
var cpvST = "step0";
var cpvLG  = 1;
var cpvLG2  = 1;
var cpvLGG1 = 4.54609;// UK
var cpvLGG2 = 3.78541;// US
var cpvUKUSG = "g1";// 1=UK 2=US
var cpvUlgSelInit = "l";
var cpvUmfSelInit = "m";
var cpvUxSelInit = "m3";
var cpvUlgSel="";
var cpvUmfSel="";
var cpvUxSel="";
var cpvMFT;
var cpvLGtext;
var cpvLGtext2;
var cpvMFTtext;
var cpvMFTtext2;

var cpvActiveZone;
var cpvPass;
var cpvErr_sq_val;
var cpvErr_num_of_val;
var cpvErr0;
var cpvErr1;
var cpvErr2;
var cpvErr3;
var cpvErr4;
var cpvMFTtext1;
var cpvLGtext1;
var cpvVolDec;

function SelHov(id, action, th, typ) {
	if (action == -1) {
		if (window[id+"Sel"] != th) {
			if (! typ)  { cpvgetid(id+th+"i").src = cpvMapp+"cpvnoll.gif";}
		}
	}
	else if (action==1) {				// select
		cpvstyle(id+th).fontWeight = "bold";
		cpvgetid(id+th+"i").src = cpvMapp+"cpvsel.gif";

		if (window[id+"Sel"] == th) { return; }		
		if (window[id+"Sel"]) {			// clear selected
			cpvstyle(id+window[id+"Sel"]).fontWeight = 100;
			cpvgetid(id+window[id+"Sel"]+"i").src = cpvMapp+"cpvnoll.gif";
		}
		window[id+"Sel"] = th;
		cpvChUnit(th);
		cpvClAll();
	}
	else {
		if (th != window[id+"Sel"]) {		 // hover if not selected
			if (! typ)    { cpvgetid(id+th+"i").src = cpvMapp+"cpvhov.gif";}
		}
	}
}

function cpvChUnit(unit) {
	if (unit == "m") {
		showhideUnit("me",9,cpvMFTtext1);
		showhideUnit("m",23,"m");
		cpvMFT = 1;
		cpvMFTtext  = " m";
		cpvMFTtext2 = " m" + unescape("%B2");
	}
	else if (unit == "ft") {
		showhideUnit("me",9,"Feet");
		showhideUnit("m",23,"ft");
		cpvMFT = 0.3048;
		cpvMFTtext  = " ft";
		cpvMFTtext2 = " Square Feet";
	}
	else if (unit == "l") {
		cpvVolDec = 1;
		showhideUnit("l",1,cpvLGtext1);
		cpvLGtext  = " l";
		cpvLGtext2 = " l/min";
		cpvLG = 1;
		cpvLG2 = 1;
		cpvUlgSelInit = "l";
		cpvUnitBig();
	}
	else if (unit == "g1") {
		cpvVolDec = 1;
		cpvLGtext = " UKG";
		cpvLGtext2 = " UKG.P.M.";
		showhideUnit("l",1,cpvLGtext);
		cpvLG = cpvLGG1;
		cpvLG2 = cpvLGG1;
		cpvUnitBig();
	}
	else if (unit == "g2") {
		cpvVolDec = 1;
		cpvLGtext = " USG";
		cpvLGtext2 = " USG.P.M.";
		showhideUnit("l",1,cpvLGtext);
		cpvLG = cpvLGG2;
		cpvLG2 = cpvLGG2;
		cpvUnitBig();
	}
	else if (unit == "m3") {
		cpvVolDec = 100;
		cpvLGtext = " m" + unescape("%B3");
		cpvLG = 1000;
		cpvLGConvert = 1;
	}
	else if (unit == "f3") {
		cpvVolDec = 10;
		cpvLGtext = " ft" + unescape("%B3");
		cpvLG = 28.3168;
		cpvLGConvert = 1;
	}
	else if (unit == "off") {
		cpvLGConvert = "";
		cpvChUnit(cpvUlgSel)
	}
}
function cpvInitUnit() {
	initText();
	var un="";
	if (window["unit"]) {
		un = unit;
	}
	if (un == "gft") {
		cpvChUnit(cpvUKUSG);
		cpvChUnit("ft");
	}
	else if (un == "lm") {
		cpvChUnit("l");
		cpvChUnit("m");
	}
	else {
		if (cpvUlgSel) {return;}
		SelHov('cpvUlg', 1, cpvUlgSelInit);
		SelHov('cpvUmf', 1, cpvUmfSelInit);
		SelHov('cpvUx', 1, cpvUxSelInit);
	}
}
function cpvUnitBig() {
if (cpvUxSel != "off") {cpvChUnit(cpvUxSel);}
}
function showhideUnit(show,max, valu) {
for (var t = 1; t <= max; t++) {cpvgetid("cpvU" + show + t).innerHTML = valu;}
}
function volPass(vol) {
	if (!pdCheck()) {return "";}
	return "<a href='#' onclick='volUse(" + vol + ");return false;'>" + cpvPass + "</a>";
}
function volUse(val) {hidePopup();getid("paramVolume").value = val;calct(1);}
function pdCheck() {if (window["pdChecker"]){return true;}else{return false;}}
function error(i) {
	if (i==0) {alert(cpvErr0);	}
	else if (i==1) {alert(cpvErr1);}
	else if (i==2) {alert(cpvErr2);}
	else if (i==3) {alert(cpvErr3);}
	else if (i==4) {alert(cpvErr4);}
}

var CVBasicL = '';
var CVBasicW = '';
var CVBasicD = '';
function cvCbasic() {
	CVBasicL = cpvgetid("cpvBlen").value;
	CVBasicW = cpvgetid("cpvBwid").value;
	CVBasicD = cpvgetid("cpvBdep").value;
	var temp = CVBasicL * CVBasicW * CVBasicD * cpvMFT * cpvMFT * cpvMFT * 1000 / cpvLG;
	temp = rund(temp,cpvVolDec);
	if (! temp) {
		temp = "-";
	} else {
		temp = temp + cpvLGtext + volPass(temp);
	}
	cpvgetid("cpvresBasic").innerHTML = temp;
}
function cpvGbasic(a,r) {
	if (a) {
		cpvInitUnit();
		cpvHid("step0");
		if(r){cpvIbasic(r);}
		cpvSid("basiC");
		cpvST = "basiC";
	} else {
		cpvSid("step0");
		cpvHid("basiC");
	}
}
function cpvIbasic(r) {
	cpvgetid("cpvBlen").value = (r) ? "" : CVBasicL;
	cpvgetid("cpvBwid").value = (r) ? "" : CVBasicW;
	cpvgetid("cpvBdep").value = (r) ? "" : CVBasicD;
}


var CV3alSQ = '';
var CV3abSQ = '';
var CV3ad1SQ = '';
var CV3ad2SQ = '';
var CV3ad3SQ = '';
var CV3ad4SQ = '';
var CV3ad1 = '';
var CV3ad2 = '';
var CV3ad3 = '';
var CV3ad4 = '';
var CV3alen = '';
var CV3awid = '';
function cvC3a() {
	CV3alSQ = cpvgetid("cpvlen3aSQ").value;
	CV3abSQ = cpvgetid("cpvwid3aSQ").value;
	CV3ad1SQ = cpvgetid("cpvdepI3aSQ").value;
	CV3ad2SQ = cpvgetid("cpvdepII3aSQ").value;
	CV3ad3SQ = cpvgetid("cpvdepIII3aSQ").value;
	CV3ad4SQ = cpvgetid("cpvdepIV3aSQ").value;
	CV3ad1 = cpvgetid("cpvdepI3a").value;
	CV3ad2 = cpvgetid("cpvdepII3a").value;
	CV3ad3 = cpvgetid("cpvdepIII3a").value;
	CV3ad4 = cpvgetid("cpvdepIV3a").value;
	CV3alen = cpvgetid("cpvlen3a").value;
	CV3awid = cpvgetid("cpvwid3a").value;

	var ruta = CV3alen * CV3awid; // kvadraten
	var kvadrat = '';
	if (CV3alSQ>0 && CV3abSQ>0) { kvadrat = ruta / CV3alSQ / CV3abSQ;}
	var yta = (CV3ad1SQ + CV3ad2SQ + CV3ad3SQ + CV3ad4SQ) * kvadrat;
	var yta = (CV3ad1SQ*kvadrat) + (CV3ad2SQ*kvadrat) + (CV3ad3SQ*kvadrat) + (CV3ad4SQ*kvadrat);
	var vol = (CV3ad1SQ*kvadrat*CV3ad1) + (CV3ad2SQ*kvadrat*CV3ad2) + (CV3ad3SQ*kvadrat*CV3ad3) + (CV3ad4SQ*kvadrat*CV3ad4);

	yta = rund(yta, 100);
	vol = vol * cpvMFT * cpvMFT * cpvMFT * 1000 / cpvLG;
	vol = rund(vol,cpvVolDec);
	if (yta > CV3alSQ * CV3abSQ) {
		yta = '';
	}
	if (! vol) {
		vol = "-";
	} else {
		vol = vol + cpvLGtext + volPass(vol);
	}
	if (yta == 0) {
		yta = "-";
	} else if (yta > CV3alen * CV3awid * 1.02) {
		yta = cpvErr_sq_val;
		vol = "-";
	} else {
		yta = yta + cpvMFTtext2;
	}
	var sq = '-';
	var kvLen;
	var kvWid;
	if (kvadrat) {
		kvLen = rund(CV3alen/CV3alSQ, 100);
		kvWid = rund(CV3awid/CV3abSQ, 100);
		sq = kvLen + cpvMFTtext + " x " + kvWid + cpvMFTtext;
	}
	cpvgetid("cpvresSQ1").innerHTML = vol;
	cpvgetid("cpvresSQ2").innerHTML = yta;
	cpvgetid("cpvresSQ3").innerHTML = sq;
}
function cpvG3a(a,r) {
	if (a) {
		cpvInitUnit();
		cpvHid("step1a");
		if(r){cpvI3a(r);}
		cpvSid("step3a");
		cpvST = "step3a";
	} else {
		cpvSid("step0");
		cpvHid("step3a");
	}
}
function cpvI3a(r) {
	cpvgetid("cpvlen3aSQ").value = (r) ? "" : CV3alSQ;
	cpvgetid("cpvwid3aSQ").value = (r) ? "" : CV3abSQ;
	cpvgetid("cpvdepI3aSQ").value = (r) ? "" : CV3ad1SQ;
	cpvgetid("cpvdepII3aSQ").value = (r) ? "" : CV3ad2SQ;
	cpvgetid("cpvdepIII3aSQ").value = (r) ? "" : CV3ad3SQ; 
	cpvgetid("cpvdepIV3aSQ").value = (r) ? "" : CV3ad4SQ;
	cpvgetid("cpvdepI3a").value = (r) ? "" : CV3ad1;
	cpvgetid("cpvdepII3a").value = (r) ? "" : CV3ad2;
	cpvgetid("cpvdepIII3a").value = (r) ? "" : CV3ad3;
	cpvgetid("cpvdepIV3a").value = (r) ? "" : CV3ad4;
	cpvgetid("cpvlen3a").value = (r) ? "" : CV3alen;
	cpvgetid("cpvwid3a").value = (r) ? "" : CV3awid;
}

var CV2alen = '';
var CV2awid = '';
var CV2ada = '';
var CV2adb = '';
var CV2adc = '';
function cvC2a() {
	var l      = -1;
	var lstart = cpvXmax;
	var lend   = -1;
	var b      = -1;
	var bstart = cpvYmax;
	var bend   = -1;
	var d1 = 0;
	var d2 = 0;
	var d3 = 0;
	for (y = 0; y <= cpvYmax; y++) {
		for (x = 0; x <= cpvXmax; x++) {
			var i = cpvXY[y][x];
			if (i == 10 ) {
				b = y;
				if (y < bstart) { bstart = y; }
				if (y > bend)   { bend = y; }
				if (x < lstart) { lstart = x; }
				if (x > lend)   { lend = x; }
				d1++;
			}
			else if (i > 10 && i < 19) { d1 = d1 + 0.5; }
			else if (i == 20 ) { d2++; }
			else if (i > 20 && i < 29) { d2 = d2 + 0.5; d1 = d1 + 0.5; }
			else if (i == 30 ) { d3++; }
			else if (i > 30 && i < 39) { d3 = d3 + 0.5; d2 = d2 + 0.5;}
		}
		b = -1;
	}
	CV2alen = cpvgetid("cpvrl").value;
	CV2awid = cpvgetid("cpvrb").value;
	b = bend - bstart + 1;
	l = lend - lstart + 1;
	var ruta = CV2alen * CV2awid; // kvadrat
	if (ruta > 0 && b > 0 && l > 0) {
		var kvadrat = ruta / l / b;
		var yta = (d1+d2+d3) * kvadrat;
		yta = rund(yta, 100);
		yta = yta + cpvMFTtext2;
		CV2ada = cpvgetid("cpvrd1").value;
		CV2adb = cpvgetid("cpvrd2").value; if (! CV2adb) {CV2adb = CV2ada;}
		CV2adc = cpvgetid("cpvrd3").value; if (! CV2adc) {CV2adc = CV2adb;}
		var vol = (d1*kvadrat*CV2ada) + (d2*kvadrat*CV2adb) + (d3*kvadrat*CV2adc);
		vol = vol * cpvMFT * cpvMFT * cpvMFT * 1000 / cpvLG;
		vol = rund(vol,cpvVolDec);
		if (vol > 0) {
			vol = vol + cpvLGtext + volPass(vol);
		} else {
			vol = '-';
		}
		var sq = '-';
		var sqlen = rund(CV2alen/l, 100);
		var sqwid = rund(CV2awid/b, 100);
		sq = sqlen + cpvMFTtext + " x " + sqwid + cpvMFTtext;
		cpvgetid("cpvres2a1").innerHTML = vol;
		cpvgetid("cpvres2a2").innerHTML = yta;
		cpvgetid("cpvres2a3").innerHTML = sq;
	}
	cpvBol = -1;
}

function cpvG2a(a,r) {
	if (a) {
		cpvInitUnit();
		cpvHid("step1a");
		if(r){cpvI2a(r);}
		cpvSid("step2a");
		cpvST = "step2a";
	} else {
		cpvSid("step0");
		cpvHid("step2a");
	}
}
function cpvG1a(a,r) {
	if (a) {
		cpvHid('step0');
		cpvSid('step1a');
		cpvST = "step1a";
	} else {
		cpvSid('step0');
		cpvHid('step1a');
	}
}
function cpvI2a(r) {
	cpvgetid("cpvrl").value = (r) ? "" : CV2alen;
	cpvgetid("cpvrb").value = (r) ? "" : CV2awid;
	cpvgetid("cpvrd1").value = (r) ? "" : CV2ada;
	cpvgetid("cpvrd2").value = (r) ? "" : CV2adb;
	cpvgetid("cpvrd3").value = (r) ? "" : CV2adc;
}

var CVbl1 = '';
var CVbb1 = '';
var CVbd1 = '';
var CVbs1 = 0;
var CVbl2 = '';
var CVbb2 = '';
var CVbd2 = '';
var CVbs2 = 0;
var CVbl3 = '';
var CVbb3 = '';
var CVbd3 = '';
var CVbs3 = 0;
var CVbl4 = '';
var CVbb4 = '';
var CVbd4 = '';
var CVbs4 = 0;
var CVbl5 = '';
var CVbb5 = '';
var CVbd5 = '';
var CVbs5 = 0;
var CVbl6 = '';
var CVbb6 = '';
var CVbd6 = '';
var CVbs6 = 0;

function cvCb() {
	var vol = 0;
	var yta = 0;
	var chErr = '';
	for (i=1; i<=6; i++) {
		var temp = "";
		var len = cpvgetid("cpvl" + i).value;
		var wid = cpvgetid("cpvb" + i).value;
		var dep = cpvgetid("cpvd" + i).value;

		window["CVbl"+i] = len;
		window["CVbb"+i] = wid;
		window["CVbd"+i] = dep;

		if (len>0 || wid>0 || dep>0) {temp = 1;}
		var fac = 0;
		for( t = 0; t < 3; t++ ) {
			if( cpvgetid("cpvs" + i + t).checked) {
				window["CVbs"+i] = t;
				fac = cpvgetid("cpvs" + i + t).value;
			}
		}
		var temp2 = len * wid * dep * fac;
		if (temp2 == 0 && temp == 1) { chErr = 1; }
		vol += (len * wid * dep * fac);
		yta += (len * wid * fac);
	}
	vol = vol * cpvMFT * cpvMFT * cpvMFT * 1000 / cpvLG;
	vol = rund(vol, cpvVolDec);
	yta = rund(yta, 100);

	if (chErr == 1 && vol > 1) {
		chErr = cpvErr_num_of_val;
	} else {
		chErr = "";
	}
	if (! yta) {
		yta = "-";
	} else {
		yta = yta + cpvMFTtext2;
	}
	if (! vol) {
		vol = "-";
	} else {
		vol = vol + cpvLGtext + volPass(vol);
	}
	cpvgetid("cpvf2").innerHTML = vol + chErr;
}
function cpvG2b(a,r) {
	if (a) {
		cpvInitUnit();
		cpvHid("step1b");
		if(r){cpvI2b(r);}
		cpvSid("step2b");
		cpvST = "step2b";
	} else {
		cpvSid("step0");
		cpvHid("step2b");
	}
}
function cpvG1b(a) {
	if (a) {
		cpvHid("step0");
		cpvSid("step1b");
		cpvST = "step1b";
	} else {
		cpvSid("step0");
		cpvHid("step1b");
	}
}
function cpvI2b(r) {
	for (i=1; i<=6; i++) {
		cpvgetid("cpvl"+i).value = (r) ? "" : window["CVbl"+i];
		cpvgetid("cpvb"+i).value = (r) ? "" : window["CVbb"+i];
		cpvgetid("cpvd"+i).value = (r) ? "" : window["CVbd"+i];
		var temp = (r) ? 0 : window["CVbs"+i];
		cpvgetid("cpvs" + i + temp).checked = 1;
	}
}


var CVbuket = 10;
var CVmin1 = 0;
var CVsec1 = '00';
var CVhour2 = 0;
var CVmin2 = '00';
var CVsec2 = '00';
function cvCc() {
	var cC1 = cpvgetid("cpvrestid1");
	var cC2 = cpvgetid("cpvrestid2");
	cC1.innerHTML = "-";
	cC2.innerHTML = "-";

	CVbuket = cpvgetid("cpvbuket").value;
	if (CVbuket < 1 ) { return; }
	CVmin1 = chvalue(cpvgetid("cpvmin1").value);
	CVsec1 = chvalue(cpvgetid("cpvsec1").value);
	var bukettime = CVmin1 + CVsec1 / 60;
	if (bukettime == 0 ) { return; }
	var flow = CVbuket / bukettime;
	cC2.innerHTML = rund(flow, 10) + cpvLGtext2;
	flow *= cpvLG2;
	CVhour2 = chvalue(cpvgetid("cpvhour2").value);
	CVmin2 = chvalue(cpvgetid("cpvmin2").value);
	CVsec2 = chvalue(cpvgetid("cpvsec2").value);
	var pondtime = CVmin2 + CVsec2 / 60 + CVhour2 * 60;
	if (pondtime == 0 ) { return; }
	var vol = pondtime * flow;
	if (cpvLGConvert) {
		vol /= cpvLG;
	} else {
		vol /= cpvLG2;
	}
	vol = rund(vol, cpvVolDec);

	cC1.innerHTML = vol + cpvLGtext + volPass(vol);
}
function cpvGc(a,r) {
	if (a) {
		cpvInitUnit();
		cpvHid("step0");
		if(r){cpvIc(r);}
		cpvSid("stepC");
		cpvST = "stepC";
	} else {
		cpvSid("step0");
		cpvHid("stepC");
	}
}
function cpvIc(r) {
	cpvgetid("cpvbuket").value = (r) ? "10" : CVbuket;
	cpvgetid("cpvmin1").value = (r) ? "0" : CVmin1;
	cpvgetid("cpvsec1").value = (r) ? "00" : CVsec1;
	cpvgetid("cpvhour2").value = (r) ? "0" : CVhour2;
	cpvgetid("cpvmin2").value = (r) ? "00" : CVmin2;
	cpvgetid("cpvsec2").value = (r) ? "00" : CVsec2;
}






function searchcol(x, lev, cl) {
	cpvY1 = -1;
	cpvY2 = cpvYmax + 1;
	var levfloor = Math.floor((lev/10)*10);
	for (yy = 0; yy <= cpvYmax; yy++) {
		var i = cpvXY[yy][x];
		if (i == levfloor && cpvY1 == -1) { cpvY1 = yy; }
		if (i == levfloor && cpvY1 >= 0)  { cpvY2 = yy; }
		if (cl == 1) {
			if (i > lev && i < (lev+10)) {
				evalit(x, yy, lev-10, 1);
			}
		}
	}
	if (cpvY1 >= 0) { return 1; }
	return -1;
}

function exec(x, start, end, onoff) {
	for (y = start; y <= end; y++) {
		evalit(x, y, onoff, 1);
	}
	rundmacro(x-2, x+2, cpvLevel ,1);
}
function validate2(x, y, lev, yplus) {
	if (cpvXY[y+yplus][x] > lev+5 ) { return false; }
	if (cpvXY[y][x-1] > lev+5 )     { return false; } 
	if (cpvXY[y][x+1] > lev+5 )     { return false; } 
	return true;
}

function c(x, y) {
	reseta(1);
	minus = 0;
	searchcol(x, cpvLevel);
	var i = cpvXY[y][x];
	if (i == cpvLevel || i > cpvLevel+5) { 						// minska
		var lev = -1;
		if (cpvLevel >= 20) { lev = cpvLevel - 10; } 
		var m1 = y - cpvY1;
		var m2 = cpvY2 - y;
		if (cpvY1 == cpvY2 && cpvLevel == 10) {
			if ( searchcol(x-1, 10, -1) == 1 && searchcol(x+1, 10, -1) == 1 )  {
				error(0);
			} else if (! validate2(x, y, cpvLevel, 1)) {
				error(4);
			} else {
				exec(x, y, y, lev);
			}
		} else if (m1 <= m2) {
			if (cpvY1 > 0) {minus = 1; }
			for (ya = (cpvY1-minus); ya <= y; ya++) {
				if (! validate2(x, ya, cpvLevel, 1)) { y = (cpvY1-minus); error(4);return; }
			}
			exec(x, cpvY1-minus, y, lev);
		} else {
			if (cpvY2 < cpvYmax) {minus = 1; }
			for (ya = y; ya <= cpvY2+minus; ya++) {
				if (! validate2(x, ya, cpvLevel, -1)) { y = (cpvY2+minus); error(4);return; }
			}
			exec(x, y, cpvY2+minus, lev);
		}
		cpvMemVal = '';
		return;
	}

	if (y < cpvY1) {									// �ka ned�t
		if (cpvY1 > 0) {minus = 1; }
		if (cpvLevel >= 20) {
			if (! validate1(x, y, cpvLevel-10, cpvLevel) ) { error(1); return; }
		}
		exec(x, y, cpvY1-minus, cpvLevel);
	}
	else if (y > cpvY2) {								// �ka upp�t
		if (cpvLevel >= 20) {
			if (! validate1(x, y, cpvLevel-10, cpvLevel) ) { error(1); return; }
		}
		exec(x, cpvY2+1, y, cpvLevel);
	}
	else if (cpvY1 == -1 && cpvY2 > cpvYmax) {						// ny rad
		minus = 1;
		if (x == 0) { minus = 0; }
		if (cpvLevel == 10 && cpvXY[y][x-minus] < 10 && cpvXY[y][x+1] < 10) { error(0); return; }
		else if (cpvLevel >= 20 && i < cpvLevel-10) {
			error(3);
			return;
		}
		else if (cpvLevel >= 20) {
			if (! validate1(x, y, cpvLevel-10, cpvLevel) ) { error(1); return; }
		}
		exec(x, y, y, cpvLevel);
	}
	cpvMemVal = cpvXY[y][x];
}

function validate1(x, y, a, b) {
	var i = cpvXY[y][x];
	if (i < a+5 && i != a ) {
		if (i < b || i > (b+4) ) { return false; } 
	}
	i = cpvXY[y][x+1];
	if (i < a+5 && i != a ) {
		if (i < b || i > (b+4) ) { return false; } 
	}
	i = cpvXY[y][x-1];
	if (i < a+5 && i != a ) {
		if (i < b || i > (b+4) ) { return false; } 
	}
	i = cpvXY[y-1][x];
	if (i < a+5 && i != a ) {
		if (i < b || i > (b+4) ) { return false; } 
	}
	i = cpvXY[y+1][x];
	if (i < a+5 && i != a ) {
		if (i < b || i > (b+4) ) { return false; } 
	}
	return true;
}


function rundmacro(xa, xb, lev, cl) {
	if (xa < 0) {xa = 0; }
	if (xb > cpvXmax+1) {xb = cpvXmax+1; }
	var xc = xa;
	if (xc == 0) { xc = -1; }
	for (x = xa; x <= xb; x++) {
		if (x == xc || x == xb) {
			rundkant(x, lev, -1);
		} else {
			rundkant(x, lev, cl);
		}
	}
	rundend();
}
function rundkant(x, lev, cl) {
	if (lev == -1) {lev = 10; }
	searchcol(x, lev, cl);
	if (cpvY2mem) {
		if (cpvY2mem < cpvY2 && cpvY2 <= cpvYmax) {
			var temp = cpvXY[cpvY2mem+1][x-2];
			if (temp == undefined) {temp = -1;}
			if (temp < cpvLevel || temp > cpvLevel) {
				evalit(x-1, cpvY2mem+1, r1, 1);
			}
		} else if (cpvY2mem > cpvY2) {
			var temp = cpvXY[cpvY2+1][x+1];
			if (temp < cpvLevel || temp > cpvLevel) {
				evalit(x, cpvY2+1, r2, 1);
			}
		}
		if (cpvY1mem > cpvY1 && cpvY1 >= 0) {
			var temp = cpvXY[cpvY1mem-1][x-2];
			if (temp == undefined) {temp = -1;}
			if (temp < cpvLevel || temp > cpvLevel) {
				evalit(x-1, cpvY1mem-1, r3, 1);
			}
		} else if (cpvY1mem < cpvY1) {
			var temp = cpvXY[cpvY1-1][x+1];
			if (temp < cpvLevel || temp > cpvLevel) {
				evalit(x, (cpvY1-1), r4, 1);
			}
		}
	}
	if (cpvY1 >= 0) {
		cpvY2mem = cpvY2;
		cpvY1mem = cpvY1;
	}
}
function rundend() {
	cpvY2mem = '';
	cpvY1mem = '';
}
function evalit (x, y, lev, save) {
	var p = "p0";
	if (lev >= 10) {
		p = "p" + lev;
	}
	cpvgetid("x" + x + "y" + y).src = cpvMapp + p + ".gif";
	if (save) {
		cpvXY[y][x] = lev;
	}
}
function chlev(i) {
	r1 = i + 1;
	r2 = i + 2;
	r3 = i + 3;
	r4 = i + 4;
	cpvLevel = i;
}
function mark(i) {
	for (y = 10; y <= 30; y+=10) {
		cpvgetid("cpvActiveZone"+y).innerHTML = "";
	}
	cpvgetid("cpvActiveZone"+i).innerHTML = cpvActiveZone;
}
function reseta(i) {
	if (cpvBol == -1) {
		cpvgetid("cpvres2a1").innerHTML = "-";
		cpvgetid("cpvres2a2").innerHTML = "-";
		cpvgetid("cpvres2a3").innerHTML = "-";
		cpvBol = 1;
	}
}

function cvSt(i) {
	cpvgp();
	var resetForm = "";
	if (!gpInit || i>=0) {
		reseta(1);
		var ii = -1;
		var k;
		if (i >= 0) { cpvMall = cpvAllponds[i]; }
		for (y = 0; y <= cpvYmax; y++) {
			for (x = 0; x <= cpvXmax; x++) {
				ii++;
				k = cpvMall.substr(ii,1);

				if (k == '-' ) {
					cpvXY[y][x] = -1;
					evalit(x, y, -1);
				}
				else if (k == '1' ) {
					cpvXY[y][x] = '10';
					evalit(x, y, 10);
				}
				else if (k == '2' ) {
					cpvXY[y][x] = '20';
					evalit(x, y, 20);
				}
				else if (k == '3' ) {
					cpvXY[y][x] = '30';
					evalit(x, y, 30);
				}
				else if (k == " ") {
					x = x-1;
				}
			}
			cpvXY[y][cpvXmax+1] = -1;
		}
	} else {
		resetForm = 1;
	}
	chlev(30);
	rundmacro(0, cpvXmax, 30, -1);
	chlev(20);
	rundmacro(0, cpvXmax, 20, -1);
	chlev(10);
	rundmacro(0, cpvXmax, 10, -1);
	rundend();
	initText();
	mark(10);
	cpvG2a(1,resetForm)
	cvC2a();
	gpInit = 1;
}
function cpvgp() {
	var gp = "";
	var zon = "";
	for (y = cpvYmax; y >= 0; y--) {
		for (x = 0; x <= cpvXmax; x++) {


if      (cpvXY[y][x] == 10) {zon = cpvTagg110;}
else if (cpvXY[y][x] == 20) {zon = cpvTagg120;}
else if (cpvXY[y][x] == 30) {zon = cpvTagg130;}
else    {zon = cpvTagg1;}
			gp = gp + zon + 'x' + x + 'y' + y +cpvTagg2 + x + ',' + y +cpvTagg3;
		}
	}
	cpvgetid('cpvGP').innerHTML = gp;
}










		function cpvHid(id) {
			if (document.getElementById) { // DOM3 = IE5, NS6
				document.getElementById(id).style.display = 'none';
			}
			else {
				if (document.layers) { // Netscape 4
					document.id.display = 'none';
				}
				else { // IE 4
					document.all.id.style.display = 'none';
				}
			}
		}
		function cpvSid(id, disp) {
			if (!disp) {disp="block";}
			if (document.getElementById) { // DOM3 = IE5, NS6
				document.getElementById(id).style.display = disp;
			}
			else {
				if (document.layers) { // Netscape 4
					document.id.display = disp;
				}
				else { // IE 4
					document.all.id.style.display = disp;
				}
			}
		}
		function cpvgetid(id) {
			if (document.getElementById) { // DOM3 = IE5, NS6
				return document.getElementById(id);
			} else {
				if (document.layers) { // Netscape 4
					return document.id;
				} else { // IE 4
					return document.all.id;
				}
			}
		}
	function cpvstyle(id) {
		if (document.getElementById) { // DOM3 = IE5, NS6
			if (document.getElementById(id)) {return document.getElementById(id).style;}
		}
		else {
			if (document.layers) { // Netscape 4
				return document.id;
			}
			else { // IE 4
				if (document.all.id) {return document.all.id.style;}
			}
		}
	}





function cvPars(v, dec, min, max, init) {

	var str = v.value;
	var b = str.indexOf(",");
	if (b >=0) {str = str.substring(0,b) + "." + str.substring(b+1);}
	b = parseFloat(str);
	b = chvalue(b);

	if (max && b > max) { b = max; }
	if (min && b < min) { b = min; }

	var decimal = 1;
	if (dec) { decimal = 100; }
	v.value = initial(rund(b, decimal),init);

}
function initial(val, init) {
	if (!val) {val = 0;}
	if (init == 1 && val == 0) {
		return "0";
	}
	else if (init == 2 && val == 0) {
		return "00";
	}
	else if (init == 2 && val < 10){
		return "0" + val;
	}
	else {
		return val;
	}
}

		function rund(a,b) {
			a += 0.0001;
			a = Math.floor(a * b) / b;
			if (b==10) {var fix = 1;}
			if (b==100) {var fix = 2;}

			if (a.toFixed && (fix)) {
				a = a.toFixed(fix);
			}
			if (a == 0) {a='';}
			return a;
		}


		function chvalue(a) {a = isvalue(a);a = Math.abs(a);return a;}

		function isvalue(a) {if (isNaN(a)) {return 0;} else {return a;}}

		function noenter() { return false;}



function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();  
		}
	}
}  
function onloadFunction() {
	cpvgp();
}
//addLoadEvent(onloadFunction);

function cpvUNsel(a) {
	if (a) {
		cpvInitUnit();
		cpvHid("step0")
		cpvHid("basiC");
		cpvHid("step1a");
		cpvHid("step2a");
		cpvHid("step3a");
		cpvHid("step1b");
		cpvHid("step2b");
		cpvHid("stepC");
		cpvSid("cpvUN");
	} else {
		cpvSid(cpvST);
		cpvHid("cpvUN");
	}
}
function cpvClAll() {
	cpvgetid("cpvres2a1").innerHTML = "-";
	cpvgetid("cpvres2a2").innerHTML = "-";
	cpvgetid("cpvres2a3").innerHTML = "-";
	cpvgetid("cpvresSQ1").innerHTML = "-";
	cpvgetid("cpvresSQ2").innerHTML = "-";
	cpvgetid("cpvresSQ3").innerHTML = "-";
	cpvgetid("cpvresBasic").innerHTML = "-";
	cpvgetid("cpvrestid1").innerHTML = "-";
	cpvgetid("cpvrestid2").innerHTML = "-";
	cpvgetid("cpvf2").innerHTML = "-";
}


