﻿//JScript Functions for Packagewizard / manager-site

var MainForm;
var linkprefix;
var frmAction;
var currentGUID;
var refCounter = 0;
var componentClone = 0;
var svrXMLHttp;
var RateArray;


function setServiceTypeSearch(idservtype, idps, idpc)
{
	var frm = document.forms[0];

	frm.elements["Tab.IDServiceType"].value = idservtype;
	frm.elements["IDPackageService"].value = idps;
	frm.elements["IDPackageCriteria"].value = idpc;
	//alert(frm.innerHTML);

	frm.submit();

}


function doPackageServiceAdd()
{
	var frm = document.forms[0];

	frm.elements["frmAction"].value = "addpackageservice";
	frm.action = "packageservice.asp";
	frm.submit();


}



function shwHelpBalloon(txtid)
{

	var dv = document.createElement("div");

	dv.id = "helpBalloon";

	document.body.appendChild(dv);

	dv.style.width = "200px";
	dv.style.height = "150px";
	dv.style.backgroundColor = "#ffffcc";
	dv.style.border = "1px solid black";


	iHtmlStr = "<table width='100%' cellpadding='2' cellspacing='0' border='0'>";
	iHtmlStr = iHtmlStr + "<tr><td height='22' bgcolor='#003366'><b><font color='white'>" + txtid + "</font></b></td></tr>";

	iHtmlStr = iHtmlStr + "<tr><td>HELPTEXT FOR THIS CONTEXT</td></tr>";

	iHtmlStr = iHtmlStr + "</table>";

	dv.style.position = "absolute";
	//alert(event);

	//alert(dv.event.a);
	dv.innerHTML = iHtmlStr;



	var sc = event.srcElement;
	var scW = sc.offsetWidth;
	var scH = sc.offsetHeight;


	dv.style.posTop = event.clientY - event.offsetY;
	dv.style.posLeft = event.clientX;




//	alert(event.clientX);
//	alert(event.offsetX);
//	alert(dv.offsetWidth);
//	alert(document.body.scrollWidth);


	if ((dv.offsetWidth + event.clientX + 5) >= document.body.scrollWidth)
	{
		dv.style.posLeft = event.clientX - event.offsetX - dv.offsetWidth	- 5;
	} else
	{
		dv.style.posLeft = event.clientX + (scW - event.offsetX) + 5;
	}

//	alert(document.body.scrollWidth);


//	if (dv.width + event.clientX) >



	//var dv = document.createElement

}


function hideBalloon()
{
	var dv = document.getElementById("helpBalloon");
//	alert(dv);
	try {
		document.body.removeChild(dv);
	} catch (exception)
	{

	}

}



function execFilter()
{
	var frm = document.forms[0];

	frm.elements["Search.action"].value = "doSearch";
	frm.submit();

}




function doServiceListAdd(v, idsales, idoffer)
{
	var frm = document.forms[0];

	frm.elements["SS_idsales"].value = idsales;
	frm.elements["SS_idoffer"].value = idoffer;
	frm.elements["frmAction"].value = "addsinglesales";
	frm.elements["Search.action"].value = "dosearch";

	frm.submit();


}



function doProvAdd(act, elm)
{

	var frm = document.forms[0];
	frm.elements["frmAction"].value = (act == 1)?"addprov":"removeprov";


	frm.submit();
}


function doSearchFilter(elm)
{
	var frm = document.forms[0];

	//alert(elm);

	if (frm.elements[elm + ".IDProvider"] != undefined) {

		for( x = 0; x < frm.elements[elm + ".IDProvider"].length; x++)
		{
			frm.elements[elm + ".IDProvider"][x].checked = false;
		}
	}
	//frm.elements[elm + ".IDProvider"].value = "";
	//frm.elements["list"].value = '';
	frm.submit();


}

function setCheckBox(elm)
{
	//event.cancelBubble = true;

	try {

		if (elm.getElementsByTagName("INPUT")[0].checked)
		{
			elm.getElementsByTagName("INPUT")[0].checked = false;
		} else {
			elm.getElementsByTagName("INPUT")[0].checked = true
		}


	} catch (exception) {}
}

function setRealCheckBox(elm)
{
	event.cancelBubble = true;
}


function setBackColor(elm, s)
{
	elm.style.backgroundColor = (s == 1)? "#ffffcc":"#ffffff";


	try {

//		alert(event.type)

		if (event.ctrlKey && event.type == "mouseout")
		{
			setCheckBox(elm);
		}

	} catch (exception) {alert(exception.description);}

}





function doServiceEdit(frm, idoffer, idservice)
{

	frm.action = "packageservice.asp?IDTicketOffer=" + idoffer + "&IDService=" + idservice;
	frm.elements["frmAction"].value = "serviceedit";

	frm.submit();


}



function saveCostOfSales(v)
{
	var frm = document.forms[0];

	frm.elements["frmAction"].value = (v == 1)?"defineallcost":"savecost";
	frm.submit();

}


function set2D(obj)
{
}


function setOptional(obj, idp)
{

	var frm = obj.form;

	frm.elements["frmAction"].value = "updateoptional";
	frm.elements["SS_packageservice"].value = obj.value;
	frm.elements["SS_status"].value = (obj.checked)?1:0;
	frm.action = frm.action + "?shwConfig=1";
	frm.submit();

}



