// REMOTE REQUEST FUNCTIONS
var http_request = false;
var http_remote_result = "";

function remote_data_request(url, parameters, callback_function) {
	
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType("text/xml");
		}
	}
	else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {}
		}
	}
	if (!http_request) {
		alert("Cannot create XMLHTTP instance");
		return false;
	}
	
	http_request.onreadystatechange = function(){
		if (http_request.readyState == 4) {
			// alert(http_request.status);
			if (http_request.status == 200) {
				http_remote_result = http_request.responseText;
				eval(http_remote_result);							
				eval(callback_function);		
				
			} 
			else {
				alert("There was a problem with the request.");
			}
		}
	};
	http_request.open("POST", url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
	
}

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;
}

function form_set_select(sel_name, form_name, sel_index){
	
	if ((form_name != "") && (typeof eval("document." + form_name + "." + sel_name) == "object")) {
	
		sel_length = eval("document." + form_name + "." + sel_name + ".length");
		
		for (optionCounter = 0; optionCounter < sel_length; optionCounter++) {
			
			if (eval("document." + form_name + "." + sel_name + ".options[optionCounter].value == '" + sel_index + "'")) {
				
				eval("document." + form_name + "." + sel_name + ".selectedIndex = optionCounter");
				
			}
			
		}
	
	}
	
}


function rating_stars (rating_value, rating_count, rr_value) {
	
	var img_path = "http://www.mobifrance.com/fichetechnique/img/site/stars/small/";
	
	var stars_container = dom_get_element("stars_container");
	var rating_container = dom_get_element("rating_container");
	var rating_message = dom_get_element("rating_message");
	
	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 <= 10; i++) {
		if (i <= count_stars) {
			set_stars += "<img src='" + img_path + "star_" + i + ".gif'>"; /* "/img/site/stars/small/star_yellow.gif'>" */
		}
		else {
			/* if (!show_count_diff) {
				if ((count_diff >= 0.25) && (count_diff <= 0.75)) {
					set_stars += "<img width='12' height='12' src='" + PATH + "/img/site/stars/small/star_half.gif'>";
				}
				else {
					if (count_diff >= 0.75) {
						set_stars += "<img width='12' height='12' src='" + PATH + "/img/site/stars/small/star_yellow.gif'>";
					}
					else {
						set_stars += "<img width='12' height='12' src='" + PATH + "/img/site/stars/small/star_white.gif'>";
					}
				}
				show_count_diff = 1;
			}
			else { */
				set_stars += "<img src='" + img_path + "star_grey_" + i + ".gif'>";
			// }
		}
	}
	
	stars_container.innerHTML = set_stars;
	
	var msg_array = new Array ("Non&nbsp;&#233;valu&#233;","Insondable","Terrible","Pauvre","M&#233;diocre","Moyenne","Bon","Tr&#232;s bon","Excellent","Spectaculaire","Parfait");
	
	if (rating_value.toFixed) {
		rating_container.innerHTML = "<span style='font-size: 11px; color:#CC0000;'><center><b>" + msg_array[count_stars] + "</b></span><br><span style='font-size: 18px; color:#CC0000;'><b>" + rating_value.toFixed(2) + "</b></center></span>";
	}
	else {
		rating_container.innerHTML = "<span style='font-size: 11px; color:#CC0000;'><center><b>" + msg_array[count_stars] + "</b></span><br><span style='font-size: 18px; color:#CC0000;'><b>" + rating_value + "</b></center></span>";
	}
	
	
	rating_message.innerHTML = "<span style='font-size: 11px; color:#676767;'><center><b>" + msg_array[rr_value] + "</b></span><br><span style='font-size: 18px; color:#CC0000;'><b>" + rr_value + "</b></center></span>";
}

function rate_this (object_type, object_key, new_vote, return_page) {
	
	if (object_type == "products") {
		var URL = do_link("site.remote", "request=rate_products&products_key=" + object_key + "&vote=" + new_vote);
		remote_data_request(URL, "", "new_rating(" + new_vote + ")");
	}
	else if (object_type == "articles") {
		//var URL = do_link("site.remote", "request=rate_articles&article_key=" + object_key + "&vote=" + new_vote);
		
		remote_data_request("http://www.mobifrance.com/miraserve/remote.php?request=rate_articles&article_key=" + object_key + "&vote=" +new_vote, "", "new_rating(" + 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);
		dom_toggle_element("stars_container", true);
		dom_toggle_element("saving_button", false);
		dom_toggle_element("span_msg", false);
		dom_toggle_element("span_label", false);
	}
	else {
		dom_toggle_element("rating_bar", true);
		dom_toggle_element("rating_message", false);
		dom_toggle_element("stars_container", false);
		dom_toggle_element("saving_button", true);
		dom_toggle_element("span_msg", true);
		dom_toggle_element("span_label", true);
	}
}

function load_all_members(form_name){
	
	//remote_data_request("http://www.mobifrance.com/miraserve/remote.php?request=allmembers", "", "populate_all_members_data('" + form_name + "')");
	
	remote_data_request("http://pdafrance.asesoftnet.com/miraserve/remote.php?request=allmembers", "", "populate_all_members_data('" + form_name + "')");
	
}

function populate_all_members_data(form_name){
	
	var customarray = new Array();
	var customarraykeys = new Array();
	idx=0;
	for (var i in remote_res_all_members) {
		customarray[idx] = unescape(remote_res_all_members[i]);
		idx++;
	}
	for (var i in remote_res_all_members_keys) {
		customarraykeys[i] = unescape(remote_res_all_members_keys[i]);
	}
	
	actbm(document.getElementById('_ACTB_USER_SEARCH_'),customarray,customarraykeys);
}

