﻿/// <reference name="MicrosoftAjax.debug.js" />
/// <reference path="Main.js" />


/*
public enum SortBy
{
DateCreated = 0,
AToZ = 1,
Price = 2,
Popularity = 3
}

public enum SortDirection
{
Ascending = 0,
Descending = 1
}
*/

var NumberOfSelectedClassifieds = 0;
var numberOfPagingButtons;
var selectedTypes = [];
var sortBy = 0;
var sortDirection = 1; // descending
var numberOfLabelsPerPage = 10;
var searchKeyWord = "";
var pageNumber = 1;
var adId;
var numberOfAds = 0;
var pagingType = { ads: 0, members: 1, directory: 2 };

//these variables for profile page manipulations
var adIdToDelete;
var adIdToChangeStatus;
var favAdIdToDelete;

var currentAdId = 0;
var g_UploadDefaultImage_Classified = '';
var currentSelectedType; ;
var currentSelectedCity;

function findClassifieds(count) {
	NumberOfSelectedClassifieds = count;
	fillClassifiedsCookies();

	location.href = "/classifieds.aspx";
}

function fillClassifiedsCookies() {
	var selectedClassifieds = new Array();
	for (var i = 0; i < NumberOfSelectedClassifieds; i++) {
		if ($get("ClassifiedCategoryCheckbox_" + i).className == "Selected") {
			selectedClassifieds.push(i);
		}
	}

	createCookie("selectedClassifieds", selectedClassifieds, 5);
}

function showHideTypes(id) {
	if ($get("adCategoryLink_" + id).className == 'open')
		replaceStyle("adCategoryLink_" + id, 'close');
	else
		replaceStyle("adCategoryLink_" + id, 'open');
	Effect.toggle($get("AdsType_" + id), 'BLIND');
}

function selectUnSelectType(item) {
	if (searchKeyWord != "") {
		selectedTypes.clear();

		searchKeyWord = "";
	}
	for (var i = 0; i < selectedTypes.length; i++)
		if (selectedTypes[i] == item.id.replace('typeLink_', ''))
		selectedTypes.splice(i, 1);


	if (item.className == 'Selected') {
		selectedTypes.push(item.id.replace('typeLink_', ''));
	}

	checkSelectedAll(item);

	$get("SortAToZ").className = '';
	$get("SortPopularity").className = '';
	$get("SortPrice").className = '';
	$get("SortMostRecent").className = '';
	replaceStyle('SortMostRecent', 'Sort-DS');

	showLoadProgress();
	Classified.GetNumberOfLabels(selectedTypes, searchKeyWord, onGetNumberOfAdsLabelsComplete, onGetNumberOfAdsLabelsTimeOut, onGetNumberOfAdsLabelsError);
	Classified.GetLabelsData(selectedTypes, 1, numberOfLabelsPerPage, 0, 1, searchKeyWord, onGetAdsLabelsComplete, onGetAdsLabelsTimeOut, onGetAdsLabelsError);
}

//onclick="loadAdsLabelsPage(<%=i.ToString() %>);"
function onGetNumberOfAdsLabelsComplete(result) {
	if (result == 0)
		showNoResult();
	numberOfAds = result;

	drawPaging(result);
}

function onGetNumberOfAdsLabelsTimeOut(result) {
}

function onGetNumberOfAdsLabelsError(result) {
}

function onGetAdsLabelsComplete(result) {
	$get("LabelsContainer").innerHTML = "";
	if (result.length > 0) {
		for (var i = 0; i < result.length; i++) {
			var item = result[i].split('{,}');
			var newLabel = document.createElement("li");
			newLabel.className = "LableSubjectsNew";
			newLabel.innerHTML = $get('dummyLabel').innerHTML;
			newLabel.id = "label_" + item[0];
			var labelLink = $get("CurrentLabel", newLabel);
			labelLink.href = item[13]; //"cdetails.aspx?id=" + item[0];
			//var labelImgDiv = $get("CurrentLabelImageDiv", newLabel);
			$get("CurrentLabelImg", labelLink).src = "Images\\classifieds_sml\\" + item[9];
			//var labelContent = $get("CurrentLabelContent", labelLink);
			$get("LabelTitle", labelLink).innerHTML = getHTMLEncode(item[10]);
			$get("LabelPrice", labelLink).innerHTML = item[1];
			$get("LabelDescription", labelLink).innerHTML = getHTMLEncode(item[4]);
			$get("LabelDateCreated", labelLink).innerHTML = item[3];
			$get("LabelNumOfViews", labelLink).innerHTML = item[7]; //NumberOfResponses
			$get("LabelIcon", labelLink).src = item[12];
			$get("LabelPopularity", labelLink).innerHTML = item[14];
			newLabel.style.display = "block";
			$get("LabelsContainer").appendChild(newLabel);
		}
	}
	else
		showNoResult();


	saveClassifiedsPageVariables();
}

function onGetAdsLabelsError(result) {
}

function onGetAdsLabelsTimeOut(result) {
}

