// JavaScript Document

var scrollduration = 3000;
var maxperpage = 7;
var numresults;
var numpages;
var contimg;
var curnumpage = 1;
var stload;
var imgtoload;
var navheight;


function getURLVar(urlVarName) {
	//divide the URL in half at the '?'
	var urlHalves = String(document.location).split('?');
	var urlVarValue = '';
	if(urlHalves[1]){
	//load all the name/value pairs into an array
		var urlVars = urlHalves[1].split('&');
		//loop over the list, and find the specified url variable
		for(i=0; i<=(urlVars.length); i++){
			if(urlVars[i]){
			//load the name/value pair into an array
				var urlVarPair = urlVars[i].split('=');
				if (urlVarPair[0] && urlVarPair[0] == urlVarName) {
				//I found a variable that matches, load it's value into the return variable
					urlVarValue = urlVarPair[1];
				}
			}
		}
	}
	return urlVarValue;   
}

//random from minn to maxx
function randRange(minn, maxx){
	var randomNum = Math.floor(Math.random()*(maxx-minn+1))+minn;
	return randomNum;
}


//invokes when a thumbnail is in mouseover
function expandme(mobj){
	//alert(mobj.id);
	var mainpos = $('search_container').getPosition();
	var coords = mobj.getPosition();
	if (contimg != null){
		contimg.dispose();
	}
	var mytxt = mobj.getProperty('alt');
	var mytag = mobj.getProperty('rel');
	//var mytxt = '';
	//var mytag = '';
	var msrc2 = mobj.getProperty('src');
	var mindex = mobj.getProperty('id').slice(1);
	var msrc = 'getResizeByPixels.php?src=images/logo-'+mindex+'.jpg&width=140&height=140';
	var srcx = coords.x-mainpos.x;
	var srcy = coords.y-mainpos.y;
	var imgsrcw = mobj.getCoordinates().width;
	var imgsrch = mobj.getCoordinates().width;
	//var imgdestw = imgsrcw*1.35; 
	
	//var imgdesth = imgsrch*1.35;
	var imgdestw = imgsrcw;
	var imgdesth = imgsrch; 
	//var adestw = (imgsrcw == 140)? 150: 110;
	//var adesth = (imgsrch == 140)? 200: 140;
	var adestw = (imgsrcw == 125)? 180: 110;
	var adesth = (imgsrch == 125)? 200: 125;
	var destx = coords.x-mainpos.x-((adestw-imgdestw)/2)-15;
	var desty = coords.y-mainpos.y-((adesth-imgdesth)/2)-15;
	if((desty+adesth) > $('search_container').getStyle('height').toInt()-50){
		desty = ($('innerscont').getStyle('height').toInt()-adesth)-27;
		srcy -= 20;
	}else if (desty < 0){
		desty = 0;
	}
	if(destx < 0){
		destx = 0;
	}
	if ($('search_container').getScroll().x > destx){
		destx = $('search_container').getScroll().x;
	}else if ($('search_container').getScroll().x+$('search_container').getStyle('width').toInt() < destx+adestw+30){
		destx = $('search_container').getScroll().x+$('search_container').getStyle('width').toInt()-adestw-30;
	}
	var outm2 = new Element('img', {
		'src': msrc2,
		'id': 'outimgsm',
		'styles': {
			'border': 'none'
		}
	});
	contimg = new Element('a', {
			'id': 'mycont',
			'href': 'view.php?id='+mindex,
			'styles': {
				'display': 'block',
				'text-align': 'center',
				'padding': '0px',
				'text-decoration': 'none',
				'position': 'absolute',
				'width': imgsrcw+'px',
				'height': imgsrch+'px',
				'left': srcx+'px',
				'top': srcy+'px',
				'background-color': 'white',
				'color': 'black',
				'font-family': '"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',
				'margin': '0',
				'font-size': '11px',
				'border': '1px solid #CCC',
				'z-index': '2',
				'overlay': 'hidden'
			}
		 });
	outm2.injectInside(contimg);
	var txtadd = new Element('div',{
		'id': 'justatxt',
		'styles': {
			'margin-top': '10px'
		}
	});
	//txtadd.innerHTML=mytxt+($chk(mytag)?"<br>"+'"'+mytag+'"':"");
	//txtadd.appendText(mytxt);
	
	txtadd.injectInside(contimg);
	//if (imgsrcw == 140){
	if (imgsrcw == 125){
		contimg.injectInside(mobj.getParent().getParent());
	}else{
		contimg.injectInside(mobj.getParent().getParent().getParent());
	}
	var myFx = new Fx.Morph('mycont', {duration: 300, transition: Fx.Transitions.Elastic.easeOut});
	var myFx2 = new Fx.Morph('outimgsm', {duration: 300, transition: Fx.Transitions.Elastic.easeOut});
	//myFx.start(['width', adestw+'px'],['height', adesth+'px']);
	//myFx.start('height', adesth+'px');
	//$('mycont').tween('width', imgsrcw,adestw);
	myFx2.start({
		'width': [imgsrcw,imgdestw],
		'height': [imgsrch, imgdesth]
   });
	myFx.start({
		'width': [imgsrcw,adestw],
		'height': [imgsrch, adesth],
		'top': [srcy,desty],
		'left': [srcx, destx],
		'padding': [0,10]
	}).chain(function(){
		txtadd.innerHTML=mytxt+($chk(mytag)?"<br>"+'"'+mytag+'"':"");
	});
	contimg.addEvent('mouseleave', removedet);
}

//invokes when popup image is mouseout'd
function removedet(){
	contimg.dispose();
}

