d = {};
MAX_FILE_COUNT=3;
//Данные о загруженных файлах в формате JSON
var content=null;
//Ограничение на количество символов  в input
lim_input = 64;
lim_textarea=2000;
lim_tel = 12;
//Видимое количество символов в прикрепленном файле
lim_file = 20;
//Ограничение на размер файлов
min_file_size = 2;
max_file_size =2048;
//Удален ли файл автоматически
del_auto = false;
//Допустимые расширения
var extentions = new Array();
extentions[0]='.doc';extentions[1]='.docx';extentions[2]='.xls';
extentions[3]='.xlsx';extentions[4]='.ppt';extentions[5]='.pptx';
extentions[6]='.jpg';extentions[7]='.jpeg';extentions[8]='.gif';
extentions[9]='.png';extentions[10]='.zip';extentions[11]='.rar';
extentions[12]='.gzip';extentions[13]='.gz';extentions[14]='.7z';
extentions[15]='.rtf';extentions[16]='.pdf';

$(document).ready(function(){
    init_constant();
    init_window();
    set_dialog('', '');
	init_buttons();
		
	if ($('#my-name').size() > 0) {
		$('#my-name').attr('selectedIndex',select);
        $('#my-name').sSelect({
            ddMaxHeight: '200px'
        }).change(function(){
            location.href = this.value
        })
	}
	if ($('#drop-down-who').size() > 0) {
		if (!select2) { 
			select2 = 0;
		}
		$('#drop-down-who').attr('selectedIndex',select2);
        $('#drop-down-who').sSelect({
            ddMaxHeight: '200px'
        }).change(function(){
            location.href = this.value
        })
	}
	/*	$('.wrap-select select').attr('selectedIndex',select);
        $('.wrap-select select').sSelect({
            ddMaxHeight: '200px'
        }).change(function(){
            location.href = this.value
        })
    }*/
	
    if (document.URL.match('#showmap')) {
        show_map();
    }
});

function init_buttons(){
	$(".button-item[rel!='']").click(function(){
		if (this.name) {
			set_dialog(this.name, this.rel);
			get_content(this.rel);
		}
	})
}


//Определение высоты видимой части страницы 
function windowHeight() 
{ var de = document.documentElement; 
return self.innerHeight || ( de && de.clientHeight ) || document.body.clientHeight; 
} 
// Определение ширины видимой части страницы 
function windowWidth() 
{ var de = document.documentElement; 
  return($(window).width());
  //return self.innerWidth-Math.abs(self.innerWidth-document.body.offsetWidth) || ( de && de.clientWidth ) || document.body.clientWidth;
}

//Насколько прокручен документ по высоте
function getBodyScrollTop()
{
  return self.pageYOffset || 
         (document.documentElement && document.documentElement.scrollTop)|| 
         (document.body && document.body.scrollTop);
}
//Насколько прокручен документ по ширине
function getBodyScrollLeft()
{
  return self.pageXOffset || 
  (document.documentElement && document.documentElement.scrollLeft) || 
  (document.body && document.body.scrollLeft);
}
//Анимация закрытия выдвижного модуля
function closeBox(){  
  if (!closeBoxF) 
          return false;
  box.stop();
  wd = width_def;
  wd=wd+'px';
  ld = calc_left(width_def);
  ld=ld+'px';
  //box.animate({width: '-='+default_width, left: '+='+default_width}, speed.close);
  box.animate({width:wd,left:ld},speed.close);
  $(document).unbind('click.feedbackbox');
  closeBoxF = false;
  return false;
};
//определение ширины
function calc_left(width)
{ IE='\v'=='v';
  if (IE) return ((windowWidth()-width)+getBodyScrollLeft());
  else  return ((windowWidth()-width)+getBodyScrollLeft())
}
//определение высоты
function calc_top(top)
{ IE='\v'=='v';
  if (IE) return (top*1+getBodyScrollTop()+70);
  else  return (top*1+getBodyScrollTop())
}



function define_left_top_box(w_default,t_default)
{ 
  l = calc_left(w_default);
  t = calc_top(t_default);
  
  //box.stop();
  //box.animate({left: l+'px', top: t+'px'}, 1500);
  $(".rod_mail_box").css('left',l+'px');
  $(".rod_mail_box").css('top',t+'px');
  
  window.onscroll = function ()
  { box.stop();
    //l=calc_left(w_default);
    //t=calc_top(t_default);  
    /*$(".rod_mail_box").animate({left: l,
    	                        width: w_default,
    	                        top: t}, 1000);*/
  
    $(".rod_mail_box").css('left',calc_left(w_default)+'px');
	$(".rod_mail_box").css('width',w_default+'px');
	$(".rod_mail_box").css('top',calc_top(t_default)+'px');
	if ($('.alert').length)
	  {  $('.alert').stop();	  
	     $('.alert').animate({top:$(document).scrollTop()+100},'20');
	  }   
  }
  window.onresize = window.onscroll;
}

