PageSourceSearch

https://es.calcuworld.com/wp-content/themes/twentytwelve-child/js/gesto.js

js calcuworld.com collected 2026-10-02 10:19:00 UTC 8,300 bytes, 261 lines download raw bytes

1var $jq = jQuery.noConflict();
2
3jQuery.fn.rotate = function(degrees) {
4    $jq(this).css({'-webkit-transform' : 'rotate('+ degrees +'deg)',
5                 '-moz-transform' : 'rotate('+ degrees +'deg)',
6                 '-ms-transform' : 'rotate('+ degrees +'deg)',
7                 'transform' : 'rotate('+ degrees +'deg)'});
8    return $jq(this);
9};
10
11
12jQuery( document ).ready(function( $jq ) {
13// Handler for .ready() called.
14
15/**
16 * 
17 */
18
19 
20var angle = 0;
21var wheelAngle = angle;
22var hoyAngle;
23var angleDifference;
24var dragging = false;
25var dragTimeout;
26var wheelPosition = $jq("#wheel").offset();
27var wheelWidth = $jq("#wheel").width();
28var wheelHeight = wheelWidth;
29var wheelCentreX = Math.round(wheelPosition.left + (wheelWidth/2));
30var wheelCentreY = Math.round(wheelPosition.top + (wheelHeight/2));
31var updateDataTimeout;
32var FURDate;
33var dueDate;
34
35var d = new Date();
36var linuxzero = new Date(d.getFullYear(), 0, 1);
37var theYear = d.getFullYear();
38var theMonth = d.getMonth(); // Jan 0, Feb 1, March 3 ...
39var theDay = d.getDate(); // 1-31
40var isLeap = new Date(theYear,1,29).getDate() == 29;
41var prev_isLeap = new Date(theYear-1,1,29).getDate() == 29; 
42var numberOfDays = 365;
43var prev_NumberOfDays = numberOfDays;
44//check if Year is Leap
45if(isLeap) {
46	numberOfDays = 366;
47}
48else if(prev_isLeap) {// if it is not, check if prev Year was Leap
49	prev_NumberOfDays = 366;
50}
51
52// calculate the current_Day of the year. Ex. 10th January is day 10 of the year
53var current_DayOfTheYear = Math.round(((d - linuxzero) / 1000 / 60 / 60 / 24) + .5, 0);
54// calculate hoy angle
55hoyAngle = 360 * (current_DayOfTheYear/numberOfDays);
56
57// set initial hoy angle
58$jq("#hoy-image").rotate(hoyAngle);
59
60// set initial wheel angle
61$jq("#wheel-image").rotate(wheelAngle);
62
63// Listeners
64$jq("#wheel").mousedown(function(e){
65	
66	dragging = true;
67	
68	//calculate the difference between the cursorAngle and the current wheelAngle
69	angle = calculateCursorAngle(e)
70	angleDifference = angle - wheelAngle;
71	
72	$jq("#wheelContainer").mousemove(function(e){
73		
74		//if dragging
75		if (dragging) {
76			//alert("aha");
77			angle = calculateCursorAngle(e);
78			wheelAngle = angle - angleDifference;
79			
80			if(wheelAngle > 360)	wheelAngle -= 360;
81			else if(wheelAngle < 0) wheelAngle = 360 + wheelAngle;
82
83			// visual feedback - rotate wheel
84			$jq("#wheel-image").rotate(wheelAngle);
85			
86			// update data
87			updateData(wheelAngle);
88		}
89		
90		return false
91	});
92	
93	$jq("#wheelContainer").one('mouseup', function() {
94	    //alert("This will show after mousemove and mouse released.");
95		dragging = false;
96		$jq("#wheelContainer").unbind();
97		return false;
98		
99	});
100	
101	// Using return false prevents browser's default,
102	// often unwanted mousemove actions (drag & drop)
103	return false;
104
105	
106});
107
108$jq("#wheel").mouseout(function(e){
109	dragging = false;
110	return false;
111});		
112
113
114function calculateCursorAngle(e) {
115	var cursorAngle;
116	var pageCoords = "( " + e.pageX + ", " + e.pageY + " )";
117	var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
118	
119	var mouseX = e.pageX;
120	var mouseY = e.pageY;
121	
122	//$jq("span:first").text("( e.pageX, e.pageY ) - " + pageCoords);
123	//$jq("span:last").text("( e.clientX, e.clientY ) - " + clientCoords);
124	
125	// calculate the angle
126	
127	// 1. find info about the right triangle : wheelCentre, cursor, intersection of the deltaX and deltaY
128	var deltaX = wheelCentreX - mouseX;
129	var deltaY = wheelCentreY - mouseY;
130	var hipotenusa = Math.round( Math.sqrt( (deltaX*deltaX) + (deltaY*deltaY) ) );
131	// the angle value
132	var radians = Math.asin(deltaX/hipotenusa);
133	var angleBuffer = (radians*180)/Math.PI;
134	//$jq("span:first").text("angle>>>:"+angleBuffer);
135	
136	
137	if(mouseX >= wheelCentreX && mouseY < wheelCentreY){
138		cursorAngle = - angleBuffer;
139		//$jq("span:last").text("1: angle:"+angleBuffer);
140	}
141	else if(mouseX > wheelCentreX && mouseY >= wheelCentreY){
142		cursorAngle = 180 + angleBuffer;
143		//$jq("span:last").text("2: angle:"+angleBuffer);
144	}
145	else if(mouseX <= wheelCentreX && mouseY > wheelCentreY){
146		cursorAngle = 180 + angleBuffer;
147		//$jq("span:last").text("3: angle:"+angleBuffer);
148	}
149	else if(mouseX < wheelCentreX && mouseY <= wheelCentreY){
150		cursorAngle = 360 - angleBuffer;
151		//$jq("span:last").text("4: angle:"+angleBuffer);
152	}
153	//else {
154	//	alert("calculateCursorAngle->Exception");
155	//}
156	
157	// round angle value
158	//cursorAngle = Math.round(cursorAngle);
159	return cursorAngle;
160	
161}
162
163function angleToDayOfTheYear(_angle){
164	var dayOfTheYear = Math.round( _angle/(360/numberOfDays) );
165	//$jq("span:first").text("day:"+day+" angle: "+wheelAngle);
166	return dayOfTheYear;
167}
168
169function dateFromDay(year, day){
170  var date = new Date(year, 0); // initialize a date in `year-01-01`
171  return new Date(date.setDate(day)); // add the number of days
172}
173
174function furToDueDate(_FURDOY) {
175	var dueDay = (_FURDOY + 280) < 365? _FURDOY + 280 : _FURDOY + 280 - 365;//267
176	//$jq("div#ad-300x250").html(_FURDOY);
177	var dueDate = dateFromDay(theYear,dueDay);
178	return dueDate;
179}
180
181			
182function updateData(_wheelAngle) {
183	var FUR_dayOfTheYear = angleToDayOfTheYear(_wheelAngle);
184	
185	var dayOfPregnancy = (current_DayOfTheYear > FUR_dayOfTheYear)? current_DayOfTheYear-FUR_dayOfTheYear : current_DayOfTheYear + (prev_NumberOfDays - FUR_dayOfTheYear);
186	var weekOfPregnancy = Math.ceil(dayOfPregnancy/7);
187	FURDate = dateFromDay(theYear,FUR_dayOfTheYear);
188	dueDate = furToDueDate(FUR_dayOfTheYear);
189	//$jq("span:first").text("dayOfPregnancy:"+dayOfPregnancy+" weekOfPregnancy: "+weekOfPregnancy);
190	//var week = 
191	
192	
193	// Visual Feedback: update data : F.U.R.(last menstrual date) , Fecha de parto(Due Date)
194	
195	
196	// visual feedback - Wheel Center
197	$jq("div#center-lastMenstrual").html(spanishDate(FURDate));//spanishDate(dueDate)
198	$jq("div#center-dueDate").html(spanishDate(dueDate));//spanishDate(dueDate)
199	
200	
201	// get data from server
202	clearTimeout(updateDataTimeout);
203	updateDataTimeout = setTimeout(function() {
204		fetchData(weekOfPregnancy);
205	},500);
206	
207}
208
209function fetchData(_week) {
210
211	//use AJAX to fetch next pictures
212	var xmlhttp;
213	if (window.XMLHttpRequest)
214	  {// code for IE7+, Firefox, Chrome, Opera, Safari
215	  xmlhttp=new XMLHttpRequest();
216	  }
217	else
218	  {// code for IE6, IE5
219	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
220	  }
221	xmlhttp.onreadystatechange=function()
222	  {
223	  if (xmlhttp.readyState==4 && xmlhttp.status==200)
224	    {
225		    //document.getElementById("result-fecha-actual").innerHTML=xmlhttp.responseText;
226			eval(xmlhttp.responseText);
227			$jq("#result-fecha-actual").html(spanishDate(d));
228			$jq("#result-parto").html(spanishDate(dueDate));
229			$jq("#result-fur").html(spanishDate(FURDate));
230			$jq("#result-dbp").text(result_longitud);
231			$jq("#result-longitud").text(result_longitud);
232			$jq("#result-peso").text(result_peso);
233			$jq("#result-talla").text(result_talla);
234			var enlace = $jq("#enlace").html();
235			//$jq("#").text();
236			if(_week > 0 && _week <43){
237				$jq("#result-semana").html("<a href='https://semanas.elembarazo.net/semana" + _week + "embarazo.html'>" + _week + "</a>");
238				$jq("#imagen-semana").html("<img class='thumbnail' src='https://www.the-pregnancy.net/wp-content/uploads/2012/07/semana" + _week + "-150x150.jpg'>");
239				$jq(".popup").attr("href", "https://www.facebook.com/sharer.php?s=100&p[url]=" + enlace + "&p[images][0]=https://www.the-pregnancy.net/wp-content/uploads/2012/07/semana" + _week + "-150x150.jpg&p[title]=Estoy embarazada de " + _week + " semanas&p[summary]=?He utilizado el Gestograma del embarazo y parece que estoy embarazada de " + _week + " semanas.");
240			}else{
241				$jq("#result-semana").html("En este momento no estás embarazada");
242				$jq("#result-semanas").html("<a href='https://semanas.elembarazo.net/'>semanas de embarazo</a>");
243			}	
244	    }
245	  }
246	xmlhttp.open("GET","https://es.calcuworld.com/wp-content/themes/twentytwelve-child/semanas-gestograma.php?semana="+_week,true);
247	xmlhttp.send();
248}	
249
250
251function _spanishDate(date){
252	var weekday=["Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"];
253	var monthname=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
254	return '<span class="date-es-weekday">'+weekday[date.getDay()]+'</span> <span class="date-es-day">'+date.getDate()+'</span> <span class="date-es-month">'+monthname[date.getMonth()]+'</span>';
255}
256
257
258
259
260});
261

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.