
 var hotelcabinet = new Object();
document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b' + cl + '\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes))
			retnode.push(elem[i]);
	}
	return retnode;
};

function beforeAjaxSucces(){
		$("#loading").show();
	}

function change_clear_search(prefix, id, arr) {
	if (!arr) {
		arr = ["search", "interest", "direction"];
	}
	for (var i = 0; i < arr.length; i++) {
		if (arr[i] === id) {
			document.getElementById(prefix + arr[i]).style.display = 'block';
			var elements = document.getElementsByClassName(arr[i] + 'Cls');
			for (var j = 0; j < elements.length; j++) {
				elements[j].disabled = false;
			}

		} else {
			var elements = document.getElementsByClassName(arr[i] + 'Cls');
			for (var j = 0; j < elements.length; j++) {
				elements[j].disabled = true;
			}
			document.getElementById(prefix + arr[i]).style.display = 'none';
		}
	}
}

function switchCity(id)	{
		document.forms.search_city.reset();
		document.forms.search_city['search[id_city]'].value=id;
		document.forms.search_city.submit();
}

function switchNoticesCities(id)	{
		document.forms.notices_city.reset();
		document.forms.notices_city['noticecity'].value=id;
		document.forms.notices_city.submit();
}
//test
function changePhotoTest(photo,folder)	{
	if (!folder){
		folder = 'hotel';
	}
		document.getElementById('hotelPhoto').src = '/images/'+folder+'/big/'+photo;
}

function shw_ddm(t) {
	if (document.getElementById(t).style.display == 'none') {
		document.getElementById(t).style.display = '';

	} else {
		document.getElementById(t).style.display = 'none';
	}
}
// TODO: hotel/user/ajaxvalidation change on user/ajaxvalidation
function validateLoginData()
{
	var login = document.getElementById("login_mail").value;
	var password = document.getElementById("login_password").value;
	$.post(
		'/hotel/user/ajaxvalidation', 
		{ login: login, password: password },
		function(data)
		{
	   		if (data == 1)
	   		{
	   			document.getElementById("login_form").submit();
	   		}
	   		else
	   		{
	   			document.getElementById("login_alert").style.display = 'block';
	   		}
		}
	);
}


function validateLoginDataStatic()
{
	var login = document.getElementById("login_mail_static").value;
	var password = document.getElementById("login_password_static").value;
	$.post(
		'/hotel/user/ajaxvalidation', 
		{ login: login, password: password },
		function(data)
		{
	   		if (data == 1)
	   		{
	   			document.getElementById("login_form_static").submit();
	   		}
	   		else
	   		{
				document.getElementById("login_alert_static").style.display = 'block';
	   		}
		}
	);
}

function validate(form) {	
				var form_data = $(form).serializeArray();
				
				var action_file = form.action;
				var  data =	$.ajax({
						   type: "POST",
						   url: action_file,
						   data: form_data,		   
						   dataType: "json",			  			   
						   beforeSend: beforeAjaxSucces,
						   async: false,
						   success: callback
						 });				
				
			}

function validateEdit(form) {	
	var form_data = $(form).serializeArray();
	
	var action_file = form.action;
	var  data =	$.ajax({
			   type: "POST",
			   url: action_file,
			   data: form_data,		   
			   dataType: "json",			  			   
			   beforeSend: beforeAjaxSucces,
			   async: false,
			   success: callbackEdit
			 });				
	
}

function validateRoom(form) {	
	var form_data = $(form).serializeArray();
	
	var action_file = form.action;
	var  data =	$.ajax({
			   type: "POST",
			   url: action_file,
			   data: form_data,		   
			   dataType: "json",			  			   
			   beforeSend: beforeAjaxSucces,
			   async: false,
			   success: callbackRoom
			 });				
	
}

function validateService(form) {	
	var form_data = $(form).serializeArray();
	
	var action_file = form.action;
	var  data =	$.ajax({
			   type: "POST",
			   url: action_file,
			   data: form_data,		   
			   dataType: "json",			  			   
			   beforeSend: beforeAjaxSucces,
			   async: false,
			   success: callbackService
			 });
	if (validation) form.submit();			
	
}


function validatePrices(form) {	
	var form_data = $(form).serializeArray();
	
	var action_file = form.action;
	var  data =	$.ajax({
			   type: "POST",
			   url: action_file,
			   data: form_data,		   
			   dataType: "json",			  			   
			   beforeSend: beforeAjaxSucces,
			   async: false,
			   success: callbackPrices
			 });				
	
}			