function init_window(){
	//берем из css ширину уха и высоту 
	width_str = $(".rod_mail_box").css('width');
	top_str = $(".rod_mail_box").css('top');
	//удаляем px;
	width_def = width_str.substring(0, width_str.length - 2);
	top_def = top_str.substring(0, top_str.length - 2);
	//вызываем функцию для настройки правильного места
	//расположения уха
	define_left_top_box(width_def,top_def);
	
	//начальные значения скоростей выезжания
	//и длины выезжающей консоли
	ch = navigator.appVersion;
	if (ch.indexOf("Safari")==-1) {
	  default_speed_open = 500;
	  default_speed_close =250;
	}
	else {
	  default_speed_open = 0;
	  default_speed_close =0;
	}
	default_width = 345;
	trigger = $(".mails")
    
    trigger_on_out=$(".rod_mail_box")
    boxClass = ".rod_mail_box"
    box = $(boxClass)
    speed = {
        open: default_speed_open,
        close: default_speed_close
    };
	
    closeBoxF = false;
       
    
    trigger.mouseover(function(){
    	if (!closeBoxF){ 
        //box.animate({width: '+='+default_width,left: '-='+default_width}, speed.open);
    	box.stop();
    	wd = default_width*1+width_def*1;
    	wd=wd+'px';
    	ld = calc_left(width_def)-default_width;
    	ld=ld+'px';
    	box.animate({width: wd,left: ld}, speed.open);
    	}
        $(document).bind('click.feedbackbox', function(e){
            var el = $(e.target), sw = el.add(el.parents()).filter(boxClass);
            if (!sw.length) 
                closeBox();
        });
        closeBoxF = true;
        return false;
    });
    
    trigger_on_out.mouseleave(function(){
    	  return closeBox();
    });
    $("#dialog-modal").dialog({
        autoOpen: false,
        width: 780,
        minHeight: 500,
        modal: true,
        resizable: false,
        //open: function(event, ui) 
        //{ alert('fdgdfg');
    	 // if (content_dialog)
    	 //   $('#dialog-modal').append(content_dialog);},
        close: function(){
            set_dialog('', '');
            content=null;
        }
    });
    
    
    
    $('.mail_box .text a').click(function(e){
        e.preventDefault();
        set_dialog(this.name, this.rel);
        get_content(this.rel);
    });

    $('.zak a').click(function(e){
        e.preventDefault();
        set_dialog(this.name, this.rel);
        get_content(this.rel);
    });

    
    $('.window .close').click(function(e){
        e.preventDefault();
        $('#mask').hide();
        $('.window').hide();
    });
    
    $('#mask').click(function(){
        $(this).hide();
        $('.window').hide();
    });
}

function init_selectors(id){
    if ($(id + ' .wrap-select').size() > 0) {
        $(id + ' .wrap-select select').sSelect({
            ddMaxHeight: '300px'
        })
    }
    
    if ($(id + ' #drop-down-who').size() > 0) {
        $(id + ' #drop-down-who').change(function(){
            set_dialog($(id + ' #drop-down-who option:selected').attr('name'), $(id + ' #drop-down-who option:selected').attr('value'));
            get_content($(id+' #drop-down-who option:selected').attr('value'));
        });
    }
	

	
    if ($(id + ' #drop-down-we').size() > 0) {
        $(id+' #drop-down-we').change(function() {
	        $(id+' #add-fields').empty();
			cleanForm()
	        if ($(id+" #drop-down-we option:selected").attr('class')) {
	            with (d.settings) {
	                for (f in add_fields) {
	                    $(id+' #add-fields ').append(add_fields[f]);
	                }
	            }
	            //$(d.nSpace + ' .group label *').change(change_element);
	        }
			$(id+' .group label *').keyup(change_element);
		    $(id+' .group label *').focus(change_element);
		    $(id+' .group label input').attr('maxlength', lim_input);
		    //$('.group label *').mouseover(change_element);
	        		
			$(id+" .group input[type='text']").each(function(i){
				d.settings.count_el++
			});
			$(id+" .group textarea").each(function(i){
				d.settings.count_el++
			});
	    });
    }
}

function cleanForm(){
      $(".group input[type='text']").each(function(i){this.value=''});
      $(".group input[type='text']").removeAttr('add');
      $(".group textarea").removeAttr('add');
      $(".group textarea").val('')
      $(".group #error_form").remove();
      $('.wrapper-submit .bg-orange').css('background-position', ('-1000px 0px'));
      d.settings.count_el=0;
      d.settings.changed_el=0;
      d.changed_elements = {};
}

function init_button_submit(id)
{ if (id) temp_id = id; else temp_id = ""; 
  $(temp_id+' .wrapper-submit .bg-orange').css('background-position', ('-1000px 0px'));
  $(temp_id+' .bg-orange .submit').focus(function (){
	$(this).blur();
  });
  $(temp_id+' .bg-orange .submit:disabled').attr("id","submit_disabled");
  $(temp_id+' .bg-orange .submit').mouseup(function (){
	$(this).attr('id', 'submit');
  });
  $(temp_id+' .bg-orange .submit').mousedown(function (){
	$(this).attr('id', 'submit_click');
  });
  $(temp_id+' .bg-orange .submit').mouseout(function (){
	$(this).attr('id', 'submit');
  });
}

