function toggle_block_visibility(elem_id, e, move_left, move_down){
	var elem = document.getElementById(elem_id);
	if(move_left == undefined){
		move_left = 0;
	}
	
	if(move_down == undefined){
		move_down = 0;
	}
	var ua = window.navigator.userAgent.toLowerCase();
	if (ua.indexOf('msie') != -1){
		if(e != undefined){
			//alert(e.clientX + ' : ' + e.clientY);
			xcoord = e.clientX + move_left;
			ycoord = e.clientY + move_down;
			if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		        //IE 4, 5 & 6 (in non-standards compliant mode)
		        xcoord += document.body.scrollLeft;
		        ycoord += document.body.scrollTop;
		      } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		        //IE 6 (in standards compliant mode)
		        xcoord += document.documentElement.scrollLeft;
		        ycoord += document.documentElement.scrollTop;
		      }
			//elem.style.left = e.clientX +'px';
			elem.style.left = xcoord +'px';
			//elem.style.top = e.clientY +'px';
			elem.style.top = ycoord +'px';
		}
		elem.style.display = (elem.style.display=='none' || elem.style.display == '')?'inline':'none';
	} else {
		if(e != undefined){
			elem.style.left = (e.pageX+move_left)+'px';
			elem.style.top = (e.pageY+move_down)+'px';
		}
		elem.style.display = (elem.style.display=='none' || elem.style.display == '')?'block':'none';
	}
	return false;
}

function confirm_delete(msg, item_id, elem_id, form_id){
	if(confirm(msg)){
		document.getElementById(elem_id).value = item_id;
		document.getElementById(form_id).submit();
	}
}

function toggle_sngl_row_visible(elem_id1){
	var elem1 = document.getElementById(elem_id1);
	var ua = window.navigator.userAgent.toLowerCase();
	if (ua.indexOf('msie') != -1){
		elem1.style.display = (elem1.style.display == '' || elem1.style.display == 'none')?'inline':'none';
	} else {
		elem1.style.display = (elem1.style.display == '' || elem1.style.display == 'none')?'table-row':'none';
	}
}

function toggle_row_visible(elem_id1, elem_id2){
	var elem1 = document.getElementById(elem_id1);
	var elem2 = document.getElementById(elem_id2);
	var ua = window.navigator.userAgent.toLowerCase();
	if (ua.indexOf('msie') != -1){
		elem1.style.display = 'none';
		elem2.style.display = 'inline';
	} else {
		elem1.style.display = 'none';
		elem2.style.display = 'table-row';
	}
}

function setEditable(iObj, default_value){
	if(default_value != undefined && iObj.value == default_value){
		iObj.value = '';
	}
	iObj.readOnly = false;
	iObj.className = 'symple';
}

function setDisEditable(iObj, default_value){
	if(default_value != undefined && iObj.value == ''){
		iObj.value = default_value;
	}
	iObj.readOnly = true;
	iObj.className = 'symple_ro';
}

function set_val_desc_and_rate(val_val, val_desc, val_rate, elem_prefix){
	document.getElementById(elem_prefix + '_id').value = val_val;
	document.getElementById(elem_prefix + '_dsc').value = val_desc;
	document.getElementById(elem_prefix + '_rate').value = val_rate;
	
	document.getElementById(elem_prefix + '_frm').submit();
}

function remove_table_cell(row_id, cell_id){
	var rowObj = document.getElementById(row_id);
	var cellObj = document.getElementById(cell_id);
	
	rowObj.deleteCell(cellObj.cellIndex);
}

function remove_table_row(row_id, tbl_id){
	var rowObj = document.getElementById(row_id);
	var tblObj = document.getElementById(tbl_id);
	
	tblObj.deleteRow(rowObj.rowIndex);
}

function is_ie(){
	var ua = window.navigator.userAgent.toLowerCase();
 	if (ua.indexOf('msie') != -1){
		return true;
	} else {
		return false;
	}
}

function showReachArea(tr_holder_id1, area_elem_id, tr_holder_id2, td_elem_id){
	//document.getElementById(area_elem_id).value = document.getElementById(td_elem_id).innerHTML;
	//tinyMCE.setContent(document.getElementById(td_elem_id).innerHTML);
	document.getElementById(tr_holder_id2).style.display = 'none';
	if(is_ie()){
		document.getElementById(tr_holder_id1).style.display = 'inline';
	} else {
		document.getElementById(tr_holder_id1).style.display = 'table-row';
	}
	
	var theFrame = tinyMCE.getInstanceById('elm2_raw_info');

	if(theFrame.contentDocument) {
		Event.observe(theFrame.contentDocument, 'blur', showReachTd);
	} else {
		Event.observe(theFrame, 'blur', showReachTd);
	}
}