function saveOffset(idps, frm)
{
	frm.elements["frmAction"].value = "saveOffset";
	frm.elements["SS_packageservice"].value = idps;
	frm.action = frm.action + "?shwConfig=1";
	frm.submit();
}


function saveDow(idps, frm)
{
	frm.elements["frmAction"].value = "saveDow";
	frm.elements["SS_packageservice"].value = idps;
	frm.action = frm.action + "?shwConfig=1";
	frm.submit();
}


function saveSortOrder(idps, frm)
{
	frm.elements["frmAction"].value = "saveSortOrder";
	frm.elements["SS_packageservice"].value = idps;
	frm.action = frm.action + "?shwConfig=1";
	frm.submit();
}



function saveThemeName(idps, frm)
{
	frm.elements["frmAction"].value = "savethemename";
	frm.elements["SS_packageservice"].value = idps;
	//frm.elements["shwConfig"].value = 1;
	frm.action = frm.action + "?shwConfig=1";
	frm.submit();

}


function saveSingleCost(idsales, idtimetemplate, elm)
{
	var frm = document.forms[0];

	frm.elements["frmAction"].value = "savecost";
	frm.elements["IDSales"].value = idsales;
	frm.elements["IDTimeTemplate"].value = idtimetemplate;

	try {
		frm.elements["Cost"].value = elm.parentElement.firstChild.value;
	} catch(exception){}

	frm.submit();
}


function assignRateModifierToSales(idsales, idservicelist, elm)
{

	var frm = document.forms[0];

	//alert(elm);

	//document.location =
	document.location = "packagewizard.asp?IDPackage=" + frm.elements["IDPackage"].value +
	                                       "&IDPackageService=" + frm.elements["IDPackageService"].value +
	                                       "&IDSales=" + idsales +
	                                       "&IDServiceList=" + idservicelist +
	                                       "&IDRateModifier=" + frm.elements["IDRateModifier"].value +
	                                       "&shwServices=1" +
	                                       "&Remove=" + ((elm.checked)?"0":"1") + "&frmAction=assignratemodifier";




}


function doTemplateSave()
{
	frmAction.value = "savenewtemplate";
	if (MainForm.elements["NewTemplateName"].value.length == 0)
	{
		alert("Please provide a name for this package template");
		return;
	}

	var selectedComponents = 0;

	//alert(MainForm.elements["IDPackageComponent"].length);
	if (MainForm.elements["IDPackageComponent"].length == null)
	{
		if (!MainForm.elements["IDPackageComponent"].checked)
		{
			alert("Please provide at least one component for this template");
			return;
		}
	}
	else
	{

		for (x = 0; x < MainForm.elements["IDPackageComponent"].length; x++)
		{
			if (MainForm.elements["IDPackageComponent"][x].checked)
			{
				selectedComponents++;
			}
		}

	}

	if (selectedComponents == 0)
	{
		alert("Please provide at least one component for this template");
		return;
	}


	MainForm.elements["IDPackageTemplate"].value = 0;
	MainForm.submit();

}


function doSaveComponentToList(IDPackageComponent, IDComponentService, obj)
{
	var refbttn = document.getElementById("RefreshButton");
	refbttn.style.display = "inline";


//	alert(currentGUID);
//	alert(linkprefix + "/packagexmlbuild.asp?formoverride=1&frmaction=addcomponentservice&GUID=" + currentGUID +
//											"&IDPackageComponent=" + IDPackageComponent + "&IDComponentService=" + IDComponentService);
//	return;

	if (window.XMLHttpRequest)
	{
		var Xml = new XMLHttpRequest;
	}
	else
	{
		var Xml = new ActiveXObject("MSXML2.XMLHTTP");
	}


//	alert(linkprefix + "/packagexmlbuild.asp?formoverride=1&frmaction=addcomponentservice&GUID=" + currentGUID +
//											"&IDPackageComponent=" + IDPackageComponent + "&IDComponentService=" + IDComponentService);
//	return;

	if (obj.src.indexOf("lock_open.gif") >= 0)
	{
		Xml.open("GET", linkprefix + "/packagexmlbuild.asp?formoverride=1&frmaction=addcomponentservice&GUID=" + currentGUID +
											"&IDPackageComponent=" + IDPackageComponent + "&IDComponentService=" + IDComponentService, false);
		Xml.send();

		if (Xml.Status == 200)
		{
			obj.src = "/images/system/search/lock_locked.gif";
//			alert(Xml.responseText);

			currentGUID = (Xml.responseText.length == 0) ? currentGUID:Xml.responseText;
		}
		else
		{
			alert(Xml.Status + "\n" + Xml.StatusText);
		}

	}
	else
	{	
	
		Xml.open("GET", linkprefix + "/packagexmlbuild.asp?formoverride=1&frmaction=removecomponentservice&GUID=" + currentGUID +
											"&IDPackageComponent=" + IDPackageComponent + "&IDComponentService=" + IDComponentService, false);
		Xml.send();

		if (Xml.Status == 200)
		{
			obj.src = "/images/system/search/lock_open.gif";
//			alert(Xml.responseText);

			currentGUID = (Xml.responseText.length == 0) ? currentGUID:Xml.responseText;
		}
		else
		{
			alert(Xml.Status + "\n" + Xml.StatusText);
		}
	}
}

function doSaveAsPackage()
{
	frmAction.value = "dopackagefromxmlcreate";
	MainForm.elements["GUID"].value = currentGUID;
	MainForm.action = linkprefix + "/packageCreate.asp";
	MainForm.submit();

}