//ограничение на размер строк в текстовых полях ввода
function input_limits()
{ $(d.nSpace + ".group label input").attr('maxlength', lim_input);
  $(d.nSpace + ".group label #tel").attr('maxlength', lim_tel);
  $('.group #ctext-area').keydown(function(){
	  if (this.value.length > lim_textarea) {
		  this.value = this.value.substring(0, lim_textarea);
	  }
	})

   
   
}

function init_question_form(){
	var id = ".ui-dialog";
	init_selectors(id);
	init_file_upload(id);
    input_limits();
    $(id+" .group label *").keyup(function(){change_element_vitae(this,id)});
    $(id+" .group label *").focus(function(){change_element_vitae(this,id)});
    //$(d.nSpace + ' .group label *').mouseover(change_element);
    $(id+" input [type='submit']").attr('disabled', 'true');
    //$("#file-param").replaceWith($("#file-param").clone());
    init_button_submit(id);
}

function init_solution_form(){
	var id = ".ui-dialog";
	init_selectors(id);
	init_file_upload(id);
    input_limits();
    $(id+" .group label *").keyup(function(){change_element_vitae(this,id)});
    $(id+" .group label *").focus(function(){change_element_vitae(this,id)});
    //$(d.nSpace + ' .group label *').mouseover(change_element);
    $(id+" input [type='submit']").attr('disabled', 'true');
    //$("#file-param").replaceWith($("#file-param").clone());
    init_button_submit(id);
}

function init_site_form(){
	var id = ".ui-dialog";
	init_selectors(id);
	init_file_upload(id);
    input_limits();
    $(id+" .group label *").keyup(function(){change_element_vitae(this,id)});
    $(id+" .group label *").focus(function(){change_element_vitae(this,id)});
    //$(d.nSpace + ' .group label *').mouseover(change_element);
    $(id+" input [type='submit']").attr('disabled', 'true');
    //$("#file-param").replaceWith($("#file-param").clone());
    init_button_submit(id);
}

function init_vitae_form(id,url){
	$(id).attr('ref',url);
	init_selectors(id);
    init_file_upload(id,1);
    input_limits();
    $(id+" .group label *").keyup(function(){change_element_vitae(this,id)});
    $(id+" .group label *").focus(function(){change_element_vitae(this,id)});
    //$(d.nSpace + ' .group label *').mouseover(change_element);
    $(id+" input [type='submit']").attr('disabled', 'true');
    //$("#file-param").replaceWith($("#file-param").clone());
    init_button_submit(id);
}

function init_seo_form(){
	var id = ".ui-dialog";
	init_selectors(id);
	init_file_upload(id);
    input_limits();
    $(id+" .group label *").keyup(function(){change_element_vitae(this,id)});
    $(id+" .group label *").focus(function(){change_element_vitae(this,id)});
    //$(d.nSpace + ' .group label *').mouseover(change_element);
    $(id+" input [type='submit']").attr('disabled', 'true');
    //$("#file-param").replaceWith($("#file-param").clone());
    init_button_submit(id);
}

function init_vendor_form(){
	var id = ".ui-dialog";
	init_selectors(id);
	init_file_upload(id);
    input_limits();
    $(id+" .group label *").keyup(function(){change_element_vitae(this,id)});
    $(id+" .group label *").focus(function(){change_element_vitae(this,id)});
    //$(d.nSpace + ' .group label *').mouseover(change_element);
    $(id+" input [type='submit']").attr('disabled', 'true');
    //$("#file-param").replaceWith($("#file-param").clone());
    init_button_submit(id);
}

function init_vacancy_form(){
	var id = ".ui-dialog";
	init_selectors(id);
	init_file_upload(id);
    input_limits();
    $(id+" .group label *").keyup(function(){change_element_vitae(this,id)});
    $(id+" .group label *").focus(function(){change_element_vitae(this,id)});
    //$(d.nSpace + ' .group label *').mouseover(change_element);
    $(id+" input [type='submit']").attr('disabled', 'true');
    //$("#file-param").replaceWith($("#file-param").clone());
    init_button_submit(id);
}

function init_dev_form(){
	var id = ".ui-dialog";
	init_selectors(id);
	init_file_upload(id);
    input_limits();
    $(id+" .group label *").keyup(function(){change_element_vitae(this,id)});
    $(id+" .group label *").focus(function(){change_element_vitae(this,id)});
    //$(d.nSpace + ' .group label *').mouseover(change_element);
    $(id+" input [type='submit']").attr('disabled', 'true');
    //$("#file-param").replaceWith($("#file-param").clone());
    init_button_submit(id);
}

