ilook_search_ads = {

	opened_boxes: new Array,

	search: function(catSelectObj) {

		if(catSelectObj.parentNode.id != 'categorysBlock_clone') {
			catSelectObj.parentNode.id = "categorysBlock_clone";
		}

		if(catSelectObj.id == 'category_0_first') {
			catSelectObj.id = 'category_0';
		}

		var curParendID = catSelectObj.options[catSelectObj.selectedIndex].value;
		if(!curParendID) return;

		var curParentAds = ads_arr[curParendID];
		// Check name
		var symPos 		    = catSelectObj.id.indexOf('_');
		var nextSelectSeqId = 1;

		if(symPos != -1) {
			currentSelectSeqId = parseInt(catSelectObj.id.substr(symPos + 1));
			nextSelectSeqId    = currentSelectSeqId + 1;
		}

		if(!curParentAds) {
			if(document.adsForm != undefined && document.adsForm.categoryAction!= undefined  &&           document.adsForm.categoryAction.value == 'select'){
                document.adsForm.category.value=curParendID;
                //alert("Изменено! Не забудьте сохранить объявление.");
                document.adsForm.submit();
            }else{
                window.location='/index.php?option=com_adsman&task=new&cat=' + curParendID;
            }
			return;
		}

		var currentSelectBox = document.getElementById('category_' + nextSelectSeqId);

		// Remove Old next select
		if(currentSelectBox) {
			currentSelectBox.innerHTML = '';
			// Remove all next select boxes
			this.removeNextBoxes(nextSelectSeqId);
		}else {
			var currentSelectBox = document.createElement("SELECT");
			currentSelectBox.id  = 'category_' + nextSelectSeqId;
			currentSelectBox.className = 'inputbox';
			currentSelectBox.onchange  = function() {try{ilook_search_ads.search(this);}catch(e){alert(e)}};
			document.getElementById('categorysBlock_clone').appendChild(currentSelectBox);
			this.opened_boxes.push(nextSelectSeqId);
		}
		var newOption = new Option('Выберите категорию', 0, false, true);
		newOption.id  = 'selOptionID_' + nextSelectSeqId + '_' + 0;
		newOption.selected = true;

		currentSelectBox.options[currentSelectBox.options.length] = newOption;

		for( idx in curParentAds ) {
			if (parseInt(idx).toString() == "NaN") continue;

			var newOption = new Option(curParentAds[idx].name, curParentAds[idx].id, false, true);
			newOption.id  = 'selOptionID_' + curParentAds[idx].id;

			currentSelectBox.options[currentSelectBox.options.length] = newOption;
		}
		if(curParentAds.length == 1){
			currentSelectBox.className = 'inputbox hide';
			currentSelectBox.selectedIndex = 1;
			try{ilook_search_ads.search(currentSelectBox);}catch(e){alert(e)}
		}else{
			currentSelectBox.selectedIndex = 0;
		}

	},


	removeNextBoxes: function(nextSelectSeqId) {

		// Remove all next select boxes
		var opened_boxes_cnt = this.opened_boxes.length;

		for(var i = 0; i < opened_boxes_cnt; i++) {

			if(this.opened_boxes[i] > nextSelectSeqId) {

				var nextSelextBox = document.getElementById('category_' + this.opened_boxes[i]);

				if(nextSelextBox) {
					nextSelextBox.parentNode.removeChild(nextSelextBox);
				}

				this.opened_boxes[i] = 0;
			}
		}
	}

}


