// global variable
var iterationOfLoginAttepmts = 0;


$(document).ready(function() {		

	$('#loginTrigger').click(function() {			
		if ($(this).attr("class")=="loginTriggerOff")
		{
			$('#login').animate({height: 190},"fast");
			$('#loginContent').css("display","block");
			$(this).removeClass("loginTriggerOff").addClass("loginTriggerOn");
			$(this).html("Close login box");
		}
		else
		{
			$('#login').animate({height: 0},"fast");
			$('#loginContent').css("display","none");
			$(this).removeClass("loginTriggerOn").addClass("loginTriggerOff");
			$(this).html("Login");
		}
	});

	$('#rulesRead').click(function() {	
		if ($('[name=hdnReadRules]').val()==0)
		{
			$('[name=hdnReadRules]').val(1);
			$('#rulesRead').attr('src','/style/images/check_btn_on.gif');
		}
		else
		{
			$('[name=hdnReadRules]').val(0);
			$('#rulesRead').attr('src','/style/images/check_btn_off.gif');
		}
	});
	
	$('.starRating').hover(function(){	
		var starId = $(this).attr('id');
		animateRatingStars(starId, 'false');
	});
	
	$('.starRating').mouseout(function(){
		var starId = $('#hdnCurrentReviewScore').val();
		animateRatingStars(starId, 'true');
	});

	$('.starRating').click(function(){
/* 	AJAX	
		var newRating = $('#newReviewScore').val();
		var reviewId = $('#ReviewId').val();
		var params = 'newRating='+newRating+'&reviewId='+reviewId;
		$.post(	'/lib/modules/reviewRatingChange.php', params, function (data) 
		{
			$('#reviewStarContainer').html(data);
		});
*/
		if($("#hdnMemberId").val() == '')
		{
			$("#notLogged").trigger("click");
		}
		else
		{
			$('#hdnRateReview').val('1');
			var params = 'hdnCurrentReviewScore='+$('#hdnCurrentReviewScore').val()+
				'&hdnNewReviewScore='+$('#hdnNewReviewScore').val()+
				'&hdnReviewId='+$('#hdnReviewId').val()+
				'&hdnRateReview='+$('#hdnRateReview').val()+
				'&hdnMemberId='+$('#hdnMemberId').val();
			//alert(params);
			$.post('/rate_review?random='+getToken(10), params, function (data) 
			{
				$('#reviewStarContainer').html(data);
			});
			//document.getElementById('formRateReview').submit();
		}
	});	
	
	$('#createYourReviews').hover(function(){	
		$('#createYourReviews').attr('src','/media/createYourReviews_hover.png');
	});
	$('#createYourReviews').mouseout(function(){
		$('#createYourReviews').attr('src','/media/createYourReviews.png');
	});
	
	$('#uploadBtnNoReview').hover(function(){	
		$('#uploadBtnNoReview').attr('src','/media/upload_btn_hover.png');
	});
	$('#uploadBtnNoReview').mouseout(function(){
		$('#uploadBtnNoReview').attr('src','/media/upload_btn_normal.png');
	});
	
	$('#hotToUploadBtn').hover(function(){	
		$('#hotToUploadBtn').attr('src','/media/how_to_btn_hover.png');
	});
	$('#hotToUploadBtn').mouseout(function(){
		$('#hotToUploadBtn').attr('src','/media/how_to_btn_normal.png');
	});
	
});

