var adlt = '';


function LoadCountries() {
    alert(document.getElementById('region_from').value);
    var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            //document.getElementById('result').innerHTML = req.responseText;
            //document.getElementById('regionCurrencyBlock').innerHTML = req.responseJS.currency;
            document.getElementById('country_list').innerHTML = req.responseJS.country_list;
            /*document.getElementById('duration').innerHTML = req.responseJS.duration;
            document.getElementById('patternCode').value = req.responseJS.first_patt;
            SPECIAL_DAYS = req.responseJS.dates;
            PLACES = req.responseJS.places.split('%');
            document.getElementById('group').innerHTML = req.responseJS.adults;
            if((adlt*1>0) && (adlt*1<9))
              for (var m=0; m<mainform.adults.length; m++)
              if( mainform.adults[m].value == adlt) mainform.adults[m].selected = true;
            //for(m in PLACES) alert(PLACES[m]);
            if(req.responseJS.place_count == 1) sel_place(req.responseJS.place_sel);
            if(nights != 'clear'){ sel_places();
            if((document.getElementById('nights')) && (nights !=''))
            for (var m=0; m<mainform.nights.length; m++) if( mainform.nights[m].value == nights) mainform.nights[m].selected = true;
            }  */
        }
    }
    req.open(null, 'ajax.php', true);
    req.send( { start: document.getElementById('region_from').value} );
}



function LoadPattern(value, patt, nights) {
    // Create new JsHttpRequest object.
    var req = new JsHttpRequest();
    // Code automatically called on load finishing.
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            // Write result to page element (_RESULT becomes responseJS).
            document.getElementById('result').innerHTML = req.responseText;
            document.getElementById('regionCurrencyBlock').innerHTML = req.responseJS.currency;
            document.getElementById('duration').innerHTML = req.responseJS.duration;
            document.getElementById('patternCode').value = req.responseJS.first_patt;
            SPECIAL_DAYS = req.responseJS.dates;
            PLACES = req.responseJS.places.split('%');
            document.getElementById('group').innerHTML = req.responseJS.adults;
            if((adlt*1>0) && (adlt*1<9))
              for (var m=0; m<mainform.adults.length; m++)
              if( mainform.adults[m].value == adlt) mainform.adults[m].selected = true;
            //for(m in PLACES) alert(PLACES[m]);
            if(req.responseJS.place_count == 1) sel_place(req.responseJS.place_sel);
            if(nights != 'clear'){ sel_places();
            if((document.getElementById('nights')) && (nights !=''))
            for (var m=0; m<mainform.nights.length; m++) if( mainform.nights[m].value == nights) mainform.nights[m].selected = true;
            }
        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open(null, 'ajax.php', true);
    // Send data to backend.
    req.send( { start: document.getElementById('region_from').value,
                country_c: value,
                patt_c: patt } );
   	//var regionsAndPatterns = new createRegionsAndPatternsObject();
    if(document.getElementById('regionCode')){
    document.getElementById('regionCode').value = value};
	  for (var rgn=1;rgn<1000;rgn++){
	  if(document.getElementById('regionRecord_' + rgn)){
    document.getElementById('regionRecord_' + rgn).className = 'regionRecord'};
	  }
    if(document.getElementById('regionRecord_' + value)){
    document.getElementById('regionRecord_' + value).className = 'activeRegionRecord'};
    if(document.getElementById('flightDateVerbose')){
    document.getElementById('flightDateVerbose').value =''};
    }

function FlashDiv(elem, light) {
    var div = document.getElementById('regionRecord_'+elem);
    if((document.getElementById('regionRecord_' + elem))&&(!div.className.match(/\activeRegionRecord\b/))){
    if(light==true){
		document.getElementById('regionRecord_' + elem).className = 'hoverRow';
	} else document.getElementById('regionRecord_' + elem).className = 'regionRecord';
    }
    }



