/**
 * Funkcje JavaScript  
 *
 * @version 1.0
 */

//==========================================
// Toggle category
//==========================================

function togglecategory( fid )
{
	//-----------------------------------
	// Add?
	//-----------------------------------
	
	tmp = my_getbyid( 'fc_'+fid  );
	
	if(tmp.style.display == 'none')
	{
		my_show_div( my_getbyid( 'fc_'+fid  ) );
	}
	
	else
	{
		my_hide_div( my_getbyid( 'fc_'+fid  ) );
	}
}

//==========================================
// Get element by id
//==========================================

function my_getbyid(id)
{
	itm = null;
	
	if (document.getElementById)
	{
		itm = document.getElementById(id);
	}
	else if (document.all)
	{
		itm = document.all[id];
	}
	else if (document.layers)
	{
		itm = document.layers[id];
	}
	
	return itm;
}


//==========================================
// Set DIV ID to hide
//==========================================

function my_hide_div(itm)
{
	if ( ! itm ) return;
	
	itm.style.display = "none";
}

//==========================================
// Set DIV ID to show
//==========================================

function my_show_div(itm)
{
	if ( ! itm ) return;
	
	itm.style.display = "";
}

function addText(elname, wrap1, wrap2) {
    if (document.selection) { // for IE
            var str = document.selection.createRange().text;
            document.forms['addComment'].elements[elname].focus();
            var sel = document.selection.createRange();
            sel.text = wrap1 + str + wrap2;
            return;
    } else if ((typeof document.forms['addComment'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
            var txtarea = document.forms['addComment'].elements[elname];
            var selLength = txtarea.textLength;
            var selStart = txtarea.selectionStart;
            var selEnd = txtarea.selectionEnd;
            var oldScrollTop = txtarea.scrollTop;
            //if (selEnd == 1 || selEnd == 2)
            //selEnd = selLength;
            var s1 = (txtarea.value).substring(0,selStart);
            var s2 = (txtarea.value).substring(selStart, selEnd)
            var s3 = (txtarea.value).substring(selEnd, selLength);
            txtarea.value = s1 + wrap1 + s2 + wrap2 + s3;
            txtarea.selectionStart = s1.length;
            txtarea.selectionEnd = s1.length + s2.length + wrap1.length + wrap2.length;
            txtarea.scrollTop = oldScrollTop;
            txtarea.focus();
            return;
    } else {
            insertText(elname, wrap1 + wrap2);
    }
}

function insertText(elname, what) {
    if (document.forms['addComment'].elements[elname].createTextRange) {
            document.forms['addComment'].elements[elname].focus();
            document.selection.createRange().duplicate().text = what;
    } else if ((typeof document.forms['addComment'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
            var tarea = document.forms['addComment'].elements[elname];
            var selEnd = tarea.selectionEnd;
            var txtLen = tarea.value.length;
            var txtbefore = tarea.value.substring(0,selEnd);
            var txtafter =  tarea.value.substring(selEnd, txtLen);
            var oldScrollTop = tarea.scrollTop;
            tarea.value = txtbefore + what + txtafter;
            tarea.selectionStart = txtbefore.length + what.length;
            tarea.selectionEnd = txtbefore.length + what.length;
            tarea.scrollTop = oldScrollTop;
            tarea.focus();
    } else {
            document.forms['addComment'].elements[elname].value += what;
            document.forms['addComment'].elements[elname].focus();
    }
}

function addNewComment()
{
	var name = document.addComment.commentName.value;
	var email = document.addComment.commentEmail.value;
	var site = document.addComment.commentSite.value;
	var coments = document.addComment.commentComment.value;
	var articleID = document.addComment.articleID.value;
	var add = document.getElementById("sendComment");

	if(checkData())
	{
  		url = "addComment.html";
  		params = "commentName=" + encodeURI(name);
  		params += "&commentEmail=" + encodeURI(email);
  		params += "&commentSite=" + encodeURI(site);
  		params += "&commentComment=" + encodeURI(coments);
  		params += "&articleID=" + encodeURI(articleID);
  		params += "&ajaxUse=" + encodeURI(articleID);

  		addComments(url, params);
  		add.disabled = true;
  		
	}
	
	return false;
}

function createXMLHTTPRequest()
{

	if (typeof XMLHttpRequest != 'undefined') 
	{
		try 
		{
			return new XMLHttpRequest();
		} 
		catch (err) 
		{
			alert("Błąd inicjalizacji XMLHTTP.\n" + err);
		}
	}  
	else 
	{
		var msobj = new Array("Msxml2.XMLHTTP.6.0",
							"Msxml2.XMLHTTP.5.0",
							"Msxml2.XMLHTTP.4.0",
							"Msxml2.XMLHTTP.3.0",
							"Msxml2.XMLHTTP",
							"Microsoft.XMLHTTP");
		var x, len = msobj.length;
		for(x=0; x<len; ++x) 
		{
			try 
			{
				return new ActiveXObject(msobj[x]);
				
			} 
			catch (err) {};
		}
	}
}


function addComments(url, params)
{
  var XMLHttp = createXMLHTTPRequest();
  if(XMLHttp)
  {
    XMLHttp.open('POST', url, true);
    XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    XMLHttp.setRequestHeader("Content-length", params.length);
    XMLHttp.setRequestHeader("Connection", "close");
    XMLHttp.onreadystatechange = function()
    {
		document.getElementById('response').innerHTML='';
		if (XMLHttp.readyState == 4)
		{
			if(XMLHttp.status == 200)
			{
				var resp = XMLHttp.responseText;
				document.getElementById('response').innerHTML=resp;
				document.getElementById('response').style.display = '';
			}
		}
    }
    XMLHttp.send(params);
  }
}

function checkEmail(email)
{
	var re = new RegExp("^([_a-z0-9-]+(\.[_a-z0-9-]+)*){3,}@([0-9a-z]{2,}(-?[0-9a-z])*\.)+[a-z]{2}([zmuvtg]|fo|me)?$", "gi");
	var wynik = re.test(email);

	if (!wynik)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function throwErrorMsg(arg)
{
	return 'Pole "' +arg+ '" nie może być puste!';
}

function checkData()
{
	var name = document.addComment.commentName;
	var email = document.addComment.commentEmail;
	var coments = document.addComment.commentComment;

	var errors = document.getElementById("errorsComment");
	
	var errorsMessage = '';
				
	
	if(name.value == '')
	{
		name.style.border = "1px solid #FF0000";
		errorsMessage += throwErrorMsg('Imię/Nick');
		errorsMessage += "<br />";
	}
	else
	{
		name.style.border = "1px solid #8cacbb";
	}
	
	if(email.value == '')
	{
		email.style.border = "1px solid #FF0000";
		errorsMessage += throwErrorMsg('Adres email');
		errorsMessage += "<br />";
	}
	else
	{
		if(checkEmail(email.value))
		{
			email.style.border = "1px solid #8cacbb";
		}
		else
		{
			email.style.border = "1px solid #FF0000";
			errorsMessage += '<br />Podany adres email jest niepoprawny!';
			errorsMessage += "<br />";
		}
	}
	
	
	
	
	if(coments.value == '')
	{
		coments.style.border = "1px solid #FF0000";
		errorsMessage += throwErrorMsg('Treść komentarza');
	}
	else
	{
		coments.style.border = "1px solid #8cacbb";
	}
	
	if(errorsMessage != '')
	{
		errors.style.display = '';
		errors.innerHTML = errorsMessage;
		return false;
	}
		
	errors.style.display = 'none';
		
	return true;	
}

/*--------------------------------------------*/
//Fix linked images (normal IMGs)
/*--------------------------------------------*/

function fix_linked_image_sizes()
{
	var images   = document.getElementsByTagName( 'IMG' );
	var _padding = 2;
	var _count   = 0;
	var _img     = '<img src="img/img-resized.png" style="vertical-align:middle" border="0" alt="" />';
	var _img2    = '<img src="img/attach_zoom_in.png" style="vertical-align:middle" border="0" alt="" />';
	var _sw      = screen.width * ( 60 / 100 );
	
	for ( var i = 0 ; i < images.length; i++ )
	{
		if ( images[i].className == 'linked-image' || images[i].className == 'bbc_img')
		{
			//-----------------------------------------
			// Inc. counter
			//-----------------------------------------
			
			_count++;
			
			//-----------------------------------------
			// Set up basics...
			//-----------------------------------------
			
			if ( images[i].width > _sw )
			{
				//-----------------------------------------
				// Grab some details...
				//-----------------------------------------

				var _width   = images[i].width;
				var _height  = images[i].height;
				var _percent = 0;
				
				//-----------------------------------------
				// Work out percentage
				//-----------------------------------------
				
				images[i].width  = _sw;
				
				if ( images[i].width < _width && _width > 0 && images[i].width > 0 )
				{
					_percent = Math.ceil( parseInt( images[i].width / _width * 100 ) );
				}
				
				images[i].id          = '--ipb-img-resizer-' + _count;
				images[i]._resized    = 1;
				images[i]._width      = _width;
				
				//-----------------------------------------
				// Add in wrapper
				//-----------------------------------------

				var div = document.createElement( 'div' );
				
				
				div.innerHTML            = _img + '&nbsp; Reduced: ' +_percent + '% from the original size [ '+ _width+' x '+_height+' ] -  Click to see the whole picture';
				div.style.width          = images[i].width - ( _padding * 2 ) + 'px';
				div.className            = 'resized-linked-image';
				div.style.paddingTop     = _padding + "px";
				div.style.paddingBottom  = _padding + "px";
				div.style.paddingLeft    = _padding + "px";
				div.style.paddingRight   = _padding + "px";
				div._is_div              = 1;
				div._resize_id           = _count;
				div.onclick     		 = fix_linked_images_onclick;
				div.onmouseover 		 = fix_linked_images_mouseover;
				div.title       		 = 'Kliknij aby zobaczyć cały obrazek';
				div._src        		 = images[i].src;
				
				images[i].parentNode.insertBefore( div, images[i] );
			}
		}
	}
}

function fix_linked_images_onclick(e)
{
	//-----------------------------------------
	// Div clicked 
	//-----------------------------------------
	
	PopUp( this._src, 'popup',screen.width,screen.height,1,1,1);
	
	return false;
}

function fix_linked_images_mouseover(e)
{
	try
	{
		this.style.cursor='pointer';
	}
	catch(acold)
	{
	}

}

function PopUp(url, name, width,height,center,resize,scroll,posleft,postop)
{
	showx = "";
	showy = "";
	
	if (posleft != 0) { X = posleft; }
	if (postop  != 0) { Y = postop;  }
	
	if (!scroll) { scroll = 1; }
	if (!resize) { resize = 1; }
	
	if ((parseInt (navigator.appVersion) >= 4 ) && (center))
	{
		X = (screen.width  - width ) / 2;
		Y = (screen.height - height) / 2;
	}
	
	if ( X > 0 )
	{
		showx = ',left='+X;
	}
	
	if ( Y > 0 )
	{
		showy = ',top='+Y;
	}
	
	if (scroll != 0) { scroll = 1; }
	
	var Win = window.open( url, name, 'width='+width+',height='+height+ showx + showy + ',resizable='+resize+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no');
}
