﻿//Tangora - CIBE2009 shopping baseket - function to choose number of products
function checkNumberKey(e){
  if (!e)e=window.event;
  if ((e.keyCode >= 48 && e.keyCode<=57) || (e.keyCode>=96 && e.keyCode<=105) || (e.keyCode>=33 && e.keyCode<=40) || (e.keyCode == 8)) {
    return true;
  }  
  else {
    CancelBubble(e);
    return false;
  }    
}

function calculatePrice(paramTheNumber){

  var lineId = paramTheNumber.id;
  var theLineIdObject = document.getElementById(lineId);
  var selectedNumber = new Number(paramTheNumber.value);
  if (isNaN(selectedNumber)) {
    theLineIdObject.value = 0;
    return;
  } 
  
  var firstUnderscore = lineId.indexOf("_");
  var lastUnderscore = lineId.lastIndexOf("_") + 1;
  var indexOfComma = lineId.lastIndexOf(",");
  var itemPrice = lineId.substring(lastUnderscore,indexOfComma);
  itemPrice=itemPrice.replace('.','').replace(',','.');
  var itemId = lineId.substring(firstUnderscore+1, lastUnderscore-1);

  var totalLinePrice = selectedNumber * itemPrice;
  var totalPriceTarget = document.getElementById('howMuch_'+itemId);
  totalPriceTarget.innerHTML = xFormatNumber(totalLinePrice)+',00';
  
}

function xFormatNumber(num){
	num = num.toString();
	while (num.match(/^-?\d\d{3}/)){
		num = num.replace(/(\d)(\d{3}(\.|,|$))/, '$1\.$2');
	}
	return num;
}


function findProdsToAddToBasket(paramTheButton, pageId){

  var hiddenLink = paramTheButton.parentNode.previousSibling.firstChild.firstChild.href;
  var inputs = Tangora.DOM.GetCollectionByClassName(document, 'input', 'howMany');
  
  //var pageId = '{system.page.id}';
  
  var itemIdConcat = '';
  var theNumberSelectedConcat  = '';
  
  for (var i = 0; i<inputs.length; i++){
  var theNumberSelected = inputs[i].value;
   if (theNumberSelected != '0'){
	var lineId = inputs[i].id;
	var firstUnderscore = lineId.indexOf("_");
	var lastUnderscore = lineId.lastIndexOf("_") + 1;
	var itemId = lineId.substring(firstUnderscore+1, lastUnderscore-1);
	
	itemIdConcat+=(itemId+'<,[].>');
	theNumberSelectedConcat+=(theNumberSelected+';');
	//alert ('items: '+itemIdConcat +', numbers: '+ theNumberSelectedConcat);
	//cibeDoAddToBasket (itemId,theNumberSelected, pageId);
    }
  }
	cibeDoAddToBasket (itemIdConcat,theNumberSelectedConcat, pageId);
	//setTimeout(document.location = hiddenLink,550);
	document.location = hiddenLink;
}



function cibeDoAddToBasket(productid,count,pageId) {

  //list id 300064 and not 30061?
  URL='/page'+pageId+'.aspx?isbasket=1&pageid='+pageId+'&listid=-300064&action=add&closeatonce=1&productid='+productid+'&count='+count;
    if (document.getElementById ('MiniBasketPageId')) {
	URL=URL+'&minibasket=2&minibasketpageid='+document.getElementById ('MiniBasketPageId').innerHTML+'&rnd='+RandomName(4);
    }
  tsAjax.innerHTML(URL,'tsAjax','default',null,null,AddToBasketDone);

}

//AddToBasketDone and Showbaseket automatically generated
/*
function AddToBasketDone() {
  if (tsAjax.storage['default'].ajaxObj.readyState==4) {
    if (document.getElementById ('MiniBasketPageId')) {
	var obj=document.getElementById ('MiniBasketFrame');
	obj.src='page'+document.getElementById ('MiniBasketPageId').innerHTML+'.aspx?isbasket=1&pageid='+document.getElementById ('MiniBasketPageId').innerHTML+'&listid=-300064&minibasketbgload=1&rnd='+RandomName(4);
    }
}
}
function ShowBasket() {
  URL='/page1439.aspx?isbasket=1&pageid=1439&listid=-300061';
  location.replace (URL);
}
*/





/*function for nordiske markedsdage 2008 
sets hidden 'navn' field with concatenated fornavn and efternavn fields from external user udvidelsesliste*/
function populateHiddenName(){
	var fullNameField = document.getElementById("user_50");
	var firstNameField = document.getElementById("user_2824");
	var lastNameField = document.getElementById("user_2825");
	fullNameField.value = firstNameField.value + " " + lastNameField.value;
	//if (document.location.href.indexOf('debug')>-1) alert('debugging > '+fullNameField.value);
}


/* funtion for klimakongress hideshow - tilføjet af Tangora 09/04-08 */
function showHideElement(paramThis){
var targetDiv = paramThis.nextSibling;
var targetImg = paramThis.firstChild;
if (targetDiv.className == 'showHideContentHidden'){
targetDiv.className = 'showHideContentShown';
targetImg.src = '/media/system/arrowOpen.gif';
}else if (targetDiv.className == 'showHideContentShown'){
targetDiv.className = 'showHideContentHidden';
targetImg.src = '/media/system/arrowClosed.gif';
}
return false;
}/* end funtion for klimakongress hideshow */

/*custom function tangora for nsnmwn 
which duplicates username (always an email)
and puts it into a hidden email field*/

