/*
jQuery.fn.sort = function() {  
    return this.pushStack( [].sort.apply( this, arguments ), []);  
};  
function sortName(a,b){  
     if (a.name == b.name){
       return 0;
     }
     return a.name> b.name ? 1 : -1;  
};  
function sortNameDesc(a,b){  
     return sortName(a,b) * -1;  
};
*/
 
function sortWithUmlaut(a,b) // 'umlaut' ist im englischen ein Fremdwort deutscher Herkunft ;o)
{
	a = a.name;
	a = a.toLowerCase();
	a = a.replace(/ä/g, "a");
	a = a.replace(/ö/g, "o");
	a = a.replace(/ü/g, "u");
	a = a.replace(/ß/g, "s");
	b = b.name;
	b = b.toLowerCase();
	b = b.replace(/ä/g, "a");
	b = b.replace(/ö/g, "o");
	b = b.replace(/ü/g, "u");
	b = b.replace(/ß/g, "s");	
	return(a==b)?0:(a>b)?1:-1;
 }
 function replaceUmlaut(json)
 {
	for ( var i in json ) {
		for ( var k in json[i] ) {
			if ( k == 'name' ) {
				//json[i][k] = json[i][k].replace(/\u00d6/gi, 'Ö');
				json[i][k] = json[i][k].replace(/\u00d6/gi, 'Ö');
				//console.log(json[i][k])
			}
		}
	}
	return json;
 }
 
 
	$(document).ready(function(){
		
		$(".moreSystemCategoriesTrigger").colorbox({width:"715px", inline:true, href:"#moreSystemCategories"});	
		$(".modalClose").click(function(){ $.colorbox.close();$(".modalTemplateFilterA").unbind("click");$(".modalTemplateFilterB").unbind("click");return false; });
		$(".modalTriggerLaender").colorbox({width:"715px", inline:true, href:"#modalTemplate"}, function() {initTrigger("listCountries");});	
		$(".modalTriggerOrte").colorbox({width:"715px", inline:true, href:"#modalTemplate"}, function() {initTrigger("listCities");});
		$(".modalTriggerTypes").colorbox({width:"715px", inline:true, href:"#modalTemplate"}, function() {initTrigger("listTypes");});
		
	});
	
	var initTrigger = function(action) {
		$(".modalTemplateFilterA").click(function(){ getData(action, true); return false; });
		$(".modalTemplateFilterB").click(function(){ getData(action, false); return false; });
		getData(action, true);
		
	}
	
	var getData = function(action, _filter)
	{
		var win = "#modalTemplate";
		$('#modalColA', win).empty();
		$('#modalColB', win).empty();
		$('#modalColC', win).empty();
		
		$('#modalColB', win).append('<li class="loading" style="text-align:center;"><img src="/res/img/modal/loading.gif" /></li>');

		var currentURL = URL.indexOf("?") > 1 ? URL + "&" : URL + "?";
		$.getJSON(currentURL+"controller="+SITEINFO+"&action="+action+"&value=all", function(data, i) {

			var parts = Math.ceil(data.length/3) - 1;
			var rest = data.length-(Math.ceil(data.length/3)*2);
			//data = (_filter) ? data : (action=="listCountries") ? replaceUmlaut(data) : data.sort(sortWithUmlaut);
			
			if (action=="listCountries") data = replaceUmlaut(data);
			data = (_filter) ? data : data.sort(sortWithUmlaut);
			
			$('#modalColB', win).empty();	
			$.each(data, function(i,val) {
				if (i <= parts) { $('#modalColA', win).append('<li><a href="'+val.link+'">'+val.name+'</a> ('+val.number+')</li>'); }
				if (i > parts && i <= parts*2+1) { $('#modalColB', win).append('<li><a href="'+val.link+'">'+val.name+'</a> ('+val.number+')</li>'); }
				if (i > parts*2+1) { $('#modalColC', win).append('<li><a href="'+val.link+'">'+val.name+'</a> ('+val.number+')</li>'); }
			});
		});
	}
	
	
