
$(document).ready(function() {
	$('a.load-local').cluetip({ local:true,
								cluetipClass: 'jtip',
								arrows: true,
								cursor: 'pointer',
								sticky: true,
								closePosition: 'title',
								closeText: 'Закрыть <img src="/img/admin/red_close.gif" alt="close" />'
							});
	$('a.leter-load').cluetip({ cluetipClass: 'jtip',
								activation: 'click',
								arrows: true,
								cursor: 'pointer',
								sticky: true,
								closePosition: 'title',
								closeText: 'Закрыть <img src="/img/admin/red_close.gif" alt="close" />'
							});
});

// ############## Objects ###############################

Loading = {
	StartLoading : function()
	{
		if(document.getElementById('Loading'))
			Loading.EndLoading();
		var d = document.createElement("div");
		d.setAttribute("id", "Loading");
		d.className = "Loading";

		d.style.left = document.body.scrollWidth / 2 - 70 + "px";
		d.style.top = (document.documentElement.scrollTop || document.body.scrollTop) + 200 + 'px';

		var text = document.createTextNode("Loading...");
		d.appendChild(text);

		document.body.appendChild(d);
		document.body.style.cursor = "wait";
	},
	EndLoading : function()
	{
		if(document.getElementById('Loading'))
		{
			var d = document.getElementById('Loading');
			document.body.removeChild(d);
			document.body.style.cursor = "default";
		}
	},
	errors : function(s)
	{
		alert(s);
	},
	ErrorView : function(t)
	{
		alert('Error ' + t.status + ' -- ' + t.statusText);
	},
	processRequest : function(url, param, callback)
	{
		if(url != '')
		{
			$.post(url, param, callback);
		}
	},
	processResponse : function(req)
	{
		var i;
		if($('innerblock'))
			i = $('innerblock');
		else if($('inner'))
			i = $('inner');
		if(req.responseText)
		{
			if(i)
			{
				i.innerHTML = '';
				i.innerHTML = req.responseText;
			}
			/*else
				alert(req.responseText);*/
		}
		Loading.EndLoading();
	},
	close: function(name)
	{
		if($(name))
		{
			//Effect.Shrink($(name));
			document.body.removeChild($(name));
		}

		if($("MaskBody"))
		{
			document.body.removeChild($("MaskBody"));
		}
	}
}

Comments = {
	addAnswer : function(id_a)
	{
		if(id_a)
		{
			// Delete old form
			if($("#answer_add"))
			{
				var inp = $("answer_add")['answer_id'];
				var inp_val = $(inp).attr('value');

				if($('#insertaddform'+ inp_val)) $('insertaddform'+ inp_val).empty();
			}
			$('#tableaddcomm').hide("slow");
			if($('#insertaddform'+ id_a))
			{
				$('#insertaddform'+ id_a).empty();
				var cntn = '<table cellpadding="0" cellspacing="0" width="100%" border="0"><tr><td id="insansferform" style="display: none;">';
				cntn += '</td></tr></table>';
				$('#insertaddform'+ id_a).html(cntn);
				var dans = $('#insansferform');
				var fcontent = $('#comment_add').html();
				// Create new form
				var newform = "<form id='answer_add' action='"+$('#comment_add').attr("action")+"' method='"+$('#comment_add').attr("method")+"'>";
				newform += '<input type="hidden" name="answer_id" value="'+id_a+'"/>';
				newform += fcontent + '</form>';
				$('#insansferform').append(newform);
				$('#insansferform').show("slow");
			}
		}
	},
	ChangeView : function(elm,elmcl)
	{
		if($(elmcl))
			$(elmcl).hide("slow");

		if($(elm + ":hidden"))
		{
			$(elm).show("slow");
			if(elm == '#tableaddcomm')
				document.location='#info';
			else
				document.location='#MailFriend';
		}
		else $(elm).hide("slow");
	}
}