function loadAdsLabelsPage(currentPageNumber, selectedPagingType) {
	if (selectedPagingType == pagingType.ads) {
		pageNumber = currentPageNumber;
		var max = 10;
		if (numberOfPagingButtons < max)
			max = numberOfPagingButtons;
		for (var i = pagingStartPageNumber; i < max + pagingStartPageNumber; i++) {
			try {
				$get("pageButton" + i).className = '';
			}
			catch (ex) { break; }
		}
		$get("pageButton" + pageNumber).className = 'selected';
		showLoadProgress();
		Classified.GetLabelsData(selectedTypes, pageNumber, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetAdsLabelsComplete, onGetAdsLabelsTimeOut, onGetAdsLabelsError);
	}
	else if (selectedPagingType == pagingType.members) {
		pageNumber = currentPageNumber;
		var max = 10;
		if (numberOfPagingButtons < max)
			max = numberOfPagingButtons;
		for (var i = pagingStartPageNumber; i < max + pagingStartPageNumber - 1; i++) {
			try {
				$get("pageButton" + i).className = '';
			}
			catch (ex) { break; }
		}
		$get("pageButton" + pageNumber).className = 'selected';
		showLoadProgress();

		Members.GetLabelsData(country, gender, pageNumber, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetMembersLabelsComplete, onGetMembersLabelsTimeOut, onGetMembersLabelsError);
	}

	//added by hassan ,21-12-2008
	else if (selectedPagingType == pagingType.directory) {
		pageNumber = currentPageNumber;
		var max = 10;
		if (numberOfPagingButtons < max)
			max = numberOfPagingButtons;
		for (var i = pagingStartPageNumber; i < max + pagingStartPageNumber - 1; i++) {
			try {
				$get("pageButton" + i).className = '';
			}
			catch (ex) { break; }
		}
		$get("pageButton" + pageNumber).className = 'selected';
		showLoadProgress();

		if (currentSubcategoryId != null)
			Directory.GetLabelsData([currentSubcategoryId], selectedRefiningValuesIds, pageNumber, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, currentCountryComboText, currentCityComboText, onGetDirectoryLabelsComplete, onGetDirectoryLabelsTimeOut, onGetDirectoryLabelsError);
		else
			Directory.GetLabelsData(null, selectedRefiningValuesIds, pageNumber, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, currentCountryComboText, currentCityComboText, onGetDirectoryLabelsComplete, onGetDirectoryLabelsTimeOut, onGetDirectoryLabelsError);
	}
}


function sortAdsLabeles(itemName) {
	var item = $get(itemName);
	var currentClass = item.className;
	$get("SortAToZ").className = '';
	$get("SortPopularity").className = '';
	$get("SortPrice").className = '';
	$get("SortMostRecent").className = '';

	switch (currentClass) {
		case 'Sort-AS':
			replaceStyle(itemName, 'Sort-DS');
			sortDirection = 1;
			break;
		case 'Sort-DS':
			replaceStyle(itemName, 'Sort-AS');
			sortDirection = 0;
			break;
		default:
			if (itemName == 'SortMostRecent') {
				replaceStyle(itemName, 'Sort-DS');
				sortDirection = 1;
			}
			else {
				replaceStyle(itemName, 'Sort-AS');
				sortDirection = 0;
			}
			break;
	}

	if (itemName == 'SortMostRecent')
		sortBy = 0;
	else if (itemName == 'SortAToZ')
		sortBy = 1;
	else if (itemName == 'SortPopularity')
		sortBy = 3;
	else if (itemName == 'SortPrice')
		sortBy = 2;

	showLoadProgress();
	pagingStartPageNumber = 1;
	pageNumber = 1;
	drawPaging(numberOfAds);
	//Classified.GetNumberOfLabels(selectedTypes, searchKeyWord, onGetNumberOfAdsLabelsComplete, onGetNumberOfAdsLabelsTimeOut, onGetNumberOfAdsLabelsError);
	Classified.GetLabelsData(selectedTypes, 1, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetAdsLabelsComplete, onGetAdsLabelsTimeOut, onGetAdsLabelsError);
}

function showLoadProgress() {
	$get("LabelsContainer").innerHTML = "";
	var imgLoad = document.createElement("div");
	imgLoad.align = "center";
	imgLoad.style.width = "450px";
	imgLoad.id = "imgLoad";
	imgLoad.innerHTML = $get("loadingImage").innerHTML;
	$get("LabelsContainer").appendChild(imgLoad);
	imgLoad.style.display = "block";
}

function showNoResult() {
	$get("LabelsContainer").innerHTML = "";
	var imgLoad = document.createElement("div");
	imgLoad.align = "center";
	imgLoad.style.width = "450px";
	imgLoad.innerHTML = $get("noResultImage").innerHTML;
	$get("LabelsContainer").appendChild(imgLoad);
	imgLoad.style.display = "block";
}


function changeNumberOfLabelsPerPage(numberOfLabels) {
	numberOfLabelsPerPage = numberOfLabels;
	$get("show10Label").className = "";
	$get("show30Label").className = "";
	$get("show50Label").className = "";

	$get("show" + numberOfLabels + "Label").className = "select";
	pageNumber = 1;
	pagingStartPageNumber = 1;
	showLoadProgress();
	drawPaging(numberOfAds);
	//Classified.GetNumberOfLabels(selectedTypes, searchKeyWord, onGetNumberOfAdsLabelsComplete, onGetNumberOfAdsLabelsTimeOut, onGetNumberOfAdsLabelsError);
	Classified.GetLabelsData(selectedTypes, 1, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetAdsLabelsComplete, onGetAdsLabelsTimeOut, onGetAdsLabelsError);
}


function loadAdPhotosPage(pageNumber) {
	for (var k = 1; k <= numberOfPagingButtons; k++) {
		$get("pageButton" + k).className = '';
	}
	$get("pageButton" + pageNumber).className = 'selected';
	//showLoadProgress();

	Classified.GetAdPhotos(adId, pageNumber, 5, GetAdPhotosComplete, GetAdPhotosTimeOut, GetAdPhotosError);
}

function GetAdPhotosError(result) {
	//alert(result);
}

function GetAdPhotosTimeOut(result) {
	//alert(result);
}

