function get_param( name ) {
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
    if( results == null )
        return "";
    else
        return results[1];
}

function loadValue(thisfield, defaulttext) {
    if (get_param('q') != null)
        thisfield.value = get_param('q')
    else
        thisfield.value = defaulttext;
}

function clickClear(thisfield, defaulttext) {
    if (thisfield.value == defaulttext) {
        thisfield.value = "";
    }
}

function clickRecall(thisfield, defaulttext) {
    if (thisfield.value == "") {
        thisfield.value = defaulttext;
    }
}

function changeClass(thisfield, newclass) {
    thisfield.className = newclass;
}

function hideDiv(id) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	} else {
		var tempobj = document.all? document.all[id] : document.getElementById(id);
		if (document.layers) { // Netscape 4
			tempobj.display = 'none';
		} else { // IE 4
			document.all.tempobj.style.display = 'none';
		}
	}
}

function showDiv(id) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	} else {
		var tempobj = document.all? document.all[id] : document.getElementById(id);
		if (document.layers) { // Netscape 4
			tempobj.display = 'block';
		} else { // IE 4
			document.all.tempobj.style.display = 'block';
		}
	}
}

function validateForm(form) {
	result = true;
	for (var i = 0; i < form.elements.length; i++) {
		objTemp = form.elements[i];
		if (objTemp.title != null) {
			if (objTemp.type.toLowerCase()  != 'button' && objTemp.type.toLowerCase()  != 'submit') {
				//Check if the item has a value
				if ((objTemp.value == '') && (objTemp.title != '')) {
					//alert(objTemp.title + " has not been entered");
					inlineMsg(form.elements[i], objTemp.title + " has not been entered", 2);
					result = false;
					break;
				}
				//Check if item is an 
				var strTemp = objTemp.title.toLowerCase();
				if (strTemp.indexOf('e-mail') != -1 || strTemp.indexOf('email') != -1) {
					if (!validateEmail(objTemp.value)) {
						inlineMsg(form.elements[i], objTemp.title + " is not valid", 2);
						result = false;
						break;
					}
				}
			}
		}
	}
	return result;
}

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGLEFTOFFSET = 0;
var MSGTOPOFFSET = -5;
var MSGHIDE = 3;

function inlineMsg(target,string,autohide) {
	var msg;
	var msgcontent;
	if(!document.getElementById('msg')) {
		msg = document.createElement('div');
		msg.id = 'msg';
		msgcontent = document.createElement('div');
		msgcontent.id = 'msgcontent';
		document.body.appendChild(msg);
		msg.appendChild(msgcontent);
		msg.style.filter = 'alpha(opacity=0)';
		msg.style.opacity = 0;
		msg.alpha = 0;
	} else {
		msg = document.getElementById('msg');
		msgcontent = document.getElementById('msgcontent');
	}
	msgcontent.innerHTML = string;
	msg.style.display = 'block';
	var msgheight = msg.offsetHeight;
	var targetdiv = target;
	targetdiv.focus();
	var targetheight = targetdiv.offsetHeight;
	var targetwidth = targetdiv.offsetWidth;
	var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
	var topposition = topPosition(targetdiv) + targetheight + MSGTOPOFFSET;
	var leftposition = leftPosition(targetdiv) + MSGLEFTOFFSET;
	msg.style.top = topposition + 'px';
	msg.style.left = leftposition + 'px';
	clearInterval(msg.timer);
	msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
	if(!autohide) {
		autohide = MSGHIDE;  
	}
	window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
	var msg = document.getElementById('msg');
	if(!msg.timer) {
		msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
	}
}

// face the message box //
function fadeMsg(flag) {
	if(flag == null) {
		flag = 1;
	}
	var msg = document.getElementById('msg');
	var value;
	if(flag == 1) {
		value = msg.alpha + MSGSPEED;
	} else {
		value = msg.alpha - MSGSPEED;
	}
	msg.alpha = value;
	msg.style.opacity = (value / 100);
	msg.style.filter = 'alpha(opacity=' + value + ')';
	if(value >= 99) {
		clearInterval(msg.timer);
		msg.timer = null;
	} else if(value <= 1) {
		msg.style.display = "none";
		clearInterval(msg.timer);
	}
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
	var left = 0;
	while (target) {
		left += target.offsetLeft;
		target = target.offsetParent;
	}
	return left;
}
  
  
// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
	var top = 0;
	while (target) {
		top += target.offsetTop;
		target = target.offsetParent;
	}
	return top;
}

function validateEmail(address) {
	var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(address);
}