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, minlimit) {
	
	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);
			obj_cntfield.className = "ok_quest_input";
	}
   	else {
   		if (obj_field.value.length >= minlimit){
   			obj_cntfield.value = maxlimit - obj_field.value.length;
   			obj_cntfield.className = "ok_quest_input";
   		}
   		else {
   			obj_cntfield.value = minlimit - obj_field.value.length;
   			obj_cntfield.className = "error_quest_input";
   		}
   	}
}


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;
	
	if (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("-------", 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  + "')");
		
}


//BEGIN QUICK REGISTRATION FUNCTIONS
function build_popup_window(mode) {

	var positionStyle;
	
	// get position style for different browsers
	if (is_ie) {
		positionStyle = "absolute";
	}
	else {
		positionStyle = "fixed";
	}
	
	// get screen dimensions 
	var screenWidth = window.innerWidth ? window.innerWidth : document.body.offsetWidth;
	var screenHeight = window.innerHeight ? window.innerHeight : document.body.offsetHeight;
	
	// get page dimensions
	var pageHeight = document.body.scrollHeight;
	var pageWidth = document.body.scrollWidth;
	
	// get coordonates for center
	var coordCenterH = Math.round(screenWidth/2);
	var coordCenterV = Math.round(screenHeight/2);
	
	// get left & top position for registration box
	var BoxWidth, BoxHeight;
	var BoxLeft = coordCenterH - Math.round(500/2);
	var BoxTop = coordCenterV - Math.round(350/2) - 50;
	
	// create a div to block the screen
	var BoxLocker = document.createElement("div");
	document.body.appendChild(BoxLocker);
	BoxLocker.innerHTML = '<div id="BoxLocker" style="position: absolute; top: 0px; left: 0px; width: ' + pageWidth + 'px; height: ' + pageHeight + 'px; background: #567098; filter:alpha(opacity=50); -moz-opacity:0.5; opacity: 0.5;"></div>';
	BoxLocker = document.getElementById("BoxLocker");
	
	// create a div to hold the registration box
	var BoxHolder = document.createElement("div");
	document.body.appendChild(BoxHolder);
	BoxHolder.innerHTML = '<div id="BoxHolder" style="position: absolute; top: 0px; left: 0px; width: 0px; height: 0px; background: #ffffff;"></div>';
	BoxHolder = document.getElementById("BoxHolder");
	
	if (mode == "quick_register") {
	
		// place the registration box inside the container
		var  quick_register_container = document.getElementById("quick_register_container");
		BoxHolder.appendChild(quick_register_container);
		
		// display the registration box in the middle of the screen
		quick_register_container = document.getElementById("quick_register_container");
		quick_register_container.style.display = "";
		quick_register_container.style.pixelLeft = BoxLeft;
		quick_register_container.style.pixelTop = BoxTop;
		quick_register_container.style.position = positionStyle;
		
	}
	else if (mode == "empty_username") {
	
		// place the registration box inside the container
		var  empty_username_container = document.getElementById("empty_username_container");
		BoxHolder.appendChild(empty_username_container);
		
		// display the registration box in the middle of the screen
		empty_username_container = document.getElementById("empty_username_container");
		empty_username_container.style.display = "";
		empty_username_container.style.pixelLeft = BoxLeft;
		empty_username_container.style.pixelTop = BoxTop;
		empty_username_container.style.position = positionStyle;
		
	}
	
	else if (mode == "profile_completed") {
	
		// place the registration box inside the container
		var  empty_username_container = document.getElementById("profile_completed_container");
		BoxHolder.appendChild(empty_username_container);
		
		// display the registration box in the middle of the screen
		empty_username_container = document.getElementById("profile_completed_container");
		empty_username_container.style.display = "";
		empty_username_container.style.pixelLeft = BoxLeft;
		empty_username_container.style.pixelTop = BoxTop;
		empty_username_container.style.position = positionStyle;
		
	}
	
	// hide all select boxes
	for(var i = 0; i < document.forms.length; i ++) {
		for (var j = 0; j < document.forms[i].elements.length; j ++) {
			if (document.forms[i].elements[j].type == "select-one") {
				document.forms[i].elements[j].style.display = "none";
			}
		}
	}
	
}

