var _XML_fileUrl = 'inc/code.xml', _delivery, _deliveryThis = 'N';
var _serverTimeFile = 'inc/serverTime.php';

function initPopups() {
	$('a.open-popup').simpleLightbox({
		faderOpacity: 0,
		faderBackground: '#000',
		closeLink:'.lbAction, .btn-close a'
	});
}

function ieHover(_list) {
	if ($.browser.msie && $.browser.version < 7) {
		$(_list).hover(function() {
			$(this).addClass('hover');
		}, function() {
			$(this).removeClass('hover');
		});
	}
}

function initDatePicker() {
	$('div.datepicker-holder').each(function(){
		var _holder = $(this);
		var _picker = _holder.find('input[type="text"]');
		var _dateGen = new Date();
		_dateGen.setDate(_dateGen.getDate() + _nextDay);
		_picker.datepicker('destroy');
		_picker.datepicker({
			dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
			beforeShowDay: addClasses,
			buttonImageOnly: false,
			showOn: 'both',
			dateFormat: 'dd/mm/yy',
			minDate: _dateGen
		});
	});
}
var _nextDay = 0;
function parsingXML(){
	var _currNum = $('input[name=postcode]');
	var _xml = {};
	
	$.ajax({
		url: _XML_fileUrl,
		dataType: ($.browser.msie)? 'text':'xml',
		success: function(xmlData){
			var data;
			if ( typeof xmlData == 'string') {
				data = new ActiveXObject( 'Microsoft.XMLDOM');
				data.async = false;
				data.loadXML( xmlData);
			} else {
				data = xmlData;
			}
			_xml = $('code',data);
			
			$.ajax({
				url: _serverTimeFile,
				success: function(_h) {
					_curDate = _h;
					if (_currNum.val() != '') _currNum.trigger('keyup');
				}
			});
		}
	});
	
	if (_currNum.length) {
		var _inputNum = false;
		$('select').change(function(){
			setTimeout(function(){
				_currNum.trigger('keyup');
			},100);			
		});
		_currNum.keyup(function(){
			_deliveryThis == 'N'
			var _val = $(this).val();
			if (_val != '') {
				var _f = true;
				_nextDay = 0;
				_xml.each(function(i, code){
					var _num = $('num', code).text();
					_delivery = $('delivery', code).text();
					if (!$('delivery', code).length) _delivery = 'N';
					if (_val.indexOf(_num) == 0) {
						_f = false;
						if (_delivery == 'L' && _curDate < 16) _nextDay = 0;
						if (_delivery == 'L' && _curDate >= 16) _nextDay = 1;
						if (_delivery == 'N') _nextDay = 1;
						if (_delivery == 'N' && _curDate >= 16) _nextDay = 2;
						_deliveryThis = _delivery;
					}
				});
				if (_f) {
					_nextDay = 1;
					if (_curDate >= 16) _nextDay = 2;
				}
				initDatePicker();
			}
		});
		_currNum.blur(function(){
			if ($(this).val() == '') $('div.datepicker-holder input[type="text"]').datepicker('destroy');
		});
	}
}
function addClasses(date){
	var _class;
	var _bol = true;
	if(parseInt(date.getDate()) < 10) _class = '0' + date.getDate() + '/';
	else _class = date.getDate() + '/';
	if(parseInt(date.getMonth()+1) < 10) _class += '0' + (date.getMonth()+1);
	else _class += date.getMonth()+1;
	if(date.getDay() == 0) _bol = false;
	if(date.getDay() == 1 && _deliveryThis == 'N') _bol = false;
	return [_bol, _class];
}

$(document).ready(function(){
	ieHover('#btn-add-pres');
	initPopups();
	parsingXML();
});