function resetInput(ctlId){
	var ctl = document.getElementById( ctlId );
	if ( ctl ){
		ctl.value = "";
	}
}
/*
function resetPlacesSelection(){
	var places = new createPlacesObject();

	for ( plc in places ){
		// get collection of elements with the same name - places
		// checkboxes may duplicate in different patterns blocks
		var plcCtls = document.getElementsByName( 'placeCode_' + plc );
		for ( i = 0; i < plcCtls.length; i++ ){
			var plcCtl = plcCtls(i);
			plcCtl.checked = false;
		}
	}
}
*/
function checkAllHotelCategories(){
 	var categories = new createHotelCategories();

	for ( cat in categories ){
		if( document.getElementById( 'hotelCategory_' + cat ) ){
			document.getElementById( 'hotelCategory_' + cat ).checked = true;
		}
	}
}


function checkAllFeedings(){
	var meals = new createMeals();
 	for ( meal in meals ){
		if( document.getElementById( 'feedingType_' + meal ) ){
			document.getElementById( 'feedingType_' + meal ).checked = true;
		}
	}
}


function changePattern(regionCode){
	if( document.getElementById('selectedPatternCode_region_' + regionCode) ){
  LoadPattern(regionCode,document.getElementById('selectedPatternCode_region_' + regionCode).value,'');
 	resetInput( "flightDateVerbose" );
	resetInput( "day" );
	resetInput( "month" );
	resetInput( "year" );
  }
}

function dateIsSpecial(date,year, month, day) {
    var m = SPECIAL_DAYS[month];
    if (!m) return true;
    for (var i in m) if (m[i] == day) return 'special';
    return true;
}

function set_date() {
var  arr = new Array();
arr =document.getElementById("flightDateVerbose").value.split('.');
var	d = arr[0];
if(arr[1].substr(0,1)==0){var	m = arr[1].substr(1,1)} else {var	m = arr[1]};
var	y = arr[2];
	var ctl_day = document.getElementById("day");
	if ( ctl_day ){
		ctl_day.value = d*1;
	}
	var ctl_month = document.getElementById("month");
	if ( ctl_month ){
		ctl_month.value = m;
	}
	var ctl_year = document.getElementById("year");
	if ( ctl_year ){
		ctl_year.value = y;
	}

}

function validateForm(){


	message = "";
	placesSelected = false;
	categoriesSelected = false;
	feedingSelected = false;

	//var places = new createPlacesObject();
	//for (var plc = 1; plc<1000; plc++){
  for (m in PLACES){
  plc = PLACES[m]
  if(document.getElementById('placeCode_' + plc)){
		var plcCtls = document.getElementsByName( 'placeCode_' + plc );
		for ( i = 0; i < plcCtls.length; i++ ){
			var plcCtl = plcCtls(i);
			if ( plcCtl.checked )
			placesSelected = true;
		}
	}
	}

	var categories = new createHotelCategories();
	for ( cat in categories )
		if ( document.getElementById( 'hotelCategory_' + cat ) )
			if ( document.getElementById( 'hotelCategory_' + cat ).checked )
				categoriesSelected = true;

	var meals = new createMeals();
	for ( meal in meals )
		if ( document.getElementById( 'feedingType_' + meal ) )
			if ( document.getElementById( 'feedingType_' + meal ).checked )
				feedingSelected = true;

	if( !placesSelected )
		message = message + "Не выбрано ни одного курорта. ";

	if( !categoriesSelected )
		message = message + "Не выбрано ни одной категории отелей. ";

	if( !feedingSelected )
		message = message + "Не выбрано ни одного типа питания. ";

	var dayCtl = document.getElementById( "day" );
	var monthCtl = document.getElementById( "month" );
	var yearCtl = document.getElementById( "year" );

	if ( ( dayCtl.value == "" ) || ( monthCtl.value == "" ) || ( yearCtl.value == "" )){
		message = message + "Не выбрана дата вылета. ";
	}

	if( message != "" ){
		window.alert(message);
		return false;
	}
return true;
}

function isdate(dt){  // А дата ли введенная строка?
 var days = new Array();
 days = dt.split('.');
 if((days[0]*1>0) && (days[0]*1<32))
 if((days[1]*1>0) && (days[1]*1<13))
 if((days[2]*1>2007) && (days[2]*1<2015)) return true;
 return false;
}


function sel_place(code){
if((document.getElementById('placeCode_'+code)) && (code != ''))
document.getElementById('placeCode_'+code).checked = true;
}

