function secure_text(str,minimal) {
str=str.replace(/\'/g,'&#039;');
if (minimal) return str;
str=str.replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;');
return str;
}

$.ajaxSetup(
 {contentType : "application/x-www-form-urlencoded; charset=utf-8"}
 );

var $page = {
	setBG : function(URL) {
		$("#content").css({"background" : "url(images/backgrounds/"+URL+")", "background-position" : "bottom left", "background-repeat" : "no-repeat","min-height" : "470px"});
		
		return this;
	},
	
	messageOpen : false,
	
	popMessage : function(content) {
		if ($page.messageOpen) return false;
		$page.messageOpen = true;
		var elm = $(document.createElement('div')).addClass('floatscreen darkscreen');
		$('body').append(elm);
		
		elm = $(document.createElement('div')).addClass('floatscreen').click($page.__closePopped);
		$('body').append(elm);
		
		var app = '<table style="width:100%;height:100%;"><tr><td style="vertical-align:middle;text-align:center;"><center><table id="fMsg"><tr><td>';
		
		app += content;
		
		app += '</td></tr></table></center></td></tr></table>';
		elm.append(app);
	},
	__closePopped : function(e) {
		if (!$(e.target).closest('#fMsg').length)
		$page.closeMessage();
	},
	closeMessage : function() {
		$('.floatscreen').remove();
		$page.messageOpen = false;
		return false;
	}
};


var $forms = {
	forceChar : function(e,element,type) {
		var valids,to_cap;
		switch (type.toLowerCase()) {
			case 'numbers':
				valids = "";
				to_cap = "";
			break;
			case 'code':
				valids = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
				to_cap = "abcdefghijklmnopqrstuvwxyz";
			break;
			
			default: return true;
		}
		var heToEn = {
			'/' : 'q',
			"'" : 'w',
			'ק' : 'e',
			'ר' : 'r',
			'א' : 't',
			'ט' : 'y',
			'ו' : 'u',
			'ן' : 'i',
			'ם' : 'o',
			'פ' : 'p',
			'ש' : 'a',
			'ד' : 's',
			'ג' : 'd',
			'כ' : 'f',
			'ע' : 'g',
			'י' : 'h',
			'ח' : 'j',
			'ל' : 'k',
			'ך' : 'l',
			'ז' : 'z',
			'ס' : 'x',
			'ב' : 'c',
			'ה' : 'v',
			'נ' : 'b',
			'מ' : 'n',
			'צ' : 'm'
		};
		
		var c_code,char;
		if (e.charCode) c_code = e.charCode;
		else c_code = e.keyCode;
		
		if (!c_code) return ;
		
		char = String.fromCharCode(c_code);
		
		if (valids.indexOf(char) == -1) {
//			if (c_code >= 1488 && c_code <= 1514) {
				if (heToEn[char] && (!element.getAttribute('maxlength') || element.getAttribute('maxlength') > $(element).val().length))
				$(element).val($(element).val() + heToEn[char].toUpperCase());
//			}
			else if (to_cap.indexOf(char) != -1) {
				if (!element.getAttribute('maxlength') || element.getAttribute('maxlength') > $(element).val().length)
				$(element).val($(element).val() + char.toUpperCase());
			}
			else return true;
			return false;
		}
		
		return (!element.getAttribute('maxlength') || element.getAttribute('maxlength') > $(element).val().length);
	}
};


var $user = {
	'connect' : false,
	'points' : 0,
	'username' : "",
	'user_profile' : "",
	set : function(data) {
		for (idx in data) {
			if ($user[idx] != null)
			$user[idx] = data[idx];
		}
	},
	get : function(d) {
		if ($user[d]) return $user[d];
		return null;
	}
};


var exts = {
	images: ["gif","jpg","jpeg","png"],
	check: function(fileName,list) {
		var fileParts = fileName.split(".");
		var fileExtension = fileParts[fileParts.length-1];
		var correct = false;
		$.each(list,function(i,ext) {
			if (fileExtension.toLowerCase() == ext.toLowerCase())
			correct = true;
		});

		return correct;
	},
	checkImage: function(img) {
		if (!img.complete) return false;
		if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) return false;

		return true;
	},
	loadImage: function(fileName,container,maxWidth,maxHeight,pretext) {
		if (!this.check(fileName,this.images))
		{
			$(container).html("<i>אין תצוגה מקדימה זמינה</i>");
			return false;
		}
		
		if (pretext == null)
		pretext = "תצוגה מקדימה:<br />";
		

		var tmpImage = new Image();
		tmpImage.src = fileName;

		if (!this.checkImage(tmpImage))
		{
			$(container).html("<i>אין תצוגה מקדימה זמינה</i>");
			return false;
		}


		var width,height;
		if (tmpImage.width > maxWidth)
		{
			width = maxWidth;
			var tmpHeight = tmpImage.height * (maxWidth / tmpImage.width);
			height = tmpHeight > maxHeight ? maxHeight : tmpHeight;
		}
		else if (tmpImage.height > maxHeight)
		{
			height = maxHeight;
			var tmpWidth = tmpImage.width * (maxHeight / tmpImage.height);
			width = tmpWidth > maxWidth ? maxWidth : tmpWidth;
		}
		else
		{
			width = tmpImage.width;
			height = tmpImage.height;
		}
		

		$(container).html(pretext + "<img src='"+fileName+"' alt='' style='width:"+width+"px;height:"+height+"px;' />");
	}
};


