var m_form;
var m_sendmail;
var m_type;

// toolbar params
var m_curEl    = "";
var m_curFrame = "";
var m_curLang  = "";
var m_fspell = 1;
var m_clientName = "";
var m_ln         = ""
var m_skin       = ""

function init()
{
	if (!m_form) {
      adjustWindowSize ();
      window.focus ();
      m_form = document.forms ["form"];
   }
  if(m_form.clientName) {
      m_clientName	= m_form.clientName.value;
   }
   if(m_form.skin) {
    m_skin = m_form.skin.value;
   }
  if(m_form.ln) {
    m_ln = m_form.ln.value;
   }
   m_sendmail = document.forms ["sendmail"];
	m_type = m_form.type.value;
	loadData();
}

function loadData ()
{
   if(m_form.ctrl.value || getQueryParam (location.href, "ctrl")) {
	var list = getStr(getQueryParam (location.href, "ctrl"), m_form.ctrl.value);
	list = list.split("/");
	var ctrl;
	var opener = getOpener(window.parent);
	   	if(list.length == 2) {
			var doc = opener.frames[list[0]].document;
			ctrl = findCtrlEx(list[1], doc);
		}
		else {
			
			ctrl = findCtrlEx(list[0], opener.document);
		}
		m_form.message_body.value = ctrl.value;
   }
   m_form.from_name.value = getCookie("fromname");
   m_form.from_email.value = getCookie("fromemail");
   if(m_form.subject_.value && getQueryParam (location.href, "subj"))
		m_form.subject_.value = m_form.subject_.value  + " (" + getQueryParam (location.href, "subj")+ ")"
    
}

function getOpener (wnd) {
   if (wnd.external
       && wnd.external.menuArguments
       && wnd.external.menuArguments.parent)
      return wnd.external.menuArguments.parent;
   if (wnd.dialogArguments)
      return wnd.dialogArguments.opener;
   return wnd.opener;
}

function checkMail(field)
{
	var mailArr = field.value.split(",");
	for(var i = 0; i<mailArr.length; i++ ) {
		var str = mailArr[i];
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (! filter.test(str))  {
			return false;
		}
	}
	return true;	
}

function checkField(field)
{
	if(field.value == ""){
		return false;
	}
	return true;
}

function validateForm()
{
	var badFields = new Array();
	var badEmails = new Array();
	var i, j = 0;
	var reqStr = "";

	for(i = 0; i < m_form.length; i++ ) {
		if(m_form[i].className == "required" || m_form[i].classID == "required") { // classID for opera
			var field = m_form[i];
			if( reqStr != "") {
				reqStr += ",";
			}
			reqStr += field.name;
			if(!checkField(field)) {
				badFields[j] = field.title;
				j++;
			}
		}
	}
	j = 0;
	for(i = 0; i < m_form.length; i++ ) {
		var field = m_form[i];
		var rg = /email/;
		if(field.type == "text" && rg.test(field.name)) {
			if( field.value !="" && !checkMail(field)) {
				badEmails[j] = field.title;
				j++;
			}
		}
	}
	if(badFields.length > 0) {
		var str = TEXT_MSG_ENTER_VALUE + "\n\n"; //"Please enter values for the next fields: \n";
		for(i = 0; i < badFields.length; i++) {
			str += "\t" + badFields[i] + "\n";
		}
		alert(str);
		return;
	}		
	if(badEmails.length > 0) {
		var str = TEXT_MSG_VALID_EMAIL  + "\n\n"; //"Please specify a valid E-Mail addresses for the next fields: \n";
		for(i = 0; i < badEmails.length; i++) {
			str += "\t" + badEmails[i] + "\n";
		}
		alert(str);
		return;
	}		
		m_sendmail.message.value = "";
		switch(m_type) {
			case  "tellafriend":
			{
				m_sendmail.recipient.value = "";
				for(i =0, j = 0; i < m_form.friend_email.length; i++ ) {
					if(m_form.friend_email[i].value) {
						if(j > 0)
							m_sendmail.recipient.value += ",";
						m_sendmail.recipient.value += m_form.friend_email[i].value;
						j++;
					}
				}
 				break;
			}
			case "feedback" :
			{
				m_sendmail.recipient.value = m_form.to_email.value
				break;
			}
			case "email":
			{
				m_sendmail.recipient.value = m_form.to_email.value;
				if(m_form.cc_email.value) {
					m_sendmail.recipient.value += "," + m_form.cc_email.value;
				}
				break;
			}
		}

		m_sendmail.email.value = m_form.from_email.value;
		m_sendmail.realname.value = m_form.from_name.value;
		m_sendmail.subject.value = m_form.subject_.value;
		

		if(m_form.email_me && m_form.email_me.value == "yes") {
			m_sendmail.recipient.value +=  ", " + m_form.from_email.value;
		}
		
	// set cookies
		setCookie("fromname", m_form.from_name.value);
		setCookie("fromemail", m_form.from_email.value);
		if(m_form.prefix && m_form.prefix.value != "")
			m_sendmail.message.value += m_form.prefix.value + " " + m_form.from_name.value + " (" + m_form.from_email.value + ") " + m_form.suffix.value + " \n\n";

		if(m_form.message_header_text && m_form.message_header_text.value != "")
			m_sendmail.message.value += m_form.message_header_text.value + "\n\n";

		m_sendmail.message.value +=  m_form.message_body.value;
		
		if(m_form.message_footer_text && m_form.message_footer_text.value != "") {
			m_sendmail.message.value += "\n\n____________________________________________________\n" + m_form.message_footer_text.value;
		}	
		var arr = location.href.split("?");
		var path = arr[0].substr(0, arr[0].lastIndexOf('/') + 1);
		m_sendmail.redirect.value = path + "close.htm";
		writeLog();
enableControl(m_form["send-email"], false);
		m_sendmail.submit();
		return;
}

function setHtmlFormat(text)
{
	var res;
	var prefix = "<html><head><META http-equiv='Content-Type' content='text/html; charset=utf-8'></head><body>";
	var suffix = "</body></html>";
	res = prefix + text.replace(/\n/g, "<br>") +  suffix;
	return res;
}

function onFocusField (obj, fspell)
{
	m_curEl   = obj;
	m_fspell  = ( fspell == 1 ? 1 : 0 );
}


function writeLog()
{
	if(window.log!=null) {
		var str = m_form.type.value + ";" + m_sendmail.realname.value + "; "+ m_sendmail.email.value; 
		log("mailer", str, ";");
	}
}