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

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


/**
 * @description вызов функций при полной загрузке DOM дерева, картинки при этом еще не загрузились
 */
$(document).ready(function(){
			tabsSm();
			autoclearInput();
			m5formsWidthNormalize();	
			questions();
			ulColor();
			simsim();
})



function questions () {
	$(".questionButton").click(function(){
				$("#questionForm").toggleClass('hideQ');
	});
	$(".clickQ").click(function(){
				$("#questionForm").toggleClass('hideQ');
	});
	$("#questionForm").hover(
      function () {
		  $(this).addClass("qHover");
      }, 
      function () {
		  $(this).removeClass("qHover");		  
      }
    );

};


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

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

/**
 * @description подсветка li
*/
function liteLi(classid){
	$(classid).hover(
      function () {
        $(this).addClass("liteLi");
      }, 
      function () {
        $(this).removeClass("liteLi")
      }
    );

	
}



/**
 * @description выравнивание input[type=text], input[type=password], textarea
 */
function m5formsWidthNormalize(){
		var totlawidth=0;
	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; 
			if (i<1){ totlawidth=m5formnormalizewidth} else {m5formnormalizewidth=totlawidth};
			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;					
			if (i<1){ totlawidth=m5formnormalizewidth} else {m5formnormalizewidth=totlawidth};
			$(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;
			}				
			if (i<1){ totlawidth=m5formnormalizewidth} else {m5formnormalizewidth=totlawidth};
			$(this).width(m5formnormalizewidth);
		})		
	}
}

/**
 * @author <a href="http://meia5.com">Media5</a> - <a href="mailto:banzalik@media5.com">Бойченко Александр</a>
 * @description M5 Accordion
 */
jQuery.fn.m5accordion = function(options){
// настройки по умолчанию
var options = jQuery.extend({
  timeAnimationAccordion: '1500', // время аннимации, миллисекунды
  hidePanelONclickThisTab: true, // сварачивать панель при клике на ее заголовок?
  hideOtherPanelContent: true // сварачивать другие панели ?
},options);

return this.each(function() {
	var click=true;
	$(".m5Accordion div.m5AccordionPanelTab").each(function(i){$(this).attr("indexTitle", i);}); // нумеруем m5AccordionPanelTab
	//$(".m5Accordion div.m5AccordionPanelContent").each(function(i){$(this).hide();}); // скрываем все табы
	$(".m5Accordion div.m5AccordionPanelContent").each(function(i){$(this).css("overflow","hidden");}); // скрываем все табы
	$(".m5Accordion div.m5AccordionPanelContent").each(function(i){$(this).addClass("indexContent_"+i); }); // добавляем класс m5AccordionPanelContent
	$(".m5AccordionPanelTab").hover(
      function () {
        $(this).addClass('m5AccordionPanelTabHover');
      }, 
      function () {
        $(this).removeClass('m5AccordionPanelTabHover');
      }
    );
	$(".m5AccordionPanelTab").bind("click", function(){
		if (click) // блокировка повторного нажатия
		{
			click=false;
			var idClass="indexContent_"+$(this).attr("indexTitle");
			if ($('.'+idClass).is(':visible')!=false && options.hidePanelONclickThisTab!=false) {
				$('.'+idClass).slideUp(options.timeAnimationAccordion);
				$(this).removeClass("isOpenTitle");
				click=true;
			} else
			{
				// разварачиваем панель
				if (options.hideOtherPanelContent) {$(".m5AccordionPanelContent").slideUp(options.timeAnimationAccordion)} // сворачиваем другие панели
				$(".m5AccordionPanelTab").removeClass('isOpenTitle');
				$(this).addClass("isOpenTitle");
				$("."+idClass).slideDown(options.timeAnimationAccordion, function(){
					$(this).addClass("isOpen");
					click=true;
				}); // анимация развертывания
			}
		}
	});
	

				// разварачиваем панель
				var idClass="indexContent_0";
				if (options.hideOtherPanelContent) {$(".m5AccordionPanelContent").slideUp(options.timeAnimationAccordion)} // сворачиваем другие панели
				$("."+idClass).slideDown(options.timeAnimationAccordion, function(){
				$(".m5AccordionPanelTab").eq(0).addClass("isOpenTitle");
				}); // анимация развертывания
});

};




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 tabsSm () {	
	var maxHeight =0;
	$(".sitemapNavigation a").each(function(){
											if ($(this).height()>maxHeight)
											{
												maxHeight=$(this).height();
											}
	})
	$(".sitemapNavigation a").height(maxHeight);
	$(".sitemapNavigation a").click(function(){
											 $(".tabsContent").hide();
											 $("."+$(this).attr("rel")).show();
											 $(".sitemapNavigation a.active").removeClass("active");
											 $(this).addClass("active");
											 
	})
}