function GetAdPhotosComplete(result) {
	$get("AdsPhotos").innerHTML = '';
	if (result.length > 0) {
		for (var i = 0; i < result.length; i++) {
			var photo = result[i].split(',');
			var newPhoto = document.createElement("div");
			newPhoto.id = "PicBox_" + i;
			newPhoto.className = "pict-box";
			newPhoto.innerHTML = $get("dummyPicBox").innerHTML;
			$get("dummyPic", newPhoto).src = "/Images/classifieds/" + photo[0];
			$get("dummyPicDesc", newPhoto).innerHTML = photo[1];
			newPhoto.style.display = "block";
			$get("AdsPhotos").appendChild(newPhoto);
		}
	}
}

var tabClassifiedArray = new Array("overViewTab", "commentsTab", "multimediaTab", "questionsTab", "tagsTab");

function changeCDetailsTab(tabToOpen) {
	if (getItem("SelectedTabName").value != tabToOpen) {
		LoadTabContent(tabToOpen);
		for (var i = 0; i < tabClassifiedArray.length; i++) {
			if (tabClassifiedArray[i] == tabToOpen) {
				getItem("SelectedTabName").value = tabToOpen;
				getItem(tabToOpen).style.display = 'block';
				replaceStyle(tabToOpen + "Link", "selected");
			}
			else {
				getItem(tabClassifiedArray[i]).style.display = 'none';
				replaceStyle(tabClassifiedArray[i] + "Link", "");
			}
		}
	}
}


function saveClassifiedsPageVariables() {
	clearCookie("classifiedsPageVariables");

	var classifiedsVariables = new Array();
	classifiedsVariables.push(searchKeyWord);
	classifiedsVariables.push(NumberOfSelectedClassifieds);
	classifiedsVariables.push(numberOfPagingButtons);
	classifiedsVariables.push(sortBy);
	classifiedsVariables.push(sortDirection);
	classifiedsVariables.push(numberOfLabelsPerPage);
	classifiedsVariables.push(pageNumber);
	for (var i = 0; i < selectedTypes.length; i++)
		classifiedsVariables.push(selectedTypes[i])

	createCookie("classifiedsPageVariables", classifiedsVariables);
}

function loadClassifiedsPage() {
	var variables = readCookie("classifiedsPageVariables");
	if (variables != '') {
		var variablesArray = new Array();
		variablesArray = variables.split(",");
		searchKeyWord = variablesArray[0];
		NumberOfSelectedClassifieds = variablesArray[1];
		numberOfPagingButtons = variablesArray[2];
		sortBy = variablesArray[3];
		sortDirection = variablesArray[4]; // descending
		numberOfLabelsPerPage = variablesArray[5];
		//pageNumber = variablesArray[6];
		selectedTypes.clear();
		var allTypes = document.getElementsByName("TypeLinks");
		for (var j = 0; j < allTypes.length; j++)
			replaceStyle(allTypes[j].id, '');

		for (var i = 7; i < variablesArray.length; i++) {
			selectedTypes.push(variablesArray[i]);
			replaceStyle('typeLink_' + variablesArray[i], "Selected");

		}

		$get("show10Label").className = "";
		$get("show30Label").className = "";
		$get("show50Label").className = "";
		$get("show" + numberOfLabelsPerPage + "Label").className = "select";

		// Sorting
		$get("SortAToZ").className = '';
		$get("SortPopularity").className = '';
		$get("SortPrice").className = '';
		$get("SortMostRecent").className = '';

		var className = '';
		if (sortDirection == 0)
			className = 'Sort-AS'
		else
			className = 'Sort-DS'

		if (sortBy == 0)
			replaceStyle('SortMostRecent', className);
		if (sortBy == 1)
			replaceStyle('SortAToZ', className);
		if (sortBy == 2)
			replaceStyle('SortPrice', className);
		if (sortBy == 3)
			replaceStyle('SortPopularity', className);

		showLoadProgress();
		if (pageNumber > numberOfLabelsPerPage) {
			pagingStartPageNumber = Math.floor(pageNumber % numberOfLabelsPerPage) + (numberOfLabelsPerPage - 1);
		}
		else {
			pagingStartPageNumber = 1;
		}
		Classified.GetNumberOfLabels(selectedTypes, searchKeyWord, onGetNumberOfAdsLabelsComplete, onGetNumberOfAdsLabelsTimeOut, onGetNumberOfAdsLabelsError);
		Classified.GetLabelsData(selectedTypes, pageNumber, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetAdsLabelsComplete, onGetAdsLabelsTimeOut, onGetAdsLabelsError);
	}
}



function DeleteClassified(_adIdToDelete) {
	adIdToDelete = _adIdToDelete;
	Classified.DeleteAd(adIdToDelete, onDeleteClassifiedComplete, onDeleteClassifiedError, onDeleteClassifiedTimeOut);
}

function onDeleteClassifiedComplete(result) {
	$get('classified' + adIdToDelete).style.display = 'none';
}

function onDeleteClassifiedError(result) {
}


function onDeleteClassifiedTimeOut(result) {
}





function ChangeClassifiedStatus(_adIdToChangeStatus) {
	adIdToChangeStatus = _adIdToChangeStatus;
	Classified.ChangeAdStatus(adIdToChangeStatus, onChangeClassifiedStatusComplete, onChangeClassifiedStatusError, onChangeClassifiedStatusTimeOut);
}

function onChangeClassifiedStatusComplete(result) {
	if ($get('classifiedName' + adIdToChangeStatus).className == "NameItemRow") {
		replaceStyle('classifiedName' + adIdToChangeStatus, 'NameItemRowUnSelected');
		$get('adStatus' + adIdToChangeStatus).innerHTML = 'Activate'
	}
	else {
		replaceStyle('classifiedName' + adIdToChangeStatus, 'NameItemRow');
		$get('adStatus' + adIdToChangeStatus).innerHTML = 'Deactivate'
	}
}

function onChangeClassifiedStatusError(result) {
}


function onChangeClassifiedStatusTimeOut(result) {
}



