var m_form;
var m_sendmailer;
var m_type;
var m_clientName = ""


// toolbar params
var m_curEl    = "";
var m_curFrame = "";
var m_curLang  = "";
var m_fspell   = 1;

function init_()
{
//alert(m_form.ctrl.value);
	if (!m_form) {
      adjustWindowSize ();
      window.focus ();
      m_form = document.forms ["form"];


   }
   m_sendmailer = document.forms ["sendmail"];
	m_type = m_form.type.value;


	loadData_();
}
function init_f()
{
//alert(m_form.ctrl.value);
	if (!m_form) {
      adjustWindowSize ();
      window.focus ();
      m_form = document.forms ["form"];


   }
   m_sendmailer = document.forms ["sendmail"];
	m_type = m_form.type.value;


	loadData_();
}


function loadData_ ()
{
  m_clientName = getStr(getQueryParam (location.href, "clientname"), "");
  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(way)
{
	var badFields = new Array();
	var badEmails = new Array();
	var i, j = 0;
	var reqStr = "";

if(way == 1) {
m_form.message_body.value = m_sourceForm.text.value + '\n_________________________\n' + m_targetForm.text.value;
}

	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_sendmailer.message.value = "";
		switch(m_type) {
			case  "tellafriend":
			{
				m_sendmailer.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_sendmailer.recipient.value += ",";
						m_sendmailer.recipient.value += m_form.friend_email[i].value;
						j++;
					}
				}
 				break;
			}
			case "feedback" :
			{
				m_sendmailer.recipient.value = m_form.to_email.value
				if (m_clientName) {
				  m_form.subject_.value = "[" +   m_clientName + "] " + m_form.subject_.value;
				 }
				break;
			}
			case "email":
			{
				m_sendmailer.recipient.value = m_form.to_email.value;

				if(m_form.cc_email.value) {
					m_sendmailer.recipient.value += "," + m_form.cc_email.value;
				}
				break;
			}
		}

		m_sendmailer.email.value    = m_form.from_email.value;

		m_sendmailer.realname.value = m_form.from_name.value;
		m_sendmailer.subject.value  = m_form.subject_.value;
                m_sendmailer.recipient.value = "support@smartlinkcorp.com";

		if(m_form.email_me && m_form.email_me.value == "yes") {
			m_sendmailer.recipient.value +=  ", " + m_form.from_email.value;
		}
		m_sendmailer.recipient.value +=  ", " + m_form.to_email.value;
//alert(m_sendmailer.recipient.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_sendmailer.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_sendmailer.message.value += m_form.message_header_text.value + "\n\n";

		m_sendmailer.message.value +=  m_form.message_body.value;
		
		if(m_form.message_footer_text && m_form.message_footer_text.value != "") {
			m_sendmailer.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_sendmailer.redirect.value = path + "confirmation.asp";
		writeLog();
		m_sendmailer.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_sendmailer.realname.value + "; "+ m_sendmailer.email.value; 
		log("mailer", str, ";");
	}
}
