// Init
var req;
var step1;
var step2;
var step3;
var step4;
var step5;
var step6;
var step7;

var currentStepID;
var currentStepObject;

var oversized = 0;
var assymetric = 0;
var tonnes = 0;
var legs = 0;
var angle = 0;
var master = "";
var gCode = "";
var gCode1 = "";
var gCode2 = "";
var chainLength = 0;
var hook = "";
var chain;
var wll;

var lang = "en";

function bodyLoad(ilang) {
	lang = ilang;
	step1 = document.getElementById("step1");
	step2 = document.getElementById("step2");
	step3 = document.getElementById("step3");
	step4 = document.getElementById("step4");
	step5 = document.getElementById("step5");
	step6 = document.getElementById("step6");
	step7 = document.getElementById("step7");
	
	currentStepID = 1;
	currentStepObject = step1;
}
// Step


function goToStep(step) {
	var tmpCurrentStepObject = currentStepObject;
	var isBack = false;
	if(currentStepID>step) isBack = true;
	
	if(step==1) {
		step1.style.display = "block";
		currentStepObject = step1;
		currentStepID = 1;
	}
	else if(step==2) {
		if(document.getElementById("oversize").checked) {
			oversized = 1;
		}
		else {
			oversized = 0;
		}
		step2.style.display = "block";
		currentStepObject = step2;
		currentStepID = 2;
		if(legs>1) {
			document.getElementById("trAsymmetric").style.display="block";
		}
		else {
			document.getElementById("trAsymmetric").style.display="none";
		}
	}
	else if(step==3) {
		
		if(checkTonnes(legs)) {
			if(document.getElementById("assymetric").checked) {
				assymetric = 1;
			}
			else {
				assymetric = 0;
			}
			step3.style.display = "block";
			currentStepObject = step3;
			currentStepID = 3;
			
			if(legs>2) {
				var doc = loadXML('xml/combi.XML');
				var seeking = "//RECORDS/RECORD[sling="+legs+"]"
				var nodeList = doc.selectNodes(seeking);
				nodeList = nodeList(0).childNodes;
	
				if(oversized==1) master = "MTX";
				else master = "MF";
				gCode = "";
				gCode1 = nodeList.item(1).text;
				gCode2 = nodeList.item(2).text;
	
				
				
				if(isBack) {
					goToStep(2);
				}
				else {
					goToStep(4);
				}
				
			}
			else {
				var doc = loadXML('xml/master_index.XML');
				var seeking = "//RECORDS/RECORD[toplink=1 and forSling"+legs+"=1]"
				var nodeList = doc.selectNodes(seeking);
	
				if(oversized==0) {
					document.getElementById("step3TopLinks").innerHTML = "";
					for(var i=0;i<nodeList.length;i++) {
						document.getElementById("step3TopLinks").innerHTML += "<a onClick='setMaster(\""+nodeList(i).childNodes.item(0).text+"\"); goToStep(4);'><img src='img/"+nodeList(i).childNodes.item(0).text+"_TOP.jpg' width='100' height='100' border='0' class='productImage'></a><br>"+nodeList(i).childNodes.item(0).text;	
					}
				}
				else {
					document.getElementById("step3TopLinks").innerHTML = "";
				}
				
				var doc = loadXML('xml/grab_index.XML');
				var seeking = "//RECORDS/RECORD[chains="+legs+"]"
				var nodeList = doc.selectNodes(seeking);
				
				var gCodeIndex = nodeList(0).childNodes.item(0).text
				
				var doc = loadXML('xml/master_index.XML');
				var seeking = "//RECORDS/RECORD[toplink=0 and forSling"+legs+"=1 and oversize="+oversized+"]"
				var nodeList = doc.selectNodes(seeking);
	
				var doc = loadXML('xml/master_index.XML');
				var seeking = "//RECORDS/RECORD[toplink=0 and forSling"+legs+"=1 and oversize="+oversized+"]"
				var nodeList = doc.selectNodes(seeking);
	
				document.getElementById("step3MaterGrab").innerHTML = "";
				for(var i=0;i<nodeList.length;i++) {
					document.getElementById("step3MaterGrab").innerHTML += "<a onClick='setMaster(\""+nodeList(i).childNodes.item(0).text+"\"); setgCode(\""+gCodeIndex+"\"); goToStep(4);'><img src='img/"+nodeList(i).childNodes.item(0).text+".jpg' width='100' height='100' border='0' class='productImage'><img src='img/"+gCodeIndex+".jpg' width='100' height='100' border='0' class='productImage'></a><br>"+nodeList(i).childNodes.item(0).text+" with "+gCodeIndex;
				}
			}
		}
		else {
			tmpCurrentStepObject.style.display = "block";
			return false;
		}
	}
	else if(step==4) {
		step4.style.display = "block";
		currentStepObject = step4;
		currentStepID = 4;
	}
	else if(step==5) {
		currentStepObject = step5;
		currentStepID = 5;
		step5.style.display = "block";
		chainLength = document.getElementById("length").value;
		document.getElementById("imgAngle").src = "img/"+legs+"-parts_lyftvinkel.jpg";
		if(!isBack && legs==1) {
			goToStep(6);
		}
		else if(isBack && legs==1) {
			goToStep(4);
		}
	}
	else if(step==6) {
		if(document.forms["formStep5"].angle[0].checked) {
			angle = 45;
		}
		else if(document.forms["formStep5"].angle[1].checked) {
			angle = 60;
		}

		step6.style.display = "block";
		currentStepObject = step6;
		currentStepID = 6;
	
		var doc = loadXML('xml/hook_index.XML');
		var seeking = "//RECORDS/RECORD"
		var nodeList = doc.selectNodes(seeking);

		document.getElementById("step6EndFitting").innerHTML = "";
		for(var i=0;i<nodeList.length;i++) {
			document.getElementById("step6EndFitting").innerHTML += "<span style='width:110px;height:130px; float:left;'><a onClick='setHook(\""+nodeList(i).childNodes.item(0).text+"\"); goToStep(7);'><img src='img/"+nodeList(i).childNodes.item(0).text+".jpg' width='100' height='100' border='0' class='productImage'><br>"+nodeList(i).childNodes.item(0).text+"</a></span>";
		}
	}
	else if(step==7) {
		step7.style.display = "block";
		currentStepObject = step7;
		currentStepID = 7;
		var column = 0;
		var columnTextText = "";
		if(legs==1) {
			column = 1;
		}
		else if(legs==2) {
			if(assymetric==1) {
				column = 4;
			}
			else {
				if(angle==45) column = 2;
				else if(angle==60) column = 3;
			}
		}
		else if(legs==3 || legs==4) {
			if(assymetric==1) {
				column = 8;
			}
			else {
				if(angle==45) column = 6;
				else if(angle==60) column = 7;
			}
		}
		if(legs==1) {
			columnText= "leg1";
		}
		else if(legs==2) {
			if(assymetric==1) {
				columnText = "leg2AL";
			}
			else {
				columnText = "leg2"+angle;
			}
		}
		else if(legs==3 || legs==4) {
			if(assymetric==1) {
				columnText = "leg3and4AL";
			}
			else {
				columnText = "leg3and4"+angle;
			}
		}
		
		
		
		var doc = loadXML('xml/wll.XML');
		var seeking = "//RECORDS/RECORD["+columnText+">="+tonnes+"]"
		var nodeList = doc.selectNodes(seeking);
		nodeList = nodeList.item(0).childNodes;
		
		chain = nodeList.item(0).text;
		wll = nodeList.item(column).text;
		
		var doc = loadXML('xml/chain.XML');
		var seeking = "//RECORDS/RECORD[mm="+chain+"]"
		var nodeList = doc.selectNodes(seeking);
		nodeList = nodeList.item(0).childNodes;

		document.getElementById("sWll").innerText = wll;
		document.getElementById("sLegs").innerText = legs;
		document.getElementById("sLength").innerText = chainLength;
		
		if(legs>1) {
			document.getElementById("trAngle").style.display = "block";
			if(angle==45) document.getElementById("sAngle").innerText = " = 0-90°"
			else if(angle==60) document.getElementById("sAngle").innerText = " = 90-120°"
		}
		else document.getElementById("trAngle").style.display = "none";
		document.getElementById("sChain").innerText = nodeList.item(0).text;
		
		if(legs>2) {
			document.getElementById("imgResult").src = "img/"+legs+"-PART-"+master+"-"+gCode1+"-"+gCode2+"_"+hook+".jpg";
		
			var grabDoc = loadXML('xml/grab.XML');
			var seeking = "//RECORDS/RECORD[mm="+chain+" and (codeindex='"+gCode1+"' or codeindex='"+gCode2+"')]";
			var grabNodeList = grabDoc.selectNodes(seeking);

			if(grabNodeList.length==2) {
				document.getElementById("trGrapPcs1").style.display = 'block';
				document.getElementById("trGrapPcs2").style.display = 'block';
				
				grabNode = grabNodeList.item(0).childNodes;
				document.getElementById("sTdGrapPcs1").innerText = grabNode.item(0).text;
			
				grabNode = grabNodeList.item(1).childNodes;
				document.getElementById("sTdGrapPcs2").innerText = grabNode.item(0).text;
			}
			else {
				document.getElementById("trGrapPcs1").style.display = 'block';
				document.getElementById("trGrapPcs2").style.display = 'none';
				
				grabNode = grabNodeList.item(0).childNodes;
				document.getElementById("tdGrapPcs1").innerText = "2 pcs.";
				document.getElementById("sTdGrapPcs1").innerText = grabNode.item(0).text;
			}
		}
		else {
			if(gCode=="") document.getElementById("imgResult").src = "img/"+legs+"-PART-"+master+"_"+hook+".jpg";
			else document.getElementById("imgResult").src = "img/"+legs+"-PART-"+master+"-"+gCode+"_"+hook+".jpg";
			
			if(gCode!="") {
				var grabDoc = loadXML('xml/grab.XML');
				var seeking = "//RECORDS/RECORD[mm="+chain+" and codeindex='"+gCode+"']";
				var grabNodeList = grabDoc.selectNodes(seeking);
	
				if(grabNodeList.length==1) {
					document.getElementById("trGrapPcs1").style.display = 'block';
					document.getElementById("trGrapPcs2").style.display = 'none';
					
					grabNode = grabNodeList.item(0).childNodes;
					document.getElementById("sTdGrapPcs1").innerText = grabNode.item(0).text;
				}
			}
			else {
					document.getElementById("trGrapPcs1").style.display = 'none';
					document.getElementById("trGrapPcs2").style.display = 'none';				
			}
		}

		var hookDoc = loadXML('xml/hook.XML');
		var seeking = "//RECORDS/RECORD[mm="+chain+" and codeindex='"+hook+"']";
		var hookNodeList = hookDoc.selectNodes(seeking);
		hookNode = hookNodeList.item(0).childNodes;

		document.getElementById("sHookType").innerText = hookNode.item(0).text;
		document.getElementById("sHook").innerText = legs;

		var doc = loadXML('xml/master.XML');
		var seeking = "//RECORDS/RECORD[mm"+legs+"="+chain+" and codeindex='"+master+"']"

		var nodeList = doc.selectNodes(seeking);

		nodeList = nodeList.item(0).childNodes;
		//alert(document.getElementById("sMaster").innerText)
		document.getElementById("sMaster").innerText = nodeList.item(0).text;
	}
	tmpCurrentStepObject.style.display = "none";
	return false;
}

