
$(document).ready( function() {
	$(".button").hover( function() {
		$(".button img").animate( {
			top : "-10px"
		}, 200).animate( {
			top : "-4px"
		}, 200) // first jump
				.animate( {
					top : "-7px"
				}, 100).animate( {
					top : "-4px"
				}, 100) // second jump
				.animate( {
					top : "-6px"
				}, 100).animate( {
					top : "-4px"
				}, 100); // the last jump
		});

	$(".buttonSkip").hover( function() {
		$(".buttonSkip img").animate( {
			top : "-10px"
		}, 200).animate( {
			top : "-4px"
		}, 200) // first jump
				.animate( {
					top : "-7px"
				}, 100).animate( {
					top : "-4px"
				}, 100) // second jump
				.animate( {
					top : "-6px"
				}, 100).animate( {
					top : "-4px"
				}, 100); // the last jump
		});

	$(".buttonCancel").hover( function() {
		$(".buttonCancel img").animate( {
			top : "-10px"
		}, 200).animate( {
			top : "-4px"
		}, 200) // first jump
				.animate( {
					top : "-7px"
				}, 100).animate( {
					top : "-4px"
				}, 100) // second jump
				.animate( {
					top : "-6px"
				}, 100).animate( {
					top : "-4px"
				}, 100); // the last jump
		});
	$('#ragistre2 a.loginContact').click( function(e) {
		e.preventDefault();
		// load the loginContact form using ajax
			$.get("index/entry", function(data) {
				// create a modal dialog with the data
					$(data).modal( {
						close : false,
						position : [ "40%", ],
						overlayId : 'loginContact-overlay',
						containerId : 'loginContact-container',
						onOpen : loginContact.open,
						onShow : loginContact.show,
						onClose : loginContact.close
					});
				});
		});

	// preload images
		var img = [ 'cancel.png', 'form_bottom.gif', 'form_top.gif',
				'loading.gif', 'send.png' ];
		$(img).each( function() {
			var i = new Image();
			i.src = 'images/loginContact/' + this;
		});
	});

