﻿var InternetTarriffs = { 
	'config' : { 
		'cookie_packages' : 'internet_cookie_packages',
		'cookie_tv' : 'internet_cookie_tv'
	},
	'init' : function() { 
		InternetTarriffs.verifyTvTariff();
		InternetTarriffs.loadTvCookies();
		
		InternetTarriffs.verifyPackages();
		InternetTarriffs.loadPackagesCookies();
		
		InternetTarriffs.summBasketPrice();
		
		
		
	},
	'showTariff' : function(tariffId) {
		InternetTarriffs.getTariff(
			function(data){
				InternetTarriffs.setTariff(data);
			},
			function(xhr, ajaxOptions, thrownError){
			},
			tariffId
		);
	},
	'getTariff' : function(successCallback, errorCallback, tariffId) {
		var url = "/provod/ajax/gettariff.wbp";
		var data = { id: tariffId };
		
		$.ajax({
			url: url,
			type: "GET",
			dataType: "XML",
			async: false,
			data: data,
			success: successCallback,
			error: errorCallback
		});
	},
	'getPackage' : function(successCallback, errorCallback, packageId) {
		var url = "/provod/ajax/getPackage.wbp";
		var data = { id: packageId };
		
		$.ajax({
			url: url,
			type: "GET",
			dataType: "XML",
			data: data,
			success: successCallback,
			error: errorCallback
		});
	},
	'getTvTariff' : function(successCallback, errorCallback, tvId) {
		var url = "/provod/" + regName + "/tarif/ajax/getTvTariff.wbp";
		var data = { id: tvId };
		
		$.ajax({
			url: url,
			type: "GET",
			dataType: "XML",
			data: data,
			success: successCallback,
			error: errorCallback
		});
	},
	'setTariff' : function(data) {
		var item = $(data).find('t');
		
		var id = $(item).attr('id');
		var name = $(item).attr('name');
		var price = $(item).attr('price');
		var speed = $(item).attr('speed');
		var speedUnit = $(item).attr('speedUnit');
		var topDescription = $(item).find('topdescription').text();
		var bottomDescription = $(item).find('bottomdescription').text();
		var comments = $(item).find('comments').text();
		var services = $(item).find('s');
		
		var popupWindow = $('#popupWindow');
		popupWindow.find('.name_tarif').text(name);
		popupWindow.find('.bcostn').text(speed);
		popupWindow.find('.speed').text(speedUnit);
		popupWindow.find('.bspd').text(price);
		popupWindow.find('.topdescription').html(topDescription);
		
		if(bottomDescription.length > 10) {
			popupWindow.find('.bottomdescription').html(bottomDescription);
			popupWindow.find('.bottomdescription').show();
		}
		else {
			popupWindow.find('.bottomdescription').hide();
		}
		
		popupWindow.find('.small').html(comments);
		popupWindow.find('.abuy').attr('href', 'step2.wbp?id=' + id);
		
		popupWindow.find('.smallservices').empty();
		popupWindow.find('.bigservices').empty();
		
		if (services.size() > 0)
		{
		popupWindow.find('.tit').show();
		$.each(services, function(key, value) { 
			var id = $(this).attr('id');
			var name = $(this).attr('name');
			var url = $(this).attr('url');
			var logo28 = $(this).attr('logo28');
			var logo60 = $(this).attr('logo60');
			var description = $(this).find('description').text();
			
			var imgServiceSmall = $('<img />')
				.width(28)
				.height(28)
				.attr('src', logo28)
				.attr('alt', name)
				.attr('title', name);
			
			var td1 = $('<td />');
			var td2 = $('<td />');
			var divElm = $('<div />').addClass('elm');
			var br = $('<br />');
			var span = $('<span />').text(name);
			
			var imgServiceBig = $('<img />')
				.width(60)
				.height(60)
				.attr('src', logo60)
				.attr('alt', name)
				.attr('title', name)
				.click(function(){
					 showService(name, description, url);
				});
			
			var imgBlank = $('<img />')
				.width(54)
				.height(1)
				.attr('src', '/media/design/blank.gif')
				.attr('border', '0');
			
			
			popupWindow.find('.smallservices').append(imgServiceSmall);
			
			popupWindow.find('.bigservices')
				.append(td1
					.append(divElm
						.append(imgServiceBig)
						.append(br)
						.append(span)));
			
			if(services.size() != (key + 1)) {
				popupWindow.find('.bigservices').append(td2.append(imgBlank));
			}
			
		});
		}
		else
		{
			popupWindow.find('.tit').hide();
			popupWindow.find('#includetitle').hide();
			popupWindow.find('.smallservices').hide();
			popupWindow.find('#includeborderright').removeClass('border');
		}
		
	},
	'showPackage' : function (data) {
		var item = $(data).find('item');
		
		var id = $(item).attr('id');
		var name = $(item).attr('name');
		var price = $(item).attr('price');
		var single_payment = $(item).attr('single_pay');
		
		InternetTarriffs.verifyPackages();
		
		if($('.basket.finish').size() > 0) {
			var p_item = $('<p />')
				.addClass('p2')
				.attr('id', 'p2_' + id)
				.html(name);
			
			var p_price = $('<p />')
				.addClass('payment')
				.attr('id', 'p2p_' + id)
				.html("<span class='bcost bascket_price'>" + price + "</span>&nbsp;рублей в месяц");
				
			var div_clear = $('<div />')
				.addClass('clear');
			
			if(single_payment == 'true') {
				
				p_price.html("<span class='bcost bascket_price'>" + price + "</span>&nbsp;рублей");
				
				$('.basket .singlepackages.item')
					.append(p_item)
					.append(p_price)
					.append(div_clear);
				
				$('.singlepackages').show();
				
			}
			else {
				$('.basket .packages.item')
					.append(p_item)
					.append(p_price)
					.append(div_clear);
				
				$('.basket .packages.hr').show();
				$('.basket .packages.item').show();
			}
			
		}
		else {
			var text = name + '<br /><b class="bascket_price">' + price + '</b> рублей';
			
			var p_item = $('<p />')
				.addClass('p2')
				.attr('id', 'p2_' + id)
				.html(text);
			
			$('.basket .packages.item').append(p_item);
		}
		
		InternetTarriffs.summBasketPrice();
	},
	'showTvTariff' : function (data) {
		$('.basket .tvtariffs .p2').remove();
		
		var item = $(data).find('item');
		
		var id = $(item).attr('id');
		var name = $(item).attr('name');
		var price = $(item).attr('price');
		
		InternetTarriffs.verifyTvTariff();
		
		if($('.basket.finish').size() > 0) {
			var p_item = $('<p />')
				.addClass('p2')
				.attr('id', 'p2_' + id)
				.html(name);
			
			var p_price = $('<p />')
				.addClass('payment')
				.attr('id', 'p2p_' + id)
				.html("<span class='bcost bascket_price'>" + price + "</span>&nbsp;рублей в месяц");
				
			var div_clear = $('<div />')
				.addClass('clear');
			
			$('.basket .tvtariffs.item')
				.append(p_item)
				.append(p_price)
				.append(div_clear);
		}
		else {
			var text = name + '<br /><b class="bascket_price">' + price + '</b> рублей';
			
			var p_item = $('<p />')
				.addClass('p2')
				.attr('id', 'p2_' + id)
				.html(text);
			
			$('.basket .tvtariffs.item').append(p_item);
		}
		
		InternetTarriffs.summBasketPrice();
	},
	'verifyPackages' : function() {
		var packagesInputs = $('.check_cb');
		var packagesCheks = $('.checked_cb');
		
		if (packagesInputs.length > 0) {
			if(packagesCheks.size() > 0) {
				$('.basket .packages.hr').show();
				$('.basket .packages.item').show();
			}
			else {
				$('.basket .packages.hr').hide();
				$('.basket .packages.item').hide();
			}
		}
		else {
			var cookie = GetCookie(InternetTarriffs.config.cookie_packages);
			
			if(cookie != 0 && cookie.length > 1) {
				if($('.basket.finish').size() == 0) {
					$('.basket .packages.hr').show();
					$('.basket .packages.item').show();
				}
			}
			else {
				$('.basket .packages.hr').hide();
				$('.basket .packages.item').hide();
			}
		}
	},
	'verifyTvTariff' : function() {
		var checks = $('.withcheck .check');
		var checkInput = $('.withcheck .checked');
		
		if (checks.length > 0) {
			if(checkInput.size() > 0) {
				$('.basket .tvtariffs.hr').show();
				$('.basket .tvtariffs.item').show();
			}
			else {
				$('.basket .tvtariffs.hr').hide();
				$('.basket .tvtariffs.item').hide();
			}
		}
		else {
			var cookie = GetCookie(InternetTarriffs.config.cookie_tv);
			
			if(cookie != 0 && cookie.length > 1) {
				$('.basket .tvtariffs.hr').show();
				$('.basket .tvtariffs.item').show();
			}
			else {
				$('.basket .tvtariffs.hr').hide();
				$('.basket .tvtariffs.item').hide();
			}
		}
	},
	'summBasketPrice' : function() {
		if($('.basket.finish').size() > 0) { 
			var month_price = 0;
			var single_price = 0;
			var month_prices = $('.month .bascket_price');
			var single_prices = $('.singlepackages .bascket_price');
			
			$.each(month_prices, function(key, value) { 
				month_price += parseInt($(value).text()); 
			});
			
			$.each(single_prices, function(key, value) { 
				single_price += parseInt($(value).text()); 
			});
			
			$('.month.bcost').text(month_price);
			$('.singlepackages.bcost').text(single_price);
			$('.all.bcost').text(month_price + single_price);
		}
		else {
			var price = 0;
			var prices = $('.bascket_price');
			
			$.each(prices, function(key, value) { 
				price += parseInt($(value).text()); 
			});
			
			$('.result .bcost').text(price);
		}
		
	},
	'loadPackagesCookies' :	function() {
		var cookie = GetCookie(InternetTarriffs.config.cookie_packages);
		
		if(cookie != 0 && cookie.length > 1) {
			
			var names = '';
			
			var ids = cookie.split(", ");
			
			$.each(ids, function(key, id) { 
				$('.check_cb[id=' + id + ']').removeClass('unchecked_cb').addClass('checked_cb');
				
				InternetTarriffs.getPackage(
					function(data){
						InternetTarriffs.showPackage(data);
						
						if($('#finish-comment').size() > 0) {
							var item = $(data).find('item');
							names += $(item).attr('name');
							
							if($(ids).size() != (key + 1)) {
								names += ",";
							}
							
							$('#finish-comment').val(names);
							
						}
						
					},
					function(xhr, ajaxOptions, thrownError){
					},
					id
				);
			});
			
		}
	},
	'loadTvCookies' :	function() {
		var cookie = GetCookie(InternetTarriffs.config.cookie_tv);
		
		if(cookie != 0 && cookie.length > 1) {
			var ids = cookie.split(", ");
			
			$('.check.checkradbut').removeClass('checked').addClass('unchecked');
			
			$.each(ids, function(key, id) { 
				$('#' + id).removeClass('unchecked').addClass('checked');
				
				InternetTarriffs.getTvTariff(
					function(data){
						InternetTarriffs.showTvTariff(data);
						
						if ($('#finish-service-tv').size() > 0) {
							var item = $(data).find('item');
							var id_tv = $(item).attr('id_tv');
							var ligament = $(item).attr('ligament');
							
							$('#finish-service-tv').val(id_tv);
							
							var bundle = $('#finish-bundle');
							
							if (bundle.val() == '') {
								bundle.val(ligament);
							}
						}
					},
					function(xhr, ajaxOptions, thrownError){
					},
					id
				);
			});
		}
		else {
			var checkedItems = $('.withcheck .checked');
			if(checkedItems.size() >= 1) {
				var checkedItem = $('.withcheck .checked:first');
				$('.withcheck .check').removeClass('checked').addClass('unchecked');
				checkedItem.removeClass('unchecked').addClass('checked');
				setTvTariff(checkedItem.attr('id'));
			}
		}
	},
	'savePackagesCookies' : function() {
		var checked_packages = $('.checked_cb');
		var packages_ids = '';	
		
		if(checked_packages.size() > 0) {
			$.each(checked_packages, function(key, value) { 
				packages_ids += $(value).attr('id'); 
				
				if(key != (checked_packages.size() - 1)) {
					packages_ids += ', ';
				}
			});
		}
		
		var expDate = new Date();
		expDate.setTime(expDate.getTime() + (60 * 60 * 1000));
		SetCookie(InternetTarriffs.config.cookie_packages, packages_ids, 0, '/', HostName(3));
	},
	'saveTvCookies' : function() {
		var checked_tv = $('.withcheck .checked');
		var ids = '';	
		
		if(checked_tv.size() > 0) {
			$.each(checked_tv, function(key, value) { 
				ids += $(value).attr('id'); 
				
				if(key != (checked_tv.size() - 1)) {
					ids += ', ';
				}
			});
		}
		
		var expDate = new Date();
		expDate.setTime(expDate.getTime() + (60 * 60 * 1000));
		SetCookie(InternetTarriffs.config.cookie_tv, ids, 0, '/', HostName(3));
	}
}