function duplicateEmail(){
var sourceEmail = document.getElementById("user_10");
var targetEmail = document.getElementById("user_160");
targetEmail.value = sourceEmail.value;
//if (document.location.href.indexOf('debug')>-1) alert('debugging > '+targetEmail.value);
}

/*custom function tangora for nsnmwn 
which duplicates startdato value
and puts it into a hidden slutdato field*/

function duplicateStartdato(){
var sourceDato= document.getElementById("booking_1000");
var targetDato = document.getElementById("booking_1010");
targetDato.value = sourceDato.value;
}



/*custom function tangora for nsnmwn 
empties basket before adding new item
so you can only have one at a time*/

function NewAddToBasket(itemID, pageID){
//alert("/page"+pageID+".aspx?isbasket=1&pageid="+pageID+"&listid=-300021&action=emptybasket");
tsAjax.innerHTML ("/page"+pageID+".aspx?isbasket=1&pageid="+pageID+"&listid=-300049&action=emptybasket");
AddToBasket(itemID);
}



/*	
	ClientScript udviklet for Culturing A/S til www.BridgingCopenhagen.com 
	af Tangora Software A/S		
	
	NOTE: addHandlers bliver kaldt fra sidste celle i det avancerede layout for formularen på side 1 og 3. Side 3 har desuden 13 hidden IFRAMES med id IF0-IF12
		
*/

function resetPasswordFields() {
	if (document.forms.nokiacmdprofile) {
		var p1 = document.forms.nokiacmdprofile.idpassword;
		var p2 = document.forms.nokiacmdprofile.idpassword2;
		if (p1 && p2) {
			p1.id="idpassword_1";
			var new1 = document.createElement("INPUT");
			new1.id="idpassword";
			new1.type="password";
			new1.value=p1.value;
			new1.name=p1.name;
			new1.size=p1.size;
			new1.title=p1.title;
//			new1.style=p1.style;
			p1.parentNode.insertBefore(new1,p1);
			p1.parentNode.removeChild(p1);

			p2.id="idpassword2_1";
			var new2 = document.createElement("INPUT");
			new2.id="idpassword2";
			new2.type="password";
			new2.value=p2.value;
			new2.name=p2.name;
			new2.size=p2.size;
			new2.title=p2.title;
//			new2.style=p2.style;
			p2.parentNode.insertBefore(new2,p2);
			p2.parentNode.removeChild(p2);
		}
	}
}

window.addEvent (window, "onload", removeCreditCardHolder);
window.addEvent (window, "onload", resetPasswordFields);


function removeCreditCardHolder() {
	if (document.getElementById('shoppinglist_1283')) {
		document.getElementById('shoppinglist_1283').value = "";
	}
}

function connectFormAndBasket() {
	var cfv = GetCookieValue ("bridging","formvalue");
	var fld = document.getElementById("shoppinglist_1567").value = cfv;
}

// Generic event handler that handles the difference between IE style and Gecko style event handlers
function addEvent(element, eventname, func) {
	if(window.addEventListener) {    
		if (eventname=="onclick") {eventname="click"}
		if (eventname=="onload") {eventname="load"}
		element.addEventListener(eventname, func, false);
	} else if (element.attachEvent) {
		element.attachEvent(eventname, func)
	}
}

// Adds handlers according the page in question (page in the formula)
function addHandlers(page) {
	var frm = document.forms.BridgingCopenhagen;
	if (page==1) {
		// Adds handlers to enable/disable all controls based on the Affiliate
		var coll = frm.affiliate;
		//addEvent(coll[0], "onclick", function () {pageActivator(0)});
		//addEvent(coll[1], "onclick", function () {pageActivator(1)});
		//pageActivator(1);
		//disableAffiliate();
		frm.next.disabled=false;
	} else if (page==3) {
		// Adds handlers to ensure the correct flow based on the various selections 
		toemKurv(); // empty the basket in case of multiple orders
		
		addEvent(frm.full_participation,"onclick",function () {testFull()});
		addEvent(frm.par_6,"onclick",function () {updateState()});
		addEvent(frm.par_7,"onclick",function () {updateState()});
		addEvent(frm.par_8,"onclick",function () {updateState()});
     
		// Add handlers to produce the selectbox relationship
		ccc1 = new DualCombo('ccc1',frm.mon_sess,frm.mon_sess_2);
		ccc2 = new DualCombo('ccc2',frm.tue_sess1,frm.tue_sess1_2);
		ccc3 = new DualCombo('ccc3',frm.tue_sess2,frm.tue_sess2_2);
		ccc4 = new DualCombo('ccc4',frm.tue_sess3,frm.tue_sess3_2);
		ccc5 = new DualCombo('ccc5',frm.tue_ses4,frm.tue_ses4_2);
		ccc6 = new DualCombo('ccc6',frm.wed_ses5,frm.wed_ses5_2);
		
		// Set up preliminary state
		updateState();
	} else if (page==211) {
		var frm = document.forms.rediger211;
		addEvent(frm.extrafield2823,"onchange",function() {CountryChange()});
	} else if (page==215) {
		var frm = document.forms.rediger215;
		addEvent(frm.extrafield2940,"onchange", function () {NokiaBGroupChange()});
		addEvent(frm.extrafield2823,"onchange",function () {CountryChangeSequel()});
		NokiaBGroupChange();
	} else if (page==218) {
		var frm = document.forms.rediger218;
		addEvent(frm.extrafield2940,"onchange", function () {NokiaBGroupChange()});
		NokiaBGroupChange();
	} else if (page==224) {
		var frm = document.forms.nokiacmdprofile;
		frm.state.disabled=true;
		addEvent(frm.country,"onchange",function () {CountryChangeSequel2()});
	} else if (page==225) {
		var frm = document.forms.nokiacmdprofile;
		frm.state.disabled=true;
		addEvent(frm.country,"onchange",function () {CountryChangeSequel2()});
		addEvent(frm.businessgroup,"onchange", function () {NokiaBGroupChange2()});
		NokiaBGroupChange2();
	}
}

