//-------------------------------------------------------
/**
 * @author <a href="http://media5.com">Media5</a> - <a href="mailto:banzalik@gmail.com">Бойченко Александр</a>
 * @description скрипты для m5 css framework
 */
 
 /**
 * @description полная загрузка страницы, картинки при этом уже загрузились
 */
 
document.documentElement.id = "js" // добавляем тегу html id=js
 
window.onload=documentLoaded; // присваиваем функцию documentLoaded

var slide_counter=1;
var countSlides=0;
var reload_time=0;
var slide_time=1.5;

/**
 * @description вызов функций при полной загрузке страницы, картинки при этом уже загрузились
 */
function documentLoaded(){
	
}


/**
 * @description вызов функций при полной загрузке DOM дерева, картинки при этом еще не загрузились
 */
$(document).ready(function(){
			autoclearInput();
			m5formsWidthNormalize();	
			mainMenu();
			mainSlide();
			reloadSlide();
			mainNews();
			popup();			
			
			$("a[rel=popup]").click(function(){
				pop_view($(this).attr("href"),$(this).attr("title"));
				return false;
			});	
            
          $("a[rel=parent]").click(function(){
            var href= $(this).attr('href');
            $(this).attr('href', '#');
            opener.location = href;
            self.close();
          });
			
          var path = window.location.pathname.split('/');
	      if(!/ital_events=true/.test(document.cookie) && (path[1] == "" || path[1] == "ru")){
	          $.ajax({
	            url     : '/ajx/ital_events.php',
	            dataType: 'json',
	            data    : {
	                url: window.location.pathname
	            },
	            async   : true,
	            success : function(data){
	                if(!data.success){
	                    $('#qtip').css({height: 0, display: 'block'});
	                    $('#qtip .wrap').css({top: -60});                    
	                    $('#qtip .wrap').animate({
	                      top   : 0
	                    }, 1000, function() {
	                    });
	                    $('#qtip').animate({
	                      height   : 60
	                    }, 1000, function() {
	                        //$('#qtip').hide();
	                    });
	                }
	            }
	          });
              
	          //qtip
	          $('#qtip .text').click(function(){
	              pop_view('/ru/ital-events/', 'ital_events');
	          });
	          $('#qtip .close').click(function(){
	              $('#qtip .wrap').animate({
	                top   : '-60'
	              }, 1000, function() {
	              });
	              $('#qtip').animate({
	                height   : 0
	              }, 1000, function() {
	                  $('#qtip').hide();
	              });

	              document.cookie = "ital_events=true";
	          });
	      }

          var foreignLang          = /it|en/.test(window.location.href),
              topRightLogoOriginal = $('#topRightLogo').attr('src'),
              topRightLogoUp       = foreignLang ? '/images/toprightlogo_up_en.png' : '/images/toprightlogo_up.png';
              
          $('#topRightLogo').click(function(){
              var menu = $('#topRightLogoMenu');
              
              if(menu.css('display') == 'none'){
                  menu.slideDown();
                  $(this).attr('src', topRightLogoUp);
                  DD_belatedPNG.fixPng(this);
              }
              else{
                  menu.slideUp();
                  $(this).attr('src', topRightLogoOriginal);
              }
          });
          
        $('.expand-block').each(function(){
            var mutex  = false,
                height = parseInt($(this).attr('rel'), 10);
                
            $(this).parent().hover(function(){
                if(mutex)
                    return;
            
                mutex = true;
            
                $(this).find('>div').animate({
                    height: '+='+height
                }, 800, function(){
                    mutex = false;
                }).addClass('active');
            }, function(){
                $(this).find('>div').animate({
                    height: '0'
                }, 500).removeClass('active');
            });
        });
        
        $('#subscribe').click(function(){
            var alert        = $('#subscribeAlert'),
                email        = alert.find('input[name="email"]')[0],
                btnSubscribe = $('#btnSubscribe');

            alert.find('.error').hide();
                
            new InputPlaceholder(email, 'Ваш email', '', '');
            alert.css('top', -alert.height()-5).fadeIn();

            $(email).keyup(function(){
                var disabled = btnSubscribe.hasClass('disabled');
                if(/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test($(this).val())){
                    if(disabled){
                        btnSubscribe.removeClass('disabled');
                    }
                }
                else{
                    if(!disabled){
                        btnSubscribe.addClass('disabled');
                    }
                }
            });
            
            $('#btnSubscribe').click(function(){
                if(!$(this).hasClass('disabled')){
                    $.ajax({
                        url     : '/ajx/subscribe.php',
                        dataType: 'json',
                        data    : {
                            email: $(email).val()
                        },
                        async   : true,
                        success : function(res){
                            if(res.success){
                                alert.find('.error').html('Вы успешно подписаны!').show();
                            }
                            else{
                                alert.find('.error').html(res.msg).show();
                            }
                        },
                        error   : function(){
                        }
                    });
                }
                return false;
            });
            
            return false;
        });
        
        function hideAlert(){
            var alert = $('#subscribeAlert');
            if(alert.css('display') != 'none'){
                alert.fadeOut();
            }
        }
        $('#subscribeAlert .close').click(hideAlert);
});

