var questionnaire = {
vals : {
background : '
' +
' Загрузка
' +
'' +
' ' +
'
',
reload : false,
loaded : false
},
show : {
contactsformloader : function() {
$('#contactsformsubmit').hide();
$('#contactsformloader').show();
},
contacts : function() {
$('#contacts-whitening').hide();
},
fielderror : function(field, error) {
$('#' + field + '_error').html(error);
},
background : function() {
if($('#questionnaire-dark').html() === null || questionnaire.vals.reload == true) {
if(questionnaire.vals.reload != true) {
$('body').append(questionnaire.vals.background);
} else {
$('#questionnaire-dark').show();
$('#questionnaire-dark-content').show();
}
questionnaire.load.forms();
if(questionnaire.vals.loaded != true) {
$(document).keyup(function(event) {
questionnaire.keypress(event);
});
questionnaire.vals.loaded = true;
}
questionnaire.vals.reload = false;
} else {
$('#questionnaire-dark').show();
$('#questionnaire-dark-content').show();
}
},
information : function() {
questionnaire.hide.forms();
questionnaire.show.background();
$('#questionnaire_form_information').show();
$('#questionnaire_form_information').parent('div').css('width','620px').css('margin','0px 0px 0px -310px');
$('#questionnaire-dark').css('height',$(document).height());
},
questions : function() {
questionnaire.hide.forms();
questionnaire.show.background();
$('#questionnaire_form_questions').show();
$('#questionnaire_form_questions').parent('div').css('width','770px').css('margin','0px 0px 0px -385px');
$('#questionnaire-dark').css('height',$(document).height());
},
commentform : function(element_id) {
if($('#questionnaire_form_questions_comment').css('display') == "none") {
questionnaire.hide.subforms();
$scrollTop = $(window).scrollTop();
$('#questionnaire_form_questions_comment').css('top',$scrollTop + ($(window).height()/2) - 130);
$('#questionnaire_form_questions_comment').attr('storeelement',element_id);
$('#questionnaire_form_questions_comment').find('#questionnaire_add_comment').val($('[name="' + element_id + '"]').val());
$('#questionnaire_form_questions_comment').show();
$('#questionnaire_form_questions_comment').find('#questionnaire_add_comment').focus();
$('#questionnaire_form_questions_comment').children('div').css('position','absolute');
}
},
nameform : function(element_id) {
if($('#questionnaire_form_questions_add').css('display') == "none") {
questionnaire.hide.subforms();
$scrollTop = $(window).scrollTop();
$('#questionnaire_form_questions_add').css('top',$scrollTop + ($(window).height()/2) - 130);
$('#questionnaire_form_questions_add').attr('storeelement',element_id);
$('#questionnaire_form_questions_add').find('input').val($('[name="'+element_id+'_name"]').val());
$('#questionnaire_form_questions_add').show();
$('#questionnaire_form_questions_add').find('input').focus();
$('#questionnaire_form_questions_add').children('div').css('position','absolute');
}
},
thnx : function() {
window.scrollTo(0,0);
questionnaire.hide.forms();
questionnaire.show.background();
$('#questionnaire_form_thnx').show();
$('#questionnaire_form_thnx').show();
$('#questionnaire_form_thnx').parent('div').css('width','620px').css('margin','0px 0px 0px -310px');
},
loader : function() {
$('#questionnaire-dark-wait').show();
}
},
hide : {
contactsformloader : function() {
$('#contactsformsubmit').show();
$('#contactsformloader').hide();
},
fielderror : function() {
$('div.error').html("");
},
contacts : function() {
$('#contacts-whitening').show();
},
background : function() {
$('#questionnaire-dark').hide();
$('#questionnaire-dark-content').hide();
},
forms : function() {
$('#questionnaire-dark-content').find('div[id*="questionnaire_form"]').each(function() {
$(this).css('display','none');
$(this).children('div').css('position','');
});
},
all : function() {
questionnaire.hide.background();
questionnaire.hide.forms();
},
commentform : function() {
$('#questionnaire_form_questions_comment').hide();
$('#questionnaire_form_questions_comment').attr('storeelement','');
$('#questionnaire_form_questions_comment').find('textarea').val('');
},
nameform : function(element_id) {
$('#questionnaire_form_questions_add').hide();
$('#questionnaire_form_questions_add').attr('storeelement','');
$('#questionnaire_form_questions_add').find('input').val('');
},
subforms : function() {
questionnaire.hide.nameform();
questionnaire.hide.commentform();
},
loader : function() {
$('#questionnaire-dark-wait').hide();
}
},
load : {
forms : function() {
$.ajax({
url : "/html_content/questionnaire/html_pieces.phtml",
cache : false,
async : false,
beforeSend : function() {
questionnaire.show.loader();
},
success : function(html){
$('#questionnaire-dark-content').find('.popup_block').html(html);
questionnaire.bind.questionform();
questionnaire.hide.loader();
},
error : function() {
questionnaire.hide.background();
alert("Произошла ошибка, попробуйте позже.");
}
});
}
},
keypress : function(event) {
var keycode = event.keyCode;
if(keycode == 27){
$other_display = '';
if($('#questionnaire_form_questions_comment').css('display') != 'none') {
$other_display = 'comment';
}
if($('#questionnaire_form_questions_add').css('display') != 'none') {
$other_display = 'name';
}
if($other_display != '') {
questionnaire.hide.subforms();
} else {
questionnaire.hide.all();
}
}
},
add : {
question : function (text) {
if(text != '') {
$el_source = new String($('#questionnaire_form_questions_add').attr('storeelement'));
$tr_source = $('#' + $el_source);
$el_input = $tr_source.find('.td01').find('input');
if(text != $el_input.val()) {
if($el_input.attr('rowforedit') == "0") {
$tr_copy = $tr_source.html();
$tr_source.removeClass('last');
$tr_copy_match = $el_source.match(/(.*)_([0-9])$/);
$tr_copy_new_id_num = new Number($tr_copy_match[2]);
$tr_copy_new_id_num++;
$tr_copy_new_id = $tr_copy_match[1] + "_" + $tr_copy_new_id_num;
$tr_copy = '' + $tr_copy.replace(RegExp($el_source,'g'), $tr_copy_new_id) + '
';
$tr_source.after($tr_copy);
$('#' + $tr_copy_new_id).find('input[name!="'+$tr_copy_new_id+'_name"]').val('');
questionnaire.reset.stars($('#' + $tr_copy_new_id));
questionnaire.reset.smiles($('#' + $tr_copy_new_id));
$('#questionnaire-dark').css('height',$(document).height());
$('#' + $tr_copy_new_id).find('.td_com').find('a').attr('class','');
$('#' + $tr_copy_new_id).find('.td_com').find('a').find('span').html('Комментарий');
$tr_source.find('.td01').find('a:last').show();
$el_input.attr("rowforedit","1");
}
}
$tr_source.find('.td01').find('a:first').html(text);
$el_input.val(text);
}
questionnaire.hide.nameform();
},
comment : function(text) {
$el_source_id = new String($('#questionnaire_form_questions_comment').attr('storeelement'));
$el_source = $('[name="' + $el_source_id + '"]');
$el_source.val(text);
if(text != '') {
$el_source.parent('td').find('a').attr('class','on');
$el_source.parent('td').find('a').find('span').html('Редактировать');
} else {
$el_source.parent('td').find('a').attr('class','');
$el_source.parent('td').find('a').find('span').html('Комментарий');
}
questionnaire.hide.commentform();
}
},
reset : {
stars : function(parent_element) {
parent_element = $(parent_element);
parent_element.find('.stars').find('img').attr('src','/img/starr_off.gif');
},
smiles : function(parent_element) {
parent_element = $(parent_element);
$active_img = parent_element.find('.smiles').find('img');
$active_img.each(function() {
$(this).attr('src',$(this).attr('src').replace('smile_on','smile_off'));
});
}
},
actions : {
contacts : {
checkboxswitch : function(el) {
if($(el).attr('checked')) {
questionnaire.show.contacts();
} else {
questionnaire.hide.contacts();
}
}
},
stars : {
myclick : function(el) {
$prent_td = $(el).parent('div').parent('td');
$active_img = $prent_td.find('img[src="/img/starr_on.gif"]');
if($active_img.length != $prent_td.find('input').val()) {
$prent_td.find('input').val($active_img.length);
} else {
$prent_td.find('input').val('');
}
},
mymouseon : function(el) {
$prent_td = $(el).parent('div').parent('td');
$active_img = $prent_td.find('img[src="/img/starr_on.gif"]');
if($active_img) {
$active_img.attr('src','/img/starr_off.gif');
}
$(el).attr('src','/img/starr_on.gif').prevAll('img').attr('src','/img/starr_on.gif');
},
mymouseout : function(el) {
$prent_td = $(el).parent('div').parent('td');
$input_val = new Number($prent_td.find('input').val());
if($input_val > 0) {
$input_val = $input_val - 1;
$prent_td.find('img:lt('+$input_val+')').attr('src','/img/starr_on.gif');
$prent_td.find('img:eq('+$input_val+')').attr('src','/img/starr_on.gif');
$prent_td.find('img:gt('+$input_val+')').attr('src','/img/starr_off.gif');
} else {
$prent_td.find('img[src="/img/starr_on.gif"]').attr('src','/img/starr_off.gif');
}
}
},
smiles : {
myclick : function(el) {
$prent_td = $(el).parent('div').parent('td');
$active_img = $(el);
active_img_src = new String($active_img.attr('src'));
active_img_src_matches = active_img_src.match(/smile_on_([^.]*)/);
if(active_img_src_matches[1] != $prent_td.find('input').val()) {
$prent_td.find('input').val(active_img_src_matches[1]);
} else {
$prent_td.find('input').val('');
}
},
mymouseon : function(el) {
$prent_td = $(el).parent('div').parent('td');
$active_img = $prent_td.find('img[src*="/img/smile_on"]');
$active_img.each(function() {
$(el).attr('src',$(el).attr('src').replace('smile_on','smile_off'));
});
$(el).attr('src',$(el).attr('src').replace('smile_off','smile_on'));
},
mymouseout : function(el) {
$prent_td = $(el).parent('div').parent('td');
$input_val = new String($prent_td.find('input').val());
$active_img = $prent_td.find('img[src*="/img/smile_on"]');
$active_img.each(function() {
$(this).attr('src',$(this).attr('src').replace('smile_on','smile_off'));
});
if($input_val != "") {
$current_img = $prent_td.find('img[src*="/img/smile_off_'+$input_val+'"]:first');
if($current_img) {
$($current_img).attr('src',$($current_img).attr('src').replace('smile_off','smile_on'));
}
}
}
}
},
del : {
question : function (elid) {
$('#' + elid).remove();
}
},
bind : {
questionform: function() {
$('#questionnaire_questions_form_post').ajaxForm({
dataType: 'json',
beforeSubmit: function() {
questionnaire.show.contactsformloader();
questionnaire.hide.fielderror();
},
success: function(data) {
if (data.result == 'success') {
questionnaire.show.thnx();
} else {
for(var i=0; i