var loginContact = {
	message : null,
	open : function(dialog) {
		// add padding to the buttons in firefox/mozilla
		if ($.browser.mozilla) {
			$('#loginContact-container .loginContact-button').css( {
				'padding-bottom' : '2px'
			});
		}
		// input field font size
		if ($.browser.safari) {
			$('#loginContact-container .loginContact-input').css( {
				'font-size' : '.9em'
			});
		}

		// dynamically determine height
		var h = 198;
		if ($('#loginContact-subject').length) {
			h += 26;
		}
		if ($('#loginContact-cc').length) {
			h += 22;
		}

		var title = $('#loginContact-container .loginContact-title').html();
		$('#loginContact-container .loginContact-title').html('Loading...');
		dialog.overlay
				.fadeIn(
						200,
						function() {
							dialog.container
									.fadeIn(
											200,
											function() {
												dialog.data
														.fadeIn(
																200,
																function() {
																	$(
																			'#loginContact-container .loginContact-content')
																			.animate(
																					{
																						height : h
																					},
																					function() {
																						$(
																								'#loginContact-container .loginContact-title')
																								.html(
																										title);
																						$(
																								'#loginContact-container form')
																								.fadeIn(
																										200,
																										function() {
																											$(
																													'#loginContact-container #loginContact-name')
																													.focus();

																											$(
																													'#loginContact-container .loginContact-cc')
																													.click(
																															function() {
																																var cc = $('#loginContact-container #loginContact-cc');
																																cc
																																		.is(':checked') ? cc
																																		.attr(
																																				'checked',
																																				'')
																																		: cc
																																				.attr(
																																						'checked',
																																						'checked');
																															});

																											// fix
																											// png's
																											// for
																											// IE 6
																											if ($.browser.msie
																													&& $.browser.version < 7) {
																												$(
																														'#loginContact-container .loginContact-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) {
		$('#loginContact-container .loginContact-send')
				.click( function(e) {
					e.preventDefault();
					// validate form
						if (loginContact.validate()) {
							$('#loginContact-container .loginContact-message')
									.fadeOut(
											function() {
												$(
														'#loginContact-container .loginContact-message')
														.removeClass(
																'loginContact-error')
														.empty();
											});
							$('#loginContact-container .loginContact-title')
									.html('Sending...');
							$('#loginContact-container form').fadeOut(200);
							$('#loginContact-container .loginContact-content')
									.animate(
											{
												height : '80px'
											},
											function() {
												$(
														'#loginContact-container .loginContact-loading')
														.fadeIn(
																200,
																function() {
																	$
																			.ajax( {
																				url : 'index/entry',
																				data : $(
																						'#loginContact-container form')
																						.serialize() + '&action=send',
																				type : 'post',
																				cache : false,
																				dataType : 'html',
																				complete : function(
																						xhr) {
																					$(
																							'#loginContact-container .loginContact-loading')
																							.fadeOut(
																									200,
																									function() {
																										$(
																												'#loginContact-container .loginContact-title')
																												.html(
																														'Thank you!');
																										$(
																												'#loginContact-container .loginContact-message')
																												.html(
																														xhr.responseText)
																												.fadeIn(
																														200);
																									});
																				},
																				error : loginContact.error
																			});
																});
											});
						} else {
							if ($('#loginContact-container .loginContact-message:visible').length > 0) {
								var msg = $('#loginContact-container .loginContact-message div');
								msg.fadeOut(200, function() {
									msg.empty();
									loginContact.showError();
									msg.fadeIn(200);
								});
							} else {
								$(
										'#loginContact-container .loginContact-message')
										.animate( {
											height : '30px'
										}, loginContact.showError);
							}

						}
					});
	},
	close : function(dialog) {
		$('#loginContact-container .loginContact-message').fadeOut();
		$('#loginContact-container .loginContact-title').html('Goodbye...');
		$('#loginContact-container form').fadeOut(200);
		$('#loginContact-container .loginContact-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() {
		loginContact.message = '';
		
			var user_id = $('#loginContact-container #loginContact-subject').val();
			var password = $('#loginContact-container #loginContact-message')
					.val();
			if (user_id != '' && password != '') {
				$.ajax( {
					type : "GET",
					url : "index/validateuser",
					data : "user_id=" + user_id + "&pass=" + password,
					dataType : "text",
					async : false,
					success : function(msg) {
						if (msg != 'Valid User ID or Password') {
							loginContact.message = msg;
						}

					}
				});
			}

			if (!$('#loginContact-container #loginContact-message').val()) {
				loginContact.message = 'Password is required. ';
			}
			if (!$('#loginContact-container #loginContact-subject').val()) {
				loginContact.message = 'User ID is required. ';
			}
			if (!(loginContact.message.length > 0)) {
				flag = 2;
			}

		if (loginContact.message.length > 0) {

			return false;
		} else {
			document.signup1.submit();
			// window.location="step2.php";
			return true;
		}
	},
	validateEmail : function(email) {
		var at = email.lastIndexOf("@");

		// Make sure the at (@) sybmol exists and
		// it is not the first or last character
		if (at < 1 || (at + 1) === email.length)
			return false;

		// Make sure there aren't multiple periods together
		if (/(\.{2,})/.test(email))
			return false;

		// Break up the local and domain portions
		var local = email.substring(0, at);
		var domain = email.substring(at + 1);

		// Check lengths
		if (local.length < 1 || local.length > 64 || domain.length < 4
				|| domain.length > 255)
			return false;

		// Make sure local and domain don't start with or end with a period
		if (/(^\.|\.$)/.test(local) || /(^\.|\.$)/.test(domain))
			return false;

		// Check for quoted-string addresses
		// Since almost anything is allowed in a quoted-string address,
		// we're just going to let them go through
		if (!/^"(.+)"$/.test(local)) {
			// It's a dot-string address...check for valid characters
			if (!/^[-a-zA-Z0-9!#$%*\/?|^{}`~&'+=_\.]*$/.test(local))
				return false;
		}

		// Make sure domain contains only valid characters and at least one period
		if (!/^[-a-zA-Z0-9\.]*$/.test(domain) || domain.indexOf(".") === -1)
			return false;

		return true;
	},
	validateUserName : function(user_name) {
		var position = user_name.lastIndexOf(" ");
		var fname = user_name.substring(0, position);
		var lname = user_name.substring(position + 1);
		flen = fname.length;
		llen = lname.length;
		if (!((flen > 0) && (llen > 0)))
			return false;

		return true;

	},
	isCheckedById : function(id) {
		var checked = $("input[@id=" + id + "]:checked").length;
		if (checked == 0) {
			return false;
		} else {
			return true;
		}
	},
	showError : function() {
		$('#loginContact-container .loginContact-message').html(
				$('<div class="loginContact-error">').append(
						loginContact.message)).fadeIn(200);
	}
};
