var ul = "aj_updater.asp"
	
	
function onl() {updatePrice(); }
addEvent(window,"load",onl);

function handleDefaultAJAX(req) {
	if(req.responseText=="RELOADFRAME") {
		location.reload();
		return false;
	}
	return true;		
}
	
function traverseArticles() {
	var lnsc = countLenses();
	var artc = countArticles();
	$("noarticledisplayer").style.display = (artc+lnsc)>0?"none":"block";
	$("articles").style.display = artc>0?"block":"none";
	$("lenses").style.display = lnsc>0?"block":"none";
}
function countLenses() {
	var lenses = $("lenses");
	var artcount = 0
	if(lenses) artcount+=lenses.childNodes.length;
	if(artcount==1) {
		var ta = lenses.childNodes[0];
		if(ta.nodeType==3) artcount = 0;
	}
	return artcount;
}
function countArticles() {
	var articles = $("articles");
	var artcount = 0;
	if(articles) artcount+=articles.childNodes.length;
	if(artcount==1) {
		var ta = articles.childNodes[0];
		if(ta.nodeType==3) artcount = 0;
	}
	return artcount;
}

function selectSubscription(t) {
	$("SUB_0").className = "subscription subscription" + (t.checked?"":"NOT") + "selected";
	$("SUB_1").className = "subscribe subscribe_subscription" + (t.checked?"":"NOT") + "selected";
}

function addBlankArticle(type) {
	if(type=="lens") {
		var lenses = $("lenses");
		
		var pars = "mode=ADD&aid=-1&type=lens";
		function succl(req) {
			if(!handleDefaultAJAX(req))return false;
			lenses.innerHTML += req.responseText;
			traverseArticles();
		}
		new Ajax.Request(ul, {method: 'post', parameters: pars, onComplete: succl});

	} else {
		var articles = $("articles");
	
		var pars = "mode=ADD&aid=-1&type=article"
		function succ(req) {
			if(!handleDefaultAJAX(req))return false;
			articles.innerHTML += req.responseText;
			traverseArticles();
		}
		new Ajax.Request(ul, {method: 'post', parameters: pars, onComplete: succ});
	}
}

function replaceArticle(em,row,col,type) {
	var pars = "mode=ADD&aid=" + em.value + "&col=" + col + "&row=" + row + "&type=" + type;

	function succ(req) {
		if(!handleDefaultAJAX(req))return false;
		var container = $("pp_"+row+"_"+col);
		container.className = "added";
		
		container.innerHTML = req.responseText;
		updatePrice();
	}
	function fail() { location.href = ul + pars + "&r=1"; }
	new Ajax.Request(ul, {method: 'post', parameters: pars, onComplete: succ});
}

function deleteArticle(row,col,type) {
	var pars = "mode=DELETE&row="+row+"&col="+col+"&type="+type;
	
	function succ(req) {
		if(!handleDefaultAJAX(req))return false;
		var container = $("pp_"+row+"_"+col);
		if(type=="lens") {
			var n = $("lenses");
			container.className = "deleted";
			container.innerHTML = req.responseText;
			var altcol = col==0?1:0;
			var altcontainer = $("pp_"+row+"_"+altcol);
			if(altcontainer.className=="deleted") {
				var parent = container.parentNode.parentNode.parentNode.parentNode;
				n.removeChild(parent);
				traverseArticles();
			}
		} else {
			var article = $("pp_"+row);
			$("articles").removeChild(article);
			traverseArticles();
		}
		updatePrice();
	}
	function fail() { location.href = ul + pars + "&r=1"; }
	new Ajax.Request(ul, {method: 'post', parameters: pars, onComplete: succ});
}

function setBlurParam(em,pname,pval,row,col) {
	if(!pval) {
		if(em.options[0].value) {
			pval = em.options[0].value;
			updateParameterMatrix(em,pname,pval,row,col);
		}
	}
	em.selectedIndex = 0;
}

