function makeXmlHttp(){
	var xmlhttp = null;
	if(window.XMLHttpRequest){
	xmlhttp = new XMLHttpRequest();
	}else{
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){
			window.alert("Uw browser ondersteunt het XMLHttpRequest object niet!");
		}
	}
	return xmlhttp;
}

function WebgidsIndexPage(page) {
	$('frm_pagination').value = page; 
	post_form($('webgids_selection_box'), './paginas/_partials/webgids_index.php', 'webgids_website_results');
	ExternalLinks();
//	console.log("paging");
}

function post_form(form, url, update_id) {
	new Ajax.Request(url, 
	  {
		 method:'post',
		 parameters: Form.serialize(form),
		 requestHeaders: {Accept: 'application/json'},
		 onSuccess: function(transport){
		//	var json = transport.responseText.evalJSON(true);
			$(update_id).update(transport.responseText);
		},
		 onFailure: function(transport, json ){
			var json = transport.responseText.evalJSON(true);
			$(update_id).addClassName('error').update(json.html);
		}
	  }
	); 
}

function post_login_form(form, url) {
// LOGIN FORM SIDEBAR
	if(form.Email.value && form.Password.value) {

		// Convert password to md5
		form.Password.value = hex_md5(form.Password.value);
	
		new Ajax.Request(url, 
		  {
			 method:'post',
			 parameters: Form.serialize(form),
			 requestHeaders: {Accept: 'application/json'},
			 onSuccess: function(transport){
				var json = transport.responseText.evalJSON(true);
				$('loginbox').addClassName('logged_in').update(json.html);
				 SetHeightAuto('loginbox');
			},
			 onFailure: function(transport, json ){
				var json = transport.responseText.evalJSON(true);
				$('login_result').addClassName('error').update(json.message);
			}
		  }
		); 
		// Reset password field
		$('login_frm_wachtwoord').value = '';
	} 
	return false;
}

function post_webgids_reply(form, website_id, show_effects) {

	if(!show_effects)
		show_effects = 'yes';

		new Ajax.Request('./paginas/_partials/webgids_replies.php', 
		  {
			 method:'post',
			 parameters: Form.serialize(form),
			 requestHeaders: {Accept: 'application/json'},
			 onSuccess: function(transport){
 				var json = transport.responseText.evalJSON(true);
				eval(json.error_script);
				show_webgids_replies(website_id, show_effects);
			  },
			 onFailure: function(transport, json ){
				var json = transport.responseText.evalJSON(true);
				eval(json.error_script);
				alert(json.errors);
			}
		  }
		); 
	
}

function show_webgids_replies(id, show_effects, update_id) {

	if(!update_id)
		update_id = 'webgids_replies_' + id;

	if(!show_effects)
		show_effects = 'yes';

	// Reacties verversen na posten van een reactie
	new Ajax.Request('./paginas/_partials/webgids_replies.php?website_id=' + id, 
	  {
		method:'get',
		onSuccess: function(transport){

			if($(update_id).innerHTML != '') {
				if(show_effects == 'no') { $(update_id).hide(); }
				else { Effect.SlideUp(update_id, { duration: 0.3 }); }
			}
				
			window.setTimeout(function() {
				$(update_id).update(transport.responseText);
				ExternalLinks();
				
				if($(update_id).innerHTML != '') {
					if(show_effects == 'no') { $(update_id).show(); SetHeightAuto(update_id); }
					else { Effect.SlideDown(update_id, { duration: 0.3 }); }
				}
				
			}, 300);
				
		},
		onFailure: function(){
			alert('Reactie kon niet worden geplaatst, probeer het later nog eens.');
		}
	  }
	);

}

function vote_webgids_website(form) {

		new Ajax.Request('./paginas/_partials/webgids_vote_website.php', 
		  {
			 method:'post',
			 parameters: Form.serialize(form),
			 requestHeaders: {Accept: 'application/json'},
			 onSuccess: function(transport){
				$$('div.vote_button').invoke('remove');
 				alert(transport.responseText);
			 },
			 onFailure: function(transport){
				alert(transport.responseText);
			}
		  }
		); 

		return false;
}

function remove_webgids_reply(obj, comment_id) {

	confirm_result = confirm('Deze reactie wordt verwijderd, wil je doorgaan?');
	if(confirm_result) {

		new Ajax.Request('./paginas/_partials/webgids_delete_reply.php', 
		  {
			method:'post',
			parameters: 'comment_id=' + parseInt(comment_id),
			onSuccess: function(transport){
				$(obj).up('div.reactie').remove();
			},
			onFailure: function(){
				alert('Niet gemachtigd om deze reactie te verwijderen.');
			}
		  }
		);

	}

}

function sort_sitecheck_reports(sort_by, page) {

	var update_div = 'sitecheck_reports';
	
	// Sitekeuring rapporten overzicht sorteren
	new Ajax.Request('./paginas/_partials/webgids_sitekeuring_rapporten.php?orderby=' + sort_by + '&page=' + page,
	  {
		method:'get',
		onSuccess: function(transport){
			$(update_div).update(transport.responseText);
		},
		onFailure: function(){
			alert('Sorteren mislukt, probeer het later nog eens.');
		}
	  }
	);

}

function webgids_toevoegen_siteinfo(url) {

	new Ajax.Request('./paginas/_partials/webgids_toevoegen_siteinfo.php', 
	  {
		 method:'post',
		 asynchronous:false,
		 parameters: 'url=' + escape(url),
		 evalJSON: true,
		 requestHeaders: {Accept: 'application/json'},
		 onSuccess: function(t){
			var json = t.responseText.evalJSON() 
			$('json_result').update(t.responseText);
			return json;
		}
	  }
	);
}

function webgids_toevoegen_screenshot(url) {

	new Ajax.Request('./paginas/_partials/webgids_toevoegen_screenshot.php', 
	  {
		 method:'post',
		 asynchronous:true,
		 parameters: 'url=' + escape(url),
		 evalJSON: true,
		 requestHeaders: {Accept: 'application/json'},
		 onSuccess: function(t){
			$('screenshot_img').src = t.responseText + '?' + new Date().getTime();
			$('screenshot_img_loading').hide();
			$('screenshot_img_error_text').hide();
			enableUrlField();
			$('frm_screenshot_url').value = t.responseText;
			return true;
		},
		onFailure: function(){
			$('screenshot_img_loading').hide();
			$('screenshot_img_error_text').show();
			enableUrlField();
		}
	  }
	); 

}