//function noError(){return true;}
//window.onerror = noError;

Event.onDOMReady( function(){

	if($('search'))
	{
		Event.observe($('search'), 'click', function(){ this.value = ''; } );
		new Ajax.Autocompleter('search','update','ajax_players.php', { tokens: ','} );
	}

	if($('login-btn'))
		Event.observe($('login-btn'), 'click', function(){ logIn(); } );
	//if($('logout-btn'))
		//Event.observe($('logout-btn'), 'click', function(){ logOut(); } );

	attachUsernameEvent();
	attachGame10Events();
	hideLinks();	
	roundCorners();

	if($('register-btn'))
		Event.observe($('register-btn'), 'click', function(){ register(); } );

	if($('lostpass-btn'))
		Event.observe($('lostpass-btn'), 'click', function(){ $('lostpass-form').submit(); } );

	if($('submitcommon-btn'))
		Event.observe($('submitcommon-btn'), 'click', function(){ $('register-form').submit(); } );

	if($('send-comment-btn'))
		Event.observe($('send-comment-btn'), 'click', function(){ if($('comment').value == '') alert("Напишете коментар!"); else $('comments-form').submit(); } );
	
	// Bets scroll
	var scrolling = false;
	if($('scroll-bets-content'))
	{
		$('scroll-bets-content').style.left = '0px';
		$('scroll-bets-prev').observe('click', function(event){
		
			if($('scroll-bets-content').style.left != '0px' && !scrolling)
			{
				scrolling = true;
				new Effect.Move($('scroll-bets-content'),{x: 295, y: 0, duration: 1, mode:'relative'})
				Event.stop(event);
				setTimeout(function(){ scrolling = false;},1000);
			}
		});
		
		var total_new_bets = 0;
		$A($$('div#scroll-bets-content div.new-bet-item')).each( function(obj){
			total_new_bets ++;
		});
		
		if($$('div.betsperpage')[0])
		{
			var pages = 2;
			//var pages = parseInt($$('div.betsperpage')[0].id);
			//var pages = Math.floor(total_new_bets / 2) + 2;
			total_new_bets = Math.round(total_new_bets / 2);
		}else
			var pages = 3;

		$('scroll-bets-next').observe('click', function(event){
			if(parseInt($('scroll-bets-content').style.left) > ((pages * 295) - (total_new_bets * 295)) && !scrolling)
			{
				scrolling = true;
				new Effect.Move($('scroll-bets-content'),{x: -295, y: 0, duration: 1, mode:'relative'})
				Event.stop(event);
				setTimeout(function(){ scrolling = false;},1000);
			}
		});

	}

	attachStandingsEvents();
	if($('standing_month'))
		Event.observe($('standing_month'), 'change', function(){ changeStandigs(""); } );

	attachStatsEvents();
	attachCommentsEvents();
	attachChatEvents();
	
	if($('stats-table')) changeStats('month');

	if($('inqsubmit') && $('inqform'))
		Event.observe($('inqsubmit'), 'click', function(){ $('inqform').submit(); } );
	
	var googleSearchResizeIframe = false;
	
	if($('send-msg-btn'))
		Event.observe($('send-msg-btn'), 'click', function(){ if($('personalmsg').value == '' || $('subject').value == '' || $('name').value == '') alert("Попълнете всички полета!"); else $('send-msg-form').submit(); } );

	showRating();

	if($('has_new'))
	{
		win = window.open("","msg","width=300,height=200,scrollbars=no");
		win.document.write('Имате ново съобщение! Натиснете <a href="javascript:;" onclick="window.opener.location.href=\'inbox.php?action=inbox\';window.close();">тук</a> за да го прочетете.');
	}

	if($('closetopnews'))
		Event.observe($('closetopnews'), 'click', function(){ var url = 'ajax_topnews.php'; var pars = 'a=1'; var myAjax = new Ajax.Request( url, {	method: 'get', parameters: pars, onComplete: function(originalRequest){ $('topnews').style.display = 'none'; } }); } );

	$A($$('a.expand-events')).each( function(obj){
		Event.observe(obj, 'click', function(){ 
			if($(this.rel).style.display == 'block') 
			{
				$(this.rel).style.display = 'none';
				this.removeClassName('expand-off');
			}else{
				$(this.rel).style.display = 'block';
				this.addClassName('expand-off');
			}

		});
	});
	
	if($('checkall'))
		Event.observe($('checkall'), 'click', function(){ 

			$A($$('a.expand-events')).each( function(obj){
				
					if(!$('checkall').checked) 
					{
						$(obj.rel).style.display = 'none';
						obj.removeClassName('expand-off');
					}else{
						$(obj.rel).style.display = 'block';
						obj.addClassName('expand-off');
					}

			});

		} );

} );