function callbackEdit(data){
	var errors = ["mail","phone_1","street"];
	$("#loading").hide();
	if (data.validation != 1){
		showErrors(data,errors);
		validation = false;		
	}else {
		if (data.url){
			window.location = data.url;
		}
	}	
}

function callbackRoom(data){
	var errors = ["price","name", "description"];
	$("#loading").hide();
	if (data.validation != 1){		
		showErrors(data,errors);
		validation = false;		
	}else {
		if (data.url){
			window.location = data.url;
		}			
	}	
}

function callbackService(data){
	var errors = ["name"];
	$("#loading").hide();
	if (data.validation != 1){		
		showErrors(data,errors);
		validation = false;		
	}else {
		validation = true;	
		$('#validation').val("1");			
	}	
}

function callbackPrices(data){
	var errors = ["_from","_to","price","time","period"];
	$("#loading").hide();
	if (data.validation != 1){		
		showErrors(data,errors);
		validation = false;		
		var divs = $("div.bad_period");
		divs.removeClass("bad_period");
		if (data.error.period){
			var array = $.evalJSON(data.error.period.comment);
			for (i =0; i<array.length; i++){
				$("#period_"+array[i]).addClass("bad_period");
			}
		}
	}else {
		if (data.url){
			window.location = data.url;
		}else{
			window.location.reload();
		}
	}	
}

function validateForget(form) {	
	var form_data = $(form).serializeArray();
	
	var action_file = form.action;
	var  data =	$.ajax({
			   type: "POST",
			   url: action_file,
			   data: form_data,		   
			   dataType: "json",			  			   
			   beforeSend: beforeAjaxSucces,
			   async: false,
			   success: callbackForget
			 });				
	
}

function callbackForget(data){
	var errors = ["error"];
	$("#loading").hide();
	if (data.validation != 1){		
		showErrors(data,errors);
		validation = false;		
	}else {
		$('#forget_body').hide();
		$('#forget_result').show();
	}	
}

function showErrors(data,errors){
    var located = false;
	for (x in errors){		
				if (data.error[errors[x]])	{								
						$('#'+errors[x]+'_error').text(data.error[errors[x]]['comment']);
						$('#'+errors[x]+'_error').show();						
						$('#'+errors[x]+'_label').addClass('ErrorMessage');	
						if (!located) {
							window.location = '#'+errors[x]+'_a';
							located = true;
						}
					}else{
						$('#'+errors[x]+'_error').text("");
						$('#'+errors[x]+'_error').hide();								
						$('#'+errors[x]+'_label').removeClass('ErrorMessage');	
					}		
				}		
}
function changePhoneCode(id){
		$.post(
		'/ajax/ajaxphonecode', 
		{ country_id: id },
		function(data)
		{	
			$('#code_1').val(data);
			$('#code_2').val(data);
		}		
	);
}
function syncDurPrice(){
	var from = $('#_from').val();
	var to = $('#_to').val();
	if (from && to && to>from){
		var period = (to-from)/86400;
		$('#period')[0].innerHTML = period;
		$('#price')[0].innerHTML = period*parseFloat($('#rprice').val());
	}else{
		$('#period')[0].innerHTML = 0;
		$('#price')[0].innerHTML = 0;
	}
	
}
function fireSubmitEvent(control) {
	$(control).trigger("submit");
}

function ajaxReloadCombo(master, params, showEmpty) {
	if (master.selectedIndex > -1) {
		for (el in params) {
			$.ajax({
			   type: "POST",
			   url: params[el],
			   data: {id : master.options[master.selectedIndex].value,o : el},		   
			   dataType: "json",			  			   
			   async: false,
			   success: function(data){
					var el = document.getElementById(data[0]);		
					el.length = 0;
					setOptions(el, data[1], showEmpty);
				}
			 });
		}
	}
}

function setOptions(el, data, showEmpty) {
	function addOption(dom, text, value) {
		var oOption = document.createElement("option");
		oOption.appendChild(document.createTextNode(text));
		oOption.setAttribute("value", value);
		dom.appendChild(oOption);
	}

	if (showEmpty) {
		addOption(el, showEmpty, 0);
	}
	for (i = 0; i < data.length; i++) {
		addOption(el, data[i][1], data[i][0]);
	}
	fireChangeEvent(el);
}
function fireChangeEvent(control) {
	if (document.createEvent) {
		var e = document.createEvent('HTMLEvents');
		e.initEvent('change', true, false);
		control.dispatchEvent(e);
	} else if (document.createEventObject) {
		control.fireEvent("onchange");
	}
}
function fireClickEvent(control) {
	if (document.createEvent) {
		var e = document.createEvent('MouseEvents');
		e.initEvent('click', true, true);
		control.dispatchEvent(e);
	} else if (document.createEventObject) {
		control.fireEvent("onclick");
	}
}


