/**
 * @author K!
 */

/* Internal code */
var row1;
var row2;
var xmlhttp = null;
var path;
var url;
var query;
var rpage=0;
var cBar1;

function btnSearchOver() {document.getElementById('btnsearch').className="bover"; }
function btnSearchOut() {document.getElementById('btnsearch').className="bout"; }
function btnSearchClick() {
	   for (var i=0;i<10;i++) document.getElementById('p'+i).className="offspan";
	   document.getElementById('core').style.display='block'; 
       rpage=0; SearchClick(); } 

function UpPanel () {
	   cBar1.attributes.height = {from:366,to: 210}
       cBar1.method = YAHOO.util.Easing.easeOut;
	   cBar1.animate();
       cBar1.onComplete.subscribe(function () {
	   	   document.getElementById('core').style.display='none';
		   document.getElementById('welcome').style.display='block';
		   cBar1.attributes.height = {from:210,to: 366}
		   cBar1.onComplete.subscribe(function () {
		   	 document.getElementById('welcome').style.display='none';
		     document.getElementById('core').style.display='block';
			 
		                              });
           cBar1.onStart.subscribe(function () {
    	     document.getElementById('welcome').style.display='none';
		     document.getElementById('core').style.display='none'; 
		   	                          });
		    });
       cBar1.onStart.subscribe(function () {
		   document.getElementById('welcome').style.display='none';
		   document.getElementById('core').style.display='none'; 
		   	    });
				}		
function resetSearch() {
      document.getElementById('txtquery').value='Image Search';
      document.getElementById('txtquery').className='outsearch';
      SearchClick();
}
function SearchClick() {
	
	  document.getElementById('btnsearch').className="bclick"; 
      var n=document.getElementById('txtquery');
	  if ((n.className=='outsearch') || (n.value=='')) {
	  	document.getElementById('core').style.display="none";
        document.getElementById('welcome').style.display="block";
        if (document.getElementById('contentbar1').style.height=='366px') UpPanel();		
                                  }
	  if ((n.className=='search') && (n.value!='')) {
	  	 document.getElementById('p'+rpage).className="onspan";
	  	 query=n.value;
		 query=query.replace(/ /,"+");
	  	 execute();
	     path='ImageSearchService/V1/imageSearch?appid=m0v4x,l0hx0r4x4x';
	  	 path=path+'&query='+query+'&results=6&start='+((rpage*6)+1);
		 var url=document.location.href;
		 if (url.indexOf('www.digitalinsane.com')!=-1)  
	  	 url = 'http://www.digitalinsane.com/api/yahoo/php_proxy_simple.php?yws_path=' + encodeURIComponent(path);
		 else 
		 url = 'http://digitalinsane.com/api/yahoo/php_proxy_simple.php?yws_path=' + encodeURIComponent(path);
	     xmlhttp.open('GET', url, true);
		 xmlhttp.send(null);
	  } 
}
function pressQuery(e) {
   if(window.event) { keynum = e.keyCode }
   else if(e.which) { keynum = e.which }
   if ((keynum==13) && (document.getElementById('inputcont').value!='')) {  btnSearchClick();}
}
function onSearch(handler) {
  if (handler.className=="outsearch") {
      handler.value="";
      handler.className="search";
                        }
}
function outSearch(handler) {
   if (handler.value=='') {
   	   document.getElementById('core').style.display='none'; 
       handler.className="outsearch";
       handler.value="Image Search";
	   
                          }
}					

function cspan(handler) {
   	handler.className="onspan";
}

function offspan(handler) {
	if (handler.id!='p'+rpage) handler.className="offspan";
}
function clickPage(handler) {
	for (var i=0;i<10;i++) document.getElementById('p'+i).className="offspan";
	switch (handler.id) {
     case 'p0': rpage=0; break;
	 case 'p1': rpage=1; break;
	 case 'p2': rpage=2; break;
	 case 'p3': rpage=3; break;
	 case 'p4': rpage=4; break;
	 case 'p5': rpage=5; break;
	 case 'p6': rpage=6; break;
	 case 'p7': rpage=7; break;
	 case 'p8': rpage=8; break;
	 case 'p9': rpage=9; break;
   }
     SearchClick();
}

function preloading() {
	document.getElementById('row1').style.display="none";
	document.getElementById('row2').style.display="none";
	document.getElementById('preloader').style.display="block";
	
}

function endpreload() {
	document.getElementById('preloader').style.display="none";
	document.getElementById('row1').style.display="block";
	document.getElementById('row2').style.display="block";
	
}

/* ************* */


