
function displayAllHotels(xml)
{
	jQuery(xml).find("Results").each(function(){
		
		if (jQuery(this).text().length > 0)
		{
			var decoded = jQuery("<div/>").html(jQuery(this).text()).text();
	
			jQuery("#all_hotels_container").html( decoded );
			jQuery("#all_hotels_container").slideDown("slow");	
		}
	});
	
}

function requestAllHotelsList()
{
	jQuery.ajax({
			type: "GET",
			url: "/" + "?all_hotels_ajax&CVS="+ReadCookie('CVS'),
			async: true,
			dataType: "xml",
			success: displayAllHotels
		});
}

function displaySearchResuls(xml)
{
	var i=0;
	jQuery(xml).find("Hotel").each(function(){
		i++;
		
		displayHotel(xml);
		if (i > 2)
		jQuery.ajax({
			type: "GET",
			url: ajaxRequestURLbase + "?xml&HotelId=" + jQuery(this).attr("HotelId") + "&CVS=" + ReadCookie('CVS'),
			async: true,
			dataType: "xml",
			success: displayHotel
		});	
	});
	
	
}

function displayHotel(xml)
{
	jQuery("#searchProgress").hide();
	var i = 1 ;
	jQuery(xml).find("Hotel").each(function(){
		
		jQuery("#"+jQuery(this).attr("id")).hide();	
		jQuery("#searchResultsContainer").append("<div style='display:none' id='"+jQuery(this).attr("id")+"'></div>");
		
		if (jQuery(this).text().length > 0)
		{
			var decoded = jQuery("<div/>").html(jQuery(this).text()).text();
	
			jQuery("#"+jQuery(this).attr("id")).html( decoded );
			jQuery("#"+jQuery(this).attr("id")).delay(500*(i++)).fadeIn("slow");	
			
			if (ajaxRequestURLbase == '/chisinau_rent_apartment.html')
				imagePreview(jQuery(this).attr("id"));	
		}
	});
}

function requestSearchResults()
{
	jQuery.ajax({
			type: "GET",
			url: ajaxRequestURLbase + "?xml&CVS="+ReadCookie('CVS'),
			async: true,
			dataType: "xml",
			success: displaySearchResuls
		});
}

