
function validate_email(field)
{
	var str = field;

	if (window.RegExp) 
	{
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
		var reg1 = new RegExp(reg1str);
		var reg2 = new RegExp(reg2str);
		
		if (!reg1.test(str) && reg2.test(str)) 
		{
			return true;
		}
		
		return false;
	} 
	else 
	{
		if(str.indexOf("@") >= 0)
		{
			return true;
		}
		
		return false;
	}
}

function refresh_random_text(iframe_name, var_name)
{
	var location_iframe = dir_value+"/captcha/test.php";
	
	if(var_name)
	{
		location_iframe+="?var_name="+var_name;		
	}
	
	if(iframe_name)
	{
		eval("parent.window."+iframe_name).location = location_iframe;
	}
	else
	{
		parent.window.random_text_iframe.location = location_iframe;
	}
}


function set_class_general(element_obj,new_class_name)
{
	element_obj.setAttribute("class", new_class_name);
	element_obj.setAttribute("className", new_class_name);
}


function get_form_values(form_obj)
{
    var i=0
    var ret_string = "";
    
    while(true)
    {
        var cur_element = form_obj.elements[i];
        
        if(!cur_element ) break;
        //alert(cur_element.type);
        switch(cur_element.type)
        {
            case "text":
            case "hidden":
            case "password":
            case "textarea":
                ret_string = ret_string+cur_element.name+"="+(cur_element.value)+"&";
            break;
            
            case "select":
            case "select-one":
                if(cur_element.multiple==true)
                {
                    
                }
                else
                {
                    ret_string = ret_string+cur_element.name+"="+(cur_element.value)+"&";
                }
                
            break;
            
            
            case "radio":
            case "checkbox":
                if(cur_element.checked==true)
                {
                    ret_string = ret_string+cur_element.name+"="+(cur_element.value)+"&";
                }
            break;
        }
        
        i++;
    }
    
    //alert(ret_string);
    
    return ret_string;
}


function order(orderby_var)
{
	 document.form_order.orderby.value = orderby_var;
	 document.form_order.submit();
}

function check_date(date_string)
{
    var original_date_array = date_string.split("-");
    
    var composed_date = new Date();
    
    
    composed_date.setFullYear(original_date_array[2]);
    composed_date.setDate('01');

    composed_date.setMonth((original_date_array[1]-1));

    composed_date.setDate(original_date_array[0]);
/*
    alert(composed_date);
    
    alert ("|"+composed_date.getFullYear() + " " +original_date_array[2]);
    alert ( "|" + composed_date.getMonth()+ " " +(original_date_array[1]-1));
    alert ( "|" + composed_date.getDate()+ " " +original_date_array[0]);
  */      
    if(composed_date.getFullYear()==original_date_array[2] && composed_date.getMonth()==(original_date_array[1]-1) && composed_date.getDate()==original_date_array[0])
    {
        return true;
    }
    else
    {
        return false;
    }
}

//=============================================================================
//Function that trims the text in a textarea or input to the specified length
//==============================================================================

function trim_text(obj,size)
{
	if(obj.value.length>=size)
	{
		obj.value=obj.value.substr(0,size);
	}
}

function trim_count(obj,counter,size)
{
	trim_text(obj,size);
	
	var value=(size-obj.value.length);
	
	//alert(counter.tagName);
	
	switch(counter.tagName.toLowerCase())
	{
	    case "div":
	    case "span":
	       counter.innerHTML = value;
        break;
        
       default:
            counter.value= value;
       break;
	}
}



function set_pages(offset_var, form_name)
{
	
	frm = eval("document."+form_name);
	frm.offset.value = offset_var;

	frm.submit();
}


function getElementHeight(Elem) 
{
    var ns4=false;
    var op5=false;
    
	if (ns4) 
	{
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} 
	else 
	{
		if(document.getElementById) 
		{
			var elem = document.getElementById(Elem);
		} 
		else if (document.all)
		{
			var elem = document.all[Elem];
		}
		
		if (op5) 
		{ 
			xPos = elem.style.pixelHeight;
		} 
		else 
		{
			xPos = elem.offsetHeight;
		}
		
		return xPos;
	} 
}

