	var jlimgtup = ' <img src="fileadmin/templates/images/menu-down.gif" />';

var jlimgtdown = ' <img src="fileadmin/templates/images/menu-up.gif" />';

var jltitlesort = 0;

var jllocationsort = 0;

var jlcompanysort = 0;



Array.prototype.sortAsc = function() {

	var saveO = Object.prototype.toString;

	var saveA = Array.prototype.toString;

	Object.prototype.toString = function(){ return this[0].toLowerCase() };

	Array.prototype.toString = function(){ return this[0].toLowerCase() };

	this.sort();

	Array.prototype.toString = saveA;

	Object.prototype.toString = saveO;

}



Array.prototype.sortDesc = function() {

	var saveO = Object.prototype.toString;

	var saveA = Array.prototype.toString;

	Object.prototype.toString = function(){ return this[0].toLowerCase() };

	Array.prototype.toString = function(){ return this[0].toLowerCase() };

	this.sort();

	this.reverse();

	Array.prototype.toString = saveA;

	Object.prototype.toString = saveO;

}



function jlinint()

{



	$$('div.chead').each(function(obj){

		if(obj && obj.tagName)

		{

		   obj.innerHTML += jlimgtup ; 

		   Event.observe(obj, 'click',jlsort.bindAsEventListener(this));

		}

		

	});	

}		





function jlsort(event)

{

		var obj = Event.element(event);

		Event.stop(event);

		if(event.type == 'click')

		{

		  var cname = obj.className.replace(' chead','');

		  

		  var rowarr = [];

		  var orderby = 0;

		  switch(cname)

		  {

			case 'joblisttitle':

			 			   

			   $$('div[class="joblistitemswrap"] div[class="joblisttitle"]').each(function(obj){

					rowarr[rowarr.length] = [obj.innerHTML.replace(/<[a-zA-Z\/][^>]*>/g,'').replace(/^\s+|\s+$/g, ''), obj.parentNode.innerHTML ]; 						

				}

				);				   			   

			   orderby = jltitlesort;

			   

			   if(jltitlesort) 

			   {

				jltitlesort = 0;

			   }

			   else

			   {

				jltitlesort = 1;

			   }

			   

			   

			break;

			case 'joblistlocation':

			  

			   $$('div[class="joblistitemswrap"] div[class="joblistlocation"]').each(function(obj){

					rowarr[rowarr.length] = [obj.innerHTML.replace(/<[a-zA-Z\/][^>]*>/g,'').replace(/^\s+|\s+$/g, ''), obj.parentNode.innerHTML ]; 						

				}

				);				   			   

			   

			    orderby = jllocationsort;

			   if(jllocationsort) 

			   {

				jllocationsort = 0;

			   }

			   else

			   {

				jllocationsort = 1;

			   }

			break;

			case 'joblistcompany':

			   $$('div[class="joblistitemswrap"] div[class="joblistcompany"]').each(function(obj){

					rowarr[rowarr.length] = [obj.innerHTML.replace(/<[a-zA-Z\/][^>]*>/g,'').replace(/^\s+|\s+$/g, ''), obj.parentNode.innerHTML ]; 						

				}

				);				   			   

			  

			  orderby = jlcompanysort;

			   if(jlcompanysort) 

			   {

				jlcompanysort = 0;

			   }

			   else

			   {

				jlcompanysort = 1;

			   }

			break;

		  

		  };

		

		  if(orderby)

		  obj.innerHTML = obj.innerHTML.replace(/<[a-zA-Z\/][^>]*>/g,'') + jlimgtup ; 

		  else

		  obj.innerHTML = obj.innerHTML.replace(/<[a-zA-Z\/][^>]*>/g,'') + jlimgtdown ; 

		  

		  jlprocesssort(rowarr,orderby);

			

		}



}



function jlprocesssort(rowarr,orderby)

{

	if(orderby) rowarr['sortDesc']();

	else

	 rowarr['sortAsc']();



	var isfirst=1;

	var finalhtml = '';

	rowarr.each(function(item) {   

		finalhtml += '<div class="joblistrow'+(isfirst?' firstitem':'')+' clearfix">'+item[1]+'</div>';

		isfirst =0;	

	}); 

	if(finalhtml)

	$$('div[class="joblistitemswrap"]')[0].innerHTML = finalhtml;

}



addLoadEvent(jlinint);