Cart = {
	AddToCart : function(tovarid, tv_code, def_code)
	{
		Loading.StartLoading();

		var code_tv = tv_code;
		if(!code_tv)
			code_tv = def_code;

		if(!tovarid || !code_tv)
		{
			Loading.EndLoading();
			$.prompt('Ошибка! Товар не добавлен в корзину!', { prefix: "jqi", promptspeed: "fast" });
		}
		else
		{
			$.post('/tools/cart/',
						{type: "json", field: "cart", val:  tovarid, tvcode: code_tv},
						function (data) {
								 if(data.result)
								 	$.prompt('Товар добавлен в корзину!', { prefix: "jqi", promptspeed: "fast" }); // .corner()
								 else
								 	$.prompt('Ошибка! Товар не добавлен в корзину!', { prefix: "jqi", promptspeed: "fast" });

								if(data.count && data.allsum)
								{
									$('#carttovars').html(data.count);
									$('#cartallsum').html(data.allsum);
								}

								if(data.nextproc > 0)
								{
									$('#nextproc').html(data.nextproc);
									if(data.nextsum)
										$('#nextsum').html(data.nextsum);
								}
						},
						"json"
				);
		}
		Loading.EndLoading();
	},
	updateFieldsCart : function(c_cnt, c_sum)
	{
		if(!c_cnt) c_cnt = 0;
		if(!c_sum) c_sum = 0.00;

		$('#carttovars').html(c_cnt);
		$('#cartallsum').html(c_sum);
	},
	ChangeLink : function(sel_el, buy, zakaz)
	{
		if($("#buy_link"))
		{
			var opt_el = $("#"+ sel_el + " option:selected");
			if(opt_el.attr("podzakaz") == 1)
				$("#buy_link").text(zakaz);
			else
				$("#buy_link").text(buy);
		}
	}
}


Login = {
	ClickLogin : function(url, param)
	{
		if(url != '')
		{
			Loading.StartLoading();
			$.post(url, param,
					function (data) {
						$.prompt(data, {prefix: "jqi", submit: Login.ActionLogin, buttons: { Вход: true, Отмена: false } }); // .corner()
					},
					"html"
			);
			Loading.EndLoading();
		}
	},
	ActionLogin : function(v,m,f)
	{
		if(v)
		{
			var frm = m.children('#loginform');
			var url = frm.attr('action');
			var param = frm.serialize();

			if(f.username == '')
			{
				frm.children('#username').css("border","solid #ff0000 1px");
				return false;
			}
			else
				frm.children('#username').css("border","solid #bfbfbf 1px");

			if(f.passwd == '')
			{
				frm.children('#passwd').css("border","solid #ff0000 1px");
				return false;
			}
			else
				frm.children('#passwd').css("border","solid #bfbfbf 1px");

			if(url != '')
			{
				Loading.StartLoading();
				$.post(url, param,
						function (data) {
							if(data.match(/form/ig))
								$.prompt(data, {prefix: "jqi", submit: Login.ActionLogin, buttons: { Вход: true, Отмена: false } }); // .corner()
							else if(data.match(/loginoklink/ig))
							{
								$.prompt(data, {prefix: "jqi", callback: Login.AffterLogin, buttons: { OK: true } }); // .corner()
							}
							else
								document.location=data;
						},
						"html"
				);
				Loading.EndLoading();
			}
		}
		return true;
	},
	AffterLogin : function(v,m,f)
	{
		Loading.StartLoading();
		if(v)
		{
			document.location = m.children('a').attr('href');
		}
		Loading.EndLoading();
	}
}


Subscribe = {
	ClickSubscribe : function(url, param)
	{
		if(url != '')
		{
			Loading.StartLoading();
			$.post(url, param,
					function (data) {
						$.prompt(data, {prefix: "jqi", submit: Subscribe.ActionSubscribe, buttons: { Подписаться: true, Отмена: false } }); // .corner()
					},
					"html"
			);
			Loading.EndLoading();
		}
		else
			return false;
	},
	ActionSubscribe : function(v,m,f)
	{
		if(v)
		{
			var frm = m.children('#Subscribe');
			var url = frm.attr('action');
			var param = frm.serialize();

			if(f.email == '')
			{
				frm.children('#email').css("border","solid #ff0000 1px");
				return false;
			}
			else
				frm.children('#email').css("border","solid #bfbfbf 1px");

			if(f.code_img == '')
			{
				frm.children('#code_img').css("border","solid #ff0000 1px");
				return false;
			}
			else
				frm.children('#code_img').css("border","solid #bfbfbf 1px");

			if(url != '')
			{
				Loading.StartLoading();
				$.post(url, param,
						function (data) {
							if(data.match(/form/ig))
								$.prompt(data, {prefix: "jqi", submit: Subscribe.ActionSubscribe, buttons: { Подписаться: true, Отмена: false } }); // .corner()
							else
								$.prompt(data, {prefix: "jqi", buttons: { OK: true } }); // .corner()
						},
						"html"
				);
				Loading.EndLoading();
			}
		}
		return true;
	}
}


AnonsTabsCat = {
	LoadTab : function(url, param, conteyner)
	{
		Loading.StartLoading();
		$.post(url, param, function (data) { $(conteyner).html(data); })
		Loading.EndLoading();
	}
}


Menu = {
	changeview : function(id)
	{
		if($('#podli' + id) && $('#podul' + id))
		{
			var tmp_ul = $('#podul' + id);
			$('#podul' + id).remove();
			$('#podli' + id).append(tmp_ul);
		}
	}
}


