var timeout = 1000;
var err_obj = new Array();

function ShowEmailForm(e,obj){
	var args = ShowEmailForm.arguments;
	var direction = args.length > 2? args[2] : 0;
	
	var sender = (e.target)? e.target : e.srcElement;
	var isIE = (e.offsetX != undefined);

	//Get senter's position X an Y on document
	var senderOffsetX = getOffsetLeft(sender);
	var senderOffsetY = !isIE? getOffsetTop(sender) - 6 : getOffsetTop(sender);
	
	//Get sender's width and height
	var senderHeight = isIE? sender.offsetHeight + 1 : sender.offsetHeight
	var senderWidth = sender.offsetWidth
	
	//Get Object's width and height
	var objHeight = isIE? obj.clientHeight + 1 : obj.clientHeight
	var objWidth = isIE? obj.offsetWidth : obj.offsetWidth - 2
	
	//Set Object's top position
	if(direction == 0){
		obj.style.top = senderOffsetY + senderHeight + (!isIE? 6 : 0)
	}else if(direction == 1){
		obj.style.top = senderOffsetY - objHeight + (!isIE? 4 : 0)
	}
	
	//Set Object's left position
	if((senderOffsetX + objWidth) >= document.body.clientWidth){
		obj.style.left = senderOffsetX + senderWidth - objWidth
	}else{
		obj.style.left = senderOffsetX
	}	
	
	//document.getElementById("tst").value = objHeight + " | " + objWidth
	obj.style.position = "absolute"
	obj.style.display = ""
	obj.tag = 1;
}

function getOffsetTop (elm) {
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;
	while (mOffsetParent) {
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;}
	return mOffsetTop;
}

function getOffsetLeft (elm) {
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;
	while (mOffsetParent) {
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;}
	return mOffsetLeft;
}

function Hide(frm){
	if(frm.tag != 1){
		frm.style.display = 'none'
	}
}

function SendToFriend(e,frm,id){
	form_field.style.display = "none"
	result_field.style.display = ""
	result_field.innerHTML = "<table bgcolor=ffffff><tr><td>Sending<img src='http://myforwards.com/images/period_ani.gif'></td></tr></table>"
	
	var rec_names = frm.elements['rec_name[]'].value;
	var rec_emails = frm.elements['rec_email[]'].value;
	
	// for future
	//if(rec_names.length > 1){
	//	alert("this functionality is not ready yet. you can not send e-mails to multiple people at once. Admin has to make it work like that. He has'nt done so yet.")
	//	rec_names = rec_names[0]
	//	rec_emails = rec_emails[0]
	//}
	
	ajax(result_field,"send-to-friend.php","func=send&sender_name="+frm.sender_name.value+"&sender_email="+frm.sender_email.value+"&rec_name="+rec_names+"&rec_email="+rec_emails+"&message="+frm.message.value+"&id="+id,"POST") //Available Arguments: URL, OBJECT, Method, Action, Function (if act = 'function')
}

function ValidateMailForm(e,frm){
	var err = "";
	var rec_names = frm.elements['rec_name[]'];
	var rec_emails = frm.elements['rec_email[]'];
	temp_color = frm.bgcolor
	
	if(frm.sender_name.value.length<3){
		err_obj[err_obj.length] = frm.sender_name
	}
	if(!ValidateEmail(frm.sender_email.value)){
		err_obj[err_obj.length] = frm.sender_email
	}
	if(rec_names.length > 1){
		for(i=0;i<rec_names.length;i++){
			if(rec_names[i].value.length < 3){
				err_obj[err_obj.length] = rec_names[i]
			}
			if(!ValidateEmail(rec_emails[i].value)){
				err_obj[err_obj.length] = rec_emails[i]
			}
		}
	}else{
		if(rec_names.value.length < 3){
				err_obj[err_obj.length] = rec_names
		}
		if(!ValidateEmail(rec_emails.value)){
			err_obj[err_obj.length] = rec_emails
		}
	}
	for(i=0;i<err_obj.length;i++){
		err_obj[i].offsetParent.parentNode.style.background = "#FF6666" //.parentNode.parentNode
	}
	
	if(err_obj.length > 0){
		fix_field.style.display = ''
		return false;
	}else{
		return true;
	}alert('1')
}

function ValidateEmail(mail){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail)){return true;}else{return false;}
}

function MoveFixBox(e){
	if(fix_field.style.display != 'none'){
		fix_field.style.left = e.clientX - (document.all? parseFloat(email_form.style.left) : 0) + 10;
		fix_field.style.top = e.clientY - (document.all? parseFloat(email_form.style.top) : 0) + 20;
	}
}

function CleanUpForm(e){
	for(i=0;i<err_obj.length;i++){
		err_obj[i].offsetParent.parentNode.style.background = email_form.bgColor
		
	}
	err_obj = new Array()
}

