// JavaScripts source code


jQuery(document).ready(function(){
	jQuery("#newsItems tr, .forecastsTable tr, #forumMessages tr, .betsTable tr, #competitions-by-race tr, #all-members tbody tr, #all-bets tr, #bets-by-race tr, #results tr, #all-results tr").mouseover(function(e) {	
		jQuery(this).addClass("hover");
	}); 
	jQuery("#newsItems tr, .forecastsTable tr, #forumMessages tr, .betsTable tr, #competitions-by-race tr, #all-members tbody tr, #all-bets tr, #bets-by-race tr, #results tr, #all-results tr").mouseout(function(e) {	
		jQuery(this).removeClass("hover");
	}); 

	jQuery("#newsItems tr.odd, .forecastsTable tr.odd, #forumMessages tr.odd, .betsTable tr.odd, #competitions-by-race tr.odd, #bets-by-race tr.odd").mouseover(function(e) {	
		jQuery(this).removeClass("odd");
		jQuery(this).addClass("hover");
	}); 
	jQuery("#newsItems tr.odd, .forecastsTable tr.odd, #forumMessages tr.odd, .betsTable tr.odd, #competitions-by-race tr.odd, #bets-by-race tr.odd").mouseout(function(e) {	
		jQuery(this).removeClass("hover");
		jQuery(this).addClass("odd");
	});

	
	setColors();
	
	jQuery("#all-members").tablesorter(
		{ headers: { 0: { sorter: false } } }
	);
	

	for(var i = 1; i < 11; i++){
		news(i);
		//forum(i);
	}
	
});

// podium
var _points = new Array();

function sortDescending(a, b) {
	return b - a;
}

function setColors() {
	for(var k = 2; k < 21; k++) {
		_points[k] = new Array;
	}
	
	var counter, value;
	var rows = jQuery("#all-members tbody tr");
	jQuery("td", rows).each( function (i, td) {
		counter = i % 22;
		if (counter > 1 && counter < 21) {
			value = jQuery(this).html();
			if(value != '-') {
				value = jQuery(this).find('a').html();
			}
			else {
				value = 0;
			}
			_points[counter].push(value);
		}
  });
  
  for(k = 2; k < 21; k++) {
		_points[k].sort(sortDescending);
	}
	
	jQuery("td", rows).each( function (i, td) {
		counter = i % 22;
		if (counter > 1 && counter < 21) {
			value = jQuery(this).html();
			if(value != '-') {
				value = jQuery(this).find('a').html();
			}
			else {
				value = 0;
			}
			
			if (getPodium(counter, 1) == value && value != 0) {
				jQuery(this).find('a').removeClass('points').addClass('gold').attr('title','Победитель этапа');
			}
			if (getPodium(counter, 2) == value && value != 0) {
				jQuery(this).find('a').addClass('silver').attr('title','Серебряный призер этапа');
			}			
			if (getPodium(counter, 3) == value && value != 0) {
				jQuery(this).find('a').addClass('bronze').attr('title','Бронзовый призер этапа');
			}
		}
  });
}

function arrayUnique(arrayName) {
  var newArray = new Array();
  label:for(var i = 0; i < arrayName.length; i++) {  
  	for(var j = 0; j < newArray.length; j++) {
    	if(newArray[j] == arrayName[i]) 
      	continue label;
    }
    newArray[newArray.length] = arrayName[i];
  }
  
  return newArray;
}

function getPodium(counter, type) {
	var points = new Array;
	points = arrayUnique(_points[counter]);

	if(type < 1 || type > 3) return false;
	
	switch(type) {
		case 1:
			return points[0];
		break;
		case 2:
			return points[1];
		break;
		case 3:
			return points[2];
		break;
	}
}
// //podium