var index = {
	events : {
		flash : function() {
			if ($("#eventsBlock .flash").hasClass("bright"))
			$("#eventsBlock .flash").removeClass("bright");
			else
			$("#eventsBlock .flash").addClass("bright");
			
			setTimeout(index.events.flash,550);
		}
	},
	chat : {
		defaultValue : 'כתוב כאן את תגובתך, ולחץ "הגב" מצד שמאל ע"מ לשלוח את התגובה',
		
		focusBox : function(elm) {
			if ($(elm).val() == index.chat.defaultValue) {
				$(elm).css('color','white').val("");
			}
		},
		blurBox : function(elm) {
			if ($(elm).val() == '') {
				$(elm).css('color','#787878').val(index.chat.defaultValue);
			}
		},
		
		allowSending : true,
		timer : function(interval) {
			index.chat.allowSending = false;
			setTimeout(function() {
				index.chat.allowSending = true;
			},interval * 1000);
		},
		
		changeLines : function(lines) {
			if (lines > 5 || lines < 1) return false;
			$('.chat_scroll').height(Math.round(lines * 25.6)).jScrollPane({
				showArrows: true,
				animateScroll: true
			});
		},
		toggleHours : function(show) {
			if (show == 0) {
				$('.chat_scroll .time').hide().siblings('.s.t').hide();
				index.chat.showHour = false;
			}
			else {
				$('.chat_scroll .time').show().siblings('.s.t').show();
				index.chat.showHour = true;
			}
		},
		
		time : 0,
		timeout : "",
		
		updateEvery : function(secs,time) {
			index.chat.time = time;
			if (secs <= 0) return false;
			index.chat.timeout = setTimeout(function() { index.chat.__cronUpdate(secs) }, secs * 1000);
		},
		__cronUpdate : function(secs) {
			index.chat.update();
			if (secs <= 0) return false;
			index.chat.timeout = setTimeout(function() { index.chat.__cronUpdate(secs) }, secs * 1000);
		},
		update : function() {
			$.post('index.php',{lastUpdate : index.chat.time}, function(data) {
				if (!data) return ;
				data = $.parseJSON(data);
				if (!data) return ;
				
				index.chat.time = data.time;
				delete data.time;
				
				if ($(data).size() > 0)
				index.chat.addRows(data);
			});
			
			return false;
		},
		clean : function() {
			$('.chat_scroll .container').html("");
			$('.chat_scroll').jScrollPane({
				showArrows: true,
				animateScroll: true
			});
		},
		
		openSettings : function() {
			if (!$user.get('connect')) {
				alert('התחבר על מנת לבחור העדפות');
				return false;
			}
			$.post('index.php',{changeSettings : true}, function(data) {
				$page.popMessage(data);
			});
			
			return false;
		},
		openSmiles : function() {
			if (!$user.get('connect')) {
				alert('התחבר על מנת לשלוח הודעה');
				return false;
			}
			$.post('index.php',{insertSmiles : true}, function(data) {
				$page.popMessage(data);
			});
			
			return false;
		},
		
		showHour : true,
		
		settings : {
			refreshTime : function(elm) {
				if (!(/^(10|20|30|60|120|300)$/).test($(elm).val()))
				return false;
				
				$.post('index.php',{settings: true, refreshTime : $(elm).val()}, function(data) {
					clearTimeout(index.chat.timeout);
					index.chat.updateEvery($(elm).val());
				});
			},
			lines : function(elm) {
				if (!(/^(1|2|3|4|5)$/).test($(elm).val()))
				return false;
				
				$.post('index.php',{settings: true, lines : $(elm).val()}, function(data) {
					$('.chat_scroll').height(Math.round($(elm).val() * 25.6)).jScrollPane({
						showArrows: true,
						animateScroll: true
					});
				});
			},
			showHour : function(elm) {
				if (!(/^(1|0)$/).test($(elm).val()))
				return false;
				
				$.post('index.php',{settings: true, showHour : $(elm).val()}, function(data) {
					if ($(elm).val() == 0) {
						$('.chat_scroll .time').hide().siblings('.s.t').hide();
						index.chat.showHour = false;
					}
					else {
						$('.chat_scroll .time').show().siblings('.s.t').show();
						index.chat.showHour = true;
					}
				});
			},
			showSmiles : function(elm) {
				if (!(/^(1|0)$/).test($(elm).val()))
				return false;
				
				$.post('index.php',{settings: true, showSmiles : $(elm).val()}, function(data) {
					if ($(elm).val() == 0) {
						$('.chat_scroll img.smile').replaceWith(function() {
							return " <span class='smile' title='"+$(this).attr('src')+"'>"+$(this).attr('alt')+"</span> ";
						});
					}
					else {
						$('.chat_scroll span.smile').replaceWith(function() {
							return " <img src='"+$(this).attr('title')+"' alt='"+$(this).html()+"' class='smile' /> ";
						});
					}
				});
			}
		},
		
		insertContent : function(content) {
			content = " "+content+" ";
			if ($("#chat_msg").val() == index.chat.defaultValue) {
				index.chat.focusBox($("#chat_msg"));
			}
			$page.closeMessage();

		   var txtarea = document.getElementById("chat_msg");
			var strPos = 0;
			var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? 
				"ff" : (document.selection ? "ie" : false ) );
			if (br == "ie") { 
				txtarea.focus();
				var range = document.selection.createRange();
				range.moveStart ('character', -txtarea.value.length);
				strPos = range.text.length;
			}
			else if (br == "ff") strPos = txtarea.selectionStart;
		
			var front = (txtarea.value).substring(0,strPos);  
			var back = (txtarea.value).substring(strPos,txtarea.value.length); 
			txtarea.value=front+content+back;
			strPos = strPos + content.length;
			if (br == "ie") { 
				txtarea.focus();
				var range = document.selection.createRange();
				range.moveStart ('character', -txtarea.value.length);
				range.moveStart ('character', strPos);
				range.moveEnd ('character', 0);
				range.select();
			}
			else if (br == "ff") {
				txtarea.selectionStart = strPos;
				txtarea.selectionEnd = strPos;
				txtarea.focus();
			}
//			$('#chat_msg').val($('#chat_msg').val() + " " + content);
			
			return false;
		},
		
		send : function() {
			if (!$user.get('connect')) {
				alert('אנא התחבר');
				return false;
			}
			if (!index.chat.allowSending) {
				alert('המתן 5 שניות בין הודעה להודעה');
				return false;
			}
			var msg = $('#chat_msg').val();
			msg = msg.replace(/^\s*(.*?)\s*$/,"$1");
			
			if (msg.length == 0 || msg == index.chat.defaultValue) {
				alert('אנא כתוב הודעה');
				return false;
			}
			
			if (msg.length < 3) {
				alert('הודעה קצרה מדי, מלא לפחות 3 אותיות');
				return false;
			}
			
			$('#chat_msg').val("");
			index.chat.allowSending = false;
			setTimeout(function() {
				index.chat.allowSending = true;
			},5000);
			
			$.post('index.php',{message : msg}, function(data) {
				data = $.parseJSON(data);
				
				index.chat.addRows([data]);
			});
			
			return false;
		},
		
		
		addRows : function(rows) {
			for (data in rows) {
				data = rows[data];
				if (data == null) continue;
				var row = "<div class='row'>"+
						"	<a class='username' href='profiles/"+data.url+"'"+(data.chatColor.length != 0 ? " style='color:"+data.chatColor+";'" : (data.isAdmin == 1 ? " style='color:#FC0;'" : ""))+">"+data.username+"</a> <span class='s t'"+(index.chat.showHour ? "" : " style='display:none;'")+">|</span> "+
						"	<span class='time'"+(index.chat.showHour ? "" : " style='display:none;'")+">"+data.date+"</span> <span class='s'>|</span> "+
						"	<span class='text'>"+data.message+"</span> "+
						"</div>";
					
				if ($('.chat_scroll .row').length == 0) {
					$('.chat_scroll .container').html(row);
				}
				else {
					$('.chat_scroll .container').prepend(row);
				}
			}
		}
	},
	results : {
		show : function(hash,ID) {
			$.post('index.php',{liveGame : hash},function(data) {
				var regExp = new RegExp("^\s*<!--RESULT_[0-9]+-->");
				if (regExp.test(data))
				$page.popMessage(data);
			});
			
			return false;
		},
		timeout : "",
		updateEvery : function(secs) {
			if (secs <= 0) return false;
			index.results.timeout = setTimeout(function() { index.results.__cronUpdate(secs) }, secs * 1000);
		},
		__cronUpdate : function(secs) {
			index.results.update();
			if (secs <= 0) return false;
			index.results.timeout = setTimeout(function() { index.results.__cronUpdate(secs) }, secs * 1000);
		},
		update : function() {
			$.post('index.php',{liveGames : true}, function(data) {
				if (!data) return ;
				$('.live_results').html("<div style='display:none;'>&nbsp;</div>" + data);
				
				var pane = $('.live_scroll');
				if (pane) {
					pane.jScrollPane({
						showArrows: true,
						animateScroll: true
					});
				}
			});
			
			return false;
		}
	}
};