// Определение позиции курсора мыши
if (navigator.appName.indexOf("Microsoft Internet Explorer") != -1) IE = true;
else IE = false;

function getMouseXY(e) 
{
	if (IE) 
	{
		tempX = event.clientX + document.getElementById("cHTML").scrollLeft;
		tempY = event.clientY + document.getElementById("cHTML").scrollTop;
	} 
	else
	{
		tempX = e.pageX;
		tempY = e.pageY;
	}
	if (tempX < 0){tempX = 0}
	if (tempY < 0){tempY = 0}
	l = tempX;
	t = tempY;
	return true;
}

function getMouseXY_modify(e) 
{
	if (IE) 
	{
		tempX = event.clientX + document.getElementById("cHTML").scrollLeft-100;
		tempY = event.clientY + document.getElementById("cHTML").scrollTop;
	} 
	else
	{
		tempX = e.pageX-100;
		tempY = e.pageY;
	}
	if (tempX < 0){tempX = 0}
	if (tempY < 0){tempY = 0}
	l = tempX;
	t = tempY;
	return true;
}

function printWindow(location)
{
	window.open(location ,"mywindow","menubar=0,resizable=1,scrollbars=1,width=950,height=650");
}

function openCommentForm(id)
{
	var mail_div = document.getElementById(id);
	mail_div.style.top = screen_height / 2 + document.getElementById("cHTML").scrollTop - 150 + 'px';
	mail_div.style.left = screen_width / 2 + document.getElementById("cHTML").scrollLeft / 2 - 100 + 'px';
	toogle(id);
}

var screen_width = 0, screen_height = 0; 
function findDimensions()
{
  	if(window.innerWidth)
	{ 
	    screen_width = window.innerWidth; 
	    screen_height = window.innerHeight; 
	} 
	else if(document.documentElement && document.documentElement.clientWidth)
	{ 
	    screen_width = document.documentElement.clientWidth; 
	    screen_height = document.documentElement.clientHeight; 
	} 
	else if(document.body && document.body.clientWidth)
	{ 
	    screen_width = document.body.clientWidth; 
	    screen_height = document.body.clientHeight; screen.width
	} 
	else if(IE)
	{ 
	    screen_width = screen.width; 
	    screen_height = document.body.clientHeight; screen.width
	}
} 

findDimensions();
function toogle(id)
	{
		var el = document.getElementById(id);
		if (el.style.display == 'none') el.style.display = 'block';
		else if (el.style.display == 'block') el.style.display = 'none';
	}
	
function sendLink(form) {	
	var form_data = $(form).serializeArray();
	var action_file = form.action;
	var  data =	$.ajax({
			   type: "POST",
			   url: action_file,
			   data: form_data,		   
			   dataType: "json",			  			   
			   beforeSend: beforeAjaxSucces,
			   async: false,
			   success: function (data){ if (data == '1'){toogle('mail_link_div');} $("#loading").hide();}
			 });				
	
}
	
function sendComment(form) {	
	var form_data = $(form).serializeArray();
	var action_file = form.action;
	var  data =	$.ajax({
			   type: "POST",
			   url: action_file,
			   data: form_data,		   
			   dataType: "json",			  			   
			   beforeSend: beforeAjaxSucces,
			   async: false,
			   success: function (data){ if (data == '1'){toogle('send_comment_div');window.location.reload(); } $("#loading").hide();}
			 });				
	
}

function submit_feedbackform(user)
{	
	document.getElementById("_text_error").style.display = 'none';
	var error = 0
	if (!user){
		document.getElementById("name_error").style.display = 'none';
		document.getElementById("mail_error").style.display = 'none';
		if (document.getElementById("name").value == '')
		{
			document.getElementById("name_error").style.display = 'block';
			error++;
		}
		if (document.getElementById("mail").value == '')
		{
			document.getElementById("mail_error").style.display = 'block';
			error++;
		}
	}
	if (document.getElementById("_text").value == '')
	{
		document.getElementById("_text_error").style.display = 'block';
		error++;
	}
	if (error == 0) 
		document.feedback_form.submit();
}
function showHint(id) {

	var div = document.getElementById(id+'_hint');
	
	if ($('#'+id+'_error'))
		$('#'+id+'_error').hide();
		
	if (div.style.display == 'none')
		div.style.display = 'block';
	else if (div.style.display == 'block') 
		div.style.display = 'none';		
}

