var posX;
var posY;
Event.observe(document, "mousedown", function(event){ posX = Event.pointerX(event);posY = Event.pointerY(event);}, false);	

function crearElemento(padre, tipo, atributos, clase, estilos, texto, posicionTexto){
	var element = (tipo=="texto")? $(document.createTextNode(texto.unescapeHTML())):$(document.createElement(tipo));
	if(atributos)if(atributos.length) atributos.each(function(e,index){
			if(e.propiedad=="onclick" && navigator.appVersion.match(/\bMSIE\b/)){
				element.onclick=function(){eval(e.valor)};  
			}else if(e.propiedad=="colspan" && navigator.appVersion.match(/\bMSIE\b/)){
				element.colSpan=e.valor;  
			}else{ 
				if(!((e.propiedad == "selected" && e.valor == "false") || (e.propiedad == "checked" && e.valor == "false")))element.setAttribute(e.propiedad,e.valor)
			}
	});
	if(clase) element.addClassName(clase);
	if(estilos) element.setStyle(estilos);
	(($(padre))? $(padre) : document.body).appendChild(element);
	if(tipo!="texto" && texto){ 
		if(posicionTexto=="despues") 
			new Insertion.After(element.id, texto); 
		else if(posicionTexto=="antes") 
			new Insertion.Before(element.id, texto);
		else if(posicionTexto=="dentro" || !posicionTexto) 
			element.appendChild(document.createTextNode(String(texto).unescapeHTML()));
	}
	return element;
}

function toolTip(nombre, clase, contenido, titulo, ancho, alto, unico, noCabecera){
	if($$('div#'+nombre).length>0 && unico){
			$$('div#'+nombre).first().remove();
	}
	var opacidad = 0.9;
	if(!(posX && posY)){
		posX = document.body.clientWidth/2;
		posY = document.body.clientHeight/2;
		opacidad = 1;
	}
	var div = crearElemento("", "div", [{"propiedad":"id", "valor":nombre}], clase, {position: 'absolute',opacity: opacidad, 'padding': '5px', 'background': 'white', 'width': ancho, 'height': alto,'border': '1px solid #000'});
		if(!noCabecera){
			var divCabe = crearElemento(div, "div", [{"propiedad":"id", "valor":"cabeceraMsg"}], "", {"width": '100%' , "text-align":"left", 'margin': '0 0 3px 0', 'float': 'left', 'clear': 'left'});
				crearElemento(divCabe, "div", [{"propiedad":"id", "valor":"divCabetexto"}], "", {"width": '90%' , "text-align":"left", 'padding': '0px 0px 0px 2px', 'float': 'left', 'color': '#666'},titulo);
				var cerDiv = crearElemento(divCabe, "div", [{"propiedad":"id", "valor":"divCabeCerrar"}], "", {"width": '9%', 'float': 'right', 'text-align':'right'});
				var cerrar = crearElemento(cerDiv, "input", [{"propiedad":"type", "valor":"image"}, {"propiedad":"src", "valor":"http://www.maesen.com/sexshop/images/cerrar.jpg"}, {"propiedad":"alt", "valor":"Cerrar"}, {"propiedad":"onclick", "valor":'Element.remove(this.up("#'+nombre+'"))'}], "fino", {'border': '0', 'margin': '1px'});
		}
		var divCuerpo = crearElemento(div, "div", [{"propiedad":"id", "valor":"cuerpo"}], "", {"width": "99%", "height": (alto-12-((divCabe)?divCabe.clientHeight:0))+"px"  , "text-align":"left", 'margin': '0 0 3px 0', 'float': 'left', 'clear': 'left', 'overflow': 'auto'});
			if(typeof contenido == 'string') divCuerpo.appendChild(document.createTextNode(contenido));
			else divCuerpo.appendChild(contenido);
	
	if((divCuerpo.clientHeight+30)>=div.clientHeight)div.style.height = divCuerpo.clientHeight+30;
	div.setStyle( { left: posX-(div.clientWidth/2), top: posY-(div.clientHeight/2) });
	new Draggable(div);
}

String.prototype.toProperCase = function(){
     return this.toLowerCase().replace(/\w+/g,function(s){
          return s.charAt(0).toUpperCase() + s.substr(1);
     })
}