function close_popup_window() {

	var  BoxLocker = document.getElementById("BoxLocker");
	var  BoxHolder = document.getElementById("BoxHolder");
	var  quick_register_container = document.getElementById("quick_register_container");
	
	// hide blocker, holder and registration box
	BoxLocker.style.display = "none";
	BoxHolder.style.display = "none";
	quick_register_container.style.display = "none";
		
	// show the select boxes
	for(var i = 0; i < document.forms.length; i ++) {
		for (var j = 0; j < document.forms[i].elements.length; j ++) {
			if (document.forms[i].elements[j].type == "select-one") {
				document.forms[i].elements[j].style.display = "";
			}
		}
	}
	
	window.onscroll = null;
}

function quick_register_submit(return_page) {
	
	// GET DATA FROM REGISTRATION FORM
	var logins_username = site_quick_register.logins_username.value;
	var logins_password = site_quick_register.logins_password.value;
	var logins_email = site_quick_register.logins_email.value;
	var profile_sex;
	var profile_all_notify;
	
	if (site_quick_register.profile_sex[0].checked) {
		profile_sex = "female";
	}
	else if (site_quick_register.profile_sex[1].checked) {
		profile_sex = "male";
	}
	
	if (site_quick_register.profile_all_notify.checked) {
		profile_all_notify = "on";
	}
	else {
		profile_all_notify = "off";
	}
	
	
	// SEND DATA TO REMOTE PAGE FOR VALIDATION
	//var URL = do_link("site.remote", "request=validate_data&logins_username=" + logins_username + "&logins_password=" + logins_password + "&logins_email=" + logins_email + "&profile_sex=" + profile_sex + "&profile_all_notify=" + profile_all_notify);
	//remote_data_request(URL, "_RETURN=" + return_page, "show_quick_errors()");
	var URL = do_link("site.remote", "request=validate_data");
	remote_data_request(URL, "logins_username=" + logins_username + "&logins_password=" + logins_password + "&logins_email=" + logins_email + "&profile_sex=" + profile_sex + "&profile_all_notify=" + profile_all_notify + "&_RETURN=" + return_page, "show_quick_errors()");
		
}

function show_quick_errors() {
			
	var error_container = dom_get_element("quick_errors");
	var str_err = "";
	
	// build error string
	for (var i = 0; i < ERR_MSG.length; i ++ ) {
		if (i == ERR_MSG.length - 1) {
			str_err += ERR_MSG[i];
		} 
		else {
			str_err += ERR_MSG[i] + "<br><br>";	
		}
	}
	
	// show error string
	error_container.innerHTML = "<b>" + str_err + "</b>";
	error_container.style.display = "";
	
}
//END QUICK REGISTRATION FUNCTIONS

//BEGIN CHECK NEW MESSAGES FUNCTIONS
function check_new_messages() {
	
	var URL = do_link("site.remote", "request=check_new_messages");
	remote_data_request(URL, "", "show_new_messages()");
	setTimeout("check_new_messages();", 30000);
	
}