function CountryChange()
{
	var frm = document.forms.rediger211;
	var countryfield = frm.extrafield2823;
	var statefield = frm.extrafield2946;
	
	statefield.disabled = (countryfield.options[countryfield.selectedIndex].value != "239");
}

function CountryChangeSequel()
{
	var frm = document.forms.rediger215;
	var countryfield = frm.extrafield2823;
	var statefield = frm.extrafield2946;
	
	statefield.disabled = (countryfield.options[countryfield.selectedIndex].value != "239");
}

function CountryChangeSequel2()
{
	var frm = document.forms.nokiacmdprofile;
	var countryfield = frm.country;
	var statefield = frm.state;
	
	statefield.disabled = (countryfield.options[countryfield.selectedIndex].value != "239");
}

function NokiaBGroupChange() {
	var frm = document.forms.rediger215;
	if (!frm) frm = document.forms.rediger218;
	var groupField = frm.extrafield2940;
	var selectedGroup = groupField.options[groupField.selectedIndex].text;
	var buArr = [];
	var buField = frm.extrafield2941;
	var salField = frm.extrafield2942;
	if (typeof(nokiaOptions1)=="undefined") {
		nokiaOptions1 = new Array();
		for (var i=0;i<buField.options.length;i++) {
			nokiaOptions1[buField.options[i].text] = buField.options[i].value;
		}
	}
	switch (selectedGroup) {
		case "CMO/MP" :
			buArr = new Array("MP SMO Europe", "MP SMO Global", "MP Business Group","MP & CMO Europe marketing","MP Marketing Global & CMO Marketing other than Europe","CMO Europe Sales","CMO Product Mgmnt, Business Dev & Channel Dev, Global & Europe","CMO Sales & Mktg MEA","CMO Sales & Mktg APAC","CMO Sales & Mktg Americas","CMO Sales & Mktg Latin America");
			break;
		case "M" : 
			buArr = new Array("Sales & channel mgmt","Multimedia Experiences ME","Multimedia Computers MC","Convergence Produts CP","Strategy and Technology","Marketing");
			break;
		case "ES" :
			buArr = new Array("Americas - Sales & Marketing","APAC - Sales & Marketing","Greater China Sales & Marketing","EMEA - Sales & Marketing","Global Channel","UK/Ireland Sales","E & SE Sales","Nordics Sales","Germany/Alps Sales","Italy Sales");
			break;
		case "NET" :
			buArr = new Array("NET-wide functions","Core","Radio","Services","APAC","China","WE","CEMEA","NAM","LAM","Vodafone");
			break;
		case "TP" :
			buArr = new Array("TP");
			break;
		case "SRO" :
			buArr = new Array("MSM","FN");
			break;
		case "NHO" :
			buArr = new Array("NHO");
			break;
		case "NVO" :
			buArr = new Array("NVO");
			break;
		case "Comms" :
			buArr = new Array("Comms");
			break;
		case "Industry & Financial analysts" :
			buArr = new Array("Industry & Financial analysts");
			break;
	}
	var count = buField.options.length;
	for (var i=0;i	<= count;i++) {
		buField.options[count-i]=null;
		salField.options[count-i]=null;
	}
	for (var i=0; i<buArr.length;i++) {
		var opt = document.createElement("OPTION");
		opt.text = buArr[i];
		opt.value= nokiaOptions1[opt.text];
		buField.options[i] = opt;
		var opt = document.createElement("OPTION");
		opt.text = buArr[i];
		opt.value= nokiaOptions1[opt.text];
		salField.options[i] = opt;
	}
}