function updateParameterMatrix(em,pname,pval,row,col) {
	if(!pval) { pval = em.options[0].value; em.options[em.selectedIndex].value = pval; }
	if(pval) {
	var img = document.getElementById("pp_"+row+"_"+col+"_"+pname+"_image");
	var pars = "mode=UPDATE&param=" + escape(pname) + "&value=" + encodeURIComponent(pval) + "&col=" + col + "&row=" + row;
		
	if(em.options[em.selectedIndex].attributes["iid"]) {
		img.src = imgurl + "/" + em.options[em.selectedIndex].attributes["iid"].value + "/NANOTHUMB.JPG";
	}
		
	function succ(req) {
		if(!handleDefaultAJAX(req))return false;
		var special = "";
		var status = req.responseText.split("|");
		special=(status[2]=="Styrka"&&status[3]>0)?"+":"";
		em.options[0].value = (status[3]); 
		em.options[0].text  = (special)+status[4];
		//if(img) img.src = status[5];

		// Handle HelpStrings
			var stringem = document.getElementById(status[1]+"_helpstrings");
			if(stringem) {
				var stringems = stringem.getElementsByTagName("*");
				if(stringems.length>0) {
					for(var i=0; i<stringems.length; ++i) {
						var div = stringems[i];
						if(div.name==status[2]) {
							if(status[6]) {
								div.innerHTML = status[6];
							} else {
								stringem.removeChild(div);
							}
						}
					}
				} else {
					if(status[6]) {
						var div = document.createElement("div");
						div.name = status[2];
						div.innerHTML = status[6];
						stringem.appendChild(div);
					}
				}
			}
		//////////////////
		
		updatePrice();
	}
		
	function fail() {location.href = ul + pars + "&r=1"; }
	new Ajax.Request(ul, {method: 'post', parameters: pars, onComplete: succ});
	}
}

function updatePrice() {
	var frm = document.forms["frmorder"];
	var pars = "mode=GETUPDATES"
	function succ(req) {
		if(!handleDefaultAJAX(req))return false;
		var pl = req.responseText.split("|");
		$('ORDERCONSUMATION').innerHTML = pl[3];
		$('showprice').innerHTML = pl[0];
		_lodt = parseInt(pl[7]);
		if(parseInt(frm.OrderSubscribe_DaysUntilDelivery.value)<_lodt) frm.OrderSubscribe_DaysUntilDelivery.value = _lodt;
		//$('showrebate').innerHTML = pl[1];
		$('showtotalsum').innerHTML = pl[2];
		$('campaignrebaterow').style.display = pl[6]=="true"?"":"none";
		$('showcamprebate').innerHTML = pl[5]*-1;
		$('showmassrebate').innerHTML = pl[4]*-1;
		$('showshippingcost').innerHTML = pl[8];
		fixDate(pl[3]);
	}	
	new Ajax.Request(ul, {method: 'post', parameters: pars, onComplete: succ});
}

function image_hover(em) {
	if(em.src.indexOf("empty.gif")==-1) {
		var imgem = document.getElementById("imgbox");
		imgem.style.display = "block";
		imgem.style.zIndex = 4; imgem.style.border = "1px solid #444";
		var nsrc = em.src.replace("/NANOTHUMB","/THUMB");
		var pos = ElementAt(em);
		pos.y0-=5;
		moveEm(imgem,pos);
		imgem.innerHTML = "<img src='"+nsrc+"' />"
	}
}



function applyCampaignCode() {
	var cc = document.forms[0].campaigncode.value;
	var pars = "mode=APPLYCAMPAIGN&cc="+escape(cc);
	function succ(req) {
		if(!handleDefaultAJAX(req))return false;
		if(req.responseText=="VALID") {
			window.location.reload();
		} else {
			alert(req.responseText);
			document.forms[0].campaigncode.focus();
		}
	}
	new Ajax.Request(ul, {method: 'post', parameters: pars, onComplete: succ});
}


