var VARS_IN_QS = "_RETURN|_redir_no_access_|_lc_|_SEARCH_RS_|_rs|__s|pp_do|__cmd|utm_medium|utm_source|utm_campaign|utm_content|utm_term";

function do_link(section, params){
	
	var parts = section.split(".");
	var module = parts[0];
	var page = parts[1];
	
	var send_to_file, base_path;
	
	var array_params = Array();
	var i = 0;
	var j = 0;
	var send_params = "";
	var param = Array();
	array_params = params.split("&");
	
	var params_concat = Array();
		
	var params_concat_return;
	
	if (URL_REWRITE == "on") {
	
		var force_files = SUBDOMAINS_FORCE_FILES_JS.split(",");
		if (SUBDOMAINS_STATUS == "on" && !js_in_array(section, force_files)) {
			var res_file = section.split(".");
			send_to_file = res_file[1];
			if (res_file[0] == "site") {
				res_file[0] = "www";
			}
			base_path = "http://" + res_file[0] + "." + DOMAIN_BASE;
		}
		else {
			send_to_file = section.replace(".", "-");
			base_path = PATH;
		}
	
		while (i < array_params.length){
			if (array_params[i] != "") {
				param = array_params[i].split("=");
				send_params = send_params + param[0] + "-" + param[1];
				if(i < (array_params.length - 1)) {
					send_params = send_params + "~";
				}
			}
			i ++;
		}
	
		if (send_params != "") {
			
			var return_pattern = new RegExp("_RETURN", 'g');
			var found_return = return_pattern.test(send_params);
			
			
			if (found_return) {
				
				var tmp_pr1 = send_params.split("~");
				
				while (j < tmp_pr1.length){
					
					var found_return_var = return_pattern.test(tmp_pr1[j]);
					
					if (found_return_var) {
						tmp_params_concat_return = tmp_pr1[j].split("-");
						params_concat_return = tmp_params_concat_return.join("=");
						
					}
					else {
						params_concat[j] = tmp_pr1[j];
					}
					
					j ++;
					
				}
				send_params = params_concat.join("~") + ".html?" + params_concat_return;
				
				the_link = base_path + "/" + send_to_file + "~" + send_params;
			}
			else {
				the_link = base_path + "/" + send_to_file + "~" + send_params + ".html";
			}
						
		}
		else {
			the_link = base_path + "/" + send_to_file + ".html";
		}
		
	}
	else if (URL_REWRITE == "on.v2") {
		
		// Get module & page
		var res_file = section.split(".");
		send_to_file = res_file[1];
						
		var force_files = SUBDOMAINS_FORCE_FILES_JS.split(",");
		if (SUBDOMAINS_STATUS == "on" && !js_in_array(section, force_files)) {
			// Use www instead of site
			if (res_file[0] == "site") {
				res_file[0] = "www";
			}
			base_path = "http://" + res_file[0] + "." + DOMAIN_BASE;
			if (send_to_file == "index") {
				send_to_file = "";
			}
		}
		else {
			// Use nothing instead of site
			if (res_file[0] == "site") {
				res_file[0] = "";
			}
			//base_path = "http://" + DOMAIN_BASE;
			base_path = PATH;
			if (send_to_file == "index" && res_file[0] == "") {
				send_to_file = "";
			}
		}
		
		var rewrite_vars = new Array();
		var skip_vars = new Array();
		var do_rewrite_mapping = 0;
		
		// Extract the rewrite mapping
		var rewrite_mapping = URL_REWRITE_MAPPING_JS.split("|");
		
		i = 0;
		while (i < rewrite_mapping.length){
			var tmp_mapping = rewrite_mapping[i].split(",");

			// If the current page has mapping		
			if (send_to_file == tmp_mapping[0]) {
				j = 1;
				
				// Extract variables to mapp
				while (j < tmp_mapping.length){
					rewrite_vars[j] = tmp_mapping[j];
					j ++;
				}
				
				// Do mapping is on
				do_rewrite_mapping = 1;
			}
			
			i ++;
		}
						
		i = 0;
		
		// Check url params
		while (i < array_params.length){
			if (array_params[i] != "") {
				
				// Get param data
				param = array_params[i].split("=");
				
				// If do mapping is on
				if (do_rewrite_mapping == 1) {
					j = 1;
					var do_skip = 0;
					
					// Check if we should rewrite this param
					while (j < rewrite_vars.length) {
						if (rewrite_vars[j] == param[0]) {
							
							// Send param value to another list
							skip_vars[j] = param[1];
							do_skip = 1;
						}
						j ++;
					}
					
					// If no skipping add param to url vars list
					if (!do_skip) {
						send_params = send_params + param[0] + "=" + param[1];
						if(i < (array_params.length - 1)) {
							send_params = send_params + "&";
						}
					}
				}
				else {
					// Add param to url vars list
					send_params = send_params + param[0] + "=" + param[1];
					if(i < (array_params.length - 1)) {
						send_params = send_params + "&";
					}
				}
			}
			i ++;
		}
						
		
		// If do mapping is on
		if (do_rewrite_mapping == 1) {
			i = 0;
			
			// Add skipped params values to the name of the page
			while (i < skip_vars.length) {
				if (skip_vars[i]) {
					send_to_file += "/" + skip_vars[i];
				}
				i ++;
			}
		}
		else {
			if (send_to_file != "") {
				send_to_file += "/";
			}
		}
	
		if (res_file[0] != "") {
			base_path += "/" + res_file[0] + "-";
		}
		else {
			base_path += "/";
		}
		
		// Add params to link
		if (send_params != "") {
			the_link = base_path + send_to_file + "?" + send_params;
		}
		else {
			the_link = base_path + send_to_file;
		}
		
	}
	else {
		the_link = PATH_INDEX + "?_init=" + module + "." + page + "&" + params;
	}
	
	return the_link;
}