function getElementWidth(Elem) 
{
    var ns4=false;
    var op5=false;
    
	if (ns4) 
	{
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} 
	else 
	{
		if(document.getElementById) 
		{
			var elem = document.getElementById(Elem);
		} 
		else if (document.all)
		{
			var elem = document.all[Elem];
		}
		
		if (op5) 
		{
			xPos = elem.style.pixelWidth;
		} 
		else 
		{
			xPos = elem.offsetWidth;
		}
		
		return xPos;
	}
}

function set_active_tab(new_selected_tab)
{
    var last_selected_tab = last_tab;
    
    var last_selected_tab_obj = $("tab_"+last_selected_tab);
    
    //alert(last_selected_tab_obj.childNodes[0]);
    
    var available_children = last_selected_tab_obj.getElementsByTagName("td");
    
    set_class_general(available_children[0],"tnsl");
    set_class_general(available_children[1],"tnsm");
    set_class_general(available_children[2],"tnsr");
    
   $("tab_content_"+last_selected_tab).style.display="none";
   $("tab_content_"+new_selected_tab).style.display="block";
    
    var new_selected_tab_obj = $("tab_"+new_selected_tab);
    
    var available_children = new_selected_tab_obj.getElementsByTagName("td");
    
    set_class_general(available_children[0],"tsl");
    set_class_general(available_children[1],"tsm");
    set_class_general(available_children[2],"tsr");
    
    last_tab = new_selected_tab;
    
    return false;
    
}

//==================================================================================================================================
//STARS FUNCTIONS
//==================================================================================================================================

function set_vote_star(star_number)
{
	//var stars_container_page = $("stars_container");

	for(var i=1; i<=star_number; i++)
	{
		var star_page = $("star__"+i);
		set_class_general(star_page,"sbf");		
	}
	
	for(var j=(star_number*1+1); j<=5; j++)
	{
		var star_page = $("star__"+j);
		set_class_general(star_page,"sbe");		
	}
	
	
}

function clear_stars()
{
	var nr_full_stars = parseInt($F("nr_full_stars"));
	var nr_half_stars = parseInt($F("nr_half_stars"));
	var nr_empty_stars = parseInt($F("nr_empty_stars"));
	
	for(var i=1; i<=nr_full_stars; i++)
	{
		var star_page = $("star__"+i);
		set_class_general(star_page,"sbf");	
	}
	
	if(nr_half_stars==1)
	{		
		var star_page = $("star__"+(nr_full_stars+nr_half_stars));
		set_class_general(star_page,"sbh");	
	}
	
	var nr_completed = nr_full_stars+nr_half_stars + 1;
	for(var i=nr_completed; i<=5; i++)
	{
		var star_page = $("star__"+i);
		set_class_general(star_page,"sbe");	
	}
	
}

function add_vote_star(star_number)
{
	var user_id_logged_in = $F("user_id_logged_in");
	if(user_id_logged_in >0)
	{
		var poi_id = $F("poi_id");	
		var region_id = $F("region_id");
		var url = dir_value+"/actions.php";		
		
		var pars = "page_name_page="+page_name_value+"&dir_page="+dir_value+"&action_list=add_poi_vote"+"&user_id="+user_id_logged_in+"&user_rating="+star_number+"&poi_id="+poi_id+"&region_id="+region_id;	
		
		var myAjax = new Ajax.Request( url,
	
												{ method: 'get',
												  parameters: pars,
												  onComplete: add_vote_star_from_server
												}
	
											 );
													  
		
	}
	else
	{
		var add_vote_err_div_page = $("add_vote_err_div");
		add_vote_err_div_page.innerHTML = "Please log in.";
	}	
	
}