function doPageReload()
{
	document.location.reload(true);
}

function doCopyTitle(idlang, idtrans, elm)
{
	var frmColl = MainForm.elements;
	var ChoiceElement = frmColl[elm + "$" + idlang + "$" + idtrans];

//	alert(ChoiceElement);

	for (x = 0; x < frmColl.length; x++)
	{
		if (frmColl[x].name.indexOf(elm) != -1 && frmColl[x].name != ChoiceElement.name)
		{

			if (frmColl[x].value.length == 0)
			{
				frmColl[x].value = ChoiceElement.value;
			}

		}
	}

	chkSaveBttnStatus();

}



function doCopyTheme(idlang, idtrans, elm)
{
	var frmColl = MainForm.elements;
	var ChoiceElement = frmColl[elm + "$" + idlang + "$" + idtrans];

//	alert(ChoiceElement);

	for (x = 0; x < frmColl.length; x++)
	{
		if (frmColl[x].name.indexOf(elm) != -1 && frmColl[x].name != ChoiceElement.name)
		{

			if (frmColl[x].value.length == 0)
			{
				frmColl[x].value = ChoiceElement.value;
			}

		}
	}

}





function chkFieldStatus(obj)
{
	var fldPackageType = MainForm.elements["IDPackageType"];
	var selectedPackageType = 0;

	for (x = 0; x < fldPackageType.length; x++)
	{
		if (fldPackageType[x].checked)
		{
			selectedPackageType = fldPackageType[x].value;
			break;
		}
	}

//	alert(selectedPackageType);

	switch (selectedPackageType)
	{

		case "1":
			MainForm.elements["Nights"].disabled = false;
			MainForm.elements["IDServiceCategory"].disabled = false;
			MainForm.elements["AdultsFrom"].disabled = false;
			MainForm.elements["AdultsTo"].disabled = false;
			MainForm.elements["ChildrenFrom"].disabled = false;
			MainForm.elements["ChildrenTo"].disabled = false;

			MainForm.elements["Nights"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["IDServiceCategory"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["AdultsFrom"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["AdultsTo"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["ChildrenFrom"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["ChildrenTo"].style.backgroundColor = "#FFFFFF";


		break;

		case "2":
			MainForm.elements["Nights"].disabled = false;
			MainForm.elements["IDServiceCategory"].disabled = false;
			MainForm.elements["AdultsFrom"].disabled = false;
			MainForm.elements["AdultsTo"].disabled = false;
			MainForm.elements["ChildrenFrom"].disabled = false;
			MainForm.elements["ChildrenTo"].disabled = false;

			MainForm.elements["Nights"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["IDServiceCategory"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["AdultsFrom"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["AdultsTo"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["ChildrenFrom"].style.backgroundColor = "#FFFFFF";
			MainForm.elements["ChildrenTo"].style.backgroundColor = "#FFFFFF";

		break;

		case "3":
			MainForm.elements["Nights"].disabled = true;
			MainForm.elements["IDServiceCategory"].disabled = true;
			MainForm.elements["AdultsFrom"].disabled = true;
			MainForm.elements["AdultsTo"].disabled = true;
			MainForm.elements["ChildrenFrom"].disabled = true;
			MainForm.elements["ChildrenTo"].disabled = true;

			MainForm.elements["Nights"].style.backgroundColor = "#CCCCCC";
			MainForm.elements["IDServiceCategory"].style.backgroundColor = "#CCCCCC";
			MainForm.elements["AdultsFrom"].style.backgroundColor = "#CCCCCC";
			MainForm.elements["AdultsTo"].style.backgroundColor = "#CCCCCC";
			MainForm.elements["ChildrenFrom"].style.backgroundColor = "#CCCCCC";
			MainForm.elements["ChildrenTo"].style.backgroundColor = "#CCCCCC";


		break;

		default:
			alert("Hilfe! Error!");
		break;
	}

	chkSaveBttnStatus();

}

function chkSaveBttnStatus()
{
	var fldPackageType = MainForm.elements["IDPackageType"];
	var fldAdultsFrom = MainForm.elements["AdultsFrom"];
	var fldAdultsTo = MainForm.elements["AdultsTo"];
	var fldChildrenFrom = MainForm.elements["ChildrenFrom"];
	var fldChildrenTo = MainForm.elements["ChildrenTo"];
	var fldNights = MainForm.elements["Nights"];
	var fldServiceCategory = MainForm.elements["IDServiceCategory"];

	var titleCounter = 0;
	var titleString = "";



	var CanActivateSaveButton = false;





	var idpackageType = 0;
	for (x = 0; x < fldPackageType.length; x++)
	{
		if (fldPackageType[x].checked)
		{
			idpackageType = parseInt(fldPackageType[x].value, 10);
			break;
		}
	}

	var frmColl = MainForm.elements;
	for (x = 0; x < frmColl.length; x++)
	{
		if (frmColl[x].name.indexOf("PackageName") != -1 && frmColl[x].value.length != 0)
		{
			titleCounter++;
			titleString += ("; " + frmColl[x].value);
		}
	}


	if (idpackageType != 0)
	{

		// PackageType 3 needs a name and a date
		if (idpackageType == 3 && titleCounter != 0)
		{
			CanActivateSaveButton = true;
		}
		else
		{
			if (fldServiceCategory.value.length != 0)
			{
				if (fldNights.value.length != 0 || idpackageType == 2)
				{
					if (titleCounter != 0)
					{
						if (fldAdultsFrom.value.length != 0 && fldAdultsTo.value.length != 0)
						{
							if (!isNaN(fldAdultsFrom.value) && !isNaN(fldAdultsTo.value))
							{
								if (parseInt(fldAdultsFrom.value,10) <= parseInt(fldAdultsTo.value,10))
								{
									if (fldChildrenFrom.value.length == 0 && fldChildrenTo.value.length == 0)
									{
											CanActivateSaveButton = true;
									}
									else
									{
										if (fldChildrenFrom.value.length != 0 && fldChildrenTo.value.length != 0)
										{
											if (!isNaN(fldChildrenFrom.value) && !isNaN(fldChildrenTo.value))
											{
												if (parseInt(fldChildrenFrom.value,10) <= parseInt(fldChildrenTo.value,10))
												{
													CanActivateSaveButton = true;
												}
											}
										}
									}

								}
							}
						}
					}
				}
			}

		}
	}




	document.getElementById("bttnSavePackage").disabled = (!CanActivateSaveButton);
//	MainForm.elements["savePackageBttn"].disabled = (!CanActivateSaveButton);


	var chgBox = document.getElementById("CHANGEPROTOCOL");
	chgBox.innerText = "CanActivate = " + CanActivateSaveButton.toString();

//	chgBox.innerText = "AdultsFrom = " + fldAdultsFrom.value + "\n" +
//										 "AdultsTo = " + fldAdultsTo.value + "\n" +
//										 "ChildrenFrom = " + fldChildrenFrom.value + "\n" +
//										 "ChildrenTo = " + fldChildrenTo.value + "\n" +
//										 "Nights = " + fldNights.value + "\n" +
//										 "PackageType = " + idpackageType + "\n" +
//										 "ServiceCategory = " + fldServiceCategory.value + "\n" +
//										 "Name = " + titleCounter + ", " + titleString;



}


function doCreateMyPackage()
{
	frmAction.value = "docreatepackage";
	MainForm.submit();

}

function doBaseExpand()
{

	document.getElementById("BasicPackageProperties").style.display = (refCounter == 0) ? "none":"block";


	refCounter = 1 - refCounter;

}


function doChkProviderChoice(obj)
{
	var objDealer = MainForm.elements["IDSalesDealer"]
	var objSupplier = MainForm.elements["IDSalesSupplier"]
	var objVenue = MainForm.elements["IDSalesVenue"]



	if (obj.name == "IDSalesDealer")
	{
		//if (objSupplier.selectedIndex == 0)
		//{
			objSupplier.value = obj.value;
			objVenue.value = obj.value;
		//}

	}

	if (obj.name == "IDSalesSupplier")
	{
		//if (objVenue.selectedIndex == 0)
			objVenue.value = obj.value;
	}

}


function doAddSalesRow()
{
	frmAction.value = "addsalesrow";



	if (isNaN(MainForm.elements["RackRate"].value) || MainForm.elements["RackRate"].value == 0)
	{
		alert("please enter a price for the rackrate");
		return false;
	}

	if (MainForm.elements["IDSalesDealer"].selectedIndex == 0)
	{
		alert("Please select at least a dealer");
		return false;
	}


	MainForm.submit();
}

function doAddSalesRowFixed()
{
	frmAction.value = "addsalesrowfixed";
	MainForm.submit();
}



function doEditTheme(idpc)
{
	document.location = linkprefix + "/packageThema.asp?IDPackageComponent=" + idpc;

}

function doEditServices(idpc)
{
	document.location = linkprefix + "/packageServiceEdit.asp?IDPackageComponent=" + idpc;

	//alert(idpc);
}



function doSortOrderUpdate(io, idpc)
{
	if (window.XMLHttpRequest)
	{
		var Xml = new XMLHttpRequest;
	}
	else
	{
		var Xml = new ActiveXObject("MSXML2.XMLHTTP");
	}

	var ext = "";
	ext = "&sortpos=" + io;

//	alert(io);
//	alert(linkprefix + "/packagexmlprocess.asp?formoverride=1&frmaction=sortorder&GUID=" + currentGUID +
//											"&IDPackageComponent=" + idpc + ext);
//	return;

	Xml.open("GET", linkprefix + "/packagexmlprocess.asp?formoverride=1&frmaction=sortorder&GUID=" + currentGUID +
											"&IDPackageComponent=" + idpc + ext, false);
	Xml.send();

	if (Xml.Status == 200)
	{
		document.location.reload();
	}
	else
	{
		alert(Xml.Status + "\n" + Xml.StatusText + "\n" + Xml.responseText);

	}

}

function doPropertySave(prop, idpc)
{
//frmAction.value = "docomponentdelete";
	var coll = null;
	var ext = "";
	var dow = 0;

	if (window.XMLHttpRequest)
	{
		var Xml = new XMLHttpRequest;
	}
	else
	{
		var Xml = new ActiveXObject("MSXML2.XMLHTTP");
	}


//	alert(prop);

	if (prop == "DateFromDOW")
	{
		var coll = MainForm.elements["DateFromDOW." + idpc];

		for (x = 0; x < coll.length; x++)
		{
			if (coll[x].checked)
			{
				dow += parseInt(coll[x].value, 10);
			}
		}
		ext = "&DateFromDOW=" + dow;
	}

	if (prop == "DateFromOffset")
	{
		ext = "&DateFromOffset=" + MainForm.elements[prop + "." + idpc].value;
	}

	if (prop == "IsOptional")
	{
		ext = "&IsOptional=" + ((MainForm.elements[prop + "." + idpc].checked)?1:0);
	}


	//alert(dow);

	Xml.open("GET", linkprefix + "/packagexmlprocess.asp?formoverride=1&frmaction=" + prop + "&GUID=" + currentGUID +
											"&IDPackageComponent=" + idpc + ext, false);
	Xml.send();

	if (Xml.Status == 200)
	{
		document.location.reload();
	}
	else
	{
		alert(Xml.Status + "\n" + Xml.StatusText + "\n" + Xml.responseText);

	}
}



function doDeleteComponent(idpc)
{
	//frmAction.value = "docomponentdelete";
	if (window.XMLHttpRequest)
	{
		var Xml = new XMLHttpRequest;
	}
	else
	{
		var Xml = new ActiveXObject("MSXML2.XMLHTTP");
	}

	Xml.open("GET", linkprefix + "/packagexmlprocess.asp?formoverride=1&frmaction=docomponentdelete&GUID=" + currentGUID +
											"&IDPackageComponent=" + idpc, false);
	Xml.send();

	if (Xml.Status == 200)
	{
		document.location.reload();
	}
	else
	{
		alert(Xml.Status + "\n" + Xml.StatusText + "\n" + Xml.responseText);

	}


}




function doSaveTheme()
{
	frmAction.value = "savetheme";
	MainForm.submit();
}

function chkServCat(obj)
{
	var selcat = 0;
	var seltype = 0;

	//alert(obj.name);

	if (obj.name == "IDCriteriaServiceCategory")
	{
		selcat = obj.value;
		seltype = obj.value.substr(0, obj.value.indexOf("."));

		MainForm.elements["IDCriteriaServiceType"].value = seltype;
	}

	if (obj.name == "IDCriteriaServiceType")
	{
		seltype = obj.value;
		for (x = 0; x < MainForm.elements["IDCriteriaServiceCategory"].length; x++)
		{
			selcat = MainForm.elements["IDCriteriaServiceCategory"][x].value;
			if (selcat.substr(0, selcat.indexOf(".")) == seltype)
			{
				MainForm.elements["IDCriteriaServiceCategory"][x].selected = true;
				break;
			}

		}
	}
}

function updateRateModifier(idcs, idpc, obj)
{
	if (window.XMLHttpRequest)
	{
		var Xml = new XMLHttpRequest;
	}
	else
	{
		var Xml = new ActiveXObject("MSXML2.XMLHTTP");
	}


//	alert(linkprefix + "/packagexmlprocess.asp?formoverride=1&frmaction=setratemodifier&GUID=" + currentGUID +
//											"&IDPackageComponent=" + idpc + "&IDComponentService=" + idcs);
//	return;

	if (obj.src.indexOf("setRateModifier.gif") >= 0)
	{
		Xml.open("GET", linkprefix + "/packagexmlprocess.asp?formoverride=1&frmaction=setratemodifier&GUID=" + currentGUID +
											"&IDPackageComponent=" + idpc + "&IDComponentService=" + idcs, false);
		Xml.send();

		if (Xml.Status == 200)
		{
			obj.src = "/images/tools/wizard/removeRateModifier.gif";
			//currentGUID = (Xml.responseText.length == 0) ? currentGUID:Xml.responseText;
		}
		else
		{
			alert(Xml.Status + "\n" + Xml.StatusText);
		}

	}
	else
	{
		Xml.open("GET", linkprefix + "/packagexmlprocess.asp?formoverride=1&frmaction=removeratemodifier&GUID=" + currentGUID +
											"&IDPackageComponent=" + idpc + "&IDComponentService=" + idcs, false);
		Xml.send();

		if (Xml.Status == 200)
		{
			obj.src = "/images/tools/wizard/setRateModifier.gif";
//			alert(Xml.responseText);

			//currentGUID = (Xml.responseText.length == 0) ? currentGUID:Xml.responseText;
		}
		else
		{
			alert(Xml.Status + "\n" + Xml.StatusText);
		}
	}
}

function doCreatePackageFromTemplate()
{
	frmAction.value = "buildfromtemplate";

	MainForm.action = linkprefix + "/packageXmlBuild.asp";

	//alert(currentGUID);
	//alert(MainForm.elements["GUID"].value);


	MainForm.submit();

}


function doComponentClone(idpc)
{
	frmAction.value = "docomponentclone";
	MainForm.action = MainForm.action + "?IDPackageComponent=" + idpc;
	MainForm.submit();

}


function doSaveMyPackageToDB()
{
	frmAction.value = "dopackagebuild";
	MainForm.action	= linkprefix + "/packageXmlSave.asp";
	MainForm.submit();
}



function initServerXML()
{
	if (svrXMLHttp == null)
	{
		if (window.XMLHttpRequest)
		{
			svrXMLHttp = new XMLHttpRequest;
		}
		else
		{
			svrXMLHttp = new ActiveXObject("MSXML2.XMLHTTP");
		}
	}
}


function doPackageReport()
{
	var doContinue = true;

	initServerXML();

	if (doContinue)
		doContinue = reportStatus();

	if (doContinue)
		doContinue = reportArticle();

	if (doContinue)
		doContinue = reportMasterService();

	if (doContinue)
		doContinue = reportMasterSales();

}


function reportStatus()
{
	svrXMLHttp.open("GET", linkprefix + "/packagexmlsave.asp?formoverride=1&frmAction=reportstatus&GUID=" + currentGUID, false);
	svrXMLHttp.send();

	var divText = document.getElementById("reportStatus");
	var divTool = document.getElementById("reportStatusTool");

	if (svrXMLHttp.Status == 200)
	{
		divText.innerText = svrXMLHttp.responseText;
		return true;
	}
	else
	{
		divText.innerText = svrXMLHttp.Status + '; ' + svrXMLHttp.StatusText + '; ' + svrXMLHttp.responseText;
		return false;
	}

}

function reportArticle()
{
	svrXMLHttp.open("GET", linkprefix + "/packagexmlsave.asp?formoverride=1&frmAction=reportarticle&GUID=" + currentGUID, false);
	svrXMLHttp.send();

	var divText = document.getElementById("reportArticle");
	var divTool = document.getElementById("reportArticleTool");

	if (svrXMLHttp.Status == 200)
	{
		divText.innerText = svrXMLHttp.responseText;
		return true;
	}
	else
	{
		divText.innerText = svrXMLHttp.Status + '; ' + svrXMLHttp.StatusText + '; ' + svrXMLHttp.responseText;
		return false;
	}
}

function reportMasterService()
{
	svrXMLHttp.open("GET", linkprefix + "/packagexmlsave.asp?formoverride=1&frmAction=reportmaster&GUID=" + currentGUID, false);
	svrXMLHttp.send();

	var divText = document.getElementById("reportMasterService");
	var divTool = document.getElementById("reportMasterServiceTool");

	if (svrXMLHttp.Status == 200)
	{
		divText.innerText = svrXMLHttp.responseText;
		return true;
	}
	else
	{
		divText.innerText = svrXMLHttp.Status + '; ' + svrXMLHttp.StatusText + '; ' + svrXMLHttp.responseText;
		return false;
	}
}

function reportMasterSales()
{
	svrXMLHttp.open("GET", linkprefix + "/packagexmlsave.asp?formoverride=1&frmAction=reportsales&master=1&GUID=" + currentGUID, false);
	svrXMLHttp.send();

	var divText = document.getElementById("reportMasterSales");
	var divTool = document.getElementById("reportMasterSalesTool");

	if (svrXMLHttp.Status == 200)
	{
		divText.innerHTML = svrXMLHttp.responseText;
		return true;
	}
	else
	{
		divText.innerHTML = svrXMLHttp.Status + '; ' + svrXMLHttp.StatusText + '; ' + svrXMLHttp.responseText;
		return false;
	}
}


function doNewSeasonInsert(iddealer, idprovider, idvenue, pos)
{
	frmAction.value = "splitseason";

//	alert(iddealer + "\n" + idprovider + "\n" + idvenue + "\n" +pos );

	var dtfrm;
	var dtto;

	var selDfDD = document.getElementById("DD_" + pos);
	var selDfMM = document.getElementById("MM_" + pos);
	var selDfYYYY = document.getElementById("YYYY_" + pos);

	var selDtDD = document.getElementById("DDT_" + pos);
	var selDtMM = document.getElementById("MMT_" + pos);
	var selDtYYYY = document.getElementById("YYYYT_" + pos);



	//alert()

	dtfrom = selDfYYYY.value + "-" + selDfMM.value + "-" + selDfDD.value;
	dtto = selDtYYYY.value + "-" + selDtMM.value + "-" + selDtDD.value;

//	alert(dtfrom + "\n" + dtto);


	var frmstring = "&IDDealer=" + iddealer + "&IDProvider=" + idprovider + "&IDVenue=" + idvenue +
	                "&strDateFrom=" + dtfrom + "&strDateTo=" + dtto;



	document.location = linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=splitseason" + frmstring;

//	initServerXML();
//
//	alert(frmstring);
//	alert(linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=splitseason" + frmstring);
//	return;
//
//	svrXMLHttp.open("GET", linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=splitseason" + frmstring, false);
//	svrXMLHttp.send();
//
//	if (svrXMLHttp.Status == 200)
//	{
//		document.location.reload();
//	}
//	else
//	{
//		alert(svrXMLHttp.StatusText + "\n" + svrXMLHttp.responseText);
//	}
	//MainForm.submit();



}


function doGoToArticle(i)
{
	document.location = linkprefix + "/packageArticle.asp?idpackage=" + i;
}

function doTestArticle(i)
{
	document.location = linkprefix + "/packageDataMining.asp?idpackage=" + i;
}

function doPackageEdit(i)
{
//	initServerXML();

	//alert(linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=harvesttoxml&idpackage=" + i);

	document.location = linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=harvesttoxml&idpackage=" + i

	//svrXMLHttp.open("GET", linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=harvesttoxml&idpackage=" + i, false);
}


function updateSalesRecord(ctx)
{

	//alert(ctx);
	frmAction.value = "updatesalesrecord";
	MainForm.elements["salesctx"].value = ctx;
	MainForm.submit();

}


function setVisibility(i)
{
	initServerXML();
	//alert(linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=setvisibility&idpackage=" + i);

	svrXMLHttp.open("GET", linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=setvisibility&idpackage=" + i, false);
	svrXMLHttp.send();
	if (svrXMLHttp.Status == 200)
	{
		alert("Visibility set!");
	} else {
		alert(svrXMLHttp.Status + "\n" + svrXMLHttp.StatusText + "\n" + svrXMLHttp.responseText);
	}

}

function setAccounting(i)
{
	initServerXML();

	svrXMLHttp.open("GET", linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=setaccounting&idpackage=" + i, false);
	svrXMLHttp.send();
	if (svrXMLHttp.Status == 200)
	{
		alert("ServiceAccounting set!");
	} else {
		alert(svrXMLHttp.Status + "\n" + svrXMLHttp.StatusText + "\n" + svrXMLHttp.responseText);
	}

}

function setPackageStatus(i)
{
//	alert(linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=setstatus&idpackage=" + i);
	document.location = linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=setstatus&idpackage=" + i;
}

function doDeletePackage(i)
{
	//alert(linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=deletepackage&idpackage=" + i);
	document.location = linkprefix + "/packageXmlProcess.asp?formoverride=1&frmaction=deletepackage&idpackage=" + i;
}


function addRateObject(idsales, rateid, durationfrom, durationto, adultsfrom, adultsto, childrenfrom, childrento, datefrom, dateto, rate)
{
	if (RateArray == null)
		RateArray = new Array();

	var ContentCounter = RateArray.length;
	RateArray[ContentCounter] = new createRateObject(idsales, rateid, durationfrom, durationto, adultsfrom, adultsto, childrenfrom, childrento, datefrom, dateto, rate);

}


function createRateObject(idsales, rateid, durationfrom, durationto, adultsfrom, adultsto, childrenfrom, childrento, datefrom, dateto, rate)
{

	var dtDateFrom;
	var dtDateTo;

	var DArr = datefrom.split("-");
	dtDateFrom = new Date(parseInt(DArr[0], 10),
												parseInt(DArr[1], 10) - 1,
												parseInt(DArr[2], 10));

	DArr = null;

	DArr = dateto.split("-");
	dtDateTo = new Date(parseInt(DArr[0], 10),
											parseInt(DArr[1], 10) - 1,
											parseInt(DArr[2], 10));

	//datefrom = yyyy-mm-dd



	this.IDSales = idsales;
	this.RateID = rateid;
	this.DurationFrom = durationfrom;
	this.DurationTo = durationto;
	this.AdultsFrom = adultsfrom;
	this.AdultsTo = adultsto;
	this.ChildrenFrom = childrenfrom;
	this.ChildrenTo = childrento;
	this.Rate = rate;
	this.DateFrom = dtDateFrom;
	this.DateTo = dtDateTo;
	//?
	return this;
}


function getCorrectRate(idsales, obj)
{

	var rObj;
//	alert(idsales);
//	alert(obj);
//	alert(RateArray.length);


	var selY = obj.form.elements["YYYY_" + idsales].value;
	var selM = parseInt(obj.form.elements["MM_" + idsales].value, 10) - 1;
	var selD = obj.form.elements["DD_" + idsales].value;

	var selDate = new Date(selY, selM, selD);

	var selNN = obj.form.elements["Nights_" + idsales].value;
	var selA = obj.form.elements["Adults_" + idsales].value;;
	var selK = obj.form.elements["Children_" + idsales].value;;


	var span = document.getElementById("Price_" + idsales);
	var oText = document.createTextNode("");


	//	span.appendChild(oText);
	//	selDate = new Date()



	for (x = 0; x < RateArray.length; x++)
	{
		if (RateArray[x].IDSales == idsales)
		{
			if (RateArray[x].DurationFrom <= selNN && selNN <= RateArray[x].DurationTo)
			{
				if (RateArray[x].AdultsFrom <= selA && selA <= RateArray[x].AdultsTo)
				{
					if (RateArray[x].ChildrenFrom <= selK && selK <= RateArray[x].ChildrenTo)
					{
						if (RateArray[x].DateFrom <= selDate && selDate <= RateArray[x].DateTo)
						{
							oText = document.createTextNode(RateArray[x].Rate);
							if (span.childNodes.length != 0)
							{
								span.removeChild(span.firstChild);
							}
							span.appendChild(oText);
						}
					}
				}
			}
		}
	}


}



function getPriceDetails(i)
{

	//alert(document.forms[1])



}


function openServiceCalendar(idsales, idpackage, idpackageservice, subsys, idslv, idservicelist, idservice)
{
	frmAction.value = "opendateselect";


	MainForm.elements["IDPackage"].value = idpackage;
	MainForm.elements["IDSales"].value = idsales;
	MainForm.elements["IDSubSystem"].value = subsys;
	MainForm.elements["IDPackageService"].value = idpackageservice;
	MainForm.elements["IDServiceListVenue"].value = idslv;
	MainForm.elements["IDServiceList"].value = idservicelist;
	MainForm.elements["IDService"].value = idservice;


//	actstring = "?IDPackage=" +  idpackage + "&IDSales=" + idsales + "&IDSubSystem=" + subsys +
//							"&IDPackageService=" + idpackageservice + "&IDServiceListVenue=" + idslv + "&frmaction=opendateselect" +
//							"&IDServiceList=" + idservicelist + "&IDService=" + idservice;

	//MainForm.elements["IDPackage"].value = "";


	/*
	MainForm.elements["IDSales"].value = "";
	MainForm.elements["IDSubSystem"].value = "";
	MainForm.elements["IDPackageService"].value = "";
	MainForm.elements["IDServiceListVenue"].value = "";
	*/

//	MainForm.action = MainForm.action + actstring;
	MainForm.submit();


}

function dumpDate(y, m, d, cc)
{
	MainForm.elements["YYYY"].value = y;
	MainForm.elements["MM"].value = m;
	MainForm.elements["DD"].value = d;

	MainForm.elements["CanContinue"].value = cc;
	MainForm.submit();
}

function doServiceAdd()
{
//	MainForm.elements["YYYY"].value = y;
//	MainForm.elements["MM"].value = m;
//	MainForm.elements["DD"].value = d;

	try {
		
		if (document.getElementById("IsOptional").value = 'False')
		{
		
			var strSearch = 'TicketTimeQuantity_' + document.getElementById('ServiceTime').value + '_';
			var iCount;
			iCount=0;
			for (var i=1; i<MainForm.elements.length; i++)
			{
				var strName;
				
				strName = MainForm.elements[i].name;
				if (strName.indexOf(strSearch) != -1)
				{
					iCount = iCount + parseInt(MainForm.elements[i].value);
				}
				
			}
			if (iCount == 0)
			{
				alert('Bitte wählen Sie mindestens ein Ticket aus');
				return(0);
			}
		}
	}
	catch (exp)
	{
		//alert (exp.description);
	}

	frmAction.value = "doaddservice"
	MainForm.submit();
}

function gotoBooking()
{
	MainForm.action = linkprefix + "/bookingService.asp?mode=packagebook";
	MainForm.submit();


}

//TGA func added
function gotoBookingDynamicPackages(idContingent)
{
	MainForm.action = linkprefix + "/bookingService.asp?mode=packagebook&idContingent=" + idContingent;
	MainForm.submit();


}

function jumpMM(y,m,d)
{
	MainForm.action += "?navMM=" + m + "&navYY=" + y;
	MainForm.elements["DD"].value = d;
	MainForm.elements["MM"].value = m;
	MainForm.elements["YYYY"].value = y;
	MainForm.submit();
}

function doImageWin(im, w, h, folderInPackageImageFolder)
{
  var WW = window.open("","Image","width=" + w + ",height=" + h + ",scrolling=no");
  var doc = WW.document;

  doc.open();
  doc.write("<html><head><title>We Will Rock You</title></head><body style='margin : 0px;' bgcolor='#C0C0C0'>");
  doc.write("<img src='/images/packages/" + folderInPackageImageFolder + "/header.gif' border='0' style='display:block; margin:0px;' />");
  doc.write("<div style='text-align : center;'><img src='/images/packages/" + folderInPackageImageFolder + "/" + im + "' border='0' style='display:block; margin:0px;' /></div>");
  doc.write("<div style='text-align:center;height : 30px; padding-top : 10px; background-color : #c0c0c0'>");

  if (arguments.length == 5 && arguments[4] == "2057")
  	doc.write("<a href='javascript:window.close();' style='font : bold 11pt arial; text-decoration : underline; color : black;'><b>Close this window</b></a>");
  else
  	doc.write("<a href='javascript:window.close();' style='font : bold 11pt arial; text-decoration : underline; color : black;'><b>Fenster Schliessen</b></a>");

  doc.write("</div>");
  doc.write("</body></html>");

  doc.close();
  WW.focus();

}



    function doOpenGoogleMap(id, dm, w, h)
	{
		var gglUrl = "http://www.nethotels.com/ShowHotel.asp?IDProvider=" + id + "&Domain=" + dm;
		var winstring = "width=" + w + ",height=" + h + ",scrolling=0";
		var WW = window.open(gglUrl, "ProviderMap", winstring);
		WW.focus();
	}
	
		function ChangeTime(obj)
	{
		var elm;
		var strName;
		var strQuantity;
		var IDTimeTemplate;
		
		IDTimeTemplate = '_' + obj.value + '_';
		
		for (var i=0;i<document.forms['frmPackageWizard'].elements.length;i++)
		{
			
			if (document.forms['frmPackageWizard'].elements[i].name.substring(0,19) == 'TicketTimeQuantity_') 
			{
				//alert (document.forms['frmPackageWizard'].elements(i).name.substring(0,19));
				strQuantity = document.forms['frmPackageWizard'].elements[i].name;
				strName = document.forms['frmPackageWizard'].elements[i].name.replace('Quantity','')
				
				if (strName.indexOf(IDTimeTemplate) != -1)
				{
					document.getElementById(strName).style.display = "";
				}
				else
				{
					document.getElementById(strName).style.display = "none";
				}
			}
		}
		
	}
	
	
	
	function doOpenGoogleMapOrg(id, dm, w, h, idorg)
	{
		var gglUrl = "http://www.nethotels.com/ShowHotel.asp?IDProvider=" + id + "&Domain=" + dm + "&IDOrg=" + idorg;
		var winstring = "width=" + w + ",height=" + h + ",scrolling=0";
		var WW = window.open(gglUrl, "ProviderMap", winstring);
		WW.focus();
	}


	
	function loadCalendar(src, t)
	{
		var frm = document.forms["frmPackageWizard"];
		
		var currentDate = frm.elements["dd" + t].value + "_" + frm.elements["mm" + t].value + "_" + frm.elements["yyyy" + t].value;
		var res = window.open("nhcalendar.htm?to=" + t + "&inDate=" + currentDate, "", "height=200px,width=235px,scroll=no,status=no");
	}
