
/**
 *
 * @access public
 * @return void
 **/
function showAlert(title,message) {

	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}

	document.getElementById('alertTitle').innerHTML = title;
	document.getElementById('alertMessage').innerHTML = message;
	document.getElementById('alert').style.display = 'block';
	document.getElementById('fixeddiv').style['left'] = ( (myWidth / 2) - 260) +'px';
	document.getElementById('alertOkButton').className = '';
	document.getElementById('alertJaButton').className = 'hide';
	document.getElementById('alertNeiButton').className = 'hide';
}

/**
 *
 * @access public
 * @return void
 **/
function showAlertJaNei(title,message,confirm,cancel) {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}

	document.getElementById('fixeddiv').style['left'] = ( (myWidth / 2) - 260) +'px';
	document.getElementById('jaLink').onclick = confirm;
	document.getElementById('neiLink').onclick = cancel;
	document.getElementById('alertTitle').innerHTML = title;
	document.getElementById('alertMessage').innerHTML = message;
	document.getElementById('alert').style.display = 'block';
	document.getElementById('alertOkButton').className = 'hide';
	document.getElementById('alertJaButton').className = '';
	document.getElementById('alertNeiButton').className = '';
}

/**
 *
 * @access public
 * @return void
 **/
function closeAlert(){
	document.getElementById('alert').style.display = 'none';
	document.getElementById('alertOkButton').className = '';
}

/* Tilpass siden START */

function valg_ing(obj,side) {
	window.mayOrderStatus = true;

	var RegExp = /^[0-9]+$/;
	var antall = 0;
	var maxantall = (document.getElementById(side + '-num')).value;;

	var startnode = document.getElementById(side + '-legg-til');
	var els = startnode.getElementsByTagName('input');
	var elsLen = els.length;
	for (i = 0, j = 0; i < elsLen; i++) {
		if( els[i].type == 'text' && els[i].value.match(RegExp) ) {
			antall = eval(antall + parseInt(els[i].value));
		}
	}
	if(antall > 0) {
		window.mayOrderStatus = true;
	} else {
		window.mayOrderStatus = false;
	}

	if(antall > maxantall) {
		showAlert("Du kan ikke velge flere enn " + maxantall + " ingredienser på denne pizzaen.","");
		var newValue = parseInt(parseInt(obj.value) - parseInt(antall - maxantall));
        if(newValue == 0) {
            obj.value = '';
        } else {
            obj.value = newValue;
        }
		selectAllText(obj);
		nxcUpdateBasket();
		return false;
	} else {
	    nxcUpdateBasket();
		return true;
	}
}


/* Written by Peter Wilkinson of http://dynamic-tools.net
    Feel free to use or modify this script for any purpose.
    I'd appreciate you leaving this header in though. */

function DoEvent(event) {
  event = event || window.event;
  var handlers = this.events[event.type];
  for (var i in handlers) {
    this.$$handleEvent = handlers[i];
    this.$$handleEvent(event);
  }
};
function AddEvent(element, type, handler) {
  if (!handler.$$guid) handler.$$guid = AddEvent.guid++;
  if (!element.events) element.events = {};
  var handlers = element.events[type];
  if (!handlers) {
    handlers = element.events[type] = {};
    if (element["on" + type]) {
      handlers[0] = element["on" + type];
    }
  }
  handlers[handler.$$guid] = handler;
  element["on" + type] = DoEvent;
};
AddEvent.prototype.guid = 1;
function RemoveEvent(element, type, handler) {
  if (element.events && element.events[type]) {
    delete element.events[type][handler.$$guid];
  }
};


var flashDiv = null;
var flashStarted = false;

function hideFlashVideo() {
    if(window.flashDiv != null && window.flashStarted == false) {
        window.flashDiv.innerHTML = '';
        window.flashDiv.style.display = 'none';

        RemoveEvent(document.body,'click',this);
    }
}