function login_validate (f){
	form_submited = false;
	
	if (f.elements['login[username]'].value != '' || f.elements['login[password]'].value != ''){
		if (f.elements['login[username]'].value != ''){
			document.getElementById('login-username').className = 'text';
		}
		
		if (f.elements['login[password]'].value != ''){
			document.getElementById('login-password').className = 'text right';
		}
	}
	
	
	if (f.elements['login[username]'].value == ''){
		alert('Введите имя пользователя');
		document.getElementById('login-username').className = 'error';	
		return false;
	}
	else if (f.elements['login[password]'].value == ''){
		alert('Введите пароль');
		document.getElementById('login-password').className = 'error right';
		return false;
	}
	else if (form_submited === false){
		form_submited = true;
		f.elements['login-btn'].disabled = true;
		return true;
	}
	else{
		alert('Форма отправляется...');
		return false;
	}
};

function login_validate2 (f){
	form_submited = false;
	
	if (f.elements['login[username]'].value != '' || f.elements['login[password]'].value != ''){
		if (f.elements['login[username]'].value != ''){
			document.getElementById('login-username').className = 'text';
		}
		
		if (f.elements['login[password]'].value != ''){
			document.getElementById('login-password').className = 'text';
		}
	}
	
	
	if (f.elements['login[username]'].value == ''){
		alert('Введите имя пользователя');
		document.getElementById('login-username').className = 'error';	
		return false;
	}
	else if (f.elements['login[password]'].value == ''){
		alert('Введите пароль');
		document.getElementById('login-password').className = 'error';
		return false;
	}
	else if (form_submited === false){
		form_submited = true;
		f.elements['login-btn'].disabled = true;
		return true;
	}
	else{
		alert('Форма отправляется...');
		return false;
	}
};



/* content pop-up */
function findPosX(obj) {  
	var curleft = 0;  
  if (obj.offsetParent) {  
  	while (1) {  
    	curleft += obj.offsetLeft;  
      if (!obj.offsetParent) {  
      	break;  
      }  
      obj = obj.offsetParent;  
   	}  
  } 
  else if (obj.x) {  
  	curleft += obj.x;  
  }
    
	return curleft;  
}  

function findPosY(obj) {  
  var curtop = 0;  
  if (obj.offsetParent) {  
  	while (1) {  
    	curtop += obj.offsetTop;  
      if (!obj.offsetParent) {  
      	break;  
      }  
      obj = obj.offsetParent;  
   	}  
 	} 
 	else if (obj.y) {  
   	curtop += obj.y;  
  }  
  
	return curtop;  
}


/* news */
function showNewsOver(id) {
	//var elementWidth = 210;
	//var elementHeight = 16;
	var elementOffsetLeft = 0;
	var elementOffsetTop = -15;
	var object = document.getElementById('news_' + id);
	var offsetLeft = findPosX(object);
	var offsetTop = findPosY(object);
	
	document.getElementById("news_content_" + id).style.display = 'block';
	document.getElementById("news_content_" + id).style.top = (offsetTop - elementOffsetTop) + 'px';
	document.getElementById("news_content_" + id).style.left = (offsetLeft + elementOffsetLeft)  + 'px';
}

function showNewsOut(id) {
	document.getElementById("news_content_" + id).style.display = 'none';
}

function news(id) {
	jQuery('#news_' + id).hover(
		function() { 
			showNewsOver(id); 
		},
		function() { 
			showNewsOut(id); 
		}
	);
}
/* //news*/

/* forum */
function showForumOver(id) {
	//var elementWidth = 210;
	//var elementHeight = 16;
	var elementOffsetLeft = 0;
	var elementOffsetTop = -15;
	var object = document.getElementById('forum_' + id);
	var offsetLeft = findPosX(object);
	var offsetTop = findPosY(object);
	
	document.getElementById("forum_content_" + id).style.display = 'block';
	document.getElementById("forum_content_" + id).style.top = (offsetTop - elementOffsetTop) + 'px';
	document.getElementById("forum_content_" + id).style.left = (offsetLeft + elementOffsetLeft)  + 'px';
}

function showForumOut(id) {
	document.getElementById("forum_content_" + id).style.display = 'none';
}

function forum(id) {
	jQuery('#forum_' + id).hover(
		function() { 
			showForumOver(id); 
		},
		function() { 
			showForumOut(id); 
		}
	);
}
/* //forum */
/* //content pop-up */