﻿//where tab
function getCity() {
  var value = $("#b_tab1_from_city").val();
  return (value == 'NULL') ? '' : value;
}

function getCountry() {
  var value = $("#b_tab1_to").val();
  return (value == 0) ? '' : value;
}

function getResort() {
  var value = $("#b_tab1_resort").val();
  return (value == 0) ? '' : value;
}

// when tab
function getDepartDate() {
  // date format yyyy-MM-dd
  var re = /(^((0[1-9])|([12][0-9])|(3[01])).((0[1-9])|(1[0-2])).([0-9][0-9][0-9][0-9])$)/g;
  var value = $("#b_tab2_dep_date").val();
  if(!value.match(re)) {
    return "";
  } else {
    var tmp = value.split(".");
    var d = tmp[0];
    var m = tmp[1];
    var y = tmp[2];
    tmp = y + m + d;
    return tmp;
  }
}

// who tab
function getAdults() {
  var i = 2;
  var items = $("#j_tab3_adults_buttons > div > ul > li > span");
  for (var j=0; j<items.length; j++) {
    if ($(items[j]).hasClass("active")){
      i = $(items[j]).children("a").children("em").text();
    }
  }
  return i;
}

function getChildren() {
  var res = "";
  var items = $("#j_tab3_kids_buttons > div > div.values > input");
  for (var j=0; j<items.length; j++) {
    res = res.concat($(items[j]).val()).concat(',');
  }
  return res.substr(0, res.length-1);
}

function doToursSearch() {
  var form = document.forms['form_search_tours'];

  // where tab
  form.elements['searchCriteria.fromCityCode'].value = getCity();
  form.elements['searchCriteria.toCountryCode'].value = getCountry();
  form.elements['searchCriteria.toResortIdUi'].value = getResort();
  form.elements['searchCriteria.hotelCategoryMinRank'].value = $("#j_hotel_slider_value_0").val();
  form.elements['searchCriteria.hotelCategoryMaxRank'].value = $("#j_hotel_slider_value_1").val();

  // when
  form.elements['searchCriteria.departureDate'].value = getDepartDate();
  form.elements['searchCriteria.departureDateVariants'].value = $("#b_tab2_dep_var").val();
  form.elements['searchCriteria.numNights'].value = $("#b_tab2_nights").val();
  form.elements['searchCriteria.numNightsVariants'].value = $("#b_tab2_nights_var").val();

  // who tab
  form.elements['searchCriteria.numAdults'].value = getAdults();
  form.elements['searchCriteria.childrenAgesUi'].value = getChildren();
  form.elements['searchCriteria.minPriceUi'].value = $("#j_price_slider_value_0").val();
  form.elements['searchCriteria.maxPriceUi'].value = $("#j_price_slider_value_1").val();

  form.submit();
  return false;
}

function doAdvancedHotelsSearch() {
  var data = {};

  data["searchCriteria.hotelName"] = $("#j_hotel_name").val().trim();
  data["searchCriteria.hotelCategoryMinRank"] = $("#j_hotel_slider_value_0").val();
  data["searchCriteria.hotelCategoryMaxRank"] = $("#j_hotel_slider_value_1").val();

  $("#meal_codes input:checked").each(function(i){
    data["checkedMeals[" + i + "]"] = $(this).val();
  });
  $("#leisure_types input:checked").each(function(i){
    data["checkedLeisure[" + i + "]"] = $(this).val();
  });
  $("#sports input:checked").each(function(i){
    data["checkedSports[" + i + "]"] = $(this).val();
  });
  $("#children_codes input:checked").each(function(i){
    data["checkedChildren[" + i + "]"] = $(this).val();
  });
  $("#infra_codes input:checked").each(function(i){
    data["checkedInfrastructure[" + i + "]"] = $(this).val();
  });
  data["currentPage"] = 1;

  iTravel.getAJAXContent("/hotelInfo!advancedSearch.action", "#hotelsList", "POST", data);
  $("#j_map_3").html('');
  return false;
}

/**
 * Nataliya_Niakhai function for login form validation
 */
function resortSubmitForm(formName) {
  var resortValue = $('#searchResortName').val().trim();
  $("#j_search_resort_error").hide();
  if (resortValue == '' || $('#searchResortName').hasClass('example')) {
    $("#resortErrorMessage").show();
    return false;
  } else {
    $("#resortErrorMessage").hide();
    iTravel.getAJAXContent("/resortByName.action", "#j_search_resort_error", "POST",
      {searchResortName:resortValue});
  }
}