function showFlashVideo(width,height,flv) {
    window.flashStarted = true;
    setTimeout('window.flashStarted = false;',1000);

    var object = '<object' +
    ' type=application/x-shockwave-flash' +
    ' wmode=window' +
    ' width=' + width +
    ' height=' + height +
    ' data=/extension/dolly/design/dolly/images/video/player_flv.swf' +
    '>\n' +
    '<param' +
    ' name="movie"' +
    ' value="/extension/dolly/design/dolly/images/video/player_flv.swf"' +
    '/>\n' +
    '<param' +
    ' name="wmode"' +
    ' value="window"' +
    '/>\n' +
    '<param' +
    ' name="FlashVars"' +
    ' value="flv='+flv+'&amp;width='+width+'&amp;height='+height+'&amp;autoplay=1"' +
    '/>' +
    '</object>';

    if(window.flashDiv == null) {
        window.flashDiv = document.createElement('div');
        window.flashDiv.setAttribute('id','flashdiv');
        document.body.appendChild(window.flashDiv);
    }

    var amountOfHorizontalScroll = 150;
    if(window.pageYOffset) {
        amountOfHorizontalScroll = window.pageYOffset;
    } else if (document.documentElement) {
        amountOfHorizontalScroll = document.documentElement.scrollTop;
    } else if(document.body.scrollTop) {
        amountOfHorizontalScroll = document.body.scrollTop;
    }

	var clientWidth = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		clientWidth = window.innerWidth;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		clientWidth = document.documentElement.clientWidth;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		clientWidth = document.body.clientWidth;
	}
    window.flashDiv.style.left = ((clientWidth / 2) - (width / 2)) + 'px';
    window.flashDiv.style.top = (250 + amountOfHorizontalScroll) + 'px';
    window.flashDiv.style.display = 'block';
    window.flashDiv.innerHTML = object;

    AddEvent(document.body,'click',hideFlashVideo);
}

/*
function showFlashVideo(width,height,flv) {
    window.flashStarted = true;
    setTimeout('window.flashStarted = false;',1000);

    var object = '<object' +
    ' type=application/x-shockwave-flash' +
    ' wmode=window' +
    ' width=' + width +
    ' height=' + height +
    ' data=/extension/dolly/design/dolly/images/video/player.swf?file='+flv+'&autoStart=true&aplay=true&autorew=true' +
    '>\n' +
    '<param' +
    ' name="movie"' +
    ' value="/extension/dolly/design/dolly/images/video/player.swf?file='+flv+'&autoStart=true&aplay=true&autorew=true"' +
    '/>\n' +
    '<param' +
    ' name="wmode"' +
    ' value="window"' +
    '/>' +
    '</object>';

    if(window.flashDiv == null) {
        window.flashDiv = document.createElement('div');
        window.flashDiv.setAttribute('id','flashdiv');
        document.body.appendChild(window.flashDiv);
    }

    var amountOfHorizontalScroll = 150;
    if(window.pageYOffset) {
        amountOfHorizontalScroll = window.pageYOffset;
    } else if (document.documentElement) {
        amountOfHorizontalScroll = document.documentElement.scrollTop;
    } else if(document.body.scrollTop) {
        amountOfHorizontalScroll = document.body.scrollTop;
    }

	var clientWidth = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		clientWidth = window.innerWidth;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		clientWidth = document.documentElement.clientWidth;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		clientWidth = document.body.clientWidth;
	}
    window.flashDiv.style.left = ((clientWidth / 2) - (width / 2)) + 'px';
    window.flashDiv.style.top = (250 + amountOfHorizontalScroll) + 'px';
    window.flashDiv.style.display = 'block';
    window.flashDiv.innerHTML = object;

    AddEvent(document.body,'click',hideFlashVideo);
}
*/


/**
 *
 **/
function OnClickAddAdditionalIngredients(event) {
    var target;
    if (event.target) target = event.target;
	else if (event.srcElement) target = event.srcElement;
	if (target.nodeType == 3) {
        // defeat Safari bug
		target = target.parentNode;
	}
    if(target.value == '' || target.value == '0') {
        target.value = 1;
        nxcUpdateBasket();
    } /*else if(target.value == '1') {
        target.value = '';
        nxcUpdateBasket();
        target.blur();
    }*/
    if(target.value != '') {
        if (target.createTextRange) {
            var range = target.createTextRange();
            range.moveStart("character", 0);
            range.moveEnd("character", 1);
            range.select();
        } else if (target.setSelectionRange) {
            target.setSelectionRange(0, 1);
        }
        target.focus();
    }
}

/**
 *
 **/
function OnClickAddTradedIngredients(event) {
    var target;
    if (event.target) target = event.target;
	else if (event.srcElement) target = event.srcElement;
	if (target.nodeType == 3) {
        // defeat Safari bug
		target = target.parentNode;
	}
    if(target.value == '' || target.value == '0') {
        target.value = 1;

    } /*else if(target.value == '1') {
        target.value = '';
        target.blur();
    }*/
    if(target.value != '') {
        if (target.createTextRange) {
            var range = target.createTextRange();
            range.moveStart("character", 0);
            range.moveEnd("character", 1);
            range.select();
        } else if (target.setSelectionRange) {
            target.setSelectionRange(0, 1);
        }
        target.focus();
    }
}

