<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>modal window</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<style type="text/css">
#main{
width:640px;
height:480px;
border:1px solid #000;
}
#buttons{
width:100px;
height:468px;
border:1px solid #000;
margin:5px;
float:left;
}
#mainnews{
width:516px;
height:468px;
border:1px solid #000;
margin:5px;
float:right;
}
.button{
width:auto;
height:35px;
border:1px solid #000;
}
.button a{
display:block;
height:33px;
}
.window{
width:auto;
height:466px;
border:1px solid #FF0000;
}
</style>
<script type="text/javascript">
$(function() {
var forms = ['login', 'join', 'media'];
$.each(forms, function(name) {
var button = $('#' + name + 'Button');
var box = $('#' + name + 'Box');
var form = $('#' + name + 'Form');
button.mouseup(function(event) {
box.toggle();
button.toggleClass('active');
});
form.mouseup(function() { //функция не позволяет форме закрыться если в её поле произошёл клик
return false;
});
$(document).mouseup(function(event) { //функция закроет форму если вне её поля произошёл клик
if(!($(event.target).parent('#' + name + 'Button').length > 0)) {
button.removeClass('active');
box.hide();
}
});
});
});
</script>
</head>
<body>
<div id="main">
<div id="buttons">
<div class="button" id="loginButton">
<a href="#">Кнопка login</a>
</div>
<div class="button" id="joinButton">
<a href="#">Кнопка join</a>
</div>
<div class="button" id="mediaButton">
<a href="#">Кнопка media</a>
</div>
</div>
<div id="mainnews">
<div class="window" id="loginBox">
<form id="loginForm">some text for login</form>
</div>
<div class="window" id="joinBox">
<form id="joinForm">some text for join</form>
</div>
<div class="window" id="mediaBox">
<form id="mediaForm">some text for media</form>
</div>
</div>
</div>
</body>
</html>