function clearCookie(){var now = new Date();var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24);this.setCookie('co'+this.obj, 'cookieValue', yesterday);this.setCookie('cs'+this.obj, 'cookieValue', yesterday);};
function setCookie(cookieName, cookieValue, expires, path, domain, secure){document.cookie=escape(cookieName) + '=' + escape(cookieValue)+(expires ? '; expires=' + expires.toGMTString() : '')+(path ? '; path=' + path : '')+(domain ? '; domain=' + domain : '')+(secure ? '; secure' : '');};
function getCookie (cookieName){var cookieValue = '';var posName = document.cookie.indexOf(escape(cookieName) + '=');if (posName != -1) {var posValue = posName + (escape(cookieName) + '=').length;var endPos = document.cookie.indexOf(';', posValue);if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos));else cookieValue = unescape(document.cookie.substring(posValue));}return (cookieValue);};
function __() { try { console.log(__.caller, arguments); } catch (e) {} }

var callbacks = {
	your_cost_success: function(data, $form) { $form.before("<p>Ваша заявка принята, спасибо.</p>"); $form.slideUp(); },
	default_success: function(data, $form) { $form.hide(); },
	default_error: function(data, $form) {
		if (data.result == 'error-captcha') {
			alert("Не правильно введен код.");
			$form.find(".captcha").focus().parent().addClass("input-error");
		}
		else{
			__(default_error, data);
		}
	}
};
var site = {
	global: {
		init: function() {
			
			$('form.validate').validate();
			
			//	Ajax
			$("form.ajax").submit(function(){
				if (!$(this).hasClass('xv-valid'))
					return false;
				$form = $(this);
				
				var callback_prefix = $form.attr('id').replace(/-/g, '_'); 
				$.ajax({
					type: $form.attr('method'),
					dataType: 'json',
					url: $form.attr('action') ? $form.attr('action') : './',
					data: $form.serialize(),
					success: function(data){
						if (data) {
							if (!data.success) {
								//alert( data, callback_prefix+'_error' );
								callbacks[callback_prefix + '_error'] ? callbacks[callback_prefix + '_error'](data, $form) : callbacks['default_error'](data, $form);
							}
							else {
								//alert( callback_prefix+'_success' );
								callbacks[callback_prefix + '_success'] ? callbacks[callback_prefix + '_success'](data, $form) : callbacks['default_success'](data, $form);
							}
						}
					}
				});
				return false;
			});
			
			site.show_photo();
			$("#menu li.menu-item_holder").hover(function(){
				$(this).addClass("menu-item-current");
				$(this).find("ul.submenu").show();			
			},
			function(){
				$(this).removeClass("menu-item-current");
				$(this).find("ul.submenu").hide();
			});
			$(".fix-ei-bugs").mouseout(function(){
				$(this).css({"background":"#f98f36"});
			});
			$(".fix-ei-bugs").mouseover(function(){
				$(this).css({"background":"#f98f36"});
			});
			
			$('.images-hovers img').hover(function(){
				
				var $img = $(this);
				var old_src = $img.attr('src').toString();
				$img.attr('src', old_src.replace('default', 'selected'));
				
			}, function(){
				
				var $img = $(this);
				var old_src = $img.attr('src').toString();
				$img.attr('src', old_src.replace('selected', 'default'));
				
			});
			
			var sb_current_id = 0;
			var $sb_slider_items = $('#sb-slider-items');
			setInterval(function(){
				
				sb_current_id++;
				if (sb_current_id == $sb_slider_items.attr('rel'))
					sb_current_id = 0;

				$sb_slider_items.animate({
					marginTop: -1 * sb_current_id * 60
				});
				
			}, 5000);
			
			var $offers_slider = $('#offers-slider-holder');
			
			$("a.offers-slider-prev, a.offers-slider-next").click(function(){
		
				var current = $offers_slider.data('current') ? $offers_slider.data('current') : 0;
				
				if ($(this).hasClass("offers-slider-next"))
					current++;
				else
					current--;
				
				if ($(this).hasClass("offers-slider-prev")) {
				
					if (current == parseInt($offers_slider.attr("rel")))
						current = 0;
					if (current < 0)
						current = parseInt($offers_slider.attr("rel"));
				}
				else {
					if (current == parseInt($offers_slider.attr("rel"))-1)
						current = 0;
					if (current < 0)
						current = parseInt($offers_slider.attr("rel"))-1;
				}			
					
				//try { console.log(current); } catch(e) {}			
				
				$offers_slider.scrollTo($offers_slider.find(".scroller-item-"+current), 600);
				
				$offers_slider.data('current', current);
			
				return false;
			});
			
			$('#papers a').click(function(){
				
				var $a = $(this);
				if ($a.hasClass('selected-paper')) {
					$a.css('margin-top', 0).removeClass('selected-paper');
					site.updatePapersSum();
					if (!$('#papers a.selected-paper').length)
						$('#board-form').slideUp();
					
					$('#boardForm').find('#paper-'+$(this).attr('data-id')).remove();
				}
				else {
					$a.animate({marginTop: -20}, 100, function(){
						$a.addClass('selected-paper');
						site.updatePapersSum();
						$('#board-form').slideDown();
					});
					
					$('#boardForm').append('<input id="paper-'+$a.attr('data-id')+'" type="hidden" name="papers['+$a.attr('data-id')+']" value="'+$a.attr('data-name')+'"/>');
				}
				
				return false;
			});
			
			$('#papers-pay-go').click(function(){
				
				if (parseInt($('.papers-pay-sum:eq(0)').text()) == 0) {
					$('#papers-pay-error').show();
					setTimeout("$('#papers-pay-error').hide()", 5000);
					return false;
				}
			});
		}
	},
	
	updatePapersSum: function() {
		var sum = 0;
		$('#papers a.selected-paper').each(function(){
			sum += parseInt($(this).attr('data-price'));
		});
		
		$('.papers-pay-sum').text(sum);
		
		if (sum > 0) {
			$('#papers-pay-error').hide()
			//$('#papers-pay-go').show();
		}
		/*else 
			$('#papers-pay-go').hide();*/
			
		// update titles
		if ($('#papers a.selected-paper').length == 1) {
			$('#boardForm-title').text($('#papers a.selected-paper').attr('title'));
		}
		if ($('#papers a.selected-paper').length > 1) {
			
			var titles = new Array();
			$('#papers a.selected-paper').each(function(){
				titles.push($(this).attr('title').substr(26));
			});
			$('#boardForm-title').text('Форма подачи объявления в ' + titles.join(', '));
		}
	},
	
	show_photo: function(){
		$(".first_img").live("click", function(){
			rel = $(this).attr('rel');
			//alert(rel);
			$("#"+rel).click();
			return false;
		});
		
		$(".gallery_show_photo").click(function(){
			var src = $(this).attr('href');
			var rel = $(this).attr('rel');
			$("#gallery").attr({'src':src,'rel':rel});
			
			$("#gallery").parent().attr({'rel':rel});
			/*.click(function(){
				//alert($(this).attr('rel'));
				rel = $(this).attr('rel');
				$("#"+rel).click();
				return false;
			});
			*/
			
			//	Reload Fancy
			$("a.fancy").fancybox();
			return false;
		});
	}
};