/**
 *
 **/
function OnKeyUpAddAdditionalIngredients(event){
    var characterCode;

	if(window.event) {
		event = window.event;
		characterCode = event.keyCode;
	} else if(event && event.which){
		event = event;
		characterCode = event.which;
	} else if(KeyboardEvent && event instanceof KeyboardEvent) {
		characterCode = event.keyCode;
	} else {
		event = window.event;
		characterCode = event.keyCode;
	}

    if(characterCode != 9 && characterCode != 37 && characterCode != 38 && characterCode != 39 && characterCode != 40) {
        nxcUpdateBasket();
	}
}

/**
 * This function is used to contact the web server and verify the password the
 * customer has specified to get access to a "discount agreement".
 *
 **/
function bekreftSpesialavtale() {

    var callOK = xajax_nxcConfirmDiscountAgreement(document.getElementById('passord_spesialavtale').value);
    if(!callOK) {
        // XAJAX failed!
        // Return true to let the browser reload the page
        return true;
    }
    return false;
}

/**
 * JavaScript for tilpass-siden.
 *
 **/

var antallMangler = 0;
function finnAntallValgte(startNodeId,klasseNavn) {
	var RegExp = /^[0-9]+$/;
	var antall = 0;

	var startnode = document.getElementById(startNodeId + '_add_remove');
	var els = startnode.getElementsByTagName('input');
	var elsLen = els.length;
	for (i = 0, j = 0; i < elsLen; i++) {
		if( els[i].className == klasseNavn) {
		  	if(els[i].type == 'checkbox' && els[i].checked ) {
				antall++;
  				if(els[i].disabled == true) antallMangler = 0;
  			} else if(els[i].type == 'text' && els[i].value.match(RegExp) ) {
				antall = eval(antall + parseInt(els[i].value));
			}
		}
	}
	if(klasseNavn == 'tabort') antall = antall + antallMangler;
	return antall;
}

var confirmTaBortOstId = '';
function confirmTaBortOst() {
    var id = window.confirmTaBortOstId;
    document.getElementById(id+'tbvare10087').checked = true;
    visLeggTil(id);
	nxcUpdateBasket();
}
function cancelTaBortOst() {
}

function vedTaBort(id,obj) {
    var productno = new String(obj.name);
    productno = productno.replace(/^.*\[/,'');
    productno = productno.replace(/\]$/,'');

    if(productno == 10087 && obj.checked) {
        obj.checked = false;
        window.confirmTaBortOstId = id;
        showAlertJaNei("Ta bort Dolly`s Osteblanding","Er du sikker på at du vil fjerne osten fra pizzaen?",confirmTaBortOst,cancelTaBortOst);
    } else {
		var antUt  = finnAntallValgte(id,'tabort');
		var antInn = finnAntallValgte(id,'leggtil edititem-count');
		if(antUt < antInn) {
			obj.checked = true;
			showAlert('Beklager, du kan ikke velge mer enn du har valgt å ta bort.','');
		}
		else visLeggTil(id);
		obj.blur();
	}
}

function visLeggTil(id) {
	var startnode = document.getElementById('leggTil' + id);
	var antall = finnAntallValgte(id,'tabort');
	if(antall == 0) {
		startnode.className = "hide";
	} else {
		startnode.className = "show";
	}
}

function vedLeggTil(id,obj) {
	var antUt  = finnAntallValgte(id,'tabort');
	var antInn = finnAntallValgte(id,'leggtil edititem-count');
	if(antUt < antInn) {
		var verdi = parseInt(antInn) - parseInt(obj.value);
		var nyverdi = parseInt(antUt) - verdi;
        if(nyverdi == 0) {
            obj.value = '';
        } else {
            obj.value = nyverdi;
        }
		showAlert('Beklager, du kan ikke velge mer enn du har valgt å ta bort.','');
		obj.blur();
	} else {
        nxcUpdateBasket();
	}
}

function selectAllText(element) {
	if (element.createTextRange) {
		var range = element.createTextRange();
		range.moveStart("character", 0);
		range.moveEnd("character", element.value.length);
		range.select();
	} else if (element.setSelectionRange) {
		element.setSelectionRange(0,element.value.length);
	}
}