function NokiaBGroupChange2() {
	var frm = document.forms.nokiacmdprofile;
	var groupField = frm.businessgroup;
	var selectedGroup = groupField.options[groupField.selectedIndex].text;
	var buArr = [];
	var buField = frm.businessunit;
	var salField = frm.subarealevel;
	if (typeof(nokiaOptions1)=="undefined") {
		nokiaOptions1 = new Array();
		for (var i=0;i<buField.options.length;i++) {
			nokiaOptions1[buField.options[i].text] = buField.options[i].value;
		}
	}
	switch (selectedGroup) {
		case "CMO/MP" :
			buArr = new Array("MP SMO Europe", "MP SMO Global", "MP Business Group","MP & CMO Europe marketing","MP Marketing Global & CMO Marketing other than Europe","CMO Europe Sales","CMO Product Mgmnt, Business Dev & Channel Dev, Global & Europe","CMO Sales & Mktg MEA","CMO Sales & Mktg APAC","CMO Sales & Mktg Americas","CMO Sales & Mktg Latin America");
			break;
		case "M" : 
			buArr = new Array("Sales & channel mgmt","Multimedia Experiences ME","Multimedia Computers MC","Convergence Produts CP","Strategy and Technology","Marketing");
			break;
		case "ES" :
			buArr = new Array("Americas - Sales & Marketing","APAC - Sales & Marketing","Greater China Sales & Marketing","EMEA - Sales & Marketing","Global Channel","UK/Ireland Sales","E & SE Sales","Nordics Sales","Germany/Alps Sales","Italy Sales");
			break;
		case "NET" :
			buArr = new Array("NET-wide functions","Core","Radio","Services","APAC","China","WE","CEMEA","NAM","LAM","Vodafone");
			break;
		case "TP" :
			buArr = new Array("TP");
			break;
		case "SRO" :
			buArr = new Array("MSM","FN");
			break;
		case "NHO" :
			buArr = new Array("NHO");
			break;
		case "NVO" :
			buArr = new Array("NVO");
			break;
		case "Comms" :
			buArr = new Array("Comms");
			break;
		case "Industry & Financial analysts" :
			buArr = new Array("Industry & Financial analysts");
			break;
	}
	var count = buField.options.length;
	for (var i=0;i	<= count;i++) {
		buField.options[count-i]=null;
		salField.options[count-i]=null;
	}
	for (var i=0; i<buArr.length;i++) {
		var opt = document.createElement("OPTION");
		opt.text = buArr[i];
		opt.value= nokiaOptions1[opt.text];
		buField.options[i] = opt;
		var opt = document.createElement("OPTION");
		opt.text = buArr[i];
		opt.value= nokiaOptions1[opt.text];
		salField.options[i] = opt;
	}
}

function evaluateForm() {
	// When the form is submittet the various selections is added to the basket
	var frm = document.forms.BridgingCopenhagen;
	var p6 = frm.par_6;
	var p7 = frm.par_7;
	var p8 = frm.par_8;
	var full = frm.full_participation;   
   	var xtraNights = frm.xtra_nights;
	if (full.checked) {
		PutIKurv(4);
		if (xtraNights) {
			if (xtraNights.selectedIndex>0) {
				PutIKurv(14,xtraNights.selectedIndex);
			}
		}
	}
	if (p6.checked) {
		PutIKurv(5);
	}
	if (p7.checked) {
		PutIKurv(6);
	}
	if (p8.checked) {
		PutIKurv(7);
	}
	var hotels = frm.hotel;
	if (hotels[0].checked) {
		PutIKurv(9);	
	}
	if (hotels[1].checked) {
		PutIKurv(10);	
	}
	if (hotels[2].checked) {
		PutIKurv(11);	
	}
	if (hotels[3].checked) {
		PutIKurv(12);	
	}
	var dinner = frm.dinner_6_7;
	if (dinner.checked) {
		PutIKurv(8);	
	}
	// Set at grace period to ensure that all transactions has been committed
	window.setTimeout(proceed,4000);
}

function proceed() {
	// Post the form
	var frm = document.forms.BridgingCopenhagen;
	frm.submit();
}

function handleRadioState(e, state) {
	// Set state on a Radio group
	for (var i=0;i<e.length;i++) {
		e[i].disabled=state;
	}
}

function updateState() {
	// Sets the current state based on current selections
	var frm = document.forms.BridgingCopenhagen;
	var p6 = frm.par_6;
	var p7 = frm.par_7;
	var p8 = frm.par_8;
	var full = frm.full_participation;
   	var xtraNights = frm.xtra_nights;


	if (p6.checked || p7.checked || p8.checked) {
		full.disabled=true;
		if (xtraNights) xtraNights.selectedIndex=0;
		if (xtraNights) xtraNights.disabled=true;
	} else {
		full.disabled=false;
		if (xtraNights) xtraNights.disabled=false;
	}

	updateHotelState();
	updateBreakoutState();
}

function updateBreakoutState() {
	// Sets the state of the breakout sessions
	var frm = document.forms.BridgingCopenhagen;
	var p6 = frm.par_6;
	var p7 = frm.par_7;
	var p8 = frm.par_8;
	var full = frm.full_participation;
	if (full.checked) {
		frm.mon_sess.disabled=false;
		frm.mon_sess_2.disabled=false;
		frm.tue_sess1.disabled=false;
		frm.tue_sess1_2.disabled=false;
		frm.tue_sess2.disabled=false;
		frm.tue_sess2_2.disabled=false;
		frm.tue_sess3.disabled=false;
		frm.tue_sess3_2.disabled=false;
		frm.tue_ses4.disabled=false;
		frm.tue_ses4_2.disabled=false;
		frm.wed_ses5.disabled=false;
		frm.wed_ses5_2.disabled=false;
	} else {
		frm.mon_sess.disabled=true;
		frm.mon_sess_2.disabled=true;
		frm.tue_sess1.disabled=true;
		frm.tue_sess1_2.disabled=true;
		frm.tue_sess2.disabled=true;
		frm.tue_sess2_2.disabled=true;
		frm.tue_sess3.disabled=true;
		frm.tue_sess3_2.disabled=true;
		frm.tue_ses4.disabled=true;
		frm.tue_ses4_2.disabled=true;
		frm.wed_ses5.disabled=true;
		frm.wed_ses5_2.disabled=true;
	}
	if (p6.checked) {
		frm.mon_sess.disabled=false;
		frm.mon_sess_2.disabled=false;
	}
	if (p7.checked) {
		frm.tue_sess1.disabled=false;
		frm.tue_sess1_2.disabled=false;
		frm.tue_sess2.disabled=false;
		frm.tue_sess2_2.disabled=false;
		frm.tue_sess3.disabled=false;
		frm.tue_sess3_2.disabled=false;
		frm.tue_ses4.disabled=false;
		frm.tue_ses4_2.disabled=false;
	}
	if (p8.checked) {
		frm.wed_ses5.disabled=false;
		frm.wed_ses5_2.disabled=false;
	}
}