function sel_places(){  // Выбор курорта

var tmp = new Array();      // два вспомагательных
var tmp2 = new Array();     // массива
var get = location.search;  // строка GET запроса

if(get != '')
{
    tmp = (get.substr(1)).split('&');   // разделяем переменные
    for(var i=0; i < tmp.length-1; i++)
    {
        tmp2 = tmp[i].split('=');       // массив param будет содержать
        if(tmp2[0].indexOf('placeCode') == 0){
          if(document.getElementById(tmp2[0])) document.getElementById(tmp2[0]).checked = true;
          }
    }
}
}





function fill_form(country_from,country,patt_temp,hot2,hot3,hot4,hot5,hothv1,hothv2,hotappart,d1,m1,m2,m3,m4,m5,m6,recordsPerPage,nights,adults,kid1,kid2,priceMax,priceMin,trd){

  country_f=country_from*1;
  country_t=country*1;
  pat_tem = patt_temp*1;
  //alert(nights);
  adlt = adults;
  LoadPattern(country_t,pat_tem,nights);
  
  if((document.getElementById('hotelCategory_2*')) && (hot2 !=''))
  document.getElementById('hotelCategory_2*').checked = true;
  
  if((document.getElementById('hotelCategory_3*')) && (hot3 !=''))
  document.getElementById('hotelCategory_3*').checked = true;

  if((document.getElementById('hotelCategory_4*')) && (hot4 !=''))
  document.getElementById('hotelCategory_4*').checked = true;

  if((document.getElementById('hotelCategory_5*')) && (hot5 !=''))
  document.getElementById('hotelCategory_5*').checked = true;

  if((document.getElementById('hotelCategory_HV-1')) && (hothv1 !=''))
  document.getElementById('hotelCategory_HV-1').checked = true;
  
  if((document.getElementById('hotelCategory_HV-2')) && (hothv2 !=''))
  document.getElementById('hotelCategory_HV-2').checked = true;
  
  if((document.getElementById('hotelCategory_Apart')) && (hotappart !=''))
  document.getElementById('hotelCategory_Apart').checked = true;

  if((document.getElementById('feedingType_NM')) && (m1 !=''))
  document.getElementById('feedingType_NM').checked = true;
  
  if((document.getElementById('feedingType_BB')) && (m2 !=''))
  document.getElementById('feedingType_BB').checked = true;
  
  if((document.getElementById('feedingType_HB')) && (m3 !=''))
  document.getElementById('feedingType_HB').checked = true;

  if((document.getElementById('feedingType_FB')) && (m4 !=''))
  document.getElementById('feedingType_FB').checked = true;

  if((document.getElementById('feedingType_AL')) && (m5 !=''))
  document.getElementById('feedingType_AL').checked = true;

  if((document.getElementById('feedingType_UAL')) && (m6 !=''))
  document.getElementById('feedingType_UAL').checked = true;


  //mainform.thread.value = trd;
  if(priceMax != '')
  for (var m=0; m<mainform.priceMax.length; m++) if( mainform.priceMax[m].value == priceMax) mainform.priceMax[m].selected = true;

  if(priceMin != '')
  for (var m=0; m<mainform.priceMin.length; m++) if( mainform.priceMin[m].value == priceMin) mainform.priceMin[m].selected = true;


  if(recordsPerPage != '')
  for (var m=0; m<mainform.recordsPerPage.length; m++) if( mainform.recordsPerPage[m].value == recordsPerPage) mainform.recordsPerPage[m].selected = true;

  if(isdate(d1)){
  mainform.flightDateVerbose.value = d1;
  set_date();
  }
  
  if((adults*1>0) && (adults*1<4))
  for (var m=0; m<mainform.adults.length; m++) if( mainform.adults[m].value == adults) mainform.adults[m].selected = true;
  if((kid1*1>-1) && (kid1*1<18))
  for (var m=0; m<mainform.kid1.length; m++) if( mainform.kid1[m].value == kid1) mainform.kid1[m].selected = true;
  if((kid2*1>-1) && (kid2*1<18))
  for (var m=0; m<mainform.kid2.length; m++) if( mainform.kid2[m].value == kid2) mainform.kid2[m].selected = true;
  /**/
}