function animateRatingStars(starId, showInitialValue){
	//alert(starId);
	var hoverImageId = starId;
	var emptyStarsStart = 0;
	var myRating = 0;
	starId = starId.replace('starLeft','');
	starId = starId.replace('starRight','');
	for(var i=1; i<Math.floor(starId); i++)
	{
		$('#starLeft'+i).attr('src','/style/images/star_left1.gif');
		$('#starRight'+i).attr('src','/style/images/star_right1.gif');
	}
	if(showInitialValue == 'true')
	{
		var initialValue = Math.floor(starId);
		var decimalsOfInitialValue = starId - Math.floor(starId);
		if(decimalsOfInitialValue >= 0.5)
		{
			$('#starLeft'+initialValue).attr('src','/style/images/star_left1.gif');
			$('#starRight'+initialValue).attr('src','/style/images/star_right1.gif');
			initialValue+=1;
			$('#starLeft'+initialValue).attr('src','/style/images/star_left1.gif');
			$('#starRight'+initialValue).attr('src','/style/images/star_right0.gif');
			myRating = initialValue + 0.5;
			emptyStarsStart = initialValue+1;
		}
		else
		{
			$('#starLeft'+initialValue).attr('src','/style/images/star_left1.gif');
			$('#starRight'+initialValue).attr('src','/style/images/star_right1.gif');
			emptyStarsStart = initialValue + 1;
			myRating = initialValue;
		}
	}
	else
	{
		myRating = parseInt(starId)-1;
		$('#starLeft'+starId).attr('src','/style/images/star_left1.gif');
		if(hoverImageId == ('starRight'+starId))
		{
			$('#starRight'+starId).attr('src','/style/images/star_right1.gif');
			myRating = parseInt(myRating) + 1;
		}
		else
		{
			myRating = parseInt(myRating) + 0.5;
			$('#starRight'+starId).attr('src','/style/images/star_right0.gif');
		}
	}
	
	if(showInitialValue != 'true')
		var emptyStarsStart = (parseInt(starId)+1);
	$('#hdnNewReviewScore').val(myRating);
	//alert($('#newReviewScore').val());
	for(var i=emptyStarsStart; i<=5; i++)
	{
		$('#starLeft'+i).attr('src','/style/images/star_left0.gif');
		$('#starRight'+i).attr('src','/style/images/star_right0.gif');
	}	
}

function goToLogin()
{
	tb_remove();
	
	$('#login').animate({height: 190},"fast");
	$('#loginContent').css("display","block");
	$('#loginTrigger').removeClass("loginTriggerOff").addClass("loginTriggerOn");
	
	document.location = '#loginTrigger';
}

function togglePlatformMenu()
{
	if($('#platformMiniMenu').css('display') == 'none')
		$('#platformMiniMenu').slideDown("fast");
	else
		$('#platformMiniMenu').slideUp("fast");
}

/* jq functions for utils in pages */
function activeVideoButton(imgName, imgId)
{
	//alert('1');
	$("#"+imgId).attr('src','/images/videoImg/'+ imgName);	
}

function inactiveVideoButton(imgName, imgId)
{
	//alert('@');
	var currentImage = $("#"+imgId).attr('alt');
	if (currentImage == 'inactive') 
		$("#"+imgId).attr('src','/images/videoImg_bw/'+imgName)	;
}

function validateRules()
{
	if ($('[name=hdnReadRules]').val()==0)
	{
		$('[name=hdnReadRules]').val(1);
		$('#rulesRead').attr('src','/style/images/check_btn_on.gif');
	}
	else
	{
		$('[name=hdnReadRules]').val(0);
		$('#rulesRead').attr('src','/style/images/check_btn_off.gif');
	}
}

function validateRememberUser()
{
	if ($('[name=hdnRememberLogin]').val()==0)
	{
		$('[name=hdnRememberLogin]').val(1);
		$('#memberCheck').attr('src','/style/images/check_btn_on.gif');
	}
	else
	{
		$('[name=hdnRememberLogin]').val(0);
		$('#memberCheck').attr('src','/style/images/check_btn_off.gif');
	}
}


function showEdit(tabName)
{
	$('#'+tabName).css("display","inline");
}

function hideEdit(tabName)
{
	$('#'+tabName).css("display","none");
}

function showDeleteReview(tabReview)
{
	$('#deleteThumb_'+tabReview).css("display","inline");
}

function hideDeleteReview(tabReview)
{
	$('#deleteThumb_'+tabReview).css("display","none");
}

function selectReview(tabReview)
{
	$('#reviewThumb_'+tabReview).css("background-color","#560000");
}

function unselectReview(tabReview)
{
	$('#reviewThumb_'+tabReview).css("background-color","#000000");
}

/**
 * Make a ajax call.
 * 
 * @param String 	url
 * @param Integer 	page
 * @return Void
 */

/* login and register functions */