function pop_view(url,name){
			popupWin = window.open(url,name, "location=0,width=800,height=600,top=0,status=0,scrollbars=1,resizable=1");
			popupWin.focus(); 
			return false;
		}
		
function ulColor(){
	$("ul.linkUl li").hover(
			  function () {$(this).addClass("hover");}, 
			  function () {$(this).removeClass("hover");}
    )
}


//really not important (the first two should be small for Opera's sake)
PositionX = 0;
PositionY = 0;
defaultWidth  = 600;
defaultHeight = 400;

//kinda important
var AutoClose = true;

//don't touch
function popImage(imageURL,imageTitle){
  var imgWin = window.open('','_blank','scrollbars=yes,resizable=1,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY);
  if( !imgWin ) { return true; } //popup blockers should not cause errors
  imgWin.document.write('<html><head>'+imageTitle+'<script type="text\/javascript">\n'+
    'function resizeWinTo() {\n'+
    'if( !document.images.length ) { document.images[0] = document.layers[0].images[0]; }'+
    'var oH = document.images[0].height, oW = document.images[0].width;\n'+
    'if( !oH || window.doneAlready ) { return; }\n'+ //in case images are disabled
    'window.doneAlready = true;\n'+ //for Safari and Opera
    'var x = window; x.resizeTo( oW + 220, oH + 220 );\n'+
    'var myW = 0, myH = 0, d = x.document.documentElement, b = x.document.body;\n'+
    'if( x.innerWidth ) { myW = x.innerWidth; myH = x.innerHeight; }\n'+
    'else if( d && d.clientWidth ) { myW = d.clientWidth; myH = d.clientHeight; }\n'+
    'else if( b && b.clientWidth ) { myW = b.clientWidth; myH = b.clientHeight; }\n'+
    'if( window.opera && !document.childNodes ) { myW += 16; }\n'+
    'x.resizeTo( oW = oW + ( ( oW + 200 ) - myW+20 ), oH = oH + ( (oH + 200 ) - myH+20 ) );\n'+
    'var scW = screen.availWidth ? screen.availWidth : screen.width;\n'+
    'var scH = screen.availHeight ? screen.availHeight : screen.height;\n'+
    'if( !window.opera ) { x.moveTo(Math.round((scW-oW)/2),Math.round((scH-oH)/2)); }\n'+
    '}\n'+
    '<\/script>'+
    '<\/head><body onload="resizeWinTo();"'+(AutoClose?' onblur="self.close();"':'')+'>'+
    (document.layers?('<layer left="0" top="0">'):('<div style="position:absolute;left:0px;top:0px;display:table;">'))+
    '<img src="'+imageURL+'" alt="Loading image ..." title="" onload="resizeWinTo();">'+
    (document.layers?'<\/layer>':'<\/div>')+'<\/body><\/html>');
  imgWin.document.close();
  if( imgWin.focus ) { imgWin.focus(); }
  return false;
}

function simsim(){
	$(".simsim").click(function(){
								var rel=$(this).attr("rel");
								$("#"+rel).toggle();
	})
}
