var slider_arrow = 'http://www.myplanet.bg/images/default/mp_slider_arrow.gif';
var slider_line_width = 82;
var slider_start_x;
var slider_end_x;

var _startX; // mouse starting positions
var _startY;

var _offsetX; // current element offset
var _offsetY;

var _dragElement; // needs to be passed from OnMouseDown to OnMouseMove
var _oldZIndex = 0; // we temporarily increase the z-index during drag
var _fontElement = new Array();;

var _minFontSize = 10;
var _maxFontSize = 18;
var _fontStep;
var _currFontSize = 12;

InitDragDrop();

function InitDragDrop()
{
	if(Get_Cookie('fontSize')) _currFontSize = Get_Cookie('fontSize');
	
	document.onmousedown = OnMouseDown;
	document.onmouseup = OnMouseUp;
}

function OnMouseDown(e)
{
	// IE is retarded and doesn't pass the event object
	if (e == null) e = window.event;
	
	// for IE, left click == 1
	// for Firefox, left click == 0
	if ((e.button == 1 && window.event != null || e.button == 0) && _dragElement)
	{
		// grab the mouse position
		_startX = e.clientX;
		_startY = e.clientY;
		
		// grab the clicked element's position
		_offsetX = ExtractNumber(_dragElement.style.left);
		_offsetY = ExtractNumber(_dragElement.style.top);
		
		// bring the clicked element to the front while it is being dragged
		_oldZIndex = _dragElement.style.zIndex;
		_dragElement.style.zIndex = 10000;
		
		// tell our code to start moving the element with the mouse
		document.onmousemove = OnMouseMove;
		
		// cancel out any text selections
		//document.body.focus();
		
		// prevent text selection in IE
		document.onselectstart = function () { return false; };
		
		// prevent text selection (except IE)
		return false;
	}
}

function OnMouseMove(e)
{
	if (e == null) var e = window.event;
	
	// this is the actual "drag code"
	_dragElement.style.left = (_offsetX + e.clientX - _startX) + 'px';
	if((_offsetX + e.clientX - _startX) > slider_end_x)
	{
		_dragElement.style.left = slider_end_x + 'px';
	}
	else if((_offsetX + e.clientX - _startX) < slider_start_x)
	{
		_dragElement.style.left = slider_start_x + 'px';
	}
	else
	{
		for(var i = 0; i < _fontElement.length; i++)
		{
			if(document.getElementById(_fontElement[i]))
			{
				document.getElementById(_fontElement[i]).style.fontSize = parseInt(_minFontSize + (ExtractNumber(_dragElement.style.left) / _fontStep)) + 'px';
			}
		}
	}
	  
	return false;
}   

function OnMouseUp(e)
{
	if (_dragElement != null)
	{
		_dragElement.style.zIndex = _oldZIndex;
		
		// we're done with these events until the next OnMouseDown
		document.onmousemove = null;
		document.onselectstart = null;
		
		_dragElement = null;
		
		Set_Cookie( 'fontSize', ExtractNumber(document.getElementById(_fontElement[0]).style.fontSize), 30, '/', 'http://www.myplanet.bg/', '' );
	}
}

function ExtractNumber(value)
{
	var n = parseInt(value);
	return n == null || isNaN(n) ? 0 : n;
}

function setSlider(e, tid)
{
	_dragElement = tid;
}

function initVariable(tid, textid)
{
	var prepTarget = document.getElementById(tid);
	_fontElement = textid;
	slider_start_x = ExtractNumber(prepTarget.style.left);
	slider_end_x = slider_start_x + slider_line_width;
	
	_fontStep = (slider_end_x - slider_start_x) / (_maxFontSize - _minFontSize);
	
	prepTarget.style.left = (_currFontSize - _minFontSize) * _fontStep + 'px';
	
	for(var i = 0; i < _fontElement.length; i++)
	{
		if(document.getElementById(_fontElement[i]))
		{
			document.getElementById(_fontElement[i]).style.fontSize = _currFontSize + 'px';
		}
	}
}

function Set_Cookie( name, value, expires, path, domain, secure ) 
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

// this function gets the cookie, if it exists
function Get_Cookie( name )
{
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	
	return unescape( document.cookie.substring( len, end ) );
}