jQuery.fn.simpleLightbox = function(_options){
	// defaults options
	var _options = jQuery.extend({
		lightboxContentBlock: '.lightbox',
		faderOpacity: 0.8,
		faderBackground: '#ffffff',
		closeLink:'a.close-btn, a.cancela',
		href:true,
		onClick: null
	},_options);

	return this.each(function(i, _this){
		var _this = jQuery(_this);
		if (!_options.href)
			_this.lightboxContentBlock = _options.lightboxContentBlock;
		else _this.lightboxContentBlock = _this.attr('href');
		if (_this.lightboxContentBlock != '' && _this.lightboxContentBlock.length > 1) {
			_this.faderOpacity = _options.faderOpacity;
			_this.faderBackground = _options.faderBackground;
			_this.closeLink = _options.closeLink;
			var _fader;
			var _lightbox = $(_this.lightboxContentBlock);
			if (!jQuery('div.lightbox-fader').length)
				_fader = $('body').append('<div class="lightbox-fader"></div>');

			_fader = jQuery('div.lightbox-fader');
			_lightbox.css({
				'zIndex':999
			});
			_fader.css({
				opacity:_this.faderOpacity,
				backgroundColor:_this.faderBackground,
				display:'none',
				position:'absolute',
				top:0,
				left:0,
				zIndex:998,
				textIndent: -9999
			}).text('$nbsp');
			_lightbox.shownFlag = false;
			_this.click(function(){
				if (jQuery.isFunction(_options.onClick)) {
					_options.onClick.apply(_this);
				}
				$('html').removeAttr('class').addClass(_lightbox.attr('id'));

				_lightbox.shownFlag = true;
				_lightbox.hide();
				jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
				_fader.fadeIn(300, function(){
					_lightbox.fadeIn(400);
					_lightbox.addClass('active-popup');
					jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
				});
				return false;
			});
			jQuery(_this.closeLink).click(function(){
				_lightbox.removeClass('active-popup');
				_lightbox.fadeOut(400, function(){
					_fader.fadeOut(300);
					_scroll = false;
				});
				return false;
			});
			_fader.click(function(){
				_lightbox.removeClass('active-popup');
				_lightbox.fadeOut(400, function(){
					_fader.fadeOut(300);
				});
				return false;
			});
			var _scroll = false;
			jQuery.fn.simpleLightbox.positionLightbox = function (_lbox) {
				if(!_lbox.shownFlag) return false;
				var _height = 0;
				var _width = 0;
				var _minWidth = $('body > div:eq(0)').outerWidth();
				if (window.innerHeight) {
					_height = window.innerHeight;
					_width = window.innerWidth;
				} else {
					_height = document.documentElement.clientHeight;
					_width = document.documentElement.clientWidth;
				}
				var _thisHeight = _lbox.outerHeight();
				var _page = $('body');
				if (_lbox.length) {
					if (_width < _minWidth) {_fader.css('width',_minWidth);} else {_fader.css('width','100%');}
					if (_height > _page.innerHeight()) _fader.css('height',_height); else _fader.css('height',_page.innerHeight());
					if (_height > _thisHeight) {
						if ($.browser.msie && $.browser.version < 7) {
							_lbox.css({
								position:'absolute',
								top: (document.documentElement.scrollTop + (_height - _thisHeight) / 2)+"px"
							});
						} else {
							_lbox.css({
								position:'fixed',
								top: ((_height - _lbox.outerHeight()) / 2)+"px"
							});
						}
					}
					else {
						var _fh = parseInt(_fader.css('height'));
						if (!_scroll) {
						if (_fh - _thisHeight > parseInt($(document).scrollTop())) {
								_fh = parseInt($(document).scrollTop())
								_scroll = _fh;
							} else {
								_scroll = _fh - _thisHeight;
							}
						}
						_lbox.css({
							position:'absolute',
							top: _scroll
						});
					}
					if (_width > _lbox.outerWidth()) _lbox.css({left:((_width - _lbox.outerWidth()) / 2 + 10) + "px"});
					else _lbox.css({position:'absolute',left: 0});
				}
			}

			jQuery(window).resize(function(){
				if (_lightbox.is(':visible'))
					jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
			});
			jQuery(window).scroll(function(){
				if (_lightbox.is(':visible'))
					jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
			});

			jQuery.fn.simpleLightbox.positionLightbox(_lightbox);
				$(document).keydown(function (e) {
				if (!e) evt = window.event;
				if (e.keyCode == 27) {
					_lightbox.removeClass('active-popup');
					_lightbox.fadeOut(400, function(){
						_fader.fadeOut(300);
					});
				}
			});
		}
	});
}