// XML

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

function loadXML(xmlFile) {
	xmlDoc.async="false";
	xmlDoc.onreadystatechange=verify;
	xmlDoc.load(xmlFile);
	return xmlDoc.documentElement;
}

function verify()
{ 
 if (xmlDoc.readyState != 4)
 { 
  return false; 
 }
}

// ----------
function setLegs(value) {
	legs = value;
}
function setMaster(value) {
	master = value;
}
function setgCode(value) {
	gCode = value;
}
function setgCode1(value) {
	gCode1 = value;
}
function setgCode2(value) {
	gCode2 = value;
}
function setHook(value) {
	hook = value;
}

function checkTonnes(legs) {
	var limit = "";
	var i_tonnes = document.getElementById("tonnes").value;
	tonnes = i_tonnes.replace(/\,/, '.');
	if(document.getElementById("assymetric").checked) {
		
		if(lang=='en') {
			limit += "Working load limit of the GrabiQ sling with assymetrical load is in this case: \n\n";
			limit += "ALT 1: 2 legged sling, 16mm chain assymetrical load  - max 10ton\n";
			limit += "ALT 2: 3-4 legged sling, 13mm chain assymetrical load  - 6,7 ton\n";
			limit += "ALT 3: 3-4 legged sling 16mm chain assymetrical load  - 10 ton\n";
		}
		else if(lang=='se') {
			limit += "Max last med GrabiQ lyftkätting när asymmetrisk last används: \n\n";
			limit += "ALT1 2 bacakli sapan, 16 mm zincir asimetrik yük – maks. 10 ton\n";
			limit += "ALT2 3-4 bacakli sapan, 13 mm zincir asimetrik yük – maks. 6,7 ton\n";
			limit += "ALT3 3-4 bacakli sapan, 16 mm zincir asimetrik yük – maks. 10 ton\n";
		}
		else if(lang=='tr') {
			limit += "Asimetrik yükleme durumunda GrabiQ sapanin çalisma yük limiti: \n\n";
			limit += "ALT 1: 2-parts lyftkätting, 16 mm kätting asymmetrisk last – max 10 ton\n";
			limit += "ALT 2: 3-4 parts lyftkätting, 13 mm kätting asymmetrisk last – max 6,7 ton\n";
			limit += "ALT 3: 3-4 parts lyftkätting, 16 mm kätting assymetrisk last – max 10 ton\n";
		}
		
		toBig = false
		if(tonnes>10) {
			toBig = true;
		}
		if(toBig) {
			alert(limit);
			return false;
		}
		else {
			return true;
		}
	}
	else {
		if(lang=='en') {
			limit += "Working load limits of the GrabiQ range (alpha = 0-90 °):\n\n";
			limit += "GrabiQ sling: 1-leg maximum 10 ton\n";
			limit += "GrabiQ sling: 2-leg maximum 14 ton\n";
			limit += "GrabiQ sling: 3-leg maximum 21 ton\n";
			limit += "GrabiQ sling: 4-leg maximum 21 ton\n";
		}
		else if(lang=='se') {
			limit += "Begränsning av arbetslast för GrabIQ-sortimentet (alfa – 0-90º):\n\n";
			limit += "GrabIQ sling 1-part: Max last 10 ton\n";
			limit += "GrabIQ sling 2-part: Max last 14 ton\n";
			limit += "GrabIQ sling 3-part: Max last 21 ton\n";
			limit += "GrabIQ sling 4-part: Max last 21 ton\n";
		}
		else if(lang=='tr') {
			limit += "GrabiQ serisinin çalisma yük limitleri (Alfa = 0-90°) \n\n";
			limit += "GrabiQ sapan: 1 bacakli maksimum 10 ton\n";
			limit += "GrabiQ sapan: 2 bacakli maksimum 14 ton\n";
			limit += "GrabiQ sapan: 3 bacakli maksimum 21 ton\n";
			limit += "GrabiQ sapan: 4 bacakli maksimum 21 ton\n";
		}

		toBig = false
		if(legs==1&&tonnes>10) {
			toBig = true;
		}
		else if(legs==2&&tonnes>14) {
			toBig = true;
		}
		else if(legs==3&&tonnes>21) {
			toBig = true;
		}
		else if(legs==4&&tonnes>21) {
			toBig = true;
		}
		if(toBig) {
			alert(limit);
			return false;
		}
		else {
			return true;
		}
	}
}