function show_new_messages() {
	
	//alert(count_new_messages);
	//alert(count_unread_messages);
	var mail_alert_holder = dom_get_element("mail_alert_holder");
	
	if (count_new_messages > 0) {
						
		mail_alert_holder.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="22" height="20" id="mail_alert" align="middle"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="/flash/mail_alert.swf?ding=1&rv=1"><param name="quality" value="high"><param name="bgcolor" value="#FFFAF3"><embed src="/flash/mail_alert.swf?ding=1&rv=2" quality="high" bgcolor="#FFFAF3" width="22" height="20"  name="mail_alert" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>';
		mail_cnt_holder.innerHTML = "<a href='" + do_link("mailbox.messages", "") + "'><b>You have " + count_unread_messages + " new message(s)!</b></a> |";
		
		PlayFlashMovie("mail_alert");
		//alert("You have " + count_new_messages + " new message(s)!");
	}
	else {
		if (count_unread_messages > 0) {
			mail_alert_holder.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="22" height="20" id="mail_alert" align="middle"><param name="allowScriptAccess" value="sameDomain"><param name="movie" value="/flash/mail_alert.swf?rv=1"><param name="quality" value="high"><param name="bgcolor" value="#FFFAF3"><embed src="/flash/mail_alert.swf?rv=2" quality="high" bgcolor="#FFFAF3" width="22" height="20"  name="mail_alert" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>';
			mail_cnt_holder.innerHTML = "<a href='" + do_link("mailbox.messages", "") + "'><b>You have " + count_unread_messages + " new message(s)!</b></a> |";
		}
		else {
			mail_cnt_holder.innerHTML = "";
		}
		
		
		//alert("No new messages for you!");
	}
	
}
//END CHECK NEW MESSAGES FUNCTIONS

//BEGIN FLASH MOVIE FUNCTIONS
function getFlashMovieObject(movieName) {
	
	if (window.document[movieName]) {
		return window.document[movieName];
	}
	if (navigator.appName.indexOf("Microsoft Internet") == -1) {
		if (document.embeds && document.embeds[movieName]) {
			return document.embeds[movieName]; 
		}
	}
	else {// if (navigator.appName.indexOf("Microsoft Internet")!=-1)
		return document.getElementById(movieName);
	}
	
}

function StopFlashMovie(movieName) {
	
	var flashMovie = getFlashMovieObject(movieName);
	flashMovie.StopPlay();
	
}

function PlayFlashMovie(movieName) {
	
	var flashMovie = getFlashMovieObject(movieName);
	flashMovie.Play();
	
}
//END FLASH MOVIE FUNCTIONS

function rating_stars (rating_value, rating_count) {
	
	var stars_container = dom_get_element("stars_container");
	var rating_container = dom_get_element("rating_container");
	
	stars_container.innerHTML = "";
		
	var set_stars = "";
	var i;
	var units = new Array();
	
	var count_stars = Math.floor(rating_value);
	var count_diff = rating_value - count_stars;
	var show_count_diff = 0;
	
	for (i = 1; i <= 5; i++) {
		if (i <= count_stars) {
			set_stars += "<img width='18' height='18' src='" + PATH + "/img/site/stars/star_yellow.gif'>";
		}
		else {
			if (!show_count_diff) {
				if ((count_diff >= 0.25) && (count_diff <= 0.75)) {
					set_stars += "<img width='18' height='18' src='" + PATH + "/img/site/stars/star_half.gif'>";
				}
				else {
					if (count_diff >= 0.75) {
						set_stars += "<img width='18' height='18' src='" + PATH + "/img/site/stars/star_yellow.gif'>";
					}
					else {
						set_stars += "<img width='18' height='18' src='" + PATH + "/img/site/stars/star_white.gif'>";
					}
				}
				show_count_diff = 1;
			}
			else {
				set_stars += "<img width='18' height='18' src='" + PATH + "/img/site/stars/star_white.gif'>";
			}
		}
	}
	
	stars_container.innerHTML = set_stars;
	rating_container.innerHTML = "<small style='color:#990000;'><b>Rating: " + rating_value.toFixed(2) + "<br>(" + rating_count + " votes)</b></small>";
}

function rate_this (object_type, object_key, new_vote, return_page) {
	
	if (object_type == "profile") {
		var URL = do_link("site.remote", "request=profile_action&_relation=rate&fk_profile_receiver=" + object_key + "&vote=" + new_vote);
		remote_data_request(URL, "_RETURN=" + return_page, "new_rating(" + new_vote + ")");
	}
	else {
		if (object_type == "joke") {
			var URL = do_link("site.remote", "request=rate_joke&jokes_key=" + object_key + "&vote=" + new_vote);
			remote_data_request(URL, "", "new_rating(" + new_vote + ")");
		}
		else {
			if (object_type == "location") {
				var URL = do_link("site.remote", "request=rate_location&location_key=" + object_key + "&vote=" + new_vote);
				remote_data_request(URL, "", "new_rating(" + new_vote + ")");
			}
			else {
				alert("Invalid parameters were received!");
			}
		}
	}
	
}