function add_vote_star_from_server(originalRequest)
{
	Try.these(
			function () {				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
				
				page_name_value = jsonObject["page_name_value"];
				dir_value = jsonObject["dir_value"];
				action_returned = jsonObject["action_returned"];		
								
				switch(action_returned)
				{
					case "add_poi_vote_not_ok":
						
						$("add_vote_err_div").innerHTML = jsonObject["err_data"]["err_msg"];									
						
					break;
					
					case "add_poi_vote_ok":	
					$("add_vote_err_div").innerHTML = "";	
					var url = dir_value+"/actions.php";
																
					var pars = "page_name_page="+page_name_value+"&dir_page="+dir_value+"&poi_id="+jsonObject["object_data"]["poi_id"]+"&action_list=update_poi_big_stars";			
					var myAjax = new Ajax.Updater("stars_container" , url, { method: 'get',  parameters: pars});
					
					
						
					break;					
						
				}//switch(action_returned)				
								
				
			}//function ()		
			
	);
	
}
//==================================================================================================================================
//==================================================================================================================================


//=========================================================================================================================
function addTag(var1, var2)
{
	 return var2+"&tag_name="+$F("tag_name");
}
//=========================================================================================================================

//=========================================================================================================================
//=========================================================================================================================

function set_action_order_results(page_var, dir_var)
{
	
	var url = dir_value+"/actions.php";
	var pars = "";
	
	var limit = $F("limit");
	var results_nr = $F("results_nr");
	
	var order_by = $F("order_by_form");
	
	
	var order = "ASC";
	
	if(order_by == 'poi_overall_rating')
	{
		order = "DESC";
	}
	
	var pars = "page_name_page="+page_name_value+"&dir_page="+dir_value+"&limit="+limit+"&results_nr="+results_nr+"&offset=1"+"&order_by="+order_by+"&order="+order;

	var pars_content = pars+"&action_list=update_search_results";	
	var myAjax = new Ajax.Updater("search_results_items_div" , url, { method: 'get',  parameters: pars_content, evalScripts: true});
	
	
}

function set_pages_list(page_var, dir_var, new_offset, location_of_script)
{
	var url = dir_value+"/actions.php";
	var pars = "";
	
	var limit = $F("limit");
	var results_nr = $F("results_nr");
	var order_by = $F("order_by_form");
	var order = $F("order");
	
	
	
	var pars = "page_name_page="+page_name_value+"&dir_page="+dir_value+"&limit="+limit+"&results_nr="+results_nr+"&offset="+new_offset+"&order_by="+order_by+"&order="+order;

	var pars_content = pars+"&action_list=update_search_results";	
	var myAjax = new Ajax.Updater("search_results_items_div" , url, { method: 'get',  parameters: pars_content, evalScripts: true});
	
	
	/*
	if(location_of_script=='update_search')
	{
			
	}
	else
	{
		//la paginare
		var myAjax = new Ajax.Updater("search_results_items_div" , url, { method: 'get',  parameters: pars_content, onComplete:set_pages_list_after_redo_search(new_offset) });	
	}
	*/
	
	
	
	/*
	var pars_pages = pars+"&action_list=update_pages_results";	
	var myAjax = new Ajax.Updater("pages_bottom_container" , url, { method: 'get',  parameters: pars_pages, evalScripts: true });			
	var myAjax = new Ajax.Updater("pages_top_container" , url, { method: 'get',  parameters: pars_pages, evalScripts: true });			
	
	

	var pars_title = pars+"&action_list=update_title_search_results";
	var myAjax = new Ajax.Updater("search_results_top_title" , url, { method: 'get',  parameters: pars_title });
	*/
	
}