/* Login/Logout */
function logIn()
{
	$('login-form').submit();
}

function attachUsernameEvent()
{
	//sleep(200);
	if($('username'))
	{
		Event.observe($('username'), 'focus', function(){ if(this.value != '' && this.value == 'потребител'){this.value = ''; $('pass').value = '';} } );
		Event.observe($('username'), 'blur', function(){ if(this.value == ''){ this.value = 'потребител'; $('pass').value = 'парола';} } );
		Event.observe($('username'), 'keypress', captureEvt );
	}
	if($('pass'))
	{
		Event.observe($('pass'), 'keypress', captureEvt );
	}

}

/* Game 10 */
function attachGame10Events()
{
	sleep(200);
	if($('game10-btn'))
		Event.observe($('game10-btn'), 'click', function(){ game10Submit(); } );

	if($('game10-btna'))
		Event.observe($('game10-btna'), 'click', function(){ alert('За да играете трябва да сте логнати.') } );

	if($('game10-link1'))
		Event.observe($('game10-link1'), 'click', function(){ showgame10info(1) } );

	if($('game10-link2'))
		Event.observe($('game10-link2'), 'click', function(){ showgame10info(2) } );

	if($('game10-link3'))
		Event.observe($('game10-link3'), 'click', function(){ showgame10info(3) } );

	if($('game10-close'))
		Event.observe($('game10-close'), 'click', function(){ $('game10info').style.display = 'none'; } );
}

function reloadGame10()
{
	var url = 'game10.inc.php';
	var pars = 'a=1';
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: function(originalRequest){ 
				
				$('game10').innerHTML = originalRequest.responseText;
				attachGame10Events();
				
			}
		});
}
function game10Submit()
{
	if(!IsNumeric($('r1').value) || $('r1').value < 0 || $('r1').value > 9){ alert('Прогнозата трябва да е число в интервала (0 - 9)'); return; }
	if(!IsNumeric($('r2').value) || $('r2').value < 0 || $('r2').value > 9){ alert('Прогнозата трябва да е число в интервала (0 - 9)'); return; }
	if($('r1').value == 0 && $('r2').value == 0){ alert('Прогнозата не може да бъде 0 - 0'); return; }
	if(!IsNumeric($('r3').value) || $('r3').value < 1 || $('r3').value > 90){ alert('Минутата на 1-вия гол трябва да е число в интервала (1 - 90)'); return; }
	if($('r4').value == '' || $('r4').value == ''){ alert('Попълнете Email в Betfair'); return; }
	

	var url = 'game10.inc.php';
	var pars = 'game10=1&r1=' + $('r1').value + '&r2=' + $('r2').value + '&r3=' + $('r3').value + '&r4=' + $('r4').value;
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: pars, 
			onComplete: function(originalRequest){ 
				
				alert(originalRequest.responseText);
				reloadGame10();
			}
		});
}
function showgame10info(num)
{
	$('game10info').style.display = 'block';
	$('game10info').innerHTML = '';

	var url = 'game10info.inc.php';
	var pars = 'info=' + num;
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: function(originalRequest){ 
				
				$('game10info').innerHTML = originalRequest.responseText;
				sleep(200);
				if($('game10-close'))
					Event.observe($('game10-close'), 'click', function(){ $('game10info').style.display = 'none'; } );
				
			}
		});

}

/* Register */

function register()
{
	if($('ruser').value == '' || $('rpass').value == '' || $('rpass2').value == '' || $('email').value == '')
	{
		alert("Попълнете всички полета!");
		return;
	}
	
	if($('rpass').value != $('rpass2').value)
	{
		alert("Паролите не съвпадат!");
		return;
	}
	
	if(!$('agree').checked)
	{
		alert("Прочетете условията!");
		return;
	}
	$('register-form').submit();
}

/* Standings */
function attachStandingsEvents()
{
	$A($$('a.change-league')).each( function(obj){
		Event.observe(obj, 'click', function(){ changeStandigs(this.rel); });
	});

}
function changeStandigs(league)
{
	if(league == '')
	{
		$A($$('a.change-league')).each( function(obj){
			if(obj.className == 'change-league bold')
				league = obj.rel;
		});

	}
	var url = 'standings_table.inc.php';
	var pars = 'date=' + $('standing_month').value + '&league=' + league + '&uid=' + $('standing_user').value;
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: function(originalRequest){ 
				
				$('standings-table').innerHTML = originalRequest.responseText;
				attachStandingsEvents();
			}
		});

}

/* Stats */
function attachStatsEvents()
{
	$A($$('a.change-stats-period')).each( function(obj){
		Event.observe(obj, 'click', function(){ changeStats(this.rel); });
	});

}