function DeleteFavClassified(_favAdIdToDelete) {
	favAdIdToDelete = _favAdIdToDelete;
	Classified.DeleteFavAd(favAdIdToDelete, ID, onDeleteFavClassifiedComplete, onDeleteFavClassifiedError, onDeleteFavClassifiedTimeOut);
}

function onDeleteFavClassifiedComplete(result) {
	$get('favClassified' + favAdIdToDelete).style.display = 'none';
}

function onDeleteFavClassifiedError(result) {
}


function onDeleteFavClassifiedTimeOut(result) {
}

function checkExpiryDate() {
	var isValid = true;
	if (!ValidateNumber('txtExpire')) {
		isValid = false;
		$get('errExpire').style.display = '';
	}
	if (isValid) {
		if ($get('txtExpire').value > 100) {
			isValid = false;
		}
	}

	return isValid;
}

function SaveClassified() {
	var isValid = true;

	$get('errPrice').style.display = 'none';
	$get('errExpire').style.display = 'none';
	$get('errAdTitle').style.display = 'none';

	if (!validateEmpty('txtAdTitle')) {
		showMessage('please insert title', 1);
		isValid = false;
	}

	if ($get('txtAdTitle').value.length > 40) {
		showMessage('Title number of charcters must be less than or equal 40 charchters', 1);
		isValid = false;
	}

	if (!checkExpiryDate()) {
		showMessage('expiry date must be less than 100 day', 1);
		//$get('errExpire').style.display = '';
		isValid = false;
	}

	if (!validateEmpty('txtExpire')) {
		showMessage('please insert expiry number of days', 1);
		//$get('errExpire').style.display = '';
		isValid = false;
	}

	if ($get('txtPrice').value != '') {
		if (!ValidateNumber('txtPrice')) {
			showMessage('price must be numeric value', 1);
			//$get('errExpire').style.display = '';
			isValid = false;
		}
	}

	if (!isValid)
		return;


	var title = $get('txtAdTitle').value;
	var price = $get('txtPrice').value;
	var memberId = ID;
	var expirationDays = $get('txtExpire').value;
	var description = $get('txtDescription').value;
	var typeId = $get(ddType).options[$get(ddType).selectedIndex].value;
	var categoryId = $get(ddCategory).options[$get(ddCategory).selectedIndex].value;
	var countryId = $get(ddCountry).options[$get(ddCountry).selectedIndex].value;
	var cityId = $get(ddCity).options[$get(ddCity).selectedIndex].value;
	var addressLine1 = $get('txtAddress1').value;
	var addressLine2 = $get('txtAddress2').value;
	var addressLine3 = $get('txtAddress3').value;

	var photosArray = new Array();
	var allPhotos = document.getElementsByName('UploadPhotos_Classified');
	for (var i = 0; i < allPhotos.length - 1; i++)
		photosArray.push(allPhotos[i].id);

	openProfileTab(2);

	if (currentAdId == 0)
		Classified.SaveNewAd(title, price, memberId, expirationDays, description, typeId, categoryId, countryId, cityId, addressLine1, addressLine2, addressLine3, photosArray, g_UploadDefaultImage_Classified, onSaveAdComplete, onSaveAdError, onSaveAdTimeOut);
	else
		Classified.SaveAd(currentAdId, title, price, memberId, expirationDays, description, typeId, categoryId, countryId, cityId, addressLine1, addressLine2, addressLine3, photosArray, g_UploadDefaultImage_Classified, onSaveAdComplete, onSaveAdError, onSaveAdTimeOut);
}

function onSaveAdComplete(result) {
	currentAdId = result;



	$get('txtAdTitle').value = '';
	$get('txtPrice').value = '';
	$get('txtExpire').value = '';
	$get('txtDescription').value = '';
	$get('txtAddress1').value = '';
	$get('txtAddress2').value = '';
	$get('txtAddress3').value = '';

	$get('Upload_Thumbnails_Classified').innerHTML = '';

	LoadMyClassifieds();
	showMessage("Your classified saved successfully", 2);
}

function onSaveAdError(result) {

}

function onSaveAdTimeOut(result) {

}

function SetAsDefaultImage(imageName, strUploadType) {
	var allLinks = document.getElementsByName('setDefaultImageLink_' + strUploadType);
	for (var i = 0; i < allLinks.length; i++)
		allLinks[i].innerHTML = 'Make it default';

	$get('set_' + imageName).innerHTML = '';
	eval("g_UploadDefaultImage_" + strUploadType + " = imageName;");
}

function DeleteImage(imageName, strUploadType) {
	var wasDefault = false;
	if ($get('set_' + imageName).innerHTML == '') {
		wasDefault = true;
	}
	$get('UploadImageTemplate_' + strUploadType + '_' + imageName).innerHTML = '';
	$get('UploadImageTemplate_' + strUploadType + '_' + imageName).style.display = 'none';

	if (wasDefault) {
		var allLinks = document.getElementsByName('setDefaultImageLink_' + strUploadType);
		if (allLinks.length > 1) {
			allLinks[0].innerHTML = '';
			eval("g_UploadDefaultImage_" + strUploadType + " = allLinks[0].id.replace('set_', '');");
		}
		else
			eval("g_UploadDefaultImage_" + strUploadType + " = '';");
	}
}

function PrepareForAddNew() {
	currentAdId = 0;
	$get('txtAdTitle').value = '';
	$get('txtPrice').value = '';
	$get('txtExpire').value = '';
	$get('txtDescription').value = '';
	$get('txtAddress1').value = '';
	$get('txtAddress2').value = '';
	$get('txtAddress3').value = '';
	$get('Upload_Thumbnails_Classified').innerHTML = '<img id="Upload_LoadingImage_Classified" src="/img/ajax-loader.gif" style="margin-left: 410px; display:none;"/>';
	//Clear the form
}