var register = {
	realSubmit : false,
	validateForm : function() {
		if (register.realSubmit) return true;
		register.realSubmit = false;
		
		var arrivalInfo = $('#arrival_input').val();
		if (arrivalInfo == "") {
			register.realSubmit = true;
			$('#register_form').submit();
		}
		$.post('users/register.php',{arrivalINF : arrivalInfo}, function(data) {
			if (data == 'VALID') {
				register.realSubmit = true;
				$('#register_form').submit();
			}
			else {
				alert('שם משתמש מפנה לא נמצא. בדוק שכתבת אותו נכון');
			}
		});
		return false;
	},
	referrer : {
		open : function() {
			$("#arrival_txt").html("שם משתמש שהפנה:");
			$("#arrival_radio").hide();
			$("#arrival_un").show();
			$('#ulist').hide();
		},
		close : function() {
			$("#arrival_txt").html("מישהו הפנה אותך?");
			$("#arrival_radio").show();
			$("#arrival_un").hide();
			$("#arrival_input").val("");
			$("#arrival_cancel").attr('checked',true);
		},
		
		searching : false,
		searchUser : function(elm) {
			if (register.referrer.searching) return false;
			
			register.referrer.searching = true;
				$.post('users/register.php',{getUser : true, query : $(elm).val()}, function(data) {
					register.referrer.searching = false;
					if (data == "") $('#ulist').hide();
					else
					$('#ulist').show().html(data);
				});
		},
		setUser : function(user) {
			$("#arrival_input").val(user);
			$("#ulist").hide();
		}
	}
};