function changeStats(period)
{
	if(period == '')
	{
		$A($$('a.change-stats-period')).each( function(obj){
			if(obj.className == 'change-stats-period bold')
				period = obj.rel;
		});

	}
	var url = 'statsuser_table.inc.php';
	var pars = 'period=' + period + '&uid=' + $('stats_user').value;
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: function(originalRequest){ 
				
				$('stats-table').innerHTML = originalRequest.responseText;
				attachStatsEvents();
			}
		});

}

/* Bets */
function getStandingsTable(filter, page)
{
	var url = 'standings_table2.inc.php';
	var pars = 'filter=' + filter + '&page=' + page;
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: function(originalRequest){ 
				
				if(filter == '3-1' || filter == '3-2' || filter == '3-3')
					filter = '3-1';
				$('stats-table' + filter).innerHTML = originalRequest.responseText;
				roundCorners();
			}
		});

}
function activateTab(tab, num)
{
	getStandingsTable(num, 0);
	$A($$('.standings-tabs a')).each( function(obj){
		obj.removeClassName("on");
	});
	tab.addClassName("on");
}

function attachCommentsEvents()
{
	$A($$('a.comments-link')).each( function(obj){
		Event.observe(obj, 'click', function(){ $('comments-wrapper').toggle(); });
	});
	if(self.document.location.hash.substring(1) == 'comments')
		$('comments-wrapper').toggle();
}

function attachChatEvents()
{
	
	if($('send-msg'))
	{
		Event.observe($('msg'), 'keypress', captureEvt2 );
		Event.observe($('send-msg'), 'click', function(){ getMsgs(true); } );
	}
	if($('send-msg-notlogged'))
	{
		Event.observe($('send-msg-notlogged'), 'click', function(){ alert("Трябва да сте логнат."); } );
	}
	if($('msg'))
	{
		getMsgs(false);
		setInterval('getMsgs(false)', 10000);
	}

}

function getMsgs(add){ 

	var url = 'chat_ajax.php';
	var msg = '';
	if(add)
		msg = $('msg').value;


	var pars = 'msg=' + Base64.encode(msg);
	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'get', 
			parameters: pars, 
			onComplete: function(originalRequest){ 
				
				
				$('chat-content').innerHTML = originalRequest.responseText;
				setTimeout( 'scrollMsg()', 200);
				if(add)
					$('msg').value = '';
				
			}
		});

}
function scrollMsg(){ $('chat-content').scrollTop = $('chat-content').scrollHeight;}

function roundCorners()
{
	var settings = {
      tl: { radius: 4 },
      tr: { radius: 4 },
      bl: { radius: 4 },
      br: { radius: 4 },
      antiAlias: true
    }
	if($$("inp"))
		curvyCorners(settings, ".inp");
	if($$("round2"))
		curvyCorners(settings, ".round2");

}


function hideLinks()
{
	$A($$('a.hiddenlink')).each( function(obj){
		Event.observe(obj, 'click', function(){ window.open(this.rel); });
	});

}

function dobet365(participant, odd)
{
	window.open("http://www.bet365.com/instantbet/default.asp?affiliatecode=365_036755&instantbet=1&odds=" + odd + "&participantid=" + participant, "", "width=600,height=400");
	
}

function doBetfair(event_id)
{
	window.open("http://sports.betfair.com/?rfr=619&mi=" + event_id + "&ex=1", "");
	
}

/* Tools */
function captureEvt(evt){
	evt = (evt) ? evt : event;
	var charCode = (evt.which) ? evt.which : evt.keyCode;
	if(charCode==13) $('login-form').submit();
}
function captureEvt2(evt){
	evt = (evt) ? evt : event;
	var charCode = (evt.which) ? evt.which : evt.keyCode;
	if(charCode==13) getMsgs(true);
}

function IsNumeric(strString)
{
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;

	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++)
	  {
	  strChar = strString.charAt(i);
	  if (strValidChars.indexOf(strChar) == -1)
		 {
		 blnResult = false;
		 }
	  }
	return blnResult;
}
function sleep(delay)
{
	var start = new Date().getTime();
	while (new Date().getTime() < start + delay);
}
function showRating()
{

	$A($$('div.rat')).each( function(obj){
		temp = obj.id.split('-');
		if(temp[1] == 0)
			rating = '0.0';
		else
			rating = temp[1]/10
		
		opt = {rated:false};
		if(obj.className == 'rat rated')
			opt = {rated:true};
		new Rater(obj, raterLayout.stars, opt, rating);

	});
}
function Set_Cookie( name, value, expires, path, domain, secure )
{

var today = new Date();
today.setTime( today.getTime() );

if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}