$(document).ready(site.global.init);

function checkForm(obj) {
	var flag = true;
	$(obj).find(".ness:not(:disabled)").each(function(){
		if( $(this).val() == "" ) {
			$(this).focus().addClass("ness_bord");
			flag = false;
			return false;
		} else {
			$(this).removeClass("ness_bord");
		}
	});
	if(flag) {
		$(obj).submit();
		return false;
	}
	else return false;
}

function toggleBlock(id) {
	$("#"+id).toggle();
}

function mail(user, domain, subject) {
	if (subject == '') {
		loc = "mailto:" + user + "@" + domain;
	} else {
		loc = "mailto:" + user + "@" + domain + "?subject=" + subject + "";
	}

	window.location = loc;
}

function confirmation(text, loc) {
	if (confirm(text)) {
		location.replace(loc)
	}
}

function diving(div_id) {
	if (document.getElementById(div_id).style.display == "none") {
		document.getElementById(div_id).style.display = "block";
	} else {
		document.getElementById(div_id).style.display = "none";
	}
}


/*
 * onCopy:function () { var dat = new Date(); dat =
 * Math.round(dat.getTime()/1000); if(this.lastCopiedTime && (dat -
 * this.lastCopiedTime == 0)) return true; window.event.cancelBubble = true;
 * alert('при любом использовании материалов\nтребуется ссылка на источник
 * www.partner-auto.com\n(http://www.partner-auto.com/)'); this.lastCopiedTime =
 * new Date(); this.lastCopiedTime =
 * Math.round(this.lastCopiedTime.getTime()/1000); return true; }
 */


function MakeArray(a, spliter) {
	return a.split(spliter);
}

function delete_options(selobj, size) {
	while (selobj.options.length > size)
		selobj.options[selobj.options.length - 1] = null;
}

function ClearSelects(selects) {
	$("#"+selects).find("option").remove();
}

function GetSubList(action, url, param, target) {
	var a = $("#"+param).find("option:selected").val();
	var pars = 'action=' + action + '&a=' + a;
	var debug = 'DEBUG:\nquery: ' + pars + '\n';
	// alert(a);

	$.ajax({
		'type': "GET",
		'dataType': "text",
		'url': url+'?'+pars,
		beforeSend: function() {
		},
		success: function(data) {
			var myarray = data.split("|");
			var cl = myarray.length;
			cl--;

			debug = debug + "COUNT: " + cl + "\n\n";

			var b = new Array();
			var str_options = "";
			var $list = $("#"+target);
			
			str_options += "<option>все модели</option>";
			
			for (i = 0; i < cl; i++) {
				b = myarray[i].split(",");

				if (document.createElement) {
					var newOption = document.createElement("OPTION");
					newOption.value = b[0];
					newOption.text = b[1];
					str_options += "<option value='"+b[0]+"'>"+b[1]+"</option>";

					//$list.append(newOption);
				}
			}
			$list.append(str_options);
		},
		error: function() {
		}
	});

	
	/*var myAjax = new Ajax.Request(url, {
				method : 'get',
				parameters : pars,
				onComplete : function(originalRequest) {
					var data = originalRequest.responseText;
					debug = data + "\n\nwriting to object: " + target;

					var myarray = MakeArray(data, "|");

					var cl = myarray.length;
					cl--;

					debug = debug + "COUNT: " + cl + "\n\n";

					// alert(debug);

					var b = new Array();

					var List = $(target);

					for (i = 0; i < cl; i++) {
						b = MakeArray(myarray[i], ",");

						if (document.createElement) {
							var newOption = document.createElement("OPTION");
							newOption.value = b[0];
							newOption.text = b[1];

							(List.options.add)
									? List.options.add(newOption)
									: List.add(newOption, null);
						}
					}
				}
			});*/

}