String.prototype.specialChars = function(){
     return this.replace(/[^a-zA-Z0-9\s]/g,function(s){
          return "&#"+(s.charCodeAt(0)).toString()+";";
     })
}

String.prototype.trim = function(){ 
	return this.replace(/^\s+|\s+$/g,'');
}


function addZeros(str, num){
	for(i=0;i<num;i++){
		str="0"+str;
	};
	return str;
}
function calendar(contenedor, mes, anio, alseleccionar){
	mes = (mes<1)? 12-mes : ((mes>12)? mes-12 : mes);
	var meses = new Array("Enero", "Febrero","Marzo","Abril", "Mayo","Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
	var dias  = new Array ('lun', 'mar', 'mie', 'jue', 'vie', 'sab', 'dom');  	
	toolTip('calendario', '', '', '', 250, 170, 1, 0);
	$('cuerpo').setStyle({'text-align':'center'});
	var div = crearElemento("cuerpo", "div", [{"propiedad":"align", "valor":"center"}]);
		var tabla = crearElemento( div, "table", [{"propiedad":"id", "valor":"calendar"}]);
			var thead = crearElemento(tabla, "thead", [{"propiedad":"id", "valor":"thead"}]);
				filaCabecera = crearElemento(thead, "tr",[{"propiedad":"id", "valor":"cabecera"}]);		
					crearElemento(filaCabecera, "td",[{"propiedad":"onclick", "valor":"calendar('"+contenedor+"', "+(mes-1)+", "+((mes-1<1)? anio-1 : anio)+", '"+alseleccionar+"')"}], "mano", "", ' << ');	
					nombremes = crearElemento(filaCabecera, "td",[{"propiedad":"colspan","valor":"5"}], "", "", meses[mes-1]+' del '+anio);	
					crearElemento(filaCabecera, "td",[{"propiedad":"onclick", "valor":"calendar('"+contenedor+"', "+(mes+1)+", "+((mes+1>12)? anio+1 : anio)+", '"+alseleccionar+"')"}], "mano", "", ' >> ');	
				filaCabecera2 = crearElemento(thead, "tr",[{"propiedad":"id", "valor":"cabecera"}]);		
					$R(0,6).each(function(dia){
						crearElemento(filaCabecera2, "td","", "", "", dias[dia]);	
					});	
			var tbody = crearElemento(tabla, "tbody", [{"propiedad":"id", "valor":"tbody"}]);	
				var dia = 1;
				var date = new Date(anio, mes-1, 1);
				var ultimodia = new Date(anio, mes, 0);
				$R(1,6).each(function(fila){
					filaCuerpo = crearElemento(tbody, "tr");	
					$R(1,7).each(function(columna){
						if((dia==1 && ((date.getDay()==0 && columna==7) || (date.getDay()>0 && columna==date.getDay()))) || (dia > 1 && dia < ultimodia.getDate()+1)){
							crearElemento(filaCuerpo, "td",[{"propiedad":"onclick", "valor":"$('"+contenedor+"').value='"+((dia<10)?addZeros(dia,1):dia)+"/"+((mes<10)?addZeros(mes,1):mes)+"/"+anio+"';$('calendario').remove();eval("+alseleccionar+")"}], "mano", "", dia);
							dia++;
						}else{	
							crearElemento(filaCuerpo, "td","", "", {'background':'#ccc'}, "");
						}
					});		
				});	
}

function comprobarFecha(){
	fecha1=$F('fecha1').split('/');
	fecha2=$F('fecha2').split('/');
	comp=new Array();
	fecha1 = fecha1[2]+""+fecha1[1]+""+fecha1[0];
	fecha2 = fecha2[2]+""+fecha2[1]+""+fecha2[0];
	/*comp[0]= fecha1[0]-fecha2[0];
	comp[1]= fecha1[1]-fecha2[1];
	comp[2]= fecha1[2]-fecha2[2];
	if((comp[2] > 0) || (comp[2] <= 0 && comp[1] > 0) || (comp[2] <= 0 && comp[1] <= 0 && comp[0] > 0)) alert("El rango de fechas no es correcto. Compruébelo.");*/
	if((parseInt(fecha2)-parseInt(fecha1))<0) alert("El rango de fechas no es correcto. Compruébelo.");
}

