//globale
var numresu  = 0;
var numpagini= 0;
var pagloadsw=0;
var mergilares=0;
var page_id=1;
var butt;
var safe;
var safe;
var poze=0;
var langfix='it';
var region= langfix;
 
function getbutt(pag) {
     pa     =pag;
     kval   = "searchbox";
     kval_pa= kval;

     if (pa==22) {pagload();pa=2};
     if (pa==3) {kval_pa=kval+pa};
     findradio();
     chglnk(butt);
     document.getElementById(kval_pa).p.focus();
}
//-----------------------------------------------------------
function pagload(){
  //ia parola p din url le baga in boxuri apoi chiama cautarea si seteaza radiourile
   // var p = getURLVar("p");
    document.getElementById(kval).p.value=p;
    document.getElementById(kval+"3").p.value=p;

// limba
    if (lang!=="") {
       (document.getElementsByName("wi")[1].checked)=true;
       (document.getElementById(kval).lang.value) = langfix; 
       (document.getElementsByName("wi2")[1].checked)=true;
       (document.getElementById(kval+"3").lang.value) = langfix;}	 
    else
      {(document.getElementsByName("wi")[0].checked)=true;
       (document.getElementById(kval).lang.value) = langfix; 
       (document.getElementsByName("wi2")[0].checked)=true;
       (document.getElementById(kval+"3").lang.value) = langfix;}	 


// webpreview
    document.getElementsByName("wprev")[0].checked=false;

  //ia var safe, si seteaza filtrul
//    if (getURLVar("safe")=="on") 
    if (safe == "on") 
      {(document.getElementsByName("wf")[0].checked)=true;
       (document.getElementsByName("wf2")[0].checked)=true;
       (document.getElementById(kval).safe.value) = "on"; 
       (document.getElementById(kval+"3").safe.value) = "on";} 
    else
      {(document.getElementsByName("wf")[0].checked)=false;
       (document.getElementsByName("wf2")[0].checked)=false;
       (document.getElementById(kval).safe.value) = "off"; 
       (document.getElementById(kval+"3").safe.value) = "off";}; 

    if (p!=="") 
      { pagloadsw=1;
	dynamicSearch(p);}

}
//-----------------------------------------------------------
function findradio(){
    butt="w"; //default 
    for (i=1; i < 8; i++) {
      if (document.getElementById("r"+i+pa).checked == true) {
          butt = (document.getElementById("r"+i+pa).value);
//        document.getElementById("previewPan_i").innerHTML = "</b>va qui: </b>" + chglnk(butt);
      break;
    }
  }
}
//-----------------------------------------------------------
function chglnk(butt){
    lnk = '';
//alert ("pag2="+pa);
    document.getElementById("previewPan_w"+pa).style.display="none"; 
    document.getElementById("previewPan_i"+pa).style.display="none";
    document.getElementById("previewPan_v"+pa).style.display="none";
//  document.getElementById("previewPan_3"+pa).style.display="none";
    document.getElementById("previewPan_a"+pa).style.display="none";
    document.getElementById("previewPan_n"+pa).style.display="none"; 
    document.getElementById("previewPan_m"+pa).style.display="none"; 
    document.getElementById("previewPan_g"+pa).style.display="none"; 
  //document.getElementById("GBrand"+pa).style.display="none";

    word=(document.getElementById(kval_pa).p.value);
    switch (butt) {
    	case "w": lnk = "./result.php"; 
                  document.getElementById("previewPan_w"+pa).style.display="block"; 
                  document.getElementById("GBrand"+pa      ).style.display="block"; break
		
    	case "i": lnk = 'http://'+langfix+'.images.search.yahoo.com/search/images?p='+word ;  
                  document.getElementById("previewPan_i"+pa).style.display="block"; break 

        //case "v": lnk = "http://it.video.search.yahoo.com/search/video?p="+word; 
        case "v": lnk = 'http://video.yahoo.com/search/?p='+word; 
                  document.getElementById("previewPan_v"+pa).style.display="block"; break

    	case "a": lnk = 'http://'+langfix+'.answers.yahoo.com/search/search_result;_ylt=AshowPKIm3pZmLK_GEmBV24ZDgx.;_ylv=3?p='+word;  
                  document.getElementById("previewPan_a"+pa).style.display="block"; break 

    	case "n": lnk = 'http://'+langfix+'.news.search.yahoo.com/search/news?fr=news_sb_hd&c=images&p='+word+'&ei=ISO-8859-1';
                  document.getElementById("previewPan_n"+pa).style.display="block"; break 

    	//case "m": lnk = "http://search.it.music.yahoo.com/launch/search/?m=all&p="+word+"&x=0&y=0";  
    	case "m": lnk = 'http://audio.search.yahoo.com/search/audio?fmt=&dur=long&wro=1&amr=1&p='+word+'&stype=aud&srf=1';  
                  document.getElementById("previewPan_m"+pa).style.display="block"; break 

    	case "g": lnk = 'http://'+langfix+'.download.videogames.yahoo.net/advanced_search_result.php?keywords='+word+'&search_cat=-1'; 
                  document.getElementById("previewPan_g"+pa).style.display="block"; break 

    	//case "n": lnk = "http://www.google.it/news?q=";+word; break
    	default:  lnk = './result.php';
    }
	
   // daca ii web pun get, pt restul pun post
      SearchForm=document.getElementById(kval_pa);
	if (butt == "w")   //cod cli numai pt web
	{SearchForm.method = "get";
	 SearchForm.onsubmit = function () { search(this.elements['p'].value);return false;};
	}
	else	
	{SearchForm.method = "post";
	 SearchForm.onsubmit = function () {chglnk(butt)};
	};  
      SearchForm.action=lnk;  // schimba url 

//alert (document.getElementById(kval_pa).onsubmit);
}
//-----------------------------------------------------------
//nel web sau in limba pagini
function chgsrc(x){
    if (x == 1) //ricerca pt web
	{(document.getElementById(kval    ).lang.value) = ""; 
	 (document.getElementById(kval+'3').lang.value) = "";
	 (document.getElementsByName('wi' )[0].checked)=true;
	 (document.getElementsByName('wi2')[0].checked)=true;}
		else //ricerca in limba data
	{(document.getElementById(kval    ).lang.value) = langfix; 
	 (document.getElementById(kval+'3').lang.value) = langfix; 
	 (document.getElementsByName('wi' )[1].checked)=true;
	 (document.getElementsByName('wi2')[1].checked)=true;}

    lang=document.getElementById(kval).lang.value;
}
//-----------------------------------------------------------
//controleaza filtrul safe
function ctrsafe(s){
    if (s.checked) 
	{(document.getElementById(kval    ).safe.value) = 'on'; //activ
	 (document.getElementById(kval+'3').safe.value) = 'on';
	 (document.getElementsByName("wf" )[0].checked)=true;
	 (document.getElementsByName("wf2")[0].checked)=true;
	  safe='on';
	}
    else 
	{(document.getElementById(kval    ).safe.value) = 'off';//neactiv
	 (document.getElementById(kval+'3').safe.value) = 'off';
	 (document.getElementsByName("wf" )[0].checked)=false;
	 (document.getElementsByName("wf2")[0].checked)=false;
	  safe='off';
	}
}
//-----------------------------------------------------------
//controleaza filtrul safe
function ctrprev(p){
    if (p.checked) 
	{poze=1;}
    else 
	{poze=0;}

    search(document.getElementById(kval).p.value);
}
//-----------------------------------------------------------
function eureka( data ) {
            var item, itemlink, itemsummary, itemtitle;
            var outputElement = document.getElementById('YJSONresults');
            if( ! outputElement ) {return;}
            // sterge rezultatele
            outputElement.innerHTML = '';

            // controleaza daca sant rezultate
            try {numresu=data.ResultSet.totalResultsAvailable;}
              catch(err){
                alert ('No results, reason time out... !');
                return;
              };
            // daca nu sant rezultate,arata divul Noresult
            if(numresu==0) {
		//alert ('No results !');
		document.getElementById("Noresult").style.display="block";
		}
		else {
		document.getElementById("Noresult").style.display="none";
		};



            var list=document.createElement( 'ul' );
            item = document.createElement( 'li' );
            itemtitle = document.createElement( 'h2' );
//            itemtitle.appendChild(document.createTextNode('Found '+ numresu + ' results'));
            item.appendChild(itemtitle);
            list.appendChild(item);
	    // editarea rezultatelor
            for( var i in data.ResultSet.Result ) {
             item = document.createElement( 'li' );

	     itemres=document.createElement( 'div');
             itemres.setAttribute( 'id', 'res' );
	     
	     if (poze==1) {
	       // pozeleweb
 	       itemres1=document.createElement( 'div');
               itemres1.setAttribute( 'id', 'res1' );
	       
               itemres1a = document.createElement( 'a' );
               itemres1a.setAttribute( 'href', data.ResultSet.Result[i].ClickUrl );
               itemres1a.setAttribute( 'target', '_blank' );
               itemres1a.setAttribute( 'title', 'New window' );
               itemres1img = document.createElement( 'img' );

	           //litera=parseURL(data.ResultSet.Result[i].Url);
	           //alert('litera='+litera);
                   //itemres1img.setAttribute('src','http://'+litera+'.googlepreview.com/preview?s='+data.ResultSet.Result[i].Url);
                   //itemres1img.setAttribute('src','http://image.picoshot.com/thumbnail.php?url='+data.ResultSet.Result[i].Url);
               itemres1img.setAttribute('src','http://open.thumbshots.org/image.pxf?url='+data.ResultSet.Result[i].Url);

               itemres1a.appendChild( itemres1img );
               itemres1.appendChild( itemres1a );
	     };	
		

	     itemres2=document.createElement( 'div');
             itemres2.setAttribute( 'id', 'res2' );

             itemtitle = document.createElement( 'h3' );
             itemlink = document.createElement( 'a' );
             itemlink.setAttribute( 'class', 'new_lnk' );
             itemlink.setAttribute( 'href', data.ResultSet.Result[i].ClickUrl );
             itemlink.appendChild( document.createTextNode( data.ResultSet.Result[i].Title.substring(0,70) ) );
             itemtitle.appendChild( itemlink );

             //new window
             itemlinknw = document.createElement( 'a' );
             itemlinknw.setAttribute( 'href', data.ResultSet.Result[i].ClickUrl );
             itemlinknw.setAttribute( 'target', '_blank' );
             itemlinknw.setAttribute( 'class', 'new_win' );
             itemlinknw.setAttribute( 'title', 'New window' );
             itemlinkimg = document.createElement( 'img' );
             itemlinkimg.setAttribute('src','./images/nw.jpg');
             itemlinknw.appendChild( itemlinkimg );
             itemtitle.appendChild( itemlinknw );

             itemsummary = document.createElement( 'p' );
             itemsummary.appendChild( document.createTextNode( data.ResultSet.Result[i].Summary ) );
             //url
             itemh4 = document.createElement( 'h4' );
             itemurl = document.createElement( 'p' );
             itemurl.appendChild( document.createTextNode( 'url: ' + data.ResultSet.Result[i].Url.substring(0,60)  ) );
             //cache size
             try {itemurl.appendChild(document.createTextNode(' - '+Math.round(data.ResultSet.Result[i].Cache.Size/1000)+'K'+' - '))}
                  catch(err){};
             //cache url
             itemurlca = document.createElement( 'a' );
             try {itemurlca.setAttribute( 'href', data.ResultSet.Result[i].Cache.Url );}
                  catch(err){};
              
             itemurlca.appendChild( document.createTextNode( 'Cache' ) );
             itemurl.appendChild( itemurlca ); 

             item.appendChild( itemres );
	     
	     if (poze==1) {
                itemres.appendChild( itemres1 );
	        };
             itemres.appendChild( itemres2 );
             itemres2.appendChild( itemtitle );
             itemres2.appendChild( itemsummary );
             itemh4.appendChild( itemurl )
             itemres2.appendChild( itemh4 )
             list.appendChild( item )
            }
           outputElement.appendChild( list );
	   if (pagloadsw==1) {
		makepagination();
		pagloadsw=0;}
	   document.getElementById("Loader").style.display="none";
          }
