var isW3C = (document.getElementById) ? true : false;
var isAll = (document.all) ? true : false;

function showhidelayer(elemID) {
	var elem = (isW3C) ? document.getElementById(elemID) : ((isAll) ? document.all[elemID] : null);

    if (typeof elem.className == "string") {
        if (elem.className == 'closed'){
			elem.className = '';
		} else {
			elem.className = 'closed';
		}
    }
}

function toggle_hitlist_box(obj, boxmode) {

	/*if(obj.childNodes.item(0) && obj.childNodes.item(0).tagName=="H1")
		i = 0;
	else if(obj.childNodes.item(1) && obj.childNodes.item(1).tagName=="H1")
		i = 1;
	*/
	if(boxmode=='over') {
		obj.style.border='1px solid #999';
		/*obj.childNodes.item(i).style.backgroundColor='#cbc1b9';
		obj.childNodes.item(i).style.backgroundImage='url(img/announce_bg_dark.gif)';*/
	}
	if(boxmode=='out') {
		obj.style.border='1px solid #d9cba8';
		/*obj.childNodes.item(i).style.backgroundColor='#dcd6d1';
		obj.childNodes.item(i).style.backgroundImage='url(img/announce_bg_light.gif)';*/
	}

}

function clr__loginboxes(loginform) {
	loginform.username_top.onfocus=function() {};
	loginform.password_top.onfocus=function() {};
	loginform.username_top.value = "";
	var size = loginform.password_top.size;
	var input = document.createElement('input');
	input.type='password';
	input.id='password_top';
	input.name='password';
	input.size=size;
	input.value='';
	loginform.password_top.parentNode.replaceChild(input, loginform.password_top);
	loginform.username_top.focus();
}

function validator_output(ret, msg) {
	if(ret==false) {
		alert(msg);
		return false;
	} else {
		return true;
	}
}

function validate_reg(eform) {

	msg="";
	ret=true;
	if(eform.reg_username.value.length<1){ msg+='Användarnamn saknas.\n'; ret=false };
	//var unameReg=/\W/;
	var unameReg=/[^a-zA-Z0-9_åäöÅÄÖ]/;
	if(unameReg.test(eform.reg_username.value)) {
		msg+='Otillåtna tecken i användarnamnet.\n';
	}
	if(validate_email(eform, true)==false) {
		ret=false;
		msg+='Ogiltig epost-adress.\n';		
	}
	if(validate_password(eform, true)==false) {
		ret=false;
		msg+='Ditt lösenord är inte ifyllt i båda fälten eller så matchar de inte varandra.\n';
	}
	if(eform.ccode.value.length<1) {
		reg=false;
		msg+='Kod som ska matcha bilden är inte ifylld.';
	}
	return validator_output(ret, msg);

}

function validate_management(eform) {

	msg="";
	ret=true;
	if(validate_email(eform, true)==false) {
		ret=false;
		msg+='Ogiltig epost-adress.\n';		
	}
	if(validate_password(eform, true)==false) {
		ret=false;
		msg+='Ditt lösenord är inte ifyllt i båda fälten eller så matchar de inte varandra.\n';
	}

	return validator_output(ret, msg);

}

function validate_novell_add(eform) {
	ret=true;
	msg="";
	if(eform.title.value=='') {
		msg+=('Du har inte angett någon titel.\n');
		ret=false;
	}
	if(eform.category.value=='') {
		msg+=('Du har inte valt någon kategori.\n');
		ret=false;
	}
	if(eform.text.value=='') {
		msg+=('Din novell är tom.');
		ret=false;
	}
	if(ret==false) {
		alert(msg);
	}
	return ret;
}

function validate_email(eform, caller) {
	if(eform.reg_email.value.length>0) {
		var emailReg=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
		if(emailReg.test(eform.reg_email.value)==false) {
			if(caller==true) {
				return false;
			} else {
				alert('Ogiltig epost-adress.\n');
				return false;
			}
		}
	} else {
		return false;
	}
}