function form_send_params(section, params, mode){
	
	if (mode == "rs") {
		
		var array_params = Array();
		var i = 0;
		var send_params = "";
		var param = Array();
		array_params = params.split("&");
		
		while (i < array_params.length){
			if (array_params[i] != '') {
				param = array_params[i].split("=");
				send_params = send_params + "<INPUT TYPE=\"HIDDEN\" NAME=\"" + param[0] + "\" VALUE=\"" + param[1] + "\">";
			}
			i ++;
		}
		
		if (send_params) {		
			document.open();
			document.write("<HTML><BODY><FORM METHOD=\"POST\" NAME=\"_form_send_params_\" ACTION=\"" + do_link(section, "") + "\">");
			document.write(send_params);
			// alert(send_params);
			document.write("</FORM>");
			document.write("<SCR");
			document.write("IPT LANGUAGE=\"JavaScript\">document._form_send_params_.submit();</SCR");
			document.write("IPT></BODY></HTML>");			
			document.close();		
		}
	}
	else {
		document.location = do_link(section, params);
	}
	
	return false;
}

function form_do_submit(form_name, button_name){
	
	if (!form_is_submitted) {
		eval("document." + form_name + "." + button_name + ".disabled=true");
		eval("document." + form_name + ".submit()");
		eval("submitted_form = '" + form_name + "'");
		eval("submission_button = '" + button_name + "'");
		form_is_submitted = 1;
	}
	
	return false;
}

function form_do_reset(form_name, button_name){
	
	if (submitted_form != "" && submission_button != "") {
		eval("document." + form_name + "." + button_name + ".disabled=false");
	}
			
}

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 form_set_checked(check_name, form_name, checked_mode){
	
	if ((form_name != "") && (typeof eval("document." + form_name + "." + check_name) == "object")) {
	
		if (checked_mode != "" && checked_mode != 0 && checked_mode != "off") {
			eval("document." + form_name + "." + check_name + ".checked = true");
		}
	
	}
	
}

function form_set_radio(radio_name, form_name, selected_value){
    
	 if ((form_name != "") && (typeof eval("document." + form_name + "." + radio_name) == "object")) {
	 	
	 	eval("var rad = document." + form_name + "." + radio_name);

	 	for(i=0; i<rad.length; i++){
		
	 		if(rad[i].value == selected_value){
				rad[i].checked = true;
				return true;
			}
			
		}
		
		return false;
	}

}

function form_set_inp(inp_name, form_name, inp_value){
	
	if ((form_name != "") && (typeof eval("document." + form_name + "." + inp_name) == "object")) {
		eval("document." + form_name + "." + inp_name + ".value = \"" + inp_value + "\"");
	}
	
}

function form_check_all(c) {
	
	var f = c.form;
	var ck = c.checked;
	
	for (i = 0; i < f.elements.length; i++) {
		if ((f.elements[i] != c) && (f.elements[i].type == "checkbox")) {
			f.elements[i].checked = ck;
		}
	}
	
}