/* Ble laget fordi vi ikke kunne bruke addItemToBasket etter å ha endret dette til å sende inn via AJAX */
function addDollyWoodPizzaToBasket(itemNodeID,pizza,basketItemIndex) {
	if(pizza == null) pizza = false;
	var addok=true;
	var mangler=manglerIngredienser(itemNodeID);
	if (mangler!=false) {
		addok=false;
		if(pizza) {
			addok=confirm("Beklager, vi er tom for "+mangler+" på denne pizzaen.\n\nVelg OK hvis du ønsker pizza.\nVelg Avbryt hvis du ønsker annen pizza.");
		} else {
			alert("Butikken er tom for "+mangler+", så dette kan ikke bestilles til dette tidspunktet.");
		}
	}
	if (addok) {
        var url= '/basket/edititem/' + basketItemIndex + '/selectpizza/both/'+itemNodeID;
        var field = document.getElementById('add_item_contentnodeid');

		field.parentNode.action = url;
        field.name = 'dw_pizzaType';
        field.value = itemNodeID;
		document.getElementById("add_item_submit").click();
	}
}


/* JavaScript bruk for å test om varer er utsolgt. */
function erTomFor(varenr) {
	for(var i=0;i < varenummer.length;i++) {
		if(varenummer[i] == varenr) {
			if(tomfor[i] != null) return tomfor[i].toLowerCase();
			else return false;
		}
	}
	return false;
}

function manglerIngredienser(node) {
	if(ingr[node] != null) {
		var mangler = false;
		var result = false;
		var tekst = ''
		for(var i=0;i < ingr[node].length;i++) {
			result = erTomFor(ingr[node][i])
			if(result != false) {
				if(mangler) tekst = tekst +', ' + result;
				else tekst = result;
				mangler = true;
			}
		}
		if(mangler) {
			var lio = tekst.lastIndexOf(', ');
			if(lio != -1) {
				tekst = tekst.substring(0,lio) + ' og ' + tekst.substring(lio+2,tekst.length);
			}
			return tekst;
		}
		else return false;
	} else {
		return false;
	}
}

function addFavorittItemToBasket(itemNodeID,pizza,type) {
	if(type == null) type = 1;
	if(pizza == null) pizza = false;
	var addok=true;
	var mangler=manglerIngredienser('fav'+itemNodeID);
	if (mangler!=false) {
		addok=false;
		if(pizza) {
			addok=confirm("Beklager, vi er tom for "+mangler+" på denne pizzaen.\n\nVelg OK hvis du ønsker pizza.\nVelg Avbryt hvis du ønsker annen pizza.");
		} else {
			alert("Butikken er tom for "+mangler+", så dette kan ikke bestilles til dette tidspunktet.");
		}
	}
	if (addok) {
		document.getElementById("add_favoritt_item_submit").value = type;
		document.getElementById("add_item_contentnodeid").value=itemNodeID;
		/*document.getElementById("add_favoritt_item_submit").click();*/
        xajax_nxcAddToBasket(serializeFormVariables(document.forms[0])+'&OrderFavorittButton='+type);

	}
}

function addItemToBasket(itemNodeID,pizza,useAJAX) {
    if(useAJAX == null) useAJAX = true;
	if(pizza == null) pizza = false;
	var addok=true;
	var mangler=manglerIngredienser(itemNodeID);
	if (mangler!=false) {
		addok=false;
		if(pizza) {
			addok=confirm("Beklager, vi er tom for "+mangler+" på denne pizzaen.\n\nVelg OK hvis du ønsker pizza.\nVelg Avbryt hvis du ønsker annen pizza.");
		} else {
			alert("Butikken er tom for "+mangler+", så dette kan ikke bestilles til dette tidspunktet.");
		}
	}
	if (addok) {
		document.getElementById("add_item_contentnodeid").value=itemNodeID;
		if(useAJAX) {
            xajax_nxcAddToBasket(serializeFormVariables(document.forms[0])+'&OrderButton=inserted');
		} else {
            document.getElementById("add_item_submit").click();
		}
	}
}

function hidePizza(size,klasseNavnTil) {
	var klasseNavn = "size" + size;
	var pc = document.getElementById('pizzaCollection');
	if(pc == null) return;
	var pizzas = pc.getElementsByTagName('div');
	var antall = pizzas.length;
	for(var i=0;i < antall;i++) {
		if(pizzas[i].className == klasseNavn) pizzas[i].className = klasseNavnTil;
	}
}

/**
 *
 *
 **/
function buffetid(node) {
    var element = document.getElementById('buffetid' + node);
    if(element != null) {
        if(element.style.display == 'none') {
            element.style.display = 'block';
        } else {
            element.style.display = 'none';
        }
    }
}