var programs = {
	gotoAnchor : function(anc) {
	var elm = $("a[name="+anc+"]");
	if(elm.position() && paneAPI)
	paneAPI.scrollToY(elm.position().top);
	return false;
	},

	assign : function() {
		$("#games_amounts_select input[type='checkbox']").click(this.calculateValues);
		$('#games_select_type').bind("change",this.calculateValues);
		this.calculateValues();
		
		var elm = $("tr.to-be:first");
		if(elm.position() && paneAPI)
		paneAPI.scrollToY(elm.position().top);
		return false;
	},
	ratios : [],
	numbers : [],	
	toggleResult : function(elm,ID) {
		/*
		if (!$user.get('connect')) {
			alert('אנא התחבר בשביל לשלוח טופס');
			return false;
		}*/
		var type;
		if ($(elm).parent().hasClass('rate1')) type = 1;
		else if ($(elm).parent().hasClass('ratex')) type = 'x';
		else if ($(elm).parent().hasClass('rate2')) type = 2;
		else return false;
		
		var created = false;
		
		var val = $("#results > input[type='hidden'][name='game["+ID+"]']");
		if (val.size() == 0) {
			var results = $("#results > input[type='hidden']");
			if (results.size() >= 6 && programs.getChance() == 1) {
				alert('ניתן לשלוח עד 6 משחקים בתוכניה');
				return false;
			}
			
			var classes = "";
			var comments = $(elm).parent().siblings('.comments').html().replace(/&nbsp;/g,"");
			if (/(^|,)\s*S\s*(,|$)/.test(comments))
			classes += "single";
			if (/(^|,)\s*D\s*(,|$)/.test(comments))
			classes += " double";
			
			$("#results").append("<input type='hidden' name='game["+ID+"]' value='"+type+"' "+(classes != "" ? "class='"+classes+"'" : "")+" />")
			$(elm).parent().addClass('selected');
			created = true;
		}
		else if (val.val() != type) {
			val.val(type);
			$(elm).parent().siblings('.selected').removeClass('selected');
			$(elm).parent().addClass('selected');
			created = true;
		}
		else {
			val.remove();
			$(elm).parent().removeClass('selected');
		}
		
		if (created) {
			this.ratios[ID] = Number($(elm).html().replace(/ /g,""));
			this.numbers[Number($(elm).parent().siblings('.gameno').html().replace(/ /g,""))] = true;
			
			for (invalid in programs.invalid) {
				invalid = programs.invalid[invalid];
				if (programs.numbers[invalid[0]] != null && programs.numbers[invalid[1]] != null) {
					alert('צירוף לא אפשרי: משחק '+invalid[0]+' עם משחק '+invalid[1]);
					return programs.toggleResult(elm,ID);
				}
			}
		}
		else {
			delete this.ratios[ID];
			delete this.numbers[Number($(elm).parent().siblings('.gameno').html().replace(/ /g,""))];
		}
		
		this.calculateValues();

		return false;
	},
	
	calculateValues : function() {
		var amount = 0;
		$("#games_amounts_select input[type='checkbox']").each(function() {
			if ($(this).attr('checked')) amount += Number($(this).val());
		});
		$('#games_amounts').html(amount);
		
		var results = $("#results > input[type='hidden']");
		var chance = programs.getChance();
		if (chance != 1 && results.size() != chance) {
			$('#games_ratio').html('<i>בחר '+chance+' משחקים</i>');
			$('#games_gross').html(0);
		}
		else if (chance == 1 && results.size() > 6) {
			$('#games_ratio').html('<i>בחר עד 6 משחקים</i>');
			$('#games_gross').html(0);
		}
		else {			
			var ratio = 1;
			for (ID in programs.ratios) {
				ratio *= programs.ratios[ID];
			}
			if (ratio == 1)
			$('#games_ratio').html('-');
			else {
				var x = Math.round(ratio * 100) / 100;
				var y = x.toString().split('.')[1];
				if (!y) x = x.toString() + ".00";
				else if (y.length == 1) x = x.toString() + "0";
				$('#games_ratio').html(x);
			}
			
			$('#games_gross').html(Math.round(ratio * amount));
			
			if (chance != 1) {
				amount *= Number($('#games_select_type').val());
				$('#games_amounts').html(amount);
			}
		}
	},
	
	invalid : [],
	
	assignBans : function(bans) {
		programs.invalid = bans;
	},
	
	validateForm : function(form) {
		if (!$user.get('connect')) {
			alert('אנא התחבר בשביל לשלוח טופס');
			return false;
		}
		
		var results = $("#results > input[type='hidden']");
		if (results.size() == 0) {
			alert('אנא בחר משחקים');
			return false;
		}
		
		if ($('#games_amounts').html() == 0) {
			alert('בחר סכום להימור');
			return false;
		}
		if ($('#games_amounts').html() > $user.get('points')) {
			alert('אין לך את סכום הנקודות הזה');
			return false;
		}

		
		var singles = true;
		var doubles = true;
		results.each(function() {
			singles = singles && $(this).hasClass('single');
			doubles = doubles && $(this).hasClass('double');
		});
		
/*		for (invalid in programs.invalid) {
			invalid = programs.invalid[invalid];
			if (programs.numbers[invalid[0]] != null && programs.numbers[invalid[1]] != null) {
				alert('צירוף לא אפשרי: משחק '+invalid[0]+' עם משחק '+invalid[1]);
				return false;
			}
		}*/
		
		if ((results.size() == 1 && !singles) || (results.size() == 2 && !doubles)) {
			alert('צירוף לא אפשרי: בחר 3 משחקים או משחקי סינגל/דאבל');
			return false;
		}
		
		var chance = programs.getChance();
		if (chance != 1) {
			if (results.size() != chance) {
				alert('שיטה לא מתאימה למספר המשחקים שנבחרו');
				return false;
			}
		}
		if (results.size() > 6 && chance == 1) {
			alert('צירוף לא אפשרי: בחר עד 6 משחקים');
			return false;
		}
		
		return true;
	},
	
	getChance : function() {
		var chance = 1;
		switch (Number($('#games_select_type').val())) {
			case 4: chance = 4; break;
			case 5: case 10: chance = 5; break;
			case 20: case 15: case 6: chance = 6; break;
			case 21: case 7: chance = 7; break;
			case 28: case 8: chance = 8; break;
			case 36: case 9: chance = 9; break;
		}
		return chance;
	},
	
	popForm : function(ID,isNotDistinctive) {
		$.get('form/'+ID+(isNotDistinctive === true ? "?not_distinctive=true" : ""),function(data) {
			var regExp = new RegExp("^\s*<!--FORM_[0-9]+-->"); // ID
			if (regExp.test(data))
			$page.popMessage(data);
			
			programs.activateReceptionScroller();
		});
		
		return false;
	},
	activateReceptionScroller : function() {
		var pane = $('.reception_scroll');
		if (pane) {
			pane.jScrollPane({
				showArrows: true,
				animateScroll: true
			});
		}
	},
	
	challenge : {
		changeResult : function(r) {
			if (r == "x" || r == "1" || r == "2") {
				if (r != "")
				$("#result_"+$("#result_real").val()).removeClass("active");
				$("#result_real").val(r);
				$("#result_"+$("#result_real").val()).addClass("active");
			}
			
			return false;
		},
		
		validateForm : function(form) {
			if (!$user.get('connect')) {
				alert("אנא התחבר בשביל לשלוח צ'אלנג'");
				return false;
			}
			
			var amounts = $('#challenge_amounts > input:checked');
			if (amounts.length == 0) {
				alert('בחר סכום להימור');
				return false;
			}
			var amount = 0;
			amounts.each(function(a) {
				amount += Number($(amounts[a]).val());
			});

			if (amount > $user.get('points')) {
				alert('אין לך את סכום הנקודות הזה');
				return false;
			}
			
			if (! /^[12x]$/.test($("#result_real").val())) {
				alert('בחר תוצאה משוערת למשחק');
				return false;
			}
	
			return true;
		},
		
		send : function(elm,ID,bet,amount,URL) {
			if (!$user.get('connect')) {
				alert("'התחבר בשביל לשלוח צ'אלנג'");
				return false;
			}
			if ($user.get('points') < amount) {
				alert("אין לך מספיק נקודות");
				return false;
			}
			
			
			var tr = $(elm).parent().parent();
			if (tr.get(0).tagName != "TR") return false;
			
			var siblings = tr.siblings('tr.row');
			if (siblings.length != 0) {
				siblings.remove();
				return false;
			}
			
			$("<tr/>").addClass('row').append($("<td/>").attr('colspan',3).html('<form method="post" action="program.php">'+
			'שולח: '+URL+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+
			'בחר הימור: '+
			'<select class="sm" name="challenge_result">'+(bet != '1' ? '<option value="1">1</option>' : "")+(bet != 'x' ? '<option value="x">X</option>' : "") + (bet != '2' ? '<option value="2">2</option>' : "")+'</select> '+
			'<input type="hidden" name="challengeApprove" value="'+ID+'" />'+
			'<input type="submit" class="button" value="שלח!" />'+
			'</form>')).insertAfter(tr);
			
			var pane = $('.challenge_scroll');
			if (pane) {
				pane.jScrollPane({
					showArrows: true,
					animateScroll: true
				});
			}
			
			return false;
		}
	}
};