function win_open(mypage, myname, w, h, win_position, win_scroll, win_resizable, win_toolbar, win_location, win_status, win_menubar){
	
	var win = null;
	var LeftPosition, TopPosition;
	
		
	if (w) {
	}
	else {
		w = 600;
	}
	
	if (h) {
	}
	else {
		h = 600;
	}
	
	if (win_position == "topright") {
		LeftPosition = (screen.width) ? (screen.width - w - 12) : 0;
		TopPosition = 20;
	}
	else if (win_position == "center") {
		LeftPosition = (screen.width) ? ((screen.width-w) / 2) : 0;
		TopPosition = (screen.height) ? ((screen.height-h) / 2) : 0;
	}
	
	settings = 'height = ' + h + ', width = ' + w + ', top = ' + TopPosition + ', left = ' + LeftPosition;
	settings += (win_scroll == "yes") ? ", scrollbars=yes" : ", scrollbars=no"; 
	settings += (win_resizable == "yes") ? ", resizable=yes" : ", resizable=no";
	settings += (win_toolbar == "yes") ? ", toolbar=yes" : ", toolbar=no";
	settings += (win_location == "yes") ? ", location=yes" : ", location=no";
	settings += (win_status == "yes") ? ", status=yes" : ", status=no";
	settings += (win_menubar == "yes") ? ", menubar=yes" : ", menubar=no"; 
	
	win = window.open(mypage, myname, settings);
	if (win == null) {
		alert("Your popup blocker stopped an window from opening\nPlease disable your popup blocker if you wish to see window content!");
	}
	else {
	    if (window.focus) {win.focus()}
	}
	
}

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 textCounter(field, cntfield, maxlimit) {
	var obj_field = getObjByName(field);
	var obj_cntfield = getObjByName(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 print_array(arr, lvl) {

	lvl = (lvl > 0) ? lvl : 1;
	var level = lvl;
	
	var tab = "\t";
	if (level > 1) {
		for (k=1; k < level-1; k++) {
			tab += "\t";
		}
		
		var buff = "Array\n" + tab + "(\n";
		tab += "\t";
	}
	else {
		var buff = "Array\n(\n";
	}
	
	var i = 0;
	for (var i in arr) {
		if (typeof(arr[i]) == "object") {
			buff += tab + "[" + i + "]" + " => " + print_array(arr[i], level + 1) + tab + ")\n";
		}
		else {
			buff += tab + "[" + i + "]" + " => " + arr[i] + tab + "\n";
		}
	}
	
	if (level > 1) {
		return buff;
	}
	else {
		alert(buff + ")\n");
	}
}


function js_in_array(the_needle, the_haystack) {

	var the_hay = the_haystack.toString();
	if(the_hay == '') {
		return false;
	}
	var the_pattern = new RegExp(the_needle, 'g');
	var matched = the_pattern.test(the_haystack);
	return matched;
}


// 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);
	
}
;// Populate states select #######################################################

function populate_states(form_id, select_name_country, select_name_states, select_name_cities, selected_state){
	
	
	var states_select = jQuery("form#" + form_id + " select[name='" + select_name_states + "']");
	var cities_select = jQuery("form#" + form_id + " select[name='" + select_name_cities + "']");
	
	states_select.empty();
	jQuery("<option value=\"" + 0 + "\"></option>").html(txt_loading + "...").appendTo(states_select);
	jQuery(states_select).attr("disabled", "disabled");
	
	cities_select.empty();
	jQuery("<option value=\"" + 0 + "\"></option>").html(txt_loading + "...").appendTo(cities_select);
	jQuery(cities_select).attr("disabled", "disabled");
	
	var country_select = jQuery("form#" + form_id + " select[name='" + select_name_country + "']");
	var country_selection = country_select.selectedValues()[0];
	
	var URL = do_link("site.remote", "request=states&fk_countries=" + country_selection);
	
	states_select.load(URL, {}, function(){
	
		states_select.removeAttr("disabled");
		
		if ((selected_state != undefined) && (selected_state != "") && (selected_state != 0)) {
			// jQuery(states_select).find("option[value='" + selected_state + "']").attr("selected", "selected");
			states_select.selectOptions(selected_state, true);
		}
		else {
			// jQuery(states_select).find("option[value='0']").attr("selected", "selected");
			states_select.selectOptions("0", true);
		}
		
		if (typeof(return_states) == "function") {
			return_states();
		}
	});

}

// ################################################################################

// Populate cities select #######################################################

function populate_cities(form_id, select_name_states, select_name_cities, selected_city){
	
	var cities_select = jQuery("form#" + form_id + " select[name='" + select_name_cities + "']");
	
	// cities_select.empty().addOption("0", txt_loading + "...").attr("disabled", "disabled");
	cities_select.empty();
	jQuery("<option value=\"" + 0 + "\"></option>").html(txt_loading + "...").appendTo(cities_select);
	cities_select.attr("disabled", "disabled");
	
	var state_select = jQuery("form#" + form_id + " select[name='" + select_name_states + "']");
	var states_selection = state_select.selectedValues()[0];
	
	var URL = do_link("site.remote", "request=cities&fk_states=" + states_selection);
	
	cities_select.load(URL, {}, function(){
	
		cities_select.removeAttr("disabled");
		
		if ((selected_city != undefined) && (selected_city != "") && (selected_city != 0)) {
			// jQuery(cities_select).find("option[value='" + selected_city + "']").attr("selected", "selected");
			cities_select.selectOptions(selected_city, true);
		}
		else {
			// jQuery(cities_select).find("option[value='0']").attr("selected", "selected");
			cities_select.selectOptions("0", true);
		}
		
		if (typeof(return_cities) == "function") {
			return_cities();
		}
	});
	
}

// ################################################################################

function remote_action(options) {
	
	var URL = do_link("site.remote", jQuery.param(options));
	
	jQuery.getScript(URL, function(data){
		
	});
}

// Form functions #######################################################

// Focus on input
function form_focus(form_id){
	jQuery("form#" + form_id + " :input[value='']:not(select):enabled:visible:first").focus();
}

// Disable submit button
function jform_do_submit(form_id, button_name){
	
	var my_form = jQuery("form#" + form_id);
	
	my_form.submit(function() {
		
		if (!form_is_submitted) {
			jQuery("form#" + form_id + " :button[name='" + button_name + "'], form#" + form_id + " :submit[name='" + button_name + "']").attr("disabled", "disabled");
			
			form_is_submitted = 1;
			submitted_form = form_id;
			submission_button = button_name;
		}
	});
}

function toggle_location_panels(form_id, location, state){
	
	if (location == "choose") {
		jQuery("#panel_predefined").show();
		jQuery("#panel_define").hide();
		
		jQuery("form#" + form_id + " :hidden[name='location']").attr({value: "choose"});
	}
	else if (location == "define") {

		populate_states("site_register", "fk_countries", "fk_states", "fk_cities", state);
		
		jQuery("#panel_predefined").hide();
		jQuery("#panel_define").show();
		
		jQuery("form#" + form_id + " :hidden[name='location']").attr({value: "define"});
	}
	
}

function jform_set_select(sel_name, form_id, sel_value){
	jQuery("form#" + form_id + " select[name='" + sel_name + "']:first").selectOptions(sel_value, true);
}

function jform_set_radio(radio_name, form_id, selected_value){
	// jQuery("form#" + form_id + " :radio[name='" + radio_name + "'][value='" + selected_value + "']:first").attr("checked", "checked");
	
	var this_radio = jQuery("form#" + form_id + " :radio[name='" + radio_name + "'][value='" + selected_value + "']:first");
	
	if (jQuery(this_radio).length > 0) {
		jQuery(this_radio).click();
	}
}

function jform_set_checked(check_name, form_id, checked_mode){
	if (checked_mode != "" && checked_mode != 0 && checked_mode != "off") {
		jQuery("form#" + form_id + " :checkbox[name='" + check_name + "']:first").attr("checked", "checked");
	}
}

function jform_check_all(form_id){
	jQuery("form#" + form_id + " :checkbox").attr("checked", "checked");
}

function jform_uncheck_all(form_id){
	jQuery("form#" + form_id + " :checkbox").removeAttr("checked");
}

// ################################################################################

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_STATIC + "/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 go_register(){ 
      
	//var register_link = do_link("user.inregistrare", "");
	//registration_win = window.open(register_link, "Inregistrare");
	var register_link = "http://www.jobmania.ro";
	var registration_win = win_open(register_link, 'JobMania', 750, 450, 'center', 'yes', 'yes', 'yes', 'yes', 'yes', 'yes');
	if (typeof(registration_win) != "undefined") {
		registration_win.focus();
	}
	

}