//-----------------------------------------------------------
function search(term){
	pagloadsw=1;
	page_id=1;
	mergilares=1;
	dynamicSearch(term);
        // monitoraj
        eseguiRichiesta('monitor.php?p='+term);

}
//-----------------------------------------------------------
function mergilapagina(term,page_id){
	mergilares=page_id*10+1;
	dynamicSearch(term);
}
//-----------------------------------------------------------
function dynamicSearch(term){
    document.getElementById("Loader").style.display="block";
	document.getElementById('YJSONresults').innerHTML = '';


   // aggiorna i 2 box
    document.getElementById(kval).p.value=term;
    document.getElementById(kval+"3").p.value=term;

    if(safe=="on") {
	adult = "0";
	}
	else {
	adult="1";
	};

//alert ('lang='+lang + '  safe='+ safe);

    term = utf8(term);
    var url = 'http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=nerooo&output=json&callback=eureka';
    url += '&query=' + term;
    url += '&language=' + lang;
    url += '&region=' + region;
    url += '&start=' + mergilares;
    url += '&results=10';
    url += '&similar_ok=1';
    url += '&adult_ok=' + adult;
  //url += '&site=en.wikipedia.org';

    var newsearch = document.createElement( 'script' );
    newsearch.src = url;
    document.getElementsByTagName( 'head' )[0].appendChild( newsearch );


  // focus sus
    document.getElementById('headerPan2').focus();
    document.getElementById('searchbox').p.focus();
}
//---pagination----------------------------------------------
function makepagination(){
	document.getElementById("Loader").style.display="block";
	//numpagini= Math.ceil((numresu/10));
	numpagini= numresu;

	function pageselectCallback(page_id, jq){
           $('#Searchresult3').text("Showing "+((page_id*10)+1)+"-"+((page_id*10)+10) + ' of about ' + numresu + ' results');
	}

	//primapagina=('Showing 1-10 of about ' + numresu + ' results');
	var Searchresult3Div = document.getElementById('Searchresult3');
	Searchresult3Div.innerHTML = '';
	Searchresult3Div.appendChild(document.createTextNode('Showing 1-10 of about ' + numresu + ' results'));
	


	$(document).ready(function(){
          // Create pagination element
          $("#Pagination").pagination(numpagini, {
                num_edge_entries: 0,
                num_display_entries: 10,
                callback: pageselectCallback});
                });

}

