function Client_ContinueToPreReserve(strFormName, nOrgNo, nRefNo, bBuy, strDate, bSiteSecure, strLocation, bSecureRequired){
	var pForm=Client_GetFormByName(strFormName);
	var v_dosubmit=0;

	// Locations dependencies start
	if (nOrgNo==109) // Kolding confirm reserve/buy
	{
		if (bBuy==true) 
		{
			if (confirm('Vil du købe til '+strDate)) v_dosubmit=1;
		}
		else 
		{
			if (confirm('Vil du bestille til '+strDate)) 
				v_dosubmit=1;
		}		
	}
	else if (nOrgNo==113) // Soenderborg confirm reserve/buy
	{
		if (bBuy == true)
		{
			if (confirm('Vil du købe til '+strDate)) v_dosubmit=1;
		}
		else
		{
		    if (confirm('Vil du bestille til '+strDate)) v_dosubmit=1;
		}		
	}
	else
	{
		v_dosubmit=1;
	}	
	if ((nOrgNo == 102) && (bBuy == true)) // Helsingoer printer alert if buy
	{
		alert('Vær opmærksom på at du skal bruge en printer til at udskrive din billet i slutningen af købsforløbet ');
	}
	// Locations dependencies end
	
	if ((v_dosubmit==1) && (pForm!=null))
	{
		// first remove the buy parameter
		pForm.action = pForm.action.replace(/buy=(true|false)\&{0,1}/, '');
		if(bBuy == false)
		{
			pForm.refno.value = nRefNo;
			pForm.buy.value = bBuy==true?'true':'false';
			pForm.submit();
		}
		else
		{
			if (bSiteSecure==true)
			{
				pForm.refno.value = nRefNo;
				pForm.buy.value = bBuy==true?'true':'false';
				pForm.submit();
			}
			else
			{
				strLocation = strLocation.replace(/buy=(true|false)\&{0,1}/, '');
				Client_OpenWindow(600, 600, strLocation+'&buy=true&refno='+nRefNo, bSecureRequired);
			}
		}
	}
}
function Client_OpenWindow(nWidth, nHeight, strLocation, bSecure){
	if (strLocation != null && strLocation.indexOf('https://') < 0 && strLocation.indexOf('http://') < 0)
	{
		if (bSecure==true){strLocation = 'https://' + strLocation;}else{strLocation = 'http://' + strLocation;}
	}
	strLocation = strLocation.replace(/\&{2}/,'&');
	window.focus();
	var oWindow=window.open(strLocation,'ebilletpurchase', 'custom=1,width='+nWidth+',height='+nHeight+',menubar=0,scrollbars=1,toolbar=0,directories=1,status=1,location=1,resizable=1');
	try{oWindow.focus();}catch(e){};
}
function Client_GetFormByName(strFormName, d){
	var pForm = null, i, d;
	if(!d) d=document; 
	if(!strFormName && d.forms.length==1)
		pForm=d.forms[0];
	for (i = 0; i < d.forms.length; i++) 
		if (d.forms[i].name == strFormName)
		{
			pForm = d.forms[i];
			break;
		}
	for(i=0;(!pForm)&& (d.layers) && (i<d.layers.length);i++)
		pForm = Client_GetFormByName(strFormName, d.layers[i].document);
	return(pForm);
}

function Client_GetFormById(strFormId, d){
	var pForm = null, i, d;
	if(!d) d=document;
	if(!strFormId && d.forms.length==1)
		pForm=d.forms[0];
	for (i = 0; i < d.forms.length; i++) 
		if (d.forms[i].id == strFormId)
		{
			pForm = d.forms[i];	break;
		}
	for(i=0;(!pForm)&& (d.layers) && (i<d.layers.length);i++)
		pForm = Client_GetFormById(strFormId, d.layers[i].document);
	return(pForm);
}
	
function Client_GetOuterForm(caller)
{
	while(caller != null && caller.tagName != "FORM")
		caller = caller.parentElement;
	return(caller);
}
function Client_PostBackOption(strName, strValue) {
	this.Name = strName;
	this.Value = strValue;
}
function Client_PostBackOptions(formElementString) {
	var strElement;
	var nPos, nStart = 0, i = 0;
	this.formElements = new Array()
	//if (formElementString.length > 0 && formElementString[0] != '&')
	//	formElementString = '&' + formElementString;
	nPos = formElementString.indexOf('&')
	if (nPos < 0 && formElementString.length > 0)
		nPos = formElementString.length;
	while (nPos > -1 && nStart < formElementString.length)
	{
		strElement = formElementString.substring(nStart, nPos)
		nStart = nPos + 1;
		nPos = formElementString.indexOf('&', nStart)
		if (nPos < 0 && nStart < formElementString.length)
			nPos = formElementString.length
		if (strElement.length > 0)
		{
			this.formElements[i] = new Client_PostBackOption(strElement.substring(0, strElement.indexOf('=')), strElement.substring(strElement.indexOf('=')+1, strElement.length));
			i++;
		}
	}
	return true;
}

function Client_PostBackOptionsAdd(strFormId, oPostBackOptions)
{
	var oElement;
	var oForm = Client_GetFormById(strFormId, null);
	var i;
	if (oForm != null)
	{
		try
		{
			if (oPostBackOptions)
				for (i = 0; i < oPostBackOptions.formElements.length; i++)
				{
					Client_SetOrAppend(oForm, oPostBackOptions.formElements[i].Name, oPostBackOptions.formElements[i].Value);
				}
		}
		catch(e)
		{
		}
	}
	return true;
}

function Client_SetOrAppend(oForm, strName, strValue){
	oElement = null;
	for (j = 0; j < oForm.elements.length; j++)
		if (oForm.elements[j].id == strName || oForm.elements[j].name == strName)
		{
			oElement = oForm.elements[j];
			break;
		}
	if (oElement == null)
	{
		oElement = document.createElement('INPUT');
		oElement.type='hidden';
		oElement.id=strName;
		oElement.name=strName;
		oForm.appendChild(oElement);
	}
	oElement.value=strValue;
}
function Client_PostBack(caller, strFormId, strLocation, oPostBackOptions){
	var oElement;
	var oForm = Client_GetFormById(strFormId, null);
	var i;
	if (oForm != null)
	{
		try
		{
			if (oPostBackOptions)
				for (i = 0; i < oPostBackOptions.formElements.length; i++)
				{
					Client_SetOrAppend(oForm, oPostBackOptions.formElements[i].Name, oPostBackOptions.formElements[i].Value);
				}
		}
		catch(e)
		{
		}
		if (strLocation != null)
			oForm.action = strLocation;
		oForm.submit();
	}
	return true;
}

function Client_ClearQueryParameter(){
	oForm = Client_GetFormByName(null, null);
	if (oForm != null)
		oForm.action = oForm.action.indexOf('?') >= 0 ? oForm.action.substring(0, oForm.action.indexOf('?')): oForm.action;
}
function Client_CleanPostBack(eventTarget, eventArgument) {
	oForm = Client_GetFormByName(null, null);
	if (!oForm.onsubmit || (oForm.onsubmit() != false)) {
		Client_SetOrAppend(oForm, '__EVENTTARGET', eventTarget);
		Client_SetOrAppend(oForm, '__EVENTARGUMENT', eventArgument);
		oForm.action = oForm.action.indexOf('?') >= 0 ? oForm.action.substring(0, oForm.action.indexOf('?')): oForm.action;
		oForm.submit();
	}
}
