Announcement = {
	viewPhoto: function(photo, info)
	{
		$('photos').src = 'picSite.php?image=' + photo + '&path=announcement&maxX=500&maxY=500';
		photo = $('photoId');
		photo.style.display = "block";
		$('photoInfo').innerHTML = info;
		photo.scrollTo();
	},
	viewComments: function()
	{
		comment = $("comments");
		comment.style.display = "block";
		comment.scrollTo();
	},
	viewAddComment: function()
	{
		comment = $("commentId");
		comment.style.display = "block";
		comment.scrollTo();
		new ResizingTextArea($('commentTextForm'));
	},
	commentSend: function(id)
	{
		var formError = false;
		View.clearErrors('commentEmpty');
		View.clearErrors('commentLong');
		
		commentObj = $('commentTextForm'); 
		comment = commentObj.getValue(); 
		if(comment == '') {
			formError = true;
			View.showErrors('commentEmpty');
		} else if(comment.length > 2000) {
			commentObj.setValue(comment.substr(0, 2000));
			View.showErrors('commentLong');
			formError = true;  
		}
		if (formError == false) {
			var argsObj = new Object();
			argsObj["operation"]	  = "sendComment";
			argsObj["announcementId"] = id;
			argsObj["commentText"]	= escape(comment);
			makeCall('Announcement/getAnnouncements', argsObj);
		}
	},
	uploadInit: function()
	{
		if (this.uploadFlag == 1) {
			this.uploadFlag = 0;
 
			var phoneErrors = new Array (
				'bigSize', 
				'notUploaded', 
				'wrongMime', 
				'partial'
			);	  
			var photoObj = $('photo');
			var errorUploading = Xms.getCookie('err');
			Xms.clearErrors(null, phoneErrors);
			if (errorUploading != 'false' && this.isUpload == 'on') {
				var bottomsArray = new Array(
					'saveAnnouncement'
				);
				Xms.lockUnLockBottons(bottomsArray,'unlock');
				this.hrefLock = false;
				switch (errorUploading) {
					case 'BigSize' :
						Xms.showErrors(photoObj, 'bigSize');
					break;
					case 'Partial' :
						Xms.showErrors(photoObj, 'partial');
					break;
					case 'NoFile' :
						Xms.showErrors(photoObj, 'notUploaded');
					break;
					case 'WrongMime' :
						Xms.showErrors(photoObj, 'wrongMime');
					break;
				}
				Xms.deleteCookie('err','/','');
				this.isUpload = 'off';
			} else {
				var argsObj = new Object();
				argsObj["operation"]	 = "addPhotoForm";
				argsObj["localName"]	 = Xms.getCookie('photo');
				argsObj["name"]		  = Xms.getCookie('name');
				argsObj["size"]		  = Xms.getCookie('size');
				argsObj["subscribe"]	 = Filter.encodeURIComponent(this.subArr[this.photoNum]);
				argsObj["photoNumber"]   = this.photoNum;
				this.namesArr[this.photoNum]	  = argsObj["name"];
				this.localNamesArr[this.photoNum] = argsObj["localName"];
				this.sizeArr[this.photoNum]	   = argsObj["size"] ;
				Xms.deleteCookie('photo','/','');
				Xms.deleteCookie('name','/','');
				Xms.deleteCookie('size','/','');
				Xms.deleteCookie('err','/','');
				makeCall('Announcement/getAnnouncements', argsObj);
			}
		}
	},
	initAddAnnouncement: function(max, link)
	{
		this.hrefLock = false;
		this.main = 0;
		this.curPhoto = 0;
		this.maxPhoto = max;
		this.isUpload = 'off';
		this.photoCnt = 0;
		this.photoNum = 0;
		this.uploadFlag = 0;
		this.link = link;
		this.namesArr	  = new Array();
		this.localNamesArr = new Array();
		this.sizeArr	   = new Array();
		this.subArr		= new Array();
		this.photoAdd	  = false;
	},
	addPhoto: function()
	{
		if(this.hrefLock == false) {
			this.hrefLock = true;
			var photoErrs = new Array (
				'photosFull', 
				'photoEmpty', 
				'adressError', 
				'extError', 
				'bigSize', 
				'notUploaded', 
				'wrongMime', 
				'subscribeSymbols', 
				'partial'
			);
			var bottomsArray = new Array('saveAnnouncement');
			Xms.lockUnLockBottons(bottomsArray,'lock');
			Xms.clearErrors(null, photoErrs);
			futureNum = this.photoCnt + 1;
			var phErr = new Array ('noPhoto');
			Xms.clearErrors(null, phErr);
			if(futureNum <= this.maxPhoto) {
				error = false;
				var photoObj	 = $('photo');
				var subscribeObj = $('subscribe');
				var photo	 = photoObj.getValue();
				var subscribe = subscribeObj.getValue();
				
				if(!Validate.notNull(photo)) {
					error = Xms.showErrors(photoObj,'photoEmpty');
				} else if(!Validate.imageExt(photo)) {
					error = Xms.showErrors(photoObj,'extError');
				} else if(!Validate.pathToFile(photo)) {
					error = Xms.showErrors(photoObj,'adressError');
				}
				if(Validate.notNull(subscribe) && !Validate.freeform(subscribe)) {
					error = Xms.showErrors(subscribeObj,'subscribeSymbols');
				}
				if(!error) {
					this.photoCnt++;
					this.photoNum++;
					this.subArr[this.photoNum] = Filter.escape(subscribe);
					this.isUpload = 'on';
					this.uploadFlag = 1;
					Element.insert('photosArea', {after:'<div><div id="insertPhoto_' + this.photoNum + '"></div></div>'});
					document.forms.addPhoto.submit();
				} else {
					Xms.lockUnLockBottons(bottomsArray,'unlock');
					this.hrefLock = false;
				}
			} else {
				Xms.showErrors(null,'photosFull');
				Xms.lockUnLockBottons(bottomsArray,'unlock');
				this.hrefLock = false;
			}
		}
	},
	drawPhoto: function(id)
	{
		var bottomsArray = new Array(
			'saveAnnouncement'
		);
		$('photo').setValue('');
		$('subscribe').setValue('');
		if(this.photoCnt == 1) {
			$('mainPhoto').style.display = "block";
			if(this.main == 0) {
				$('mainNot').style.display = "block";
			}
		}
		if(this.photoCnt == 1) {
			$('mainPhotoInfo').style.display = "block";
		}
		$('insertPhoto_' + id).scrollTo();
		Xms.lockUnLockBottons(bottomsArray,'unlock');
		this.hrefLock = false;
	},
	removePhoto: function(id)
	{
		this.photoCnt--;
		this.namesArr[id] = null;
		this.localNamesArr[id] = null;
		this.sizeArr[id] = null;
		this.subArr[id] = null;
		var removeElement = eval("$('insertPhoto_" + id + "')");
		removeElement.parentNode.removeChild(removeElement);
		if(this.main == id) {
			this.main = 0;
			$('mainNot').style.display = "block";
			$('mainYes').style.display = "none";
		}
		if(this.photoCnt == 0) {
			$('mainPhoto').style.display = "none";
			$('mainPhotoInfo').style.display = "none";
			$('mainNot').style.display = "none";
			$('mainYes').style.display = "none";
		}
	},
	makeMain: function(id)
	{
		if(this.main != 0) {
			$('photoHref_' + this.main).removeClassName('textGray');
		}
		$('mainNot').style.display = "none";
		$('mainYes').style.display = "block";
		$('mainPhotoArea').innerHTML = id;
		this.main = id;
		$('photoHref_' + id).addClassName('textGray');
	},
	addAnnouncement: function(categoryId)
	{
		this.hrefLock = true;
		error = false;
		var bottomsArray = new Array('saveAnnouncement');
		Xms.lockUnLockBottons(bottomsArray,'lock');
		
		var shortErr = new Array ('shortEmpty', 'shortWrongSymbols');
		var infoErr = new Array ('infoEmpty', 'infoTooLong');
		var priceErr = new Array ('priceEmpty', 'priceWrongSymbols');
		var mainErr = new Array ('noMain', 'noPhoto');
		var elementsArray = new Array ('short', 'info', 'price');
		Xms.clearErrors(elementsArray, null);

		var shortObj	  = $('short');
		var infoObj	   = $('info');
		var priceObj	  = $('price');

		var shortInfo   = shortObj.getValue();
		var info		= infoObj.getValue();
		var price	   = priceObj.getValue();
		
		Xms.clearErrors(null, shortErr);
		Xms.clearErrors(null, infoErr);
		Xms.clearErrors(null, priceErr);
		Xms.clearErrors(null, mainErr);
		
		if(!Validate.notNull(shortInfo)) {
			error = Xms.showErrors(shortObj,'shortEmpty');
		} else if(!Validate.freeform(shortInfo)) {
			error = Xms.showErrors(shortObj,'shortWrongSymbols');
		} else if(!Validate.notNull(info)) {
			error = Xms.showErrors(infoObj,'infoEmpty');
		} else if(info.length > 3000) {
			error = Xms.showErrors(infoObj,'infoTooLong');
			infoObj.setValue(info.substr(0, 3000));
		} else if(Validate.notNull(price) && (!Validate.int(price) || price.substr(0,1) == '0')) {
			error = Xms.showErrors(priceObj,'priceWrongSymbols');
		} else if(this.main == 0 && this.photoCnt != 0) {
			error = Xms.showErrors(null,'noMain');
		} else if(this.photoCnt == 0 && this.photoAdd == false) {
			error = Xms.showErrors(null,'noPhoto');
			this.photoAdd = true;
		}
		if(!error) {
			var argsObj = new Object();
			argsObj["shortText"]	 = Filter.encodeURIComponent(shortInfo);
			argsObj["info"]		  = Filter.encodeURIComponent(info);
			argsObj["price"]		 = price;
			argsObj["categoryId"]	= categoryId;
			argsObj["publicText"]	= 1;
			var photoObj = new Object();
			if(this.photoCnt != 0) {
				k = 0;
				for(j = 1; j <= this.photoNum; j++){
					if(this.namesArr[j] != null) {
						k++;
						var curObj = new Object();
						curObj['name']		 = this.localNamesArr[j];
						curObj['sub']		  = this.subArr[j];
						curObj['nativeName']   = this.namesArr[j];
						curObj['size']		 = this.sizeArr[j];
						photoObj[k] = curObj;
					}
				}
			}
			argsObj["photo"] = photoObj;
			argsObj["main"]  = this.main;
			argsObj["operation"]	 = "addAnnouncementSave";
			makeCall('Announcement/getAnnouncements', argsObj);
		} else {
			this.hrefLock = false;
			Xms.lockUnLockBottons(bottomsArray,'unlock');
		}
	},
	redirect: function(rubId, catId, annId)
	{
		window.location = this.link + 'anns/' + rubId + '/' + catId + '/' + annId + '/1/0/';
	},
	deleteAnnouncement: function(rubricId, categoryId, announcementId)
	{
		var argsObj = new Object();
		argsObj["rubricId"]		= rubricId;
		argsObj["categoryId"]	 = categoryId;
		argsObj["announcementId"] = announcementId;
		argsObj["operation"]	  = "deleteAnnouncement";
		makeCall('Announcement/getAnnouncements', argsObj);
	},
	initViewAnnouncement: function(link)
	{
		this.link = link;
	}
}