$(document).ready(function () {
	$('#contactForm input.contact, #contactForm a.contact, #login_btn, #signin_btn, #acc_btn').click(function (e) {
		e.preventDefault();
		showLogin();
	});
});

function showLogin(){
	$.get("includes/loginForm.php", function(data){
		$(data).modal({
			close: false,
			position: ["15%",],
			overlayId: 'contact-overlay',
			containerId: 'contact-container',
			onOpen: contact.open,
			onShow: contact.show,
			onClose: contact.close
		});
	});
}
function showLost(){
	$.get("includes/lostForm.php", function(data){
		$(data).modal({
			close: false,
			position: ["15%",],
			overlayId: 'contact-overlay',
			containerId: 'contact-container',
			onOpen: lost.openform,
			onShow: lost.showform,
			onClose: lost.closeform
		});
	});
}
var lost = {
	message: null,
	openform: function (dialog) {
		if ($.browser.mozilla) {
			$('#contact-container .contact-button').css({
				'padding-bottom': '2px'
			});
		}
		if ($.browser.safari) {
			$('#contact-container .contact-input').css({
				'font-size': '.9em'
			});
		}
		var title = $('#contact-container .contact-title').html();
		$('#contact-container .contact-title').html('Loading...');
		dialog.overlay.fadeIn(200, function () {
			dialog.container.fadeIn(200, function () {
				dialog.data.fadeIn(200, function () {
					$('#contact-container .contact-content').animate({
						height: 160
					}, function () {
						$('#contact-container .contact-title').html(title);
						$('#contact-container form').fadeIn(200, function () {
							$('#contact-container #user-name').focus();
							// fix png's for IE 6
							if ($.browser.msie && $.browser.version < 7) {
								$('#contact-container .contact-button').each(function () {
									if ($(this).css('backgroundImage').match(/^url[("']+(.*\.png)[)"']+$/i)) {
										var src = RegExp.$1;
										$(this).css({
											backgroundImage: 'none',
											filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' +  src + '", sizingMethod="crop")'
										});
									}
								});
							}
						});
					});
				});
			});
		});
	},
	showform:function (dialog) {
		$('#contact-container .lost-send').click(function (e) {
			e.preventDefault();
			$('#contact-container .contact-message').fadeOut(200, function () {
				$('#contact-container .contact-message').removeClass('contact-error').empty();
			});
			$('#contact-container .contact-title').html('Sending...');
			$('#contact-container form').fadeOut(200);
			$('#contact-container .contact-loading').fadeIn(200, function () {
				$.ajax({
					url: './?lostpass',
					data: $('#contact-container form').serialize(),
					type: 'post',
					cache: false,
					dataType: 'html',
					complete: function (xhr) {
						var root = xhr.responseXML.documentElement;
						if (root.nodeName == 'error') {	
							lost.message = root.childNodes[0].firstChild.nodeValue;
							$('#contact-container .contact-loading').fadeOut(200, function () {
								$('#contact-container .contact-title').html('Error!');
								lost.showError();
								$('#contact-container form').fadeIn(200);
							});
						} else{
							$('#contact-container .contact-loading').fadeOut(200, function () {
								$('#contact-container .contact-title').html('Password Reset!');
								lost.message = "New password has been sent to your mail." 
								lost.showError();
							});
						}
					},
					error: lost.error
				});
			});
		});
	},
	closeform:function (dialog) {
		$('#contact-container .contact-message').fadeOut();
		$('#contact-container .contact-title').html('Closing...');
		$('#contact-container form').fadeOut(200);
		$('#contact-container .contact-content').animate({
			height: 40
		}, function () {
			dialog.data.fadeOut(200, function () {
				dialog.container.fadeOut(200, function () {
					dialog.overlay.fadeOut(200, function () {
						$.modal.close();
					});
				});
			});
		});
	},
	error: function (xhr) {
		alert(xhr.statusText);
	},
	showError: function () {
		$('#contact-container .contact-message')
			.html($('<div class="contact-error">').append(lost.message))
			.fadeIn(200);
	}
};
var contact = {
	message: null,
	open: function (dialog) {
		if ($.browser.mozilla) {
			$('#contact-container .contact-button').css({
				'padding-bottom': '2px'
			});
		}
		if ($.browser.safari) {
			$('#contact-container .contact-input').css({
				'font-size': '.9em'
			});
		}
		var title = $('#contact-container .contact-title').html();
		$('#contact-container .contact-title').html('Loading...');
		dialog.overlay.fadeIn(200, function () {
			dialog.container.fadeIn(200, function () {
				dialog.data.fadeIn(200, function () {
					$('#contact-container .contact-content').animate({
						height: 180
					}, function () {
						$('#contact-container .contact-title').html(title);
						$('#contact-container form').fadeIn(200, function () {
							$('#contact-container #user-name').focus();
							// fix png's for IE 6
							if ($.browser.msie && $.browser.version < 7) {
								$('#contact-container .contact-button').each(function () {
									if ($(this).css('backgroundImage').match(/^url[("']+(.*\.png)[)"']+$/i)) {
										var src = RegExp.$1;
										$(this).css({
											backgroundImage: 'none',
											filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' +  src + '", sizingMethod="crop")'
										});
									}
								});
							}
						});
					});
				});
			});
		});
	},
	show: function (dialog) {
		$('#contact-container .contact-send').click(function (e) {
			e.preventDefault();
			if (contact.validate()) {
				$('#contact-container .contact-message').fadeOut(200, function () {
					$('#contact-container .contact-message').removeClass('contact-error').empty();
				});
				$('#contact-container .contact-title').html('Sending...');
				$('#contact-container form').fadeOut(200);
				$('#contact-container .contact-loading').fadeIn(200, function () {
					$.ajax({
						url: './?login',
						data: $('#contact-container form').serialize() + '&action=send',
						type: 'post',
						cache: false,
						dataType: 'html',
						complete: function (xhr) {
							var root = xhr.responseXML.documentElement;
							if (root.nodeName == 'error') {	
								contact.message = root.childNodes[0].firstChild.nodeValue;
								$('#contact-container .contact-loading').fadeOut(200, function () {
									$('#contact-container .contact-title').html('Login Error!');
									contact.showError();
									$('#contact-container form').fadeIn(200);
								});
							} else{
								$('#contact-container .contact-loading').fadeOut(200, function () {
									$('#contact-container .contact-title').html('Login Successful!');
									contact.message = "Redirecting to your account page..." 
									contact.showError();
									if(window.gotoPage != undefined)
										setTimeout('document.location.href = "./?'+window.gotoPage+'";', 1500)
									else
										setTimeout('document.location.href = "./?myaccount";', 1500)
									
								});
							}
						},
						error: contact.error
					});
				});
			}
			else {
				if ($('#contact-container .contact-message:visible').length > 0) {
					var msg = $('#contact-container .contact-message div');
					msg.fadeOut(200, function () {
						msg.empty();
						contact.showError();
						msg.fadeIn(200);
					});
				}
				else {
					$('#contact-container .contact-message').animate({
						height: '30px'
					}, contact.showError);
				}
				
			}
		});
		$('#contact-container .lost-pwd').click(function (e) {
			e.preventDefault();
			setTimeout('showLost();', 1200);
		});
	},
	close: function (dialog) {
		$('#contact-container .contact-message').fadeOut();
		$('#contact-container .contact-title').html('Closing...');
		$('#contact-container form').fadeOut(200);
		$('#contact-container .contact-content').animate({
			height: 40
		}, function () {
			dialog.data.fadeOut(200, function () {
				dialog.container.fadeOut(200, function () {
					dialog.overlay.fadeOut(200, function () {
						$.modal.close();
					});
				});
			});
		});
	},
	error: function (xhr) {
		alert(xhr.statusText);
	},
	validate: function () {
		contact.message = '';
		if (!$('#contact-container #user-name').val()) contact.message += 'Name is required. ';
		var email = $('#contact-container #user-pwd').val();
		if (!email) contact.message += 'Password is required. ';
		if (contact.message.length > 0) return false;
		else return true;
	},
	showError: function () {
		$('#contact-container .contact-message')
			.html($('<div class="contact-error">').append(contact.message))
			.fadeIn(200);
	}
};