function LoadAdData(adToEditId) {
	currentAdId = adToEditId;
	Classified.GetAdData(adToEditId, onGetAdDataComplete, onGetAdDataError, onGetAdDataTimeOut);
	Classified.GetAdPhotosForEdit(adToEditId, onGetAdPhotosForEditComplete, onGetAdPhotosForEditError, onGetAdPhotosForEditTimeOut);
}



function onGetAdPhotosForEditComplete(result) {
	$get('Upload_Thumbnails_Classified').innerHTML = '<img id="Upload_LoadingImage_Classified" src="/img/ajax-loader.gif" style="margin-left: 410px; display:none;"/>'; ;
	g_UploadDefaultImage_Classified = result[result.length - 1];
	for (var i = 0; i < result.length - 1; i++) {
		var src = "/Images/classifieds/" + result[i];
		var imgDiv = document.createElement('div');
		imgDiv.innerHTML = $get('UploadImageTemplate_Classified').innerHTML;
		imgDiv.id = 'UploadImageTemplate_Classified_' + src.replace('/Images/classifieds/', '');
		imgDiv.className = 'PhotoUpLoadDiv';
		var new_img = $get('UploadImage', imgDiv);
		new_img.name = 'UploadPhotos_Classified';
		new_img.id = src.replace('/Images/classifieds/', '');
		if (new_img.id == g_UploadDefaultImage_Classified) {
			$get('Upload_MakeDefaultLink', imgDiv).innerHTML = '';
			//g_UploadDefaultImage_Classified = src.replace('/Images/classifieds/',''); // This variable exist in classified.js
		}
		else {
			$get('Upload_MakeDefaultLink', imgDiv).innerHTML = 'Make it default';
		}
		var new_SetDefaultLink = $get('Upload_MakeDefaultLink', imgDiv);
		//new_SetDefaultLink.setAttribute('onclick', 'SetAsDefaultImage("' + src.replace('/Images/classifieds/', '') + '", "Classified")');
		new_SetDefaultLink.href = 'javascript:SetAsDefaultImage("' + src.replace('/Images/classifieds/', '') + '", "Classified");';
		new_SetDefaultLink.name = 'setDefaultImageLink_Classified';
		new_SetDefaultLink.id = 'set_' + src.replace('/Images/classifieds/', '');

		//$get('Upload_DeleteLink', imgDiv).setAttribute('onclick', 'DeleteImage("' + src.replace('/Images/classifieds/', '') + '", "Classified")');
		$get('Upload_DeleteLink', imgDiv).href = 'javascript:DeleteImage("' + src.replace('/Images/classifieds/', '') + '", "Classified");';
		$get('Upload_Thumbnails_Classified').appendChild(imgDiv);
		imgDiv.style.display = '';
		new_img.src = src;
	}
}

function onGetAdPhotosForEditError(result) {
}

function onGetAdPhotosForEditTimeOut(result) {
}


function onGetAdDataComplete(result) {
	$get('txtAdTitle').value = result[0];
	for (var i = 0; i < $get(ddCategory).options.length; i++)
		if ($get(ddCategory).options[i].value == result[1])
		$get(ddCategory).selectedIndex = i;
	currentSelectedType = result[2];
	Classified.GetAdTypes(result[1], onGetTypesComplete, onGetTypesError, onGetTypesTimeOut);

	$get('txtPrice').value = result[3];
	$get('txtExpire').value = result[4];
	$get('txtDescription').value = result[5];
	$get('txtAddress1').value = result[6];
	$get('txtAddress2').value = result[7];
	$get('txtAddress3').value = result[8];
	for (var i = 0; i < $get(ddCountry).options.length; i++)
		if ($get(ddCountry).options[i].value == result[9])
		$get(ddCountry).selectedIndex = i;
	currentSelectedCity = result[10];
	Classified.GetAdCities(result[9], onGetCitiesComplete, onGetCitiesError, onGetCitiesTimeOut);
}

function onGetAdDataError(result) {
}

function onGetAdDataTimeOut(result) {
}


function onGetTypesComplete(result) {
	$get(ddType).innerHTML = '';
	$get(ddType).options.length = result.length;
	for (var i = 0; i < result.length; i++) {
		var item = result[i].split(",");
		$get(ddType).options[i] = new Option(item[1], item[0]);
	}

	for (var i = 0; i < $get(ddType).options.length; i++)
		if ($get(ddType).options[i].value == currentSelectedType)
		$get(ddType).selectedIndex = i;

}

function onGetTypesError(result)
{ }

function onGetTypesTimeOut(result)
{ }

function onGetCitiesComplete(result) {
	$get(ddCity).innerHTML = '';
	$get(ddCity).options.length = result.length;
	for (var i = 0; i < result.length; i++) {
		var item = result[i].split(",");
		$get(ddCity).options[i] = new Option(item[1], item[0]);
	}

	for (var i = 0; i < $get(ddCity).options.length; i++)
		if ($get(ddCity).options[i].value == currentSelectedCity)
		$get(ddCity).selectedIndex = i;

}

function onGetCitiesError(result)
{ }

function onGetCitiesTimeOut(result)
{ }


function LoadMyClassifieds() {
	g_UploadDefaultImage_Classified = '';
	Classified.LoadMyClassifieds(ID, onLoadMyClassifiedComplete, onLoadMyClassifiedError, onLoadMyClassifiedTimeOut);
}

