
/*---------------------------------------------*/
/* set the name of the form for following variable for which you want to track in uFN variable below. For example, if your form has a name like <form name=myformname method=something action=gosomewhere> then put myformname in the variable like uFN = 'myformname'; below */


/*----------------------------------------------*/
var mFN;
if(uFN != '' || uFN != false){
mFN = eval('document.'+uFN);}
/*----------------------------------------------*/

var randomnumber;
var visit = 0;
var isSubmit = 0;
var uniq_sess_val_ctr;
var uniq_sess_val_str = '_';
for (uniq_sess_val_ctr=0; uniq_sess_val_ctr < 5; uniq_sess_val_ctr++) {
randomnumber=Math.floor(Math.random()*11);
uniq_sess_val_str = uniq_sess_val_str + randomnumber;
}
//alert('uniq_sess_val_str:' + uniq_sess_val_str);

var coktxt = document.cookie+";";
var coknam = uFN+userid;
var stano = coktxt.indexOf(coknam);
if (stano != -1){
    var endno = coktxt.indexOf(";",stano);
    var sess_id = unescape(coktxt.substring(stano+coknam.length+1,endno));
//    alert("cookie sess_id=" + sess_id);
}
else{
    var now = new Date();
    var datestr = now.getDate()+''+now.getMonth()+''+now.getYear()+''+now.getHours()+''+now.getMinutes()+''+now.getSeconds();
    var sess_id = datestr+''+uniq_sess_val_str;
}
var theDate = new Date();
var EndDate = new Date( theDate.getTime() + 100000 );
var expiryDate = EndDate.toGMTString();
//alert(uFN+userid+"="+sess_id+";expires="+expiryDate)
document.cookie = uFN+userid+"="+sess_id+";expires="+expiryDate; 
//alert("document.cookie=" + document.cookie);
function FormData (form) {
//alert('Inside FormData');
this.toString = FormData_toString;
this.toQueryString = FormData_toQueryString;
var fields = this.fields = new Object();
for (var e = 0; e < form.elements.length; e++) {
var field = form.elements[e];
if (field.name) {
if ((field.type.toLowerCase() == 'text'
|| field.type.toLowerCase() == 'textarea'
|| field.type.toLowerCase() == 'password'
|| field.type.toLowerCase() == 'file')
&& field.value)
fields[field.name] = field.value;
else if ((field.type.toLowerCase() == 'checkbox'
|| field.type.toLowerCase() == 'radio')
&& field.checked)
fields[field.name] = field.value;
else if (field.type.toLowerCase() == 'select-one'
&& field.selectedIndex != 0)
fields[field.name] =
field.options[field.selectedIndex].value;
else if (field.type.toLowerCase() == 'select-multiple'
&& field.selectedIndex != 0) {
fields[field.name] = new Array();
for (var i = 0; i < field.options.length; i++)
if (field.options[i].selected)
fields[field.name][fields[field.name].length] =
field.options[i].value;
}
}
}
}

var submitCap = '';
function formElement(form)
{
//alert('Inside formElement');
var f = '';
for (var e = 0; e < form.elements.length; e++)
{
var field = form.elements[e];
if (field.name)
{
if(field.type.toLowerCase() != 'hidden')
{
f += field.name + ':';
}
if(field.type.toLowerCase() == 'submit')
{
submitCap = field.name;
}
}
}
return f;
}

function FormData_toString () {
//alert('Inside FormData_toString');
var r = '';
for (var field in this.fields)
r += field + ':';
return r;

}

function urlEncode (string) {
//alert('Inside urlEncode');
string = string.replace(/ /g, '+');
return escape(string);
}

function FormData_toQueryString () {
//alert('Inside FormData_toQueryString');
var r = '';
for (var field in this.fields)
if (typeof this.fields[field] != 'string')
for (var i = 0; i < this.fields[field].length; i++)
r += urlEncode(field) + '=' + urlEncode(this.fields[field][i])
+ '&';
else
r += urlEncode(field) + '=' + urlEncode(this.fields[field]) + '&';
r = r.substring(0, r.length - 1);
return r;
}

document.write('<img src=https://www.mshonin.com/common/blank.html name=formplay_spacer width=1 height=1>');

if( (uFN == '' || uFN == false) ){
mFN = eval('document.'+document.forms[0].name);
}

function getResposne()
{
//alert('Inside getResposne');
if(isSubmit < 1)
{
var add_str;
var formdata;
var pagename;
var fd = new FormData(mFN);
var sPath = window.location.href;
var formdata =  fd;
var formfields = formElement(mFN);
var page_name = sPath;
var focuselement = this.name;
var elemettype = this.type;
//no use// today = new Date();
//no use// cur_time=today.getYear()+''+today.getMonth()+''+today.getDate()+''+today.getHours()+''+today.getMinutes()+''+today.getSeconds();
document.images.formplay_spacer.src = 'https://www.mshonin.com/common/formaction.asp?submitname='+submitCap+'&elemettype='+elemettype+'&lastfocus='+focuselement+'&visit='+visit+'&sess_id='+sess_id+'&uid='+userid+'&pagename='+page_name+'&data='+formdata+'&formfields='+formfields;
//alert('[getResposne] elemettype=' + elemettype + ', focuselement=' + focuselement); 
//alert('[getResposne] src=' + document.images.formplay_spacer.src);
visit = 1;
}
else
{
getSubmit();
}
}

function getSubmit()
{
//alert('Inside getSubmit');
var add_str;
var formdata;
var pagename;
var fd = new FormData(mFN);
var sPath = window.location.href;
var formdata =  fd;
var formfields = formElement(mFN);
var page_name = sPath;
var focuselement = this.name;
//no use// today = new Date();
//no use// cur_time=today.getYear()+''+today.getMonth()+''+today.getDate()+''+today.getHours()+''+today.getMinutes()+''+today.getSeconds();
document.images.formplay_spacer.src = 'https://www.mshonin.com/common/formaction.asp?submitname='+submitCap+'&lastfocus='+focuselement+'&visit='+visit+'&sub_flag=1&sess_id='+sess_id+'&uid='+userid+'&pagename='+page_name+'&data='+formdata+'&formfields='+formfields;
if(submitCap.toLowerCase() != 'submit')
{
   mFN.sess_id.value = sess_id;
   setTimeout(' mFN.submit()',3);
}
isSubmit = 1;
return false;
}

function assignObjectEvent()
{
//alert('Inside assignObjectEvent');
var counterElements = 0;
var form = mFN;
form.onsubmit = getSubmit;
while ( counterElements < parseInt(form.elements.length) )
{
form.elements[counterElements].onchange  = getResposne;
form.elements[counterElements].onfocus = getResposne;
counterElements++;
}
}
//alert('Initialization Start');
getResposne();
assignObjectEvent();
