jQuery.noConflict();

(function($){
	
	/* Ready DOM function */
	$(function(){

            $('#basis div.content img').parent().pngFix();
            $('#right-frame div.right-block h4').pngFix();
			$('#error-text').pngFix();
			$('#center-frame-banners img').parent().pngFix();
			
            var contactsObj = $('#right-frame div.right-block .contacts')
            contactsObj.pngFix();
            contactsObj.find('span').css({position:'absolute',display:'block',width:'17px',height:'16px'});
			
			$('#search-input').focus(function(){
				if(this.value == this.defaultValue){
					this.value = '';
					$(this).addClass('active');
				};
			})
			.blur(function(){
				if(this.value == '' || this.value == this.defaultValue){
					this.value = this.defaultValue;
					$(this).removeClass('active');
				};
			});
			
			$('#right-frame .request-form input, #right-frame .request-form textarea').focus(function(){
				if(this.value == this.defaultValue){
					this.value = '';
					$(this).addClass('active');
				};
			})
			.blur(function(){
				if(this.value == '' || this.value == this.defaultValue){
					this.value = this.defaultValue;
					$(this).removeClass('active');
				};
			});

            $('#news-panel div.np-news-block').each(function(){
                    var parentObj = $(this);
                    var newsBlockItem = $('li',this).css('opacity','1');
                    var lastItem = newsBlockItem.length-1;
                    var timer;
                    if(newsBlockItem.length > 1){
                            function startAnimation(){
                                    newsBlockItem.eq(0).animate({opacity:0},500,function(){
                                            newsBlockItem.eq(1).animate({marginLeft:'-630px'},300,function(){
                                                    $(this).css({marginLeft:'0px'});
                                                    newsBlockItem.eq(0).insertAfter(newsBlockItem.eq(lastItem)).css('opacity','1');
                                                    newsBlockItem = jQuery('li',parentObj);
                                            });
                                    });
                            };
                            timer = setInterval(function(){startAnimation()},5000);
                            newsBlockItem.hover(
                                    function(){clearInterval(timer)},
                                    function(){
                                            timer = setInterval(function(){startAnimation()},5000);
                                    }
                            );
                    }
            });

            $('#menu-body').each(function(){
                var li = $('#menu-body>ul').children();
                var submenu = li.find('div.submenu');
				var menuItemVSSubmenu = submenu.prev();
                var menuItemA = li.children('a');
                var objAct;
                var timer;

                menuItemA.not(menuItemVSSubmenu).mouseenter(function(){
					 if(typeof objAct == 'undefined'){
						$(objAct).next().slideUp(200,function(){
						   $(this).parent().removeClass('isSubmenu');
					    }); 
					 };
				});
				
				menuItemVSSubmenu.each(function(){
                    var menuItemA = $(this);
                    var submenu = menuItemA.next();
					var liElem = submenu.find('li');
                    submenu.css({display:'block'});
					
					var maxLiElemWidth = 177;
					for(var i=0; i<liElem.length;i++ ){
						var liElemWidth = liElem.eq(i).width();
						if(liElemWidth > maxLiElemWidth){
							maxLiElemWidth = liElemWidth;
						};
					};
					liElem.css({float:'none'}).children().css({float:'none'});
					submenu.css({width:(maxLiElemWidth + 46)+'px',display:'none'});
					
                    menuItemA.mouseenter(function(){
                        clearTimeout(timer);
                        if(typeof objAct == 'undefined'){
                           objAct = menuItemA[0];
                        }
                        else {
                            if(menuItemA[0] != objAct){
                               $(objAct).next().slideUp(200,function(){
                                   $(this).parent().removeClass('isSubmenu');
                               });
                            };
                            objAct = menuItemA[0];
                        };
                       
                        if(!submenu.is(':visible')){
							submenu.show();
							var offset = submenu.offset().left;
							var width = submenu.width();
							var windowWidth = $(window).width();
							if(windowWidth - offset < (width - 23) && offset > (width - 23)){
								submenu.css({left:'auto', right:'-23px'});
							}
							else {
								submenu.css({left:'-23px', right:'auto'});
							};
							menuItemA.parent().addClass('isSubmenu');
                            submenu.hide().slideDown(200);
                        };
                    });
                    menuItemA.mouseleave(function(){
                        timer = setTimeout(function(){
                            submenu.slideUp(200,function(){
                               menuItemA.parent().removeClass('isSubmenu');
                           });
                        },200);
                    });
                    submenu.mouseenter(function(){
                        clearTimeout(timer);
                    });
                    submenu.mouseleave(function(){
                        timer = setTimeout(function(){
                           submenu.slideUp(200,function(){
                               menuItemA.parent().removeClass('isSubmenu');
                           });
                        },200);
                    });
                });

            });

          switch(document.location.hash) {
            case '#seo':
            case '#ppc':
            case '#smo':
            case '#affiliate':
            case '#email':
            case '#pr':
              $(document.location.hash + '-content').toggle();
              //document.location = document.location + '-link';
              //document.location.href = document.location + '-link';
              break;
            default:
            break;
          }
		  
		  	$('div.vacancy').each(function(){
				var parent = $(this),
					vacancyList = parent.find('div.vacancy-list ul a'),
					activeListElem,
					activeListElemContent,
					hrefArray = [],
					locationHash = window.location.toString().split('#')[1],
					activeListElemHash;
				
				function isNumber(obj){
					return typeof obj == 'number';
				}
				
				for(var i=0;i<vacancyList.length;i++){
					var elem = vacancyList.eq(i),
						href = elem.attr('href');
					if(elem.parent().hasClass('active')){
						activeListElem = i;
					}
					if(href){
						hrefArray[i] = href.split('#')[1];
						if(hrefArray[i] == locationHash){
							activeListElemHash = i;
						}
						$('#' + hrefArray[i]).hide();
					}
					else {
						hrefArray[i] = '';
					}
				};

				if(isNumber(activeListElemHash)){
					if(isNumber(activeListElem)){
						vacancyList.eq(activeListElem).parent().removeClass('active');
					}
					activeListElemContent = $('#' + hrefArray[activeListElemHash]).show();
					activeListElem = vacancyList.eq(activeListElemHash);
					activeListElem.parent().addClass('active');
				}
				else {
					if(isNumber(activeListElem)){
						activeListElemContent = $('#' + hrefArray[activeListElem]).show();
						activeListElem = vacancyList.eq(activeListElem);
						activeListElem.parent().removeClass('active').addClass('active');
					}
				};
				
				vacancyList.click(function(){
					var listElem = $(this),
						idContentElem = listElem.attr('href');
					idContentElem = idContentElem ? idContentElem.split('#')[1] : '';
					if(idContentElem){
						var contentElem = $('#'+idContentElem);
						if(contentElem[0]){
							if(activeListElemContent){
								activeListElemContent.stop();
								activeListElem.parent().removeClass('active');
								activeListElem.stop().animate({textIndent:0},{
									step:function(now,fx){
										var a = 0xff - 0xef,
											b = 0xff - 0xed;
										$(this).css({backgroundColor:'rgb(255,' + Math.floor(0xef + fx.state*a) + ',' + Math.floor(0xed + fx.state*a) + ')'})
									},
									duration:200
								});
								if(contentElem[0] == activeListElemContent[0]){
									if($.browser.msie && $.browser.version < 8){
										activeListElemContent.css({display:'none',height:'auto'});
										activeListElem = false;
										activeListElemContent = false;
									}
									else {
										activeListElemContent.animate({opacity:0,height:0},300,function(){
											$(this).css({display:'none',height:'auto'});
										});
										activeListElem = false;
										activeListElemContent = false;
									}
								}
								else {
									var actualHeight = activeListElemContent.height();
									if($.browser.msie && $.browser.version < 8){
										activeListElemContent.css({display:'none',height:'auto'});
										activeListElem = listElem;
										activeListElemContent = contentElem;
										activeListElem.parent().addClass('active');
										activeListElem.stop().animate({textIndent:0},{
											step:function(now,fx){
												var a = 0xff - 0xef,
													b = 0xff - 0xed;
												$(this).css({backgroundColor:'rgb(255,' + Math.floor(0xff - fx.state*a) + ',' + Math.floor(0xff - fx.state*a) + ')'})
											},
											duration:200
										});
										activeListElemContent.stop().css({display:'block',height:'auto'});
										var newHeight = activeListElemContent.height();
										activeListElemContent.css({height:actualHeight + 'px'});
										activeListElemContent.animate({height:newHeight},300);
									}
									else {
										activeListElemContent.animate({opacity:0},300,function(){
											activeListElemContent.css({display:'none',height:'auto'});
											activeListElem = listElem;
											activeListElemContent = contentElem;
											activeListElem.parent().addClass('active');
											activeListElem.stop().animate({textIndent:0},{
												step:function(now,fx){
													var a = 0xff - 0xef,
														b = 0xff - 0xed;
													$(this).css({backgroundColor:'rgb(255,' + Math.floor(0xff - fx.state*a) + ',' + Math.floor(0xff - fx.state*a) + ')'})
												},
												duration:200
											});
											activeListElemContent.stop().css({display:'block',height:'auto'});
											var newHeight = activeListElemContent.height();
											activeListElemContent.css({opacity:0,height:actualHeight + 'px'});
											activeListElemContent.animate({opacity:1,height:newHeight},300,function(){
												activeListElemContent.css({opacity:'auto'});
											});
										});
									}
								}
							}
							else {
								activeListElem = listElem;
								activeListElemContent = contentElem;
								activeListElem.parent().addClass('active');
								activeListElem.stop().animate({textIndent:0},{
									step:function(now,fx){
										var a = 0xff - 0xef,
											b = 0xff - 0xed;
										$(this).css({backgroundColor:'rgb(255,' + Math.floor(0xff - fx.state*a) + ',' + Math.floor(0xff - fx.state*a) + ')'})
									},
									duration:200
								});
								activeListElemContent.stop().css({display:'block',height:'auto'});
								var newHeight = activeListElemContent.height();
								if($.browser.msie && $.browser.version < 8){
									activeListElemContent.css({height:0});
									activeListElemContent.animate({height:newHeight},300);
								}
								else {
									activeListElemContent.css({opacity:0,height:0});
									activeListElemContent.animate({opacity:1,height:newHeight},300,function(){
										activeListElemContent.css({opacity:'auto'});
									});
								}
							}
						};
					};
					return false;
				});
			})

        });
	
})(jQuery);


