
function decorateGlobalSearchInput(){
var searchField=document.getElementById('query');
var standIn=null;

var results=0;
var placeholder='Cerca';
var autosave='';

if(navigator.userAgent.match(/AppleWebKit/i)){

searchField.setAttribute('type','search');
if(!searchField.getAttribute('results')){
searchField.setAttribute('results',results);
}

if(null!=placeholder){
searchField.setAttribute('placeholder',placeholder);
searchField.setAttribute('autosave',autosave);
}

searchField.onblur=function(){

}

}else{

searchField.setAttribute('autocomplete','off');

standIn=document.createElement('input');
searchField.parentNode.replaceChild(standIn,searchField)

var left=document.createElement('span');
left.className='left';

var right=document.createElement('span');
right.className='right';

var reset=document.createElement('div');
reset.className='reset';

var wrapper=document.createElement('div');
wrapper.className='search-wrapper';

var alreadyHasPlaceholder=searchField.value==placeholder;
var isEmpty=searchField.value.length==0;

if(alreadyHasPlaceholder||isEmpty){
searchField.value=placeholder;
wrapper.className+=' blurred empty';
}

wrapper.appendChild(left);
wrapper.appendChild(searchField);
wrapper.appendChild(right);
wrapper.appendChild(reset);

searchField.onfocus=function(){

var blurred=wrapper.className.indexOf('blurred')>-1;



if(searchField.value==placeholder&&blurred){
searchField.value='';
}

wrapper.className=wrapper.className.replace('blurred','');
}

searchField.onblur=function(){

if(searchField.value==''){
wrapper.className+=' empty';
searchField.value=placeholder;
}

wrapper.className+=' blurred';
}

searchField.onkeydown=function(evt){


var keyCode=typeof(event)!="undefined"?event["keyCode"]:evt.keyCode;
if(!evt)evt=event;


if(keyCode==13){

document.getElementById('g-search').submit();

return;
}


if(searchField.value.length>=0){
wrapper.className=wrapper.className.replace('empty','');
}

resetField();

}

var resetField=function(){
return(function(evt){

var escaped=false;

if(!evt){
evt=window.event;
}

if(evt.type=='keydown'){

alert('down')

if(evt.keyCode!=27){
return;
}else{
escaped=true;
}
}

searchField.blur();
searchField.value='';
wrapper.className+=' empty';
searchField.focus();

})
}
reset.onmousedown=resetField();

if(standIn){
standIn.parentNode.replaceChild(wrapper,standIn);
}
}
}