function set_smiley(text_area, add_smiley){ 
      
	eval(text_area + ".value = " + text_area + ".value + ' " + add_smiley + " ';");
	eval(text_area + ".focus();");
	
}

// Cookies #######################################################

function getCookieVal (offset) {
	
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
	
	var arg = name+"=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	
	while (i < clen) {
		var j = i+alen;
		if (document.cookie.substring(i, j) == arg) {
			return getCookieVal (j);
		}		
		i=document.cookie.indexOf(" ", i)+1;
		if (i==0) break;
	}
	return null;
}

function FixCookieDate (date) {
	
	var base = new Date(0);
	var skew = base.getTime(); // dawn of (Unix) time - should be 0
	if (skew > 0) { // Except on the Mac - ahead of its time
		date.setTime (date.getTime() - skew);
	}
}

function SetCookie (name,value,expires,path,domain,secure) {
	
	document.cookie = name + "=" + escape (value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
}

function DelCookie(name) { // use: deleteCookie("name");
	
	var today = new Date();
	var expired = new Date(today.getTime() - 28 * 24 * 60 * 60 * 1000); // less 28 days
	document.cookie = name + "=null; expires=" + expired.toGMTString() + "; path=/"; // delete cookie
	//bikky = document.cookie; // update bikky
}

function DeleteCookie (name,path,domain) {
	if (GetCookie(name)) {
		document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

// ################################################################################

function set_cookie(name, value){
	
	var argv = set_cookie.arguments;
	var argc = set_cookie.arguments.length;
	var expires;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	
	expires = new Date ();
	expires.setTime(expires.getTime() + (1 * 24 * 3600 * 365000));
	
	document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) +((secure == true) ? "; secure" : "");
	
}

function get_cookie_val(offset){
	
	var endstr = document.cookie.indexOf(";", offset);
	
	if (endstr == -1){
		endstr = document.cookie.length;
	}
	
	return unescape(document.cookie.substring(offset, endstr));
	
}

function get_cookie(name){
	
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
		while (i < clen) {
			var j = i + alen;		
			if (document.cookie.substring(i, j) == arg){
				return get_cookie_val(j);
			}
			i = document.cookie.indexOf(" ", i) + 1;
			if (i == 0){
				break;
			}
		}
	return null;
}


function toggle_nav_bar(){
	
	var cookie_pfk = get_cookie('pfk');
	var cookie_username = get_cookie('_USR[logins_username]');
	var tab_welcome = dom_get_element("tab_welcome");
			
	if (cookie_pfk > 0) {
		tab_welcome.innerHTML = "Bine ai venit, <a href='" + do_link("user.editeaza_profil", "") + "' class='link_text_menu'>" + cookie_username + "</a>!&nbsp;&nbsp;&nbsp;";
		dom_toggle_element("tab_logout_left", true);
		dom_toggle_element("tab_logout", true);
		dom_toggle_element("tab_account_left", true);
		dom_toggle_element("tab_account", true);
	}
	else {
		tab_welcome.innerHTML = "";
		dom_toggle_element("tab_register_left", true);
		dom_toggle_element("tab_register", true);
		dom_toggle_element("tab_login_left", true);
		dom_toggle_element("tab_login", true);
		
		if (cookie_username == null) {
			dom_toggle_element("tab_registration_banner", true);
		}
	}			
}

function pic_edit(files_key) {
	
	if (editor_is_open == 0) {
		myBox = new Boxy("<iframe src=\"" + do_link("site.cropper", "files_key=" + files_key) + "?" + Math.floor(Math.random() * 10000000000) + "\"  framespacing=\"0\" frameborder=\"no\" scrolling=\"no\" width=\"900\" height=\"600\"></iframe>", {
			title: txt_edit,
			// closeText: "[" + link_close + "]",
			closeText: "<span class='close_box'>[ <a href='#' class='close'>" + link_close + "</a> ] <a href='#' class='close'><img src='" + PATH_STATIC + "/img/site/btn_close.gif' align='absmiddle'></a></span>",
			closeable: true,
			draggable: true
		});
	}
	
	editor_is_open = 1;
}

function on_pic_edit_close() {
	
	editor_is_open = 0;
	
	var big_path = jQuery("#big_pic").attr("src");
	var left_path = jQuery("#left_pic").attr("src");
	var top_path = jQuery("#top_pic").attr("src");
	
	if (big_path) {
		jQuery("#big_pic").attr("src", big_path.substr(0, big_path.indexOf("?") + 1) + Math.floor(Math.random() * 10000000000));
	}
	
	if (left_path) {
		jQuery("#left_pic").attr("src", left_path.substr(0, left_path.indexOf("?") + 1) + Math.floor(Math.random() * 10000000000));
	}
	
	if (top_path) {
		jQuery("#top_pic").attr("src", top_path.substr(0, top_path.indexOf("?") + 1) + Math.floor(Math.random() * 10000000000));
	}
	
	jQuery.each(jQuery("a.a_change img"), function(i, v) {
		var path = jQuery(v).attr("src");
		
		jQuery(v).attr("src", path.substr(0, path.indexOf("?") + 1) + Math.floor(Math.random() * 10000000000));
	});
}

function show_cropper(options){
	
	myBox = new Boxy("<iframe name=\"cropper\" src=\"" + options.link + "&rv=" + Math.floor(Math.random() * 10000000000)  + "\"  framespacing=\"0\" frameborder=\"no\" scrolling=\"no\" width=\"" + options.width + "\" height=\"" + options.height + "\"></iframe>", {
		title: txt_edit,
		closeText: "<span class='close_box'>[ <a href='#' class='close'>" + "close" + "</a> ] <a href='#' class='close'><img src='" + PATH + "/img/site/btn_close.gif' align='absmiddle'></a></span>",
		closeable: true,
		modal: true,
		unload: true,
		animate: 0,
		afterHide: function(){
			jQuery("img[src*=" + options.key + "]").each(function(i, v){
				var jThis = jQuery(this);
				
				var d = new Date;
				if (typeof(jThis.attr("src")) != "undefined") {
					var full_path = jThis.attr("src");
					var img_path = full_path.substr(0, (full_path.length - 4));
					
					var tmp = img_path.split(".v");
					if (tmp.length > 1) {
						delete tmp[tmp.length -1];
						img_path = tmp.join("");
					}
					
					var img_ext = full_path.substr(full_path.length - 4);
				}
				
				jThis.attr("src", img_path + ".v" + d.getTime() + img_ext);
				
				if (typeof(jThis.metadata().path_medium) != "undefined") {
					
					var full_path = jThis.metadata().path_medium;
					var img_path = full_path.substr(0, (full_path.length - 4));
					
					var tmp = img_path.split(".v");
					if (tmp.length > 1) {
						delete tmp[tmp.length -1];
						img_path = tmp.join("");
					}
					
					var img_ext = full_path.substr(full_path.length - 4);
					
					jThis.metadata().path_medium = img_path + ".v" + d.getTime() + img_ext;
				}
			});
		}
	});
}

/*function start_cropper(_minWidth, _minHeight, _aspectRatio, _x1, _y1, _x2, _y2) {
	
	
	if (jQuery("#big_pic").height() < _y2) {
		_y1 = _y1 - (_y2 - jQuery("#big_pic").height());
		_y2 = jQuery("#big_pic").height();
	}
	
	if (jQuery("#big_pic").width() < _x2) {
		_x1 = _x1 - (_x2 - jQuery("#big_pic").width());
		_x2 = jQuery("#big_pic").width();
	}
	
	jQuery("#big_pic").imgAreaSelect({
		parent: "#wrap",
		single: true,
		onSelectEnd: selectEnd,
		onSelectChange: selectChange,
		minWidth: _minWidth,
		minHeight: _minHeight,
		aspectRatio: _aspectRatio,
		selectionColor: "#fff",
		selectionOpacity: 0.2,
		outerColor: "#000",
		outerOpacity: 0.2,
		borderWidth: 1,
		x1: _x1,
		y1: _y1,
		x2: _x2,
		y2: _y2
	});
}*/

function invite_box() {
	
	var variable = "inv_signup";
	var inv_cookie = GetCookie(variable);
	var was_logged = GetCookie("_USR[logins_username]");

	if ((inv_cookie != 1) && (was_logged == null)) {
		
		myBox = new Boxy('<div class="invite_container">' + 
			'<div class="txt_signup"><br />' + txt_signup +'</div> ' + 
			'<div class="f_left"><a href="' + link_signup + '" class="btn_css0"><b></b><span>' + btn_signup + '</span><i></i></a></div>' + 
		'</div>', {
		
			title: btn_signup,
			closeText: "<span class='close_box'>[ <a href='#' class='close'>" + link_close + "</a> ] <a href='#' class='close'><img src='" + PATH_STATIC + "/img/site/btn_close.gif' align='absmiddle'></a></span>",
			closeable: true,
			draggable: true,
			modal: true
		});
		
		var expdate = new Date();
		FixCookieDate (expdate);
		expdate.setTime(expdate.getTime() + 5*24*60*60*1000);
		
		SetCookie (variable, 1, expdate, "/" , DOMAIN_BASE);
		
		pageTracker._trackPageview('/overlayer');
	}
	
}

// Alternate rows #######################################################

function color_on(obj){
	obj.style.backgroundColor = "#FEFFDB";
}

function color_off(obj){
	obj.style.backgroundColor = "transparent";
}

function opt_row_on(key){
	dom_get_element("row_" + key).style.visibility = 'visible';
}

function opt_row_off(key){
	// setTimeout("dom_get_element('row_' + " + key + ").style.visibility = 'hidden';", 500);
	dom_get_element("row_" + key).style.visibility = 'hidden';
}

// ################################################################################

// Tabs functions #######################################################

function box_show(mode){
	
	jQuery.each(tabs, function(i, v) {
		jQuery("#b_" + v).hide();
		jQuery("#m_" + v).removeClass("on");
	});
	
	jQuery("#b_" + mode).show();
	
	jQuery("#m_" + mode).addClass("on");
	
	
}

function auto_box(){
	var str = document.location.toString();
	var nr = str.indexOf("#") + 1;
	var cmd;

	if (nr > 1) {
		cmd = str.substr(nr);
	}
	else {
		cmd = "";
	}
	
	for (var i=0; i<tabs.length; i++) {
		
		if (cmd == tabs[i] && (dom_get_element("m_" + tabs[i]).style.display != "none")) {
			box_show(cmd);
			break;
		}
	}
}

function toggle_left_section(mode){
	
	dom_toggle_element(mode + "_menu");
	
	if (dom_get_element(mode + "_menu").style.display == "none") {
		dom_get_element(mode + "_img").className = "img_plus";
	}
	else {
		dom_get_element(mode + "_img").className = "img_minus";
	}
}

// ################################################################################

// User interaction #######################################################

function getSelectedRadio(buttonGroup) {
	if (buttonGroup[0]) {
		for (var i=0; i<buttonGroup.length; i++) {
			if (buttonGroup[i].checked) {
				return i
			}
		}
	} else {
		if (buttonGroup.checked) { return 0; }
	}
	
	return -1;
}

function getSelectedRadioValue(buttonGroup) {
	var i = getSelectedRadio(buttonGroup);
	
	if (i == -1) {
		return "";
	} else {
		if (buttonGroup[i]) {
			return buttonGroup[i].value;
		} else {
			return buttonGroup.value;
		}
	}
}

function block_handling(how){
	var block = dom_get_element("can_block");
	var unblock = dom_get_element("can_unblock");
	var tools = dom_get_element("communication_tools");
		
	if (how == "can_unblock") {
		block.style.display = "none";
		unblock.style.display = "";
		tools.style.display = "none";
	}
	else {		
		unblock.style.display = "none";
		block.style.display = "";
		tools.style.display = "";
	}
}

function friend_handling(how){
	
	var all_actions = jQuery(".friend_action");
		
	if (how == "direct") {
		all_actions.hide();
		jQuery("#friend_direct").show();
	}
	else if (how == "opposite") {
		all_actions.hide();
		jQuery("#friend_opposite").show();
	}
	else if (how == "mutual") {
		all_actions.hide();
		jQuery("#friend_mutual").show();
	}
	else {
		all_actions.hide();
		jQuery("#friend_not_yet").show();
	}
}

// ################################################################################

// User actions #######################################################

function return_location_fav(key, msg){
	
	jQuery("msg_" + key).innerHTML = "<span class=\"hint\">" + msg + "</span>";
	
	new Effect.Highlight("msg_" + key, { startcolor: '#FFFF44', endcolor: '#E9FEE9' });
}

function return_event_fav(key, msg){
	
	jQuery("msg_" + key).innerHTML = "<span class=\"hint\">" + msg + "</span>";
	
	new Effect.Highlight("msg_" + key, { startcolor: '#FFFF44', endcolor: '#E9FEE9' });
}

function return_prod_fav_del(key, msg){
	
	Boxy.alert("<b>" + msg + "</b><br /><br />", null, {});
}

function return_store_fav_del(key, msg){
	
	Boxy.alert("<b>" + msg + "</b><br /><br />", null, {});
}

function return_help_track(key, msg){
	
	Boxy.alert("<b>" + msg + "</b><br /><br />", null, {});
	
	/*jQuery("msg").innerHTML = "<span class=\"hint\">" + msg + "</span>";
	
	new Effect.Highlight("msg", { startcolor: '#FFFF44', endcolor: '#E9FEE9' });*/
}

function return_profile_action(key, msg, _title){
	Boxy.alert("<b>" + msg + "</b><br /><br />", null, {});
}

function return_location_comm_rating(key, msg, value){
	
	if (msg == "Votul a fost inregistrat cu succes.") {
		
		var val = parseInt(jQuery("rating_" + key).innerHTML) + parseInt(value);
		
		if (val == 0) {
			show_comm(key);
			jQuery("rating_" + key).className = "bold mark_pending";
		}
		if (val < 0) {
			hide_comm(key);
			jQuery("rating_" + key).className = "bold mark_inactive";
		}
		if (val > 0) {
			jQuery("rating_" + key).className = "bold mark_active";
		}
		
		jQuery("rating_" + key).innerHTML = val;
	}
	
	jQuery("rmsg_" + key).innerHTML = "<span class=\"hint\">" + msg + "</span>";
	
	new Effect.Highlight("rmsg_" + key, { startcolor: '#FFFF44'});
}

function init_request(id){
	dom_get_element(id).innerHTML = "<img src=\"" + PATH_STATIC + "/img/site/loading.gif\">";
}

function hide_comm(key) {
	dom_toggle_element("com_" + key, false);
	dom_toggle_element("reply_" + key, false);
	dom_toggle_element("show_" + key, true);
	dom_toggle_element("hide_" + key, false);
}

function show_comm(key) {
	dom_toggle_element("com_" + key, true);
	dom_toggle_element("reply_" + key, true);
	dom_toggle_element("show_" + key, false);
	dom_toggle_element("hide_" + key, false);
}

function item_action(item_action, item_key){
	
	var URL = do_link("site.remote", "request=" + item_action + "&item_key=" + item_key);
	
	remote_data_request(URL, "_RETURN=" + RETURN, "");
}

function win_overlay(src, width, height) {
	if (Object.isUndefined(OL) == true) {
		OL = new Overlay();
	}
	
	OverlayOptions = {
		iframeWidth: width,
		iframeHeight: height,
		iframe_path: src,
		iframe_content: iframe_cnt
	}
	
	OL.start();
}

function view_gallery(link, my_title){
	
	if (editor_is_open == 0) {
		myBox = new Boxy("<iframe src=\"" + link + "?" + Math.floor(Math.random() * 10000000000) + "\"  framespacing=\"0\" frameborder=\"no\" scrolling=\"no\" width=\"900\" height=\"600\"></iframe>", {
			title: my_title,
			// closeText: "[" + link_close + "]",
			closeText: "<span class='close_box'>[ <a href='#' class='close'>" + link_close + "</a> ] <a href='#' class='close'><img src='" + PATH_STATIC + "/img/site/btn_close.gif' align='absmiddle'></a></span>",
			closeable: true,
			draggable: true
		});
	}
	
	editor_is_open = 1;
}

function view_iframe(link, my_title, width, height, ele){
	
	ele = jQuery(ele);
	
	myBox = new Boxy("<iframe src=\"" + link + "?" + Math.floor(Math.random() * 10000000000) + "\"  framespacing=\"0\" frameborder=\"no\" scrolling=\"no\" width=\"" + width + "\" height=\"" + height + "\"></iframe>", {
		title: my_title,
		// closeText: "[" + link_close + "]",
		closeText: "<span class='close_box'>[ <a href='#' class='close'>" + link_close + "</a> ] <a href='#' class='close'><img src='" + PATH_STATIC + "/img/site/btn_close.gif' align='absmiddle'></a></span>",
		closeable: true,
		draggable: true
	});
	
	return myBox;
}

function show_bell(nr){
	var obj_mail_cnt_holder = jQuery("#mail_cnt_holder");
	
	if (nr > 0) {
		obj_mail_cnt_holder.removeClass("img_bell_off");
		obj_mail_cnt_holder.addClass("img_bell");
	}
	else {
		obj_mail_cnt_holder.removeClass("img_bell");
		obj_mail_cnt_holder.addClass("img_bell_off");
	}
}

function update_new_msg(nr){
	
	if (nr > 0) {
		jQuery("#cnt_new_msg").text("(" + nr + ")");
	}
	else {
		jQuery("#cnt_new_msg").text("");
	}
}

function check_new_messages() {
	
	var URL = do_link("site.remote", "request=check_new_messages");
	
	jQuery.getScript(URL, function(){
		
		update_new_msg(count_new_messages);
		show_bell(count_new_messages);
		
		setTimeout("check_new_messages();", 15000);
	});
}

// Link dom from the tab header
function jBoxShow(tab) {
	
	var ul = jQuery(tab).parents().get(2);
	var li = jQuery(tab).parents().get(1);
	var li = jQuery(li);
	
	if (li.is(":visible") === true) {
		jQuery(ul).find("li").each(function(i, v) {
			
			v = jQuery(v);
			v.removeClass("on");
			jQuery("#" + v.attr("rel")).hide();
			jQuery("#t" + v.attr("rel")).hide();
		
		});
		
		li.addClass("on");
		jQuery("#" + li.attr("rel")).show();
		jQuery("#t" + li.attr("rel")).show();
		
		if (draw_hash) {
			location.hash = li.attr("rel").substr(2);
		}
		
		draw_hash = true;
	}
}

var draw_hash = false;

// Header menu ID
function jAutoBox(menu) {
	
	var link = jQuery("#" + menu + " li#m_" + location.hash.substr(1) + ":visible a");
	
	// alert(link.length);
	
	if (link.length > 0) {
		jBoxShow(link);
	}
	// Get first visible link
	else {
		var new_link = jQuery("#" + menu + " li:visible:first a");
		
		// We have a link
		if (new_link.length > 0) {
			jBoxShow(new_link);
		}
	}
	
	// Bind events
	jQuery("#" + menu + " li a").click(function(e){
		jBoxShow(this);
		e.preventDefault(); e.stopPropagation();
	});
}

function jActiveRow(row) {
	
	// Bind events
	jQuery("." + row).mouseover(function(e){
		jQuery(this).attr("bg", jQuery(this).css("background-color"));
		jQuery(this).css({backgroundColor: "#FEFFDB"});
	});
	
	jQuery("." + row).mouseout(function(e){
		jQuery(this).css({backgroundColor: jQuery(this).attr("bg")});
	});
}

// Disable right click #######################################################

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 submit_search_form(form_name, button_name){
	
	var arr = button_name.split(",");
	
	if (!form_is_submitted) {
		
		for (var i=0; i<arr.length; i++) {
			eval("document." + form_name + "." + arr[i].replace(/\s/g,"") + ".disabled=true");
		}
		
		eval("document." + form_name + ".submit()");
		eval("submitted_form = '" + form_name + "'");
		eval("submission_button = '" + button_name + "'");
		form_is_submitted = 1;
	}
	
	return false;
}

function set_progress_bar(percent) {
	jQuery(".progress em").css({width: percent + '%'});
}

var global_timer;
var global_timer2;
var tab;
var tab2;

var all_main_sub;
var all_main_tabs;
var all_top_sub;
var all_top_tabs;

function top_menu_actions(){

	if (USR_logins_username == null) {
		jQuery(jQuery("#main_nav > ul > li:last ul li.top")).after("<li class=\"imp\"><a href=\"" + link_signup + "\" title=\"" + link_join_community + "\">" + link_join_community + "</a></li>");
	}
	
	all_main_sub = jQuery('#main_nav .sub');
	all_main_tabs = jQuery('#main_nav > ul > li');
	all_top_sub = jQuery('#top_menu ul');
	all_top_tabs = jQuery('#top_menu > li');
	
	jQuery(".sub", "#main_nav").each(function(i, v){
		jQuery(".r_shadow em", this).height(jQuery(this).height() - 22);
	});
	
	jQuery(".r_shadow em", "#main_nav").height();
	
	// Assign actions for topmenu
	jQuery("> li", "#top_menu").hover(function(e){
		if (jQuery("ul", this).length > 0) {
			clearTimeout(global_timer2);
			tab2 = jQuery(this);
			global_timer2 = setTimeout("all_main_sub.hide();all_main_tabs.removeClass('on');all_top_sub.hide();all_top_tabs.removeClass('on');jQuery('ul', tab2).show();tab2.addClass('on');", 10);
		}
	}, function(e){
		if (jQuery("ul", this).length > 0) {
			clearTimeout(global_timer2);
			tab2 = jQuery(this);
			global_timer2 = setTimeout("jQuery('ul', tab2).hide();tab2.removeClass('on');", 500);
		}
	});
	
	// Assign actions for submenu
	jQuery("> ul > li", "#main_nav").hover(function(e){
		if (jQuery(".sub", this).length > 0) {
			clearTimeout(global_timer);
			tab = jQuery(this);
			global_timer = setTimeout("all_top_sub.hide();all_top_tabs.removeClass('on');all_main_sub.hide();all_main_tabs.removeClass('on');jQuery('.sub', tab).show();tab.addClass('on');", 10);
		}
	}, function(e){
		if (jQuery(".sub", this).length > 0) {
			clearTimeout(global_timer);
			tab = jQuery(this);
			global_timer = setTimeout("jQuery('.sub', tab).hide();tab.removeClass('on');", 500);
		}
	});
	
	jQuery("#" + menu_sel).addClass("selected");
	
	jQuery("#add2fav_cont").append("<a href=\"#\" id=\"add2fav\" class=\"light_on\" rel=\"nofollow\">" + jQuery("#add2fav_cont").metadata().text + "</a>");
	jQuery("#add2fav").jFav();
	
	if (jQuery.fn.bgIframe == undefined) {
		jQuery.fn.bgIframe = function() {return this; };
	};
	
	all_main_sub.bgIframe();
}