var recs = {
		validateForm : function(form) {
		if (!$user.get('connect')) {
			alert('אנא התחבר בשביל לשלוח המלצה');
			return false;
		}
		
		if ($('#rec_content').val().length == 0) {
			alert('מלא תוכן להמלצה');
			return false;
		}
		if ($('#rec_content').val().length < 100) {
			alert('המלצה צריכה להכיל לפחות 100 אותיות');
			return false;
		}
				
		return true;
	},
	
	changeSearchType : function(type,elm) {
		$(elm).css("font-weight","bold").siblings("a").css("font-weight","normal");
		$("#sbRecs").attr("name",type);
	},
	
	
	gotoMoreRecs : function() {
		window.location = "recs-"+$('#game_selection').val()+".php";
		return false;
	},
	players : [],
	newPlayer : function(team) {
		var elm;
		if (team == "home") {
			elm = $("#players_home");
		}
		else if (team == "guest") {
			elm = $("#players_guest");
		}
		else return false;
		
		$page.popMessage("<div class='wrap_float'><form onsubmit='return false;'>שם השחקן:&nbsp; <input type='text' class='text' id='player_name' /><br /><br />\n"+
		"מידע נוסף:&nbsp; <input type='text' class='text' id='player_extra' /><br /><br />\n"+
		"סוג מידע:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select id='player_type' style='height:20px;'><option value='info' style='font-weight:bold;background:#016691;color:white;'>פצוע</option><option value='yellow' style='font-weight:bold;background:#e3c000;color:white;'>כרטיס צהוב</option><option value='red' style='font-weight:bold;background:#e30000;color:white;'>כרטיס אדום</option></select><br /><br />\n"+
		"<center><input type='submit' class='button' value='הוסף' onclick='return recs.finishAddingNewPlayer(\""+team+"\");' /></center></form></div>");
		
		return false;
	},
	finishAddingNewPlayer : function(team) {
		var elm;
		if (team == "home") {
			elm = $("#players_home");
		}
		else if (team == "guest") {
			elm = $("#players_guest");
		}
		else return false;
		
		var player_name = $("#player_name").val().replace(/^\s*(.*?)\s*$/,"$1");
		if (player_name.length == 0) {
			alert('מלא שם שחקן');
			return false;
		}
		
		var ticket;
		switch ($('#player_type').val()) {
			case 'info':
			ticket = "plus";
			break;
			case 'yellow':
			ticket = "yellow_ticket";
			break;
			case 'red':
			ticket = "red_ticket";
			break;
			
			default:
			return false;
		}
		
		var hidden = $(document.createElement("input")).attr({
			'type' : "hidden",
			'name' : "rec["+team+"]["+$('#player_type').val()+"]["+player_name.replace('[','').replace(']','')+"]",
			'_team' : team,
			'_type' : $('#player_type').val(),
			'_name' : player_name,
			'value' : $('#player_extra').val()
		});
		
		var player = $(document.createElement("div")).attr('class','player').append(hidden).append("<div class='name'><a href='#' onclick='return recs.editPlayer(this);'>"+secure_text(player_name)+"</a></div>"+
"<div class='ticket'><img src='skins/dark/images/icons/player_"+ticket+".png' alt='' /></div>");
		
		elm.append(player);
		
		$page.closeMessage();
		return false;
	},
	'activePlayer' : false,
	
	'editPlayer' : function(elm) {
		var hidden = $(elm).parent().siblings('input[type=hidden]');
		if (hidden.length < 1) return false;
		
		if (recs.activePlayer !== false && $page.messageOpen) return false;
		
		recs.activePlayer = hidden;

		$page.popMessage("<div class='wrap_float'><form onsubmit='return false;'>שם השחקן:&nbsp; <input type='text' class='text' id='player_name' value='"+secure_text(hidden.attr('_name'))+"' /><br /><br />\n"+
		"מידע נוסף:&nbsp; <input type='text' class='text' id='player_extra' value='"+secure_text(hidden.attr('value'))+"' /><br /><br />\n"+
		"סוג מידע:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select id='player_type' style='height:20px;'><option value='info' style='font-weight:bold;background:#016691;color:white;'"+(hidden.attr('_type') == 'info' ? " selected='selected'" : "")+">פצוע</option><option value='yellow' style='font-weight:bold;background:#e3c000;color:white;'"+(hidden.attr('_type') == 'yellow' ? " selected='selected'" : "")+">כרטיס צהוב</option><option value='red' style='font-weight:bold;background:#e30000;color:white;'"+(hidden.attr('_type') == 'red' ? " selected='selected'" : "")+">כרטיס אדום</option></select><br /><br />\n"+
		"<center><input type='submit' class='button' value='עדכן' onclick='return recs.finishEditingPlayer();' />&nbsp;<input type='submit' class='button' value='מחק' onclick='return recs.deletePlayer();' /></center></form></div>");
		
		return false;
	},
	
	finishEditingPlayer : function() {
		if (recs.activePlayer === false) return false;
		
		var hidden = recs.activePlayer;
		
		var elm;
		if (hidden.attr('_team') == "home") {
			elm = $("#players_home");
		}
		else if (hidden.attr('_team') == "guest") {
			elm = $("#players_guest");
		}
		else return false;
		
		var player_name = $("#player_name").val().replace(/^\s*(.*?)\s*$/,"$1");
		if (player_name.length == 0) {
			alert('מלא שם שחקן');
			return false;
		}
		
		var ticket;
		switch ($('#player_type').val()) {
			case 'info':
			ticket = "plus";
			break;
			case 'yellow':
			ticket = "yellow_ticket";
			break;
			case 'red':
			ticket = "red_ticket";
			break;
			
			default:
			return false;
		}
		
		hidden.attr({
			'name' : "rec["+hidden.attr('_team')+"]["+$('#player_type').val()+"]["+player_name+"]",
			'_type' : $('#player_type').val(),
			'_name' : player_name,
			'value' : $('#player_extra').val()
		});
		
		hidden.parent().remove();
		var player = $(document.createElement("div")).attr('class','player').append(hidden).append("<div class='name'><a href='#' onclick='return recs.editPlayer(this);'>"+secure_text(player_name)+"</a></div>"+
"<div class='ticket'><img src='skins/dark/images/icons/player_"+ticket+".png' alt='' /></div>");
		
		elm.append(player);		
		recs.activePlayer = false;
		
		$page.closeMessage();
		return false;
	},
	
	deletePlayer : function() {
		if (recs.activePlayer === false) return false;
		
		var hidden = recs.activePlayer;
		
		var elm;
		if (hidden.attr('_team') == "home") {
			elm = $("#players_home");
		}
		else if (hidden.attr('_team') == "guest") {
			elm = $("#players_guest");
		}
		else return false;
		
		hidden.parent().remove();
		recs.activePlayer = false;
		
		$page.closeMessage();
		return false;
	},
	
	sent : false,
	openChallenge : function() {
		if (recs.sent) {
			alert("צ'אלנג' כבר נשלח");
			return false;
		}
		if ($('#game_selection option:selected').attr('title') == 0)
		return false;
		
		if ($('.challenge_frame').css('opacity') == 1) {
			$('.challenge_frame').animate({'opacity' : 0.5}).find('input,select').each(function() {
				$(this).attr('disabled',true);
			});
			return false;
		}
		$('.challenge_frame').animate({'opacity' : 1}).find(':disabled').each(function() {
			$(this).attr('disabled',false);
		});
		
		$('#challenge_selection').val($('#game_selection').val());
		return false;
	},
	setChallenge : function(force) {
		if (force) {
			recs.sent = true;
		}
		if ($('#game_selection option:selected').attr('title') == 0 || force == true) {
			$('.challenge_frame').animate({'opacity' : 0.5}).find('input,select').each(function() {
				$(this).attr('disabled',true);
			});
		}
	},
	
	sendChallenge : function() {
		if (recs.sent) {
			alert("צ'אלנג' כבר נשלח");
			return false;
		}
		if (!$user.get('connect')) {
			alert ("אנא התחבר בשביל לשלוח צ'אלנג'");
			return false;
		}
		if (Number($('#challenge_amount').val()) > $user.get('points')) {
			alert('אין לך את סכום הנקודות הזה');
			return false;
		}
		$.post('program.php',{
			'challenge_game' : $('#challenge_selection').val(),
			'challenge_result' : $('#challenge_result').val(),
			'challenge_amount' : [ $('#challenge_amount').val() ]
		}, function(data) {
			alert("הצ'אלנג' נשלח בהצלחה!");
			recs.setChallenge(true);
		});
	},
	
	
	toggleInfo : function(ID,l) {
		
		var elm = $('#rec_info_'+ID);
		var opening = false;
		if (elm.hasClass('open')) {
			elm.removeClass('open').addClass('close');
		}
		else {
			elm.removeClass('close').addClass('open');
			opening = true;
		}
		
		if ($(".rec_info.open").size() > 2 && opening) {
			var elm2 = $(".rec_info.open").not('#rec_info_'+ID).first().removeClass('open').addClass('close');
			elm2.children().not('.title').animate({'height' : 'toggle', 'opacity' : 'toggle'},'fast');
			var img = $(elm2).children('.title').find('img');
			img.attr('src',img.attr('src').replace('plus','MINUS').replace('minus','PLUS').toLowerCase());
	}
		
		
		elm.children().not('.title').animate({'height' : 'toggle', 'opacity' : 'toggle'},'fast');
		var img = $(l).children('img');
		img.attr('src',img.attr('src').replace('plus','MINUS').replace('minus','PLUS').toLowerCase());
	
		
/*		var img = $(l).children('img');
		img.attr('src',img.attr('src').replace('plus','MINUS').replace('minus','PLUS').toLowerCase());*/
		
/*		setTimeout(function() {
			var pane = $('.recs_scroll');
			if (pane) {
				pane.jScrollPane({
					showArrows: true,
					animateScroll: false
				});
			}
		},210);*/
	},
	
	replies : {
		validateForm : function() {
			if (!$user.get('connect')) {
				alert ("אנא התחבר בשביל לשלוח תגובה");
				return false;
			}
			var val = $('#reply_content').val().replace(/^\s*(.*?)\s*$/,"$1");
			if (val.length < 10) {
				alert('מלא לפחות 10 אותיות');
				return false;
			}
			return true;
		}
	},
	
	search : {
		cleanUsername : function(elm,force) {
			if ($(elm).val() == 'שם ממליץ') $(elm).val('');
			else if (!force && $(elm).val() == '') $(elm).val('שם ממליץ');
		},
		cleanGame : function(elm,force) {
			if ($(elm).val() == 'משחק') $(elm).val('');
			else if (!force && $(elm).val() == '') $(elm).val('משחק');
		},
		validateForm : function() {
			var val1 = $('#search_username').val().replace(/^\s*(.*?)\s*$/,"$1");;
			var val2 = $('#search_game').val().replace(/^\s*(.*?)\s*$/,"$1");;
			
/*			if ((val1.length == 0 && val2.length == 0) || (val1 == 'שם ממליץ' && val2 == 'משחק')) {
				alert('אנא מלא שם ממליץ או משחק');
				return false;
			}*/
			recs.search.cleanUsername($('#search_username'),true);
			recs.search.cleanGame($('#search_game'),true);
			
			return true;
		}
	}
};

