function MM_openBrWindow(theURL,winName,features)
{
  window.open(theURL,winName,features);
}


function was_rated(jokes_key, jokes_rate, returned_average)
{
	dom_toggle_element("ratemenu" + jokes_key, false);
	dom_toggle_element("hide_rate" + jokes_key, true);
	jokes_rating_pic = document.getElementById("jokes_rating_pic" + jokes_key);
	jokes_rating_pic.src = PATH + "/img/site/rating/bar_" + Math.ceil(returned_average) + ".gif";
}

function form_set_select_id(sel_id, form_name, sel_index) 
{
	var obj = dom_get_element(sel_id);
	var sel_length = obj.length;
	for (optionCounter = 0; optionCounter < sel_length; optionCounter++) 
	{
		if (obj.options[optionCounter].value == sel_index)
		{
			obj.selectedIndex = optionCounter;
		}
	}
}

function CounterText(field, cntfield, maxlimit) 
{
	var obj_field = dom_get_element(field);
	var obj_cntfield = dom_get_element(cntfield);
	if (obj_field.value.length > maxlimit)
	{
        	obj_field.value = obj_field.value.substring(0, maxlimit);
	}
   	else 
	{
       		obj_cntfield.value = maxlimit - obj_field.value.length;
   	}
}

function MM_swapImgRestore()
{ 
	//v3.0
        var i, x, a = document.MM_sr;
        for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) 
	{
                x.src = x.oSrc;
        }
}

function MM_preloadImages()
{ 
	//v3.0
        var d = document;
        if (d.images) 
	{
		if (!d.MM_p) 
		{
                        d.MM_p = new Array();
                }
                var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
                for (i = 0; i < a.length; i++)
		{
                        if (a[i].indexOf("#") != 0) 
			{
                                d.MM_p[j] = new Image;
                                d.MM_p[j++].src = a[i];
                        }
                }
        }
}

function MM_findObj(n, d)
{ 
	//v4.01
        var p, i, x;
        if (!d) 
	{
                d = document;
        }
        if ((p = n.indexOf("?")) > 0 && parent.frames.length) 
	{
                d = parent.frames[n.substring(p + 1)].document;
        	n = n.substring(0, p);
        }
        if (!(x = d[n]) && d.all) 
	{
        	x = d.all[n];
        }
        for (i = 0; !x && i < d.forms.length; i++) 
	{
                x = d.forms[i][n];
        }
        for (i = 0; !x && d.layers && i < d.layers.length; i++) 
	{
                x = MM_findObj(n, d.layers[i].document);
        }
        if (!x && d.getElementById) 
	{
                x = d.getElementById(n);
        }
        return x;
}

function MM_swapImage()
{ 
	//v3.0
        var i, j = 0, x, a = MM_swapImage.arguments;
        document.MM_sr = new Array;
        for (i = 0; i < (a.length - 2); i += 3) 
	{
                if ((x = MM_findObj(a[i])) != null) 
		{
			document.MM_sr[j++] = x;
                        if (!x.oSrc) 
			{
				x.oSrc = x.src;
                        }
                        x.src = a[i + 2];
                 }
        }
}

function go_register()
{
	var register_link = do_link("user.inregistrare", "");
	registration_win = window.open(register_link, "Inregistrare");
	registration_win.focus();
}

function set_smiley(text_area, add_smiley)
{
	eval(text_area + ".value = " + text_area + ".value + ' " + add_smiley + " ';");
	eval(text_area + ".focus();");
}

function populate_cities(form_name, select_name_states, select_name_cities) 
{
	state_selection = eval("document." + form_name + "." + select_name_states + ".options[document." + form_name + "." + select_name_states + ".selectedIndex].value");
	var url = do_link("site.remote", "request=cities&fk_states=" + state_selection);
	
	remote_data_request(url, "", "populate_cities_data('" + form_name + "', '" + select_name_states + "', '" + select_name_cities + "')");
	
	document.forms[form_name].elements[select_name_cities].options.length = 0;
	document.forms[form_name].elements[select_name_cities].options[0] = new Option("Loading ...", 0);
	document.forms[form_name].elements[select_name_cities].disabled = true;
}