//-----------------------------------------------------------
function eseguiRichiesta(url) {

        var http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Non riesco a creare una istanza XMLHTTP');
            return false;
        }

     //   http_request.onreadystatechange = function() { alertContents(http_request); };
        http_request.open('GET', url, true);
        http_request.send(null);

}
//-----------------------------------------------------------
function utf8(wide) {
  var c, s;
  var enc = "";
  var i = 0;
  while(i<wide.length) {
    c= wide.charCodeAt(i++);
    // handle UTF-16 surrogates
    if (c>=0xDC00 && c<0xE000) continue;
    if (c>=0xD800 && c<0xDC00) {
      if (i>=wide.length) continue;
      s= wide.charCodeAt(i++);
      if (s<0xDC00 || c>=0xDE00) continue;
      c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000;
    }
    // output value
    if (c<0x80) enc += String.fromCharCode(c);
    else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F));
    else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F));
    else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F));
  }
  return enc;
}

var hexchars = "0123456789ABCDEF";

function toHex(n) {
  return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF);
}

var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";

function encodeURIComponentNew(s) {
  var s = utf8(s);
  var c;
  var enc = "";
  for (var i= 0; i<s.length; i++) {
    if (okURIchars.indexOf(s.charAt(i))==-1)
      enc += "%"+toHex(s.charCodeAt(i));
    else
      enc += s.charAt(i);
  }
  return enc;
}

function buildURL(fld)
{
	if (fld == "") return false;
	var encodedField = "";
	var s = fld;
	if (typeof encodeURIComponent == "function")
	{
		// Use JavaScript built-in function
		// IE 5.5+ and Netscape 6+ and Mozilla
		encodedField = encodeURIComponent(s);
	}
	else 
	{
		// Need to mimic the JavaScript version
		// Netscape 4 and IE 4 and IE 5.0
		encodedField = encodeURIComponentNew(s);
	}
	alert ("New encoding: " + encodeURIComponentNew(fld) +
		 "\n           escape(): " + escape(fld));
	return true;
}

//-----------------------------------------------------------
function parseURL(url){ 
        if (url.substring(7,10)=='www') 
	{	
	   //alert ('url=' + url.substring(11,12));
           return url.substring(11,12); 
	}
	else 
	{ return url.substring(7,8);
	}
}
//-----------------------------------------------------------
//-----------------------------------------------------------