function hideFlash(){
	$(".block_ddd, .shadow").fadeOut(50);
	$("#callMe").show();
	$('.block_flash').html('');
	return false;
}

/**
 * @description очистка инпутов, при клике на них
 */
function autoclearInput(){
	$(".autoclear").each(function(){
		$(this).attr("defaultvalue",$(this).attr("value")); // записываем в defaultvalue значение по умолчанию, необходимо для проверки нового стекста со старым
	});

	$(".autoclear").focus(function(){ 
		if ($(this).attr("value")==$(this).attr("defaultvalue")) { // проверяем совпадают ли value и defaultvalue
			$(this).attr("value", ""); // сбрасываем значение value
		}
	});
	

	$(".autoclear").blur(function(){ 
		if ($(this).attr("value")=="") { // проверяем совпадают ли value и defaultvalue
			$(this).attr("value", $(this).attr("defaultvalue")); // сбрасываем значение value
		}
	});
}


/**
 * @description выравнивание input[type=text], input[type=password], textarea
 */
function m5formsWidthNormalize(){
	if ($.browser.msie && $.browser.version<7) {	
		$("select.m5formsNormalize").each(function(i){
			var m5formnormalizepadding=Math.ceil(Number(String($(this).css("padding-left")).slice(0,-2)))+Math.ceil(Number(String($(this).css("padding-right")).slice(0,-2)));
			var m5formnormalizeborder= Math.ceil(Number(String($(this).css("border-left-width")).slice(0,-2)))+Math.ceil(Number(String($(this).css("border-right-width")).slice(0,-2)));
			var m5formnormalizewidth=Math.ceil(Number($(this).width()))+m5formnormalizepadding+m5formnormalizeborder*2;
			$(this).width(m5formnormalizewidth);
		})			
	} else {		
		$("input[type=text].m5formsNormalize, input[type=password].m5formsNormalize, textarea.m5formsNormalize").each(function(i){				
			var m5formnormalizepadding=Math.ceil(Number(String($(this).css("padding-left")).slice(0,-2)))+Math.ceil(Number(String($(this).css("padding-right")).slice(0,-2)));
			var m5formnormalizewidth=Math.ceil(Number($(this).width()))-m5formnormalizepadding;			
			$(this).width(m5formnormalizewidth);
			})
		$("select.m5formsNormalize").each(function(i){				
			var m5formnormalizepadding=Math.ceil(Number(String($(this).css("padding-left")).slice(0,-2)))+Math.ceil(Number(String($(this).css("padding-right")).slice(0,-2)));
			var m5formnormalizeborder= Math.ceil(Number(String($(this).css("border-left-width")).slice(0,-2)))+Math.ceil(Number(String($(this).css("border-right-width")).slice(0,-2)));
			if ($.browser.msie && $.browser.version<8){
				var m5formnormalizewidth=Math.ceil(Number($(this).width()))+m5formnormalizepadding+m5formnormalizeborder*2;
			} else {
				var m5formnormalizewidth=Math.ceil(Number($(this).width()))+m5formnormalizepadding+m5formnormalizeborder;
			}
			$(this).width(m5formnormalizewidth);
		})		
	}
}