function ChangeRegister() {
 	$("#register_info_block").toggle();
	$("#confirm_pass_tr").toggle();
}

var previous_tab = 'lang_1';

function showTab(obj){

	$("#"+previous_tab).toggleClass('active');
	$("#"+previous_tab+"_input").hide();
	$("#"+previous_tab+"_text").hide();
	
	var id = $(obj).attr("id");
	$(obj).toggleClass("active");
	$('#'+id+'_input').show();
	$('#'+id+'_text').show();
	previous_tab = id;
}

function vipCollapse(elem,first){
	var inputs = $('#'+elem.id+'_div input, #'+elem.id+'_div select, #'+elem.id+'_div textarea');
	inputs.each(function(i, el) {	
			el.disabled = !elem.checked;
	});
	if (!first || first && elem.checked){
		toogle(elem.id+'_div');
	}
}
function openDetailOffer(id)
{
	var offer_tr = document.getElementById("offer_"+id);
	var detail_tr = document.getElementById("detail_"+id);
	var arrow = document.getElementById("arrow_"+id);
	
	if (detail_tr.style.display == 'none')
	{
		detail_tr.style.display = 'block'
		
	}
	else if (detail_tr.style.display == 'block')
	{
		detail_tr.style.display = 'none'
		
	}	
}
function openWindow(location, width, height)
{
	window.open(location ,"mywindow","menubar=0,resizable=1,scrollbars=1,width="+width+",height="+height);
}

function switchFormType(type)
{
	var field_id = document.getElementById("search_id");
	var field_fields = document.getElementById("search_fields");
	var field_field = document.getElementById("search_field");
	var field_date = document.getElementById("search_date");
	
	var cal_from_vis = document.getElementById("date_from_visible");
	var cal_from_hid = document.getElementById("date_from");
	var cal_from_trig = document.getElementById("date_from_trigger");
	var cal_to_vis = document.getElementById("date_to_visible");
	var cal_to_hid = document.getElementById("date_to");
	var cal_to_trig = document.getElementById("date_to_trigger");
	
	if (type == 'general')
	{
		field_id.disabled = true;
		field_fields.disabled = false;
		field_date.disabled = false;
		field_field.disabled = false;
		cal_from_vis.disabled = false;
		cal_from_hid.disabled = false;
		cal_from_trig.disabled = false;
		cal_to_vis.disabled = false;
		cal_to_hid.disabled = false;
		cal_to_trig.disabled = false;
	}
	else if (type == 'id')
	{
		field_id.disabled = false;
		field_fields.disabled = true;
		field_field.disabled = true;
		field_date.disabled = true;
		cal_from_vis.disabled = true;
		cal_from_hid.disabled = true;
		cal_from_trig.disabled = true;
		cal_to_vis.disabled = true;
		cal_to_hid.disabled = true;
		cal_to_trig.disabled = true;
	}
}

function showPriceRange(id, day_count)
{
	var price_container = document.createElement("div");
	document.body.appendChild(price_container);
	var price_div = document.getElementById("price_range_div_"+id);
//	var inner = document.createTextNode(price_div.innerHTML);
//	price_div.style.display = 'block';
	price_container.style.position = 'absolute';
	price_container.style.top = tempY+"px";
	var left_shift = (day_count <= 10 ? 38 * day_count : 100);
	price_container.style.left = (tempX - left_shift)+"px";
	price_container.setAttribute('id', 'price_range_div');
	price_container.innerHTML = price_div.innerHTML;
//	price_container.style.display = 'block';
}

function hidePriceRange(id)
{
	var price_container = document.getElementById("price_range_div");
	document.body.removeChild(price_container);
}

/*
var timeOffset = 0;
function calcTime(time) {

    // create Date object for current location
    d = new Date();
   
    // convert to msec
    // add local time zone offset
    // get UTC time in msec
    utc = time + ((d.getTimezoneOffset()) * 60000);
   
    // create new Date object for different city
    // using supplied offset
    nd = new Date(utc + (3600000*timeOffset));
   
    // return time as a string
    return nd.getTime();

}
*/