function stripPercent(x)
{
	x = unescape(x);
	return x.replace(/\+/g," ").replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function getRef()
{
	ref = document.referrer;
	re = /(\?|&)(q|p|query|encquery|qt|terms|rdata|qs|wd|text|szukaj|k|searchExpr|search_for|string|search_query|searchfor)=([^&]+)/;
	searchq = re.exec(ref);
	if(searchq) {
		searchq[3] = stripPercent(searchq[3]);
		setCookie('gaRefLocation',searchq[3]);
                                
	}
	else {
		setCookie('gaRefLocation','Referral: ' + document.referrer,'session');
                                
	}
}

function gaRef()
{
                
	if(document.referrer.indexOf("q=")!=-1||document.location.search.indexOf("sa=")!=-1||document.location.search.indexOf("q=")!=-1||document.location.search.indexOf("cpc")!=-1) {
		getRef();
	}
           
}



function getCookie(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 null;
	}

function setCookie(name,value,duration) {
	var ex = new Date();
	ex.setYear( ex.getFullYear() + 1 );
	
                if(duration != 'session')
                   var cookieString = name + "=" + escape( value ) + "; expires=" + ex.toGMTString() + "; path=/";
                else
                   var cookieString = name + "=" + escape( value ) + "; path=/";
	
                document.cookie = cookieString;
	}


function addHandler( type, el, handler ) {
	if( el.attachEvent ) {
		el.attachEvent( 'on'+type, handler );
	}
	else {
		el.addEventListener( type, handler, false );
	}
}

function extractLinksFromList( el ) {
	var liList = el.getElementsByTagName( 'li' );
	var theList = [];
	for( var i=0; i<liList.length; ++i ) {
		var li = liList[i];
		var aList = li.getElementsByTagName( 'a' );
		for( var j=0; j<aList.length; ++j ) {
			var a = aList[j];
			var item = {};
			item.text = a.innerHTML;
			item.href = a.href;
			theList.push(item);
		}
	}
	return theList;
}

function buildDropDownFromList( list, defaultText, openInNewWindow ) {
	var select = document.createElement( 'select' );

	if( defaultText ) {
		var option = document.createElement( 'option' );
		option.value = '';
		option.innerHTML = defaultText;
		select.appendChild( option );
	}
	
	for( var i=0; i <list.length; ++i ) {
		var item = list[i];
		var option = document.createElement( 'option' );
		option.value = item.href;
		option.innerHTML = item.text;
		select.appendChild( option );
	}
	
	addHandler( 'change', select,
		function(e) {
			if( !e ) {
				e = window.event;
			}
				
			var me = e.target || e.srcElement;
			
			if( me.value ) {
				if (openInNewWindow) {
					window.open (me.value, '');
				} else {
					top.location.href = me.value;
				}
			}
		}
	);
	
	return select;
}

function enhanceRedirectSelector( titleId, listId) {
	_enhanceRedirectSelector( titleId, listId, false);
}

function enhanceRedirectSelectorNewWindow( titleId, listId) {
	_enhanceRedirectSelector( titleId, listId, true);
}


function _enhanceRedirectSelector( titleId, listId, openInNewWindow ) {
	var title = document.getElementById( titleId );
	var selector =  document.getElementById( listId ) ;
	var theList = extractLinksFromList( selector );

	var dd;
	dd = buildDropDownFromList( theList, title.innerHTML, openInNewWindow );
	selector.parentNode.insertBefore( dd, selector );
	selector.parentNode.removeChild( selector );
	title.parentNode.removeChild( title );
}