function mainMenu () {
    $("ul.menu>li>ul").parent().addClass("haveChildren");
    $(".haveChildren").each(function(){
        var thisEl=$(this);
        thisEl.width(thisEl.width()+1);
        thisEl.height(thisEl.height());
    });
    $(".haveChildren>a").addClass("whiteLinkMenu");
    $("li.haveChildren>a").live("click", function(){
        //$(this).parent().children("ul").toggle();       
        $(this).parent().toggleClass("selected");
        return false;
    });
    $("ul.menu>li").click(function(){
        //$("li.haveChildren>ul").hide();
        $("ul.menu>li>").removeClass("selected");
    });
    $("ul.menu>li").hover(function(){
        $("ul.menu>li").removeClass("selected");
        //$("ul.menu ul").hide();
    })

} 


function mainSlide(){
	var slide=$('.slide');
	countSlides=slide.length;	
	reload_time=$(".slideList").attr("reload");
	reload_time=reload_time*1+slide_time;	
	if (countSlides>1)
	{
		var htmlSlide='<ul class="slideNav">';
		for (i=0; i<countSlides; i++)
		{
			htmlSlide+="<li><a rel=\""+i+"\" href=\"#\" onclick=\"javascript:showSlide('"+i+"',1); return false;\" >&nbsp;</a></li>"
		}
		htmlSlide+='</ul>';
		$(".slideList").after(htmlSlide);		
	}
	showSlide (0);
	
}

function reloadSlide(){
	var timer=reload_time+'s';
	var slide=$('.slide');
	countSlides=slide.length;
	if (countSlides>1)
	{	
		$(".slideList").everyTime(timer, 
								  'slide_timer', 
								  function(i) {
													showSlide (slide_counter);
													slide_counter++;
													if(slide_counter==countSlides){
														slide_counter=0;
													}																				
												});
	}
}

function showSlide (i,stop){
	$(".slideList").stop();
	var toLeft=i*(-715);
	$(".slideList").animate({ 
        left: toLeft
      }, 1000 );
	$(".slideNav li a").removeClass("active");
	$(".slideNav li a[rel="+i+"]").addClass("active");
	if(stop==1){
		slide_counter=i;
		$(".slideList").stopTime('slide_timer');
		reloadSlide();
	}
	return false
}


function mainNews(){
    var newsBlock       = $($('.mainPageAnons')[0]),
        isLandscape     = newsBlock.hasClass('landscape'),
        blockWidth      = isLandscape ? 243 : 268;
        increase        = isLandscape ? 3 : 1,
        news            = newsBlock.find('.mainNews li'),
        countSlidesNews = news.length;
        
	if (countSlidesNews>1)
	{
		var htmlSlideNews='<ul class="slideNewsNav">';
		for (i=0; i<countSlidesNews; i=i+increase)
		{
			htmlSlideNews+="<li><a href=\"#\" onclick=\"javascript:showNews('"+i+"', "+blockWidth+", "+increase+"); return false;\" >&nbsp;</a></li>";
		}
		htmlSlideNews+='</ul>';
		$(".mainNewsList").after(htmlSlideNews);		
	}
	showNews(0, blockWidth, increase);
}

function showNews(i, blockWidth, increase){
	$(".mainNews").stop();
	var toLeft=i*(-blockWidth);
	$(".mainNews").animate({ 
        left: toLeft
      }, 1000 );
	var toLeftLinks=$(".slideNewsNav a");
	toLeftLinks.removeClass("active");
	toLeftLinks.eq(i/increase).addClass("active");
	return false;
}
function popup() {
	$(".popupNow").click(function(){
		popupShow($(this).attr("rel"));
	})
	$(".shadow, .closePopup").click(function(){
		popupClose()
	})
}
function popupShow(i) {
	$('.popup').hide();
	$('.shadow').show();
	$("#"+i).show();	
}
function popupClose(){
	$('.popup, .shadow').hide();
}