RequestForm = {
    showPreloader: function (form, options){
      
        var email   = jQuery('#requests_email');
        var name    = jQuery('#requests_name');
        var message = jQuery('#requests_message');
        if (name.val() == 'Full Name') {
            name.focus();
            return false;
        }
        if (email.val() == 'E-Mail Address') {
            email.focus();
            return false;
        }
        if (message.val() == 'Your Requirements') {
            message.focus();
            return false;
        }
      
    },
    hidePreloader:function (){

    },
    beforeSerialize:function(){
        RequestForm.showPreloader();
        return true;
    },
    contact_form_submit_success: function(r){
        RequestForm.hidePreloader();
        jQuery('#request_form').html(r);
        RequestForm.init_forms();

    },
    init_forms: function(){
        jQuery(jQuery('form.request-form-form').get(0)).ajaxForm({
            data: {type: 'request_form'},
            beforeSerialize: RequestForm.showPreloader,
            success: RequestForm.contact_form_submit_success
        });



    }
}
jQuery(document).ready(RequestForm.init_forms);

function setSearchAutoComplete(url) {
(function($){
   var autocomplete,
   autocompleteObj;
   $("input#search-input").autocomplete({
        source: url,
        minLength: 3,
        open: function(event, ui) {
           if(typeof autocomplete == 'undefined'){
               autocomplete = $('.ui-autocomplete').eq(0);
               autocompleteObj = autocomplete.wrap('<div id="autocomplite-body" />').parent().wrap('<div id="autocomplite" />').parent();
               $('<div id="autocomplite-bottom"><!-- --></div>').appendTo(autocompleteObj);
               autocompleteObj.css({
                 top:  $('#search-input').offset().top + 28,
                 left: $('#search-input').offset().left - 23
               });
           }
           else {
               autocompleteObj.css({
                   display:'block'
               });
           };
           autocomplete.css({
               position:'static',
               width:'auto'
           });
        },
        close: function(event, ui) {
            autocompleteObj.css({
               display:'none'
           });
           $('#search-button').parent().submit();
        },
        change: function(event, ui) {
        }
    });

})(jQuery)
}

