//Functions
function checkDate(date) 
	{
	
	// Regular expression used to check if date is in correct format dd/mm/yyyy
	var pattern = new RegExp([0-3][0-9]/0|1[0-9]/19|20[0-9]);
	if(date.value.match(pattern))
		{
			
			return true;
		}
	else
		{
			return false;
		}
		
	}
	
function popIn(width, height, source, id)
	{
		var thisWidth = width;
		var thisHeight = height;
		var thisId = id;
		
		//Window dimensions
		var windowHeight = window.getHeight();
		var windowWidth = window.getWidth();
		var scrollTop = window.getScrollTop();
		
		//position
		var top = (windowHeight/2) - (thisHeight/2);
		var left = (windowWidth/2) - (thisWidth/2);
		
		//Create Div
		var poc = new Element('div', {
					    'styles': {
						'display': 'block',
						'position': 'absolute',
						'top': eval(top),
						'left': eval(left),
						'z-index': '100',
						'width': eval(thisWidth),
						'height': eval(thisHeight),
						'padding': '0px 0px',
						'visibility': 'hidden'
					    },
					   'class': 'overlay',
					   'id': thisId
   				 });
		
		//Insert into page
		poc.injectTop(document.body);
		
		var url = "popin.php"
		var data = Object.toQueryString({id: id, source: source});
		//get form
		new Ajax(url, {
			method: 'get',
			data: data,
			update: $(thisId),
			evalScripts: true,
			onComplete: function(){
					//resize to fit form
					var childheight = parseInt($(thisId+"_child").getStyle('height'));
					$(thisId).setStyle('height', childheight+50);
					repositionOverlay(thisId);
					//$(id).setStyle('visibility', 'visible');
					var fadein = new Fx.Style(thisId, 'opacity', {duration: 500, wait: false});
					fadein.start(0,1);
									    
				}
		}).request();
	}
	
function closeOverlay(element)
	{
		$(element.id).remove();
	}
	
function repositionOverlay(element)
	{
		//Element dimensions
		var height = parseInt($(element).getStyle('height'));
		var width = parseInt($(element).getStyle('width'));
		
		//Window dimensions
		var windowHeight = window.getHeight();
		var windowWidth = window.getWidth();
		var scrollTop = window.getScrollTop();
		
		//New position
		var top = (windowHeight/2) - (height/2) + scrollTop;
		var left = (windowWidth/2) - (width/2);
		
		$(element).setStyle('top', top);
		$(element).setStyle('left', left);
	}

function submitForm(form)
	{
					
		var req = false;
		var dateError = false;
		var errorMessage = "";
		
		//Check fields
		var required = $$('form#'+form.id+' .required');
		required.each(function(element) {
					     
				$(element).setStyle("background-color", "#F3F3F3");
				if($(element).value == "")
				{
					$(element).setStyle("background-color", "#f2c0c0");
					req = true;
				}
			});
		
		//Check date fields
		if($$('form#'+form.id+' .date'))
		{
			var dates = $$('form#'+form.id+' .date');
			dates.each(function(element) {
						     
					if($(element).value != "" && checkDate($(element)) == false)
					{
						dateError = true;
					}
					else
					{
						dateError = false;
					}
				});
		}
		
		//Error messaeges
		if(req == true)
			{
				errorMessage = "Please complete the required fields highlighted in red";
				if(dateError == true)
				{
					errorMessage += " and make sure your date(s) are in the correct format";
				}
				alert(errorMessage);
				return false;
			}
		else if(req == false && dateError == true)
			{
				alert("Please make sure your date(s) are in the correct format");
			}
		else if(req == false)
			{
				return true;
			}
	}
	
function getDirections()
	{
		var postcode = $('postcode').value;
		if(postcode == "")
		{
			$('postcode').setStyle("background-color", "#f2c0c0");
			alert("Please enter your postcode");
		}
		else
		{	
			postcode.replace(" ","+");
			
			url = 'http://maps.google.co.uk/maps?f=d&hl=en&saddr=' + postcode + '&daddr=BH24+3NF&sll=53.098145,-2.443696&sspn=8.952939,20.566406&ie=UTF8&z=&om=1';
			window.open(url);
		}	
	}
	
	
function changeProductImage(element)
	{
		var src = element.getAttribute('src', 2).split("/");
		src = src[1];
		src = src.replace("_t", "_b");
		
		document.getElementById('full_size').innerHTML = '<img src=\"images/'+src+'\" />';
	}
	
function confirmDelete(element)
	{
		var answer = confirm("Are you sure you wish to delete?");
		
		if (answer)
			{
				var href = element.getAttribute("href",2);
				window.location = href;
			}
		else
			{
				return false;
			}
	}
	
//Attach Events
window.addEvent('domready', function(){
	//Product thumbnails click event
	if($$('img.viewer_thumbs'))
		{
			var thumbs = $$('img.viewer_thumbs');
			thumbs.each(function(element) {
				element.addEvent('mouseover', function(){
					changeProductImage(element);
				});		   
			});
		}	
		
	if($$('a.delete_link'))
		{
			var downloadlinks = $$('a.delete_link');
			downloadlinks.each(function(element) {
				element.addEvent('click', function(e) {
					new Event(e).stop();
					confirmDelete(this);					
				});
			});
		}
	
}); 
window.addEvent('resize', function() {
	if($$('div.overlay'))
		{
			var overlay = $$('div.overlay');
			overlay.each(function(element) {
				repositionOverlay(element);
			});
		}
});
	