function getQueryValue(key) {
	var queryString = window.location.search;
	queryString = queryString.substring(1);
	var arr1 = queryString.split("&");
	for (var i = 0; i < arr1.length; i++) {
		if (arr1[i].toString().substring(0,arr1[i].toString().indexOf("=")) == key)
			return arr1[i].toString().substring(arr1[i].toString().indexOf("=") + 1);
	}
	return null;
}

/*
	Adds query key and value from URL, for example:
	http://www.company.com/search.dbpx?q=text&b=mozilla
	setQueryValue("q", "another") returns "q=another&b=mozilla"
*/
function setQueryValue(key, value, qs) {
	var queryString = qs;
	var s = "";
	if (queryString && queryString != "?") {
		queryString = queryString.substring(1);
		var arr1 = queryString.split("&");
		var first = true;
		for (var i = 0; i < arr1.length; i++) {
			var k = arr1[i].toString().substring(0, arr1[i].toString().indexOf("="));
			var v = arr1[i].toString().substring(arr1[i].toString().indexOf("=") + 1);
			if (k != key) {
				if (!first)
					s += "&";
				s += k + "=" + v;
			}
			first = false;
		}
	}
	if (s)
		s += "&";
	s += key + "=" + value;
	return s;
}


function contact_data_qtip(selector, text){
	$(selector).qtip({
		content: text,
		style: { 
			classes: 'ui-tooltip-red'			
		},		
		position: {
			my: 'top center',				
			at: 'bottom center'
	    },
	    show: {
	    	ready: true
	    },
	    hide: {
	    	event: 'focus'
	    },
	    events: {
	    	show: function(){
	    		$(selector).addClass('red-border');
	    	},
	    	hide: function(){
	    		$(selector).removeClass('red-border');
	    		$('#contact-add-error-message').fadeOut();
	    	}
	    }
	    
	});	
}

$(function() {
	$('select[name="sort"]').change(function() {
		window.location.search = setQueryValue("sort", $(this).val(), window.location.search);
	});
	$('input[name="sort_dir"]').change(function() {
		window.location.search = setQueryValue("sort_dir", $(this).is(':checked') ? "1" : "", window.location.search);
	});

	$("#contact-city-input").attr("autocomplete", "off").autocomplete({
		url: "/index.php?mod=contacts&cmd=searchcities&ajax=1",
		sortResults: false,
		onItemSelect: function(item) {
			$("#contact-city-code").val(item.data[0]);
		}
	});
	$("#contact-region").change(function() {
		$("#ico-loading").show();
		$.post(
			"/index.php?mod=contacts",
			"cmd=cities&region=" + $(this).val() + "&ajax=1",
			function(data) {
				// populate cities combobox
				var options = "";
				if (data.success) {
					for (i in data.cities)
						options += '<option value="' + data.cities[i].id + '">' + data.cities[i].value + "</option>";
					$("#contact-city").html(options);
				} else {
					$.SaexPopup({
						message: data.message
					});
				}
				$("#ico-loading").hide();
			}
		);
	});
	$(".contact-add-element-button").click(function() {
		var el = $(this).parents(".top-container").find(".contact-repeatable-element");
		try {
			el.parent().find('select').sb().destroy();
		} catch(e) {}
		el.parent().append(el.html());
		el.parent().find("input:last").removeAttr('disabled');
		el.parent().find("select:last").removeAttr('disabled');
		el.parent().find("input:last").removeAttr('readonly');		
		el.parent().find("input:last").val('');
		try {			
			el.parent().find('select').sb({
				fixedWidth: false,
				selectboxClass: 'select_block_popup'
			});
		} catch(e) {}
		return false;
	});
	// fill ratio popup
	$(".fill-ratio-popup-close").click(function() {
		$(this).parents(".fill-ratio-popup").hide();
		return false;
	});
	$("#file_popup_hidden-1").customInputFile({
        filename: "#csv_file_text-1"
    });	
	$("#file_popup_show").live('click', function(){		
		$("#file_popup_hidden-1").trigger('click');
	});
	
	
	$('#sumbit-contact-data').click(function(){		
		var self = $(this);
		var form = self.parents('form');
		jQuery.ajax({
			type: 'POST',
			url: '/index.php?mod=contacts',
			data: form.serialize(),
			beforeSend: function() {self.attr('disabled','disabled')}, //don't click me more than 1 time!
			success: function(data) {
				self.removeAttr('disabled');
				if (data.success != 1) {					
					for (var i in data.error) {						
						if (typeof(data.error[i]) != 'object') {
							if (data.error[i] == true) {
								var obj = form.children().find('input[name="'+i+'"]');
								contact_data_qtip(obj,data.message[i]);
							}
						} else {
							for (var j in data.error[i]) {
								if (data.error[i][j] == true) {									
									var obj = form.children().find('input[name="'+i+'"]');
									$.each(obj, function(){																		
										if ($(this).val() == j)
											contact_data_qtip($(this), data.message[i][j]);
									});
								}
							}
							
						}
					}
					$('#contact-add-error-message').fadeIn();
				} else {
					window.location.href=data.location
				}
				self.removeAttr('disabled');
				return false;
			}
		});
	});
	
	$('#_branch_value').focusout(function(){
		var branch = document.getElementsByName('_branch[]').length;
		if (branch == 0)
			contact_data_qtip($(this), 'Не указана сфера деятельности компании');	
	});
});

