/* common functions for layer handling
--------------------------------------------------*/
function showLayer(id) {
  var lyr = getElemRefs(id);
  if (lyr && lyr.css) lyr.css.visibility = "visible";
}

function hideLayer(id) {
  var lyr = getElemRefs(id);
  if (lyr && lyr.css) lyr.css.visibility= "hidden";
}

function getElemRefs(id) {
	var el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? document.layers[id]: null;
	if (el) el.css = (el.style)? el.style: el;
	return el;
}

function overallHeight(obj){
	var obj = getElemRefs(obj);
	var h = getElemRefs('outer-container').offsetHeight;
	if(obj && obj.css) obj.css.height = h + "px";
}

/* commons functions used by ajax
--------------------------------------------------*/
function showLoader(){
	overallHeight("site-overall");
	showLayer("site-overall");
	showLayer("site-loading");
}

function hideLoader(){
	hideLayer("site-overall");
	hideLayer("site-loading");
}


/* mark fields due to validaton failure
--------------------------------------------------*/
function highlight_field(fields){
	for(var i in fields){
		var f = getElemRefs(fields[i]);
		if(f) f.setAttribute("class", "field-error");
	}
}

/* new email -> init
--------------------------------------------------*/
function initNewMail(){
	showLoader();
}

/* new email -> callback
--------------------------------------------------*/
function cbNewMail(response){
	var postback = response.split("!?!");
	var err_msg  = postback[0].split("|");
	var err_obj  = postback[1].split("|");
	var status	 = err_msg[0];
	
	if(status == 200){
		getElemRefs("contact-form").style.display = "none";
		getElemRefs("contact-thanks").style.display = "block";

	}else if(status == 201){
		alert("Ett tillfälligt fel uppstod och mailet skickades inte.\n\nVänligen försök igen lite senare.\n");

	}else{
		highlight_field(err_obj);
		message = "Ett fel uppstod:\n";
		for(var i = 1; i <= err_msg.length -1; i++){
			message += " - " + err_msg[i] + "\n";
		}
		alert(message);
	}
	hideLoader();
}