function set_pages_list_after_redo_search(new_offset)
{
	//alert("oncomplete");
	
	var url = dir_value+"/actions.php";	
	
	var limit = $F("limit");
	
	//var results_nr = $F("results_nr");
	
	var order_by = $F("order_by_form");
	var order = $F("order");
	
	//alert(results_nr);
	
	var pars = "page_name_page="+page_name_value+"&dir_page="+dir_value+"&limit="+limit+"&results_nr="+results_nr+"&offset="+new_offset+"&order_by="+order_by+"&order="+order;
	
	
	var pars_pages = pars+"&action_list=update_pages_results";	
	var myAjax = new Ajax.Updater("pages_bottom_container" , url, { method: 'get',  parameters: pars_pages, evalScripts: true });			
	var myAjax = new Ajax.Updater("pages_top_container" , url, { method: 'get',  parameters: pars_pages, evalScripts: true });			
	
	

	var pars_title = pars+"&action_list=update_title_search_results";
	var myAjax = new Ajax.Updater("search_results_top_title" , url, { method: 'get',  parameters: pars_title });
	
	show_markers();
	
	//alert(page_name_value);
	//;	
}

function update_refine_div()
{
	$("refine_search_results_top_div").style.display = "block";
	$("tag_filters_container_div").style.display = "block";
	var url = dir_value+"/actions.php";	

	
	var pars = "page_name_page="+page_name_value+"&dir_page="+dir_value+"&action_list=calculate_and_draw_filters";
	
	var myAjax = new Ajax.Updater("tag_filters_container_div" , url, { method: 'get',  parameters: pars });
	
}


function set_action_change_refine_type(poi_search_type)
{
	
	var current_poi_search_type = $F("poi_search_type");
	
	var current_poi_div = $("div_container_"+current_poi_search_type);		
	set_class_general(current_poi_div,"refine_div");
	
	var new_poi_search_type_div = $("div_container_"+poi_search_type);
	set_class_general(new_poi_search_type_div, "refine_div_selected");
	
	
	$("poi_search_type").value = poi_search_type;
	
	var url = dir_value+"/actions.php";	
	var pars = "page_name_page="+page_name_value+"&dir_page="+dir_value+"&action_list=refine_search"+"&poi_search_type="+poi_search_type;	
	
	var myAjax = new Ajax.Request( url,

											{ method: 'get',
											  parameters: pars,
											  onComplete: set_filter_tag_from_server
											}

										 );
										 
}

function set_filter_tag(new_tag_id, new_tag_name, filter_add_var)
{
	var url = dir_value+"/actions.php";		
	
	
	var pars = "page_name_page="+page_name_value+"&dir_page="+dir_value+"&action_list=refine_search"+"&new_tag_id="+new_tag_id+"&new_tag_name="+new_tag_name+"&filter_add_var="+filter_add_var;
	
	
	var myAjax = new Ajax.Request( url,

											{ method: 'get',
											  parameters: pars,
											  onComplete: set_filter_tag_from_server
											}

										 );
										 

										 	
}

function set_filter_tag_from_server(originalRequest)
{
	Try.these(
			function () {				
				
				var jsonObject = eval('(' + originalRequest.responseText + ')');				
				
				page_name_value = jsonObject["page_name_value"];
				dir_value = jsonObject["dir_value"];
				action_returned = jsonObject["action_returned"];
				
				//var register_form_err_div_page = $("register_form_err_div");
				
				switch(action_returned)
				{
					case "refine_search_ok":
						//Effect.toggle('tag_filters_container_div','slide');
						$('tag_filters_container_div').innerHTML = '';
						$("refine_search_results_top_div").style.display = "none";
						$("tag_filters_container_div").style.display = "none";
						set_pages_list(page_name_value, dir_value, 1, 'update_search');
					break;
						
				}//switch(action_returned)
				
								
				
			}//function ()			
			
			
	);
	
}

function close_refine_overlay()
{
	$("refine_search_results_top_div").style.display = "none";
	$("tag_filters_container_div").style.display = "none";
}

//=========================================================================================================================
//=========================================================================================================================

function set_destination_tag(tag_name)
{
	$("search_tag_name").value = tag_name;
}

