var posX, posY;

document.onmousemove=function(e){posX= (e=e||event).clientX; posY= e.clientY}

function redirect(url)
{
	window.location = url;
}

function popUp(url, width, height)
{
	newWindow = window.open(url, 'CMS', 'menubar=no, toolbar=no, location=no, scrollbars=yes, resizable=yes, status=no, width='+width+', height='+height);
}

function addfav()
{
	if (document.all)
     {
		window.external.AddFavorite("http://www.webdevelopersnotes.com","WebDevelopersNotes")
	}
}

//zaznaczanie i odznaczanie checkboxow
function checkboxAdmin(name, maxId, check)
{
	for(var i = 0; i < maxId; i++)
	{
		if(document.getElementById(name + '_' + i))
		{
			document.getElementById(name + '_' + i).checked = check;
		}
	}
}

function startSearch(urll)
{
	var urll;
	
	if(!checkField('searchFormMain', 'keyWordMain'))
	{
		return;
	}
			
	if (document.getElementById('query') && document.getElementById('query').value == "")
	{
		alert("Nie podano żadnego adresu.");
	}
	else
	{
		if(urll)
		{
			document.searchFull.action = urll;
		}
		document.forms['searchFormMain'].submit();
	}
}

function showTellFriend(id)
{
	var d = document.getElementById(id);
	
	d.style.top = posX - 410  + 'px';
	d.style.left = posY - 250 + 'px';
	d.style.display = 'block';
}

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher.
{
        for(var i=0; i<document.images.length; i++)
	{
		var img = document.images[i]
		var imgName = img.src.toUpperCase();
		alert(imgName);
		if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
		{
			var imgID = (img.id) ? "id='" + img.id + "' " : ""
			var imgClass = (img.className) ? "class='" + img.className + "' " : ""
			var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
			var imgStyle = "display:inline-block;" + img.style.cssText
			var imgAttribs = img.attributes;
			for (var j=0; j<imgAttribs.length; j++)
			{
				var imgAttrib = imgAttribs[j];
				if (imgAttrib.nodeName == "align")
				{
					if (imgAttrib.nodeValue == "left") imgStyle = "float:left;" + imgStyle
					if (imgAttrib.nodeValue == "right") imgStyle = "float:right;" + imgStyle
					break
				}
			}
			var strNewHTML = "<span " + imgID + imgClass + imgTitle
			strNewHTML += " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			strNewHTML += "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
			if(img.className != 'sideboxstar') {
				img.outerHTML = strNewHTML
				i = i-1
			}
		}
	}
}

/*
if(navigator.appName == 'Microsoft Internet Explorer')
{
	window.attachEvent("onload", correctPNG);
}
*/

function showHide(id)
{
	var obj = document.getElementById(id);
	
	if(obj.style.display == 'none')
	{
		obj.style.display = 'block';
		return false;
	}
	
	obj.style.display = 'none';
	return false;
}

function hideAndReplace(link, toHideId, noAction)
{
	if(!link)
	{
		return false;
	}
	
	var next;
	 
	if(!noAction)
	{
		showHide('ul_' + toHideId);
	}
	
	document.getElementById(link + '_' + toHideId).style.display = 'none';
	
	if(link == 'a1')
	{
		next = 'a2'; 
	}
	else
	{
		next = 'a1';
	}	
	
	document.getElementById(next + '_' + toHideId).style.display = '';
	SetCookie(toHideId, next);
}

function SetCookie(cookieName,cookieValue,nDays) 
{
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays==0) nDays=1;
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return 0;
}

function actionTopBox(name)
{
	var tmp = readCookie(name);

	if(!tmp)
	{
		tmp = 'a1';
	}
	
	if(tmp == 'a1')
	{
		hideAndReplace('a2', name, true);
	}
	else
	{
		hideAndReplace('a1', name);
	}	
}

function addslashes( str ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Ates Goral (http://magnetiq.com)
    // +   improved by: marrtins
    // +   improved by: Nate
    // +   improved by: Onno Marsman
    // *     example 1: addslashes("kevin's birthday");
    // *     returns 1: 'kevin\'s birthday'

    return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");
}

function urldecode( str ) {
  alert(str);
  // http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir
    // %          note: info on what encoding functions to use from: http://xkr.us/articles/javascript/encode-compare/
    // *     example 1: urldecode('Kevin+van+Zonneveld%21');
    // *     returns 1: 'Kevin van Zonneveld!'
    // *     example 2: urldecode('http%3A%2F%2Fkevin.vanzonneveld.net%2F');
    // *     returns 2: 'http://kevin.vanzonneveld.net/'
    // *     example 3: urldecode('http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a');
    // *     returns 3: 'http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a'
    
    var histogram = {};
    var ret = str.toString();
    
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
    
    // The histogram is identical to the one in urlencode.
    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['%20'] = '+';
 
    for (replace in histogram) {
        search = histogram[replace]; // Switch order when decoding
        ret = replacer(search, replace, ret) // Custom replace. No regexing   
    }
    
    // End with decodeURIComponent, which most resembles PHP's encoding functions
    ret = decodeURIComponent(ret);
 
    return ret;
}