function populate_cities_data(form_name, select_name_states, select_name_cities) 
{
	document.forms[form_name].elements[select_name_cities].disabled = false;
	document.forms[form_name].elements[select_name_cities].options[0] = new Option("--------------", 0);
	idx = 0;
	for (var i in remote_res_cities) 
	{
		if (remote_res_cities[i] != "") 
		{
			idx ++;
			document.forms[form_name].elements[select_name_cities].options[idx] = new Option(unescape(remote_res_cities[i]), i);
		}
	}
}

function populate_states(form_name, select_name_country, select_name_states, select_name_cities) 
{
	country_selection = eval("document." + form_name + "." + select_name_country + ".options[document." + form_name + "." + select_name_country + ".selectedIndex].value");
	var url = do_link("site.remote", "request=states&fk_countries=" + country_selection);

	remote_data_request(url, "", "populate_states_data('" + form_name + "', '" + select_name_country + "', '" + select_name_states + "')");

	document.forms[form_name].elements[select_name_states].options.length = 0;
	document.forms[form_name].elements[select_name_states].options[0] = new Option("Loading ...", 0);
	document.forms[form_name].elements[select_name_states].disabled = true;
	document.forms[form_name].elements[select_name_cities].options.length = 0;
	document.forms[form_name].elements[select_name_cities].options[0] = new Option("-------", 0);
	document.forms[form_name].elements[select_name_cities].disabled = true;
}

function populate_states_data(form_name, select_name_country, select_name_states) 
{
	document.forms[form_name].elements[select_name_states].disabled = false;
	document.forms[form_name].elements[select_name_states].options[0] = new Option("--------------", 0);
	idx = 0;	
	for (var i in remote_res_states) 
	{
		if (remote_res_states[i] != "") 
		{
			idx ++;
			document.forms[form_name].elements[select_name_states].options[idx] = new Option(unescape(remote_res_states[i]), i);
		}
	}
}

function perform_action (p_action, p_key, p_receiver_username, p_return, p_vote) 
{
	if (p_action == "rate") 
	{
		var url = do_link("site.remote", "_relation=" + p_action + "&fk_profile_receiver=" + p_receiver + "&vote=" + p_vote);
	}
	else
	{
		var url = do_link("site.remote", "_relation=" + p_action + "&fk_profile_receiver=" + p_receiver + "&logins_username=" + p_receiver_username + "&_return=" + p_return);
	}
	remote_data_request(url, "", "get_action_response('" + p_response  + "')");
}

var EL_VISIB = new Array();

function dom_toggle_element(el, visible)
{
	visible = (visible != false && visible != true) ? (EL_VISIB[el] ? false : true) : visible;
	var el_handle = dom_get_element(el);

	if (el_handle) 
	{
		if (!visible) 
		{
			el_handle.style.display = 'none';
		}
		else if (visible) 
		{
			el_handle.style.display = '';
		}
		EL_VISIB[el] = visible;
	}
}

function dom_get_element(id)
{
	var obj;
        if (document.all) 
	{
                eval('obj = document.all("' + id + '")');
        }
        else if (document.layers) 
	{
                eval('obj = document.layers["' + id + '"]');
        }
        else if (document.getElementById) 
	{
                eval('obj = document.getElementById("' + id + '")');
        }
        
	return obj;
}

function getObjByName(name,doc) 
{
	var o = 0;
  	if(!doc) 
	{
  		doc = document;
  	}
  	if(doc[name]) 
	{
  		o=doc[name];
  	}
  	if(document.all && doc.all[name]) 
	{
  		o=doc.all[name];
  	}
  	if(o) 
	{
    		if(!o.getElementsByTagName) 
		{
    			o.getElementsByTagName = getElementsArray;
    		}
    		return o;
  	}
  	if(document.layers) 
	{
    		for(var i=0; i < doc.layers.length; i++)
		{
      			var lyrdoc = doc.layers[i].document;
      			if(lyrdoc[name]) 
			{
      				return lyrdoc[name];
      			}
      			if(lyrdoc.layers.length > 0) 
			{
       				var o = getObjByName(name,lyrdoc);
       				if(o) 
				{
      					return o;
       				}
      			}
    		}
  	}
  	return 0;
}