function toggle_rating(rated){
	
	if (rated) {
		dom_toggle_element("rating_bar", false);
		dom_toggle_element("rating_message", true);
	}
	else {
		dom_toggle_element("rating_bar", true);
		dom_toggle_element("rating_message", false);
	}
	
}

function clickIE4(){
	
	if (event.button == 2){
		return false;
	}
	
}

function clickNS4(e){

	if (document.layers || document.getElementById && !document.all){
		if ((e.which == 2) || (e.which == 3)){
			return false;
		}
	}
	
}

function disable_right_click() {
	
	if (document.layers){
		document.captureEvents(Event.MOUSEDOWN);
		document.onmousedown = clickNS4;
	}
	else if (document.all && !document.getElementById){
		document.onmousedown = clickIE4;
	}
		
	document.oncontextmenu = new Function("return false");
	

}

function profile_action(relation, receiver, receiver_username, return_page) {
	
	var URL = do_link("site.remote", "request=profile_action&_relation=" + relation + "&fk_profile_receiver=" + receiver);
	remote_data_request(URL, "_RETURN=" + return_page  + "&logins_username=" + receiver_username, "");
		
}

function populate_features(form_name, select_name_types, select_name_features) {
	
	type_selection = eval("document." + form_name + "." + select_name_types + ".options[document." + form_name + "." + select_name_types + ".selectedIndex].value");
	var url = do_link("site.remote", "request=features&fk_feature_type=" + type_selection);
	
	remote_data_request(url, "", "populate_features_data('" + form_name + "', '" + select_name_types + "', '" + select_name_features + "')");
	
	document.forms[form_name].elements[select_name_features].options.length = 0;
	document.forms[form_name].elements[select_name_features].options[0] = new Option("Loading ...", 0);
	document.forms[form_name].elements[select_name_features].disabled = true;
	
}

function populate_features_data(form_name, select_name_types, select_name_features) {

	document.forms[form_name].elements[select_name_features].disabled = false;
	document.forms[form_name].elements[select_name_features].options[0] = new Option("--------------", 0);
	idx = 0;	
	for (var i in remote_res_features) {
		if (remote_res_features[i] != "") {
			idx ++;
			document.forms[form_name].elements[select_name_features].options[idx] = new Option(unescape(remote_res_features[i]), i);
		}
	}
	
}

function populate_features_types(form_name, select_name_cat, select_name_types, select_name_features) {
	
	cat_selection = eval("document." + form_name + "." + select_name_cat + ".options[document." + form_name + "." + select_name_cat + ".selectedIndex].value");
	var url = do_link("site.remote", "request=types&fk_cat=" + cat_selection);
	
	remote_data_request(url, "", "populate_features_types_data('" + form_name + "', '" + select_name_cat + "', '" + select_name_types + "')");
	
	document.forms[form_name].elements[select_name_types].options.length = 0;
	document.forms[form_name].elements[select_name_types].options[0] = new Option("Loading ...", 0);
	document.forms[form_name].elements[select_name_types].disabled = true;
	
	if (select_name_features != "") {
		document.forms[form_name].elements[select_name_features].options.length = 0;
		document.forms[form_name].elements[select_name_features].options[0] = new Option("-------", 0);
		document.forms[form_name].elements[select_name_features].disabled = true;
	}
		
}

function populate_features_types_data(form_name, select_name_cat, select_name_types) {

	
	document.forms[form_name].elements[select_name_types].disabled = false;
	document.forms[form_name].elements[select_name_types].options[0] = new Option("--------------", 0);
	idx = 0;	
	for (var i in remote_res_types) {
		if (remote_res_types[i] != "") {
			idx ++;
			document.forms[form_name].elements[select_name_types].options[idx] = new Option(unescape(remote_res_types[i]), i);
		}
	}
	
}