function onLoadMyClassifiedComplete(result) {
	//$get('ctl00_PagePlaceHolder_ctl02_MyClassifiedsTitles').style.display = 'block';
	//$get('ctl00_PagePlaceHolder_ctl02_NoMyClassifieds').style.display = 'none';
	var newMyClassifiedsContainer = document.createElement('div');
	//newMyClassifiedsContainer.innerHTML = $get('MyClassifiedsTemp').innerHTML;
	var classifiedTempContainer = document.createElement('div');
	classifiedTempContainer.innerHTML = $get('MyClassifiedsTemp').innerHTML;

	for (var k = 0; k < result.length; k++) {
		var adsContainer = '';
		var categoryContainer = '';
		if (result[k].split(',').length == 2) {
			var cat = result[k].split(',');
			if (cat[1] == '0') // If number of ads under this category are zero so don't load all this category.
				continue;
			classifiedTempContainer.innerHTML = $get('MyClassifiedsTemp').innerHTML;
			categoryContainer = $get('categoryContainer', classifiedTempContainer);
			categoryContainer.id = 'categoryContainer_' + cat[0];
			$get('category', categoryContainer).innerHTML = getHTMLEncode(cat[0]);
		}
		else {
			var item = result[k].split(',');
			var adsContainer = document.createElement('div');
			adsContainer.id = "classified" + item[0];
			adsContainer.className = 'RowContainerItem';
			//adsContainer.innerHTML = $get('adsContainer',$get('MyClassifiedsTemp')).innerHTML;
			var newAdContainer = document.createElement('div');
			newAdContainer.className = 'ContainerItem';
			var replacedStr = $get('classified_AdId_', $get('adsContainer')).innerHTML;

			replacedStr = replacedStr.replace(/_AdId_/g, item[0]);
			replacedStr = replacedStr.replace(/_Title_/g, getHTMLEncode(item[1]));
			replacedStr = replacedStr.replace(/_NumOfViews_/g, item[2]);
			replacedStr = replacedStr.replace(/_NumOfResponses_/g, item[3]);
			var status = 'Deactivate';
			var statusClass = 'NameItemRow';
			if (item[4] == 'False') {
				status = 'Activate';
				statusClass = 'NameItemRowUnSelected';
			}
			replacedStr = replacedStr.replace(/_Status_/g, status);
			replacedStr = replacedStr.replace(/_StatusClass_/g, statusClass);

			newAdContainer.innerHTML = replacedStr;
			adsContainer.appendChild(newAdContainer);
		}
		if (adsContainer != '')
			newMyClassifiedsContainer.appendChild(adsContainer);
		else
			newMyClassifiedsContainer.appendChild(categoryContainer);
		$get('MyClassifiedsDiv').innerHTML = newMyClassifiedsContainer.innerHTML;
	}
}

function onLoadMyClassifiedError(result) {
}

function onLoadMyClassifiedTimeOut(result) {
}

function OpenUserProfileToAdd() {
	if (ID == 0) {
		ActionAfterLogin = "OpenUserProfileToAdd();";
		showAccessCard();
	}
	else {
		ActionAfterLogin = "";
		location.href = '/userprofile.aspx?ID=' + ID + '&action=add';
	}
}

function OpenUserProfileToAddDirectory()
{
	if (ID == 0)
	{
		ActionAfterLogin = "OpenUserProfileToAddDirectory();";
		showAccessCard();
	}
	else
	{
		ActionAfterLogin = "";
		location.href = '/userprofile.aspx?ID=' + ID + '&tab=AddBusiness';
	}
}

function AddToMyFavAds(adId) {
	if (ID == 0)
		showAccessCard();
	else
		Classified.AddToFavAds(adId, ID, onAddToFavAdsComplete, onAddToFavAdsError, onAddToFavAdsTimeOut);
}

function onAddToFavAdsComplete(result) {
	showMessage("successfully added to your favorite list", 2)
}

function onAddToFavAdsTimeOut(result) {
}

function onAddToFavAdsError(result) {
}


function drawPaging(result) {
	$get("NumOfResults").innerHTML = result;
	var numOfPages = result / numberOfLabelsPerPage;
	if ((result % numberOfLabelsPerPage) > 0 && numOfPages > 1)
	{
		numOfPages++;
	}
	numOfPages = Math.floor(numOfPages);
	numberOfPagingButtons = Math.floor(numOfPages);
	var min = pagingStartPageNumber + 1;
	var max = pagingStartPageNumber + 9;
	if (max > numOfPages)
		max = numOfPages;

	$get("adsPaging").innerHTML = '';
	var firstPageButton = document.createElement("a");
	firstPageButton.className = "selected";
	firstPageButton.id = "pageButton" + pagingStartPageNumber;
	firstPageButton.innerHTML = '<span>' + pagingStartPageNumber + '</span>'; //$get("dummyFirstPageLink").innerHTML;
	firstPageButton.style.display = 'block';
	//firstPageButton.href = "#bookTool_lnk";
	if (numberOfMembers > 0)
		firstPageButton.href = 'javascript:loadAdsLabelsPage(' + pagingStartPageNumber + ',1)';
	//firstPageButton.setAttribute('onclick', 'loadAdsLabelsPage(' + pagingStartPageNumber + ',1)');
	else if (numberOfDirectory > 0)
		firstPageButton.href = 'javascript:loadAdsLabelsPage(' + pagingStartPageNumber + ',2)';
	//firstPageButton.setAttribute('onclick', 'loadAdsLabelsPage(' + pagingStartPageNumber + ',1)'); 
	else
		firstPageButton.href = 'javascript:loadAdsLabelsPage(' + pagingStartPageNumber + ',0)';
	//firstPageButton.setAttribute('onclick', 'loadAdsLabelsPage(' + pagingStartPageNumber + ',0)');
	$get("adsPaging").appendChild(firstPageButton);

	max = Math.round(max);

	for (var i = min; i <= max; i++) {
		var newPageButton = document.createElement("a");
		newPageButton.id = "pageButton" + i;
		newPageButton.innerHTML = $get('dummyPagesLinks').innerHTML;
		span = $get('dummyPageNumber', newPageButton);
		span.innerHTML = i;
		if (numberOfMembers > 0)
			newPageButton.href = 'javascript:loadAdsLabelsPage(' + i + ',1)';
		//newPageButton.setAttribute('onclick', 'loadAdsLabelsPage(' + i + ',1)');
		else if (numberOfDirectory > 0)
			newPageButton.href = 'javascript:loadAdsLabelsPage(' + i + ',2)';

		else
			newPageButton.href = 'javascript:loadAdsLabelsPage(' + i + ',0)';
		//newPageButton.setAttribute('onclick', 'loadAdsLabelsPage(' + i + ',0)');
		//newPageButton.href = "#bookTool_lnk";
		newPageButton.style.display = 'block';
		$get("adsPaging").appendChild(newPageButton);
	}

	if ($get("next10")) {
		if (pagingStartPageNumber + 10 >= numOfPages) {
			$get("next10").style.display = "none";
		}
		else
			$get("next10").style.display = "block";
	}

	if ($get("prev10")) {
		if (pagingStartPageNumber < 10) {
			$get("prev10").style.display = "none";
		}
		else
			$get("prev10").style.display = "block";
	}
}