function hotelSubmitForm(formName) {
  var hotelValue = $('#searchHotelName').val().trim();
  if (hotelValue == '' || $('#searchHotelName').hasClass('example')) {
    $("#hotelErrorMessage").show();
    return false;
  } else {
    $("#hotelErrorMessage").hide();
    iTravel.getAJAXContent("/hotelByName.action", "#j_search_hotel_error",
      "POST", {searchHotelName:hotelValue});
  }
}

function showEmptyFields()
{
  $(".inaccessible").show();
  $("#showFields > span").addClass("active");
  $("#hideFields > span").removeClass("active");
}

function hideEmptyFields()
{
  $(".inaccessible").hide();
  $("#showFields > span").removeClass("active");
  $("#hideFields > span").addClass("active");
}

/**
 * Nataliya_Niakhai Show blocks for non-logged/logged users.
 */
function showLoggedBlocks(data) {
	var userLogged=data.userLogged;
	var userFirstName=data.userFirstName;
  if (typeof (userLogged) == "undefined") {
    return;
  }

  if (userLogged != null && userLogged) {
    $("#logged_username").html(userFirstName);
    $(".l-header .logged-only").show();
    $(".l-tabs .logged-only").show();
    $(".l-left-col .logged-only").show();
    $(".l-right-col .logged-only").show();
  } else {
    $(".l-header .non-logged-only").show();
    $(".l-tabs .non-logged-only").show();
    $(".l-left-col .non-logged-only").show();
  }
}

function initKeypress() {

}

