	// global vars
	var http;
	var d = document;

	// AJAX methods.
	// Do NOT modify unless you know what you are doing
	///////////////////////////////////////////////////
	

	////////////////////////
	// basic AJAX Methods
	//
	function createRequestObject()
	{
		var ro;
		if (window.XMLHttpRequest)
		{
			ro = new XMLHttpRequest();
		} else
		{
			ro = new ActiveXObject('Msxml2.XMLHTTP');
			if(!ro)
			{
				ro = new ActiveXObject('Microsoft.XMLHTTP');
			}
		}
		return ro;
	}

	function sndReq(url, parameters, method, handleResponse)
	{
		http = createRequestObject();
		http.onreadystatechange = handleResponse;

		if (method == "GET")
		{
			http.open('GET', url + "?" + parameters, true);
			http.send(null);
		}
		else if(method == "POST")
		{
			http.open('POST', url, true);
			http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http.setRequestHeader("Content-length", parameters.length);
			http.setRequestHeader("Connection", "close");
			http.send(parameters);
		}
	}
	//
	//
	////////////////////////

	////////////////////////
	// Edit Photos Routine
	//
	function submitSendToFriend()
	{
		var params = requestSendToFriend();
		if(params != "")
		{
			var url = "/wf/index.php";
			sndReq(url, params, "POST", handleResponseSendToFriend);
		}
	}

	function requestSendToFriend()
	{
		formName = "sendToFriend_form";
		showSendToFriendDiv();
		var res = "";
		res += "cmd=ajax_send_to_friend";
		res += "&name=" + d.getElementById(formName).elements.name.value;
		res += "&email=" + d.getElementById(formName).elements.email.value;
		res += "&message=" + d.getElementById(formName).elements.message.value;
		res += "&url=" + d.getElementById(formName).elements.url.value;
		return encodeURI(res);
	}
	
	function handleResponseSendToFriend()
	{
		if(http.readyState == 4)
		{
			var t = http.responseText;
			if(t != "Ok")
			{
				alert ("Error. Please try again later.");
			}
		}
	}
	
	//////////////////////
	// add photos to album
	
	function submitAddToAlbum()
	{
		var params = addToAlbumRequest();
		if(params != "")
		{
			var url = "/wf/index.php";
			sndReq(url, params, "POST", handleAddToAlbumResponse);
		}
		return true;
	}

	function addToAlbumRequest()
	{
		var formName = "add_to_album_form";
		var formName1 = "albums";
		checkboxArr = d.getElementsByName('addToAlbumArr');
		albumID = d.getElementById(formName1).elements.album_id.value;
		
		strtmp = "";
		for(var i = 0; i < checkboxArr.length; i++)
		{
			if(checkboxArr[i].checked)
			{
				strtmp += "&id[]=" + checkboxArr[i].value;
			}
		}
		if(strtmp == "")
		{
			return strtmp;
		}
		
		showLoading();

		var res = "";
		res += "cmd=photo_fields_edit";
		res += "&fields=album";
		res += strtmp;
		res += "&val=" + albumID;
		return encodeURI(res);
	}
	
	function handleAddToAlbumResponse()
	{
		if(http.readyState == 4)
		{
			var t = http.responseText;

			if(t == "ok")
			{
				setPage(0);
			} else
			{
				alert ("Error. Can't update records. Please, try later.");
			}
		}
	}
	
	//////////////////////
	// add/delete album
	
	function submitAddDeleteAlbum(mode)
	{
		if(mode == "delete" && !confirm("Are you sure you want to delete this album?"))
		{ 
			return true;
		}
		setGMode(mode);
		var params = addDeleteAlbumRequest(gMode());
		if(params)
		{
			var url = "/wf/index.php";
			sndReq(url, params, "POST", handleAddDeleteAlbumResponse);			
		}		
		return true;
	}

	function addDeleteAlbumRequest(mode)
	{
		if(mode == "add")
		{
			var formName = "add_album";
			album = d.getElementById(formName).elements.album_name.value;
			d.getElementById(formName).elements.album_name.value = "";
			if(album == "")
			{
				return false;
			}
		}else
		{
			var formName = "albums";
			album = d.getElementById(formName).elements.album_id.value;
			if(album == 0)
			{
				alert("You can't delete \"UNSORTED PHOTOS\" album.");
				return false;
			}
			viewAlbumID = d.getElementById(formName_albumID).elements.viewAlbumID.value;
			if(album == viewAlbumID)
			{
				showLoading();
			}
		}
		
		var res = "";
		res += "cmd=photo_album_add_delete";
		res += "&mode=" + mode;
		res += "&album=" + album;
		return encodeURI(res);
	}
	
	function handleAddDeleteAlbumResponse()
	{
		if(http.readyState == 4)
		{
			var t = http.responseText;
			if(t != "")
			{
				updateSelect(t);
			}else
			{
				alert ("Error. Can't " + gMode() + " album. Please, try later.");
			}
			setGMode("");
		}		
	}
	
	
	
	//////////////////////
	// delete photo
	
	function submitDeletePhoto(photoID)
	{
		if(!confirm("Are you sure you want to delete this photo?"))
		{ 
			return true;
		}
		var params = deletePhotoRequest(photoID);
		if(params != "")
		{
			d.getElementById(profileImgForm).elements.delete_photo_id.value = photoID;
			var url = "/wf/index.php";
			sndReq(url, params, "POST", handleDeletePhotoResponse);
		}
		return true;
	}

	function deletePhotoRequest(photoID)
	{
		showLoading();

		var res = "";
		res += "cmd=photo_fields_edit";
		res += "&action=delete_photo";
		res += "&id=" + photoID;
		return encodeURI(res);
	}
	
	function handleDeletePhotoResponse()
	{
		if(http.readyState == 4)
		{
			var t = http.responseText;
			if(t == "ok")
			{
				if(d.getElementById(profileImgForm).elements.profile_img_id.value == d.getElementById(profileImgForm).elements.delete_photo_id.value)
				{
					setProfilePhoto("");
				}
				setPage(0);
			} else
			{
				alert ("Error. Can't delete photo. Please, try later.");
			}
			d.getElementById(profileImgForm).elements.delete_photo_id.value = "";
		}
	}
	
	
	//////////////////////
	// make profile photo
	
	function submitProfilePhoto(photoID)
	{
		var params = profilePhotoRequest(photoID);
		if(params != "")
		{
			var url = "/wf/index.php";
			sndReq(url, params, "POST", handleProfilePhotoResponse);
		}
		return true;
	}

	function profilePhotoRequest(photoID)
	{
		showLoading();

		var res = "";
		res += "cmd=photo_fields_edit";
		res += "&fields=profile";
		res += "&val=1";
		res += "&id=" + photoID;
		return encodeURI(res);
	}
	
	function handleProfilePhotoResponse()
	{
		if(http.readyState == 4)
		{
			var t = http.responseText;			
			result = (t != "") ? t.split(":|:") : "";
			if(result[0] == "ok")
			{
				setProfilePhoto(result[1]);
				setPage(0);
			} else
			{
				alert ("Error. Can't update records. Please, try later.");
			}
		}
	}
	
	
	//
	// end Edit Photos Routine
	////////////////////////