//-------------------------------------------------------
function str_replace(search, replace, subject) {
    var f = search, r = replace, s = subject;
    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
 
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    }; 
    return sa ? s : s[0];
}

function clean_space(value){
	value=str_replace(" ","",value);
	value=str_replace("\n","",value);	
	return value;
}
function htmlspecialchars_decode (string, quote_style) {
	  
	 
    var hash_map = {}, symbol = '', tmp_str = '', entity = '';
    tmp_str = string.toString();
    
    if (false === (hash_map = this.get_html_translation_table('HTML_SPECIALCHARS', quote_style))) {
        return false;
    }
 
    for (symbol in hash_map) {
        entity  = hash_map[symbol];
        tmp_str = tmp_str.split(entity).join(symbol);
    }
    tmp_str = tmp_str.split('&#039;').join("'");
    
    return tmp_str;
}

function get_html_translation_table (table, quote_style) {

    var entities = {}, hash_map = {}, decimal = 0, symbol = '';
    var constMappingTable = {}, constMappingQuoteStyle = {};
    var useTable = {}, useQuoteStyle = {};
    
  
    constMappingTable[0]      = 'HTML_SPECIALCHARS';
    constMappingTable[1]      = 'HTML_ENTITIES';
    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
    constMappingQuoteStyle[2] = 'ENT_COMPAT';
    constMappingQuoteStyle[3] = 'ENT_QUOTES';
 
    useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';
 
    if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
        throw new Error("Table: "+useTable+' not supported');
       
    }
 
    entities['38'] = '&amp;';
    if (useTable === 'HTML_ENTITIES') {
        entities['160'] = '&nbsp;';
        entities['161'] = '&iexcl;';
        entities['162'] = '&cent;';
        entities['163'] = '&pound;';
        entities['164'] = '&curren;';
        entities['165'] = '&yen;';
        entities['166'] = '&brvbar;';
        entities['167'] = '&sect;';
        entities['168'] = '&uml;';
        entities['169'] = '&copy;';
        entities['170'] = '&ordf;';
        entities['171'] = '&laquo;';
        entities['172'] = '&not;';
        entities['173'] = '&shy;';
        entities['174'] = '&reg;';
        entities['175'] = '&macr;';
        entities['176'] = '&deg;';
        entities['177'] = '&plusmn;';
        entities['178'] = '&sup2;';
        entities['179'] = '&sup3;';
        entities['180'] = '&acute;';
        entities['181'] = '&micro;';
        entities['182'] = '&para;';
        entities['183'] = '&middot;';
        entities['184'] = '&cedil;';
        entities['185'] = '&sup1;';
        entities['186'] = '&ordm;';
        entities['187'] = '&raquo;';
        entities['188'] = '&frac14;';
        entities['189'] = '&frac12;';
        entities['190'] = '&frac34;';
        entities['191'] = '&iquest;';
        entities['192'] = '&Agrave;';
        entities['193'] = '&Aacute;';
        entities['194'] = '&Acirc;';
        entities['195'] = '&Atilde;';
        entities['196'] = '&Auml;';
        entities['197'] = '&Aring;';
        entities['198'] = '&AElig;';
        entities['199'] = '&Ccedil;';
        entities['200'] = '&Egrave;';
        entities['201'] = '&Eacute;';
        entities['202'] = '&Ecirc;';
        entities['203'] = '&Euml;';
        entities['204'] = '&Igrave;';
        entities['205'] = '&Iacute;';
        entities['206'] = '&Icirc;';
        entities['207'] = '&Iuml;';
        entities['208'] = '&ETH;';
        entities['209'] = '&Ntilde;';
        entities['210'] = '&Ograve;';
        entities['211'] = '&Oacute;';
        entities['212'] = '&Ocirc;';
        entities['213'] = '&Otilde;';
        entities['214'] = '&Ouml;';
        entities['215'] = '&times;';
        entities['216'] = '&Oslash;';
        entities['217'] = '&Ugrave;';
        entities['218'] = '&Uacute;';
        entities['219'] = '&Ucirc;';
        entities['220'] = '&Uuml;';
        entities['221'] = '&Yacute;';
        entities['222'] = '&THORN;';
        entities['223'] = '&szlig;';
        entities['224'] = '&agrave;';
        entities['225'] = '&aacute;';
        entities['226'] = '&acirc;';
        entities['227'] = '&atilde;';
        entities['228'] = '&auml;';
        entities['229'] = '&aring;';
        entities['230'] = '&aelig;';
        entities['231'] = '&ccedil;';
        entities['232'] = '&egrave;';
        entities['233'] = '&eacute;';
        entities['234'] = '&ecirc;';
        entities['235'] = '&euml;';
        entities['236'] = '&igrave;';
        entities['237'] = '&iacute;';
        entities['238'] = '&icirc;';
        entities['239'] = '&iuml;';
        entities['240'] = '&eth;';
        entities['241'] = '&ntilde;';
        entities['242'] = '&ograve;';
        entities['243'] = '&oacute;';
        entities['244'] = '&ocirc;';
        entities['245'] = '&otilde;';
        entities['246'] = '&ouml;';
        entities['247'] = '&divide;';
        entities['248'] = '&oslash;';
        entities['249'] = '&ugrave;';
        entities['250'] = '&uacute;';
        entities['251'] = '&ucirc;';
        entities['252'] = '&uuml;';
        entities['253'] = '&yacute;';
        entities['254'] = '&thorn;';
        entities['255'] = '&yuml;';
    }
 
    if (useQuoteStyle !== 'ENT_NOQUOTES') {
        entities['34'] = '&quot;';
    }
    if (useQuoteStyle === 'ENT_QUOTES') {
        entities['39'] = '&#39;';
    }
    entities['60'] = '&lt;';
    entities['62'] = '&gt;';
 
 
    // ascii decimals to real symbols
    for (decimal in entities) {
        symbol = String.fromCharCode(decimal);
        hash_map[symbol] = entities[decimal];
    }
    
    return hash_map;
}