var iTravelUtils = {
  showSocialCount : function (data) {
    $(document).ready(function(){
      iTravel.getAJAXContent("/GetSocialCount!"+data.method+".action", "#null", "POST", data);
    });
  },

  myQuestions : {
    suggest : function() {
      $(document).ready(function() {
        iTravel.getAJAXContent("/myQuestions!suggest.action", "#j_new_question", "POST", {}, function(){
          $("#j_new_question").dialog({height:"auto",modal:true,autoOpen:false,autoResize:true,bgiframe:true,width:702,dialogClass:"b-popup-detail",position: 'top',close: function(event,ui) {iTravel.fullPopupDestroy("j_new_question");}});
          $("#j_new_question").dialog('open');
        });
      });
    },

    del : function (data) {
      var decision = confirm(localization.ru.delete_question_confirm);
      if (decision) {
        iTravel.getAJAXContent("/myQuestions!delete.action","#j_questions_block","POST",data);
      }
    },

    edit : function (data) {
      iTravelSocial.showQuestionPopup(data);
    }
  },

  cabinet : {
    send : function (data) {
	  $(document).ready(function() {  
	    iTravel.getAJAXContent("/secure/sendDocumentsToEmail.action","#j_sendDocumentsToEmail_popup","POST",data,
        function(){
            $("#j_sendDocumentsToEmail_popup").dialog({height:"auto",modal:true,autoOpen:false,autoResize:true,bgiframe:true,width:465,dialogClass:"b-popup-detail",position: 'center'});
            $("#j_sendDocumentsToEmail_popup").dialog('open');
        });
      });
    },

	sendDocResult : function (data) {
 	   iTravel.getAJAXContent("/secure/sendDocumentsToEmail.action","#j_senddoc_result","POST",data);
 	},

    printDocs: function (data) {
      $(document).ready(function() {
        iTravel.getAJAXContent("/secure/PrintDocs.action","#j_print_popup","POST",data,
        function(){
          $("#j_print_popup").dialog({height:"auto",modal:true,autoOpen:false,autoResize:true,bgiframe:true,width:465,dialogClass:"b-popup-detail",position: 'top'});
          $("#j_print_popup").dialog('open');
        });
      });
    }
  },

  photos : {
    bindHover : function () {
	  $('div.b-photo-link').hover(function () { if (!$(this).hasClass("loaded")) {$(this).removeClass('add-img-controls').addClass('b-photo-link-hover');}}, function () {$(this).removeClass('b-photo-link-hover')});
    },

	showAddPhotosPopup : function (data) {
        iTravelSocial.getAJAXPopup("/AddPhotos.action", "#j_new_photos", "#j_new_photos_inner", "POST", data);
    },

    upload : function (o) {
        $input = $(o);
          if ( $input.val().length > 0 ) {
            $input.unbind().closest("a").addClass("active");
            $input.closest("form").submit();
            $input.closest("div.b-photo-link").removeClass('b-photo-link-hover').html("<span class='loading'>"+localization.ru.imageLoading+" <img src='/images/ajax.gif' alt='"+localization.ru.imageLoadingAlt+"' /></span>");
          }
    },

    rotate : function (_ctrl) {
	  $ctrl = $(_ctrl, top.document);
      $ctrl.find("span.rotate-img").click(function(){
        var rotateAction = '';
        if ($(this).hasClass("rotate-left")) {
          rotateAction = '/UploadPhoto!rotateLeft.action';
        } else if ($(this).hasClass("rotate-right")) {
          rotateAction = '/UploadPhoto!rotateRight.action';
        }
		var $imageForm = $(this).parents('div.b-photo-link:first').find('form');
        $imageForm.attr('action', rotateAction);
        $imageForm.submit();
        $imageForm.parent().html("<span class='loading'>"+localization.ru.imageLoading+" <img src='/images/ajax.gif' alt='"+localization.ru.imageLoadingAlt+"' /></span>");
      });
	  $ctrl.find("a.image-delete").click(function(){
        var deleteAction = '/UploadPhoto!delete.action';
		var $imageForm = $(this).parents('div.b-photo-link:first').find('form');
        $imageForm.attr('action', deleteAction);
        $imageForm.submit();
        $imageForm.parent().html("<span class='loading'>"+localization.ru.imageDeleting+" <img src='/images/ajax.gif' alt='"+localization.ru.imageDeletingAlt+"' /></span>");
      });
	  $ctrl.find('div.chapter').eq(0).hover(
		function() {
			var $wrap = $(this);
			$wrap.addClass('chapter-hover');
			$wrap.find('> ul a').click(function () {
				//$wrap.parents('div.b-photo-link:first').addClass('add-img-controls');
				$wrap.find('a.choose-chapter-link').text($(this).text());
				var $imageDiv = $wrap.parents('div.b-photo-link.add-img:first');
				$imageDiv.find("input[name='filenameCategory']").attr('value', $(this).attr('name'));
				$wrap.removeClass('chapter-hover');
				return false;
			});
		},
		function() {
			$(this).removeClass('chapter-hover');
		}
	  );
	  $ctrl.find('a.image-delete').eq(0).hover(
		function() {
			$(this).find('> span').addClass('active');
		},
		function() {
			$(this).find('> span').removeClass('active');
		}
	  );
    }
  },
  
  video : {
	createPlayer : function (video_id, width, height) {
		var paramList = { allowScriptAccess: "always", allowfullscreen: "true" };
		var atts = { id: "myytplayer" };
		swfobject.embedSWF("http://www.youtube.com/v/"+video_id+"?enablejsapi=1&playerapiid=ytplayer&autoplay=1&rel=0showinfo=0&showsearch=0&fs=1", 
	        "ytapiplayer", width, height, "9", null, null, paramList, atts);
		var wrap = document.getElementById('playerWrapper');
		wrap.style.width = width + 'px';
		wrap.style.height = height + 'px';
	},
  	init : function () {
		var query = location.search.substring(1);
		if (query.length > 0) {
	        var params = query.split("&");
			iTravelUtils.video.initParam(params[0].split("=")[1], params[1].split("=")[1], params[2].split("=")[1], params[3].split("=")[1]);
		}
    },
	initParam : function (index, video_id, width, height) {
        var $ctrl = $(".l-info-home .b-adv-large");
		$ctrl.find("h2[index='"+index+"']").show();
		iTravelUtils.video.createPlayer(video_id, width, height);
		$ctrl.show();
    },
	show : function (index, video_id, width, height) {
		var player = document.getElementById('myytplayer');
		if (player) {
			player.stopVideo();
			player.cueVideoById(video_id, 0, "default");
			$(".l-info-home .b-adv-large h2").hide();
			$(".l-info-home .b-adv-large h2[index='"+index+"']").show();
			$("#myytplayer").attr("width", width).attr("height", height);
			var wrap = document.getElementById('playerWrapper');
			wrap.style.width = width + 'px';
			wrap.style.height = height + 'px';
			setTimeout(function() { player.playVideo(); }, 500 );
		} else {
			iTravelUtils.video.initParam(index, video_id, width, height);
		}
    }
  }
};

function promoSubmit() {
	return false;
}
