var popupWins = new Array();

function openWin(url, size_x, size_y, scroll, name, resizable)
{
	if(name == "undefined") {
		name = "win";
	}
	
	if(scroll == undefined) {
		scroll = "no";
	}
	
	if(resizable == undefined) {
		resizable = "no";
	}
	
	
	if ( typeof( popupWins[name] ) == "object" ){
		if (!popupWins[name].closed) {
			popupWins[name].close();
		}
	}

	if(size_x==0 && size_y==0) { size_1=600, size_2=500 } else { size_1=size_x, size_2=size_y }
	LeftPosition = (screen.width) ? (screen.width-size_x)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-size_y)/2 : 0;
	
	msgWindow = window.open(url, name, "width="+size_1+",height="+size_2+", top="+TopPosition+", left="+LeftPosition+",  resizable="+resizable+", status='no', toolbar='no', menubar='no', scrollbars="+scroll+" ");
	if(window.focus) {
		msgWindow.focus();
	}
	
	popupWins[name] = msgWindow;
	return msgWindow;
}

function check_for_delete()
{
	var ok = confirm("Are you sure you wish to continue?");
	if(ok == true)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function confirm_button_action(sms)
{
	var ok = confirm(sms);
	if(ok == true)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function check_for_entered_data(datafield_id, sms)
{
	if(document.getElementById(datafield_id).value != "")
	{
//		opener.location.reload(true); 
//		self.close();
		return true;
	}
	else
	{
		alert(sms);
		return false;
	}
}

//--------- < ------- friend navigation menu -------------------------------
var t = new Array();
var t2 = new Array();
var menuDivActive = false;

function hide_menu_div(id)
{
	menuDivActive = false;
	clearTimeout(t[id]);
	clearTimeout(t2[id]);
	t[id] = setTimeout("hide_menu_div_act('"+id+"')", 400);
}

function hide_menu_div_act(id)
{
	if(!menuDivActive){
		document.getElementById(id).style.display='none';
	}
}

function show_menu_div(id)
{
	menuDivActive = true;
	clearTimeout(t[id]);
	clearTimeout(t2[id]);
	t2[id] = setTimeout("show_menu_div_act('"+id+"')", 400);
}

function show_menu_div_act(id)
{
	document.getElementById(id).style.display='inline';
}

function change_bg_on(id)
{
	document.getElementById(id).style.background='#67bfd3';
	document.getElementById(id).style.color='#FFFFFF';
}

function change_bg_off(id)
{
	document.getElementById(id).style.background='#515151';
	document.getElementById(id).style.color='#b1b1b1';
}


//onmouseout="hide_menu_div('{friend_id}')"
//onmouseover="show_menu_div('{friend_id}')"
//--------- > ------------------------------------------------------------

//var newwindow;
//
//function popdetails(url)
//{
//	newwindow=window.open(url,'popdetails','height=500,width=600,resizable=yes,scrollbars=yes,status=yes');
//	if(window.focus) {newwindow.focus()}
//}

function poppeer(url)
{
	newwindow=window.open(url,'poppeers','height=400,width=700,resizable=yes,scrollbars=yes');
	if(window.focus) {newwindow.focus()}
}

function checkAll(form, what)
{
	//alert(what);
	//alert(form.elements.length);
	for(var i = 0; i < form.elements.length; i++)
	{
		//alert(form.elements[i]);
		var e = form.elements[i];
		if(e.type == 'checkbox') 
		{
			e.checked = !e.checked;
			what.checked = !what.checked;
		}
		//e.checked = form[what.name].checked;
	}
}

function add_flash(url, params, vars, w, h, version, id) 
{		
	document.write('<object id="'+id+'" type="application/x-shockwave-flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+version+'" width="'+w+'" height="'+h+'" >\n');
	document.write('<param name="movie" value="'+url+'"/>\n');
	
	var a = new Array();
	a = params;
	var emb = "";
	for(var i = 0; i < a.length; i++) {
		document.write('<param name="'+a[i][0]+'" value="'+a[i][1]+'"/>\n');
		emb += a[i][0]+'="'+a[i][1]+'" '; 
	}
	
	document.write('<embed name="'+id+'" src="'+url+'" flashvars="'+vars+'" '+emb+' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed>\n');
	document.write('</object>\n');	
}

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 {  	
    return document.getElementById(movieName);
  }
}


//-----------< ----- message functions ----------------------------
function storeCaret(text)
{
    // Only bother if it will be useful.
    if(typeof(text.createTextRange) != 'undefined') text.caretPos = document.selection.createRange().duplicate();
}

function SmileIT(smile,textarea)
{
	textarea = document.getElementById(textarea);
    if(typeof(textarea.caretPos) != 'undefined' && textarea.createTextRange) // Attempt to create a text range (IE).
    {
        var caretPos = textarea.caretPos;
        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? smile + ' ' : smile
        caretPos.select();
    }
    else if(typeof(textarea.selectionStart) != 'undefined') // Mozilla text range replace.
    {
        var begin = textarea.value.substr(0, textarea.selectionStart);
        var end = textarea.value.substr(textarea.selectionEnd);
        var scrollPos = textarea.scrollTop;

        textarea.value = begin + smile + end;

        if(textarea.setSelectionRange)
        {
            textarea.focus();
            textarea.setSelectionRange(begin.length + smile.length, begin.length + smile.length);
        }
        textarea.scrollTop = scrollPos;
    }
    // Just put it on the end.
    else
    {
        textarea.value += smile;
        textarea.focus(textarea.value.length - 1);
    }
}

function PopMoreSmiles(name) 
{
	link='moresmiles.php?text='+name
	newWin=window.open(link,'moresmile','height=600,width=350,resizable=yes,scrollbars=yes');
	if(window.focus) {newWin.focus()}
}

function BBTag(opentag, closetag, textarea)
{
	textarea = document.getElementById(textarea);
	
    // Can a text range be created?
    if(typeof(textarea.caretPos) != 'undefined' && textarea.createTextRange)
    {
        var caretPos = textarea.caretPos, temp_length = caretPos.text.length;

        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? opentag + caretPos.text + closetag + ' ' : opentag + caretPos.text + closetag;

        if (temp_length == 0)
        {
            caretPos.moveStart('character', -closetag.length);
            caretPos.moveEnd('character', -closetag.length);
            caretPos.select();
        }
        else
            textarea.focus(caretPos);
    }
    else if (typeof(textarea.selectionStart) != 'undefined') // Mozilla text range wrap.
    {
        var begin = textarea.value.substr(0, textarea.selectionStart);
        var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
        var end = textarea.value.substr(textarea.selectionEnd);
        var newCursorPos = textarea.selectionStart;
        var scrollPos = textarea.scrollTop;

        textarea.value = begin + opentag + selection + closetag + end;

        if (textarea.setSelectionRange)
        {
            if (selection.length == 0)
                textarea.setSelectionRange(newCursorPos + opentag.length, newCursorPos + opentag.length);
            else
                textarea.setSelectionRange(newCursorPos, newCursorPos + opentag.length + selection.length + closetag.length);
            textarea.focus();
        }
        textarea.scrollTop = scrollPos;
    }
    else // Just put them on the end, then.
    {
        textarea.value += opentag + closetag;
        textarea.focus(textarea.value.length - 1);
    }
}
//---------- > ----------------------------------------------------


//---------- < ---- rating ----------------------------------------
function fill_rating_stars(star_num, img_root)
{
	for(i=1; i<=star_num; i++)
	{
		document.getElementById('star'+i+'_id').src= img_root+'rating/full_star.gif';
	}
}

function reset_stars(img_root)
{
	for(i=1; i<=5; i++)
	{
		document.getElementById('star'+i+'_id').src= img_root+'rating/empty_star.gif';
	}
}
function fill_rating_slots(slot_num, img_root, fill_mark)
{
 	var img_name = '';
 	var str = '';
 	slot_num=slot_num;
 	//alert(slot_num);
	for(i=0; i<=slot_num; i++)
	{
		if(i<=9) 
		{
			img_name = '1_'+i+'.gif';
			if(!fill_mark) document.getElementById('mark_on_screen_id').value = '1.'+i;	
		}
		else 
		{
			str=''+(i+10);
			img_name = str.substring(0, 1)+'_'+str.substring(1, 2)+'.gif';
			if(!fill_mark) document.getElementById('mark_on_screen_id').value = str.substring(0, 1)+'.'+str.substring(1, 2);
		}
		
		document.getElementById('slot_'+i+'_id').src= img_root+'rating/slots/'+img_name;
	}
}

function reset_slots(img_root, reset_sk)
{
	for(i=(reset_sk-1); i<=40; i++)
	{
		document.getElementById('slot_'+i+'_id').src= img_root+'rating/slots/empty_slot.gif';
		if(i==0) document.getElementById('slot_'+i+'_id').src= img_root+'rating/slots/empty_1.gif';
		if(i==10) document.getElementById('slot_'+i+'_id').src= img_root+'rating/slots/empty_2.gif';
		if(i==20) document.getElementById('slot_'+i+'_id').src= img_root+'rating/slots/empty_3.gif'; 
		if(i==30) document.getElementById('slot_'+i+'_id').src= img_root+'rating/slots/empty_4.gif';
		if(i==40) document.getElementById('slot_'+i+'_id').src= img_root+'rating/slots/empty_5.gif';
		document.getElementById('mark_on_screen_id').value = '0.0';
	}
}
//---------- > ----------------------------------------------------


function check_comment_for_length(elem_id, maxsize)
{
	elem = document.getElementById(elem_id);
	str = elem.value;
	
	if(str.length > maxsize)
	{
		elem.value = str.slice(0, maxsize)	
	}
		
	return maxsize-(str.length);
}

function jsround(number)
{
	number =  Math.round(number*100)/100;
	return number
}


function confirm_button_action_del_cli(sms, id, double_check, sms2)
{
	var ok = confirm(sms);
	if(ok == true)
	{
		if(double_check == "yes")
		{
			var ok2 = confirm(sms2);
			if(ok2 == true)
			{
				document.getElementById('hidden_delete_row_id').value=id;
				return true;
			}
			else
			{
				return false;
			}
		}
		else
		{
			document.getElementById('hidden_delete_row_id').value=id;
			return true;
		}
	}
	else
	{
		return false;
	}
}


function toggle_block(_this, id, eff) {
	if (_this.className.indexOf('click-active') == -1) {
		$(_this).addClass('click-active');
		switch (eff) {
			case 'slide':
				$('#' + id).slideDown('slow');
				break;
			default:
				$('#' + id).fadeIn('slow');
		}
	} else {
		$(_this).removeClass('click-active');
		switch (eff) {
			case 'slide':
				$('#' + id).slideUp('slow');
				break;
			default:
				$('#' + id).fadeOut('slow');
		}
	}
	
	_this.blur();
}


function check_for_number(input_id)
{
	var check_value = document.getElementById(input_id).value;
	
	if(isNaN(check_value))
	{
		document.getElementById(input_id).value = 0;
	}
	else
	{
		// do nothing
	}
}

function blinker(object_id)
{
	if (document.all)
	{
		if(document.getElementById(object_id).style.visibility=="visible" || document.getElementById(object_id).style.visibility=="")
		{
			document.getElementById(object_id).style.visibility="hidden";
		}
		else
		{
			document.getElementById(object_id).style.visibility="visible";
		}
		
		var func_name = "blinker('"+object_id+"')";
		setTimeout(func_name, 650);
	}
}



// ---- debug functions 
function isObject(obj) 
{
	return obj.constructor == Object;
}

function print_object(object, level)
{
    var tab = '';
    if(level > 0){
    for(i = 0; i < level; i++) tab += '\t';
    }
    var str = '';
    for(prop in object) {
    if(!isObject(object[prop])) str += tab + prop + ' value :' + object[prop] + '\n';
    else str += tab + prop + '\n' + print_object(object[prop], level + 1);
    }
    return str;
}

//example
//alert(print_object(U.menu['CRM'], 0));


// For FireFox
//console.log(U.menu['CRM']);
				
				