function thumb (link,res,isrc,w,h) {
	if (row1==3) {
		if (row2==3) {
		} else { row2++; var cont='row2';}
	} else { row1++; var cont='row1';}
	var c=document.getElementById(cont);
    t0=document.createElement('div');
	t0.className='thbcont';
	t0.onmouseover = function () { this.className='thbconton' };
	t0.onmouseout = function () { this.className='thbcont' };
	t1=document.createElement('div');
	t1.className='thbc1';
	t2=document.createElement('div');
	t2.className='thbc2';
	t3=document.createElement('div');
	t3.className='thbc3';
	t4=document.createElement('div');
	t4.className='thbc4';
	thb=document.createElement('div');
	thb.className='thb';
	thb.setAttribute('align','center');
	
    // *** image
	if ((w>122) && (w>0)) { h=Math.round(h*((12200/w)/100)); w=122; } 					 
    if ((h>91) && (h>0)) { w=Math.round(w*((9100/h)/100)); h=91; }
	iLink=document.createElement('a');
	iLink.href=link;
	iLink.setAttribute('target','_blank');
	iLink.target='_blank';
	img=document.createElement('img');
	img.src=isrc;
	img.width=w;
	img.height=h;
	img.setAttribute('border',0);
	iLink.appendChild(img);
	thb.appendChild(iLink);
	//***	
	thbres=document.createElement('div');
	thbres.setAttribute('align','center');
	thbres.innerHTML=res;
	thbres.className='thbres';
	t4.appendChild(thb);
	t4.appendChild(thbres);
	t3.appendChild(t4);
	t2.appendChild(t3);
	t1.appendChild(t2);
	t0.appendChild(t1);
	c.appendChild(t0);
}
function checkResults(results) {
	for (var i=0;i<10;i++) { document.getElementById('p'+i).style.display='block'; }
	if (results<=54) { document.getElementById('p9').style.display='none'; } 
	if (results<=48) { document.getElementById('p8').style.display='none'; }
	if (results<=42) { document.getElementById('p7').style.display='none'; }
	if (results<=36) { document.getElementById('p6').style.display='none'; }
	if (results<=30) { document.getElementById('p5').style.display='none'; }
	if (results<=24) { document.getElementById('p4').style.display='none'; }
	if (results<=18) { document.getElementById('p3').style.display='none'; }
	if (results<=12) { document.getElementById('p2').style.display='none'; }
	if (results<=6) { document.getElementById('p1').style.display='none'; document.getElementById('p0').style.display='none'; }
	if (results==0) { document.getElementById('p0').style.display='none'; }
}
/*
    
 */

function parse(resText) {
  if (window.ActiveXObject)
    { var doc=new ActiveXObject("Microsoft.XMLDOM");
      doc.async="false";
      doc.loadXML(resText);  }
  else
    { var parser=new DOMParser();
      var doc=parser.parseFromString(resText,"application/xml");  }
	  
  var x=doc.documentElement;
  
  if (x.getAttribute('totalResultsAvailable')!='0') {
  checkResults(x.getAttribute('totalResultsAvailable'));
  var title=x.getElementsByTagName('Title');
  var thb=x.getElementsByTagName('Thumbnail');
  var clickurl=x.getElementsByTagName('ClickUrl');
  for (var i=0;i<title.length;i++) {
  	thumb(clickurl[i].firstChild.nodeValue,
	      x.getElementsByTagName('Result')[i].getElementsByTagName('Width')[0].firstChild.nodeValue+'x'+x.getElementsByTagName('Result')[1].getElementsByTagName('Height')[0].firstChild.nodeValue,
		  thb[i].getElementsByTagName('Url')[0].firstChild.nodeValue,
		  thb[i].getElementsByTagName('Width')[0].firstChild.nodeValue,
		  thb[i].getElementsByTagName('Height')[0].firstChild.nodeValue); 
                                } 
  } else
     {
	  document.getElementById('row1').innerHTML='<span style="font-size:2em; font-weight:bold">No results found</span>';
	  for (var i=0;i<10;i++) { document.getElementById('p'+i).style.display='none'; }
	 }								
   }  
   
function execute() {
    document.getElementById('row1').innerHTML='';
	document.getElementById('row2').innerHTML='';
	row1=row2=0;
    //xmlhttp=null;	 
	if (window.XMLHttpRequest) {
       xmlhttp = new XMLHttpRequest();
       if ( typeof xmlhttp.overrideMimeType != 'undefined') { xmlhttp.overrideMimeType('text/xml'); }
    } else if (window.ActiveXObject) {
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }  else {
         alert('Perhaps your browser does not support xmlhttprequests?');
    }
	xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
		  endpreload();
          parse(xmlhttp.responseText);
		} else {
		  if (document.getElementById('contentbar1').style.height!='366px') cBar1.animate();
		  preloading();
		}
    }
}   

function OnLoad() {
	document.getElementById('core').style.display='none';
	cBar1 = new YAHOO.util.Anim('contentbar1', { height: {from:210,to: 366} },1);
    cBar1.onComplete.subscribe(function () {
		   document.getElementById('welcome').style.display='none';
		   document.getElementById('core').style.display='block';
		    });
    cBar1.onStart.subscribe(function () {
		   document.getElementById('welcome').style.display='none';
		   document.getElementById('core').style.display='none'; 
		   	    }); 
	document.getElementById('txtquery').value="Image Search";
}