// Members Part
// ***********************************************************************************************

var country = 0;
var gender = 2; //both
var ageRange;
var pagingStartPageNumber = 1;
var numberOfMembers = 0;
var friendId = 0;

function loadMembersLabelsPage(currentPageNumber) {
	pageNumber = currentPageNumber;
	var max = 10;
	if (numberOfPagingButtons < max)
		max = numberOfPagingButtons;
	for (var i = pagingStartPageNumber; i < max + pagingStartPageNumber - 1; i++) {
		try {
			$get("pageButton" + i).className = '';
		}
		catch (ex) { break; }
	}
	$get("pageButton" + pageNumber).className = 'selected';
	showLoadProgress();

	Members.GetLabelsData(country, gender, pageNumber, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetMembersLabelsComplete, onGetMembersLabelsTimeOut, onGetMembersLabelsError);
}



function onGetMembersLabelsComplete(result) {
	$get("LabelsContainer").innerHTML = "";
	//$get("NumOfResults").innerHTML= result.length;
	if (result.length > 0) {
		for (var i = 0; i < result.length; i++) {
			var item = result[i].split('{,}');
			var newLabel = document.createElement("li");
			newLabel.className = "LableSubjectsNew";
			newLabel.innerHTML = $get('dummyLabel').innerHTML;
			newLabel.id = "label_" + item[0];
			var labelLink = $get("CurrentLabel", newLabel);
			labelLink.href = "javascript:getBasicInfo(" + item[0] + ");";
			//var labelImgDiv = $get("CurrentLabelImageDiv", newLabel);
			$get("CurrentLabelImg", labelLink).src = "Images\\Users\\original\\" + item[1];
			//var labelContent = $get("CurrentLabelContent", labelLink);
			$get("LabelTitle", labelLink).innerHTML = item[2];
			//$get("LabelPrice", labelLink).innerHTML = item[1];
			$get("LabelDescription", labelLink).innerHTML = item[3];
			$get("LabelDateCreated", labelLink).innerHTML = item[4];
			$get("LabelNumOfViews", labelLink).innerHTML = item[6]; //NumberOfResponses
			$get("LabelPop", labelLink).innerHTML = item[5];
			//$get("LabelIcon", labelLink).src = item[12];
			newLabel.style.display = "block";
			$get("LabelsContainer").appendChild(newLabel);
		}
	}
	else
		showNoResult();


	//saveClassifiedsPageVariables();
}

function onGetMembersLabelsError(result) {
}

function onGetMembersLabelsTimeOut(result) {
}



function sortMembersLabels(itemName) {
	var item = $get(itemName);
	var currentClass = item.className;
	$get("SortAToZ").className = '';
	$get("SortMostRecent").className = '';


	switch (currentClass) {
		case 'Sort-AS':
			replaceStyle(itemName, 'Sort-DS');
			sortDirection = 1;
			break;
		case 'Sort-DS':
			replaceStyle(itemName, 'Sort-AS');
			sortDirection = 0;
			break;
		default:
			if (itemName == 'SortMostRecent') {
				replaceStyle(itemName, 'Sort-DS');
				sortDirection = 1;
			}
			else if (itemName == 'SortAToZ') {
				replaceStyle(itemName, 'Sort-AS');
				sortDirection = 0;
			}
			break;
	}

	if (itemName == 'SortMostRecent')
		sortBy = 0;
	else if (itemName == 'SortAToZ')
		sortBy = 1;

	showLoadProgress();
	pagingStartPageNumber = 1;
	pageNumber = 1;
	var country = 0;
	if (countryDropDown.selectedIndex != -1)
		country = countryDropDown.options[countryDropDown.selectedIndex].value;
	drawPaging(numberOfMembers);
	Members.GetLabelsData(country, gender, pageNumber, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetMembersLabelsComplete, onGetMembersLabelsTimeOut, onGetMembersLabelsError);

}




function onGetNumberOfMembersLabelsComplete(result) {
	if (result == 0)
		showNoResult();

	numberOfMembers = result;
	drawPaging(result);
}


function onGetNumberOfMembersLabelsTimeOut(result) {
}

function onGetNumberOfMembersLabelsError(result) {
}

function changeNumberOfMembersLabelsPerPage(numberOfLabels) {
	pagingStartPageNumber = 1;
	numberOfLabelsPerPage = numberOfLabels;
	$get("show10Label").className = "";
	$get("show30Label").className = "";
	$get("show50Label").className = "";

	$get("show" + numberOfLabels + "Label").className = "select";

	showLoadProgress();
	drawPaging(numberOfMembers);
	//Members.GetNumberOfLabels(country, gender, searchKeyWord, onGetNumberOfMembersLabelsComplete, onGetNumberOfMembersLabelsTimeOut, onGetNumberOfMembersLabelsError);
	Members.GetLabelsData(country, gender, 1, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetMembersLabelsComplete, onGetMembersLabelsTimeOut, onGetMembersLabelsError);
}


