//'use strict';
var MX = MX || {};
// Variable de la URL que se encuentra en Gruntfile.js para obtener la URl segun ambiente.
MX.root ='https://framework-gb.cdn.gob.mx/qa/';
MX.emailService = '//tramites.beta.gob.mx/subscribe';
MX.trackingID = '';
MX.comscore = 'qa';
MX.path = MX.root + 'assets/';
MX.imagesPath = MX.path + 'images/';
MX.scriptsPath = MX.path + 'scripts/';
MX.stylesPath = MX.path + 'styles/';
MX.gobmxPath = 'https://www.gob.mx/';
/**
* [getParse URL parse current URL]
* @return {[string]} [url ID]
*/
var getParseURL = function() {
var urlHost = window.location.host,
urlPath = window.location.pathname,
host = urlHost.toLowerCase().split( '.' ),
path = urlPath.toLowerCase(),
hostClean = host.slice( 0, 2 ).join( '.' ),
pathClean;
if ( !isNaN( host[ 0 ] ) ) hostClean = urlHost;
if ( path.indexOf( '.' ) !== -1 ) {
var _end = path.indexOf( '.' );
path = path.substring( 0, _end );
}
if ( path.indexOf( '#' ) !== -1 ) {
var _end = path.indexOf( '#' );
path = path.substring( 0, _end );
}
if ( path.indexOf( '?' ) !== -1 ) {
var _end = path.indexOf( '?' );
path = path.substring( 0, _end );
}
if ( path === '/' ) path = '/index';
pathClean = path.replace(/\//g, ".");
return hostClean + pathClean;
}
MX.trackingID = getParseURL();
MX.isMetaHelper = function() {
var metas = document.getElementsByTagName('meta');
function isMeta() {
for (var i = 0; i < metas.length; i++) {
if ( metas[i].getAttribute('property') === 'gobmxhelper') {
return metas[i].getAttribute('content');
}
}
}
if( isMeta() === 'no plugins') { return true; } else { return false; }
}
if( !MX.isMetaHelper() ) {
var WebFontConfig = {
google: { families: [ 'Open+Sans:300italic,400italic,400,300,600,700:latin' ] }
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
}
MX.secBuilder = function () {
var body = $('body');
var navBar =
''+
''+
'';
var footer =
'';
body.prepend(navBar);
body.append(footer);
/* --- boton de suscribete --- */
$('body').on( 'click', '#subscribe', function(e){
e.preventDefault();
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
var dataString = $('#email').serialize();
var email = $('#email').val();
var url = MX.emailService;
var successMessage = 'Agradecemos tu registro dentro de gob.mx. De esta manera estarás informado sobre las principales acciones y decisiones del Gobierno de la República.
Gracias por tu interés y colaboración. Juntos construimos gob.mx';
var registeredMessage = 'Este correo electrónico ya ha sido registrado.';
var failMessage = 'No se pudo registrar el correo electrónico.';
var validEmail = 'Ingrese un email válido';
if($.trim(email).length == 0 || re.test(email) === false) {
$('.message-subscribe').removeClass("hidden").html(validEmail);
return false;
} else {
$('.message-subscribe').addClass("hidden").html();
$.ajax({
type: 'POST',
data: "email="+ $('#email').val(),
dataType: 'json',
url: url
}).done( function( data ) {
if( data.status == 'error') {
$('.message-subscribe').removeClass("hidden").html(registeredMessage);
} else {
$('#email').val('');
$('#email').prop('disabled', true);
$('.message-subscribe').removeClass("hidden").html(successMessage);
}
}).fail( function() {
$('.message-subscribe').removeClass("hidden").html(failMessage);
});
}
return false;
});
};
$(function(){
MX.secBuilder();
if (!Modernizr.svg) {
var imgs = document.getElementsByTagName('img');
var svgExtension = /.*\.svg$/;
var l = imgs.length;
for(var i = 0; i < l; i++) {
if(imgs[i].src.match(svgExtension)) {
imgs[i].src = imgs[i].src.slice(0, -3) + 'png';
}
}
}
/**
* Vertically center Bootstrap 3 modals so they aren't always stuck at the top
*/
function reposition() {
var modal = $(this),
dialog = modal.find('.modal-dialog');
modal.css('display', 'block');
// Dividing by two centers the modal exactly, but dividing by three
// or four works better for larger screens.
dialog.css("margin-top", Math.max(0, ($(window).height() - dialog.height()) / 2));
}
// Reposition when a modal is shown
$('.modal').on('show.bs.modal', reposition);
// Reposition when the window is resized
$(window).on('resize', function() {
$('.modal:visible').each(reposition);
});
});