var VARIANTS = function(containerID,varName){
	this.containerID=containerID;
	this.varName=varName;
	this.variantElements=[];
	this.variantDisplayResultElements=[];
	this.oldVersion = true;

	this.loadVariants=function(id_biura){

		var elements=this.containerID.getElementsByTagName("TR");
		var i=0;
		var z=0;
		var element;
		var displayResultElement;
		while(element=elements[i++]){
			z=0;
				this.variantElements[this.variantElements.length]=element;
				while(displayResultElement=element.getElementsByTagName('span')[z++]){
					var ar = displayResultElement.id.split("_");
					if(ar[0]=="checkAvailability"){
						this.checkAvailability(ar[1], id_biura);
					}

			}
		}
	}

	this.handleCheckAvailabilitySuccess=function(o){


		// sprawdzamy czy w ogole jest do czego ladowac wyniki
		if (document.getElementById(this.argument[2])) {
		var available=o.responseXML.documentElement;//("sprawdz_wariant");//getElementsByTagName('available')[0];
		if(available.getAttribute("status")=="1"){
				//document.getElementById("checkAvailability_"+available.getAttribute("id_warianty")).innerHTML='<img src="http://static.wakacje.pl/wakacje/images/mini/v.gif" alt="V" />';
				if(available.getAttribute("rezerwacja_na_zapytanie")=="1"){
					document.getElementById("checkAvailability_"+available.getAttribute("id_warianty")).parentNode.className="checkAvail_ask";
				}
				else{
					document.getElementById("checkAvailability_"+available.getAttribute("id_warianty")).parentNode.className="checkAvail_ok";
				}
				document.getElementById("checkAvailabilityPrice_"+available.getAttribute("id_warianty")).innerHTML=available.getAttribute("cena");
				if (this.oldVersion)
					if (this.argument[2] == 'variants')	browseHistory.setParam('id_warianty',available.getAttribute("id_warianty"));

				if (document.getElementById("r01"+available.getAttribute("id_warianty")))
					document.getElementById("r01"+available.getAttribute("id_warianty")).checked = "checked";

			}else{
				//document.getElementById("checkAvailability_"+available.getAttribute("id_warianty")).innerHTML='<img src="http://static.wakacje.pl/wakacje/images/mini/x.gif" alt="X" />';
				document.getElementById("checkAvailability_"+available.getAttribute("id_warianty")).parentNode.className="checkAvail_fail";
				if(available.getAttribute("name")!="") document.getElementById("checkAvailability_"+available.getAttribute("id_warianty")).parentNode.setAttribute("title", available.getAttribute("name"));
		}
		}
	}

	this.handleCheckAvailabilityFailure=function(o){
		//alert('blad');
		return false;
	}

	this.checkAvailability=function(elementNumber, id_biura){
		// niestety ktos umiescil w variants.js odwolanie do browseHistory
		// wiec trzeba sprawdzic czy wywlywana jest stara wersja procesu rezerwacji czy nowa
		// i wykonac dwie instrukcje warunkowo
		if (containerID.id == 'offerVariants') this.oldVersion = false;

		document.getElementById("checkAvailability_"+elementNumber).parentNode.className="checkAvail_load";

		var callback ={
			success:this.handleCheckAvailabilitySuccess,
			failure:this.handleCheckAvailabilityFailure,
			argument:[this.variantElements[elementNumber],this.variantDisplayResultElements[elementNumber], this.containerID.id]
		};
		YAHOO.util.Connect.setDefaultPostHeader(false);
		YAHOO.util.Connect.initHeader("Content-Type", "application/x-www-form-urlencoded");
		YAHOO.util.Connect.asyncRequest('POST', '/?page=checkVariants&type=text/xml', callback, "id_warianty="+elementNumber+"&id_biura="+id_biura);
		if (!this.oldVersion)
			YAHOO.util.Connect.setDefaultPostHeader(true);
	}

	this.checkAllAvailability=function(timeout){
		for(var i=0;i<this.variantElements.length;i++){
			setTimeout(this.varName+".checkAvailability("+i+")",i*timeout);
		}
	}

}