/**** QAD Simple Timers                        ****/
var timers = [];
function hideTimerComplete(emid) {
	var em = document.getElementById(emid);
	if(em) em.style.display = "none";
}
function hideTimer(em) {
	if(!em.id) {
		var ep = ElementAt(em);
		em.id = "___TH"+em.x0+em.x1;
	}
	timers[em] = setTimeout('hideTimerComplete("'+em.id+'")',250);
}
function unHideTimer(em) {
	clearTimeout(timers[em]);
}
/****                                         ****/





/**** Subscription                            ****/

function SubscriptionChange(hit) {
	document.frmorder.OrderSubscribeMethod[0].checked = hit==0;
	document.frmorder.OrderSubscribeMethod[1].checked = hit==1;
	document.frmorder.OrderSubscribeMethod[0].parentNode.className = hit==0?"subactive":"subinactive";
	document.frmorder.OrderSubscribeMethod[1].parentNode.className = hit==1?"subactive":"subinactive";
	toSession("OrderSubscribeMethod",hit);
	if(hit==0) {
		document.frmorder.OrderSubscribe_DaysUntilDelivery.value = "";
		fixDate($("ORDERCONSUMATION").innerHTML);
	} else {
		if(!document.frmorder.OrderSubscribe_DaysUntilDelivery.value)
			document.frmorder.OrderSubscribe_DaysUntilDelivery.value = _lodt;
		fixDate(document.frmorder.OrderSubscribe_DaysUntilDelivery.value);
	}
}
function SubscriptionChangeX() {
	SubscriptionChange(document.frmorder.OrderSubscribeMethod[0].checked?0:1);
}
function getRecommendedInterval() {
	new Ajax.Updater($('ORDERCONSUMATION'), '/include/__getinterval.asp',{asynchronous:true, evalScripts:true });
}
function Subscription_ConfirmBox(em) {
	em.checked = confirm("Confirm");
}
function fixDate(nd) {
	var dEm = $('NEXTDELIVERYDATE');
	var date = parseInt(nd);
	if(!date) date = 0;
	var cdate = new Date(); 
	cdate.setFullYear(_yd);
	cdate.setMonth(_md-1);
	cdate.setDate(_dd);
	
	date+=parseInt(cdate.getDate());
	cdate=new Date(cdate.setDate(date));
	
	var day = cdate.getDate(); if(day<10) day = "0"+day;
	var mon = cdate.getMonth()+1; if(mon<10) mon = "0"+mon;
	var yer = cdate.getFullYear();
	
	dEm.innerHTML = yer+"-"+mon+"-"+day;
}
var cal = "";
var rf = function(r) {
	var frm = document.frmorder;
	if(r) {
		var d = new Date();
		var diff = dateDiff("d",d,r)
		if (diff<_lodt) {
			alert("Din beställning kräver minst " + _lodt + " dagars intervallstid.");
			return false;
		} else if(diff>999) {
			alert("Intervallstid satt för högt");
			return false;
		}
		frm.OrderSubscribe_DaysUntilDelivery.value = diff;
		frm.OrderSubscribe_DaysUntilDelivery.onchange();
		return true;
	}
}
function popCal() {
	SubscriptionChange(1,_lodt);
	if(cal) cal.destroy();
	var prnt = $("cal");
	var pos = findElement($("ORDERCONSUMATION"));
	prnt.style.position = "absolute";
	prnt.style.left = pos.x0+"px"
	prnt.style.top = (pos.y0-50)+"px";
	cal = new Calendar(rf,prnt);
	var sd = new Date();
	sd.setFullYear(_yd);
	sd.setMonth(_md-1);
	sd.setDate(_dd+_lodt);
	cal.setToDate(sd);
}

addEvent(window,"load",SubscriptionChangeX);
/****                                         ****/