function init_file_upload(id,max_files){
	if ($(id + ' .upload-files .button-file').size() > 0) {
		
		$('.upload-files').mouseover(function(){
			$('.upload-files #error_file').fadeIn('slow');
		})
		$('.upload-files').mouseleave(function(){
			$('.upload-files #error_file').fadeOut('slow');
		})
		if (max_files) count_files = max_files;else count_files = MAX_FILE_COUNT;
		$(id+' .button-file input[name="file"]').attr('max_files',count_files);
		
		//$(id+' #upload-file-iframe-id').attr('name',id.substr(1,id.length - 1));
		$(id+' #upload-file-form').attr('target',id.substr(1,id.length-1));
		
		
		$(id+' .button-file input[name="file"]').unbind('change');
		$(id+' .button-file input[name="file"]').bind('change',function(){
		    var content = $(id+' #upload-file-iframe-id').contents().find('body').html();
		        count_files = $(this).attr('max_files')*1;
			
			var count = 0;
			d.fname = this.value.replace(/.*(\/|\\)/, "");
			//Получаем расширение файла в нижнем регистре
			ext_file = d.fname.substr(d.fname.lastIndexOf('.'),d.fname.length-1);
			ext_file=ext_file.toLowerCase();
			//Есть ли уже такой файл
			var already_in = false;
			//Нужное ли у него расширение
			var extention_right = false;
		 for(i=0;i<extentions.length;i++)
          { if (extentions[i]==ext_file) {extention_right=true; break;}}
	   if (content && extention_right){
			count = count_json(content);	
			for (i=0;i<count;i++)
			{
			  old_file = json_parse(content,i,'description');
			  if (d.fname.toLowerCase() == old_file.toLowerCase()) {already_in = true;break;}
			}
		}
		else count=0;
  	   
	   //Убираем подсказку
	   $(this).parent().parent().parent().find('#error_file').remove();
	   
	   if (count<count_files && !already_in && extention_right) 
		    {   
		    $(id+' .upload-files .button-file').addClass('wait');
		    //Убираем возмолжность нажатия кнопки загрузки файла
		    $(this).css('display','none');
			
		    $(id+' #upload-file-iframe-id').remove();
			$(this).parent().append('<iframe src="javascript:false" id="upload-file-iframe-id" name="'+id.substr(1,id.length-1)+'" height="0" width="0" frameborder="0" scrolling="0"></iframe>');
            var item = '<li class="download" id="id-'+parseInt(Math.random(100)*100000)+'">' + d.fname + '</li>';
            $(id+' .upload-files-list').append(item);
            
            $(id+' .button-file form').submit();
            
            
            
            $(id+' #upload-file-iframe-id').unbind('load');
            $(id+' #upload-file-iframe-id').bind('load',function(){upload_success($(id))});
            
            document.getElementById('upload-file-form').reset();
            }
		  else { 
			if (count>=count_files) er = "Достигнуто максимальное число прикрепленных файлов";
			else if(already_in)	er = 'Файл "'+d.fname+'" уже прикреплен';
			else 
			  {er = 'Файл имеет неправильное расширение '+ext_file+'. Разрешены следующие типы файлов: ';
			   for(i=0;i<extentions.length;i++) 
				 {if (i==extentions.length-1) er+=' '+extentions[i]+' ';
				  else er+=' '+extentions[i]+',';
				  if (i%9==0) er+='<br>';
			     }
			   }
			newitem = '<div id="error_file">'+er+'</div>';
			$(this).parent().parent().parent().append(newitem);
		  }
         });
    }
}

function set_dialog(name, url){
    struct = {
        name: name,
        nSpace: '.content-' + name + ' ',
        url: url,
        warn: '',
        settings: {},
        changed_elements: {},
        params: {}
    }
    if (name) {
        $.extend(d, struct);
        $.extend(d.settings, d.gs[name]);
    }
    else {
        d.warn = 'name rubric is not set';
    }
}

function open_dialog(c,ref){
    if (!c) {
        d.warn = 'Ошибка получения контента';
    }
    $('#dialog-modal').empty();
    if (d.warn) {
        $('#dialog-modal').prepend('<p class="warning">' + d.warn + '</p>');
        return;
    }
    $('#dialog-modal').attr('class', 'content-' + d.name);
    //Даем данные для загрузки в диалог по open
    //content_dialog = c;
    $('#dialog-modal').dialog('open');
    $('#dialog-modal').append(c);
    $(".ui-dialog").attr('ref',ref);
    closeBox();
	
	//d.name = escape(d.name);    
    var initFunction = 'init_' + d.name + '()';
    eval(initFunction);
}


function get_content(ref){
    $.ajax({
        type: "GET",
        url: ref,
        dataType: "html",
        success: function(c){open_dialog(c,ref)}
    });
}

