var xmlhttp;
function getXmlHttp(){
    var xmlhttp = null;     
    try{xmlhttp = new XMLHttpRequest()} 
    catch (e){
        try {
            xmlhttp = new ActiveXObject('Msxml2.XMLHTTP')} 
        catch (e){
            try {
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP')} 
            catch (e){
                //alert(e.message);
                if(funcError != null) funcError(2);
            }            
        }                
    }
    return xmlhttp;
}
var o_s;
function LoadListCountry(obj_sel){
    var l = loading_Countries(obj_sel);
    if(l==null) return
    if(l) return;
    set_loading_Countries(obj_sel);
    o_s = obj_sel;
	var ll = new LoadList();
	ll.OnError    = ll_OnError;
	ll.OnComplete = getLoadListCountry;
	var URL = "/catalog/LoadData.asmx/GetListCountry";
	var Query = "Lang="+$v("Lang")+"&BaseLevel=test.h21.catalog&Level=index";
	ll.DoCallBack(URL,Query);
	return true;
}

function llData(id,url,params,load,error, view, input, sug, flag){
    this.id     = id;
    this.URL    = url;
    this.Query  = params;
    this.load   = load;
    this.error  = ll_OnError; // error;
    this.view   = view;  
    this.input  = input;
    this.sug    = sug;
    this.flag   = flag;
    this.list   = "";
    this.filter = "";  
    this.selsug = "";
    this.self   = this;
    this.View   = true;
    return this;
}

llData.prototype.LoadData = function(addParams){
    var ll = new LoadList(this.self);
	ll.OnError    = this.error;
	ll.OnComplete = this.load;
	ll.DoCallBack(this.URL,this.Query+"&"+addParams);
	return true; 
}

llData.prototype.LoadDataSync = function(addParams){
    var ll = new LoadList(this.self);
	ll.OnError    = this.error;
	ll.OnComplete = this.load;
    ll.DoCallSync(this.URL,this.Query+"&"+addParams);
}


function getLoadListCountry(responseText, responseXML){
    response  = responseXML.documentElement;
    var d = response.getElementsByTagName('LLC');
    var val= String(responseText);
    var posB = val.indexOf("<LLC>"), posE = val.indexOf("</LLC>");
    val = val.substring(posB+5, posE);
    load_Countries(val, o_s);
}

function ll_OnError(status, statusText, responseText){}
//alert("OnError: " + status + "\r"+ statusText+"\r"+responseText);}

function LoadList_City(responseText, responseXML, data){
    response  = responseXML.documentElement;
    var d = response.getElementsByTagName('LLC');
    if(d.length>0 && d[0].firstChild && d[0].firstChild.data)
        val = d[0].firstChild.data;
    else val = ""; 
    data.list = val;
//alert("LoadList_City():\n"+val);    
    data.view(data);
}
function calculateOffsetLeft(r){return Ya(r,"offsetLeft")}
function calculateOffsetTop(r){return Ya(r,"offsetTop")}
function Ya(r,attr){var kb=0;while(r){kb+=r[attr];r=r.offsetParent}return kb}

function clicked(ids){
//var alls = ids.innerText?ids.innerText:ids.textContent;
if(ids){
    var alls = ids.childNodes[0].firstChild.nodeValue;
    $('SelectCity').value = alls; // c[0];
}
var oppens = $("CityList").style
var frame = $("IFrameCityList").style
oppens.visibility = 'hidden'
frame.visibility = 'hidden'
//$("quickSearch").disabled = false;
}

function GetLetterCity(e){
    var let = e.innerText?e.innerText:e.textContent; // text;
    $("SelectCity").value = let;
    llCity_LoadData();
    return false;
}

function set_listCountry(data){
    var list = data.list;
    var _city = list.split(';');
	var _cityLetters = String(_city[0]).split(',');
	
	var s = '<div style="position: absolute; right: 2px; top: 2px;">'+
		        '<a style="text-decoration: none;" onclick="clicked();" href="javascript:;">'+
			        '<img border="0" src="/content/img/close.png"/>'+ // img/close.gif
		        '</a>'+
	        '</div>';
	
	s += '<div class="alfavit3 bgalfavit">';
	s += '<div class="fffcolor">'+$("msgCityDest").value+'</div>';
	re = /[a-z]/i;

    var len=0;
	for(var k=0; k<_cityLetters.length; k++)
		if(re.test(_cityLetters[k])){
			s += '<a href="#" onclick="return GetLetterCity(this);">'+_cityLetters[k]+'</a> ';
	    }
	s += '</div>';

	//s += '<div class="paddingcitylist" style="overflow: auto;">';
	s += '<div class="paddingcitylist">';
	var filter = String(data.filter).trim();
	filter = (filter != "")?filter:_cityLetters[0];
	s += '<div class="zaglav">'+filter+'<a name="A"></a></div>';
	s += '<div style="height:' + (_city.length*12>320 ? 320 : _city.length*12) + 'px;overflow:auto;">';
	var _baseCityList = $("CityList")
	_baseCityList.innerHTML = "";

    len = 0; //_city.length;
//alert("len: " + len);    
    //if(len>0){
	    for(var k=1; k<_city.length; k++){
	        nv = _city[k].split('|');
	        if(nv.length>1){
	        len++;
		    s += '<div class="paddingtopcit" onclick="clicked(this); return false;">'; 
		    s += '<a href="#" class="textcitylist" >'+nv[1];
		    if(nv[2]!="")
		        s+= ' <span class="alt_city_name">('+ nv[2]+')</span>';
		    s+= '</a></div>';
		    }}
	//}
//alert("len: " + len);    	
//	if(len==0) s += '<div class="paddingtopcit">not found</div>'; 
	s += "</div>";
	s += "</div>";
//alert(s);	
	var lcs = _baseCityList.style;
    var fList = $("IFrameCityList").style;
    var cl = _baseCityList;
    cl.innerHTML = s;
//	var h = cl.offsetHeight;
//     var h = len>16? 320 : len*15 + 90;   
//	lcs.height= h + "px"

    var w = "360px";
	lcs.width = w; // "360px"; // "330px"; 

    lcs.display = "block";
	lcs.visibility = "visible";	
	var qs = data.input;
	var t = calculateOffsetTop(qs)+ qs.offsetHeight + 1;
	var l = calculateOffsetLeft(qs);
	lcs.top = t + "px";
	lcs.left = l + "px";
	
	fList.display = "block";
	fList.visibility = "visible";
    
	fList.top  = t +  "px"; 
	fList.left = l +  "px";

	fList.width = _baseCityList.offsetWidth + "px"; // width; 
	fList.height = _baseCityList.offsetHeight + "px"; // height;

}
	
function LoadListCountryId()
{
    if($("lcID").length>1) return true;
	xmlhttp = getXmlHttp(); // new ActiveXObject( "Microsoft.XMLHTTP" );
	xmlhttp.onreadystatechange = HandleStateChange1;

	var parameters = "Lang=en&BaseLevel=test.h21.catalog&Level=index";

	xmlhttp.open("POST","LoadData.asmx/GetListCountryId", true);
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlhttp.setRequestHeader("Content-length", parameters.length);
	xmlhttp.setRequestHeader("Connection", "close");
	xmlhttp.send(parameters);
}
var val;
function HandleStateChange1() {
	switch (xmlhttp.readyState) {
	case 4:
		response  = xmlhttp.responseXML.documentElement;
		val = response.getElementsByTagName('LLC')[0].firstChild.data;
        LLC(val,$("lcID"));
        
		break;
	}	
}
	
function LLC(val,oS){
    var s = val.split(';');
	if (oS){
		var content = "";
    	for(var i=0; i<s.length; i++){
		    nv = s[i].split(',');
		    if(nv.length>1){
				oS.options[oS.length] = new Option(nv[1],nv[0]);
				if(nv.length==3&&nv[2]=="1"){alert("selectedIndex: " + i);oS.selectedIndex = i;}
			}
		}
	}
}
	
function LdLC(val){
    var s = val.split(';');
    var s1 = $("qsHotel"), s2 = $("lcID")
	for(var i=0; i<s.length; i++){
	    nv = s[i].split(',');
	    if(nv.length>1) s1.options[s1.length] = new Option(nv[1],nv[0]);
	    if(nv.length>2) s2.options[s2.length] = new Option(nv[1],nv[2]);
		if(nv.length==4 && nv[3]=="1") s2.selectedIndex = i;
	}
}

var TimerLoadData;
function LoadData(){onSetPeriod();}

