var mrklappUpdateDelayer;
var UD_id 					= 0;

var generator_mrklapp_preview = '';
var generator_mrklapp_count1 = 0;
var generator_mrklapp_count2 = 0;
var generator_mrklapp_count3 = 0;
var generator_mrklapp_price1 = 0;
var generator_mrklapp_price2 = 0;
var generator_mrklapp_price3 = 0;
var generator_mrklapp_totalPrice = 0;

var generator_mrklapp_wasChecked1 = false;
var generator_mrklapp_wasChecked2 = false;
var generator_mrklapp_wasChecked3 = false;

var generator_mrklapp_lastCount1 = false;
var generator_mrklapp_lastCount2 = false;
var generator_mrklapp_lastCount3 = false;

function mrklappUpdatePrices() {
	var price1 = 0;
	var price2 = 0;
	var price3 = 0;
	
	var count1 = document.getElementById('option1Count');
	var count2 = document.getElementById('option2Count');
	var count3 = document.getElementById('option3Count');
	
	var chosen1 = document.getElementById('option1Chosen');
	var chosen2 = document.getElementById('option2Chosen');
	var chosen3 = document.getElementById('option3Chosen');
	
	var totalPrice = document.getElementById('totalPrice');
	
	var option1CountTotalPrice = document.getElementById('option1CountTotalPrice');
	var option2CountTotalPrice = document.getElementById('option2CountTotalPrice');
	var option3CountTotalPrice = document.getElementById('option3CountTotalPrice');
	
	//first choice
	error = 0;
	if(isNaN(count1.value))
		error = 1;
	
	if(error == 0) {
		if(!chosen1.checked && generator_mrklapp_wasChecked1)
			count1.value = 0;
		else
			if(chosen1.checked && !generator_mrklapp_wasChecked1 && (count1.value == '0'))
				count1.value = 1;
			else
				if(count1.value != generator_mrklapp_lastCount1)
					if((generator_mrklapp_lastCount1 == 0) && (Number(count1.value) > 0))
						chosen1.checked = true;
					else
						if((generator_mrklapp_lastCount1 > 0) && (Number(count1.value) == 0))
							chosen1.checked = false;
							
		price1 = (130 * (chosen1.checked ? Number(count1.value) : 0));
		option1CountTotalPrice.innerHTML = price1 + ',00';
	} else 
		option1CountTotalPrice.innerHTML = 'Feil';
				
	generator_mrklapp_lastCount1 = Number(count1.value);
	generator_mrklapp_wasChecked1 = chosen1.checked;
	
	
	//second choice
	if(isNaN(count2.value))
		error = 2;
	
	if(error != 2) {
		if(!chosen2.checked && generator_mrklapp_wasChecked2)
			count2.value = 0;
		else
			if(chosen2.checked && !generator_mrklapp_wasChecked2 && (count2.value == '0'))
				count2.value = 1;
			else
				if(count2.value != generator_mrklapp_lastCount2)
					if((generator_mrklapp_lastCount2 == 0) && (Number(count2.value) > 0))
						chosen2.checked = true;
					else
						if((generator_mrklapp_lastCount2 > 0) && (Number(count2.value) == 0))
							chosen2.checked = false;

		price2 = (130 * (chosen2.checked ? Number(count2.value) : 0));
		option2CountTotalPrice.innerHTML = price2 + ',00';
	} else 
		option2CountTotalPrice.innerHTML = 'Feil';
				
	generator_mrklapp_lastCount2 = Number(count2.value);
	generator_mrklapp_wasChecked2 = chosen2.checked;
	
	
	//third choice
	if(isNaN(count3.value))
		error = 3;
	
	if(error != 3) {
		if(!chosen3.checked && generator_mrklapp_wasChecked3)
			count3.value = 0;
		else
			if(chosen3.checked && !generator_mrklapp_wasChecked3 && (count3.value == '0'))
				count3.value = 1;
			else
				if(count3.value != generator_mrklapp_lastCount3)
					if((generator_mrklapp_lastCount3 == 0) && (Number(count3.value) > 0))
						chosen3.checked = true;
					else
						if((generator_mrklapp_lastCount3 > 0) && (Number(count3.value) == 0))
							chosen3.checked = false;

		price3 = (130 * (chosen3.checked ? Number(count3.value) : 0));
		option3CountTotalPrice.innerHTML = price3 + ',00';
	} else 
		option3CountTotalPrice.innerHTML = 'Feil';
		
	generator_mrklapp_lastCount3 = Number(count3.value);
	generator_mrklapp_wasChecked3 = chosen3.checked;
	
	if(error == 0)
		totalPrice.innerHTML = (price1 + price2 + price3) + ',00';
	else 
		totalPrice.innerHTML = 'Feil';
		
	
	generator_mrklapp_count1 = count1.value;
	generator_mrklapp_count2 = count2.value;
	generator_mrklapp_count3 = count3.value;
	
	generator_mrklapp_price1 = price1;
	generator_mrklapp_price2 = price2;
	generator_mrklapp_price3 = price3;
	
	generator_mrklapp_totalPrice = price1 + price2 + price3;
}

function mrklappUpdatePreview() {
	var form = document.getElementById('form');
	
	//document.form.submit();
	var newURL = 'system/mrklapp_generator.php?bk='+generator_mrklapp_preview+'&grafikk='+form.grafikk.value+'&rand='+(Math.random()*10000);
	
//	newURL += '&egendef_id='+document.getElementById("egendef_id").value;
	newURL += '&linje1='+encodeURIComponent(form.linje1.value);
	newURL += '&linje2='+encodeURIComponent(form.linje2.value);
	newURL += '&linje3='+encodeURIComponent(form.linje3.value);
	newURL += '&font='+form.font.value;
	//newURL += '&linje3='+document.getElementById("linje3").value;
	
	//alert(newURL);
	
	saveLines();
	
	document.getElementById("preview").src = newURL;
}