function get_params(id){
    p = {}, d.params = p;
    $(id+" .group input[type!='submit']").each(function(i){
        if (this.name != 'file') {
			//escape(this.name) escape(this.value)
            eval("p={'" + this.name + "':'" + this.value + "'}")
            $().extend(d.params, p)
        }
    });
    
    $(id+" .group textarea").each(function(i){ 
        eval("p={'" + this.name + "':'" + this.value + "'}")
        $().extend(d.params, p)
    });
    
    $(id+" .group select option:selected").each(function(i){
    	var name = $(this).parent().attr('name'), value = $(this).parent().parent().find('.selectedTxt').text();
        eval("p={'" + name + "':'" + value + "'}");
        $().extend(d.params, p)
    });
}

function get_params_file(pointer){
    p = {}, d.params = p;
    pointer.find("#upload-file-form input[type='hidden']").each(function(i){
        eval("p={'" + this.name + "':'" + this.value + "'}")
        $().extend(d.params, p)
    });
}

function json_parse(c,num,attr)
{ if (num>=0) start = c.indexOf(num+':');
  else start=0;
  attr_start = c.indexOf(attr+':',start)+attr.length+2;
  attr_finish = c.indexOf("'",attr_start);
  var i=0;
  for(i=attr_finish-1;(i>=0)&& (c.charAt(i)!="\\") && (c.charAt(i)!="'"); i--){}
  return c.substring(i+1,attr_finish);
}

function count_json(c)
{ var i=0;
  for(i=0;(c.indexOf(i+':')!='-1');i++){};
  return i;
}

function upload_success(pointer){
    var c = pointer.find('#upload-file-iframe-id').contents().find('body').html();
    if (c) {
      content = c;
      count=count_json(c);
      pointer.find('.upload-files .download').remove();
      //Определяем размер файла
      var i = 0;
      for(i=0;i<count;i++) 
    	{if (d.fname == json_parse(c,i,'description')) break;}
      size_f =json_parse(c,i,'size');
      if ((size_f>=min_file_size) && (size_f<=max_file_size))
    	{
    	 pointer.find('.upload-files-list li').remove();
    	 for (i=0;i<count;i++)
    	 {
           //Для вывода файлов длиной >lim_file символов
    	   name_file = json_parse(c,i,'description');
           file_n = name_file.substring(0,name_file.lastIndexOf('.'));
           file_ext = name_file.substr(name_file.lastIndexOf('.'),name_file.length-1);
    	   if (file_n.length>lim_file) file_n=name_file.substr(0,lim_file)+'[...]';
           name_file = file_n+file_ext;
    	   
           newitem = '<li class="loaded"><div class="name">' + name_file + ', ' + json_parse(c,i,'size') + 'Кб </div><div class="file-detach" id="file-id-' + json_parse(c,i,'file_id') +'"><span>' + (lang == 'ru' ? 'Открепить' : 'Detach') + '</span></div></li>';
           pointer.find('.upload-files .upload-files-list').append(newitem);
           change_required(json_parse(c,-1,'feedback_id'),json_parse(c,-1,'spamermustdie'),pointer);
           bind_detach(json_parse(c,i,'file_id'),pointer);
         }
       }
      else
      { if (size_f)
    	  { change_required(json_parse(c,-1,'feedback_id'),json_parse(c,-1,'spamermustdie'),pointer);
            er = 'Размер файла "'+d.fname+'" равен '+size_f+' Кб. Ограничение на размер файла: от '+min_file_size+ ' Кб до '+max_file_size+' Кб';
            newitem = '<div id="error_file">'+er+'</div>';
		    $('.upload-files').append(newitem);
		    delete_file_if_big(json_parse(c,i,'file_id'),pointer);
		  }
		else
		  { 
			er = 'Время ожидания загрузки файла '+d.fname+' истекло';
            newitem = '<div id="error_file">'+er+'</div>';
		    $('.upload-files').append(newitem);
		  }  
      }
    }
    else {
        $('#feedback-dialog .group').empty();
        $('#feedback-dialog .group').append('<div class="warning"></div>');
    }
    pointer.find('.upload-files .button-file').removeClass('wait');
    pointer.find('.button-file #file-param').css('display','');
}

function delete_file_if_big(fId,pointer)
{  
   fid = {
        file_id: fId
       };
   if (fid) {
	 pointer.find('.upload-files .button-file').addClass('wait');
	 pointer.find('.button-file #file-param').css('display','none');
	 del_auto = true;
	 url = pointer.attr('ref') + 'deletefile/';
     get_params_file(pointer);
     $().extend(d.params, fid);
     $.ajax({
        type: "POST",
        url: url,
        data: d.params,
        success: function(c){detach_success(c,pointer)}
    }); 
 }
}

function bind_detach(fId,pointer){
    pointer.find('.upload-files .file-detach').click(function(){
    	fid = {
            file_id: this.id.replace('file-id-', '')
        };
        if (fid) {
        	pointer.find('.upload-files .button-file').addClass('wait');
        	pointer.find('.button-file #file-param').css('display','none');
        	url = pointer.attr('ref') + 'deletefile/';
            get_params_file(pointer);
            $().extend(d.params, fid);
            //блокирование удаляющих ссылок
            pointer.find('.upload-files .file-detach').fadeOut("slow")//css('display','none');
            
            $.ajax({
                type: "POST",
                url: url,
                data: d.params,
                success: function(c){detach_success(c,pointer)}
            });
            $('#' + this.id).parents('li').remove();
        }
    });
}