ilookAdsFormValidator = {

	inputs_for_validation: new Array,
	inputs_for_errors: new Array,

	init: function(input_lists) {
		this.inputs_for_validation = input_lists;
	},

	addFields: function(input_lists) {
		var inp_lists_len = input_lists.length;

		for(var i = 0; i < inp_lists_len; i++) {
			this.inputs_for_validation.push(input_lists[i]);
		}
	},


	clearFormErrors: function() {
		var arrLen = this.inputs_for_errors.length;
		for(var i = 0; i < arrLen; i++) {
			var item_id = '#' + this.inputs_for_errors[i];
			$(item_id).removeClass('inp_failed');
		}
		this.inputs_for_errors = new Array;
		$('#edit_add_form_errors').text();
		$('#edit_add_form_errors').hide();
	},

	validate: function(formObj) {

		this.clearFormErrors();

		var inputs     = this.inputs_for_validation;
		var inp_length = inputs.length;
		var is_error   = false;
		for(var i = 0; i < inp_length; i++) {
			var cur_inp = formObj[inputs[i]];
			if(cur_inp && !cur_inp.value) {
				if(cur_inp.name) {
					if($('#label_for_' + cur_inp.name)) {
						var cur_title = $('#label_for_' + cur_inp.name).html();
						cur_title = cur_title.replace('&nbsp;', '');
						$('#label_for_' + cur_inp.name).addClass('inp_failed');
						this.inputs_for_errors.push('label_for_' + cur_inp.name);
					}else {
						var cur_title = cur_inp.name;
						if(cur_title) {
							alert("Поле '" + cur_title + "' обязательное.");
						}
					}
					is_error = true;
				}
			}
		}

		if(!this.validatePhones(formObj)) {
			$('#label_for_phones').addClass('inp_failed');
			this.inputs_for_errors.push('label_for_phones');
			is_error = true;
		}

		if(is_error) {
			$('#edit_add_form_errors').show();
			$('#edit_add_form_errors').text('Обязательные поля не заполнены');
		}else {
			document.forms.adsForm.submit();
		}
	},

	validatePhones: function(formObj) {
		if(formObj.elements["phone[]"] && formObj.elements["phone[]"].value == 'Информация') {
			return false;
		}
		return true;
	}
}





function _sendAuthRequest(formObj, ajax_url_user_login) {

	$('.login_error_message').each(function() {
		$(this).html('<b>Вход</b>');
	});

	var form_vars = {username: formObj.username.value, passwd: formObj.passwd.value, option: formObj.option.value, task: formObj.task.value};

	jQuery.post(formObj.action, form_vars,
	  function(data){

		if(data == 'true') {
			$('a#create_new_ad_lnk').attr('href', '#mooPopUpDivCatThree');
			$('a#create_new_ad_lnk').click();
		}else {
			try {
				$('.login_error_message').each(function() {
					$(this).html('Неверный логин или пароль');
					$(this).show();
				});
			}catch(e) {alert(e)}

		}
	});
}



var rowStyle = 0;
var S_valuesCounter = 0;

function addListValue() {

	try {

		S_valuesCounter ++;

		var opttypes = document.createElement("td");
		opttypes.innerHTML = '<input type="text" class="_phone_desc_inp text_area" name="phone_desc[]" value="Описание" onfocus="if(this.value==\'Описание\')this.value=\'\'" maxlength="150"/>';

		var optnames = document.createElement("td");
		optnames.innerHTML = '<input type="text" class="_phone_inp text_area" name="phone[]" value="Телефон" onfocus="if(this.value==\'Телефон\')this.value=\'\'" maxlength="150"/>';


		var delValue = document.createElement("td");
		delValue.innerHTML = '<a class="control_button control_button_small" href="javascript:removeListValue(' + S_valuesCounter + ')">X</a>';
		//delValue.innerHTML = '<input type="button" onclick="removeListValue(' + S_valuesCounter + ');" class="button" value="-"/>';

		var row = document.createElement("tr");
		var id =  document.createAttribute("id");
		id.nodeValue = "listOption_" + S_valuesCounter;
		row.setAttributeNode(id);
		row.appendChild(opttypes);
		row.appendChild(optnames);
		row.appendChild(delValue);
		row.className = "row" + rowStyle;
		var listValues = document.getElementById("listValues");

		listValues.appendChild(row);
		rowStyle = rowStyle ? 0: 1;
	}catch(e) {
		alert(e);
	}

}

function removeListValue(id) {
	document.getElementById("listOption_" + id).parentNode.removeChild(document.getElementById("listOption_" + id));
}

function build_first_level_cat_three() {
	try {
		var FirstLevelCats = ads_arr[0];
		var arr_len = FirstLevelCats.length;
		var cat_first = document.getElementById('category_0_first');
		for(var i = 0; i < arr_len; i++) {
			var newOption = new Option(FirstLevelCats[i].name, FirstLevelCats[i].id, false, false);
			newOption.id  = 'selOptionID_' + FirstLevelCats[i].id;
			cat_first.options[cat_first.options.length] = newOption;
		}
	}catch(e) {
		alert(e)
	}
}

function checkInputDigits(evt) {

	evt = (evt) ? evt : ((window.event) ? event : null);
	if (evt) {
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		if (elem) {
			var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
			/* tab/enter */
			if(charCode == 9 || charCode == 13) {
				return true;
			}else if ((charCode < 32 ) || (charCode > 44 && charCode < 47) || (charCode > 47 && charCode < 58)) {
				return true;
			} else {
				return false;
			}
		}
	}
}

