var start_domein = location.href.substring(0, location.href.lastIndexOf('\/')-9); // -9 is frontend/
var title=0;
var string=0;
//alert(location.href);
//alert('javascript ajax gestart');
// just a wrapper function

function svgtest()
{
	alert('SVGTEST ajax '+parent.frames.location.hash);
}

function getStuff(id,doWhat,where,colorscheme) {
	//if(id != 'preloadprofilefromanchor' && id != 'switchLanguage' && id != 'preloadprofile')id == 'loadcategory' || 
	//alert('string '+string);
	if(id == 'loadsvgtest' || id == 'loadsvg_catagory' || id == 'preloadprofilefromanchor' || id == 'preloadprofile')
	{
		if(id == 'preloadprofile' && string == 0)
		{
			//doWhat = 'username_'+doWhat;	
		}
		
		//alert('doWhat '+doWhat);
		getStuff('loadtoppolitics',doWhat,'politicians-selection','216_207_174');
		getStuff('viewtitle',doWhat,'title','216_207_174');
		title=1;
	}
	if(id == 'viewtitle')
	{
		//alert('loadstats: '+doWhat);
       	doWhat2 = doWhat+'_'+string;
		if (doWhat == 'loadVriendjespolitiek') doWhat2 = 'start';
		getStuff('loadstats',doWhat2,'stats','148_144_115');
		getStuff('loadinfobox',doWhat2,'infobox','148_144_115');
	}
	if(id == 'loadsvg_catagory' || (id == 'loadsvg' && doWhat.indexOf("width_") == -1))
	{
		var canvas_width = alertSize('width');
		var canvas_height = alertSize('height');
		doWhat += '_width_'+canvas_width+'_height_'+canvas_height;
	}
	if (id == 'reloadstats')
	{
		doWhat2 = doWhat+'_'+string;
		getStuff('loadstats',doWhat2,where,colorscheme);
		return;
	}
	if (id == 'switchLanguage') return; //tijdelijk, totdat taalwisselen weer gaat werken!
	queryHandler(id,doWhat,where,colorscheme);
}

function switchLanguage(newLanguage)
{
	//alert(newLanguage);
	getStuff('switchLanguage',newLanguage,'credits','148_144_115');
	forceInit(newLanguage);
}

function loadProfile() {
	var username = document.userquery.username.value;
	if (username.indexOf(" ") != -1) return;
	//getStuff('preloadprofile',username,'preload','148_144_115');
	getStuff('preloadprofile',username,'profile','223_224_226');
}

function loadVriendjespolitiek(language) {
	//alert(title);
	if (title != 1) getStuff('viewtitle','loadVriendjespolitiek','title','216_207_174');
	getStuff('switchLanguage',language,'credits','148_144_115');
}

/*function forceLoadProfileFromAnchor(anchor) {
	//alert('forceLoadProfileFromAnchor(anchor): '+anchor);

	anchor = anchor.substring(1);
	lang = anchor.indexOf("language=");
	if (lang != -1)
	{
		username = anchor.indexOf("username=");
		if (username == -1)
		{
			language = anchor.substr(9);
			getStuff('reloadform',language,'input-username','148_144_115');
		}
		else
		{
			language = anchor.substr(9,username-11);
			//alert('language: '+language);
			doWhat = anchor.substring(13);
			//alert('dowhat: '+doWhat);
			loadProfileFromAnchor('#'+anchor);
		}		
	}
	else
	{
		alert('What are you doing?');
	}
}*/

function loadProfileFromAnchor(anchor) {
	//alert('loadProfileFromAnchor(anchor): '+anchor);
	var canvas_width = alertSize('width');
	var canvas_height = alertSize('height');
	if (anchor == 'emptyanchor') return;
	
	anchor = anchor.substring(1);
	
	lang = anchor.indexOf("language=");
	if (lang != -1)
	{
		username = anchor.indexOf("username=");
		if (username == -1)
		{
			language = anchor.substr(9);
			getStuff('reloadform',language,'input-username','148_144_115');
		}
		else
		{
			language = anchor.substr(9,username-11);
			//alert('language: '+language);
			doWhat = anchor.substring(13);
			//alert('dowhat: '+doWhat);
			//loadProfileFromAnchor('#'+doWhat);
			fields = anchor.indexOf("fields=");
			if (fields == -1)
			{
				username = anchor.substr(9);
				//alert('username 1: '+username);
				//fields = '';
			}
			else
			{
				username = anchor.substr(username+9,fields-username-10);
			}
			//alert(username);
			//if (username != 'bla' && typeof(username) != 'number') getStuff('preloadprofile',username,'preload','148_144_115'); else alert('ongeldig');
			if (username != 'bla' && typeof(username) != 'number') getStuff('preloadprofile',username,'profile','223_224_226'); //else alert('ongeldig');
		}		
	}
	else
	{
	
	what = anchor.indexOf("what=");
	username = anchor.indexOf("username=");
	fields = anchor.indexOf("fields=");
	pref = anchor.indexOf("preference=");
	//alert('what '+what);
	//alert('username '+username);
	//alert('fields '+fields);
	//alert('preference '+pref);
	if (what == -1 && username == 0)
	{
		// ajax call vanuit hoofdpagina
		if (fields == -1)
		{
			username = anchor.substr(9);
			fields = '';
		}
		else
		{
			username = anchor.substr(9,fields-10);
			fields = anchor.substr(fields+7);
		}
		//getStuff('preloadprofilefromanchor','username_'+username+'_width_'+canvas_width+'_height_'+canvas_height+'_fields_'+fields,'preload','148_144_115');
		getStuff('preloadprofilefromanchor','username_'+username+'_width_'+canvas_width+'_height_'+canvas_height+'_fields_'+fields,'profile','223_224_226');
	}
	else if(what == 0)
	{
		// ajax call vanuit svg
		if (pref == -1)
		{
			what = anchor.substr(5,username-6);
			username = anchor.substr(username+9,fields-username-10);
			fields = anchor.substr(fields+7);
			pref = '';
		}
		else
		{
			what = anchor.substr(5,username-6);
			username = anchor.substr(username+9,fields-username-10);
			fields = anchor.substr(fields+7,pref-fields-8);
			pref = anchor.substr(pref+11);
		}	
		getStuff('loadsvgtest','username_'+username+'_width_'+canvas_width+'_height_'+canvas_height+'_fields_'+fields+'_what_'+what+'_pref_'+pref,'forcedirected','216_207_174');
	}
	
	
	}
}