function updateHotelState() {
	// Sets the legal selections for the hotel state.
	var frm = document.forms.BridgingCopenhagen;
	var p6 = frm.par_6;
	var p7 = frm.par_7;
	var p8 = frm.par_8;
	var hotels = frm.hotel;
	hotels[0].disabled=true;
	hotels[1].disabled=true;
	hotels[2].disabled=true;
	hotels[3].disabled=true;
	if (p6.checked) {
		hotels[0].disabled=false;
		hotels[1].disabled=false;
	}
	if (p7.checked) {
		hotels[1].disabled=false;
		hotels[2].disabled=false;
	}
	if (p8.checked) {
		hotels[2].disabled=false;
		hotels[3].disabled=false;
	}
}

function testFull() {
	// Set the states, if full participation is selected or deselected
	var frm = document.forms.BridgingCopenhagen;
	var e = frm.full_participation;   
	var xtraNights = frm.xtra_nights;

	if (e.checked) {	
		frm.par_6.checked=false; frm.par_6.disabled=true;
		frm.par_7.checked=false; frm.par_7.disabled=true;
		frm.par_8.checked=false; frm.par_8.disabled=true;
		frm.dinner_6_7.checked=false; frm.dinner_6_7.disabled=true;
		frm.hotel[0].checked=false;
		frm.hotel[1].checked=false;
		frm.hotel[2].checked=false;
		frm.hotel[3].checked=false;
		if (xtraNights) xtraNights.disabled=false;
		handleRadioState(frm.hotel, true);
	} else {
		frm.par_6.disabled=false;
		frm.par_7.disabled=false;
		frm.par_8.disabled=false;
		frm.dinner_6_7.disabled=false;
		if (xtraNights) xtraNights.selectedIndex=0;
		if (xtraNights) xtraNights.disabled=true;
		handleRadioState(frm.hotel, false);
	}
	updateState();
}

function disableAffiliate()
{
	var frm = document.forms.BridgingCopenhagen;
	var elms = frm.affiliate;
	elms[0].disabled = true;
	elms[1].disabled = true;
}

function pageActivator(i) {
	// Enables all controls if Affiliate is regional, and disables all if HQ
	var frm = document.forms.BridgingCopenhagen;
	if(i==0) {
	//if(i==1) {
		
		frm.lastname.disabled=true;
		frm.firstname.disabled=true;
		frm.call.disabled=true;
		frm.title.disabled=true;
		handleRadioState(frm.categor,true);
		frm.address.disabled=true;
		frm.postal.disabled=true;
		frm.country.disabled=true;
		frm.city.disabled=true;
		frm.phone.disabled=true;
		frm.mobile.disabled=true;
		frm.fax.disabled=true;
		frm.initials.disabled=true;
		frm.email.disabled=true;
		frm.ass_name.disabled=true;
		frm.ass_email.disabled=true;
		handleRadioState(frm.partici_before,true);
		handleRadioState(frm.bring_posters,true);
		frm.next.disabled=true;
	} else {
		frm.lastname.disabled=false;
		frm.firstname.disabled=false;
		frm.call.disabled=false;
		frm.title.disabled=false;
		handleRadioState(frm.categor,false);
		frm.address.disabled=false;
		frm.postal.disabled=false;
		frm.country.disabled=false;
		frm.city.disabled=false;
		frm.phone.disabled=false;
		frm.mobile.disabled=false;
		frm.fax.disabled=false;
		frm.initials.disabled=false;
		frm.email.disabled=false;
		frm.ass_name.disabled=false;
		frm.ass_email.disabled=false;
		handleRadioState(frm.partici_before,false);
		handleRadioState(frm.bring_posters,false);
		frm.next.disabled=false;
	}
}	

function PutIKurv(productid,count) {
	// Uses a hidden IFRAME to put the productid in the basket
	var URL = "";
	if (count) URL='/page191.aspx?isbasket=1&pageid=191&listid=-300015&action=add&closeatonce=0&productid='+productid+'&count='+count;
	else URL = '/page191.aspx?isbasket=1&pageid=191&listid=-300015&action=add&closeatonce=0&productid='+productid;
	var IFX = document.getElementById("IF"+productid);
	IFX.src=URL;
}

function toemKurv() {
	// Uses a hidden IFRAME to empty the basket
	var URL = "http://bridgingcopenhagen.com/page199.aspx?isbasket=1&pageid=199&listid=-300015&orgorderid=0&action=emptybasket";	
	var IF0 = document.getElementById("IF0");
	IF0.src=URL;
}


