//author : nitish@livehelper.com

var isns6 = (document.getElementById && !document.all) ? true : false ;
var isie = document.all ? true : false ;
var isns = document.layers ? true : false ;

var re = /opera/ig;
var isop = navigator.userAgent.match(re) ? true : false ;

var lhOpToClient;

var serverId;

var lhFormShare = true;

var lhSendChange = new Image();

var lhFirstSend = new Array; 

var elementType; 
var firsturl; 
var firsturlimg = new Image();

var companyId;
var clientId;
var toWhere;
var userId;
var URL;
var bFromChat;

var before = "";

function handlerie(e) {

	if (!lhFormShare)  
		return;

	if (isie) {
		e = window.event;

		if (e.type == "focus")
		{ 
				e.srcElement.before = e.srcElement.value;
				before = e.srcElement.value;
		}
		if (e.type == "blur") {

			if ( e.srcElement.value != e.srcElement.before )
			{
				var url = "http://newoperator.livehelper.com/servlet/lhOperator?ACTION=FILLFORMELEMENT&COMPANYID=" + escape(companyId) + "&USER=" + escape(userId) + "&CLIENTID=" +   escape(clientId) + "&INDEX=" + escape(e.srcElement.sourceIndex) + "&TYPE=" + escape(e.srcElement.type) + "&VALUE=" + escape(e.srcElement.value) + "&TOWHERE=" + escape(toWhere) + "&FROMCHAT=" + escape(bFromChat) +  "&FRAME=" + escape(frameName) ;
//				alert(url);
				lhSendChange.src = url;	
			}
		}
		e.cancelBubble;
	}
}


function rightHandler() {

	if (!lhFormShare) 
		return true;

	if (lhOpToClient == 1)  // uncomment this  to give only the operator right click menu
			return true;    // nitish

	var a = window.confirm("Would you like to stop sharing this form ?");
	if (a)
	{
		var url = "http://newoperator.livehelper.com/servlet/lhOperator?ACTION=FILLFORMELEMENT&COMPANYID=" + escape(companyId) + "&USER=" + escape(userId) + "&CLIENTID=" +   escape(clientId) + "&INDEX="  + "&TYPE=QUIT" + "&VALUE=" + "&TOWHERE=" + escape(toWhere) + "&FROMCHAT=" + escape(bFromChat) +  "&FRAME=" + escape(frameName) ;
//		alert(url);
		lhSendChange.src = url;	
		lhFormShare = false;
	}
	return false;
}

function addhandlersie(o) {

	document.oncontextmenu= rightHandler;

	if (o.type == "checkbox" || o.type == "radio") {
		o.onclick = checkhandler;
	} else if (o.type == "select-multiple")
	{
		o.onblur = mulhandler;
	} else {
		o.onblur = handlerie;
		o.onfocus = handlerie;
	}
}

function getevent( serverid, cid , userid , clientid , towhere , cfromchat) 
{
//	alert("in get event");
	serverId = serverid;
	companyId = cid;
	userId = userid;
	clientId = clientid;
	toWhere = towhere;
	lhOpToClient = towhere;
	bFromChat = cfromchat;

	if (lhOpToClient == 0)
	{
		setTimeout("firsttime()","5000");
		return;
	} else 
		geteventie();
}

function geteventie() {
	
	frmLength=parseInt(document.forms.length);
	for(p=0;p < frmLength;p++)
	{
		elemntLength=parseInt(document.forms[p].elements.length)
		document.forms[p].onsubmit = submithandler;

		for(i=0;i<elemntLength;i++)
		{
			if ( document.forms[p].elements[i].type != "button" && document.forms[p].elements[i].type != "submit")
			{  
					document.forms[p].elements[i].elementType = document.forms[p].elements[i].type;
					addhandlersie(document.forms[p].elements[i]);
			}

		}
	}
}


function checkhandler(e) {

	if (!lhFormShare)  
		return;

	e = window.event;

	var url = "http://newoperator.livehelper.com/servlet/lhOperator?ACTION=FILLFORMELEMENT&COMPANYID=" + escape(companyId) + "&USER=" + escape(userId) + "&CLIENTID=" +   escape(clientId) + "&INDEX=" + escape(e.srcElement.sourceIndex) + "&TYPE=" + escape(e.srcElement.type) + "&VALUE=" + escape(e.srcElement.checked) + "&TOWHERE=" + escape(toWhere) + "&FROMCHAT=" + escape(bFromChat) +  "&FRAME=" + escape(frameName) ;
//	aalert(url);
	lhSendChange.src = url;																																				// only 1 char																							1 or 0						

	e.cancelBubble;
}


