/**
 * Project:     Mediaani Content 2.0
 * File:        common.js
 *
 * @link http://www.mediaani.fi
 * @copyright 2007, Mediaani
 * @author Jari Lehtinen <jari.lehtinen@mediaani.fi>
 * @package MediaaniContent20
 * @version 2.000
 */

var cms_window_width = 0;
var cms_document_width = 0;
var cms_mouse_x = 0;
var cms_mouse_y = 0;

$(document).ready(function() {
	cms_window_width = $(window).width();
	cms_document_width = $(document).width();

	// Mouse coordinates
	$().mousemove(function(e){
		cms_mouse_x = e.pageX;
		cms_mouse_y = e.pageY;
	}); 
});

/**
 * None
 */
function none() {
}

/**
 * Back
 */
function go_back() {
	history.go(-1);
}

/**
 * Go to
 */
function go_to(url) {
	document.location = url;
}

/**
 * FCKeditor focus
 */
function focus_fckeditor(caller, tabTargetId, callEvent) {
    // If keypress TAB and not SHIFT+TAB 
    if(callEvent.keyCode == 9 && !callEvent.shiftKey) {
        document.getElementById(tabTargetId+"___Frame").contentWindow.focus();
	}
}

/**
 * Find element position
 */
function find_pos_x(element_id) {
	var el = document.getElementById(element_id);
	var el_top = 0;
	var el_left = 0;

	while(el != document.body){
		el_left += el.offsetLeft;
		el = el.offsetParent;
	}

	return(el_left);
}

function find_pos_y(element_id) {
	var el = document.getElementById(element_id);
	var el_top = 0;
	var el_left = 0;

	while(el != document.body){
		el_top += el.offsetTop;
		el = el.offsetParent;
	}

	return(el_top);
}

/**
 * Get scroll coordinates
 */
var scroll_top = 0;
var scroll_left = 0;

function get_scroll_xy() {
	if( typeof( window.pageYOffset ) == 'number' ) {
		// Netscape compliant
		scroll_top = window.pageYOffset;
		scroll_left = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		// DOM compliant
		scroll_top = document.body.scrollTop;
		scroll_left = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		// IE6 standards compliant mode
		scroll_top = document.documentElement.scrollTop;
		scroll_left = document.documentElement.scrollLeft;
	}
}

/**
 * Allow tab character
 */
function allow_tab_character() {
   if (event != null) {
      if (event.srcElement) {
         if (event.srcElement.value) {
            if (event.keyCode == 9) {  // tab character
               if (document.selection != null) {

                  document.selection.createRange().text = '\t';
                  event.returnValue = false;
               }
               else {
                  event.srcElement.value += '\t';
                  return false;
               }
            }
          }
      }
   }
}

/**
 * Item checked
 */
function item_moderated(url,data,el) {
	$.ajax({
		type: "GET",
		url: url,
		data: data,
		success: function(result){
			if(result == "OK") {
				$("#"+el).addClass("moderated");
			} else {
				alert("VIRHE - "+result);
			}			
		}
	});
}

/**
 * Show tooltip
 */
var cms_refresh_tooltip_location = false;
var cms_tooltip_el = false;
var cms_tooltip_width = false;
var cms_tooltip_height = false;

function cms_show_tooltip(id) {
	cms_tooltip_el = document.getElementById(id);
	
	cms_tooltip_width = $(cms_tooltip_el).width();
	cms_tooltip_height = $(cms_tooltip_el).height();
	
	cms_refresh_tooltip_location = true;
	cms_move_tooltip(cms_tooltip_el);
	cms_tooltip_el.style.display = 'block';
}

function cms_hide_tooltip(id) {
	cms_refresh_tooltip_location = false;
	document.getElementById(id).style.display = 'none';
}

function cms_move_tooltip(cms_tooltip_el) {
	if(cms_tooltip_el && cms_refresh_tooltip_location) {
		cms_tooltip_el.style.top = (cms_mouse_y - (cms_tooltip_height * 2) - 10) + 'px';
		cms_tooltip_el.style.left = (cms_mouse_x - 20) + 'px';
		setTimeout("cms_move_tooltip(cms_tooltip_el)", 10);
	}
}