var cp = {
	hideSelected : function() {
		if ($('.cb_delete input:checked').length == 0) {
			alert ('בחר מה ברצונך למחוק');
			return false;
		}
		$('#hide_form').submit();
	},
	checkAll : function() {
		var checkAll = !($('.cb_delete input[type="checkbox"]').length == $('.cb_delete input:checked').length);
		$('.cb_delete input[type="checkbox"]').each(function() {
			$(this).attr('checked',checkAll);
		});
	},
	
	makeFormsClickable : function() { 
		$('.forms_scroll .form').click(function(e) { 
			if (e.target != $(this).find('input[type=checkbox]').get(0))
			programs.popForm($(this).children('.form_id').html(),true);
		}).hover(function() {
			$(this).css('cursor','pointer');
		},function() {
			$(this).css('cursor','auto');
		});
	},
	
	pms : {
		realSubmit : false,
		validateForm : function(form) {
			if (!$user.get('connect')) {
				alert('אנא התחבר בשביל לשלוח הודעה');
				return false;
			}
			
			if ($('#receiverName').val().length == 0) {
				alert('מלא שם משתמש של הנמען');
				return false;
			}
			if ($('#msgContent').val().length < 5) {
				alert('מלא לפחות 5 אותיות בתוכן');
				return false;
			}
			if (!cp.pms.realSubmit && $('#titleContent').val().length == 0 && !confirm('לשלוח הודעה זו ללא נושא?')) {
				return false;
			}
				
			if (cp.pms.realSubmit) return true;
			cp.pms.realSubmit = false;
			
			$.post('cp/compose.php',{to : $('#receiverName').val()}, function(data) {
				if (data == 'VALID') {
					cp.pms.realSubmit = true;
					$('#compose_form').submit();
				}
				else {
					alert('שם משתמש לא נמצא. בדוק שכתבת אותו נכון');
				}
			});
			
			return false;
		},
		insertContent : function(content) {
			content = " "+content+" ";
			if ($("#msgContent").val() == index.chat.defaultValue) {
				index.chat.focusBox($("#msgContent"));
			}
			$page.closeMessage();

		   var txtarea = document.getElementById("msgContent");
			var strPos = 0;
			var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? 
				"ff" : (document.selection ? "ie" : false ) );
			if (br == "ie") { 
				txtarea.focus();
				var range = document.selection.createRange();
				range.moveStart ('character', -txtarea.value.length);
				strPos = range.text.length;
			}
			else if (br == "ff") strPos = txtarea.selectionStart;
		
			var front = (txtarea.value).substring(0,strPos);  
			var back = (txtarea.value).substring(strPos,txtarea.value.length); 
			txtarea.value=front+content+back;
			strPos = strPos + content.length;
			if (br == "ie") { 
				txtarea.focus();
				var range = document.selection.createRange();
				range.moveStart ('character', -txtarea.value.length);
				range.moveStart ('character', strPos);
				range.moveEnd ('character', 0);
				range.select();
			}
			else if (br == "ff") {
				txtarea.selectionStart = strPos;
				txtarea.selectionEnd = strPos;
				txtarea.focus();
			}
//			$('#chat_msg').val($('#chat_msg').val() + " " + content);
			
			return false;
		},
		
		openUsersList : function() {
			$page.popMessage('<div class="wrap_float">שם משתמש: &nbsp;&nbsp;<input type="text" class="text" onkeyup="cp.pms.searchUser(this);" /><div id="ulist"></div>');
		},
		
		searching : false,
		searchUser : function(elm) {
			if (cp.pms.searching) return false;
			
			cp.pms.searching = true;
				$.post('cp/compose.php',{getUser : true, query : $(elm).val()}, function(data) {
					cp.pms.searching = false;
					$('#ulist').html(data);
				});
		},
		setUser : function(user) {
			$page.closeMessage();
			$("#receiverName_div").html(user + "<input type='hidden' id='receiverName' name='receiver' value='"+user+"' />");
		}
	}
};