function mrklappUpdatePreviewDelayed() {
	clearTimeout(mrklappUpdateDelayer);
	
	mrklappUpdateDelayer = setTimeout(mrklappUpdatePreview, 500);
}

function mrklappChangeTabView(forstebilde,sistebilde,fane) {
	var egendef = ((forstebilde == 200) || (sistebilde == 200));
	
	document.getElementById('mrklappGlyphsHolder').style.display = egendef ? 'none' : '';
	document.getElementById('mrklappGlyphsUDHolder').style.display = egendef ? '' : 'none';
	
	if(egendef) {
	} else {
		var tabell = "<table width=\"405\" height=\"160\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\"><tr>";
		for(i=forstebilde;i<=sistebilde;i++) {
			tabell += "<td align=\"center\"><img alt=\"Symbol " + i + "\" border=\"0\" src=\"gfx/mrklapp/clipart/swf/Nr" + i + ".jpg\" onclick=\"mrklappChooseGlyph(" + i + ");\" style=\"cursor:pointer;\" /></td>";
			if(i == (forstebilde+4)) {
				tabell += "</tr><tr>";
			} else if(i == (forstebilde+9)) {
				tabell += "</tr><tr>";
			}

		}
		tabell += "</tr></table>";
		document.getElementById("mrklappGlyphsHolder").innerHTML = tabell;
	}
	
	if(fane != 0) {
		for(i=1;i<=6;i++) {
			if(fane == document.getElementById("tab" + i)) {
				document.getElementById("tab" + i).className = 'menuStyle1Selected';
				//document.getElementById("tab" + i + 'left').style.visibility = 'visible';
				//document.getElementById("tab" + i + 'right').style.visibility = 'visible';
			} else {
				document.getElementById("tab" + i).className = 'menuStyle1';
				//document.getElementById("tab" + i + 'left').style.visibility = 'hidden';
				//document.getElementById("tab" + i + 'right').style.visibility = 'hidden';
			}
		}
	}
	//document.getElementById("symboler_ny").innerHTML = tabell;
}

function mrklappChooseGlyph(nr) {
	document.getElementById("form").grafikk.value = nr;
	//document.form.submit();
	mrklappUpdatePreview();
	
	if(nr > 0) {
		document.getElementById("mrklappRemoveGlyph").style.display = 'inline';
		
		if(nr >= 1000)
			UD_id = nr;
	}
}

function mrklappRemoveGlyph() {
	document.getElementById("mrklappRemoveGlyph").style.display = 'none';
	document.getElementById('form').grafikk.value = 0;
	//document.form.submit();
	mrklappUpdatePreview();
}

function mrklappCancelEdit() {
	var form = document.getElementById('form');
	
	form.action = 'system/store.php?operation=canceledit';
	form.method = 'post';
	form.submit();
}

function mrklappSaveToCart(addToCart) {
	var form = document.getElementById('form');
	
	/*
	if(form.genSize.value == -1) {
		alert('Du må velge størrelse!');
		return;
	}
	*/
	
	form.count1.value = generator_mrklapp_count1;
	form.count2.value = generator_mrklapp_count2;
	form.count3.value = generator_mrklapp_count3;
	
	if((generator_mrklapp_totalPrice <= 0) || (form.count1.value < 0) || (form.count2.value < 0) || (form.count3.value < 0)) {
		alert('Vennligst velg pakkealternativ.');
		return;
	}
	
	form.price1.value = generator_mrklapp_price1;
	form.price2.value = generator_mrklapp_price2;
	form.price3.value = generator_mrklapp_price3;
	
	form.update.value = addToCart ? '0' : '1';
	
	//form.genPrice.value = generator_v1_price;
	form.genTotalPrice.value = generator_mrklapp_totalPrice;
	//form.genLineID.value = lineID;
	
	form.action = 'system/store.php?operation=add';
	form.method = 'post';
	form.submit();
}

var saveLinesXmlHttp;
function saveLines() {
	saveLinesXmlHttp = null;
	
	if(window.XMLHttpRequest) {
		// code for Firefox, Opera, IE7, etc.
		saveLinesXmlHttp=new XMLHttpRequest();
	} else if(window.ActiveXObject) {
  		// code for IE6, IE5
  		saveLinesXmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	var form = document.getElementById('form');
	var line1 = form.linje1.value;
	var line2 = form.linje2.value;
	var line3 = form.linje3.value;
	var graphic = form.grafikk.value;
	var font = form.font.value;
	
	url = 'system/mrklappsave.php?line1='+encodeURIComponent(line1)+'&line2='+encodeURIComponent(line2)+'&line3='+encodeURIComponent(line3)+'&graphic='+graphic+'&font='+font;
	
	if(saveLinesXmlHttp!=null) {
		saveLinesXmlHttp.onreadystatechange=saveLinesCallback;
		saveLinesXmlHttp.open("GET", url, true);
		saveLinesXmlHttp.send(null);
	} else {
		//alert("Your browser does not support XMLHTTP.");
	}
}

function saveLinesCallback() {
	if(saveLinesXmlHttp.readyState==4) {
		// 4 = "loaded"
 		if(saveLinesXmlHttp.status==200) {
 			// 200 = "OK"
		} else {
    		//alert("Problem retrieving data:" + saveLinesXmlHttp.statusText);
    	}
	}
}