//function showReachTd(tr_holder_id1, area_elem_id, tr_holder_id2, td_elem_id){
function showReachTd(){
	//alert('1'); return;
	//document.getElementById('prf_raw_info_td_td').innerHTML = document.getElementById('elm2_raw_info').value;
	document.getElementById('prf_raw_info_td_td').innerHTML = tinyMCE.getContent('elm2_raw_info');
	document.getElementById('prf_raw_info_tr_area').style.display = 'none';
	if(is_ie()){
		document.getElementById('prf_raw_info_tr_td').style.display = 'inline';
	} else {
		document.getElementById('prf_raw_info_tr_td').style.display = 'table-row';
	}
}

function init_menu(div_id, photo_id, e){
	var elem = document.getElementById(div_id);
	if(elem.style.display=='none' || elem.style.display == ''){
		elem._current_id = photo_id;
		toggle_block_visibility(div_id, e, 10);
	} else {
		toggle_block_visibility(div_id, e);
		if(elem._current_id != undefined && elem._current_id != photo_id){
			elem._current_id = photo_id;
			toggle_block_visibility(div_id, e, 10);
		}
	}
}

function check_all(ch_obj){
	var form_obj = ch_obj.form;
	for(var i = 0; i < form_obj.elements.length; i++){
		if(form_obj.elements[i].type == 'checkbox' && form_obj.elements[i].id != ch_obj.id){
			form_obj.elements[i].checked = ch_obj.checked;
		}
	}
}

function setRatingValue(elem_value, c_rate){
	alert(elem_value + ' ' + c_rate);
}

function parse_rate_response(response){
	if(response != undefined && response){
		if(response.length != 0){
			if(response['result'] != undefined){
				var msg = response['result'] + ' ';
				if(response['msg'] != undefined){
					msg += response['msg'];
				}
				alert(msg);
			}
		}
	}
}

function myErrorHandler(error_msg){	
	alert(error_msg);
	window.location.reload();
}

function ajax_rate_photo(ajax_obj, photo_id, v_value){
	if(ajax_obj != undefined && ajax_obj != null){
		ajax_obj.callSmth('photoRatePhoto' , photo_id , v_value,  ajax_rate_photo.arguments );
	} else {
		alert('Внутрення Ошибка! Пожалуйста скажите о ней нам!!!');
	}
}

function change_rate(ajax_obj, photo_id, holder_id, rate_value_minus_holder, rate_value_plus_holder, change_value){
	var elem = document.getElementById(holder_id);
	var value = parseInt(elem.innerHTML);
	if(!isNaN(value)){
		value += parseInt(change_value);
		elem.innerHTML = value;
		clear_rate_widgets(rate_value_minus_holder, rate_value_plus_holder);
		ajax_rate_photo(ajax_obj, photo_id, 1, parse_rate_response);
		if(value > 0){
			elem.className = 'td_rating_b';
		}
		else if(value < 0){
			elem.className = 'td_rating_l';
		}
		else if(value == 0){
			elem.className = 'td_rating';
		}
	} else {
		alert('Ошибка!');
	}
}

function clear_rate_widgets(rate_value_minus_holder, rate_value_plus_holder){
	var elem1 = document.getElementById(rate_value_minus_holder);
	if(elem1 != undefined && elem1.innerHTML != undefined){
		elem1.innerHTML = "";
	}
	var elem2 = document.getElementById(rate_value_plus_holder);
	if(elem2 != undefined && elem2.innerHTML != undefined){
		elem2.innerHTML = "";
	}
}

function to_quicklist(ajax_obj, user_id){
	if(ajax_obj != undefined && ajax_obj != null){
		ajax_obj.callSmth('qlAddToList' , user_id , '1',  to_quicklist.arguments );
	} else {
		alert('Внутрення Ошибка! Пожалуйста скажите о ней нам!!!');
	}
}

function view_response(response){
	//alert(1);
	if(response != undefined && response){
		if(response.length != 0){
			if(response['msg'] != undefined){
				alert(Utf8.decode(response['msg']));
				//alert(response['msg']);
			}
		}
	}
}

