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