//jQuery.noConflict();

/**
 * @description вызов функций при полной загрузке страницы, картинки при этом
 *              уже загрузились
 */
window.onload=documentLoaded;
function documentLoaded(){
    
}


/**
 * @description вызов функций при полной загрузке DOM дерева, картинки при этом
 *              еще не загрузились
 */
jQuery(document).ready(function() {
    autoclearInput();
    formsWidthNormalize();
    CornersInit();
    jQuery(document).pngFix();
    roundBoxInit();
    dropDownMenu();
	applyInvisibles();
});


function dropDownMenu () {
	var i = 1;
	for (i=1; i<=10; i++) {
		if (jQuery('#menu-item-'+i).get(0)) {
			jQuery('#menu-item-'+i).hover(function() {
				jQuery('td', this).addClass('active');
				var pos = jQuery(this).position();
				var page_pos = jQuery('#search-form').position();
				var str = this.id;
				var reg = /menu-item-/i;
				var id = str.replace(reg, ""); 
				if (jQuery.browser.msie && jQuery.browser.version.indexOf('6')+1 == 1 ) {
					jQuery('#subitems-' + id).css('left', pos.left+10).show();
				} else {
					jQuery('#subitems-' + id).css('left', pos.left-395-page_pos.left).show();
				}					
			},
			function() {
				var str = this.id;
				var reg = /menu-item-/i;
				var id = str.replace(reg, "");
				jQuery('#subitems-' + id).hide();
				jQuery('td', this).removeClass('active');
			});
			
			if (jQuery('#subitems-'+i).get(0)) {
				jQuery('#subitems-'+i+' ul, '+ '#subitems-'+i+' li, '+ '#subitems-'+i+' a, '+ '#subitems-'+i+' span').mouseout(function(){
					jQuery(this).parent('#subitems-'+i).show();
				});
				jQuery('#subitems-'+i).hover(function(){
					var str = this.id;
					var reg = /subitems-/i;
					var id = str.replace(reg, "");					
					jQuery('#menu-item-'+ id +' td').addClass('active');
					jQuery(this).show();
				},
				function() {
					var str = this.id;
					var reg = /subitems-/i;
					var id = str.replace(reg, "");					
					jQuery('#menu-item-'+ id +' td').removeClass('active');
					jQuery(this).hide();
				});
			}
			
		} else {
			break;
		}
	}
}

function roundBoxInit() {
    jQuery('.roundbox').wrap('<div class="rbox"></div>');
    jQuery('.roundbox').wrapInner('<div class="rbox_m"></div>');
    jQuery('.roundbox').before('<div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t"> </div></div></div>');
    jQuery('.roundbox').after('<div class="rbox_br"><div class="rbox_bl"><div class="rbox_b"> </div></div></div>');
}


/**
 * @description функция для "добавить в избранное"
 */
function CreateBookmarkLink() {
    var url = window.document.location;
    var title = window.document.title;
    if (window.sidebar) {
        window.sidebar.addPanel(title, url, "");
    } else if (window.external) {
        window.external.AddFavorite(url, title);
    } else if (window.opera && window.print) {
        return true;
    }
}


/**
 * @description очистка инпутов, при клике на них. Для элементов с классом
 *              "autoclear"
 */
function autoclearInput() {
    jQuery(".autoclear").each(function() {
        jQuery(this).attr("defaultvalue", jQuery(this).attr("value"));
    });

    jQuery(".autoclear").bind('focus', function() {
        if (jQuery(this).attr("value") == jQuery(this).attr("defaultvalue")) {
            jQuery(this).attr("value", "");
            jQuery(this).addClass('normalcolor');
        }
    });
    
    jQuery(".autoclear").bind('blur', function() {
        if (jQuery(this).attr("value") == "") {
            jQuery(this).attr("value", jQuery(this).attr("defaultvalue"));
            jQuery(this).removeClass('normalcolor');
        }
        });
}


/**
 * @description выравнивание input[type=text], input[type=password], textarea с
 *              классом "form-normal"
 */
function formsWidthNormalize(){
    if (jQuery.browser.msie && jQuery.browser.version<7) {  
        jQuery("select.form-normal").each(function(i){
            var m5formnormalizepadding=Math.ceil(Number(String(jQuery(this).css("padding-left")).slice(0,-2)))+Math.ceil(Number(String(jQuery(this).css("padding-right")).slice(0,-2)));
            var m5formnormalizeborder= Math.ceil(Number(String(jQuery(this).css("border-left-width")).slice(0,-2)))+Math.ceil(Number(String(jQuery(this).css("border-right-width")).slice(0,-2)));
            var m5formnormalizewidth=Math.ceil(Number(jQuery(this).width()))+m5formnormalizepadding+m5formnormalizeborder*2;
            jQuery(this).width(m5formnormalizewidth);
        });     
    } else {        
        jQuery("input[type=text].form-normal, input[type=password].form-normal, textarea.form-normal").each(function(i){             
            var m5formnormalizepadding=Math.ceil(Number(String(jQuery(this).css("padding-left")).slice(0,-2)))+Math.ceil(Number(String(jQuery(this).css("padding-right")).slice(0,-2)));
            var m5formnormalizewidth=Math.ceil(Number(jQuery(this).width()))-m5formnormalizepadding;            
            jQuery(this).width(m5formnormalizewidth);
            });
        jQuery("select.form-normal").each(function(i){             
            var m5formnormalizepadding=Math.ceil(Number(String(jQuery(this).css("padding-left")).slice(0,-2)))+Math.ceil(Number(String(jQuery(this).css("padding-right")).slice(0,-2)));
            var m5formnormalizeborder= Math.ceil(Number(String(jQuery(this).css("border-left-width")).slice(0,-2)))+Math.ceil(Number(String(jQuery(this).css("border-right-width")).slice(0,-2)));
            if (jQuery.browser.msie && jQuery.browser.version<8){
                var m5formnormalizewidth=Math.ceil(Number(jQuery(this).width()))+m5formnormalizepadding+m5formnormalizeborder*2;
            } else {
                var m5formnormalizewidth=Math.ceil(Number(jQuery(this).width()))+m5formnormalizepadding+m5formnormalizeborder;
            }
            jQuery(this).width(m5formnormalizewidth);
        });     
    }
}


function CornersInit() {
    var corners = getElementsByClass('corners');
    for (i = 0; i < corners.length; i++) {
        corners[i].innerHTML += '<em class="tl"></em><em class="tr"></em><em class="bl"></em><em class="br"></em>';
    }
}

function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null ) node = document;
    if ( tag == null ) tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if (pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

function applyInvisibles() {
	$("form .label .invisible").hide();
	$("form :checked").each(function() {toggleInvisibles(this);})
	$(":input[type='radio'][name='method']").change(function(){toggleInvisibles(this);});	
}

function toggleInvisibles(thisElem) {
	var thisParent = $(thisElem).parents("form");
	thisParent.find(":radio[name='method']:checked").each(function (){$(this).parents(".item").find(".label .invisible").slideDown('slow');});
	thisParent.find(":radio[name='method']:not(:checked)").each(function (){$(this).parents(".item").find(".label .invisible").slideUp('slow');});
}