function validate_password(eform, caller) {
	if(eform.reg_password.value.length>0) {
		if(eform.reg_password.value.length<1 || eform.reg_password.value!=eform.reg_passwordc.value) {
			if(caller==true) {
				return false;
			} else {
				alert('Ditt lösenord är inte ifyllt i båda fälten eller så matchar de inte varandra.\n');
				return false;
			}
		}
	} else {
		return true;
	}
}

function validate_pm_delete() {
	ret=false;
	inputs = document.getElementsByTagName("input");
	for(var i=0; i < inputs.length; i++) {
		if (inputs[i].type.toLowerCase()=='checkbox') {
			if(inputs[i].checked==true) {
				ret=true;
			}
		}
	}

	if(ret==false) {
		alert('Du har inte markerat någon rad.');
		return false;
	} else {
		return true;
	}

}


function pm_href(obj, id, box) {
	str_location = '?page=pm&m='+id;
	if(box=='out')
		str_location += '&box=out';
	location.href=str_location;
}

function $(s)
{
	return document.getElementById(s);
}

function manage_presentation(mode, o1, o2, field) {

	el1=$(o1);
	el2=$(o2);

	switch(mode) {
		case "edit":
			el1.style.display='none';
			el2.style.display='block';
			break;
		case "preview":
			$(field).value=$(field+"_original").value;
			el1.style.display='block';
			el2.style.display='none';
			break;
	}
}

function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
	else 
		countfield.value = maxlimit - field.value.length;
}

function multiple_select(mode) {
	inputs = document.getElementsByTagName("input");
	for(var i=0; i < inputs.length; i++) {
		if (inputs[i].type.toLowerCase()=='checkbox') {
			if(mode==true)
				inputs[i].checked=true;
			if(mode==false)
				inputs[i].checked=false;
		}
	}
}

var global_uname_ret=null;
function validate_send_pm(eform) {

	msg="";
	ret=true;

	if(eform.uname) {
		if(eform.uname.value=='') {
			msg+=("Du måste ange mottagare.\n");
			ret=false;
		} else {
			if(eform.uid.value.substring(0, 5)=="false" && eform.uname.value!="sexnovell") {
				msg+=("Användaren "+eform.uname.value+" finns inte\n");
				ret=false;
			}
			if(trimAll(eform.uid.value)==eform.muid.value) {
				msg+=("Du försöker skicka PM till dig själv.\n");
			}
		}
	}
	if(eform.message.value.length<1) {
		msg+='Du måste skriva något i meddelandefältet.\n'; ret=false;
	}
	return validator_output(ret, msg);

}

function validate_pm_user(obj) {
	if($("uname").value!="")
		viewField('pm_username', '', 'uname');
}

function viewField(retrieve_program, retrieve_result, retrieve_field) {
	
	if($(retrieve_field).value!="") {
		program = retrieve_program;
		var url = "ajax/result.php?program="+retrieve_program+"&param="; // The server-side script
		if(retrieve_result.length>0)
			document.getElementById(retrieve_result).innerHTML = "...läser databasen...";
		var name = document.getElementById(retrieve_field).value;
		http.open("GET", url + escape(name), true);
		http.onreadystatechange = handleHttpResponse;
		http.send(null);
	}
}

var program;
function handleHttpResponse() {

	if (http.readyState == 4) {
		results = http.responseText;
		switch (program) {
			case 'username':
				var name = document.getElementById("reg_username").value;
				if(results == "" || results.length < 2) results = "Användarnamn \"" + name + "\" är ledigt...";
				document.getElementById('retrieve_result_username').innerHTML = results;
				break;
			case 'email':
				document.getElementById('retrieve_result_email').innerHTML = results;
				break;
			case 'pm_username':
				document.getElementById('uid').value=results;
				break;
		}
	}

}

function trimAll(sString) {
	while (sString.substring(0,1) == ' ') {
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ') {
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function getHTTPObject() {

	var xmlhttp;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	  try {
	  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	   xmlhttp=false;
	  }
	 }
	@else
	 xmlhttp=false
	 @end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	return xmlhttp;

}
var http = getHTTPObject(); // We create the HTTP Object */
