function ValidDate(iYear, iMonth, iDay){
	var aDaysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	if(iYear % 4 == 0) aDaysInMonth[1] = 29;
	if(iDay > aDaysInMonth[iMonth - 1]) return false;
	return true;
}


function SwapImage(objImage, sFilename){
	objImage.src = sFilename;
}

function ToggleDisplay(sLayerID){
	var Layer = document.getElementById(sLayerID);
	if(Layer.style.display == "none"){
		Layer.style.display = "block";
	}
	else{
		Layer.style.display = "none";
	}
}

function Trim(sText){
	return sText.replace(/^\s*|\s*$/g, "");
}

function IsEmail(sAddress){
	if(sAddress == "") return false;
	var objRegExp = new RegExp("^[a-z0-9_.\-]{3,}@[a-z0-9.\-]{3,}\.[a-z]{2,3}$", "i");
	return objRegExp.test(sAddress);
}

function XMLHttpObject(){
	if(navigator.userAgent.indexOf("Opera") != -1) return false;
	var objXMLHttp = false;
	
	if(window.XMLHttpRequest){
		objXMLHttp = new XMLHttpRequest();
	}
	else if(window.ActiveXObject){
		try{
			objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
			objXMLHttp.overrideMimeType("text/xml");
		}
		catch(e){
			try{
				objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				objXMLHttp = false;
			}
		}
	}
	return objXMLHttp;
}

var AJAX_ERROR_NOSUPPORT = 0;
var AJAX_ERROR_HTTP = 1;
var AJAX_ERROR_OTHER = 2;

function AJAXRequest(sURL, sMethod, sData, Callback, bErrorAlerts, bXMLParsing){
	if(bXMLParsing == null) bXMLParsing = false;
	if(bErrorAlerts == null) bErrorAlerts = true;
	var objXMLHttp = new XMLHttpObject();
	if(!objXMLHttp){
		if(bErrorAlerts) alert("Sorry, in order to use this feature you need to upgrade your browser to the latest version of Internet Explorer, Firefox, or Safari.");
 		if(Callback) Callback(null, [AJAX_ERROR_NOSUPPORT]);
		return;
	}
	objXMLHttp.onreadystatechange = function(){
		if(objXMLHttp.readyState == 4 || objXMLHttp.readyState == "complete"){
			if(objXMLHttp.status == 200){
				if(Callback) Callback((bXMLParsing ? objXMLHttp.responseXML : objXMLHttp.responseText), false);
			}
			else{
				if(bErrorAlerts) alert("We're sorry, there was a problem while trying to process your request. Please try again in a few moments.");
				if(Callback) Callback(null, [AJAX_ERROR_HTTP, objXMLHttp.status, objXMLHttp.responseText]);
			}
		}
	}
	try{
		if(typeof(sData) == "object"){
			if(sData.elements){
				var aForm = new Array();
				for(i=0; i<sData.elements.length; i++){
					switch(sData.elements[i].type){
						case "text":
							aForm.push(sData.elements[i].name + "=" + escape(sData.elements[i].value));
							break;
						case "textarea":
							aForm.push(sData.elements[i].name + "=" + escape(sData.elements[i].value));
							break;
						case "select-one":
							aForm.push(sData.elements[i].name + "=" + escape(sData.elements[i].value));
							break;
					}
				}
				sData = aForm.join("&");
			}
			else{
				sData = "";
			}
		}
		sMethod = sMethod.toUpperCase();
		objXMLHttp.open(sMethod, sURL + (sMethod == "GET" ? "?" + sData : ""), true);
		if(sMethod == "POST"){
			objXMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			objXMLHttp.setRequestHeader("Content-length", sData.length);
			objXMLHttp.setRequestHeader("Connection", "close");
		}
		objXMLHttp.send(sMethod == "POST" ? sData : null);
	}
	catch(Error){
		if(bErrorAlerts) alert("We're sorry, there was a problem while trying to process your request. Please try again in a few moments.");
		if(Callback) Callback(null, [AJAX_ERROR_OTHER, Error.message]);
	}
}

function $(sLayerID){
	return document.getElementById(sLayerID);
}

function AddToGallery(sLayerID, iUserID, sMessage1, sMessage2){
	var Layer = $(sLayerID);
	var sData = "cmd=gallery-add&id=" + iUserID;
	Layer.innerHTML = sMessage1;
	AJAXRequest("/includes/ajaxactions.php", "POST", sData, function(){
		Layer.innerHTML = sMessage2;
	}, false);
	return false;
}

function PlayVideo(ID){
	var sLayerID = "video_" + ID;
	document.write('<div class="video-wrapper" style="margin: 5px auto;"><div id="' + sLayerID + '" class="video-player"></div></div>');
	var fo = new SWFObject("/flvplayer/flvplayer.swf", "player_" + sLayerID, "320", "244", "7", "#000000");
	fo.addParam("allowfullscreen", "true");
	fo.addVariable("file", "/profiles/videos/" + ID + ".flv");
	fo.addVariable("displayheight", "244");
	fo.addVariable("autostart", "true");
	fo.addVariable("repeat","list");
	fo.addVariable("bufferlength", 5);
	fo.write(sLayerID);
}

function Add2Favorites(){
	if(document.all){
		window.external.AddFavorite(window.location.href, document.title);
	}
	else{
		alert("Sorry, automatic adding of this page to your favorites is not supported by your web browser.\n\nTo add this page to your favorites, just use the \"Bookmarks\" menu in your browser."); 
	}
	return false;
}

function SetAsHomepage(Link){
	if(document.all){
		Link.style.behavior='url(#default#homepage)';
		Link.setHomePage('http://www.uball.co.il/');
	}
	else{
		alert("To make this website your homepage, please drag this link onto your browser's \"Home\" button.");
	}
	return false;
}

function Send2Friend(sParams){
	var iWidth = 320, iHeight = 400;
	var iLeft = Math.round((screen.width / 2) - (iWidth / 2));
	var iTop = Math.round((screen.height / 2) - (iHeight / 2));
	if(sParams) sParams = "&" + sParams;
	else sParams = "";
	window.open("/sendtofriend.php?t=" + escape(document.title) + "&p=" + escape(window.location.href) + sParams, null, "top=" + iTop + ",left=" + iLeft + ",width=" + iWidth + ",height=" + iHeight + ",scrollbars=0");
	return false;
}

function SelectCategory(iCategoryID){
	for(i=0; i<aCategories.length; i++){
		Layer = document.getElementById("divSubCategories_" + aCategories[i]);
		if(Layer){
			if(aCategories[i] == iCategoryID){
				Layer.style.display = "block";
			}
			else{
				Layer.style.display = "none";
			}
		}
	}
}