/**
* Настройка jQuery
* сжатие http://dean.edwards.name/packer/
*/
$(document).ready(function(){
jQuery.ajaxSettings.cache=true;
// Добавление контейнера анимации
$('body').append('<div id="loading" style="display:none;"><img src="/images/common/loader.gif" /></div>');
// Добавление контейнера окон
$('body').append('<div class="overlay" id="overlay"><div class="modalbox" id="modalbox"></div></div>');
// Анимация загрузки на все события связаные с активностью ajax
$("#loading").bind("ajaxSend", function() {
$(this).fadeIn(750);//show();
}).bind("ajaxStop", function() {
$(this).hide();
}).bind("ajaxError", function() {
$(this).hide();
});
});
/**
* Загрузка данных хранящихся в ссылке
* в основной div
*/
$(document).ready(function(){
$("a[rel!='#overlay']").click(function() {
$('#contents').load($(this).attr('href')); //В слой #content аяксом загружаем урл в href ссылки.
return false; // эквивалентно вызову event.preventDefault(); и event.stopPropagation();
});
});
/**
* Создание модального окна
* загрузка данных хранящихся в ссылке с rel='#overlay'
*/
$(document).ready(function(){
$("a[rel='#overlay']").overlay({
mask: {
color: '#fff',
loadSpeed: 250,
opacity: 0.75
},
left: 'center',
top: '25%',
oneInstance: true,
closeOnClick: false,
onBeforeLoad: function() {
var wrap = this.getOverlay().find("#modalbox");
wrap.load(this.getTrigger().attr("href"));
},
onBeforeClose: function() {
$("#modalbox").html('');
}
});
});
/**
* Печать страницы
* с rel='#print'
*/
function xprint() {
$(document).ready(function() {
$("a[rel='#print']").click(function() {
var open, index;
$("a[rel='#overlay']").each(function(i) {
if($("a[rel='#overlay']").eq(i).data('overlay').isOpened()) {
open=true;
index=i;
}
});
if(open) {
$("a[rel='#print']").jprint();
} else {
window.focus();
window.print();
};
});
});
}
/**
* Обработка форм с id x-form
* отправка данных
*/
function xform() {
$(document).ready(function(){
var options = {
//target: "#modalbox",
//url: "{action}",
// beforeSubmit: Loading, //Request, // функция, вызываемая перед передачей
success: Response, // функция, вызываемая при получении ответа
type: "post", // get или post
dataType: "html", // text, hmtl, xml, script или json
//clearForm: true,
//resetForm: true,
timeout: 10000 // ожидание ответа в милисекундах
};
$("form[id^='x-form']").submit(function () {
$(this).ajaxSubmit(options);
return false;
});
});
}
//*/
/**
* Отладочная функция,
* отображение того что будет передаватся
*/
function Request(formData, jqForm, options) {
var queryString = $.param(formData);
alert(queryString);
return true;
}
/**
* Обработка получаемого ответа
* переменная должна соотвествовать возвращаемому типу, данных (html, xml, json)
* @param response
*/
function Response(responseText) {
var open,index;
$("a[rel='#overlay']").each(function(i) {
if($("a[rel='#overlay']").eq(i).data('overlay').isOpened()) {
open=true;
index=i;
}
});
if(open) {
$("#modalbox").html(responseText);
if ( responseText.length < 1 ) {
$("a[rel='#overlay']").eq(index).data('overlay').close();
}
} else {
$("#contents").html(responseText);
};
}