function ReadCookie(cookieName) {
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return ""; 
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

function checkTextInputFields()
{
	var error = 0;
	{ 
		
		var inputs=document.getElementsByTagName("input");
		for(i=0;i<inputs.length;i++)
		{
			if ((inputs[i].type=="text") && (inputs[i].style.display=="") && (inputs[i].name!="") && (inputs[i].value=="") && (inputs[i].className!="ignored"))
			{
				if (inputs[i].id)
				{
					if (!jQuery("#"+inputs[i].id).is(":visible"))
					{
						continue;
					}
				}
				alert('Please provide all required data');
				error = 1;
				return inputs[i];
			}
		}
		
		inputs=document.getElementsByTagName("textarea");
		for(i=0;i<inputs.length;i++)
		{
			if ((inputs[i].style.display=="") && (inputs[i].value==""))
			{
				if (inputs[i].id)
				{
					if (!jQuery("#"+inputs[i].id).is(":visible"))
					{
						continue;
					}
				}
				alert('Please provide all required data!');
				error = 1;
				return inputs[i];
			}
		}
		//document.getElementById("form2").submit();
	}
	return false;
}

function checkInputFields()
	{
		var error = 0;
		{ 
			
			var inputs=document.getElementsByTagName("input");
			for(i=0;i<inputs.length;i++)
			{
				if ((inputs[i].type=="text") && (inputs[i].style.display=="") && (inputs[i].value==""))
				{
					alert('Please provide all required data');
					error = 1;
					return false;
				}
			}
			//document.getElementById("form2").submit();
		}	
		
		if (!document.getElementById("TermsRead").checked) 
		{
			
			if (!confirm('I have read rules and conditions')) error = 1;
			else error = 0;
			
			if (error)
				return false;
		}
		
		if (!error)
		{
			//commitTravelerName(document.getElementById('TravelerNameInput').value,'/index.php?action=bookIT');
			//confirmOrder('/goneToPay.html');
			return true;
		}
	}

		function submitTheForm()
		{
			var error = 0;
			
			var inputElements = document.getElementsByTagName('input');
			for ( var i = 0 ; i < inputElements.length; i++ )
			{
				if ( (inputElements[i].style.display != 'none' )&& (inputElements[i].value == '') && inputElements[i].name != 'P_SIGN') 
				{
					alert("Please fill in all necessary fields! Empty fiels: "+inputElements[i].name);
					return false;
				}
			}

			if (!validateEmail(document.getElementById('AccountEmail').value))
			{
				alert("Invalid email format!");
				return false;
			}

			if (!validatePhone(document.getElementById('AccountPhoneHome').value))
			{
				alert("Invalid phone number format!");
				return false;
			}
			
			commitTravelerName(document.getElementById('TravelerNameInput').value,'/index.php?action=basket&goneToPay=1');
			return true;
		}
		
		function submitTheFormAndPay2(noreturn)
		{
			
			if (submitTheForm())
			{
				updateBasket(1);
				document.getElementById("payment_form").submit();
				//document.payment_form.submit();
			}
			else
			{
				
			}
		}

		function validatePhone(phoneNumber) {
		   var reg = /^([\+0-9 \-\(\)])+$/;
		  
		   if(reg.test(phoneNumber) == false) {
		      return false;
		   }
			return true;
		}
		function validateEmail(address) {
		   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		  
		   if(reg.test(address) == false) {
		      return false;
		   }
			return true;
		}
	function toggleRoomInfo(id)
	{
		var elem = document.getElementById(id);
		if (elem.style.display == 'none')
		{
			elem.style.display = '';
		}
		else
		{
			elem.style.display = 'none';
		}
	}
 
    function confirmOrder(url) {
	
        http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
		//http_request.setRequestHeader("Content-Type", "text/html")
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/html');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            return false;
        }

        	http_request.onreadystatechange = function() 
        	{ 
        	
			if (http_request.readyState == 4) 
			{
				if (http_request.status == 200) 
				{
					return false;
				} 
				else 
				{
					return false;
				}
			}
        	}

        http_request.open('GET', url, false);
        http_request.send(null);

    }
    
    function updateBasket( goneToPay )
    {
    	var url = '/basket.html?getCost=1';
    	if (goneToPay) url += "&goneToPay=1";
    	
    	var async = true;
    	if ( goneToPay ) async = false;
    	jQuery.ajax({
			type: "POST",
			url: url,
			async: async,
			data: jQuery("#form1").serialize(),
			//	error: writeLog('Error',"Failed to load images!"),
			success: processUpdateBasketResult
		});
    }
    
    function processUpdateBasketResult(result)
    {
    	jQuery(result).find("BASKET_ITEM").each( function() {
				var name = jQuery(this).attr('name');
				var value = jQuery(this).attr('value');
				jQuery("#"+name).html(value);
			});
    }
    
    function updateBasket2( goneToPay )
{
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		//http_request.setRequestHeader("Content-Type", "text/html")
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		return false;
	}

	http_request.onreadystatechange = function()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				var xmlDoc = http_request.responseXML;

				var fields = xmlDoc.getElementsByTagName("BASKET_ITEM");
				var amountElement;
				for(var i = 0; i < fields.length; i++ )
				{
					amountElementId = fields[i].getAttribute("name");

					amountElement = document.getElementById( amountElementId );

					if (amountElement)
					{
						amountElement.innerHTML = fields[i].getAttribute("value");
					}
				}


				var fields = xmlDoc.getElementsByTagName("OCS_XML_REQUEST");
				var amountElement;
				
				for(var i = 0; i < fields.length; i++ )
				{
					amountElementId = fields[i].getAttribute("name");

					jQuery("#" + amountElementId).attr("value" , fields[i].getAttribute("value") );
				}
			}
			else
			{
				return false;
			}
		}
	}

	var url = "/basket.html?getCost=1";

	if (goneToPay) url += "&goneToPay=1";

	var parameters = '';
	var inputElements = document.getElementsByTagName("input");
	var selectElements = document.getElementsByTagName("select");

	for(var i=0;i<inputElements.length;i++)
	{
		parameters += "&" + inputElements[i].getAttribute('name') + "=" + inputElements[i].value;
	}
	for(var i=0;i<selectElements.length;i++)
	{
		parameters += "&" + selectElements[i].getAttribute('name') + "=" + selectElements[i].value;
	}


	http_request.open("POST", url, true);

	//Send the proper header information along with the request
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");

	if (http_request.overrideMimeType)
	{
		http_request.overrideMimeType('text/xml');
	}
	http_request.send(parameters);
}

