var cssFix = function(){
  var u = navigator.userAgent.toLowerCase(),
  addClass = function(el,val){
    if(!el.className) {
      el.className = val;
    } else {
      var newCl = el.className;
      newCl+=(" "+val);
      el.className = newCl;
    }
    window.client = el.className;
  },
  is = function(t){
    return (u.indexOf(t)!=-1)
  };
  addClass(document.getElementsByTagName('html')[0],[
    (!(/opera|webtv/i.test(u))&&/msie (\d)/.test(u))?('ie ie'+RegExp.$1)
    :is('firefox/2')?'gecko ff2'
    :is('firefox/3')?'gecko ff3'
    :is('gecko/')?'gecko'
    :is('opera/9')?'opera opera9':/opera (\d)/.test(u)?'opera opera'+RegExp.$1
    :is('konqueror')?'konqueror'
    :is('applewebkit/')?'webkit safari'
    :is('mozilla/')?'gecko':'',
    (is('x11')||is('linux'))?' linux'
    :is('mac')?' mac'
    :is('win')?' win':''
    ].join(" "));
}();


function layoutFixes() {

  // Fix banners layout
  if ($('.supporters-widget .banner').length > 0) {
    $('.supporters-widget .banner:not(".wide"):odd').addClass('second');
  }

  // Most popular
  var popular_widget = $('.most-popular-widget')
  if (popular_widget.length > 0 && $.browser.msie && parseInt($.browser.version) < 9) {
    $('a:last-child',popular_widget).addClass('last-item')
  }

  // Toggle fields
  var toggle_field = $('.toggle-field');
  if (toggle_field.length > 0) {
    $('.toggle-field').focus(function(){
      if($(this).val() == $(this).attr('rel')) {
        if($(this).hasClass('password')) {
          this.setAttribute('type', 'password')
        }
        $(this).val('');
      }
    })
    .blur(function(){
      if($(this).val() == '') {
        if($(this).hasClass('password')) {
          this.setAttribute('type', 'text')
        }
        $(this).val($(this).attr('rel'));
      }
    })
  }

  // Rating
  var rateLink = $('.rate a');
  if (rateLink.length > 0) {
    $('.rate a').click(function(e){
      $(this).toggleClass('down');
      e.preventDefault()
    })
  }

  // Pager
  var pager = $('.pager');
  if(pager.length > 0){
    $('.active',pager).live('click',function(){return false})
  }

	function client(str) {
		if (str) {
			return navigator.userAgent.toLowerCase().match(str)
		}
		return navigator.userAgent.toLowerCase();
	}

	// Create corners for IE7/8
	var cornerMaker = function (element,settings) {
		$(element).css({'position':'relative'})
		if (settings.c1) $(element).append('<b class="corner topleft"></b>');
		if (settings.c2) $(element).append('<b class="corner topright"></b>')
    if (settings.c3) $(element).append('<b class="corner bottomleft"></b>')
    if (settings.c4) $(element).append('<b class="corner bottomright"></b>')
	}

  if (client('msie 7') || client('msie 8')) {
		var corner_elements = $('.button');
		if (corner_elements.length > 0) {
			corner_elements.each(function(){
				cornerMaker(this,{c1:true,c2:true,c3:true,c4:true})
			})
		}
		var rates = $('.rate div');
		if (rates.length > 0) {
			rates.each(function(){
				cornerMaker(this,{c3:true,c4:true})
			})
		}
		var tabs = $('#posts-navigation .top-side a')
		if (tabs.length > 0) {
			tabs.each(function(){
				cornerMaker(this,{c1:true,c2:true})
			})
		}
  }

	// Post item
	var post_item = $('.post-item');
	if (post_item.length > 0) {
		$('.info',post_item).each(function(){
			var this_info = this;
			$('.summary',this_info).live('click',function(e){
				$('.post-content',this_info).toggle();
				$(this).toggleClass('clicked')
				e.preventDefault();
			})
		})
	}
}

function implementCufon() {
  Cufon.replace('.toprate h2', {fontFamily: 'Myriad Pro Regular', hover: true});
  Cufon.replace('#register', {fontFamily: 'Myriad Pro Regular', hover: true});
  //Cufon.replace('.entry-title', {fontFamily: 'Myriad Pro Regular', hover: true});
  Cufon.replace('.votes-counter a', {fontFamily: 'Myriad Pro Regular'});
}

function implementStylishSelect(script_url) {
	if (script_url) {
		var stylishSelects = $('.s-select');
		if (stylishSelects.length > 0) {
			$.getScript(script_url, function() {
				stylishSelects.sSelect();
			});
		}
	}
}

/*
 * DOM is ready
 */
$(function(){
  implementCufon();
  implementStylishSelect(window.stylish_url);
  layoutFixes();
})