function loginValidation(linkPage)
{
	
	var re 			= /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	var params 		= new Object();
	var isValid 	= true;
	if(!re.test($('[name=txtLoginEmail]').val())){
		$('[name=txtLoginEmail]').addClass("validationError");
		alert ("Invalid Email");
		isValid = false;
		return false;
	}else {
		$('[name=txtLoginEmail]').removeClass("validationError");
	}
	if($('[name=txtLoginPassword]').val()==''){
		$('[name=txtLoginPassword]').addClass("validationError");
		alert ("Password is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtLoginPassword]').removeClass("validationError");
	}

	params['txtLoginEmail'] 	= $('[name=txtLoginEmail]').val();
	params['txtLoginPassword'] 	= $('[name=txtLoginPassword]').val();
	params['hdnRememberLogin'] 	= $('[name=hdnRememberLogin]').val();
	params['link']				= document.location.href;
	params['pageTitle']			= document.title;
	
	if(isValid!=false)
	{	
		$.post(	'/'+linkPage+'?random='+getToken(10), params, function (data) 
		{
			tb_remove();
			if (data.match(/^true$/)!=null)
			{
				document.location.href='/memberPage';
			}
			else
			{
				//document.location.href='/';
				$("#popupLogin").trigger("click");
			}
		});
	}
}

function tryToLogin(keyCode, linkPage, callTimes)
{
	if(keyCode == 13)
	{
		if(iterationOfLoginAttepmts== 0)
		{
			setTimeout('iterationOfLoginAttepmts = 1;', 200);
			loginValidation(linkPage);	
		}
		else
		{
			//setTimeout('iterationOfLoginAttepmts = 0;', 200);
		}
	}
}

function loginValidationPopup(linkPage)
{
	
	var re 			= /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	var params 		= new Object();
	var isValid 	= true;
	if(!re.test($('[name=txtUsernameP]').val())){
		$('[name=txtUsernameP]').addClass("validationError");
		alert ("Invalid Email");
		isValid = false;
		return false;
	}else {
		$('[name=txtUsernameP]').removeClass("validationError");
	}
	if($('[name=txtPasswordP]').val()==''){
		$('[name=txtPasswordP]').addClass("validationError");
		alert ("Password is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtPasswordP]').removeClass("validationError");
	}

	params['txtLoginEmail'] 	= $('[name=txtUsernameP]').val();
	params['txtLoginPassword'] 	= $('[name=txtPasswordP]').val();
	params['link']				= document.location.href;
	params['pageTitle']			= document.title;
	
	if(isValid!=false)
	{	
		$.post(	'/'+linkPage+'?random='+getToken(10), params, function (data) 
		{
			tb_remove();
			if (data.match(/^true$/)!=null)
			{
				document.location.href='/memberPage';
			}
			else
			{
				document.location.href='/';
			}
		});
	}
}

function selectMemberAge(ageSelect)
{
	$('[name=hdnMemberAge]').val(ageSelect);
	document.formMemberAge.submit();
}

function registerValidation()
{
	var re 			= /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	var params 		= new Object();
	var isValid 	= true;
	if($('[name=txtRegisterName]').val()==''){
		$('[name=txtRegisterName]').addClass("validationError");
		alert ("Name is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtRegisterName]').removeClass("validationError");
	}
	if($('[name=dllRegisterCountry]').val()==0){
		$('[name=dllRegisterCountry]').addClass("validationError");
		alert ("Country is required");
		isValid = false;
		return false;
	}else {
		$('[name=dllRegisterCountry]').removeClass("validationError");
	}
	if(!re.test($('[name=txtRegisterEmail]').val())){
		$('[name=txtRegisterEmail]').addClass("validationError");
		alert ("Invalid Email");
		isValid = false;
		return false;
	}else {
		$('[name=txtRegisterEmail]').removeClass("validationError");
	}
	if (!isDate($('[name=dllRegisterBirthMonth]').val() + "/" + $('[name=dllRegisterBirthDay]').val() + "/" + $('[name=dllRegisterBirthYear]').val()))
	{
		alert ("Birthdate is required");
		isValid = false;
		return false;
	}else {
		$('[name=hdnRegisterBirthdate]').removeClass("validationError");
		$('[name=hdnRegisterBirthdate]').val($('[name=dllRegisterBirthYear]').val() + '-' + $('[name=dllRegisterBirthMonth]').val() + '-' + $('[name=dllRegisterBirthDay]').val());
	}
	
	if($('[name=txtRegisterPassword]').val()==''){
		$('[name=txtRegisterPassword]').addClass("validationError");
		alert ("Password is required");
		isValid = false;
		return false;
	} 
	if($('[name=txtRegisterPassword]').val().length < 6 || $('[name=txtRegisterPassword]').val().length > 10 ){
		$('[name=txtRegisterPassword]').addClass("validationError");
		alert ("Password must be between 6 and 10 characters");
		isValid = false;
		return false;
	} 
	if($('[name=txtRegisterPassword2]').val()==''){
		$('[name=txtRegisterPassword2]').addClass("validationError");
		alert ("Retype Password is required");
		isValid = false;
		return false;
	} 
	if($('[name=txtRegisterPassword]').val()!=$('[name=txtRegisterPassword2]').val()){
		alert ("Type same password in bold fields");
		isValid = false;
		return false;
	}
	if($('[name=hdnReadRules]').val()=='0'){
		$('[name=hdnReadRules]').addClass("validationError");
		alert ("Please check if you read the rules and disclaimer");
		isValid = false;
		return false;
	}else {
		$('[name=hdnReadRules]').removeClass("validationError");
	}

	params['txtRegisterName'] 		= $('[name=txtRegisterName]').val();
	params['dllRegisterCountry']	= $('[name=dllRegisterCountry]').val();
	params['txtRegisterEmail'] 		= $('[name=txtRegisterEmail]').val();
	params['hdnRegisterBirthdate']	= $('[name=hdnRegisterBirthdate]').val();
	params['txtRegisterPassword'] 	= $('[name=txtRegisterPassword]').val();
	params['txtRegisterPassword2'] 	= $('[name=txtRegisterPassword2]').val();
	params['hdnReadRules'] 			= $('[name=hdnReadRules]').val();
	params['link']					= document.location.href;
	params['pageTitle']				= document.title;
	
	if(isValid!=false)
	{
		document.formRegister.submit();
	}
}

function memberUpdateValidation()
{
	var re 			= /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	var isValid 	= true;
	if($('[name=txtMemberName]').val()==''){
		$('[name=txtMemberName]').addClass("validationError");
		alert ("Name is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtMemberName]').removeClass("validationError");
	}
	if(!re.test($('[name=txtMemberEmail]').val())){
		$('[name=txtMemberEmail]').addClass("validationError");
		alert ("Invalid Email");
		isValid = false;
		return false;
	}else {
		$('[name=txtMemberEmail]').removeClass("validationError");
	}
	if (!isDate($('[name=dllMemberBirthMonth]').val() + "/" + $('[name=dllMemberBirthDay]').val() + "/" + $('[name=dllMemberBirthYear]').val()))
	{
		alert ("Birthdate is required");
		isValid = false;
		return false;
	}else {
		$('[name=hdnMemberBirthdate]').removeClass("validationError");
		$('[name=hdnMemberBirthdate]').val($('[name=dllMemberBirthYear]').val() + '-' + $('[name=dllMemberBirthMonth]').val() + '-' + $('[name=dllMemberBirthDay]').val());
	}
	if ($('[name=txtMemberPassword1]').val()!='' || $('[name=txtMemberPassword2]').val()!='')
	{
		if($('[name=txtMemberPassword1]').val()==''){
			$('[name=txtMemberPassword1]').addClass("validationError");
			alert ("Password is required");
			isValid = false;
			return false;
		} 
		if($('[name=txtMemberPassword2]').val()==''){
			$('[name=txtMemberPassword2]').addClass("validationError");
			alert ("Retype Password is required");
			isValid = false;
			return false;
		} 
		if($('[name=txtMemberPassword1]').val()!=$('[name=txtMemberPassword2]').val()){
			alert ("Type same password in bold fields");
			isValid = false;
			return false;
		}
	}

	if(isValid!=false)
	{	
		$('[name=hdnMemberUpdate]').val('Sent');
		tb_remove();
		document.formUpdate.submit();
	}
}

function addReviewValidation()
{
	var isValid 	= true;
	if($('[name=txtReviewTitle]').val()==''){
		$('[name=txtReviewTitle]').addClass("validationError");
		alert ("Title is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtReviewTitle]').removeClass("validationError");
	}
	if($('[name=fileReviewVideo]').val()==''){
		$('[name=fileReviewVideo]').addClass("validationError");
		alert ("Video is required");
		isValid = false;
		return false;
	}else {
		$('[name=fileReviewVideo]').removeClass("validationError");
	}
	
	filename = $("#fileReviewVideo").val();
	var dot = filename.lastIndexOf("."); 
	if( dot == -1 ) return ""; 
	var extension = filename.substr(dot,filename.length);
	if(extension!='.avi' && extension!='.mov' && extension!='.mpeg' && extension!='.mpg' && extension !='.wmv' && extension!='.flv')
	{
		$('[name=fileReviewVideo]').addClass("validationError");
		alert ("Video format is not one of: avi, mov, mpeg, mpg, wmv, flv");
		isValid = false;
		return false;
	}else {
		$('[name=fileReviewVideo]').removeClass("validationError");
	}
	
	if($('[name=txtReviewVideoWidth]').val()=='' || $('[name=txtReviewVideoWidth]').val() <= 0){
		$('[name=txtReviewVideoWidth]').addClass("validationError");
		alert ("Video width is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtReviewVideoWidth]').removeClass("validationError");
	}
	if($('[name=txtReviewVideoHeight]').val()==''){
		$('[name=txtReviewVideoHeight]').addClass("validationError");
		alert ("Video height is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtReviewVideoHeight]').removeClass("validationError");
	}
	if($('[name=fileReviewThumb]').val()==''){
		$('[name=fileReviewThumb]').addClass("validationError");
		alert ("Thumbnail is required");
		isValid = false;
		return false;
	}else {
		$('[name=fileReviewThumb]').removeClass("validationError");
	}
	if($('[name=ddlGamePlatform]').val()==0){
		$('[name=ddlGamePlatform]').addClass("validationError");
		alert ("This game has no assigned platforms!");
		isValid = false;
		return false;
	}else{
		$('[name=ddlGamePlatform]').removeClass("validationError");	
	}
	if($('[name=hdnReadRules]').val()=='0'){
		$('[name=hdnReadRules]').addClass("validationError");
		alert ("Please check if you read the rules and disclaimer");
		isValid = false;
		return false;
	}else {
		$('[name=hdnReadRules]').removeClass("validationError");
	}

	if(isValid!=false)
	{	
		$('[name=hdnAddReview]').val('Sent');
		//tb_remove();
		$("#formDiv").css('display','none');
		$("#uploadingDiv").css('display','block');
		document.formReview.submit();
	}
}

function reviewDeleteValidation()
{
	var isValid 	= true;

	if(isValid!=false)
	{	
		$('[name=hdnReviewDelete]').val('Sent');
		tb_remove();
		document.formDelete.submit();
	}
}

function suggestGameValidation()
{
	var re 			= /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	var isValid 	= true;
	var params 		= new Object();
	if($('[name=txtGameTitle]').val()==''){
		$('[name=txtGameTitle]').addClass("validationError");
		alert ("Game title is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtGameTitle]').removeClass("validationError");
	}
	if($('[name=txtUserName]').val()==''){
		$('[name=txtUserName]').addClass("validationError");
		alert ("Your name is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtUserName]').removeClass("validationError");
	}
	if(!re.test($('[name=txtUserEmail]').val())){
		$('[name=txtUserEmail]').addClass("validationError");
		alert ("Invalid Email");
		isValid = false;
		return false;
	}else {
		$('[name=txtUserEmail]').removeClass("validationError");
	}

	if(isValid!=false)
	{	
		$('[name=hdnSuggestGame]').val('Sent');
		tb_remove();
		//document.formSuggestGame.submit();

		params['txtGameTitle'] 			= $('[name=txtGameTitle]').val();
		params['txtUserName'] 			= $('[name=txtUserName]').val();
		params['txtUserEmail'] 			= $('[name=txtUserEmail]').val();
		params['txtWebsiteLink'] 		= $('[name=txtWebsiteLink]').val();
		params['ddlGameCategory'] 		= $('[name=ddlGameCategory]').val();
		params['txtShortDescription']	= $('[name=txtShortDescription]').val();
		params['hdnReadRules'] 			= $('[name=hdnReadRules]').val();
		params['hdnSuggestGame'] 		= $('[name=hdnSuggestGame]').val();
		
		$.post(	'/suggestGame?random='+getToken(10), params, function (data) 
		{
			tb_remove();
		});
	}
}

function tellFriendValidation()
{
	var re 			= /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	var isValid 	= true;
	var params 		= new Object();
	if($('[name=txtFriendName]').val()==''){
		$('[name=txtFriendName]').addClass("validationError");
		alert ("Name is required");
		isValid = false;
		return false;
	}else {
		$('[name=txtFriendName]').removeClass("validationError");
	}
	if(!re.test($('[name=txtFriendEmail]').val())){
		$('[name=txtFriendEmail]').addClass("validationError");
		alert ("Invalid Email");
		isValid = false;
		return false;
	}else {
		$('[name=txtFriendEmail]').removeClass("validationError");
	}
	if($('[name=txtUserMessage]').val()==''){
		$('[name=txtUserMessage]').addClass("validationError");
		alert ("Please type a short message for your friend");
		isValid = false;
		return false;
	}else {
		$('[name=txtUserMessage]').removeClass("validationError");
	}

	if(isValid!=false)
	{	
		$('[name=hdnTellFriend]').val('Sent');
		tb_remove();
		//document.formTellFriend.submit();

		params['txtFriendName']		= $('[name=txtFriendName]').val();
		params['txtFriendEmail'] 	= $('[name=txtFriendEmail]').val();
		params['txtUserMessage'] 	= $('[name=txtUserMessage]').val();
		params['hdnTellFriend'] 	= $('[name=hdnTellFriend]').val();
		
		$.post(	'/tellAFriend?random='+getToken(10), params, function (data) 
		{
			tb_remove();
		});
	}
}

function reportAbuseValidation()
{
	var params 		= new Object();
	var isValid 	= true;
	if($('[name=ddlAbuseType]').val()==''){
		$('[name=ddlAbuseType]').addClass("validationError");
		alert ("Report type is required");
		isValid = false;
		return false;
	}else {
		$('[name=ddlAbuseType]').removeClass("validationError");
	}
	if($('[name=txtDescription]').val()==''){
		$('[name=txtDescription]').addClass("validationError");
		alert ("Please type a short description about this abuse");
		isValid = false;
		return false;
	}else {
		$('[name=txtDescription]').removeClass("validationError");
	}

	if(isValid!=false)
	{	
		$('[name=hdnReportAbuse]').val('Sent');

		//tb_remove();
		//document.formReportAbuse.submit();
		
		params['ddlAbuseType'] 		= $('[name=ddlAbuseType]').val();
		params['txtDescription'] 	= $('[name=txtDescription]').val();
		params['hdnReportAbuse'] 	= $('[name=hdnReportAbuse]').val();
		params['hdnReviewId'] 		= $('[name=hdnReviewId]').val();
		
		$.post(	'/reportAbuse?review='+$('[name=hdnReviewId]').val()+'&random='+getToken(10), params, function (data) 
		{
			tb_remove();
		});
		
	}
}

function forgotPasswValidation()
{
	
	var params 		= new Object();
	var memberEmailExists;
	var re 			= /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
	var isValid 	= true;
	if(!re.test($('[name=txtMemberEmail]').val())){
		$('[name=txtMemberEmail]').addClass("validationError");
		alert ("Invalid Email");
		isValid = false;
		return false;
	}else {
		$('[name=txtMemberEmail]').removeClass("validationError");
	}

	params['memberEmail'] = $('[name=txtMemberEmail]').val();
	$.post(	'/checkMemberEmail', params, function (data)
	{
		if(data == '0')
		{
			$('#forgotPassHeader').html('There is no account with this email. <br/><br/>Please try again.');
			isValid = false;	
		}
		
		if(isValid!=false)
		{	
			$('[name=hdnForgotPass]').val('Sent');
			tb_remove();
			document.formForgotPass.submit();
		}
	});
}

/* select functions from top of pages */

function changeLanguage(parmValue)
{
	var params 		= new Object();
	var isValid 	= true;
	
	if (parmValue != "")
	{
		params['dllVideoLanguages'] = $('[name=dllVideoLanguages_'+parmValue+']').val();
	}
	else
	{
		params['dllVideoLanguages'] = $('[name=dllVideoLanguages]').val();
	}
	params['link']				= document.location.href;
	params['pageTitle']			= document.title;
	
	if(isValid!=false)
	{
		$.post(	'/lib/changeLanguage.php', params, function (data) 
		{
			document.location.reload();
		});
	}
}

function changePlatform(platfId)
{
	var params 		= new Object();
	var isValid 	= true;

	params['link']				= document.location.href;
	params['pageTitle']			= document.title;
	params['platfId']			= platfId;
	
	if(isValid!=false)
	{
		$.post(	'/lib/changePlatform.php', params, function (data) 
		{
			document.location.reload();
		});
	}
}

function showGames()
{
	var params 		= new Object();
	params['categoryId']			= $('#ddlGameCategory').val();
	$.post('/lib/modules/assignedGames.php', params, function (data) 
	{
		$('#ddlGameTitle').html(data);
		$.post(	'/lib/modules/assignedGames.php?type=firstGame', params, function (data2)
		{
			if(data2 != 0)
			{
				params['gameId']			= data2;
				$.post(	'/lib/modules/assignedPlatforms.php', params, function (data3) 
				{
					$('#ddlGamePlatform').html(data3);
				});
			}
		});
	});
}

function showPlatforms()
{
	var params 		= new Object();
	params['gameId']			= $('#ddlGameTitle').val();
	$.post(	'/lib/modules/assignedPlatforms.php', params, function (data) 
	{
		$('#ddlGamePlatform').html(data);
	});
}

/* functions from game page */

function selectCategoryLetter(letterSelect)
{
	$('[name=hdnCategoryLetter]').val(letterSelect);
	document.frmCategoryFilters.submit();
}

function filterGames(id)
{
	var sortField = '';
	var sortType = '';
	if($('#'+id).attr('class') == 'filterDesc')
	{
		//$('a.filterAsc').class('filterDesc');	
		//$('a.filterDesc').attr('class','filterAsc');
		//$('#'+id).attr('class','filterDesc');
		switch(id)
		{
			case 'gameName':
				sortField = 'Games.GameTitle';
				sortType = 'ASC';
			break;
			case 'gameRating':
				sortField = 'Games.GameScore';
				sortType = 'ASC';
			break;
			case 'gameDate':
				sortField = 'Games.ReleaseDate';
				sortType = 'ASC';
			break;
		}
		$('#currentSortField').val(sortField); 
		$('#currentSortType').val(sortType); 
	}
	else
	{
		switch(id)
		{
			case 'gameName':
				sortField = 'Games.GameTitle';
				sortType = 'DESC';
			break;
			case 'gameRating':
				sortField = 'Games.GameScore';
				sortType = 'DESC';
			break;
			case 'gameDate':
				sortField = 'Games.ReleaseDate';
				sortType = 'DESC';
			break;
		}
		$('#currentSortField').val(sortField); 
		$('#currentSortType').val(sortType); 
	}
	document.frmCategoryFiltersPagination.submit();	
}
/* functions */
/**
 * return a random number
 */
function get_random()
{
    var ranNum= Math.floor(Math.random()*63);
    return ranNum;
}

/**
 * Return a string uth reandom numbers and chars
 * 
 * @param Integer 	number
 * @return String 
 */
function getToken(number)
{
	var parts = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	var token = '';
	for(var i=0;i<number;i++)
	{
		var j = parts.substr(get_random(), 1);
		if(j!='')
			token += j;
	}
	return token; 
}

/* test functions */

function isDate(dateStr) 
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null) {
		//alert("Please enter your birth date as dd/mm/yyyy. Your current selection reads: " + dateStr);
		return false;
	}

	day = matchArray[3]; // p@rse date into variables
	month = matchArray[1];
	year = matchArray[5];

	if (month < 1 || month > 12) { // check month range
		//alert("Month must be between 1 and 12.");
		return false;
	}
	if (day < 1 || day > 31) {
		//alert("Day must be between 1 and 31.");
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		//alert("Month "+month+" doesn`t have 31 days!");
		return false;
	}
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
		//alert("February " + year + " doesn`t have " + day + " days!");
		return false;
		}
	}
	return true; // date is valid
}
