glow.ready(function(){
	loginForms();
});

function loginForms(){
	/*var loginList = glow.dom.get(".login");
	loginList.each(function(ii){
		var login=glow.dom.get(loginList[ii]);
		glow.events.addListener(login, "click", function(event) {
			getPopUp("/auth/login.ajax");
			return false;
		});
	});
	var logoutList = glow.dom.get(".logout");
	logoutList.each(function(ii){
		var logout=glow.dom.get(logoutList[ii]);
		glow.events.addListener(logout, "click", function(event) {
			getPopUp("/auth/logout.ajax");
			return false;
		});
	});*/
	var ajaxlinkList = glow.dom.get(".ajaxlink");
	ajaxlinkList.each(function(ii){
		var ajaxlink=glow.dom.get(ajaxlinkList[ii]);
		glow.events.removeAllListeners(ajaxlink);
		glow.events.addListener(ajaxlink, "click", function(event) {
			getPopUp(ajaxlink.attr("href")+".ajax");
			return false;
		});
	});
	ajaxForms();
}
function ajaxForms(){
	var formList = glow.dom.get("form.ajaxform");
	formList.each(function(ii){
		var form=glow.dom.get(formList[ii]);
		glow.events.removeAllListeners(form);
		glow.events.addListener(form, "submit", function(event) {
			var url=form.attr("action")+'.ajax?';
			var inputs=form.get("input, select");
			inputs.each(function(jj){
				var input=glow.dom.get(inputs[jj]);
				if(input.attr("type")=="submit")return;
				url+=input.attr("name");
				url+="=";
				url+=encodeURIComponent(input.val());
				url+="&";
			});
			getPopUp(url);
			return false;
		});
	});
}
function getPopUp(url){
	glow.net.get(url,{
		onLoad:function(response){
			var rawtext=response.text().replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
			if (rawtext.indexOf("<span id='success' />")>-1) return refreshSuccess(rawtext.replace("<span id='success' />",""));
			var scripts=rawtext.match(/(<script.*?src=")(.*?)(?=")/gi)
			for(ii in scripts){
				var script=scripts[ii].replace(/<script.*?src="/,"");
				glow.net.loadScript(script);
			}
			rawtext=rawtext.replace(/<script.*?<\/script>/i,"");
			var ajaxxml=glow.dom.create(rawtext);
			var panel=new glow.widgets.Panel(ajaxxml,{theme:"light"}).show();
			//if(typeof suggestAgents == 'function')suggestAgents();
			panel.content.get("form").addClass("ajaxform");
			panel.content.get("form.noajax").removeClass("ajaxform");
			ajaxForms();
			glow.events.addListener(panel.content.get("form"), "submit", function(event) {panel.hide()});
			var newinputs=panel.content.get("input");
			newinputs.each(function(kk){
				var input=glow.dom.get(newinputs[kk]);
				if(input.attr("type")==null || input.attr("type")=="text"){
					input[0].focus();
					return;
				}
			});
		},
		onError: function(response){
			alert("Sorry, an error occured");
		}
	});

}
function refreshSuccess(msg){
	msg=glow.dom.create(msg).text();
	var form=glow.dom.create("<form method='post'/>").appendTo("#content");
	glow.dom.create("<input type='hidden' name='success' />").val(msg).appendTo(form);
	form[0].submit();
}