Forum = {
	initLogin : function()
	{
		Loading.StartLoading();

		jQuery.each(jQuery.browser, function(i, val) {
			$("<div>" + i + " : <span>" + val + "</span>").appendTo(document.body);
		});

		//if ($.browser.mozilla) { alert($.browser); }

		$.ajax({
			type: "POST",
			url: "/forum/ucp.php",
			cache: false,
			async: false,
			dataType: "html",
			data: "mode=login",
			success: function(msg){
				//console.log( "Data Saved: " + $('#login', msg).html() );
				/*$('#loginform').html($('#login', msg));
				$('#loginform h2').hide();
				$('#viewonline').hide();*/
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
				// typically only one of textStatus or errorThrown
				// will have info
				this; // the options for this ajax request
				if ($.browser.mozilla) {
					//console.log(textStatus);
					//console.log(errorThrown);
					//console.log(this);
				}
			}
		});

		Loading.EndLoading();
	},
	requestLogin : function()
	{
		Loading.StartLoading();

		$.ajax({
			type: "POST",
			url: "/forum/ucp.php",
			cache: false,
			async: false,
			dataType: "html",
			data: $('#login').serialize(),
			success: function(msg){

				//console.log( "Data Saved: " + $('#page-body', msg).html() );

				/*$('#loginform').html($('#login', msg));
				$('#loginform h2').hide();
				$('#viewonline').hide();*/

				//console.log( "Error: " + $('div.error', msg).html() );
				//console.log( "MyForm: " + $('#loginformall').html() );

				var bodycont = '';
				var lnkref = null;

				if($('div.error', msg).html())
				{
					bodycont = '<div class="error_txt">' + $('div.error', msg).html() + '</div>';
					$.prompt(bodycont, {prefix: "jqi"});
				}
				else if($('div#message', msg).html())
				{
					//lnkref = $('#login').attr('action');
					lnkref = document.location;
					bodycont = $('div#message', msg).html();

					if(lnkref)
					{
						$.prompt(bodycont, {prefix: "jqi", callback: function(){ document.location=lnkref; }});
						$('a').attr('href', lnkref);
					}
					else
					{
						$.prompt(bodycont, {prefix: "jqi", callback: function(){ document.location='/'; }});
						$('a').attr('href', '/');
					}
				}

				/*var bodycont = $('#page-body', msg).html();
				bodycont = bodycont.replace(/(\.\/)/ig, "/forum/");*/

				//$.prompt(bodycont, {prefix: "jqi", submit: Forum.requestLogin });


				//console.log( "Content: " + bodycont );
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
				// typically only one of textStatus or errorThrown
				// will have info
				this; // the options for this ajax request
				if ($.browser.mozilla) {
					//console.log(textStatus);
					//console.log(errorThrown);
					//console.log(this);
				}
			}
		});

		Loading.EndLoading();
	},
	loadProfile : function(url)
	{
		Loading.StartLoading();

		if(!url)
		{
			//url = $('#ucp').
		}

		$.ajax({
			type: "POST",
			url: url,
			cache: false,
			async: false,
			dataType: "html",
			data: $('#ucp').serialize(),
			success: function(msg){

				//console.log( "Data Saved: " + $('#page-body', msg).html() );

				var bodycont = $('#cp-main', msg).html();
				bodycont = bodycont.replace(/(\.\/)/ig, "/forum/");
				$('#ffiner').html(bodycont);

				var capt = $('.submit-buttons input[type=submit]').attr('value');
				$('.submit-buttons').append('<input type="button" onclick="alert("OK")" value="'+ capt +'" class="button1"/>')
				$('.submit-buttons input[type=submit]').remove();



				//console.log( "Content: " + bodycont );
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
				// typically only one of textStatus or errorThrown
				// will have info
				this; // the options for this ajax request
				if ($.browser.mozilla) {
					//console.log(textStatus);
					//console.log(errorThrown);
					//console.log(this);
				}
			}
		});

		Loading.EndLoading();
	}
}


CompareTovar = {
	clickCompare : function(elm, catid, tovarid)
	{
		Loading.StartLoading();
		if(!tovarid || !catid)
		{
			Loading.EndLoading();
			return false;
		}

		var addcompare = 0;
		if($(elm).attr("checked"))
			addcompare = 1;

		$.post('/tools/compare/',
					{type: "json", cmpfield: addcompare, cmpcatid:  catid, cmptovarid: tovarid},
					function (data) {
							 if(data.result) {
							 	//$.prompt('Товар добавлен в корзину!', { prefix: "jqi", promptspeed: "fast" }); // .corner()
							 }
							 else
							 	$.prompt('Ошибка при сравнении товара!', { prefix: "jqi", promptspeed: "fast" });
					},
					"json"
			);
		Loading.EndLoading();
	}
}

