Texto de servicios ofrecidos y algunas fotos.
git-svn-id: https://192.168.0.254/svn/Proyectos.Intedi_Web/trunk@7 bb8bf09b-a688-453b-8f8d-2c74b69f9b56
90
src/contacto.html
Normal file
@ -0,0 +1,90 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="description" content=""/>
|
||||
<meta name="keywords" content=""/>
|
||||
|
||||
<title>INTEDI - Inspección técnica de edificios (ITE) - Pocería - Rehabilitaciones</title>
|
||||
<link rel="stylesheet" type="text/css" href="reset.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="forms.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="menu.css"/>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
function checkform(form)
|
||||
{
|
||||
if (form.nombre.value == "") {
|
||||
alert("No ha introducido un nombre.");
|
||||
return false ;
|
||||
}
|
||||
else if (form.email.value == "") {
|
||||
alert("No ha introducido una dirección de e-mail.");
|
||||
return false ;
|
||||
}
|
||||
else if (form.consulta.value == "") {
|
||||
alert("No ha el texto de su consulta.");
|
||||
return false ;
|
||||
}
|
||||
else
|
||||
return true ;
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="cabecera_layout">
|
||||
<div id="cabecera">
|
||||
<div id="logotipo"><span>Intedi</span></div>
|
||||
<h2>Pocería - Rehabilitaciones - Trabajos verticales<br/>Inspección técnica de edificios</h2>
|
||||
<div id="menu">
|
||||
<ul>
|
||||
<li><a href="index.html">Inicio</a></li>
|
||||
<li><a href="servicios.html">Servicios</a></li>
|
||||
<!-- <li><a href="proyectos.html">Obras realizadas</a></li>-->
|
||||
<li class="current">Contacto</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="cuerpo_layout">
|
||||
<div id="cuerpo">
|
||||
<div id="inicio_izquierda">
|
||||
<h3>Formulario de contacto</h3>
|
||||
<form name="form1" class="cmxform" method="post" action="send.php" onsubmit="return checkform(this);">
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
<ol>
|
||||
<li><label for="nombre">Su nombre: </label> <input class="campo" id="nombre" name="nombre" style="width: 360px;"/></li>
|
||||
<li><label for="email">Su email: </label> <input class="campo" id="email" name="email" style="width: 360px;"/></li>
|
||||
<li><label for="consulta">Su consulta: </label> <textarea class="campo" cols="43" rows="7" id="consulta" name="consulta" onkeyup="val=this.value; if (val.length > 800) { alert('Lo siento, has sobrepasado el limite de 800 caracteres'); this.value = val.substring(0,800); } this.form.count.value=800-parseInt(this.value.length); "></textarea></li>
|
||||
<li><label for="submit"></label><input type="submit" name="Submit" value="Enviar" title="Pulsa una vez para enviar el mensaje, y espera a la pantalla de confirmacion"></li>
|
||||
</ol>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
<div id="inicio_derecha">
|
||||
<h3>Acerca de Intedi</h3>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sollicitudin velit nec justo vehicula lobortis faucibus ante rutrum. Sed aliquet rhoncus sollicitudin.</p>
|
||||
<h3>Contacto</h3>
|
||||
<p><strong>C/ El Torno, nº 17<br/>
|
||||
28529 - Rivas - Madrid</strong><br/><br/>
|
||||
Teléfono: <strong>91 670 25 62</strong><br/>
|
||||
Móvil: <strong>607 202 703</strong><br/>
|
||||
E-Mail: <strong>intedimadrid@gmail.com</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div id="pie_layout">
|
||||
<div id="pie">
|
||||
<p><a href="">Aviso legal</a> | <a href="">Política de privacidad</a>
|
||||
<!--<br/>Diseñado por <a href="http://www.rodax-software.com" title="Rodax Software S.L.">Rodax Software S.L.</a> - 2009-->
|
||||
</p>
|
||||
</div >
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
80
src/contacto_ok.html
Normal file
@ -0,0 +1,80 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="description" content=""/>
|
||||
<meta name="keywords" content=""/>
|
||||
|
||||
<title>INTEDI - Inspección técnica de edificios (ITE) - Pocería - Rehabilitaciones</title>
|
||||
<link rel="stylesheet" type="text/css" href="reset.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="forms.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="menu.css"/>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
function checkform(form)
|
||||
{
|
||||
if (form.nombre.value == "") {
|
||||
alert("No ha introducido un nombre.");
|
||||
return false ;
|
||||
}
|
||||
else if (form.email.value == "") {
|
||||
alert("No ha introducido una dirección de e-mail.");
|
||||
return false ;
|
||||
}
|
||||
else if (form.consulta.value == "") {
|
||||
alert("No ha el texto de su consulta.");
|
||||
return false ;
|
||||
}
|
||||
else
|
||||
return true ;
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="cabecera_layout">
|
||||
<div id="cabecera">
|
||||
<div id="logotipo"><span>Intedi</span></div>
|
||||
<h2>Pocería - Rehabilitaciones - Trabajos verticales<br/>Inspección técnica de edificios</h2>
|
||||
<div id="menu">
|
||||
<ul>
|
||||
<li><a href="index.html">Inicio</a></li>
|
||||
<li><a href="servicios.html">Servicios</a></li>
|
||||
<!-- <li><a href="proyectos.html">Obras realizadas</a></li>-->
|
||||
<li class="current">Contacto</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="cuerpo_layout">
|
||||
<div id="cuerpo">
|
||||
<div id="inicio_izquierda">
|
||||
<h3>Gracias por su mensaje</h3>
|
||||
<p>Su mensaje ha sido enviado.</p>
|
||||
</div>
|
||||
<div id="inicio_derecha">
|
||||
<h3>Acerca de Intedi</h3>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sollicitudin velit nec justo vehicula lobortis faucibus ante rutrum. Sed aliquet rhoncus sollicitudin.</p>
|
||||
<h3>Contacto</h3>
|
||||
<p><strong>C/ El Torno, nº 17<br/>
|
||||
28529 - Rivas - Madrid</strong><br/><br/>
|
||||
Teléfono: <strong>91 670 25 62</strong><br/>
|
||||
Móvil: <strong>607 202 703</strong><br/>
|
||||
E-Mail: <strong>intedimadrid@gmail.com</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div id="pie_layout">
|
||||
<div id="pie">
|
||||
<p><a href="">Aviso legal</a> | <a href="">Política de privacidad</a>
|
||||
<!--<br/>Diseñado por <a href="http://www.rodax-software.com" title="Rodax Software S.L.">Rodax Software S.L.</a> - 2009-->
|
||||
</p>
|
||||
</div >
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -51,10 +51,10 @@ h3 {
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 120%;
|
||||
color: #444;
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
font-size: 110%;
|
||||
color: #49499A;
|
||||
}
|
||||
|
||||
a {
|
||||
@ -314,4 +314,29 @@ strong {
|
||||
clear: both;
|
||||
height: 1px;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
ul.doscolumnas {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.doscolumnas li {
|
||||
float: left;
|
||||
width: 50%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.fotos {
|
||||
width: 100%;
|
||||
margin: 8px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fotos img {
|
||||
margin: 5px;
|
||||
padding: 8px;
|
||||
background-color:#eee;
|
||||
border: 1px solid #ccc;
|
||||
|
||||
}
|
||||
@ -1,38 +1,42 @@
|
||||
/**********************************
|
||||
|
||||
Name: cmxform Styles
|
||||
Author: Nick Rigby
|
||||
|
||||
***********************************/
|
||||
|
||||
form.cmxform {
|
||||
margin: 0 0 0 50px;
|
||||
width: auto;
|
||||
font-size: 110%;
|
||||
color:#666;
|
||||
}
|
||||
|
||||
form.cmxform legend { }
|
||||
|
||||
form.cmxform label {
|
||||
margin-right: 20px;
|
||||
width: 85px;
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
form.cmxform fieldset {
|
||||
border: none;
|
||||
}
|
||||
|
||||
form.cmxform fieldset fieldset { }
|
||||
|
||||
|
||||
form.cmxform fieldset li {
|
||||
padding: 5px 10px 7px;
|
||||
}
|
||||
|
||||
form.cmxform input {
|
||||
|
||||
}
|
||||
/**********************************
|
||||
|
||||
Name: cmxform Styles
|
||||
Author: Nick Rigby
|
||||
|
||||
***********************************/
|
||||
|
||||
form.cmxform {
|
||||
margin: 0 0 0 50px;
|
||||
width: auto;
|
||||
font-size: 110%;
|
||||
color:#666;
|
||||
}
|
||||
|
||||
form.cmxform legend { }
|
||||
|
||||
form.cmxform label {
|
||||
margin-right: 20px;
|
||||
width: 85px;
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
form.cmxform fieldset {
|
||||
border: none;
|
||||
}
|
||||
|
||||
form.cmxform fieldset fieldset { }
|
||||
|
||||
|
||||
form.cmxform fieldset li {
|
||||
padding: 5px 10px 7px;
|
||||
}
|
||||
|
||||
form.cmxform input {
|
||||
}
|
||||
|
||||
.campo {
|
||||
border: 1px solid #999;
|
||||
background-color: #eee;
|
||||
}
|
||||
BIN
src/fotos/poceria-1.jpg
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
src/fotos/poceria-1_small.jpg
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
src/fotos/poceria-2.jpg
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
src/fotos/poceria-2_small.jpg
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
src/fotos/poceria-3.jpg
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
src/fotos/poceria-3_small.jpg
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
src/fotos/trabajos-verticales-1.jpg
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
src/fotos/trabajos-verticales-1_small.jpg
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
src/fotos/trabajos-verticales-2.jpg
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
src/fotos/trabajos-verticales-2_small.jpg
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
src/images/blank.gif
Normal file
|
After Width: | Height: | Size: 43 B |
BIN
src/images/closelabel.gif
Normal file
|
After Width: | Height: | Size: 786 B |
BIN
src/images/loading.gif
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
src/images/nextlabel.gif
Normal file
|
After Width: | Height: | Size: 354 B |
BIN
src/images/prevlabel.gif
Normal file
|
After Width: | Height: | Size: 371 B |
@ -20,8 +20,8 @@
|
||||
<ul>
|
||||
<li class="current">Inicio</li>
|
||||
<li><a href="servicios.html">Servicios</a></li>
|
||||
<li><a href="proyectos.html">Obras realizadas</a></li>
|
||||
<li>Contacto</li>
|
||||
<!--<li><a href="proyectos.html">Obras realizadas</a></li>-->
|
||||
<li><a href="contacto.html">Contacto</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
104
src/litebox/css/lightbox.css
Normal file
@ -0,0 +1,104 @@
|
||||
#lightbox{
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
text-align: center;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
#lightbox a img{ border: none; }
|
||||
|
||||
#outerImageContainer{
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
width: 250px;
|
||||
height: 250px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#imageContainer{
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#loading{
|
||||
position: absolute;
|
||||
top: 40%;
|
||||
left: 0%;
|
||||
height: 25%;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 0;
|
||||
}
|
||||
#hoverNav{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
}
|
||||
#imageContainer>#hoverNav{ left: 0;}
|
||||
#hoverNav a{ outline: none;}
|
||||
|
||||
#prevLink, #nextLink{
|
||||
width: 49%;
|
||||
height: 100%;
|
||||
background: transparent url(../images/blank.gif) no-repeat; /* Trick IE into showing hover */
|
||||
display: block;
|
||||
}
|
||||
#prevLink { left: 0; float: left;}
|
||||
#nextLink { right: 0; float: right;}
|
||||
#prevLink:hover, #prevLink:visited:hover { background: url(../images/prevlabel.gif) left 15% no-repeat; }
|
||||
#nextLink:hover, #nextLink:visited:hover { background: url(../images/nextlabel.gif) right 15% no-repeat; }
|
||||
|
||||
|
||||
#imageDataContainer{
|
||||
font: 10px Verdana, Helvetica, sans-serif;
|
||||
background-color: #fff;
|
||||
margin: 0 auto;
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
#imageData{
|
||||
padding:0 10px;
|
||||
}
|
||||
#imageData #imageDetails{ width: 70%; float: left; text-align: left; }
|
||||
#imageData #caption{ font-weight: bold; }
|
||||
#imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em; }
|
||||
#imageData #bottomNavClose{ width: 66px; float: right; padding-bottom: 0.7em; }
|
||||
|
||||
#overlay{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 90;
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
background-color: #000;
|
||||
filter:alpha(opacity=60);
|
||||
-moz-opacity: 0.6;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
|
||||
.clearfix:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
* html>body .clearfix {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
* html .clearfix {
|
||||
/* Hides from IE-mac \*/
|
||||
height: 1%;
|
||||
/* End hide from IE-mac */
|
||||
}
|
||||
|
||||
20
src/litebox/css/style.css
Normal file
@ -0,0 +1,20 @@
|
||||
html, body { height:100%; }
|
||||
body {
|
||||
font-family:Verdana,arial,Tahoma;
|
||||
font-size:.8em;
|
||||
color:#222;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:#fff;
|
||||
text-align:justify;
|
||||
}
|
||||
a { color:#557FFF; }
|
||||
a:hover { text-decoration:none; }
|
||||
p, li { margin:2px; color:#555; padding:2px}
|
||||
ul { padding-left:1em; }
|
||||
img { border: none; }
|
||||
.bordered { border:1px solid #aaa; }
|
||||
h1 { text-align:right; margin:2px; color:#000; font-family:Georgia,Arial,Tahoma; font-size: 3em;}
|
||||
h3, h5 { margin-bottom:4px; }
|
||||
textarea { background:#ccc; color:#333; border:1px solid #aaa; }
|
||||
#content { width:700px; background:#eee; margin-left:auto; margin-right:auto; padding:8px; border-left:10px solid #ccc; border-right:10px solid #ccc; }
|
||||
603
src/litebox/js/litebox-1.0.js
Normal file
@ -0,0 +1,603 @@
|
||||
// -----------------------------------------------------------------------------------
|
||||
//
|
||||
// Litebox v1.0
|
||||
// A combined effort between detrate and gannon
|
||||
// 07/03/06
|
||||
//
|
||||
// Source edited from Lightbox v2.02
|
||||
// by Lokesh Dhakar - http://www.huddletogether.com
|
||||
//
|
||||
// For more information on this script, visit:
|
||||
// http://doknowevil.net/litebox
|
||||
//
|
||||
// Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
|
||||
//
|
||||
// Credit also due to those who have helped, inspired, and made their code available to the public.
|
||||
// Including: Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.org), Thomas Fuchs(mir.aculo.us), and others.
|
||||
//
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Configuration
|
||||
//
|
||||
var fileLoadingImage = "images/loading.gif";
|
||||
var fileBottomNavCloseImage = "images/closelabel.gif";
|
||||
var resizeSpeed = 6; // controls the speed of the image resizing (1=slowest and 10=fastest)
|
||||
var borderSize = 10; //if you adjust the padding in the CSS, you will need to update this variable
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Global Variables
|
||||
//
|
||||
var imageArray = new Array;
|
||||
var activeImage;
|
||||
|
||||
if(resizeSpeed > 10){ resizeSpeed = 10;}
|
||||
if(resizeSpeed < 1){ resizeSpeed = 1;}
|
||||
resizeDuration = (11 - resizeSpeed) * 100;
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Additional methods for Element added by SU, Couloir
|
||||
// - further additions by Lokesh Dhakar (huddletogether.com)
|
||||
//
|
||||
Object.extend(Element, {
|
||||
hide: function() {
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var element = $(arguments[i]);
|
||||
element.style.display = 'none';
|
||||
}
|
||||
},
|
||||
show: function() {
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var element = $(arguments[i]);
|
||||
element.style.display = '';
|
||||
}
|
||||
},
|
||||
getWidth: function(element) {
|
||||
element = $(element);
|
||||
return element.offsetWidth;
|
||||
},
|
||||
setWidth: function(element,w) {
|
||||
element = $(element);
|
||||
element.style.width = w +"px";
|
||||
},
|
||||
getHeight: function(element) {
|
||||
element = $(element);
|
||||
return element.offsetHeight;
|
||||
},
|
||||
setHeight: function(element,h) {
|
||||
element = $(element);
|
||||
element.style.height = h +"px";
|
||||
},
|
||||
setTop: function(element,t) {
|
||||
element = $(element);
|
||||
element.style.top = t +"px";
|
||||
},
|
||||
setSrc: function(element,src) {
|
||||
element = $(element);
|
||||
element.src = src;
|
||||
},
|
||||
setInnerHTML: function(element,content) {
|
||||
element = $(element);
|
||||
element.innerHTML = content;
|
||||
}
|
||||
});
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Extending built-in Array object
|
||||
//
|
||||
Array.prototype.removeDuplicates = function () {
|
||||
for(i = 1; i < this.length; i++){
|
||||
if(this[i][0] == this[i-1][0]){
|
||||
this.splice(i,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Array.prototype.empty = function () {
|
||||
for(i = 0; i <= this.length; i++){
|
||||
this.shift();
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
//
|
||||
// Structuring of code inspired by Scott Upton (http://www.uptonic.com/)
|
||||
//
|
||||
var Lightbox = Class.create();
|
||||
|
||||
Lightbox.prototype = {
|
||||
|
||||
// initialize()
|
||||
// Constructor runs on completion of the DOM loading. Loops through anchor tags looking for
|
||||
// 'lightbox' references and applies onclick events to appropriate links. The 2nd section of
|
||||
// the function inserts html at the bottom of the page which is used to display the shadow
|
||||
// overlay and the image container.
|
||||
//
|
||||
initialize: function() {
|
||||
if (!document.getElementsByTagName){ return; }
|
||||
var anchors = document.getElementsByTagName('a');
|
||||
|
||||
// loop through all anchor tags
|
||||
for (var i=0; i<anchors.length; i++){
|
||||
var anchor = anchors[i];
|
||||
|
||||
var relAttribute = String(anchor.getAttribute('rel'));
|
||||
|
||||
// use the string.match() method to catch 'lightbox' references in the rel attribute
|
||||
if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('lightbox'))){
|
||||
anchor.onclick = function () {myLightbox.start(this); return false;}
|
||||
}
|
||||
}
|
||||
|
||||
var objBody = document.getElementsByTagName("body").item(0);
|
||||
|
||||
var objOverlay = document.createElement("div");
|
||||
objOverlay.setAttribute('id','overlay');
|
||||
objOverlay.onclick = function() { myLightbox.end(); return false; }
|
||||
objBody.appendChild(objOverlay);
|
||||
|
||||
var objLightbox = document.createElement("div");
|
||||
objLightbox.setAttribute('id','lightbox');
|
||||
objLightbox.style.display = 'none';
|
||||
objBody.appendChild(objLightbox);
|
||||
|
||||
var objOuterImageContainer = document.createElement("div");
|
||||
objOuterImageContainer.setAttribute('id','outerImageContainer');
|
||||
objLightbox.appendChild(objOuterImageContainer);
|
||||
|
||||
var objImageContainer = document.createElement("div");
|
||||
objImageContainer.setAttribute('id','imageContainer');
|
||||
objOuterImageContainer.appendChild(objImageContainer);
|
||||
|
||||
var objLightboxImage = document.createElement("img");
|
||||
objLightboxImage.setAttribute('id','lightboxImage');
|
||||
objImageContainer.appendChild(objLightboxImage);
|
||||
|
||||
var objHoverNav = document.createElement("div");
|
||||
objHoverNav.setAttribute('id','hoverNav');
|
||||
objImageContainer.appendChild(objHoverNav);
|
||||
|
||||
var objPrevLink = document.createElement("a");
|
||||
objPrevLink.setAttribute('id','prevLink');
|
||||
objPrevLink.setAttribute('href','#');
|
||||
objHoverNav.appendChild(objPrevLink);
|
||||
|
||||
var objNextLink = document.createElement("a");
|
||||
objNextLink.setAttribute('id','nextLink');
|
||||
objNextLink.setAttribute('href','#');
|
||||
objHoverNav.appendChild(objNextLink);
|
||||
|
||||
var objLoading = document.createElement("div");
|
||||
objLoading.setAttribute('id','loading');
|
||||
objImageContainer.appendChild(objLoading);
|
||||
|
||||
var objLoadingLink = document.createElement("a");
|
||||
objLoadingLink.setAttribute('id','loadingLink');
|
||||
objLoadingLink.setAttribute('href','#');
|
||||
objLoadingLink.onclick = function() { myLightbox.end(); return false; }
|
||||
objLoading.appendChild(objLoadingLink);
|
||||
|
||||
var objLoadingImage = document.createElement("img");
|
||||
objLoadingImage.setAttribute('src', fileLoadingImage);
|
||||
objLoadingLink.appendChild(objLoadingImage);
|
||||
|
||||
var objImageDataContainer = document.createElement("div");
|
||||
objImageDataContainer.setAttribute('id','imageDataContainer');
|
||||
objImageDataContainer.className = 'clearfix';
|
||||
objLightbox.appendChild(objImageDataContainer);
|
||||
|
||||
var objImageData = document.createElement("div");
|
||||
objImageData.setAttribute('id','imageData');
|
||||
objImageDataContainer.appendChild(objImageData);
|
||||
|
||||
var objImageDetails = document.createElement("div");
|
||||
objImageDetails.setAttribute('id','imageDetails');
|
||||
objImageData.appendChild(objImageDetails);
|
||||
|
||||
var objCaption = document.createElement("span");
|
||||
objCaption.setAttribute('id','caption');
|
||||
objImageDetails.appendChild(objCaption);
|
||||
|
||||
var objNumberDisplay = document.createElement("span");
|
||||
objNumberDisplay.setAttribute('id','numberDisplay');
|
||||
objImageDetails.appendChild(objNumberDisplay);
|
||||
|
||||
var objBottomNav = document.createElement("div");
|
||||
objBottomNav.setAttribute('id','bottomNav');
|
||||
objImageData.appendChild(objBottomNav);
|
||||
|
||||
var objBottomNavCloseLink = document.createElement("a");
|
||||
objBottomNavCloseLink.setAttribute('id','bottomNavClose');
|
||||
objBottomNavCloseLink.setAttribute('href','#');
|
||||
objBottomNavCloseLink.onclick = function() { myLightbox.end(); return false; }
|
||||
objBottomNav.appendChild(objBottomNavCloseLink);
|
||||
|
||||
var objBottomNavCloseImage = document.createElement("img");
|
||||
objBottomNavCloseImage.setAttribute('src', fileBottomNavCloseImage);
|
||||
objBottomNavCloseLink.appendChild(objBottomNavCloseImage);
|
||||
|
||||
overlayEffect = new fx.Opacity(objOverlay, { duration: 300 });
|
||||
overlayEffect.hide();
|
||||
|
||||
imageEffect = new fx.Opacity(objLightboxImage, { duration: 350, onComplete: function() { imageDetailsEffect.custom(0,1); }});
|
||||
imageEffect.hide();
|
||||
|
||||
imageDetailsEffect = new fx.Opacity('imageDataContainer', { duration: 400, onComplete: function() { navEffect.custom(0,1); }});
|
||||
imageDetailsEffect.hide();
|
||||
|
||||
navEffect = new fx.Opacity('hoverNav', { duration: 100 });
|
||||
navEffect.hide();
|
||||
},
|
||||
|
||||
//
|
||||
// start()
|
||||
// Display overlay and lightbox. If image is part of a set, add siblings to imageArray.
|
||||
//
|
||||
start: function(imageLink) {
|
||||
|
||||
hideSelectBoxes();
|
||||
|
||||
// stretch overlay to fill page and fade in
|
||||
var arrayPageSize = getPageSize();
|
||||
Element.setHeight('overlay', arrayPageSize[1]);
|
||||
overlayEffect.custom(0,0.8);
|
||||
|
||||
imageArray = [];
|
||||
imageNum = 0;
|
||||
|
||||
if (!document.getElementsByTagName){ return; }
|
||||
var anchors = document.getElementsByTagName('a');
|
||||
|
||||
// if image is NOT part of a set..
|
||||
if((imageLink.getAttribute('rel') == 'lightbox')){
|
||||
// add single image to imageArray
|
||||
imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title')));
|
||||
} else {
|
||||
// if image is part of a set..
|
||||
|
||||
// loop through anchors, find other images in set, and add them to imageArray
|
||||
for (var i=0; i<anchors.length; i++){
|
||||
var anchor = anchors[i];
|
||||
if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))){
|
||||
imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title')));
|
||||
}
|
||||
}
|
||||
imageArray.removeDuplicates();
|
||||
while(imageArray[imageNum][0] != imageLink.getAttribute('href')) { imageNum++;}
|
||||
}
|
||||
|
||||
// calculate top offset for the lightbox and display
|
||||
var arrayPageSize = getPageSize();
|
||||
var arrayPageScroll = getPageScroll();
|
||||
var lightboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 15);
|
||||
|
||||
Element.setTop('lightbox', lightboxTop);
|
||||
Element.show('lightbox');
|
||||
this.changeImage(imageNum);
|
||||
},
|
||||
|
||||
//
|
||||
// changeImage()
|
||||
// Hide most elements and preload image in preparation for resizing image container.
|
||||
//
|
||||
changeImage: function(imageNum) {
|
||||
|
||||
activeImage = imageNum; // update global var
|
||||
|
||||
// hide elements during transition
|
||||
Element.show('loading');
|
||||
imageDetailsEffect.hide();
|
||||
imageEffect.hide();
|
||||
navEffect.hide();
|
||||
Element.hide('prevLink');
|
||||
Element.hide('nextLink');
|
||||
Element.hide('numberDisplay');
|
||||
|
||||
imgPreloader = new Image();
|
||||
// once image is preloaded, resize image container
|
||||
imgPreloader.onload=function(){
|
||||
Element.setSrc('lightboxImage', imageArray[activeImage][0]);
|
||||
myLightbox.resizeImageContainer(imgPreloader.width, imgPreloader.height);
|
||||
}
|
||||
imgPreloader.src = imageArray[activeImage][0];
|
||||
},
|
||||
|
||||
//
|
||||
// resizeImageContainer()
|
||||
//
|
||||
resizeImageContainer: function( imgWidth, imgHeight) {
|
||||
|
||||
// get current height and width
|
||||
this.wCur = Element.getWidth('outerImageContainer');
|
||||
this.hCur = Element.getHeight('outerImageContainer');
|
||||
|
||||
// calculate size difference between new and old image, and resize if necessary
|
||||
wDiff = (this.wCur - borderSize * 2) - imgWidth;
|
||||
hDiff = (this.hCur - borderSize * 2) - imgHeight;
|
||||
|
||||
// Resize the outerImageContainer very sexy like
|
||||
reHeight = new fx.Height('outerImageContainer', { duration: resizeDuration });
|
||||
reHeight.custom(Element.getHeight('outerImageContainer'),imgHeight+(borderSize*2));
|
||||
reWidth = new fx.Width('outerImageContainer', { duration: resizeDuration, onComplete: function() { imageEffect.custom(0,1); }});
|
||||
reWidth.custom(Element.getWidth('outerImageContainer'),imgWidth+(borderSize*2));
|
||||
|
||||
// if new and old image are same size and no scaling transition is necessary,
|
||||
// do a quick pause to prevent image flicker.
|
||||
if((hDiff == 0) && (wDiff == 0)){
|
||||
if (navigator.appVersion.indexOf("MSIE")!=-1){ pause(250); } else { pause(100);}
|
||||
}
|
||||
|
||||
Element.setHeight('prevLink', imgHeight);
|
||||
Element.setHeight('nextLink', imgHeight);
|
||||
Element.setWidth( 'imageDataContainer', imgWidth + (borderSize * 2));
|
||||
Element.setWidth( 'hoverNav', imgWidth + (borderSize * 2));
|
||||
|
||||
this.showImage();
|
||||
},
|
||||
|
||||
//
|
||||
// showImage()
|
||||
// Display image and begin preloading neighbors.
|
||||
//
|
||||
showImage: function(){
|
||||
Element.hide('loading');
|
||||
myLightbox.updateDetails();
|
||||
this.preloadNeighborImages();
|
||||
},
|
||||
|
||||
//
|
||||
// updateDetails()
|
||||
// Display caption, image number, and bottom nav.
|
||||
//
|
||||
updateDetails: function() {
|
||||
|
||||
Element.show('caption');
|
||||
Element.setInnerHTML( 'caption', imageArray[activeImage][1]);
|
||||
|
||||
// if image is part of set display 'Image x of x'
|
||||
if(imageArray.length > 1){
|
||||
Element.show('numberDisplay');
|
||||
Element.setInnerHTML( 'numberDisplay', "Image " + eval(activeImage + 1) + " of " + imageArray.length);
|
||||
}
|
||||
|
||||
myLightbox.updateNav();
|
||||
},
|
||||
//
|
||||
// updateNav()
|
||||
// Display appropriate previous and next hover navigation.
|
||||
//
|
||||
updateNav: function() {
|
||||
|
||||
// if not first image in set, display prev image button
|
||||
if(activeImage != 0){
|
||||
Element.show('prevLink');
|
||||
document.getElementById('prevLink').onclick = function() {
|
||||
myLightbox.changeImage(activeImage - 1); return false;
|
||||
}
|
||||
}
|
||||
|
||||
// if not last image in set, display next image button
|
||||
if(activeImage != (imageArray.length - 1)){
|
||||
Element.show('nextLink');
|
||||
document.getElementById('nextLink').onclick = function() {
|
||||
myLightbox.changeImage(activeImage + 1); return false;
|
||||
}
|
||||
}
|
||||
|
||||
this.enableKeyboardNav();
|
||||
},
|
||||
|
||||
//
|
||||
// enableKeyboardNav()
|
||||
//
|
||||
enableKeyboardNav: function() {
|
||||
document.onkeydown = this.keyboardAction;
|
||||
},
|
||||
|
||||
//
|
||||
// disableKeyboardNav()
|
||||
//
|
||||
disableKeyboardNav: function() {
|
||||
document.onkeydown = '';
|
||||
},
|
||||
|
||||
//
|
||||
// keyboardAction()
|
||||
//
|
||||
keyboardAction: function(e) {
|
||||
if (e == null) { // ie
|
||||
keycode = event.keyCode;
|
||||
} else { // mozilla
|
||||
keycode = e.which;
|
||||
}
|
||||
|
||||
key = String.fromCharCode(keycode).toLowerCase();
|
||||
|
||||
if((key == 'x') || (key == 'o') || (key == 'c')){ // close lightbox
|
||||
myLightbox.end();
|
||||
} else if(key == 'p'){ // display previous image
|
||||
if(activeImage != 0){
|
||||
myLightbox.disableKeyboardNav();
|
||||
myLightbox.changeImage(activeImage - 1);
|
||||
}
|
||||
} else if(key == 'n'){ // display next image
|
||||
if(activeImage != (imageArray.length - 1)){
|
||||
myLightbox.disableKeyboardNav();
|
||||
myLightbox.changeImage(activeImage + 1);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
//
|
||||
// preloadNeighborImages()
|
||||
// Preload previous and next images.
|
||||
//
|
||||
preloadNeighborImages: function(){
|
||||
|
||||
if((imageArray.length - 1) > activeImage){
|
||||
preloadNextImage = new Image();
|
||||
preloadNextImage.src = imageArray[activeImage + 1][0];
|
||||
}
|
||||
if(activeImage > 0){
|
||||
preloadPrevImage = new Image();
|
||||
preloadPrevImage.src = imageArray[activeImage - 1][0];
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//
|
||||
// end()
|
||||
//
|
||||
end: function() {
|
||||
this.disableKeyboardNav();
|
||||
Element.hide('lightbox');
|
||||
imageEffect.toggle();
|
||||
overlayEffect.custom(0.8,0);
|
||||
showSelectBoxes();
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// getPageScroll()
|
||||
// Returns array with x,y page scroll values.
|
||||
// Core code from - quirksmode.org
|
||||
//
|
||||
function getPageScroll(){
|
||||
|
||||
var yScroll;
|
||||
|
||||
if (self.pageYOffset) {
|
||||
yScroll = self.pageYOffset;
|
||||
} else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict
|
||||
yScroll = document.documentElement.scrollTop;
|
||||
} else if (document.body) {// all other Explorers
|
||||
yScroll = document.body.scrollTop;
|
||||
}
|
||||
|
||||
arrayPageScroll = new Array('',yScroll)
|
||||
return arrayPageScroll;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// getPageSize()
|
||||
// Returns array with page width, height and window width, height
|
||||
// Core code from - quirksmode.org
|
||||
// Edit for Firefox by pHaez
|
||||
//
|
||||
function getPageSize(){
|
||||
|
||||
var xScroll, yScroll;
|
||||
|
||||
if (window.innerHeight && window.scrollMaxY) {
|
||||
xScroll = document.body.scrollWidth;
|
||||
yScroll = window.innerHeight + window.scrollMaxY;
|
||||
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
|
||||
xScroll = document.body.scrollWidth;
|
||||
yScroll = document.body.scrollHeight;
|
||||
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
|
||||
xScroll = document.body.offsetWidth;
|
||||
yScroll = document.body.offsetHeight;
|
||||
}
|
||||
|
||||
var windowWidth, windowHeight;
|
||||
if (self.innerHeight) { // all except Explorer
|
||||
windowWidth = self.innerWidth;
|
||||
windowHeight = self.innerHeight;
|
||||
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
|
||||
windowWidth = document.documentElement.clientWidth;
|
||||
windowHeight = document.documentElement.clientHeight;
|
||||
} else if (document.body) { // other Explorers
|
||||
windowWidth = document.body.clientWidth;
|
||||
windowHeight = document.body.clientHeight;
|
||||
}
|
||||
|
||||
// for small pages with total height less then height of the viewport
|
||||
if(yScroll < windowHeight){
|
||||
pageHeight = windowHeight;
|
||||
} else {
|
||||
pageHeight = yScroll;
|
||||
}
|
||||
|
||||
// for small pages with total width less then width of the viewport
|
||||
if(xScroll < windowWidth){
|
||||
pageWidth = windowWidth;
|
||||
} else {
|
||||
pageWidth = xScroll;
|
||||
}
|
||||
|
||||
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
|
||||
return arrayPageSize;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// getKey(key)
|
||||
// Gets keycode. If 'x' is pressed then it hides the lightbox.
|
||||
//
|
||||
function getKey(e){
|
||||
if (e == null) { // ie
|
||||
keycode = event.keyCode;
|
||||
} else { // mozilla
|
||||
keycode = e.which;
|
||||
}
|
||||
key = String.fromCharCode(keycode).toLowerCase();
|
||||
|
||||
if(key == 'x'){
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// listenKey()
|
||||
//
|
||||
function listenKey () { document.onkeypress = getKey; }
|
||||
|
||||
// ---------------------------------------------------
|
||||
|
||||
function showSelectBoxes(){
|
||||
selects = document.getElementsByTagName("select");
|
||||
for (i = 0; i != selects.length; i++) {
|
||||
selects[i].style.visibility = "visible";
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------
|
||||
|
||||
function hideSelectBoxes(){
|
||||
selects = document.getElementsByTagName("select");
|
||||
for (i = 0; i != selects.length; i++) {
|
||||
selects[i].style.visibility = "hidden";
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------
|
||||
|
||||
//
|
||||
// pause(numberMillis)
|
||||
// Pauses code execution for specified time. Uses busy code, not good.
|
||||
// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602
|
||||
//
|
||||
function pause(numberMillis) {
|
||||
var now = new Date();
|
||||
var exitTime = now.getTime() + numberMillis;
|
||||
while (true) {
|
||||
now = new Date();
|
||||
if (now.getTime() > exitTime)
|
||||
return;
|
||||
}
|
||||
}
|
||||
// ---------------------------------------------------
|
||||
|
||||
function initLightbox() { myLightbox = new Lightbox(); }
|
||||
133
src/litebox/js/moo.fx.js
Normal file
@ -0,0 +1,133 @@
|
||||
/*
|
||||
moo.fx, simple effects library built with prototype.js (http://prototype.conio.net).
|
||||
by Valerio Proietti (http://mad4milk.net) MIT-style LICENSE.
|
||||
for more info (http://moofx.mad4milk.net).
|
||||
Sunday, March 05, 2006
|
||||
v 1.2.3
|
||||
*/
|
||||
|
||||
var fx = new Object();
|
||||
//base
|
||||
fx.Base = function(){};
|
||||
fx.Base.prototype = {
|
||||
setOptions: function(options) {
|
||||
this.options = {
|
||||
duration: 500,
|
||||
onComplete: '',
|
||||
transition: fx.sinoidal
|
||||
}
|
||||
Object.extend(this.options, options || {});
|
||||
},
|
||||
|
||||
step: function() {
|
||||
var time = (new Date).getTime();
|
||||
if (time >= this.options.duration+this.startTime) {
|
||||
this.now = this.to;
|
||||
clearInterval (this.timer);
|
||||
this.timer = null;
|
||||
if (this.options.onComplete) setTimeout(this.options.onComplete.bind(this), 10);
|
||||
}
|
||||
else {
|
||||
var Tpos = (time - this.startTime) / (this.options.duration);
|
||||
this.now = this.options.transition(Tpos) * (this.to-this.from) + this.from;
|
||||
}
|
||||
this.increase();
|
||||
},
|
||||
|
||||
custom: function(from, to) {
|
||||
if (this.timer != null) return;
|
||||
this.from = from;
|
||||
this.to = to;
|
||||
this.startTime = (new Date).getTime();
|
||||
this.timer = setInterval (this.step.bind(this), 13);
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
this.now = 0;
|
||||
this.increase();
|
||||
},
|
||||
|
||||
clearTimer: function() {
|
||||
clearInterval(this.timer);
|
||||
this.timer = null;
|
||||
}
|
||||
}
|
||||
|
||||
//stretchers
|
||||
fx.Layout = Class.create();
|
||||
fx.Layout.prototype = Object.extend(new fx.Base(), {
|
||||
initialize: function(el, options) {
|
||||
this.el = $(el);
|
||||
this.el.style.overflow = "hidden";
|
||||
this.iniWidth = this.el.offsetWidth;
|
||||
this.iniHeight = this.el.offsetHeight;
|
||||
this.setOptions(options);
|
||||
}
|
||||
});
|
||||
|
||||
fx.Height = Class.create();
|
||||
Object.extend(Object.extend(fx.Height.prototype, fx.Layout.prototype), {
|
||||
increase: function() {
|
||||
this.el.style.height = this.now + "px";
|
||||
},
|
||||
|
||||
toggle: function() {
|
||||
if (this.el.offsetHeight > 0) this.custom(this.el.offsetHeight, 0);
|
||||
else this.custom(0, this.el.scrollHeight);
|
||||
}
|
||||
});
|
||||
|
||||
fx.Width = Class.create();
|
||||
Object.extend(Object.extend(fx.Width.prototype, fx.Layout.prototype), {
|
||||
increase: function() {
|
||||
this.el.style.width = this.now + "px";
|
||||
},
|
||||
|
||||
toggle: function(){
|
||||
if (this.el.offsetWidth > 0) this.custom(this.el.offsetWidth, 0);
|
||||
else this.custom(0, this.iniWidth);
|
||||
}
|
||||
});
|
||||
|
||||
//fader
|
||||
fx.Opacity = Class.create();
|
||||
fx.Opacity.prototype = Object.extend(new fx.Base(), {
|
||||
initialize: function(el, options) {
|
||||
this.el = $(el);
|
||||
this.now = 1;
|
||||
this.increase();
|
||||
this.setOptions(options);
|
||||
},
|
||||
|
||||
increase: function() {
|
||||
if (this.now == 1 && (/Firefox/.test(navigator.userAgent))) this.now = 0.9999;
|
||||
this.setOpacity(this.now);
|
||||
},
|
||||
|
||||
setOpacity: function(opacity) {
|
||||
if (opacity == 0 && this.el.style.visibility != "hidden") this.el.style.visibility = "hidden";
|
||||
else if (this.el.style.visibility != "visible") this.el.style.visibility = "visible";
|
||||
if (window.ActiveXObject) this.el.style.filter = "alpha(opacity=" + opacity*100 + ")";
|
||||
this.el.style.opacity = opacity;
|
||||
},
|
||||
|
||||
toggle: function() {
|
||||
if (this.now > 0) this.custom(1, 0);
|
||||
else this.custom(0, 1);
|
||||
}
|
||||
});
|
||||
|
||||
//transitions
|
||||
fx.sinoidal = function(pos){
|
||||
return ((-Math.cos(pos*Math.PI)/2) + 0.5);
|
||||
//this transition is from script.aculo.us
|
||||
}
|
||||
fx.linear = function(pos){
|
||||
return pos;
|
||||
}
|
||||
fx.cubic = function(pos){
|
||||
return Math.pow(pos, 3);
|
||||
}
|
||||
fx.circ = function(pos){
|
||||
return Math.sqrt(pos);
|
||||
}
|
||||
132
src/litebox/js/prototype.lite.js
vendored
Normal file
@ -0,0 +1,132 @@
|
||||
/* Prototype JavaScript framework
|
||||
* (c) 2005 Sam Stephenson <sam@conio.net>
|
||||
* Prototype is freely distributable under the terms of an MIT-style license.
|
||||
* For details, see the Prototype web site: http://prototype.conio.net/
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
//note: modified & stripped down version of prototype, to be used with moo.fx by mad4milk (http://moofx.mad4milk.net).
|
||||
|
||||
var Class = {
|
||||
create: function() {
|
||||
return function() {
|
||||
this.initialize.apply(this, arguments);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Object.extend = function(destination, source) {
|
||||
for (property in source) destination[property] = source[property];
|
||||
return destination;
|
||||
}
|
||||
|
||||
Function.prototype.bind = function(object) {
|
||||
var __method = this;
|
||||
return function() {
|
||||
return __method.apply(object, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
Function.prototype.bindAsEventListener = function(object) {
|
||||
var __method = this;
|
||||
return function(event) {
|
||||
__method.call(object, event || window.event);
|
||||
}
|
||||
}
|
||||
|
||||
function $() {
|
||||
if (arguments.length == 1) return get$(arguments[0]);
|
||||
var elements = [];
|
||||
$c(arguments).each(function(el){
|
||||
elements.push(get$(el));
|
||||
});
|
||||
return elements;
|
||||
|
||||
function get$(el){
|
||||
if (typeof el == 'string') el = document.getElementById(el);
|
||||
return el;
|
||||
}
|
||||
}
|
||||
|
||||
if (!window.Element) var Element = new Object();
|
||||
|
||||
Object.extend(Element, {
|
||||
remove: function(element) {
|
||||
element = $(element);
|
||||
element.parentNode.removeChild(element);
|
||||
},
|
||||
|
||||
hasClassName: function(element, className) {
|
||||
element = $(element);
|
||||
if (!element) return;
|
||||
var hasClass = false;
|
||||
element.className.split(' ').each(function(cn){
|
||||
if (cn == className) hasClass = true;
|
||||
});
|
||||
return hasClass;
|
||||
},
|
||||
|
||||
addClassName: function(element, className) {
|
||||
element = $(element);
|
||||
Element.removeClassName(element, className);
|
||||
element.className += ' ' + className;
|
||||
},
|
||||
|
||||
removeClassName: function(element, className) {
|
||||
element = $(element);
|
||||
if (!element) return;
|
||||
var newClassName = '';
|
||||
element.className.split(' ').each(function(cn, i){
|
||||
if (cn != className){
|
||||
if (i > 0) newClassName += ' ';
|
||||
newClassName += cn;
|
||||
}
|
||||
});
|
||||
element.className = newClassName;
|
||||
},
|
||||
|
||||
cleanWhitespace: function(element) {
|
||||
element = $(element);
|
||||
$c(element.childNodes).each(function(node){
|
||||
if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) Element.remove(node);
|
||||
});
|
||||
},
|
||||
|
||||
find: function(element, what) {
|
||||
element = $(element)[what];
|
||||
while (element.nodeType != 1) element = element[what];
|
||||
return element;
|
||||
}
|
||||
});
|
||||
|
||||
var Position = {
|
||||
cumulativeOffset: function(element) {
|
||||
var valueT = 0, valueL = 0;
|
||||
do {
|
||||
valueT += element.offsetTop || 0;
|
||||
valueL += element.offsetLeft || 0;
|
||||
element = element.offsetParent;
|
||||
} while (element);
|
||||
return [valueL, valueT];
|
||||
}
|
||||
};
|
||||
|
||||
document.getElementsByClassName = function(className) {
|
||||
var children = document.getElementsByTagName('*') || document.all;
|
||||
var elements = [];
|
||||
$c(children).each(function(child){
|
||||
if (Element.hasClassName(child, className)) elements.push(child);
|
||||
});
|
||||
return elements;
|
||||
}
|
||||
|
||||
//useful array functions
|
||||
Array.prototype.iterate = function(func){
|
||||
for(var i=0;i<this.length;i++) func(this[i], i);
|
||||
}
|
||||
if (!Array.prototype.each) Array.prototype.each = Array.prototype.iterate;
|
||||
|
||||
function $c(array){
|
||||
var nArray = [];
|
||||
for (var i=0;i<array.length;i++) nArray.push(array[i]);
|
||||
return nArray;
|
||||
}
|
||||
@ -3,7 +3,7 @@
|
||||
/* CSS Document */
|
||||
#menu {
|
||||
float: left;
|
||||
margin: 50px 0 0 0;
|
||||
margin: 100px 0 0 0;
|
||||
padding: 0;
|
||||
width: auto;
|
||||
font-family: Tahoma, Geneva, sans-serif;
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<li><a href="proyectos.html">Inicio</a></li>
|
||||
<li><a href="servicios.html">Servicios</a></li>
|
||||
<li class="current">Obras realizadas</li>
|
||||
<li>Contacto</li>
|
||||
<li><a href="contacto.html">Contacto</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
63
src/send.php
Normal file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
$error = false;
|
||||
$nombre = $_POST['nombre'];
|
||||
$email = $_POST['email'];
|
||||
$texto = $_POST['consulta'];
|
||||
|
||||
/*if (empty($name)) $error = true;
|
||||
if (empty($email)) $error = true;
|
||||
if (empty($texto)) $error = true;*/
|
||||
|
||||
if ($error == false) {
|
||||
if(isset($email)) {
|
||||
if (preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+\.)+([0-9A-Z]){2,4}$/i',trim($email))) {
|
||||
} else {
|
||||
$error = true;
|
||||
}
|
||||
$ok = TRUE;
|
||||
$ok = eregi( "^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$", $email, $check);
|
||||
$ok = getmxrr(substr(strstr($check[0], '@'), 1), $dummy);
|
||||
if($ok === false) {
|
||||
$host = substr($email, strpos($email, '@') + 1);
|
||||
if(gethostbyname($host) != $host) {
|
||||
$ok = true;
|
||||
}
|
||||
if ($ok != true) {
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($error == false) {
|
||||
$para = 'intedimadrid@gmail.com';
|
||||
|
||||
$header = 'From: ' . $email . " \r\n";
|
||||
$header .= 'To: ' . $para . " \r\n";
|
||||
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
|
||||
$header .= "Mime-Version: 1.0 \r\n";
|
||||
$header .= "Content-Type: text/plain";
|
||||
|
||||
$msg = "------------------------------- \n";
|
||||
$msg.= " Comentarios \n";
|
||||
$msg.= "------------------------------- \n";
|
||||
$msg.= "NOMBRE: ".$nombre."\n";
|
||||
$msg.= "EMAIL: ".$email."\n";
|
||||
$msg.= "FECHA: ".date("D, d M Y")."\n";
|
||||
$msg.= "HORA: ".date("h:i:s a ")."\n";
|
||||
$msg.= "IP: ".$REMOTE_ADDR."\n";
|
||||
$msg.= "------------------------------- \n\n";
|
||||
$msg.= $texto."\n\n";
|
||||
$msg.= "------------------------------- \n";
|
||||
|
||||
$asunto = 'Mensaje desde página web de Intedi';
|
||||
|
||||
mail($para, $asunto, utf8_decode($msg), $header);
|
||||
|
||||
// Redirect
|
||||
header("Location: contacto_ok.html");
|
||||
}
|
||||
else {
|
||||
header("Location: contacto.html");
|
||||
}
|
||||
?>
|
||||
@ -9,9 +9,13 @@
|
||||
<link rel="stylesheet" type="text/css" href="reset.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="menu.css"/>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="litebox/css/lightbox.css" type="text/css" media="screen" />
|
||||
<script type="text/javascript" src="litebox/js/prototype.lite.js"></script>
|
||||
<script type="text/javascript" src="litebox/js/moo.fx.js"></script>
|
||||
<script type="text/javascript" src="litebox/js/litebox-1.0.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<body onload="initLightbox()">
|
||||
<div id="cabecera_layout">
|
||||
<div id="cabecera">
|
||||
<div id="logotipo"><span>Intedi</span></div>
|
||||
@ -20,8 +24,8 @@
|
||||
<ul>
|
||||
<li><a href="index.html">Inicio</a></li>
|
||||
<li class="current">Servicios</li>
|
||||
<li><a href="proyectos.html">Obras realizadas</a></li>
|
||||
<li>Contacto</li>
|
||||
<!-- <li><a href="proyectos.html">Obras realizadas</a></li>-->
|
||||
<li><a href="contacto.html">Contacto</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
@ -31,14 +35,60 @@
|
||||
<div id="cuerpo_layout">
|
||||
<div id="cuerpo">
|
||||
<div id="inicio_izquierda">
|
||||
<h3>Servicios ofrecidos</h3>
|
||||
<p>Morbi velit enim, elementum vitae pretium non, pellentesque laoreet sem. Sed placerat, urna vitae iaculis imperdiet, lectus magna vulputate felis, eget fringilla metus purus in enim. Etiam vitae turpis diam. Donec nibh diam, faucibus a rhoncus non, tempus id urna.<p>
|
||||
<ul>
|
||||
<li>Rehabilitaciones</li>
|
||||
<li>Pocería</li>
|
||||
<li>Inspección técnica de edificios (I.T.E.)</li>
|
||||
<li>Trabajos verticales</li>
|
||||
<h3>Servicios ofrecidos</h3>
|
||||
<h4>Rehabilitaciones</h4>
|
||||
<ul class="doscolumnas">
|
||||
<li>Frentes de balcones</li>
|
||||
<li>Revocos y enfoscados</li>
|
||||
<li>Trabajos de pintura</li>
|
||||
<li>Limpieza y reconstrucción de ladrillo visto</li>
|
||||
<li>Barnices hidrófugos</li>
|
||||
<li>Impermeabilizaciones de cubiertas</li>
|
||||
<li>Limpieza de canalones</li>
|
||||
<li>Limpieza de desagües</li>
|
||||
<li>Cerrajería</li>
|
||||
<li>Carpintería</li>
|
||||
<div class="clear"></div>
|
||||
</ul>
|
||||
<h4>Pocería</h4>
|
||||
<ul class="doscolumnas">
|
||||
<li>Inspección de redes sanitarias</li>
|
||||
<li>Desatrancos manuales y por agua a presión</li>
|
||||
<li>Eliminación de humedades en sótanos y bajos</li>
|
||||
<li>Realización de trasteros</li>
|
||||
<li>Localización de fugas</li>
|
||||
<li>Urgencias 24 horas</li>
|
||||
<li>Limpieza de fosas asépticas</li>
|
||||
<li>Limpieza de sumideros</li>
|
||||
<div class="clear"></div>
|
||||
</ul>
|
||||
|
||||
<p><strong>5 AÑOS DE GARANTIA</strong></p>
|
||||
<div class="fotos">
|
||||
<a href="fotos/poceria-1.jpg" rel="lightbox"><img src="fotos/poceria-1_small.jpg" width="100" height="100" /></a>
|
||||
<a href="fotos/poceria-2.jpg" rel="lightbox"><img src="fotos/poceria-2_small.jpg" width="100" height="100" /></a>
|
||||
<a href="fotos/poceria-3.jpg" rel="lightbox"><img src="fotos/poceria-3_small.jpg" width="100" height="100" /></a>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<h4>Inspección técnica de edificios (I.T.E.)</h4>
|
||||
<br/>
|
||||
<h4>Trabajos verticales</h4>
|
||||
<ul class="doscolumnas">
|
||||
<li>Instalación de bajadas de agua </li>
|
||||
<li>Instalación de canalones</li>
|
||||
<li>Sellado de juntas</li>
|
||||
<li>Anclaje de piedras</li>
|
||||
<li>Revestimientos y pinturas</li>
|
||||
<li>Chimeneas y salidas de humo</li>
|
||||
<li>Reparación de goteras</li>
|
||||
<div class="clear"></div>
|
||||
</ul>
|
||||
<div class="fotos">
|
||||
<a href="fotos/trabajos-verticales-1.jpg" rel="lightbox"><img src="fotos/trabajos-verticales-1_small.jpg" width="100" height="100" /></a>
|
||||
<a href="fotos/trabajos-verticales-2.jpg" rel="lightbox"><img src="fotos/trabajos-verticales-2_small.jpg" width="100" height="100" /></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="inicio_derecha">
|
||||
<h3>Acerca de Intedi</h3>
|
||||
|
||||