function DualCombo(aid, c1,c2) {
	
	/*
		Related mutually exclusive combobox class
		
		Parameter list:
			aid = A alphanumeric value that is the same as the global variable reference (see example below)
			c1  = A reference to the first selectbox
			c2  = A reference to the second selectbox
		
		Example:
			ccc1 = new DualCombo('ccc1',frm.mon_sess,frm.mon_sess_2);
	*/

	this.name = aid;
	this.cmb1 = c1;
	this.cmb2 = c2;   
	this.options = []; // Array of select options

	this.change = _change;
	this.init = _init;
	this.removeItem = _removeItem;   
	this.getRealIndex = _getRealIndex;
	this.restoreAllItems = _restoreAllItems;

	function _init() {
		// Hooks up the eventhandlers and stores the options of both selectboxes
		var myname = this.name;
		this.cmb1.onchange=function() {eval(myname+".change(this,'"+myname+"')")};
		this.cmb2.onchange=function() {eval(myname+".change(this,'"+myname+"')")};
		for (var i=0;i<this.cmb1.options.length;i++) {
			this.options[0,i]=this.cmb1.options[i];
			this.options[1,i][this.cmb2.name]=this.cmb2.options[i];
		}
	}	
   
	function _getRealIndex(cmb,index) {
		// Fetches the index as it would have been if all items was available
		if (index==0) return 0;
		var txt = cmb.options[index].text;
		for (var i=0;i<this.options.length;i++) {
			if (txt==this.options[i].text) return i;
		}
	}
   
	function _removeItem(cmb1,cmb2) {		
		// cmb1 = the combo selected in, cmb2 = the combo to remove from		
		var idx = this.getRealIndex(cmb2,cmb2.selectedIndex);
		this.restoreAllItems(cmb2);
		var removeIdx = this.getRealIndex(cmb1,cmb1.selectedIndex);
		if (removeIdx<idx && removeIdx!=0) idx-=1;	    
		if (cmb1.selectedIndex!=0) {
			cmb2.options[removeIdx]=null;			
		}
		cmb2.selectedIndex=idx;		
	}		
	
	function _restoreAllItems(cmb) {
		// Copies all the original items back to the selectbox			
		for(var i=cmb.options.length;i>0;i--) {
			cmb.options[i] = null;
		}	
		cmb.selectedIndex=-1;
		var idx = 0;
		if (cmb.name==this.cmb2.name) idx=1;
		for(var i=1;i<this.options.length;i++) {
			var opt = document.createElement("OPTION");
			opt.text = this.options[i].text;			
			cmb.options[i] = opt;
		}
	}

	function _change(o, dc) {
		// Event handler called on selectbox change
		var me = eval(dc);
		if (o.name==me.cmb1.name) {
			me.removeItem(me.cmb1, me.cmb2);
		} else {
			me.removeItem(me.cmb2, me.cmb1);
		}
	}
	
	this.init();
}

// Cookie manipulation functions

function SetCookieValue (name, key, value) {
	var argv = SetCookieValue.arguments;	 
	var argc = SetCookieValue.arguments.length;	
	var expires	= (argc	> 3) ? argv[3]:	null;  
	var path = (argc > 4) ?	argv[4] : null;	 
	var domain = (argc > 5)	? argv[5] : null;  
	var secure=(argc > 6) ?	argv[6] : false;  
	
	// read previous state
	var state=GetCookie(name);

	// no cookie?
	if (!state) {
		state="";
	} 
	// remove identifier if already set
	var pos=state.indexOf("&"+key+"=");
	if (pos>=0) {
		var pos2=state.indexOf("&", pos+1);
		if (pos2== -1) {
			pos2=state.length;
		}
		state=state.substr(0,pos)+state.substr(pos2);
	}
	
	// add new value
	if (typeof(value)!="undefined") {
		state+="&"+key+"="+escape(value);
	}

	// set cookie
	document.cookie	= name + "=" + state +	
		((expires == null) ? ""	: ("; expires="	+ expires.toGMTString())) +	
		((path == null)	? "" : ("; path=" +	path)) +  
		((domain ==	null) ?	"" : ("; domain=" +	domain)) +	  
		((secure ==	true) ?	"; secure" : "");
}

function SetCookie (name, value) {	
	var	argv = SetCookie.arguments;	 
	var	argc = SetCookie.arguments.length;	
	var	expires	= (argc	> 2) ? argv[2]:	null;  
	var	path = (argc > 3) ?	argv[3]	: null;	 
	var	domain = (argc > 4)	? argv[4] :	null;  
	var	secure=(argc > 5) ?	argv[5]	: false;  
	document.cookie	= name + "=" + escape (value) +	
		((expires == null) ? ""	: ("; expires="	+ expires.toGMTString())) +	
		((path == null)	? "" : ("; path=" +	path)) +  
		((domain ==	null) ?	"" : ("; domain=" +	domain)) +	  
		((secure ==	true) ?	"; secure" : "");
}

function GetCookie (name) {	 
	var	arg	= name + "=";  
	var	alen = arg.length;	
	var	clen = document.cookie.length;
	var i = 0;  
	while (i < clen) {	  
		var	j =	i +	alen;	 
		if (document.cookie.substring(i, j)	== arg)		 
		return getCookieVal	(j);	
		i =	document.cookie.indexOf(" ", i)	+ 1;	
		if(i ==	0) break;	
	}  
	return null;
}

function GetCookieValue (name, key) {
	var state=GetCookie(name);
	if (state) {
		var str="&"+key+"=";
		var pos=state.indexOf(str);
		if (pos>=0) {
			var pos2=state.indexOf("&", pos+1);
			if (pos2== -1) {
				pos2=state.length;
			}
			// remove prefix (key)
			pos+=str.length;
			return state.substr(pos, pos2-pos);
		}
	}
	return null;
}

function DeleteCookie (name) {	
	var	exp	= new Date();  
	exp.setTime	(exp.getTime() - 1);  
	var	cval = GetCookie (name);  
	document.cookie	= name + "=" + cval	+ "; expires=" + exp.toGMTString();
}