function pop_view(url,name){
	popupWin = window.open(url,name.replace(' ', '_'), "location=0,width=800,height=615,top=0,status=0,scrollbars=1,resizable=1");
	popupWin.focus(); 
	return false;
}


function update_object_type(object_id,type_id){
	var obj=$("#"+object_id).attr('value');
	var tp=$("#"+type_id).attr('value');	
	
	 var html = $.ajax({
	  url: "/ajx/get_sales_type.php",
	  data: "object_id="+obj+"&type_id="+tp+"&front=1",
	  async: false
	 }).responseText;
	 $("#"+type_id).html(html);
	 
	 var tp=$("#"+type_id).attr('value');
	 var tp_option=$("#"+type_id+" option[value='"+tp+"']").text();
	
	 
	 var options=$("#"+type_id+" option");	 
	
  	 if(obj=='' || (tp_option=='Все предложения' && options.length<=2))
		$("#"+type_id).attr('disabled','disabled');
	 else
	 	$("#"+type_id).attr('disabled','');
}

function filter_sales(link){
	var obj=$("#object").attr('value');
	var tp=$("#type").attr('value');	
	var town=$("#town").attr('value');
	var region=$("#region").attr('value');

	if(obj!='' && tp!=''){
		location.href=link+obj+'/'+tp+'/'+town+'/'+region+'/';
	}
	return false;
}

function update_sales_town(){
	var region_id=$("#region").attr('value');
	 var html = $.ajax({
	  url: "/ajx/sales_region.php",
	  data: "region_id="+region_id,
	  async: false
	 }).responseText;

	 $("#town").html(html);
}