//-----------<navigation commands>
function goFwd(){
	scrollEx.cancel();
	scx = $('search_container').getScroll().x+100;
	for (n = 1; n < curnumpage; n++){
		if (740*n > scx){
			break;
		}
	}
	scrollEx.start(740*n, 0);
	$('mypval').value = ++n;
	//mslide.set(n+1);
	//mslide.set(curnumpage-1);
}
function goBack(){
	scrollEx.cancel();
	scx = $('search_container').getScroll().x-100;
	for (n = curnumpage; n > 0; n--){
		if (740*n < scx){
			break;
		}
	}
	scrollEx.start(740*n, 0);
	$('mypval').value = ++n;
	//mslide.set(n+1);
}
function navpage(n){
	scrollEx.cancel();
	n--;
	scrollEx.start(740*n, 0);
	$('mypval').value = n+1;
}

function shownav(){
	$('navdisplay').setStyle('visibility', 'visible');
	var Fxnav = new Fx.Morph('navdisplay', {duration: 700, transition: Fx.Transitions.Expo.easeOut});
	Fxnav.start({'height': [0,30]});
}
//-----------</navigation commands>

//invokes after domready event
function createres(){
	var el = new Element('div', {
				'id': 'innerscont',
				'styles': {
					'width': (740*curnumpage)+'px',
					'float': 'left',
					'height': '300px'
				}
			 });
	el.injectInside($('search_container'));
	stload = 0;
	if (numresults == 0){
		var querystring = getQueryString();
		var whatquery = querystring['keyword'];
		var whatprovince = querystring['province'];
		$('navdisplay').setStyle('visibility','hidden');
		//$('textresults').setStyle('visibility','hidden');
	
		putstat("");
		//$('innerscont').innerHTML = "<span style=\"font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Arial,Helvetica,sans-serif; font-size: 11px;\">No results found for <strong>'"+whatquery+"'</strong>. <br>Please try again or refine your search.</span><p><a href=\"?viewmode=t&keyword="+whatquery+"&province="+whatprovince+"&searchtype=1\" class=\"readable_text\" id=\"textresults\">View Results in Text</a></p>";
		//$('innerscont').innerHTML = "<span style=\"font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Arial,Helvetica,sans-serif; font-size: 11px;\">No results found for <strong>'"+whatquery+"'</strong>. <br>Please try again or refine your search.</span>";
	}else{
		putres();
	}
}

function getQueryString ()
{
 var querystring = new Array;
 
 // parse current url into an array with the keys/values
 var q = String (document.location).split ('?')[1];
 if (!q) return false;
 q = q. split ('&');

 for (var i = 0 ; i < q.length; i++)
 {
   // for each key/value, split them at the '='
   // and add them to the qerystring array
   var o = q[i].split('=');
   querystring[o[0]] = o[1];
 }

 // return the querystring
 return querystring;
}

//-----------<place result>
function putres(){
	var choses = randRange(0, 2);
	putstat("Loading Result Page " + curnumpage);
	var el = new Element('div', {
				'id': 'p'+curnumpage,
				'class': 'restable',
				'styles': {
					'float': 'left',
					'width': '740px',
					'height': '300px'
				}
			 });
	$('innerscont').setStyle('width', (740*curnumpage)+'px');
	el.injectInside($('innerscont'));
	var getNum = new Request.HTML({method: 'get', url: 'search_results_page.php', onSuccess: function(html) {
		injectiones(html);
	}}).send('keyword='+getURLVar('keyword')+'&province='+getURLVar('province')+'&searchtype='+getURLVar('searchtype')+'&st='+stload+'&max='+maxperpage);
}

function injectiones(html){
	$('p'+curnumpage).adopt(html);
    var loader = new Asset.images(imgtoload, {  
         onComplete: function() { 
			if (stload < numresults){
				if (curnumpage == 1)
					shownav();
				++curnumpage;
				$('nump').innerHTML = curnumpage;
				putres();
			}else{
				putstat("done");

				navpage(1);
				$('mypval').value = 1;
			}
         }  
     });
}
//-----------</place result>

//-----------<status display>
function outdone(){
	this.innerHTML = "";
}

function putstat(msg){
	if (msg == "done"){
		$('console').innerHTML = "Done!";
		outdone.delay(1000, $('console'));
	}else if (msg == ""){
		$('console').innerHTML = "";
	}else{
		$('console').innerHTML = "<img src=\"images/loding.gif\" /> " + msg;
	}
}
//-----------</status display>

//first commands executed
window.addEvent('domready', function(){
	putstat("Loading Data.");
	$('mypval').addEvent('keydown', function(event){
		if (event.code == 13){
			navpage(this.value);
		}
	});
//	scrollEx = new Fx.Scroll($('search_container'),{duration: scrollduration, wait: false, transition: Fx.Transitions.Elastic.easeOut});
	scrollEx = new Fx.Scroll($('search_container'),{duration: 2000, transition: Fx.Transitions.Sine.easeIn});
	//scrollEx2 = new Fx.Scroll($('search_container'),{duration: (scrollduration/2), wait: false, transition: Fx.Transitions.Bounce.easeOut});

	navheight = $('navdisplay').getCoordinates().height;
	$('navdisplay').setStyles({
		visibility: 'hidden',
		overflow: 'hidden',
		height: 0
	});
	var getNum = new Request({method: 'get', url: 'search_results_num.php', onSuccess: function (out, xml){
		numresults = out;
		$('nump').innerHTML = 1;
		createres();
	}}).send('keyword='+getURLVar('keyword')+'&province='+getURLVar('province')+'&searchtype='+getURLVar('searchtype'));
});