/*
* (c) TURY.ru module script
*/
var trr_tours = new String ();
var trr_ar_citydep = new Array ();
var trr_ar_accmd = new Array ();
var trr_ar_city = new Array ();
var trr_ar_subcity = new Array ();
var trr_ar_citys = new Array ();
var trr_ar_citym = new Array ();
var trr_ar_cityd = new Array ();
var trr_ar_cityds = new Array ();
var trr_ar_citydp = new Array ();
var trr_ar_dep = new Array ();
var trr_ar_days = new Array ();
var trr_ar_meal = new Array ();
var trr_ar_star = new Array ();
var trr_ar_hotel = new Array ();
var trr_ar_resp_s = new Array ();
var trr_ar_resp_l = new Array ();
var countryDataElts =
new Array ( "trr_city[]", "trr_star[]" , "trr_hotel[]", "trr_meal[]",
"trr_accmd" , "trr_dep" , "trr_plusmn" , "trr_days_f",
"trr_days_t", "trr_price_f", "trr_price_t", "trr_price_currency" );
var srchBlockElts = ( new Array ( 'trr_depcity', 'trr_country' ) ).concat ( countryDataElts );
function concat_assoc ( arr1, arr2 ) {
var arr = new Object ();
for ( var key in arr1 ) {
arr [key] = arr1 [key];
}
for ( var key in arr2 ) {
arr [key] = arr2 [key];
}
return arr;
}
var countryDataEltsAssoc = {
"trr_city[]" : null,
"trr_star[]" : null,
"trr_hotel[]" : null,
"trr_meal[]" : null,
"trr_accmd" : null,
"trr_dep" : null,
"trr_plusmn" : null,
"trr_days_f" : { set_handler : trr_days_f_set_ls , unset_handler : trr_days_f_unset_ls , val : '' },
"trr_days_t" : { set_handler : trr_days_t_set_ls , unset_handler : trr_days_t_unset_ls , val : '' },
"trr_price_f" : { set_handler : trr_price_f_set_ls, unset_handler : trr_price_f_unset_ls, val : '' },
"trr_price_t" : { set_handler : trr_price_t_set_ls, unset_handler : trr_price_t_unset_ls, val : '' },
"trr_price_currency" : { set_handler : trr_price_currency_set_ls, unset_handler : trr_price_currency_unset_ls, val : '' } };
var srchBlockEltsAssoc = concat_assoc ( { 'trr_depcity' : null, 'trr_country' : null }, countryDataEltsAssoc );
function trr_days_f_set_ls ( eltObj, elt ) {
eltObj.val = elt.value;
elt.disabled = true;
}
function trr_days_f_unset_ls ( eltObj, elt ) {
elt.value = eltObj.val;
elt.disabled = false;
}
function trr_days_t_set_ls ( eltObj, elt ) {
eltObj.val = elt.value;
elt.disabled = true;
}
function trr_days_t_unset_ls ( eltObj, elt ) {
elt.value = eltObj.val;
elt.disabled = false;
}
function trr_price_f_set_ls ( eltObj, elt ) {
eltObj.val = elt.value;
elt.disabled = true;
}
function trr_price_f_unset_ls ( eltObj, elt ) {
elt.value = eltObj.val;
elt.disabled = false;
}
function trr_price_t_set_ls ( eltObj, elt ) {
eltObj.val = elt.value;
elt.disabled = true;
}
function trr_price_t_unset_ls ( eltObj, elt ) {
elt.value = eltObj.val;
elt.disabled = false;
}
function trr_price_currency_set_ls ( eltObj, elt ) {
eltObj.val = elt.value;
elt.disabled = true;
}
function trr_price_currency_unset_ls ( eltObj, elt ) {
elt.value = eltObj.val;
elt.disabled = false;
}
function alert_object_dump ( obj ) {
var dump = '';
for ( var key in obj ) {
var val = obj [key];
dump += key + ' => ' + val;
if ( val != null && typeof ( val ) == 'object' ) {
dump += " {\n";
for ( var key2 in val )
dump += "\t" + key2 + ' => ' + val [key2] + "\n";
dump += "}\n";
} else {
dump += "\n";
}
}
alert ( dump );
}
var req_loadCityDep = null;
var req_loadCountries = null;
var req_loadCountryData = null;
var req_submitSearchData = null;
var req_loadHotelInfo = null;
var req_advanceResponse = null;
var req_showMealDescription = null;
var req_showRoomDescription = null;
var trr_page = '';
var trr_directLinkVals = new Array ();
var trr_directLinkActive = false;
String.prototype.trim = function () {
return this.replace ( /^\s+|\s+$/g, '' );
};
function trr_SetCurPage ( page, additional_args ) {
if ( page == 'index' || page == 'main' )
trr_page == '';
else
trr_page = page;
trr_additional_args = additional_args;
}
function trr_GetCurPage () {
return trr_page;
}
function trr_ParseDirectLink () {
loc = window.location.toString ();
loc = loc.replace ( /!!/g, '%' );
addr_parts = loc.split ( "#:tour_search" );
if ( addr_parts.length > 1 ) {
dl_args = ( addr_parts [1] ).split ( '/' );
if ( dl_args.length > 1 ) {
dl_args = dl_args [1].split ( '?' );
var cur_page = dl_args [0];
trr_SetCurPage ( cur_page );
dl_args = '?' + dl_args [1];
}
dl_args = dl_args.toString ();
if ( dl_args.substr ( 0, 1 ) == '?' ) {
dl_args = dl_args.substr ( 1 ).split ( '&' );
trr_directLinkActive = true;
} else {
return false;
}
} else {
return false;
}
for ( i = 0 ; i < dl_args.length ; i++ ) {
keyVal = dl_args [i].split ( '=' );
if ( keyVal.length < 2 )
continue;
var key = keyVal.shift ();
var val = keyVal.join ( '=' );
if ( trr_directLinkVals [key] != null )
trr_directLinkVals [key] = new Array ( trr_directLinkVals [key], trr_UrlFullDecode ( val ) );
else
trr_directLinkVals [key] = trr_UrlFullDecode ( val );
}
//alert_object_dump ( trr_directLinkVals );
return true;
}
function trr_LoadFromDirectLink ( eltIds ) {
switch ( typeof ( eltIds ) ) {
case 'string':
processElt ( eltIds );
break;
case 'object': // массив
for ( var key in eltIds )
processElt ( eltIds [key] );
break;
}
function processElt ( eltId ) {
if ( elt = document.getElementById ( eltId ) ) {
switch ( elt.type ) {
case 'select-multiple':
case 'select-one':
if ( trr_directLinkVals [eltId] != null ) {
var val = trr_directLinkVals [eltId];
if ( typeof ( val ) == 'string' )
val = new Array ( val );
while ( val.length > 0 ) {
var cur_val = val.shift ();
for ( i = 0 ; i < elt.options.length ; i++ ) {
if ( elt.options [i].value == cur_val ) {
if ( elt.options.selectedIndex == 0 )
elt.options.selectedIndex = i;
else
elt.options [i].selected = true;
}
}
}
}
break;
case 'text':
if ( trr_directLinkVals [eltId] )
elt.value = trr_directLinkVals [eltId];
break;
}
}
}
}
function trr_GenDirectLink ( eltIds, add_args ) {
loc = window.location.toString ();
addr_parts = loc.split ( "#:tour_search" );
if ( addr_parts.length > 1 )
orig_addr = addr_parts [0];
else
orig_addr = loc;
var direct_addr = '';
if ( '' != ( cur_page = trr_GetCurPage () ) )
direct_addr += '/' + cur_page;
switch ( typeof ( eltIds ) ) {
case 'string':
processElt ( eltIds, '?' );
break;
case 'object': // массив
firstElt = eltIds.shift ();
processElt ( firstElt, '?', true );
for ( var key in eltIds )
processElt ( eltIds [key], '&', false );
eltIds.unshift ( firstElt );
break;
}
function processElt ( eltId, argPrefix, dont_check ) {
if ( elt = document.getElementById ( eltId ) ) {
switch ( elt.type ) {
case 'select-multiple':
case 'select-one':
var dd_args = trr_MakeUrlArgFromDropDownVal ( eltId, eltId, '', true );
if ( dd_args.length > 0 )
direct_addr += argPrefix + dd_args;
break;
case 'text':
if ( dont_check || ( elt.value.trim () ).length > 0 )
direct_addr += argPrefix + eltId + '=' + trr_UrlFullEncode ( elt.value );
break;
}
}
}
if ( direct_addr.length > 0 && add_args && add_args.length > 0 )
direct_addr += '&' + add_args;
else if ( add_args && add_args.length > 0 )
direct_addr = '?' + add_args;
var location_url = orig_addr + "#:tour_search" + direct_addr;
location_url = location_url.replace ( /%/g, '!!' );
window.location = location_url;
}
function trr_RequestRemoteScript ( url, scriptLoadedCallback, async_data ) {
return AJAXClient.SendGetRequest ( url, true, scriptLoadedCallback, async_data );
}
function trr_ExecScriptXml ( xml ) {
var nd = xml.getElementsByTagName ( 'data' );
if ( nd.length != 0 )
eval ( nd [0].childNodes [0].nodeValue );
}
function trr_GetDropdownVal ( ddName, defaultVal ) {
var dd = document.getElementById ( ddName );
if ( dd && dd.length != 0 && dd.selectedIndex != -1 )
return dd.options [dd.selectedIndex].value;
else
return defaultVal;
}
function trr_MakeUrlArgFromDropDownVal ( paramName, ddName, defaultVal, urlFullEncode ) {
var dd = document.getElementById ( ddName );
if ( !dd || dd.length == 0 || dd.selectedIndex == -1 )
return defaultVal;
var str = new String ();
cmb_opts = document.getElementById ( ddName ).options;
var sep = '';
urlFullEncode = urlFullEncode != null ? urlFullEncode : false;
for ( i = 1 ; i < cmb_opts.length ; i++ )
if ( cmb_opts [i].selected ) {
str = str + sep + paramName + '=' + ( urlFullEncode ? trr_UrlFullEncode ( cmb_opts [i].value ) : trr_UrlEncode ( cmb_opts [i].value ) );
sep = '&';
}
return str;
}
function trr_GetTextboxVal ( txtName, defaultVal ) {
var txt = document.getElementById ( txtName );
if ( txt )
return txt.value.trim ();
else
return defaultVal;
}
function trr_GetCheckboxVal ( chkName, defaultVal ) {
var chk = document.getElementById ( chkName );
if ( chk )
return chk.checked ? 1 : 0;
else
return defaultVal;
}
function trr_GoToResultsPageNo ( page, hotel_name ) {
trr_SubmitSearchData ( null, page, hotel_name );
}
function trr_GoToResultsPageNoByParams ( params, page ) {
trr_SubmitSearchData ( params, page );
}
function trr_SubmitSearchData ( params, page, hotel_name ) {
if ( params == null ) {
var qChild = trr_GetAgeQueryPart ();
var params =
'trr_depcity=' + trr_DepCity () +
'&trr_country=' + trr_CountryIndex ( null ) +
'&' + trr_MakeUrlArgFromDropDownVal ( 'trr_city[]' , 'trr_city[]' , '' ) +
'&' + trr_MakeUrlArgFromDropDownVal ( 'trr_star[]' , 'trr_star[]' , '' ) +
'&' + trr_MakeUrlArgFromDropDownVal ( 'trr_hotel[]', 'trr_hotel[]', '' ) +
'&' + trr_MakeUrlArgFromDropDownVal ( 'trr_meal[]' , 'trr_meal[]' , '' ) +
'&trr_dep=' + trr_GetDropdownVal ( 'trr_dep' , '' ) +
'&trr_plusmn=' + trr_GetTextboxVal ( 'trr_plusmn' , '' ) +
'&trr_days_f=' + trr_GetDropdownVal ( 'trr_days_f' , '' ) +
'&trr_days_t=' + trr_GetDropdownVal ( 'trr_days_t' , '' ) +
'&trr_accmd=' + trr_GetDropdownVal ( 'trr_accmd' , '' ) +
qChild +
'&trr_price_f=' + trr_UrlEncode ( trr_GetTextboxVal ( 'trr_price_f', '' ) ) +
'&trr_price_t=' + trr_UrlEncode ( trr_GetTextboxVal ( 'trr_price_t', '' ) ) +
'&trr_price_currency=' + trr_GetDropdownVal ( 'trr_price_currency', '' );/* +
'&trr_full_search=' + trr_GetCheckboxVal ( 'trr_full_search' , '0' );*/
}
if ( hotel_name != null ) {
params = params.replace ( /trr_hotel\[\d*\]=[^&]*/gi, '' );
params = params.replace ( /&{2,}/, '&' );
params += '&trr_hotel[]=' + trr_UrlEncode ( hotel_name );
}
if ( page != null )
params += '&page=' + page;
params += '&querydate=' + Date (); // делаем запрос уникальным, чтобы избежать кеширования
if ( targetContainer = document.getElementById ( 'content' ) )
targetContainer.innerHTML = '

';
url = "http://sun-ocean.ru//t_search/modules/tury.ru/tour_search/wsclient.php/tours";
if ( req_submitSearchData != null )
req_submitSearchData.abort ();
req_submitSearchData = AJAXClient.SendPostRequest ( url, params, true, trr_SearchRequestCompleted );
}
function trr_UrlEncode ( urlpart ) {
return urlpart.replace ( /&/g, '%26' );
}
function trr_GetAgeQueryPart () {
var cmbQ;
if ( cmbQ = document.getElementById ( "trr_accmd" ) ) {
var sAccmd = cmbQ.options [cmbQ.selectedIndex].value;
var aAccmd = sAccmd.split ( "+" );
var iChilds = 0;
var qChild = '';
if ( aAccmd.length == 2 ) {
var iMen = aAccmd [0];
var iChilds = aAccmd [1];
var iCM = aAccmd [0] + '%2B' + aAccmd [1];
for ( i = 0 ; i < iChilds ; i++ ) {
qChild += '&age[' + sAccmd + '][]=' + trr_GetTextboxVal ( 'trr_age_' + i, '' );
}
}
return qChild;
} else {
return '';
}
}
function trr_SearchRequestCompleted ( text, xml ) {
trr_SetCurPage ( 'tours' );
trr_GenDirectLink ( srchBlockElts );
req_submitSearchData = null;
var nd = xml.getElementsByTagName ( 'data' );
if ( nd.length != 0 ) {
var targetContainer = document.getElementById ( 'content' );
if ( targetContainer )
targetContainer.innerHTML = nd [0].childNodes [0].nodeValue;
}
}
function trr_LoadHotelInfo ( hotel_id ) {
trr_SetCurPage ( 'hotel' );
trr_GenDirectLink ( srchBlockElts, 'hotel_id=' + hotel_id );
if ( targetContainer = document.getElementById ( 'content' ) ) {
targetContainer.innerHTML = '
';
}
url = "http://sun-ocean.ru//t_search/modules/tury.ru/tour_search/wsclient.php/hotel?id=" + hotel_id + '&querydate=' + Date ();
if ( req_loadHotelInfo != null )
req_loadHotelInfo.abort ();
req_loadHotelInfo = AJAXClient.SendGetRequest ( url, true, trr_LoadHotelInfoCompleted );
}
function trr_LoadHotelInfoCompleted ( text, xml ) {
req_loadHotelInfo = null;
var nd = xml.getElementsByTagName ( 'data' );
if ( nd.length != 0 ) {
var targetContainer = document.getElementById ( 'content' );
if ( targetContainer )
targetContainer.innerHTML = nd [0].childNodes [0].nodeValue;
}
}
function trr_AdvanceResponse ( resp_c_id, resp_id ) {
if ( targetContainer = document.getElementById ( resp_c_id ) ) {
trr_ar_resp_s [resp_c_id] = targetContainer.innerHTML;
if ( trr_ar_resp_l [resp_c_id] == null ) {
targetContainer.innerHTML = '
';
url = "http://sun-ocean.ru//t_search/modules/tury.ru/tour_search/wsclient.php/hotelresp?id=" + resp_id + '&querydate=' + Date ();
if ( req_advanceResponse != null )
req_advanceResponse.abort ();
req_advanceResponse = AJAXClient.SendGetRequest ( url, true, trr_AdvanceResponseCompleted, resp_c_id );
} else {
targetContainer.innerHTML = trr_ar_resp_l [resp_c_id];
}
}
}
function trr_AdvanceResponseCompleted ( text, xml, resp_c_id ) {
req_advanceResponse = null;
var nd = xml.getElementsByTagName ( 'data' );
if ( nd.length != 0 ) {
var targetContainer = document.getElementById ( resp_c_id );
if ( targetContainer ) {
var resp_html = nd [0].childNodes [0].nodeValue;
trr_ar_resp_l [resp_c_id] = resp_html;
targetContainer.innerHTML = resp_html;
}
}
}
function trr_HideResponse ( resp_c_id ) {
if ( targetContainer = document.getElementById ( resp_c_id ) ) {
if ( trr_ar_resp_s [resp_c_id] != null )
targetContainer.innerHTML = trr_ar_resp_s [resp_c_id];
}
}
function trr_ShowMealDescription ( mealId ) {
var params =
'id=' + mealId +
'&querydate=' + Date (); // делаем запрос уникальным, чтобы избежать кеширования
mealWnd = window.open ( '', 'MealInfo', 'directories=no,menubar=no,resizable=no,scrollbars=no,location=no,width=400,height=200' );
mealWnd.document.write ( '| ' );
mealWnd.document.write ( ' |
' );
mealWnd.focus ();
url = "http://sun-ocean.ru//t_search/modules/tury.ru/tour_search/wsclient.php/meal";
if ( req_showMealDescription != null )
req_showMealDescription.abort ();
req_showMealDescription = AJAXClient.SendPostRequest ( url, params, true, trr_MealDescriptionObtained, mealWnd );
}
function trr_MealDescriptionObtained ( text, xml, mealWnd ) {
req_showMealDescription = null;
mealWnd.document.title = 'Питание';
var nd = xml.getElementsByTagName ( 'data' );
if ( nd.length != 0 ) {
var targetContainer = mealWnd.document.getElementById ( 'content' );
if ( targetContainer )
targetContainer.innerHTML = nd [0].childNodes [0].nodeValue;
}
}
function trr_ShowRoomDescription ( roomId ) {
var params =
'id=' + roomId +
'&querydate=' + Date (); // делаем запрос уникальным, чтобы избежать кеширования
roomWnd = window.open ( '', 'RTypeInfo', 'directories=no,menubar=no,resizable=no,scrollbars=no,location=no,width=400,height=200' );
roomWnd.document.write ( '| ' );
roomWnd.document.write ( ' |
' );
roomWnd.focus ();
url = "http://sun-ocean.ru//t_search/modules/tury.ru/tour_search/wsclient.php/rtype";
if ( req_showRoomDescription != null )
req_showRoomDescription.abort ();
req_showRoomDescription = AJAXClient.SendPostRequest ( url, params, true, trr_RoomDescriptionObtained, roomWnd );
}
function trr_RoomDescriptionObtained ( text, xml, roomWnd ) {
req_showRoomDescription = null;
roomWnd.document.title = 'Номер';
var nd = xml.getElementsByTagName ( 'data' );
if ( nd.length != 0 ) {
var targetContainer = roomWnd.document.getElementById ( 'content' );
if ( targetContainer )
targetContainer.innerHTML = nd [0].childNodes [0].nodeValue;
}
}
function trr_DepCity () {
if ( dc = document.getElementById ( "trr_depcity" ) )
return dc.options[dc.selectedIndex].value;
else
return "";
}
function trr_SetElementsLoadingState ( eltIds, loadingString ) {
if ( !loadingString )
loadingString = 'загрузка...';
switch ( typeof ( eltIds ) ) {
case 'string':
processElt ( eltIds );
break;
case 'object': // массив
for ( var key in eltIds )
processElt ( eltIds [key] );
break;
}
function processElt ( eltId ) {
if ( elt = document.getElementById ( eltId ) ) {
elt.disabled = true;
switch ( elt.type ) {
case 'select-one':
while ( elt.options.length > 0 )
elt.remove ( 0 );
elt.options.add ( new Option ( loadingString, '' ) );
break;
case 'text':
elt.value = loadingString;
break;
}
}
}
}
function trr_SetElementsLoadingStateAssoc ( elts, loadingString ) {
if ( !loadingString )
loadingString = 'загрузка...';
switch ( typeof ( elts ) ) {
case 'string':
processElt ( elts );
break;
case 'object': // массив
for ( var key in elts )
processElt ( key, elts [key] );
break;
}
function processElt ( eltId, eltObj ) {
if ( elt = document.getElementById ( eltId ) ) {
if ( eltObj != null ) {
eltObj.set_handler ( eltObj, elt );
} else {
elt.disabled = true;
switch ( elt.type ) {
case 'select-one':
while ( elt.options.length > 0 )
elt.remove ( 0 );
elt.options.add ( new Option ( loadingString, '' ) );
break;
case 'text':
elt.value = loadingString;
break;
}
}
}
}
}
function trr_UnsetElementsLoadingState ( eltIds ) {
switch ( typeof ( eltIds ) ) {
case 'string':
processElt ( eltIds );
break;
case 'object': // массив
for ( var key in eltIds )
processElt ( eltIds [key] );
break;
}
function processElt ( eltId ) {
if ( elt = document.getElementById ( eltId ) ) {
switch ( elt.type ) {
case 'select-one':
elt.options.length = 0;
break;
case 'text':
elt.value = '';
break;
}
elt.disabled = false;
}
}
}
function trr_UnsetElementsLoadingStateAssoc ( elts ) {
switch ( typeof ( elts ) ) {
case 'string':
processElt ( elts );
break;
case 'object': // массив
for ( var key in elts )
processElt ( key, elts [key] );
break;
}
function processElt ( eltId, eltObj ) {
if ( elt = document.getElementById ( eltId ) ) {
if ( eltObj != null ) {
eltObj.unset_handler ( eltObj, elt );
} else {
switch ( elt.type ) {
case 'select-one':
elt.options.length = 0;
break;
case 'text':
elt.value = '';
break;
}
elt.disabled = false;
}
}
}
}
function trr_InitSearchBlock () {
if ( trr_ParseDirectLink () ) {
trr_LoadCityDep ( trr_DirectLinkCityDepLoaded );
} else {
trr_LoadCityDep ();
}
}
function trr_DirectLinkCityDepLoaded () {
trr_LoadFromDirectLink ( 'trr_depcity' );
trr_LoadCountries ( trr_DirectLinkCountriesLoaded );
}
function trr_DirectLinkCountriesLoaded () {
trr_LoadFromDirectLink ( 'trr_country' );
trr_LoadCountryData ( trr_DirectLinkCountryDataLoaded );
}
function trr_DirectLinkCountryDataLoaded () {
trr_LoadFromDirectLink ( countryDataElts );
LoadQAge ();
trr_LoadFromDirectLink ( srchBlockElts );
trr_GenDirectLink ( srchBlockElts );
var cur_page = trr_GetCurPage ();
switch ( cur_page ) {
case 'tours':
trr_SubmitSearchData ();
break;
case 'hotel':
if ( trr_directLinkVals ['hotel_id'] )
trr_LoadHotelInfo ( trr_directLinkVals ['hotel_id'] );
break;
case '':
default:
// do nothing
break;
}
}
function trr_LoadCityDep ( next_func ) {
trr_SetElementsLoadingState ( 'trr_depcity' );
trr_SetElementsLoadingState ( 'trr_country' );
trr_SetElementsLoadingState ( countryDataElts, ' ' );
if ( req_loadCityDep != null )
req_loadCityDep.abort ();
req_loadCityDep = trr_RequestRemoteScript ( "http://sun-ocean.ru//t_search/modules/tury.ru/tour_search/wsclient.php/citydeplist" + '?format=xml' + '&querydate=' + Date (), trr_LoadCityDepCompleted, next_func );
}
function trr_LoadCityDepCompleted ( text, xml, next_func ) {
req_loadCityDep = null;
trr_UnsetElementsLoadingState ( 'trr_depcity' );
trr_ExecScriptXml ( xml );
trr_GenDirectLink ( srchBlockElts );
if ( next_func ) {
next_func ();
} else {
trr_LoadCountries ();
}
}
function trr_LoadCountries ( next_func ) {
var trr_country = document.getElementById ( 'trr_country' );
if ( trr_country ) {
if ( trr_country.options != null ) {
var depCity = trr_DepCity ();
trr_SetElementsLoadingState ( 'trr_country' );
trr_SetElementsLoadingStateAssoc ( countryDataEltsAssoc, ' ' );
if ( req_loadCountries != null )
req_loadCountries.abort ();
req_loadCountries = trr_RequestRemoteScript ( "http://sun-ocean.ru//t_search/modules/tury.ru/tour_search/wsclient.php/countrylist?citydep=" + depCity + '&format=xml' + '&querydate=' + Date (), trr_LoadCountriesCompleted, next_func );
} else {
trr_LoadCountryData ();
}
} else {
trr_LoadCountryData ();
}
}
function trr_LoadCountriesCompleted ( text, xml, next_func ) {
req_loadCountries = null;
trr_UnsetElementsLoadingState ( 'trr_country' );
trr_ExecScriptXml ( xml );
trr_GenDirectLink ( srchBlockElts );
if ( next_func )
next_func ();
}
function trr_CountryIndex ( selIdx ) {
var trr_country = document.getElementById ( 'trr_country' );
if ( trr_country && trr_country.options ) {
if ( selIdx )
selIdx.val = trr_country.selectedIndex;
return trr_country.options [trr_country.selectedIndex].value;
}
}
function trr_LoadCountryData ( next_func ) {
var selIdx = {val:0};
var trr_country_index = trr_CountryIndex ( selIdx );
if ( trr_country_index != "" && selIdx.val != 0 ) {
trr_SetElementsLoadingStateAssoc ( countryDataEltsAssoc );
//trr_SetElementsLoadingState ( countryDataElts );
var sCurCityDep = trr_DepCity ();
var dvAge = document.getElementById ( "trr_age" );
dvAge.style.display = "none";
if ( req_loadCountryData != null )
req_loadCountryData.abort ();
req_loadCountryData = trr_RequestRemoteScript ( 'http://sun-ocean.ru//t_search/modules/tury.ru/tour_search/wsclient.php/qdata?citydep=' + sCurCityDep + '&iCountry=' + trr_country_index + '&format=xml' + '&querydate=' + Date (), trr_LoadCountryDataCompleted, next_func );
}
}
function trr_LoadCountryDataCompleted ( text, xml, next_func ) {
req_loadCountryData = null;
trr_UnsetElementsLoadingStateAssoc ( countryDataEltsAssoc );
trr_ExecScriptXml ( xml );
trr_Filter ();
trr_GenDirectLink ( srchBlockElts );
if ( next_func )
next_func ();
}
function trr_LoadArray ( ar, data ) {
if ( ar == "accmd" ) { trr_ar_accmd = data.split( ',' ); }
if ( ar == "city" ) { trr_ar_city = data.split( ',' ); }
if ( ar == "subcity" ) { trr_ar_subcity = data.split( ',' ); }
if ( ar == "citys" ) { trr_ar_citys = data.split( ',' ); }
if ( ar == "citym" ) { trr_ar_citym = data.split( ',' ); }
if ( ar == "cityd" ) { trr_ar_cityd = data.split( ',' ); }
if ( ar == "cityds" ) { trr_ar_cityds = data.split( ',' ); }
if ( ar == "dep" ) { trr_ar_dep = data.split( ',' ); }
if ( ar == "days" ) { trr_ar_days = data.split( ',' ); }
if ( ar == "meal" ) { trr_ar_meal = data.split( ',' ); }
if ( ar == "star" ) { trr_ar_star = data.split( ',' ); }
if ( ar == "hotel" ) { trr_ar_hotel = data.split( ',' ); }
if ( ar == "tours" ) { trr_tours = data; }
}
function trr_Filter () {
trr_FilterAccmd ();
trr_FilterCity ();
trr_FilterStar ();
trr_FilterHotel ();
trr_FilterMeal ();
trr_FilterDeps ();
trr_FilterDays ();
if ( tcnt = document.getElementById ( "trr_tcount" ) )
tcnt.innerHTML = trr_tours;
LoadFirstVals ();
if ( cmbCurrency = document.getElementById ( "trr_price_currency" ) ) {
cmbCurrency.options.length = 3;
cmbCurrency.options[0].value = "USD";
cmbCurrency.options[0].text = "$";
cmbCurrency.options[1].value = "EUR";
cmbCurrency.options[1].text = "Euro";
cmbCurrency.options[2].value = "RUB";
cmbCurrency.options[2].text = "Руб.";
cmbCurrency.selectedIndex = 2;
}
}
function LoadFirstVals () {
var ar_one_line = new Array ( "trr_city[]", "trr_hotel[]", "trr_star[]", "trr_meal[]", "trr_days_f", "trr_days_t" );
for ( i = 0 ; i < ar_one_line.length ; i++ ) {
if ( cmb = document.getElementById ( ar_one_line [i] ) )
if ( cmb.options.length == 2 )
cmb.options.selectedIndex = 1;
}
if ( cmb = document.getElementById ( "trr_dep" ) )
cmb.options.selectedIndex = 1;
}
function trr_SelectedVals ( cmb_name ) {
var str = new String ();
cmb_opts = document.getElementById ( cmb_name ).options;
for ( i = 1 ; i < cmb_opts.length ; i++ )
if ( cmb_opts [i].selected )
str = str + '(' + cmb_opts [i].value + ')';
return str;
}
function trr_FilterAccmd () {
if ( cmbQ = document.getElementById ( "trr_accmd" ) ) {
cmbQ.options.length = trr_ar_accmd.length + 1;
for ( i = 0; i < trr_ar_accmd.length; i++ ) {
ar = trr_ar_accmd [i].split ( ";" );
var sAccmd = ar [0];
var aAccmd = sAccmd.split ( "+" );
if ( aAccmd.length == 2 ) {
sAccmd = aAccmd [0] + " взр.+" + aAccmd [1] + " реб.";
cmbQ.options [i + 1] = new Option ( sAccmd, ar[0] );
} else {
cmbQ.options [i + 1] = new Option ( sAccmd + " взр.", ar [0] );
}
if ( ar [0] == "2" )
cmbQ.selectedIndex = i + 1;
}
if ( cmbQ.options.length == 2 ) {
cmbQ.selectedIndex = 1;
}
}
}
function LoadQAge () {
var cmbQ = document.getElementById ( "trr_accmd" );
var dvAge = document.getElementById ( "trr_age" );
var sOut = "";
dvAge.innerHTML = "";
if ( cmbQ.selectedIndex > 0 ) {
var sAccmd = cmbQ.options [cmbQ.selectedIndex].value;
var aAccmd = sAccmd.split ( "+" );
if ( aAccmd.length == 1 ) {
var iMans = aAccmd [0];
var iChilds = 0;
} else {
var iMans = aAccmd [0];
var iChilds = aAccmd [1];
}
if ( iChilds == 0 ) {
cmbQ.style.width = 150;
dvAge.style.display = "none";
} else {
cmbQ.style.width = 150 - iChilds * 20 - 20;
for ( i = 0 ; i < iChilds ; i++ ) {
var accmdIdx = 'age[' + sAccmd + '][' + i + ']';
if ( !srchBlockElts [accmdIdx] )
srchBlockElts [accmdIdx] = accmdIdx;
sOut = sOut + "";
}
dvAge.innerHTML = sOut + "лет";
dvAge.style.display = "block";
}
} else {
cmbQ.style.width = 150;
dvAge.style.display = "none";
}
}
function trr_FilterCity () {
if ( cmb = document.getElementById ( "trr_city[]" ) ) {
cmb.options.length = trr_ar_city.length + 1;
cmb.options [0] = new Option ( "- Все курорты -", "" );
cmb.selectedIndex = 0;
for ( i = 0 ; i < trr_ar_city.length ; i++ )
cmb.options [i + 1] = new Option ( trr_ar_city [i], trr_ar_city [i] );
}
}
function trr_FilterSubCity () {
if ( cmb = document.getElementById ( "trr_subcity" ) ) {
var selCity = trr_SelectedVals ( "trr_city[]" );
cmb.options.length = 1;
cmb.options [0] = new Option ( "- Все районы -", "" );
cmb.selectedIndex = 0;
if ( selCity.length > 0 ) {
for ( i = 0 ; i < trr_ar_subcity.length ; i++ ) {
ar = trr_ar_subcity [i].split ( ':' );
if ( selCity.indexOf ( "(" + ar [0] + ")" ) > -1 ) {
cmb.options.length++;
l = cmb.options.length - 1;
cmb.options [l] = new Option ( ar [1], ar[1] );
}
}
}
}
}
function trr_FilterStar () {
if ( cmb = document.getElementById ( "trr_star[]" ) ) {
var ar_star = new Array ();
if ( document.getElementById ( "trr_city[]" ).selectedIndex == 0 ) {
/* all stars */
ar_star = trr_ar_star;
} else {
/* by city */
var sCity = trr_SelectedVals ( "trr_city[]" );
var sStar = new String ( ";" );
for ( i = 0 ; i < trr_ar_citys.length ; i++ ) {
ar = trr_ar_citys [i].split ( ":" );
if ( sCity.indexOf ( '(' + ar [0] + ')' ) > -1 && ar [0].length > 0 && sStar.indexOf ( ";" + ar [1] + ";" ) == -1 )
sStar = sStar + ar [1] + ";";
}
ar_star = sStar.split ( ';' );
}
ar_star.sort ();
cmb.options.length = 1;
cmb.options [0] = new Option ( "- Все категории -", "" );
cmb.selectedIndex = 0;
for ( i = 0 ; i < ar_star.length ; i++ ) {
if ( ar_star [i].length > 0 ) {
cmb.options.length++;
l = cmb.options.length - 1;
cmb.options [l] = new Option ( ar_star [i], ar_star [i] );
}
}
}
}
function trr_FilterHotel () {
var ar_hotels = new Array ();
var sHotels = new String ( ';' );
if ( cmb = document.getElementById ( "trr_hotel[]" ) ) {
if ( document.getElementById ( "trr_city[]" ).selectedIndex == 0 && document.getElementById ( "trr_star[]" ).selectedIndex == 0 ) {
/* all hotels */
for ( i = 0 ; i < trr_ar_hotel.length ; i++ ) {
var ar = trr_ar_hotel [i].split ( ":" );
if ( sHotels.indexOf ( ';' + ar [1] + ':' + ar [2] + ';' ) == -1)
sHotels = sHotels + ar [1] + ':' + ar [2] + ';';
}
} else {
/* by city */
var selCity = trr_SelectedVals ( "trr_city[]" );
var selStar = trr_SelectedVals ( "trr_star[]" );
for ( i = 0 ; i < trr_ar_hotel.length ; i++ ) {
var ar = trr_ar_hotel [i].split ( ':' );
if ( sHotels.indexOf ( ';' + ar [1] + ':' + ar [2] + ';' ) == -1 && ( selCity.indexOf ( '(' + ar [0] + ')' ) > -1 || selCity.length == 0 ) && ( selStar.indexOf ( '(' + ar [2] + ')' ) > -1 || selStar.length == 0 ) )
sHotels = sHotels + ar [1] + ':' + ar [2] + ';';
}
}
/* loading list */
ar_hotels = sHotels.split ( ';' );
ar_hotels.sort ();
cmb.options.length = 1;
cmb.options [0] = new Option ( '- Все отели -', '' );
for ( i = 2 ; i < ar_hotels.length ; i++ ) {
var ar = ar_hotels[i].split ( ':' );
if ( ar_hotels [i].length > 1 ) {
cmb.options.length++;
l = cmb.options.length - 1;
cmb.options [l] = new Option ( ar [0] + ' ' + ar [1] + '*', ar [0] );
}
}
cmb.selectedIndex = 0;
}
}
function trr_FilterMeal () {
if ( cmb = document.getElementById ("trr_meal[]") ) {
var ar_meal = new Array ();
if ( document.getElementById ( "trr_city[]" ).selectedIndex == 0 && document.getElementById ( "trr_hotel[]" ).selectedIndex == 0 ) {
/* all meals */
ar_meal = trr_ar_meal;
}
if ( document.getElementById ( "trr_hotel[]" ).selectedIndex > 0 ) {
/* by hotel */
var selHotels = trr_SelectedVals ( "trr_hotel[]" );
var sMeal = new String ( ';' );
for ( i = 0 ; i < trr_ar_hotel.length; i++ ) {
ar = trr_ar_hotel [i].split ( ':' );
if ( selHotels.indexOf ( '(' + ar [1] + ')' ) > -1 ) {
ar2 = ar [3].split ( ';' );
for ( m = 0 ; m < ar2.length ; m++ ) {
if ( sMeal.indexOf ( ar2 [m] ) == -1 )
sMeal = sMeal + ar2 [m]+';';
}
}
}
ar_meal = sMeal.split ( ';' );
}
if ( document.getElementById ( "trr_city[]" ).selectedIndex > 0 && document.getElementById ( "trr_hotel[]" ).selectedIndex == 0 ) {
/* by city */
var sCity = trr_SelectedVals ( "trr_city[]" );
var sMeal = new String ( ';' );
for ( i = 0; i < trr_ar_citym.length ; i++ ) {
ar = trr_ar_citym [i].split ( ':' );
if ( sCity.indexOf ( '(' + ar [0] + ')' ) > -1 && ar [0].length > 0 && sMeal.indexOf ( ';' + ar [1] + ';' ) == -1 )
sMeal = sMeal+ar[1]+";";
}
ar_meal = sMeal.split ( ';' );
}
ar_meal.sort ();
cmb.options.length = 1;
cmb.options [0] = new Option ( '- Питание любое -', '' );
cmb.selectedIndex = 0;
for ( i = 0 ; i < ar_meal.length ; i++ ) {
if ( ar_meal [i].length > 0 ) {
cmb.options.length++;
l = cmb.options.length - 1;
cmb.options [l] = new Option ( ar_meal [i], ar_meal [i] );
}
}
}
}
function trr_FilterDeps () {
var cmb = document.getElementById ( "trr_dep" );
if ( !cmb ) {
var cmb = document.getElementById ( "trr_dep_f" );
var cmb2 = document.getElementById ( "trr_dep_t" );
if ( !cmb && !cmb2 )
return;
}
if ( cmb ) {
var ar_dep = new Array ();
var sDep = new String ();
if ( document.getElementById ( "trr_city[]" ).selectedIndex == 0 ) {
/* all */
ar_dep = trr_ar_dep;
} else {
/* by city */
var selCity = trr_SelectedVals ( "trr_city[]" );
for ( i = 0 ; i < trr_ar_cityd.length ; i++ ) {
ar = trr_ar_cityd [i].split ( ':' );
if ( selCity.indexOf ( '(' + ar [0] + ')' ) > -1 && sDep.indexOf ( ar [1] ) == -1 )
sDep = sDep + ar [1] + ';';
}
ar_dep = sDep.split ( ';' );
ar_dep.sort ();
}
cmb.options.length = 1;
cmb.options [0] = new Option ( "- Любая -", "" );
cmb.selectedIndex = 0;
if ( cmb2 ) {
cmb2.options.length = 1;
cmb2.options [0] = new Option ( "- Любая -", "" );
cmb2.selectedIndex = 0;
}
for ( i = 0 ; i < ar_dep.length ; i++ ) {
if ( ar_dep [i].length > 0 ) {
ar = ar_dep [i].split ( '^' );
cmb.options.length++;
l = cmb.options.length - 1;
cmb.options [l] = new Option ( ar [1], ar [0] );
if ( cmb2 ) {
cmb2.options.length++;
l = cmb2.options.length - 1;
cmb2.options [l] = new Option ( ar[1], ar[0] );
}
}
}
}
if ( cmb.options.length > 0 && cmb.options.selectedIndex == 0 )
cmb.selectedIndex = 1;
if ( cmb2 && cmb2.options.length > 0 && cmb2.options.selectedIndex == 0 )
cmb2.selectedIndex = 1;
}
function trr_FilterDays () {
var cmb = document.getElementById ( "trr_days_f" );
var cmb2 = document.getElementById ( "trr_days_t" );
if ( !cmb || !cmb2 ) {
return;
} else {
var ar_days = new Array ();
var sDays = new String ();
if ( document.getElementById ( "trr_city[]" ).selectedIndex == 0 ) {
/* all */
ar_days = trr_ar_days;
} else {
/* by city */
var selCity = trr_SelectedVals ( "trr_city[]" );
for ( i = 0; i < trr_ar_cityds.length; i++ ) {
ar = trr_ar_cityds [i].split ( ':' );
if ( selCity.indexOf ( '(' + ar [0] + ')' ) > -1 && sDays.indexOf ( ar [1] + ';' ) == -1 )
sDays = sDays+ar[1]+";";
}
ar_days = sDays.split ( ';' );
ar_days.sort ();
}
cmb.options.length = 1;
cmb.options [0] = new Option ( "- Все -", "" );
cmb.selectedIndex = 0;
cmb2.options.length = 1;
cmb2.options[0] = new Option ( "- Все -", "" );
cmb2.selectedIndex = 0;
for ( i = 0 ; i < ar_days.length ; i++ ) {
if ( ar_days [i].length > 0 ) {
cmb.options.length++;
cmb2.options.length++;
l = cmb.options.length - 1;
cmb.options [l] = new Option ( ar_days [i], ar_days [i] );
cmb2.options[l] = new Option ( ar_days [i], ar_days [i] );
}
}
}
}
function trr_Clear () {
var cmbs = new Array ( "trr_city[]", "trr_star[]", "trr_hotel[]", "trr_meal[]", "trr_accmd", "trr_dep", "trr_days_f", "trr_days_t" );
for ( i = 0; i < cmbs.length; i++ ) {
if ( cmb = document.getElementById ( cmbs [i] ) )
if ( cmb.options )
cmb.options.length = 0;
}
}
function trr_SetDays () {
var trr_days_f = document.getElementById ( "trr_days_f" );
var trr_days_t = document.getElementById ( "trr_days_t" );
if ( trr_days_f.selectedIndex > trr_days_t.selectedIndex )
trr_days_t.selectedIndex = trr_days_f.selectedIndex;
}
var Trr_Url = {
encode : function ( string ) {
return escape ( this._utf8_encode ( string ) );
},
decode : function ( string ) {
return this._utf8_decode ( unescape ( string ) );
},
_utf8_encode : function ( string ) {
string = string.replace ( /\r\n/g, "\n" );
var utftext = "";
for ( var n = 0 ; n < string.length ; n++ ) {
var c = string.charCodeAt ( n );
if ( c < 128 ) {
utftext += String.fromCharCode ( c );
} else if ( ( c > 127 ) && ( c < 2048 ) ) {
utftext += String.fromCharCode ( ( c >> 6 ) | 192 );
utftext += String.fromCharCode ( ( c & 63 ) | 128 );
} else {
utftext += String.fromCharCode ( ( c >> 12 ) | 224 );
utftext += String.fromCharCode ( ( ( c >> 6 ) & 63 ) | 128 );
utftext += String.fromCharCode ( ( c & 63 ) | 128 );
}
}
return utftext;
},
_utf8_decode : function ( utftext ) {
var string = "";
var i = 0;
var c = c1 = c2 = 0;
while ( i < utftext.length ) {
c = utftext.charCodeAt ( i );
if ( c < 128 ) {
string += String.fromCharCode ( c );
i++;
} else if ( ( c > 191 ) && ( c < 224 ) ) {
c2 = utftext.charCodeAt ( i + 1 );
string += String.fromCharCode ( ( ( c & 31 ) << 6 ) | ( c2 & 63 ) );
i += 2;
} else {
c2 = utftext.charCodeAt ( i + 1 );
c3 = utftext.charCodeAt ( i + 2 );
string += String.fromCharCode ( ( ( c & 15 ) << 12 ) | ( ( c2 & 63 ) << 6 ) | ( c3 & 63 ) );
i += 3;
}
}
return string;
}
}
var ansi2utf8code = new Array ();
var utf8code2ansi = new Array ();
ansi2utf8code ['%00'] = 63;
utf8code2ansi [63] = '%00';
ansi2utf8code ['%01'] = 1;
utf8code2ansi [1] = '%01';
ansi2utf8code ['%02'] = 2;
utf8code2ansi [2] = '%02';
ansi2utf8code ['%03'] = 3;
utf8code2ansi [3] = '%03';
ansi2utf8code ['%04'] = 4;
utf8code2ansi [4] = '%04';
ansi2utf8code ['%05'] = 5;
utf8code2ansi [5] = '%05';
ansi2utf8code ['%06'] = 6;
utf8code2ansi [6] = '%06';
ansi2utf8code ['%07'] = 7;
utf8code2ansi [7] = '%07';
ansi2utf8code ['%08'] = 8;
utf8code2ansi [8] = '%08';
ansi2utf8code ['%0B'] = 11;
utf8code2ansi [11] = '%0B';
ansi2utf8code ['%0C'] = 12;
utf8code2ansi [12] = '%0C';
ansi2utf8code ['%0E'] = 14;
utf8code2ansi [14] = '%0E';
ansi2utf8code ['%0F'] = 15;
utf8code2ansi [15] = '%0F';
ansi2utf8code ['%10'] = 16;
utf8code2ansi [16] = '%10';
ansi2utf8code ['%11'] = 17;
utf8code2ansi [17] = '%11';
ansi2utf8code ['%12'] = 18;
utf8code2ansi [18] = '%12';
ansi2utf8code ['%13'] = 19;
utf8code2ansi [19] = '%13';
ansi2utf8code ['%14'] = 20;
utf8code2ansi [20] = '%14';
ansi2utf8code ['%15'] = 21;
utf8code2ansi [21] = '%15';
ansi2utf8code ['%16'] = 22;
utf8code2ansi [22] = '%16';
ansi2utf8code ['%17'] = 23;
utf8code2ansi [23] = '%17';
ansi2utf8code ['%18'] = 24;
utf8code2ansi [24] = '%18';
ansi2utf8code ['%19'] = 25;
utf8code2ansi [25] = '%19';
ansi2utf8code ['%1A'] = 26;
utf8code2ansi [26] = '%1A';
ansi2utf8code ['%1B'] = 27;
utf8code2ansi [27] = '%1B';
ansi2utf8code ['%1C'] = 28;
utf8code2ansi [28] = '%1C';
ansi2utf8code ['%1D'] = 29;
utf8code2ansi [29] = '%1D';
ansi2utf8code ['%1E'] = 30;
utf8code2ansi [30] = '%1E';
ansi2utf8code ['%1F'] = 31;
utf8code2ansi [31] = '%1F';
ansi2utf8code ['+'] = 32;
utf8code2ansi [32] = '+';
ansi2utf8code ['%21'] = 33;
utf8code2ansi [33] = '%21';
ansi2utf8code ['%22'] = 34;
utf8code2ansi [34] = '%22';
ansi2utf8code ['%23'] = 35;
utf8code2ansi [35] = '%23';
ansi2utf8code ['%24'] = 36;
utf8code2ansi [36] = '%24';
ansi2utf8code ['%25'] = 37;
utf8code2ansi [37] = '%25';
ansi2utf8code ['%26'] = 38;
utf8code2ansi [38] = '%26';
ansi2utf8code ['%27'] = 39;
utf8code2ansi [39] = '%27';
ansi2utf8code ['%28'] = 40;
utf8code2ansi [40] = '%28';
ansi2utf8code ['%29'] = 41;
utf8code2ansi [41] = '%29';
ansi2utf8code ['%2A'] = 42;
utf8code2ansi [42] = '%2A';
ansi2utf8code ['%2B'] = 43;
utf8code2ansi [43] = '%2B';
ansi2utf8code ['%2C'] = 44;
utf8code2ansi [44] = '%2C';
ansi2utf8code ['-'] = 45;
utf8code2ansi [45] = '-';
ansi2utf8code ['.'] = 46;
utf8code2ansi [46] = '.';
ansi2utf8code ['%2F'] = 47;
utf8code2ansi [47] = '%2F';
ansi2utf8code ['0'] = 48;
utf8code2ansi [48] = '0';
ansi2utf8code ['1'] = 49;
utf8code2ansi [49] = '1';
ansi2utf8code ['2'] = 50;
utf8code2ansi [50] = '2';
ansi2utf8code ['3'] = 51;
utf8code2ansi [51] = '3';
ansi2utf8code ['4'] = 52;
utf8code2ansi [52] = '4';
ansi2utf8code ['5'] = 53;
utf8code2ansi [53] = '5';
ansi2utf8code ['6'] = 54;
utf8code2ansi [54] = '6';
ansi2utf8code ['7'] = 55;
utf8code2ansi [55] = '7';
ansi2utf8code ['8'] = 56;
utf8code2ansi [56] = '8';
ansi2utf8code ['9'] = 57;
utf8code2ansi [57] = '9';
ansi2utf8code ['%3A'] = 58;
utf8code2ansi [58] = '%3A';
ansi2utf8code ['%3B'] = 59;
utf8code2ansi [59] = '%3B';
ansi2utf8code ['%3C'] = 60;
utf8code2ansi [60] = '%3C';
ansi2utf8code ['%3D'] = 61;
utf8code2ansi [61] = '%3D';
ansi2utf8code ['%3E'] = 62;
utf8code2ansi [62] = '%3E';
ansi2utf8code ['%3F'] = 63;
utf8code2ansi [63] = '%3F';
ansi2utf8code ['%40'] = 64;
utf8code2ansi [64] = '%40';
ansi2utf8code ['A'] = 65;
utf8code2ansi [65] = 'A';
ansi2utf8code ['B'] = 66;
utf8code2ansi [66] = 'B';
ansi2utf8code ['C'] = 67;
utf8code2ansi [67] = 'C';
ansi2utf8code ['D'] = 68;
utf8code2ansi [68] = 'D';
ansi2utf8code ['E'] = 69;
utf8code2ansi [69] = 'E';
ansi2utf8code ['F'] = 70;
utf8code2ansi [70] = 'F';
ansi2utf8code ['G'] = 71;
utf8code2ansi [71] = 'G';
ansi2utf8code ['H'] = 72;
utf8code2ansi [72] = 'H';
ansi2utf8code ['I'] = 73;
utf8code2ansi [73] = 'I';
ansi2utf8code ['J'] = 74;
utf8code2ansi [74] = 'J';
ansi2utf8code ['K'] = 75;
utf8code2ansi [75] = 'K';
ansi2utf8code ['L'] = 76;
utf8code2ansi [76] = 'L';
ansi2utf8code ['M'] = 77;
utf8code2ansi [77] = 'M';
ansi2utf8code ['N'] = 78;
utf8code2ansi [78] = 'N';
ansi2utf8code ['O'] = 79;
utf8code2ansi [79] = 'O';
ansi2utf8code ['P'] = 80;
utf8code2ansi [80] = 'P';
ansi2utf8code ['Q'] = 81;
utf8code2ansi [81] = 'Q';
ansi2utf8code ['R'] = 82;
utf8code2ansi [82] = 'R';
ansi2utf8code ['S'] = 83;
utf8code2ansi [83] = 'S';
ansi2utf8code ['T'] = 84;
utf8code2ansi [84] = 'T';
ansi2utf8code ['U'] = 85;
utf8code2ansi [85] = 'U';
ansi2utf8code ['V'] = 86;
utf8code2ansi [86] = 'V';
ansi2utf8code ['W'] = 87;
utf8code2ansi [87] = 'W';
ansi2utf8code ['X'] = 88;
utf8code2ansi [88] = 'X';
ansi2utf8code ['Y'] = 89;
utf8code2ansi [89] = 'Y';
ansi2utf8code ['Z'] = 90;
utf8code2ansi [90] = 'Z';
ansi2utf8code ['%5B'] = 91;
utf8code2ansi [91] = '%5B';
ansi2utf8code ['%5C'] = 92;
utf8code2ansi [92] = '%5C';
ansi2utf8code ['%5D'] = 93;
utf8code2ansi [93] = '%5D';
ansi2utf8code ['%5E'] = 94;
utf8code2ansi [94] = '%5E';
ansi2utf8code ['_'] = 95;
utf8code2ansi [95] = '_';
ansi2utf8code ['%60'] = 96;
utf8code2ansi [96] = '%60';
ansi2utf8code ['a'] = 97;
utf8code2ansi [97] = 'a';
ansi2utf8code ['b'] = 98;
utf8code2ansi [98] = 'b';
ansi2utf8code ['c'] = 99;
utf8code2ansi [99] = 'c';
ansi2utf8code ['d'] = 100;
utf8code2ansi [100] = 'd';
ansi2utf8code ['e'] = 101;
utf8code2ansi [101] = 'e';
ansi2utf8code ['f'] = 102;
utf8code2ansi [102] = 'f';
ansi2utf8code ['g'] = 103;
utf8code2ansi [103] = 'g';
ansi2utf8code ['h'] = 104;
utf8code2ansi [104] = 'h';
ansi2utf8code ['i'] = 105;
utf8code2ansi [105] = 'i';
ansi2utf8code ['j'] = 106;
utf8code2ansi [106] = 'j';
ansi2utf8code ['k'] = 107;
utf8code2ansi [107] = 'k';
ansi2utf8code ['l'] = 108;
utf8code2ansi [108] = 'l';
ansi2utf8code ['m'] = 109;
utf8code2ansi [109] = 'm';
ansi2utf8code ['n'] = 110;
utf8code2ansi [110] = 'n';
ansi2utf8code ['o'] = 111;
utf8code2ansi [111] = 'o';
ansi2utf8code ['p'] = 112;
utf8code2ansi [112] = 'p';
ansi2utf8code ['q'] = 113;
utf8code2ansi [113] = 'q';
ansi2utf8code ['r'] = 114;
utf8code2ansi [114] = 'r';
ansi2utf8code ['s'] = 115;
utf8code2ansi [115] = 's';
ansi2utf8code ['t'] = 116;
utf8code2ansi [116] = 't';
ansi2utf8code ['u'] = 117;
utf8code2ansi [117] = 'u';
ansi2utf8code ['v'] = 118;
utf8code2ansi [118] = 'v';
ansi2utf8code ['w'] = 119;
utf8code2ansi [119] = 'w';
ansi2utf8code ['x'] = 120;
utf8code2ansi [120] = 'x';
ansi2utf8code ['y'] = 121;
utf8code2ansi [121] = 'y';
ansi2utf8code ['z'] = 122;
utf8code2ansi [122] = 'z';
ansi2utf8code ['%7B'] = 123;
utf8code2ansi [123] = '%7B';
ansi2utf8code ['%7C'] = 124;
utf8code2ansi [124] = '%7C';
ansi2utf8code ['%7D'] = 125;
utf8code2ansi [125] = '%7D';
ansi2utf8code ['%7E'] = 126;
utf8code2ansi [126] = '%7E';
ansi2utf8code ['%7F'] = 127;
utf8code2ansi [127] = '%7F';
ansi2utf8code ['%80'] = 1026;
utf8code2ansi [1026] = '%80';
ansi2utf8code ['%81'] = 1027;
utf8code2ansi [1027] = '%81';
ansi2utf8code ['%82'] = 8218;
utf8code2ansi [8218] = '%82';
ansi2utf8code ['%83'] = 1107;
utf8code2ansi [1107] = '%83';
ansi2utf8code ['%84'] = 8222;
utf8code2ansi [8222] = '%84';
ansi2utf8code ['%85'] = 8230;
utf8code2ansi [8230] = '%85';
ansi2utf8code ['%86'] = 8224;
utf8code2ansi [8224] = '%86';
ansi2utf8code ['%87'] = 8225;
utf8code2ansi [8225] = '%87';
ansi2utf8code ['%88'] = 8364;
utf8code2ansi [8364] = '%88';
ansi2utf8code ['%89'] = 8240;
utf8code2ansi [8240] = '%89';
ansi2utf8code ['%8A'] = 1033;
utf8code2ansi [1033] = '%8A';
ansi2utf8code ['%8B'] = 8249;
utf8code2ansi [8249] = '%8B';
ansi2utf8code ['%8C'] = 1034;
utf8code2ansi [1034] = '%8C';
ansi2utf8code ['%8D'] = 1036;
utf8code2ansi [1036] = '%8D';
ansi2utf8code ['%8E'] = 1035;
utf8code2ansi [1035] = '%8E';
ansi2utf8code ['%8F'] = 1039;
utf8code2ansi [1039] = '%8F';
ansi2utf8code ['%90'] = 1106;
utf8code2ansi [1106] = '%90';
ansi2utf8code ['%91'] = 8216;
utf8code2ansi [8216] = '%91';
ansi2utf8code ['%92'] = 8217;
utf8code2ansi [8217] = '%92';
ansi2utf8code ['%93'] = 8220;
utf8code2ansi [8220] = '%93';
ansi2utf8code ['%94'] = 8221;
utf8code2ansi [8221] = '%94';
ansi2utf8code ['%95'] = 8226;
utf8code2ansi [8226] = '%95';
ansi2utf8code ['%96'] = 8211;
utf8code2ansi [8211] = '%96';
ansi2utf8code ['%97'] = 8212;
utf8code2ansi [8212] = '%97';
ansi2utf8code ['%98'] = 63;
utf8code2ansi [63] = '%98';
ansi2utf8code ['%99'] = 8482;
utf8code2ansi [8482] = '%99';
ansi2utf8code ['%9A'] = 1113;
utf8code2ansi [1113] = '%9A';
ansi2utf8code ['%9B'] = 8250;
utf8code2ansi [8250] = '%9B';
ansi2utf8code ['%9C'] = 1114;
utf8code2ansi [1114] = '%9C';
ansi2utf8code ['%9D'] = 1116;
utf8code2ansi [1116] = '%9D';
ansi2utf8code ['%9E'] = 1115;
utf8code2ansi [1115] = '%9E';
ansi2utf8code ['%9F'] = 1119;
utf8code2ansi [1119] = '%9F';
ansi2utf8code ['%A1'] = 1038;
utf8code2ansi [1038] = '%A1';
ansi2utf8code ['%A2'] = 1118;
utf8code2ansi [1118] = '%A2';
ansi2utf8code ['%A3'] = 1032;
utf8code2ansi [1032] = '%A3';
ansi2utf8code ['%A4'] = 164;
utf8code2ansi [164] = '%A4';
ansi2utf8code ['%A5'] = 1168;
utf8code2ansi [1168] = '%A5';
ansi2utf8code ['%A6'] = 166;
utf8code2ansi [166] = '%A6';
ansi2utf8code ['%A7'] = 167;
utf8code2ansi [167] = '%A7';
ansi2utf8code ['%A8'] = 1025;
utf8code2ansi [1025] = '%A8';
ansi2utf8code ['%A9'] = 169;
utf8code2ansi [169] = '%A9';
ansi2utf8code ['%AA'] = 1028;
utf8code2ansi [1028] = '%AA';
ansi2utf8code ['%AB'] = 171;
utf8code2ansi [171] = '%AB';
ansi2utf8code ['%AC'] = 172;
utf8code2ansi [172] = '%AC';
ansi2utf8code ['%AD'] = 173;
utf8code2ansi [173] = '%AD';
ansi2utf8code ['%AE'] = 174;
utf8code2ansi [174] = '%AE';
ansi2utf8code ['%AF'] = 1031;
utf8code2ansi [1031] = '%AF';
ansi2utf8code ['%B0'] = 176;
utf8code2ansi [176] = '%B0';
ansi2utf8code ['%B1'] = 177;
utf8code2ansi [177] = '%B1';
ansi2utf8code ['%B2'] = 1030;
utf8code2ansi [1030] = '%B2';
ansi2utf8code ['%B3'] = 1110;
utf8code2ansi [1110] = '%B3';
ansi2utf8code ['%B4'] = 1169;
utf8code2ansi [1169] = '%B4';
ansi2utf8code ['%B5'] = 181;
utf8code2ansi [181] = '%B5';
ansi2utf8code ['%B6'] = 182;
utf8code2ansi [182] = '%B6';
ansi2utf8code ['%B7'] = 183;
utf8code2ansi [183] = '%B7';
ansi2utf8code ['%B8'] = 1105;
utf8code2ansi [1105] = '%B8';
ansi2utf8code ['%B9'] = 8470;
utf8code2ansi [8470] = '%B9';
ansi2utf8code ['%BA'] = 1108;
utf8code2ansi [1108] = '%BA';
ansi2utf8code ['%BB'] = 187;
utf8code2ansi [187] = '%BB';
ansi2utf8code ['%BC'] = 1112;
utf8code2ansi [1112] = '%BC';
ansi2utf8code ['%BD'] = 1029;
utf8code2ansi [1029] = '%BD';
ansi2utf8code ['%BE'] = 1109;
utf8code2ansi [1109] = '%BE';
ansi2utf8code ['%BF'] = 1111;
utf8code2ansi [1111] = '%BF';
ansi2utf8code ['%C0'] = 1040;
utf8code2ansi [1040] = '%C0';
ansi2utf8code ['%C1'] = 1041;
utf8code2ansi [1041] = '%C1';
ansi2utf8code ['%C2'] = 1042;
utf8code2ansi [1042] = '%C2';
ansi2utf8code ['%C3'] = 1043;
utf8code2ansi [1043] = '%C3';
ansi2utf8code ['%C4'] = 1044;
utf8code2ansi [1044] = '%C4';
ansi2utf8code ['%C5'] = 1045;
utf8code2ansi [1045] = '%C5';
ansi2utf8code ['%C6'] = 1046;
utf8code2ansi [1046] = '%C6';
ansi2utf8code ['%C7'] = 1047;
utf8code2ansi [1047] = '%C7';
ansi2utf8code ['%C8'] = 1048;
utf8code2ansi [1048] = '%C8';
ansi2utf8code ['%C9'] = 1049;
utf8code2ansi [1049] = '%C9';
ansi2utf8code ['%CA'] = 1050;
utf8code2ansi [1050] = '%CA';
ansi2utf8code ['%CB'] = 1051;
utf8code2ansi [1051] = '%CB';
ansi2utf8code ['%CC'] = 1052;
utf8code2ansi [1052] = '%CC';
ansi2utf8code ['%CD'] = 1053;
utf8code2ansi [1053] = '%CD';
ansi2utf8code ['%CE'] = 1054;
utf8code2ansi [1054] = '%CE';
ansi2utf8code ['%CF'] = 1055;
utf8code2ansi [1055] = '%CF';
ansi2utf8code ['%D0'] = 1056;
utf8code2ansi [1056] = '%D0';
ansi2utf8code ['%D1'] = 1057;
utf8code2ansi [1057] = '%D1';
ansi2utf8code ['%D2'] = 1058;
utf8code2ansi [1058] = '%D2';
ansi2utf8code ['%D3'] = 1059;
utf8code2ansi [1059] = '%D3';
ansi2utf8code ['%D4'] = 1060;
utf8code2ansi [1060] = '%D4';
ansi2utf8code ['%D5'] = 1061;
utf8code2ansi [1061] = '%D5';
ansi2utf8code ['%D6'] = 1062;
utf8code2ansi [1062] = '%D6';
ansi2utf8code ['%D7'] = 1063;
utf8code2ansi [1063] = '%D7';
ansi2utf8code ['%D8'] = 1064;
utf8code2ansi [1064] = '%D8';
ansi2utf8code ['%D9'] = 1065;
utf8code2ansi [1065] = '%D9';
ansi2utf8code ['%DA'] = 1066;
utf8code2ansi [1066] = '%DA';
ansi2utf8code ['%DB'] = 1067;
utf8code2ansi [1067] = '%DB';
ansi2utf8code ['%DC'] = 1068;
utf8code2ansi [1068] = '%DC';
ansi2utf8code ['%DD'] = 1069;
utf8code2ansi [1069] = '%DD';
ansi2utf8code ['%DE'] = 1070;
utf8code2ansi [1070] = '%DE';
ansi2utf8code ['%DF'] = 1071;
utf8code2ansi [1071] = '%DF';
ansi2utf8code ['%E0'] = 1072;
utf8code2ansi [1072] = '%E0';
ansi2utf8code ['%E1'] = 1073;
utf8code2ansi [1073] = '%E1';
ansi2utf8code ['%E2'] = 1074;
utf8code2ansi [1074] = '%E2';
ansi2utf8code ['%E3'] = 1075;
utf8code2ansi [1075] = '%E3';
ansi2utf8code ['%E4'] = 1076;
utf8code2ansi [1076] = '%E4';
ansi2utf8code ['%E5'] = 1077;
utf8code2ansi [1077] = '%E5';
ansi2utf8code ['%E6'] = 1078;
utf8code2ansi [1078] = '%E6';
ansi2utf8code ['%E7'] = 1079;
utf8code2ansi [1079] = '%E7';
ansi2utf8code ['%E8'] = 1080;
utf8code2ansi [1080] = '%E8';
ansi2utf8code ['%E9'] = 1081;
utf8code2ansi [1081] = '%E9';
ansi2utf8code ['%EA'] = 1082;
utf8code2ansi [1082] = '%EA';
ansi2utf8code ['%EB'] = 1083;
utf8code2ansi [1083] = '%EB';
ansi2utf8code ['%EC'] = 1084;
utf8code2ansi [1084] = '%EC';
ansi2utf8code ['%ED'] = 1085;
utf8code2ansi [1085] = '%ED';
ansi2utf8code ['%EE'] = 1086;
utf8code2ansi [1086] = '%EE';
ansi2utf8code ['%EF'] = 1087;
utf8code2ansi [1087] = '%EF';
ansi2utf8code ['%F0'] = 1088;
utf8code2ansi [1088] = '%F0';
ansi2utf8code ['%F1'] = 1089;
utf8code2ansi [1089] = '%F1';
ansi2utf8code ['%F2'] = 1090;
utf8code2ansi [1090] = '%F2';
ansi2utf8code ['%F3'] = 1091;
utf8code2ansi [1091] = '%F3';
ansi2utf8code ['%F4'] = 1092;
utf8code2ansi [1092] = '%F4';
ansi2utf8code ['%F5'] = 1093;
utf8code2ansi [1093] = '%F5';
ansi2utf8code ['%F6'] = 1094;
utf8code2ansi [1094] = '%F6';
ansi2utf8code ['%F7'] = 1095;
utf8code2ansi [1095] = '%F7';
ansi2utf8code ['%F8'] = 1096;
utf8code2ansi [1096] = '%F8';
ansi2utf8code ['%F9'] = 1097;
utf8code2ansi [1097] = '%F9';
ansi2utf8code ['%FA'] = 1098;
utf8code2ansi [1098] = '%FA';
ansi2utf8code ['%FB'] = 1099;
utf8code2ansi [1099] = '%FB';
ansi2utf8code ['%FC'] = 1100;
utf8code2ansi [1100] = '%FC';
ansi2utf8code ['%FD'] = 1101;
utf8code2ansi [1101] = '%FD';
ansi2utf8code ['%FE'] = 1102;
utf8code2ansi [1102] = '%FE';
ansi2utf8code ['%FF'] = 1103;
utf8code2ansi [1103] = '%FF';
function trr_UrlFullEncode ( string ) {
string = string.replace ( /\r\n/g, "\n" );
var enctext = '';
for ( var n = 0 ; n < string.length ; n++ ) {
var c = string.charCodeAt ( n );
if ( utf8code2ansi [c] )
enctext += utf8code2ansi [c];
}
return enctext;
}
function trr_UrlFullDecode ( enctext ) {
var string = '';
var encchar = '';
var inchar = false;
for ( var n = 0 ; n < enctext.length ; n++ ) {
var c = enctext.charAt ( n );
if ( inchar ) {
encchar += c;
if ( encchar.length == 3 )
inchar = false;
} else {
if ( c == '%' ) {
encchar = '%';
inchar = true;
} else {
encchar = c;
}
}
if ( !inchar ) {
var enckey = encchar [0] == '%' ? encchar.toUpperCase () : encchar;
if ( ansi2utf8code [enckey] ) {
string += String.fromCharCode ( ansi2utf8code [enckey] );
} else {
string += encchar;
}
}
}
return string;
}
function trr_SubmitSearchDataNewWindow ( params, page, hotel_name ) {
if ( params == null ) {
var qChild = trr_GetAgeQueryPart ();
var params =
'trr_depcity=' + trr_DepCity () +
'&trr_country=' + trr_CountryIndex ( null ) +
'&' + trr_MakeUrlArgFromDropDownVal ( 'trr_city[]' , 'trr_city[]' , '', true ) +
'&' + trr_MakeUrlArgFromDropDownVal ( 'trr_star[]' , 'trr_star[]' , '', true ) +
'&' + trr_MakeUrlArgFromDropDownVal ( 'trr_hotel[]', 'trr_hotel[]', '', true ) +
'&' + trr_MakeUrlArgFromDropDownVal ( 'trr_meal[]' , 'trr_meal[]' , '', true ) +
'&trr_dep=' + trr_GetDropdownVal ( 'trr_dep' , '' ) +
'&trr_plusmn=' + trr_GetTextboxVal ( 'trr_plusmn' , '' ) +
'&trr_days_f=' + trr_GetDropdownVal ( 'trr_days_f' , '' ) +
'&trr_days_t=' + trr_GetDropdownVal ( 'trr_days_t' , '' ) +
'&trr_accmd=' + trr_GetDropdownVal ( 'trr_accmd' , '' ) +
qChild +
'&trr_price_f=' + trr_UrlEncode ( trr_GetTextboxVal ( 'trr_price_f', '' ) ) +
'&trr_price_t=' + trr_UrlEncode ( trr_GetTextboxVal ( 'trr_price_t', '' ) ) +
'&trr_price_currency=' + trr_GetDropdownVal ( 'trr_price_currency', '' );/* +
'&trr_full_search=' + trr_GetCheckboxVal ( 'trr_full_search' , '0' );*/
}
if ( hotel_name != null ) {
params = params.replace ( /trr_hotel\[\d*\]=[^&]*/gi, '' );
params = params.replace ( /&{2,}/, '&' );
params += '&trr_hotel[]=' + trr_UrlEncode ( hotel_name );
}
if ( page != null )
params += '&page=' + page;
params += '&querydate=' + Date ();
url = "http://sun-ocean.ru/search.html#:tour_search/tours?" + params;
window.location=url;
// mealWnd = window.open ( url, 'TourSearch', '' );
//mealWnd.focus ();
}