function moveNext10Pages() {
	var items = 0;
	if (numberOfMembers > 0)
		items = numberOfMembers;
	else if (numberOfDirectory > 0)
		items = numberOfDirectory;
	else
		items = numberOfAds;

	var numOfPages = items / numberOfLabelsPerPage
	if ((items % numberOfLabelsPerPage) > 0)
		numOfPages++;
	if (pagingStartPageNumber + 10 <= numOfPages) {
		pagingStartPageNumber += 10;
		drawPaging(items);
	}
}


function movePrevious10Pages() {
	var items = 0;
	if (numberOfMembers > 0)
		items = numberOfMembers;
	else if (numberOfDirectory > 0)
		items = numberOfDirectory;
	else
		items = numberOfAds;
	if (pagingStartPageNumber > 10) {
		pagingStartPageNumber -= 10;
		drawPaging(items);
	}
}


function findMembers() {
	fillMembersCookie();

	location.href = "/members.aspx";
}

function fillMembersCookie() {
	var filterMembers = '';
	if ($get('toolBarCombo').selectedIndex != '-1')
		filterMembers = $get('toolBarCombo').options[$get('toolBarCombo').selectedIndex].value;
	else
		filterMembers = 0;
	filterMembers += ",";
	filterMembers += $get('toolBarCombo_myp').innerHTML;
	filterMembers += ",";
	if ($get('toolbarMaleRbGender').className == 'selected')
		filterMembers += "0";
	else if ($get('toolbarFemaleRbGender').className == 'selected')
		filterMembers += "1";
	else if ($get('toolbarBothRbGender').className == 'selected')
		filterMembers += "2";

	createCookie("filterMembers", filterMembers, 5);
}



function selectMembersGender(ctrl) {
	replaceStyle('maleRbMembers', '');
	replaceStyle('femaleRbMembers', '');
	replaceStyle('bothRbMembers', '');

	replaceStyle(ctrl + 'RbMembers', 'selected');

	if (ctrl == 'male')
		gender = 0;
	else if (ctrl == 'female')
		gender = 1;
	else if (ctrl == 'both')
		gender = 2;

	showLoadProgress();

	Members.GetNumberOfLabels(country, gender, searchKeyWord, onGetNumberOfMembersLabelsComplete, onGetNumberOfMembersLabelsTimeOut, onGetNumberOfMembersLabelsError);
	Members.GetLabelsData(country, gender, pageNumber, numberOfLabelsPerPage, sortBy, sortDirection, searchKeyWord, onGetMembersLabelsComplete, onGetMembersLabelsTimeOut, onGetMembersLabelsError);
}


function removeFriend(friend) {
	friendId = friend;
	Members.RemoveFriend(ID, friendId, onRemoveFriendComplete, onRemoveFriendError, onRemoveFriendTimeOut);
}

function onRemoveFriendComplete(result) {
	$get('MemberDiv_' + friendId).style.display = 'none;';
	showMessage("successfully removed from your friends list", 2)
}

function onRemoveFriendError(result) { }

function onRemoveFriendTimeOut(result) { }


function addFriend(friend) {
	if (ID != friend)
		Members.AddFriend(ID, friend, onAddFriendComplete, onAddFriendError, onAddFriendTimeOut);
}

function requestAddToMyFriends() {
	if (ID == 0) {
		hideSomeoneElsesAccessCard();
		ActionAfterLogin = "getBasicInfo(" + SomeOneElseOpenAccessCard + ");requestAddToMyFriends();";
		showAccessCard();
	}
	if (ID != SomeOneElseOpenAccessCard)
		Members.RequestAddFriend(ID, SomeOneElseOpenAccessCard, onRequestAddFriendComplete, onRequestAddFriendError, onRequestAddFriendTimeOut);
}

function onRequestAddFriendComplete(result) {
	if (result)
		showMessage("Your request has been sent successfully", 2);
	else
		showMessage("already friends", 3);
}

function onRequestAddFriendError(result) {
}

function onRequestAddFriendTimeOut(result) {
}


function acceptAddFriend(userId, friendId) {
	if (ID == 0) {
		showAccessCard();
		ActionAfterLogin = "acceptAddFriend(" + userId + "," + friendId + ");";
	}
	else
		Members.AddFriend(userId, friendId, onAddFriendComplete, onAddFriendTimeout, onAddFriendError);
}

function onAddFriendComplete(result) {
	if (result) {
		showMessage("successfully added to your friends list", 2);
		location.href = "userprofile.aspx?id=" + ID;
	}
	else
		showMessage("This friend already exists in your contact list", 3);
}

function onAddFriendError(result)
{ }
function onAddFriendTimeout(result)
{ }



// toput in directory.js
var tabDirectoryArray = new Array("overViewTab", "commentsTab", "multimediaTab", "questionsTab", "tagsTab");

function changeDDetailsTab(tabToOpen) {
	if (getItem("SelectedTabName").value != tabToOpen) {
		LoadTabContent(tabToOpen);
		for (var i = 0; i < tabDirectoryArray.length; i++) {
			if (tabDirectoryArray[i] == tabToOpen) {
				getItem("SelectedTabName").value = tabToOpen;
				getItem(tabToOpen).style.display = 'block';
				replaceStyle(tabToOpen + "Link", "selected");
			}
			else {
				getItem(tabDirectoryArray[i]).style.display = 'none';
				replaceStyle(tabDirectoryArray[i] + "Link", "");
			}
		}
	}
}

