function GetId(id) {
	if(document.getElementById) // standardised method first
		return document.getElementById(id);
	else if(document.all)
		return document.all[id];
	else if(document.layers)
		return document.layers[id];
	else
		return null;
}

function CheckField(field,classes,msg){
	GetId(field+'_box').innerHTML = msg;
	if(GetId(field))
		GetId(field).className = classes;
	GetId(field+'_box').className = classes;
}

function CountErrors(form_id){
	var err = 0;
	var cur_form = document.getElementById(form_id);
	var spans = document.getElementsByTagName('span');
	for(i=0;i!=spans.length;i++){
		if(spans[i].className == 'error')
			err++;
	}
	if(err == 0) return(true); else return(false);
}


function Switch(type,nb){
	var nb = GetId('switch').getElementsByTagName('li');
	var types = new(Array);
	for(i=1;i<=nb.length;i++){
		if(i == type){
			GetId('switchbox'+i).className = 'shown';
			GetId('switchli'+i).className = 'on';
		}
		else {
			GetId('switchbox'+i).className = 'hidden';
			GetId('switchli'+i).className = '';
		}
	}
}
function Auth(){
	
	var auth_email = GetId('auth_email').value;
	var auth_password = GetId('auth_password').value;
	
	var err = new Array();
	err['auth_email'] = '';
	err['auth_password'] = '';
	
	if(auth_email == '')
		CheckField('auth_email','error','Must be filled');
	else
		CheckField('auth_email','ok','');
	if(auth_password == '')
		CheckField('auth_password','error','Must be filled');
	else
		CheckField('auth_password','ok','');

	var c = 0;
	for(var name in err){
		if(err[name] != ''){
			GetId(name+'_box').innerHTML = err[name];	
			c = c+1;
		}
	}
	if(CountErrors('auth_form'))
		GetId('auth_form').submit();
}
function ResetForm(){
	GetId('auth_form').reset();
	GetId('err_auth_email').innerHTML = '';
	GetId('err_auth_password').innerHTML = '';
}
function DoAjax(url) {
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);	
	
	xhr_object.open("GET", '/_ajax/'+url, false);
	xhr_object.send(null);	

	if(xhr_object.readyState == 4){
		var res = xhr_object.responseText;
		//alert(res);
		return res;
	}
	else
		return "<div class=\"red_box\">This Operation cannot be performed for the moment</div>";
}
function DoSessionAjax(url) {
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);	
	
	xhr_object.open("GET", '/_ajax/'+url, false);
	xhr_object.send(null);	

	if(xhr_object.readyState == 4){
		var session_res = xhr_object.responseText;
		//alert(res);
		return session_res;
	}
	else
		return "<div class=\"red_box\">This Operation cannot be performed for the moment</div>";
}
function SendForm(id){
	GetId(id).submit();	
}
function GetSel(id){
	return GetId(id).options[GetId(id).selectedIndex].value;
}
function CheckField(field,classes,msg){
	GetId(field+'_box').innerHTML = msg;
	if(GetId(field))
	GetId(field).className = classes;
	GetId(field+'_box').className = classes;
}
function CountErrors(form_id){
	var err = 0;
	var cur_form = document.getElementById(form_id);
	var spans = document.getElementsByTagName('span');
	for(i=0;i!=spans.length;i++){
		if(spans[i].className == 'error')
			err++;
	}
	if(err == 0) return(true); else return(false);
}