function detach_success(c,pointer){
	if (c) {
		document.getElementById('upload-file-form').reset();
		if (!del_auto) pointer.find('.upload-files #error_file').remove();
		//разблокировка ссылок удаления файла
		pointer.find('.upload-files .file-detach').fadeIn("slow");
		
		pointer.find('#upload-file-iframe-id').contents().find('body').html(c);
		
		change_required(json_parse(c,-1,'feedback_id'), json_parse(c,-1,'spamermustdie'),pointer);
		del_auto = false;
       
    }
    else {
        alert('Error file detach');
    }
	pointer.find('.upload-files .button-file').removeClass('wait');
	pointer.find('.button-file #file-param').css('display','');
}


function change_required(fId, sId,pointer){
    pointer.find('input[name="feedback_id"]').val(fId);
    pointer.find('input[name="spammersmustdie"]').val(sId);
}


function e_mail_check(msg)
{
if(msg !=''){
  return ((/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(msg) ? "0" : "Неверный ввод");
}
else {return 'Введите e-mail';}
}
function tel_check(msg)
{
if(msg !=''){
  return (/^((\+7)|8)([0-9]){10}$/i).test(msg) ? "0" : "Неверный ввод. Введите номер телефона в виде +70123456789 или 80123456789";
}
else {return 'Введите номер телефона в виде +70123456789 или 80123456789';}
}

function other_check(msg,th)
{ if(msg.length>0){
    return "0";
}
else {out=$(th).parent().text();
      name_for = $(th).parent().attr('for');
	  if (name_for == "fio") out = "Введите фамилию, имя, отчество";
	  else if (name_for =="position") out = "Введите должность"; 
	  else out = 'Введите '+out.toLowerCase();
	  return out;}
}

function checking(msg,th)
{ $('.group #error_form').remove();
   if (th.name == 'email') {er = e_mail_check(msg);}
   else if (th.name == 'tel'){er = tel_check(msg);}
   else {er = other_check(msg,th);}
  if (er!=='0') 
  {
  newitem = '<div id="error_form">'+er+'</div>';
  $(th).parent().append(newitem);
  return 'error';
  }
  else return '0';
}


function change_element(){
    changed_elements = {};
    if (this.name != 'file_id' || this.name != 'feedback_id' || this.name || 'spamermustdie') 
    {  
    	
    	//0 - отрицательное. 1 - неизмененное отрицательное
    	//2 - неизмененное положительное. 3-положительное
    	if (!$(this).attr('add')) $(this).attr('add','1');
    	    	    		
    	if (checking(this.value,this)=='0')
    	{  if ($(this).attr('add')==3 || $(this).attr('add')==2) 
    		$(this).attr('add','2');
    	   else if ($(this).attr('add')==0 || $(this).attr('add')==1)
    		$(this).attr('add','3');
    	}
    	else { if ($(this).attr('add')==3 || $(this).attr('add')==2) 
    		     $(this).attr('add','0');
 	           else if ($(this).attr('add')==0 || $(this).attr('add')==1)
 		              $(this).attr('add','1');
    	}
    	f = $(this).attr('add');
     if ((f==0)||(f==3))
       {	 
    	with (d.settings) {
        	//old_val_el = eval('d.changed_elements.' + this.name);
            if (/*!old_val_el ||*/ f ==3) changed_el++
            else if (/*!this.value &&*/ f==0) changed_el--        
           		
                $('.wrapper-submit .bg-orange').css('background-position', (-1000 + ((parseInt($('.wrapper-submit').width() / count_el)) * changed_el) + 'px 0px'));
	            if (changed_el >= count_el) {
	                $('.right-bg input').removeAttr('disabled');
	                $('.bg-orange .submit:enabled').attr("id","submit");
	                $('.wrapper-submit input').click(send_form);
	            }
	            else {
	                $('.right-bg input').attr('disabled', 'true');
	                $('.bg-orange .submit:disabled').attr("id","submit_disabled");
	            }
        }
        eval("changed_elements={'" + this.name + "':'" + this.value + "'}");
        $().extend(d.changed_elements, changed_elements);
       } 
      
   }
}

function change_element_vitae(th,id){
    if (id) temp_id = id; else temp_id = "";
	changed_elements = {};
    if (th.name != 'file_id' || th.name != 'feedback_id' || th.name || 'spamermustdie') 
    {  
    	
    	//0 - отрицательное. 1 - неизмененное отрицательное
    	//2 - неизмененное положительное. 3-положительное
    	if (!$(th).attr('add')) $(th).attr('add','1');
    	    	    		
    	if (checking(th.value,th)=='0')
    	{  if ($(th).attr('add')==3 || $(th).attr('add')==2) 
    		$(th).attr('add','2');
    	   else if ($(th).attr('add')==0 || $(th).attr('add')==1)
    		$(th).attr('add','3');
    	}
    	else { if ($(th).attr('add')==3 || $(th).attr('add')==2) 
    		     $(th).attr('add','0');
 	           else if ($(th).attr('add')==0 || $(th).attr('add')==1)
 		              $(th).attr('add','1');
    	}
    	f = $(th).attr('add');
     if ((f==0)||(f==3))
       {	 
    	with (d.settings) {
        	//old_val_el = eval('d.changed_elements.' + this.name);
            if (/*!old_val_el ||*/ f ==3) changed_el++
            else if (/*!this.value &&*/ f==0) changed_el--        
           		
                $(temp_id+' .wrapper-submit .bg-orange').css('background-position', (-1000 + ((parseInt($(temp_id+' .wrapper-submit').width() / count_el)) * changed_el) + 'px 0px'));
	            if (changed_el >= count_el) {
	                $(temp_id+' .right-bg input').removeAttr('disabled');
	                $(temp_id+' .bg-orange .submit:enabled').attr("id","submit");
	                $(temp_id+' .wrapper-submit input').click(function(){send_form(temp_id)});
	            }
	            else {
	                $(temp_id+' .right-bg input').attr('disabled', 'true');
	                $(temp_id+' .bg-orange .submit:disabled').attr("id","submit_disabled");
	            }
        }
        eval("changed_elements={'" + th.name + "':'" + th.value + "'}");
        $().extend(d.changed_elements, changed_elements);
       } 
      
   }
}


function send_form(id){
    get_params(id);
    url = $(id).attr('ref') + 'send/';
    $.ajax({
        type: "POST",
        url: url,
        data: d.params,
        success: open_ok
    });
}

function open_ok(c){
    if (c) {
        $("#dialog-modal").css('min-height', '300px');
        //$('#feedback-dialog').empty();
        //reg = "/[<].*[>]/ig";
        //$('#feedback-dialog').append(c);
        content = null;
        showmessage(c,"setTimeout(function() { $('#dialog-modal').dialog('close');$('.open .content_vac').slideUp();$('.open .title_vac').attr('do_close','0');set_dialog('', ''); }, 100);");
    }
    else {
        $('#feedback-dialog .group').empty();
        $('#feedback-dialog .group').append('<div class="warning">warning</div>');
    }
}
















function show_map(){
    $('#map-wrapper').slideDown();
    $('#contacts-block').slideUp();
    if (d.gs.other.map == 0) {
        d.gs.other.map = new YMaps.Map(YMaps.jQuery("#yandex-map")[0]);
        
        var zoom = new YMaps.Zoom();
        d.gs.other.map.addControl(zoom);
        
        d.gs.other.map.setCenter(new YMaps.GeoPoint(50.10664, 53.198027), 14);
        var sampleBalloonTemplate = new YMaps.LayoutTemplate(SampleBalloonLayout);
        
        var style = new YMaps.Style();
        style.parentStyle = 'default#orangePoint';
        style.balloonStyle = {
            template: sampleBalloonTemplate
        };
        style.iconStyle = new YMaps.IconStyle('default#orangeIcon');
        style.iconStyle.href = '/builder/wz2010/img/map/placemark.png';
        style.iconStyle.size = new YMaps.Point(48, 63);
        style.iconStyle.offset = new YMaps.Point(-24, -63);
        
        var placemark = new YMaps.Placemark(new YMaps.GeoPoint(50.10664, 53.198027), {
            style: style
        });
        //placemark.setIconContent('<img src="/builder/wz2010/img/map/logo.png">');
        placemark.setBalloonContent(' \
	    	<div class="baloon-content-inner"> \
	        443010<br>г.&nbsp;Самара,&nbsp;ул.&nbsp;Галактионовская&nbsp;,&nbsp;д.&nbsp;157<br>11-й&nbsp;этаж, офис&nbsp;1106<br> \
	        <div class="phone">(846)&nbsp;340-55-99</div> \
	        <a href="mailto:info@webzavod.ru">info@webzavod.ru</a> \
	      </div> \
	    ');
        
        d.gs.other.map.addOverlay(placemark);
        placemark.openBalloon();
    }
    
    return false;
}

function hide_map(){
    $('#contacts-block').slideDown();
    $('#map-wrapper').slideUp();
    return false;
}

function SampleBalloonLayout(){
    this.element = YMaps.jQuery('<div class="baloon"> \
	           <div class="baloon-close"></div> \
	           <table class="baloon"> \
	             <tr> \
	               <td class="baloon-tl"><div></div></td> \
	               <td class="baloon-t" colspan="3"><div></div></td> \
	               <td class="baloon-tr"><div></div></td> \
	             </tr> \
	             <tr> \
	               <td class="baloon-ml"><div></div></td> \
	               <td class="baloon-m" colspan="3"><div class="baloon-content"></div></td> \
	               <td class="baloon-mr"><div></div></td> \
	             </tr> \
	             <tr> \
	             <td class="baloon-bl"><div></div></td> \
	             <td class="baloon-b baloon-b-l"><div></div></td> \
	             <td class="baloon-tail"><div></div></td> \
	             <td class="baloon-b baloon-b-r"><div></div></td> \
	             <td class="baloon-br"><div></div></td> \
	           </tr> \
	           </table> \
	         </div> \
	        ');
    
    this.close = this.element.find(".baloon-close");
    this.content = this.element.find(".baloon-content");
    
    this.disableClose = function(){
        this.close.unbind("click").css("display", "none");
    };
    
    this.enableClose = function(callback){
        this.close.bind("click", callback).css("display", "");
        return false;
    };
    
    this.onAddToParent = function(parentNode){
        YMaps.jQuery(parentNode).append(this.element);
    };
    
    this.onRemoveFromParent = function(){
        this.element.remove();
    };
    
    this.setContent = function(content){
        content.onAddToParent(this.content[0]);
    };
    
    this.update = function(){
    };
};






function init_constant(){
    /* global settings */
    d = {
        gs: {
            question_form: {
                changed_el: 0,
                count_el: 3,
                add_fields: {
                    1: '<label for=company_name id=ccompany>Название организации <input type=text name=company_name class=required></label>',
                    2: '<label for=position id=cposition>Ваша должность<input type=text name=position class=required></label>'
                }
            },
            solution_form: {
                changed_el: 0,
                count_el: 3
            },
            site_form: {
                changed_el: 0,
                count_el: 3
            },
            seo_form: {
                changed_el: 0,
                count_el: 3
            },
            dev_form: {
                changed_el: 0,
                count_el: 3
            },
            vacancy_form: {
                changed_el: 0,
                count_el: 4
            },
            vendor_form: {
                changed_el: 0,
                count_el: 3
            },
            vitae_form: {
                changed_el: 0,
                count_el: 3
            },
            other: {
                changed_el: 0,
                count_el: 3,
                map: 0
            }
        }
    }
}

function view_photo(imgSrc,width,height,title){
  var sWidth = screen.availWidth;
  var sHeight = screen.availHeight;

  if(!title)
  {
    title = "";
  }

  var pic_window = window.open('','','width=' + width + ',height=' + height + ',left=' + ((sWidth-width)/2) + ',top=' + ((sHeight-height)/2) + ',scrollbars=yes');
  var str = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' +
            '<html><head><title>' + title + '</title></head><body style="margin: 0; padding: 0;">' +
            '<img alt="' + title + '" src="' + imgSrc + '" width="' + width + '" height="' + height + '">' +
            '</body></html>';
  pic_window.document.write(str);
  pic_window.document.close();
}

function menu_buble_click()
{ $(document).ready(function(){
	$('.menu #buble a').bind('mouseenter',function(){
	  $('.menu #buble .out').css('display','block');
	})
	$('.menu .out').bind('mouseleave',function(){
	  $('.menu #buble .out').css('display','none');
	})
  })
}

num_vac = 0;
function vacancies(){
  $(document).ready(function(){
	$(".open .title_vac").click(function() {
		num_vac = $(this).attr('num');
		$(".open .title_vac").each(function(){
		 if (num_vac != $(this).attr('num'))
		   {$(this).parent().find(".content_vac").slideUp(0);
		    $(this).attr('do_close','0');
		    $('#vitae_'+$(this).attr('num')).html('');
		   }
		})
	   
	   if (!$(this).attr('do_close')) $(this).attr('do_close','0');
	   do_close = $(this).attr('do_close');
	   
	   $(this).toggleClass("active");
	   if (do_close == '1')
	    { $(this).parent().find(".content_vac").slideUp(0);
	      $(this).attr('do_close','0');
	      $('#vitae_'+num_vac).html('');
	    }  
	   else
	    { 
		  $(this).parent().find(".content_vac").slideDown(0);
	      $(this).attr('do_close','1');
	      vacancies_vitae();
	    }
	   return false;
	});
  });
}

function vacancies_vitae()
{ set_dialog("vitae_form", "/feedbacks/vitae_form/");
  get_content_vac("/feedbacks/vitae_form/");
}

function get_content_vac(url){
    $.ajax({
        type: "GET",
        url: d.url,
        dataType: "html",
        success: function(c){append_vitae(c,url)}
    });
}

function append_vitae(c,url){
	$('#vitae_'+num_vac).attr('class', 'content-' + d.name);
	$('#vitae_'+num_vac).html(c);
	var pos = '"'+$('#vitae_'+num_vac).parent().parent().find('a:first').text().toLowerCase()+'"';
	$('#vitae_'+num_vac).find('input#pos').attr('value',$('#vitae_'+num_vac).find('input#pos').attr('value')+' '+pos);
    var initFunction = 'init_' + d.name + '("'+'#vitae_'+num_vac+'","'+url+'")';
    eval(initFunction);
}