function ajax_get_list_data(ajax_obj, action){
	if(ajax_obj != undefined && ajax_obj != null){
		ajax_obj.callSmth(action , '1' , '1',  ajax_get_list_data.arguments );
	} else {
		alert('Внутрення Ошибка! Пожалуйста скажите о ней нам!!!');
	}
}

function bind_list_data(response){
	var list_obj = document.getElementById('fav_fold_list');
	list_obj.disabled = true;
	destroy_all_options(list_obj, 'Loading...');
	if(response != undefined && response){
		if(response.length != 0){
			var j = 1;
			list_obj.options[0] = new Option('/',0);
			for(var i in response){
				list_obj.options[j] = new Option(Utf8.decode(response[i]),i);
				j++;
			}
		}
		list_obj.disabled = false;
	} else {
		alert('Unknown Error!');
	}
}

function destroy_all_options(selObj, empty_var){
	while(selObj.options.length) {
		selObj.options[selObj.options.length-1] = null;
	}
	if(empty_var != ''){
		selObj.options[0] = new Option(empty_var,0);
	}
	selObj.disabled = true;
}

function add_to_favorite(butObj, ajax_obj, event, fav_fold_list, fav_fold_name, fav_name, fav_rate){
	butObj.disabled = true; 
	
	var fav_fold = document.getElementById(fav_fold_list);
	var fav_nfold_name = document.getElementById(fav_fold_name);
	var fav_name = document.getElementById(fav_name);
	var fav_rate = document.getElementById(fav_rate);
	
	if(fav_fold != undefined && fav_nfold_name != undefined && fav_name != undefined && fav_rate != undefined){
		var sFav_fold = fav_fold.value;
		var sFav_nfold_name = fav_nfold_name.value;
		var sFav_name = fav_name.value;
		var sFav_rate = fav_rate.value;
		
		ajax_set_favorite(ajax, sFav_fold, sFav_nfold_name, sFav_name, sFav_rate, view_response); 
	} else {
		alert('Системная ошибка!');
	}
	
	butObj.disabled = false; 
	toggle_block_visibility('favorites_div', event); 
	destroy_all_options(document.getElementById('fav_fold_list'), '');
}

function ajax_set_favorite(ajax_obj, fav_fold_list, fav_fold_name, fav_name, fav_rate){
	fav_name = Utf8.encode(fav_name);
	fav_fold_name = Utf8.encode(fav_fold_name);
	if(ajax_obj != undefined && ajax_obj != null){
		var uri = window.location.href;
		var params = new Array(	'fav_fold_list=' + escape(fav_fold_list), 
								'fav_fold_name=' + escape(fav_fold_name), 
								'fav_name='+escape(fav_name), 
								'fav_rate='+escape(fav_rate), 
								'fav_uri=' + escape(uri)
							);
		var str_to_call = params.join("&");
		ajax_obj.callStr('favAddToFav' , str_to_call,  ajax_set_favorite.arguments );
	} else {
		alert('Внутрення Ошибка! Пожалуйста скажите о ней нам!!!');
	}
}

function select_all_checkboxes(parent_obj, field_name){
	var frm_obj = document.getElementById('cool_form');
	//alert(frm_obj.elements[field_name].value);
	if(frm_obj.elements[field_name] != undefined){
		if(frm_obj.elements[field_name].length != undefined){
			for(var i = 0; i < frm_obj.elements[field_name].length; i++){
				if(frm_obj.elements[field_name][i].checked != undefined){
					frm_obj.elements[field_name][i].checked = parent_obj.checked;
				}
			}
		} else {
			frm_obj.elements[field_name].checked = parent_obj.checked;
		}
	}
}

function change_visible_type(holder_id, type){
	var tableObj = document.getElementById(holder_id);
	if(tableObj != undefined){
		if(type == 1){
			tableObj.className = 'show_short_view';
		} else {
			if(is_ie()){
				tableObj.className = 'show_detail_view';
			} else {
				tableObj.className = 'show_detail_view';
			}
		}
	} else {
		alert('System error!');
	}
}

function internalLoadImage(canv_id, img_id, url){
	$(img_id).hide();
	$('loading_' + canv_id).show();
	
	var img = new Image();
	
	Event.observe( 
		img, 
		'load', 
		function() { 
			$(img_id).src = img.src;
			$(canv_id).style.height = img.height + "px";
			$('loading_' + canv_id).hide();
			$(img_id).show();
		}
	);
	
	img.src = url;
}