function getCookieVal(offset) {
	var	endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}

function getParam(paramName, valueStr) {

 // get value of paramName, pass url as valueStr 

 if (typeof(valueStr=='undefined')){

  valueStr = window.location.search;

 }

 var expr = eval("/[\\?|\\&]" + paramName + "=(.*?)\\&/");
 regex = new RegExp(expr);
 regex.global=true;
 regex.ignoreCase=true;

 // fix by NIS start
 var match = regex.exec(valueStr+'&'); 
 if (match != null) return RegExp.$1;
 return "";
 // fix by NIS end
}

function TableBuilder(strID)
{
	this.Element = document.createElement("table");
	this.Element.appendChild(document.createElement("tbody"));
	this.Element.id = strID;
	this.Columns = new Array();
	this.TextDisplayMode = "title";

	this.Init = function()
	{
		var tr = document.createElement("tr");
		
		var td = document.createElement("td");
		tr.appendChild(td);

		for(var i = 0; i < this.Columns.length; i++)
		{
			var td = document.createElement("td");
			td.innerHTML = this.Columns[i].Text;
			td.id = "tableheader_" + this.Columns[i].ID;
			td.className = "tableheader";
			tr.appendChild(td);
		}

		this.Element.tBodies[0].appendChild(tr);
	}

	this.AddColumn = function(strText, strID)
	{
		var c = new TableColumn(strID, strText);
		this.Columns.push(c);
	}

	this.AddRow = function(strID, strTitle, arrTours)
	{
		var row = document.createElement("tr");

		var td = document.createElement("td");
		td.innerHTML = strTitle;
		td.className = "tableheader";
		row.appendChild(td);

		var marker = 0;
		var counter = 0;
		var markerLimit = 9;

		var markedCells = new Array();
		var markedIntervals = new Array();
		var markedTitles = new Array();
		var markedClasses = new Array();

var index = 0;

		var cName = "";

		for(var i = 0; i < arrTours.length; i++)
		{
			markedCells.push(arrTours[i].split("$")[0]);
			markedIntervals.push(arrTours[i].split("$")[1]);
			markedTitles.push(arrTours[i].split("$")[2]);
			markedClasses.push(arrTours[i].split("$")[3]);
		}

		for(var i = 0; i < this.Columns.length; i++)
		{
			var td = document.createElement("td");
			td.id = strID + "_" + this.Columns[i].ID;

			if(marker == 0)
			{
				index = SearchArray(markedCells,this.Columns[i].ID);

				if(index > -1)
				{
					cName = "markedcell ";
					cName += (markedClasses[index] != "") ? markedClasses[index] : "counter" + index;	
					td.className = cName;

					if(this.TextDisplayMode == "title"  || this.TextDisplayMode == "both")
					{
						td.title = markedTitles[index];
					}
					else if(this.TextDisplayMode == "text" || this.TextDisplayMode == "both")
					{
						td.innerHTML = markedTitles[index];
					}

					marker++;
					markerLimit = markedIntervals[index];
				}
			}
			else if(marker >= markerLimit)
			{
				index = SearchArray(markedCells,this.Columns[i].ID);

				if(index > -1)
				{
					td.className = cName;

					if(this.TextDisplayMode == "title"  || this.TextDisplayMode == "both")
					{
						td.title = markedTitles[index];
					}
					else if(this.TextDisplayMode == "text" || this.TextDisplayMode == "both")
					{
						td.innerHTML = markedTitles[index];
					}

					marker = 1;
				}
				else
				{
					marker = 0;
				}
			}
			else if(marker < markerLimit)
			{
				td.className = cName;

				if(this.TextDisplayMode == "title"  || this.TextDisplayMode == "both")
				{
					td.title = markedTitles[index];
				}
				else if(this.TextDisplayMode == "text" || this.TextDisplayMode == "both")
				{
					td.innerHTML = markedTitles[index];
				}

				marker++;
			}

			row.appendChild(td);
		}

		this.Element.tBodies[0].appendChild(row);
	}
}

function TableColumn(strID, strTxt)
{
	this.ID = strID;
	this.Text = strTxt;
}

function SearchArray(sourceArr, strFind)
{
	for(var i = 0; i < sourceArr.length; i++)
	{
		if(sourceArr[i]==strFind) return i;
	}

	return -1;
}

