var strDOMType;

document.write("<form name='rez_book' method='post' action='http://www.zuji.com/gaia_net/internet/agent/index.jsp' target='new'>");
document.write("<input name='affiliateId' type='hidden' id='affiliateId'  value='' /><input name='returnUrl'  id='returnUrl' type='hidden' value=''/></form>");

var iDIVCnt
var tagDiv
var tagType, tagTypeN, tagID, tagXML, tagLang, tagAffID;
var iAttrCnt=0;

xmlDoc = new Array();
labels = new Array();
url = new Array();

tagDiv = document.getElementsByTagName('div');
for (iDIVCnt=0; iDIVCnt < tagDiv.length; iDIVCnt++)
{
	tagXML = tagDiv[iDIVCnt].getAttribute("xml");
	
	if (tagXML == null)
	{
		xmlDoc[iDIVCnt] = null;
	}
	else
	{
		var iTmpCnt;
		var bFound;
		bFound = false;

		for (iTmpCnt=0; iTmpCnt < iDIVCnt; iTmpCnt++)
		{
			if (tagXML == tagDiv[iTmpCnt].getAttribute("xml"))
				bFound = true;
		}
		
		if (bFound == false)
		{		
			// xmlDoc[iDIVCnt] = createDOMDocument();
			// xmlDoc[iDIVCnt].async = "true";
			// xmlDoc[iDIVCnt].load(tagXML);

			setTimeout("XMLHandler("+ iDIVCnt +");",0);
			// loadXML();
		}
	}
}

function XMLHandler(iDIVCnt)
{
	var tagXML = tagDiv[iDIVCnt].getAttribute("xml");
	xmlDoc[iDIVCnt] = createDOMDocument();
	xmlDoc[iDIVCnt].async = "false";
	xmlDoc[iDIVCnt].load(tagXML);

	if (strDOMType == "Doc.DOM")
	{
		xmlDoc[iDIVCnt].onload = function() { ProcessXML(iDIVCnt) };
	}
	else
	{
		loadXML(iDIVCnt);
	}
}

// IE
function loadXML(iDIVCnt)
{
	var itemsNodes;

	for (iTmpCnt=0; iTmpCnt < tagDiv.length; iTmpCnt++)
	{
		if (tagDiv[iTmpCnt].getAttribute("xml") == tagDiv[iDIVCnt].getAttribute("xml"))
		{
			if (tagDiv[iTmpCnt].getAttribute('required'))
				tagTypeN = tagDiv[iTmpCnt].getAttribute("typename")
			tagType = tagDiv[iTmpCnt].getAttribute("type")
			tagID = tagDiv[iTmpCnt].getAttribute("id")
			tagLang = tagDiv[iTmpCnt].getAttribute("lang")
			tagAffID = tagDiv[iTmpCnt].getAttribute("affId")
		
			var xmlObj=xmlDoc[iDIVCnt].documentElement;
			if(tagType=="hotel"){
				itemsNodes=xmlObj.selectNodes ("/fareselector/hotels/deal");
			}
			else if(tagType=="airlines"){
				itemsNodes=xmlObj.selectNodes ("/fareselector/flight/deal");
			}
			else	{
				itemsNodes=xmlObj.selectNodes ("/fareselector/packages/deal");		
			}
			
			var itemsNodeslen=itemsNodes.length
			iAttrCnt=0;
			for (iCnt=0; iCnt<itemsNodeslen; iCnt++)
			{
				var CurrNode = itemsNodes.nextNode;
				var len=CurrNode.childNodes.length;
				
				var LangNode = CurrNode.selectSingleNode(tagLang);
				var label = LangNode.text;
				var xmltagid = LangNode.getAttribute("id");
				url = CurrNode.getElementsByTagName("url")[0].firstChild.nodeValue;
				if(tagTypeN == CurrNode.getElementsByTagName("type")[0].text)
				{ 
					iAttrCnt ++;
					// alert ("xmltagid:" + xmltagid + " tagID:" + tagID)
					if ((tagType=="airlines" || tagType=="package") && xmltagid == tagID)
					{

						if (tagLang=="fare" || tagLang=="fare_inc_tax" || tagLang=="fare_per_pax")
						{
							// alert("ID " + tagID);
							// alert(CurrNode.getElementsByTagName("type")[0].text);
							if (tagAffID == "")
							{
								if (url.substring(0, 11) == 'javascript:')
								{
									strTmp = "<td><a href=" + url + ">" + label + "</a></td>";
								}
								else
								{
									strTmp = "<td><a href=" + url + " target=new>" + label + "</a></td>";
								}
							}
							else
							{
								strTmp = "<td><a href=" + url + ">" + label + "</a></td>";
							}
							document.getElementById(tagID).innerHTML = strTmp;
						}
						else
						{
							document.getElementById(tagID).innerHTML = label;
						}
					}

					if (tagType=="hotel" && xmltagid == tagID)
					{
						// alert("Hotel" + tagTypeN);
						// alert("Hotel" + CurrNode.getElementsByTagName("type")[0].text);
				
						if (tagLang=="fare" || tagLang=="fare_inc_tax" || tagLang=="fare_per_pax")
						{
							if (url.substring(0, 11) == 'javascript:')
							{			
								document.getElementById(tagID).innerHTML = "<td><a href=" + url + ">" + label + "</a></td>";
							}
							else
							{
								document.getElementById(tagID).innerHTML = "<td><a href=" + url + " target=new>" + label + "</a></td>";
							}						
						}
						else
						{
							document.getElementById(tagID).innerHTML = label;
						}
					}

				}
			}

			if (iAttrCnt == 0)
			{
				if(tagLang=="fare" || tagLang=="fare_inc_tax" || tagLang=="fare_per_pax")
				{
					document.getElementById(tagID).innerHTML = "0";
				}
				else
				{
					document.getElementById(tagID).innerHTML = "cant find data;";
				}
			}
		}
	}
}