// ajax request
function queryHandler(id,doWhat,where,colorscheme) {
	//alert(id+' '+doWhat);
	dataUri = location.href.substring(0, location.href.lastIndexOf('\/')) + '/';
	dataUri += 'ajax.php';
	dataSource = 'id=' + id + '&doWhat=' + doWhat + '&where=' + where;

	if (id == 'loadsvgtest')
	{
		parentsvg = 1;
	}
	else
	{
		parentsvg = 0;	
	}

	var XMLHttpRequestObject = false;
	
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		XMLHttpRequestObject = new XMLHttpRequest();
		XMLHttpRequestObject.overrideMimeType('text/xml');
	} else if(window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject) {
		if (parentsvg != 1 && (id != 'viewtitle' || id != 'loadtoppolitics')) {
			XMLHttpRequestObject.onreadystatechange = function() { 
				verwerk_resultaten_laden(where,colorscheme,XMLHttpRequestObject,parentsvg); 
			}
		}
		XMLHttpRequestObject.open("POST", dataUri, true);
		XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		XMLHttpRequestObject.send(dataSource);
		XMLHttpRequestObject.onreadystatechange = function() {
			if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
				parseResult(XMLHttpRequestObject.responseText,where,parentsvg); // gets back json response
				if (id == 'preloadprofile')
				{
					//parseResult('',where,parentsvg);
					//alert(XMLHttpRequestObject.responseText);
					string = XMLHttpRequestObject.responseText; //.replace('&amp;','AMP');
					var canvas_width = alertSize('width');
					var canvas_height = alertSize('height');
					getStuff('loadsvg','username_'+doWhat+'_width_'+canvas_width+'_height_'+canvas_height,'forcedirected','216_207_174');
					getStuff('loadprofile',string,'hyver','223_224_226');
					getStuff('loadcategory',string,'edit-settings','148_144_115');
					getStuff('viewtitle','username_'+doWhat,'title','216_207_174');
				}
				
				if (id == 'preloadprofilefromanchor')
				{
					//parseResult('',where,parentsvg);
					//alert(XMLHttpRequestObject.responseText);
					string = XMLHttpRequestObject.responseText; //.replace('&amp;','AMP');
					
					getStuff('loadsvg',doWhat,'forcedirected','216_207_174');
					getStuff('loadprofile',string,'hyver','223_224_226');
					getStuff('loadcategory',string,'edit-settings','148_144_115');
					getStuff('viewtitle',doWhat,'title','216_207_174');
				}
			}
		};
	}
}

function verwerk_resultaten_laden(where,colorscheme,XMLHttpRequestObject,parentsvg)
{
	if (XMLHttpRequestObject.readyState==4)
	{
		
		if (XMLHttpRequestObject.status == 200)
		{
			parseResult(XMLHttpRequestObject.responseText,where,parentsvg); // gets back json response
		}
		else
		{
			parseResult('<p>Er is een probleem opgetreden: <u>'+XMLHttpRequestObject.statusText+'</u>',where,parentsvg);
		}
	}
	else
	{
		// possible colorschemes are: 216_207_174 (licht) // 132_131_101 (heel donker) // 148_144_115 (niet heel donker) // 223_224_226 (blauwig)
		if (where == 'hyver') where = 'profile';
		if (where == 'statsreloaded' || where == 'title' || where == 'politicians-selection') return; else parseResult('<img src="' + start_domein + '/images/wait_'+ colorscheme+'.gif" alt="Bezig met laden" />',where,parentsvg);
	}
}

// inserting the response on the element specified by where
function parseResult(response,where,parentsvg) {
 //document.getElementById(where).innerHTML = response;
 if (parentsvg == 1)
 {
	 var el = parent.document.getElementById(where);//
 }
 else
 {
 	var el = document.getElementById(where);
 }
 if(el) el.innerHTML = response;
}

/* STATS onclick change style */

function changeStyle(changestyle) {
	var el_overall = document.getElementById('tab_overall');
	var el_category = document.getElementById('tab_category');

	if (changestyle == 'overall')
	{
		if(el_overall) el_overall.style.setProperty('font-weight','bold','important');
		if(el_category) el_category.style.setProperty('font-weight','normal','important');
	}
	else if (changestyle == 'category')
	{
		if(el_overall) el_overall.style.setProperty('font-weight','normal','important');
		if(el_category) el_category.style.setProperty('font-weight','bold','important');
	}
}