//Grafisk-varevisning - tilføjet af TS-MSO 10-07-2008
function TableBuilder2(strID)
{
	this.Element = document.createElement("table");
	this.Element.appendChild(document.createElement("tbody"));
	this.Element.style.width = "100%";

	this.Element.id = strID;
	this.Element.className = "section";
	this.Columns = new Array();
	this.Columns[0] = new TableColumn("","");
	this.Rows = new Array();
	this._timerID = null;
	this.CurrentHoverDiv = null;

	this.Init = function()
	{

	}

	this.AddColumn = function(strLabel, strID)
	{
		var c = new TableColumn(strID, strLabel);
		this.Columns.push(c);
	}

	this.AddRow= function(strLabel,strPersons,arrItems)
	{
		var tr = new TableRow(strLabel,strPersons,arrItems);
		this.Rows.push(tr);
	}

	this.ImgOnMouseOverHandler = function(e)
	{
		if(!e) e = window.event;
		var srcElm = (window.event) ? window.event.srcElement : e.target;
		roomTable.CurrentHoverDiv = srcElm.previousSibling;

		if((roomTable.CurrentHoverDiv && srcElm == roomTable.CurrentHoverDiv) || srcElm.tagName == "DIV") return false;

		var elms = Tangora.DOM.GetCollectionByClassName("meetingroom_table","div","hover_div");

		for(var i = 0; i < elms.length; i++)
		{
			elms[i].style.display = "none";
		}

		roomTable.CurrentHoverDiv.style.display = "block";
		roomTable.ClearHideTimer();
	}

	this.HideHoverDiv = function(e)
	{
		roomTable.CurrentHoverDiv.style.display = "none";
	}

	this.ImgOnMouseOutHandler = function(e)
	{
		roomTable._timerID = window.setTimeout(roomTable.HideHoverDiv,1000);
	}

	this.ClearHideTimer = function()
	{
		window.clearTimeout(roomTable._timerID);
	}

	this.ImgOnClickHandler = function(e)
	{
		var s = (window.event) ? window.event.srcElement : e.target;
		AddToBasket2(s.itemID,1);
	}

	this.Render = function()
	{
		var tr = document.createElement("tr");
		tr.className = "header_row";
		var td = null;

		for(var i = 0; i < this.Columns.length; i++)
		{
			td = document.createElement("td");
			td.innerHTML = this.Columns[i].Text;
			if(i==0) td.style.width = "20%";
			tr.appendChild(td);
		}

		this.Element.childNodes[0].appendChild(tr);

		for(var i = 0; i < this.Rows.length; i++)
		{
			tr = document.createElement("tr");

			for(var x = 0; x < this.Columns.length; x++)
			{
				var img = document.createElement("img");

				td = document.createElement("td");
				if(i==0) td.style.width = "8%";

				if(x == 0)
				{
					td.className = "rowheader";
					td.innerHTML = this.Rows[i].Label;
					td.style.verticalAlign = "top";
					td.style.paddingTop = "25px";
				}
				else
				{
					td.id = "cell_" + this.Rows[i].ArrRecIDs[x-1];
					td.itemID = this.Rows[i].ArrRecIDs[x-1];
					td.style.verticalAlign = "top";
					img.itemID = this.Rows[i].ArrRecIDs[x-1];
					
					var bgUrl = this.Rows[i].ArrItemIDs[x-1] + "_";
					var div = null;

					if(this.Rows[i].ArrMarked[x-1] == 1)
					{
						td.className = "marked";

						if(this.Rows[i].ArrTexts[x-1] != "")
						{
							bgUrl += "3";

							div = document.createElement("div");
							div.innerHTML = this.Rows[i].ArrTexts[x-1];
							div.style.fontSize = "8px";
							div.style.fontFamily = "verdana";
							div.style.textTransform = "uppercase";
							div.style.textAlign = "center";
							//td.appendChild(div);
							//td.className += " own";

							//img.onmouseover = this.ImgOnMouseOverHandler;
							//img.onmouseout = this.ImgOnMouseOutHandler;
							//div.onmouseover = this.ClearHideTimer;
						}
						else
						{
							bgUrl += "3";
						}
					}
					else
					{
						Tangora.Events.AddHandler(img,"onclick",this.ImgOnClickHandler);
						bgUrl += "1";
					}
					
					
					img.src = "/media/" + bgUrl + ".jpg";
					td.appendChild(img);

					if(div != null)
					{
						td.appendChild(div);
						div = null;
					}
				}

				tr.appendChild(td);
			}

			this.Element.childNodes[0].appendChild(tr);
		}
	}
}

function TableRow(strLabel, arrItems)
{
	this.Label = strLabel;
	this.ArrRecIDs = new Array();
	this.ArrItemIDs = new Array();
	this.ArrTexts = new Array();
	this.ArrMarked = new Array();
	
	var tmp = arrItems.split("¤");

	for(var i = 0; i < tmp.length; i++)
	{
		var iAtt = tmp[i].split("$");

		this.ArrRecIDs.push(iAtt[0]);
		this.ArrItemIDs.push(iAtt[1]);
		this.ArrTexts.push(iAtt[2]);
		this.ArrMarked.push(iAtt[3]);
	}
}

function RemoveRoomSiblingTopicTool()
{
	this.TargetElementId = "";
	this.RoomNumber = 0;
	this.BookingDate = "";
	this.BookingTime = "";
	this.Debug = true;

	this.Init = function()
	{
		var targetElement = document.getElementById(this.TargetElementId);
		if(!targetElement)
		{
			if(this.Debug) alert("Target element not found (\"" + this.TargetElementId + "\")");
			return;
		}

		var topic = this.GetSiblingRoomTopic();

		for(var i = 0; i < targetElement.options.length; i++)
		{
			if(this.Debug) alert(targetElement.options[i].innerHTML + "=" + topic);

			if(targetElement.options[i].innerHTML == topic)
			{
				targetElement.removeChild(targetElement.options[i]);
				break;
			}
		}
	}

	this.GetSiblingRoomTopic = function()
	{
		var url = location.protocol + "//" + location.host + "/page1411.aspx?";
		url += "bookingdate=" + encodeURIComponent(this.BookingDate);
		url += "&bookingtime=" + encodeURIComponent(this.BookingTime);
		url += "&roomnr=" + this.RoomNumber;
		url += "&rndkey=" + Math.random(10);
		
		if(this.Debug) alert(url);

		var topic = tsAjax.innerHTML(url);

		return topic;
	}
}