// Netscape and Mozilla
function ProcessXML(iDIVCnt)
{
	var objElements;
	var iCnt, iChildCnt;
	
	var xmlObj=xmlDoc[iDIVCnt];

	for (iTmpCnt=0; iTmpCnt < tagDiv.length; iTmpCnt++)
	{
		if (tagDiv[iTmpCnt].getAttribute("xml") == tagDiv[iDIVCnt].getAttribute("xml"))
		{
			if (tagDiv[iTmpCnt].getAttribute('required'))
				tagTypeN = tagDiv[iTmpCnt].getAttribute("typename")
			tagType = tagDiv[iTmpCnt].getAttribute("type")
			tagID = tagDiv[iTmpCnt].getAttribute("id")
			tagLang = tagDiv[iTmpCnt].getAttribute("lang")
			tagAffID = tagDiv[iTmpCnt].getAttribute("affId")

			if (tagType=="hotel")
			{
				objElements = xmlObj.getElementsByTagName("hotels");
			}
			else if (tagType=="airlines")
			{
				objElements = xmlObj.getElementsByTagName("flight");
			}
			else
			{
				objElements = xmlObj.getElementsByTagName("packages");
			}
			iAttrCnt=0;

			for (iCnt =0; iCnt < objElements.length; iCnt++)
			{
				elmDeals = objElements[iCnt].getElementsByTagName("deal");
				for (iDealCnt =0; iDealCnt < elmDeals.length; iDealCnt++)
				{
					var label, url;
					var currentDeal = elmDeals[iDealCnt];
					// here is ' "flight/deal" or "hotels/deal" tag
					
					taborder = currentDeal.attributes["taborder"].value;
					
					var LangNode  = currentDeal.getElementsByTagName(tagLang)[0];
					strLabel = LangNode.childNodes[0].nodeValue;
					var strID = LangNode.attributes["id"].value;
					
					strURL = currentDeal.getElementsByTagName("url")[0].childNodes[0].nodeValue;
					if (tagTypeN == currentDeal.getElementsByTagName("type")[0].childNodes[0].nodeValue)
					{ 
						iAttrCnt ++;
						if ((tagType=="airlines" || tagType=="package") && tagID == strID)
						{
							if(tagLang=="fare" || tagLang=="fare_inc_tax" || tagLang=="fare_per_pax")
							{
								if (tagAffID == "")
								{
									strTmp = "<td><a href=" + strURL + " target=new>" + strLabel + "</a></td>";
								}
								else
								{
									strTmp = "<td><a href=" + strURL + ">" + strLabel+ "</a></td>";
								}
								document.getElementById(tagID).innerHTML = strTmp;
							}
							else
							{
								document.getElementById(tagID).innerHTML = strLabel;
							}
						}
						if (tagType=="hotel" && tagID == strID
						)
						{
							if (tagLang=="fare" || tagLang=="fare_inc_tax" || tagLang=="fare_per_pax")
							{
								document.getElementById(tagID).innerHTML = "<td><a href=" + strURL + " target=new>" + strLabel + "</a></td>";
							}
							else
							{
								document.getElementById(tagID).innerHTML = strLabel;
							}
						}
						if( iAttrCnt == 0)
						{
							if(tagLang=="fare" || tagLang=="fare_inc_tax" || tagLang=="fare_per_pax")
							{
								document.getElementById(tagID).innerHTML = "0";
							}
							else
							{
								document.getElementById(tagID).innerHTML = "cant find data;";
							}
						}
					}
				}
			}
		}
	}
}

function createDOMDocument() {
	var AXObjName = ["MSXML4.DOMDocument", 
	"MSXML3.DOMDocument",
	"MSXML2.DOMDocument", 
	"MSXML.DOMDocument",
	"Microsoft.XmlDom"];
	//variable for the created DOM Document
	var objDOM = null;

	//determine if this is a standards-compliant browser like Mozilla
	if (document.implementation && document.implementation.createDocument) 
	{
		//create the DOM Document the standards way
		objDOM = document.implementation.createDocument("","", null);
		strDOMType = "Doc.DOM";
	}
	else
	{
		var bFound = false;
		//create the DOM Document the IE way
		for (var iCnt = 0; iCnt < AXObjName.length && !bFound; iCnt ++)
		{
			try
			{
				objDOM = new ActiveXObject(AXObjName[iCnt]);
				strDOMType = AXObjName[iCnt];
				bFound = true;
			}
			catch(objEx)
			{
			}
		}
	}
	//return the object
	return objDOM;
}

function rez_submitform(url, affid)
{
	document.rez_book.target = "_new";
	document.rez_book.affiliateId.value=affid;
	document.rez_book.returnUrl.value=url;
	document.rez_book.submit();
}
