var wasChanged = 0;

function confirmExit() {
	if(wasChanged) {
		return 'Вы не сохранили изменения.'+"\n"+'Если вы покинете страницу то изменения не будут сохранены.';
	}
}

function cancelMainSettings(elem) {
	jQuery(elem).parent().parent().hide();
}

function showMainSettings(e) {
	e.preventDefault();
	$(this).addClass('good');
	var vbox = $(this).prev();
	
	vbox.css({
		right: 0,
		top: 0 
	}).show();
	
	jQuery('.box-settings input.ok').attr('disabled', '');
} 

function saveMainSettings(elem) {
	jQuery(elem).attr('disabled', 'disabled');
	
	wasChanged = 1;
	var cnt = jQuery('#select_count').val();

	affectChanges();
	
	jQuery('#items_count').val(cnt);
	jQuery('.box h2 a').html(cnt);
	maxItems = cnt;
	
	while (jQuery('#main_list li').length > cnt) {
		jQuery('#main_list li:last').clone().prependTo('#other_list');
		jQuery('#main_list li:last').remove();
	}
	jQuery('ul#other_list>li').tsort({order:'asc',attr:'rel'});
}
	
function in_array(what, where) {

    var a=false;
    for(var i=0; i<where.length; i++) {
        if(what == where[i]) {
            a=true;
            break;
        }
    }
    return a;
}

	
function initMainReorder() {
	var prevPos = '';

	jQuery(".hedit").click(showMainSettings);
	jQuery('.edit-counter').click(function(e) {
		e.preventDefault();
		jQuery(this).parent().prev().click();
	});

	window.onbeforeunload = confirmExit;

	jQuery(function() {
		jQuery("#main_list, #other_list").sortable({
			connectWith: '.orderable',
			start : function(event, ui) {
				prevPos = ui.item.parent().is('.uother')?'other':'main';
			},
			stop : function(event, ui) {
				wasChanged = 1;
				affectChanges();
				var curPos = ui.item.parent().is('.uother')?'other':'main';
				if(curPos == 'main' && prevPos == 'other' && jQuery('#main_list li').length > maxItems) {
					// preventing more then allowed
					return false;
				}
				if(curPos == 'other' && prevPos == 'other') {
					// preventing dragging in other list
					return false;
				}
				jQuery('ul#other_list>li').tsort({order:'asc',attr:'rel'});
			}
		}).disableSelection();
	});
}

function initGroupReorder() {
	window.onbeforeunload = confirmExit;

	jQuery(function() {
		jQuery(".orderable").sortable({
			connectWith: '.orderable',
			stop : function(event, ui) {
				wasChanged = 1;
			}
		}).disableSelection();
	});
}

function initReorder() {
	window.onbeforeunload = confirmExit;

	jQuery(function() {
		jQuery(".orderable").sortable({
			stop : function(event, ui) {
				wasChanged = 1;
			}
		}).disableSelection();
	});
}

function doLoadCities(self, city_id, cur_id) {
	var city = jQuery('select[name='+city_id+']');
	city.attr('disabled','disabled');
	var cur_id = cur_id == undefined? 0 : cur_id;
	
	jQuery.getJSON('/ajax/?action=load-cities', {id: jQuery(self).val(), name:city_id, cur_id : cur_id}, function(data) {
		if(data.id > 0) {
			//alert(1);
			city.attr('disabled','').replaceWith(data.html);
			if(cur_id > 0) {
				//jQuery('select[name='+city_id+']').attr('disabled','disabled');
			}
		} else {
			alert('Произошла ошибка при загрузке списка городов!');
		}
	});
}

function getParams(elem) {
	var params = '';
	jQuery('input, select', elem).each(function(){
		var self = jQuery(this);
		if(self.attr('name') != '') {
			params += '&'+self.attr('name')+'='+(self.is(':checkbox')?(self.is(':checked')?1:0):self.val());
		}
	});
	return params;
}

function saveForm(elem, shop_spin) {
	var shop_spin = shop_spin==undefined?true:shop_spin;
	if(shop_spin) jQuery(elem).after('<img class="wait" src="/img/nphoto/waiting.gif" alt="" class="form-save" />');
	jQuery(elem).attr('disabled','disabled');
	elem.form.submit();
	return true;
}

function getInfo() {
	var str = '';

	if(navigator.appCodeName) str += '&appCodeName='+navigator.appCodeName;
	if(navigator.appName) str += '&appName='+navigator.appName;
	if(navigator.appVersion) str += '&appVersion='+navigator.appVersion;
	if(navigator.userAgent) str += '&userAgent='+navigator.userAgent;
	
	if(jQuery('#info')) {	
		jQuery('#info').val(str);
	}
}

function initAutoComplete() {
	jQuery('.auto-suggest .btn-cancel').click(function(e){
		e.preventDefault();
		var num = jQuery(this).parent().attr('rel');
		jQuery('.auto-suggest[rel='+num+'] .field-id').val('');
		jQuery('.auto-suggest[rel='+num+'] .field-name').attr('disabled','').val('').focus();
		jQuery('.auto-suggest[rel='+num+'] .btn-search').show();
		jQuery(this).hide();
	});
	
	jQuery('.auto-suggest .field-name').autocomplete('/ajax/', {
		extraParams : { action: 'search', win: 1, text: 1 },
		autoType : true,
		minChars : 2,
		formatItem : function(row, i, num) {
			return row[0];
		},
		onItemSelect : function(li, input) {
			var num = input.parent().attr('rel');
			var sValue = 0;
			if( li == null )
				sValue = 0;
			else {
				if( !!li.extra ) sValue = li.extra[0];
					else sValue = li.selectValue;
			}
			if(parseInt(sValue) > 0) {
				jQuery('.auto-suggest[rel='+num+'] .field-id').val(sValue);
				jQuery('.auto-suggest[rel='+num+'] .field-name').attr('disabled','disabled');
				jQuery('.auto-suggest[rel='+num+'] .btn-cancel').show();
				jQuery('.auto-suggest[rel='+num+'] .btn-search').hide();
			}
		}
	});
}