function mulhandler () {
	if (!lhFormShare)  //checking if client has agreed to form sharing
		return;

	e = window.event;

	var url = "http://newoperator.livehelper.com/servlet/lhOperator?ACTION=FILLFORMELEMENT&COMPANYID=" + escape(companyId) + "&USER=" + escape(userId) + "&CLIENTID=" +   escape(clientId) + "&INDEX=" + escape(e.srcElement.sourceIndex) + "&TYPE=" + escape(e.srcElement.type) + "&VALUE=" +  "&FRAME=" + escape(frameName) ;
//					alert(url);

				for (k=0;k<e.srcElement.length ;k++ )
				{
					if (e.srcElement.options[k].selected)
					{
						url += k + "^";
					}
				}
				url +=  "&TOWHERE=" + escape(toWhere);
//				alert(url);
				lhSendChange.src = url;	
	e.cancelBubble;
}

function firsttime() {

	if (!lhFormShare) {//checking if client has agreed to form sharing
		s = setTimeout("firsttime()",2000);
		return;
	}

	getFrameName();
	frmLength=parseInt(document.forms.length);
	for(p=0;p < frmLength;p++)
	{
		elemntLength=parseInt(document.forms[p].elements.length);

		for(i=0;i<elemntLength;i++)
		{
			if (document.forms[p].elements[i].type == 'radio' || document.forms[p].elements[i].type == 'checkbox' )
			{
				document.forms[p].elements[i].img = new Image();
				var url = "http://newoperator.livehelper.com/servlet/lhOperator?ACTION=FILLFORMELEMENT&COMPANYID=" + escape(companyId) + "&USER=" + escape(userId) + "&CLIENTID=" +   escape(clientId) + "&INDEX=" + escape(document.forms[p].elements[i].sourceIndex) + "&TYPE=" + escape(document.forms[p].elements[i].type) + "&VALUE=" + escape(document.forms[p].elements[i].checked) + "&TOWHERE=" + escape(toWhere) + "&FROMCHAT=" + escape(bFromChat) +  "&FRAME=" + escape(frameName) ;
				document.forms[p].elements[i].img.src = url;
			} else if (document.forms[p].elements[i].type == 'textarea' )
			{
				document.forms[p].elements[i].img = new Image();
				var url = "http://newoperator.livehelper.com/servlet/lhOperator?ACTION=FILLFORMELEMENT&COMPANYID=" + escape(companyId) + "&USER=" + escape(userId) + "&CLIENTID=" +   escape(clientId) + "&INDEX=" + escape(document.forms[p].elements[i].sourceIndex) + "&TYPE=" + escape(document.forms[p].elements[i].type) + "&VALUE=" + escape(document.forms[p].elements[i].value) + "&TOWHERE=" + escape(toWhere) + "&FROMCHAT=" + escape(bFromChat) +  "&FRAME=" + escape(frameName) ;
				document.forms[p].elements[i].img.src = url;																																				// only 1 char																							1 or 0						
			} else if (document.forms[p].elements[i].type == 'select-multiple')
			{
				document.forms[p].elements[i].img = new Image();
				var url = "http://newoperator.livehelper.com/servlet/lhOperator?ACTION=FILLFORMELEMENT&COMPANYID=" + escape(companyId) + "&USER=" + escape(userId) + "&CLIENTID=" +   escape(clientId) + "&INDEX=" + escape(document.forms[p].elements[i].sourceIndex) + "&TYPE=" + escape(document.forms[p].elements[i].type) + "&VALUE=" +  "&FRAME=" + escape(frameName) ;
				for (k=0;k<document.forms[p].elements[i].length ;k++ )
				{
					if (document.forms[p].elements[i].options[k].selected)
					{
						url += k + "^";
					}
				}
				url +=  "&TOWHERE=" + escape(toWhere);
//				alert(url);
				document.forms[p].elements[i].img.src = url;	
			} else {
				document.forms[p].elements[i].img = new Image();
				var url = "http://newoperator.livehelper.com/servlet/lhOperator?ACTION=FILLFORMELEMENT&COMPANYID=" + escape(companyId) + "&USER=" + escape(userId) + "&CLIENTID=" +   escape(clientId) + "&INDEX=" + escape(document.forms[p].elements[i].sourceIndex) + "&TYPE=" + escape(document.forms[p].elements[i].type) + "&VALUE=" + escape(document.forms[p].elements[i].value) + "&TOWHERE=" + escape(toWhere) + "&FROMCHAT=" + escape(bFromChat) +  "&FRAME=" + escape(frameName) ;
//				alert(url);
				document.forms[p].elements[i].img.src = url;				
			}
		}
	}
	 geteventie();
}

function submithandler () {
	if (lhOpToClient == 1)
	{
			return false;
	}
	return true;
}
var frameName;

function getFrameName() {

	if(window.top.frames.length = 0)
		frameName = "_NO__NAME";
	else 
		frameName = window.self.name;

//	alert(window.self.name);
}
