var triggerError = function (text) {	alert(text);}/* code below is borrowed from various locations */var clientPC = navigator.userAgent.toLowerCase(); // Get client infovar is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));var is_safari = ((clientPC.indexOf('applewebkit')!=-1) && (clientPC.indexOf('spoofer')==-1));var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));function addEvent( obj, type, fn ) {	if (obj.addEventListener) {		obj.addEventListener( type, fn, false );		EventCache.add(obj, type, fn);	}	else if (obj.attachEvent) {		obj["e"+type+fn] = fn;		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }		obj.attachEvent( "on"+type, obj[type+fn] );		EventCache.add(obj, type, fn);	}	else {		obj["on"+type] = obj["e"+type+fn];	}}var EventCache = function(){	var listEvents = [];	return {		listEvents : listEvents,		add : function(node, sEventName, fHandler){			listEvents.push(arguments);		},		flush : function(){			var i, item;			for(i = listEvents.length - 1; i >= 0; i = i - 1){				item = listEvents[i];				if(item[0].removeEventListener){					item[0].removeEventListener(item[1], item[2], item[3]);				};				if(item[1].substring(0, 2) != "on"){					item[1] = "on" + item[1];				};				if(item[0].detachEvent){					item[0].detachEvent(item[1], item[2]);				};				item[0][item[1]] = null;			};		}	};}();var $A = Array.from = function(iterable) {  if (!iterable) return [];  if (iterable.toArray) {    return iterable.toArray();  } else {    var results = [];    for (var i = 0; i < iterable.length; i++)      results.push(iterable[i]);    return results;  }}/* okay, done */function cancelEvent(event){	if (event && event.stopPropagation) {        event.stopPropagation();    }    if (window.event && window.event.cancelBubble ) {        window.event.cancelBubble = true;    }        if (event && event.preventDefault) {        event.preventDefault();    }    if (window.event) {        window.event.returnValue = false;    }	    return false;}addEvent(window,'unload',EventCache.flush);function get_req() {    // branch for native XMLHttpRequest object    if (window.XMLHttpRequest) {        req = new XMLHttpRequest();        return req;    // branch for IE/Windows ActiveX version    } else if (window.ActiveXObject) {        req = new ActiveXObject("Microsoft.XMLHTTP");        if (req) {        	return req;        }    }}function can_ajax(){	var req = get_req();	if (req) return true;	else return false;}var ajax_enabled = can_ajax();function encodeURL(text) {	eurl = escape(text);	eurl = eurl.replace(/\//g,"%2F");	eurl = eurl.replace(/\?/g,"%3F");	eurl = eurl.replace(/=/g,"%3D");	eurl = eurl.replace(/&/g,"%26");	eurl = eurl.replace(/@/g,"%40");		return eurl;}Function.prototype.bind = function(object){	var __method;	__method = this;	var args = $A(arguments);	args.shift();	return function (event){ 		return __method.apply(object, Array(event || window.event).concat(args));	};}aRequest.prototype.process = function(){	if (this.req.readyState == 4){		if (this.req.status==200){			if (this.ajax_handle){								err=this.req.responseXML.getElementsByTagName("error");				if (err.length > 0){					if (err.childNodes.length > 0){						triggerError(err.getElementsByTagName("text")[0]);					}				}			}			this.onfinish(this);		}else{			triggerError("Could not get data");		}	}}function aRequest (path, onfinish, ajax_handle){	if (arguments.length == 2) ajax_handle = true;	this.path = path;	if (ajax_handle) this.path = this.path + "/a";	this.handle_ajax = ajax_handle;	this.onfinish = onfinish;	this.req = get_req();	this.data = "";	var _this = this;	this.req.onreadystatechange =this.process.bind(this);	this.arguments = arguments; //save the arguments for later	this.method = "GET";}aRequest.prototype.useForm = function (forme){		if (typeof forme == "string") forme = document.getElementById(name);	var inputs = forme.getElementsByTagName("input");	var selects = forme.getElementsByTagName("select");	var textareas = forme.getElementsByTagName("textarea");	var i, str;	str = "";	for (i = 0; i < inputs.length; i++){		str += "&" + inputs[i].name + "=" + encodeURL(inputs[i].value);	}	for (i = 0; i < selects.length; i++){		str += "&" + selects[i].name + "=" + encodeURL(selects[i].value);	}	for (i = 0; i < textareas.length; i++){		str += "&" + textareas[i].name + "=" + encodeURL(textareas[i].value);	}	if (str.length > 0) str=str.substr(1);	this.data = str;}aRequest.prototype.send = function(){	if (this.method == "POST"){		this.req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");		this.req.setRequestHeader("Content-length", str.length);		this.req.setRequestHeader("Connection", "close");	}	this.req.open(this.method,this.path, true);	this.req.send(this.data);	}function form_submitted(req){	alert("form " + req.arguments[3].id);}function submit_form(event){	var form = event.srcElement;	if (can_ajax()){		var req = new aRequest(form.action, form_submitted, true, form);		req.useForm(form);		req.send();		cancelEvent(event);	}}function scanForms(){	var forms = document.getElementsByTagName("form");	var i = 0;	for (i = 0; i < forms.length; i++){		var form = forms[i];		var name = form.id;				var texts = form.getElementsByTagName("input");		var j =0;		for (j = 0; j < texts.length; j++){			var text = texts[j];			if (text["type"] == "text" && text.className.split(" ")[0] == "stylebox" && is_safari){				text.outerHTML = "<div contenteditable='true' style='" + text.style.cssText + "'>" + text.value + "</div>";			}		}				if (name.length == 0) {form.id = form.name; name = form.id; }		if (name.length == 0) {form.id = "form" + i; name = form.id; }		var can, has;		try {		can = document.getElementById("can-ajax-" + name);		has = document.getElementById("has-ajax-" + name);				}catch (err){}		if (can != null && (has == null)){			addEvent(form,"submit",submit_form);						var el = document.createElement("input");			el.setAttribute("type","hidden");			el.setAttribute("id","has-ajax-" + name);			form.appendChild(el);		}	}}addEvent(window,'load',scanForms);
