function DynamicOfferEMM()
{

	//variable
	var m_pub_form_el=null;
	var m_results = [];
	var m_offerArray = new Array();
	var m_groupArray = new Array();
	var divElement=null;
	var emm_fields;
	var emmvars;
	var m_emmdownloadurl='';
	var emm_ipdefault='';
	var my_emm_iframe=null;
	
	function IncludeJavaScript(jsFile)
	{
		document.write('<script type="text/javascript" src="'
				+ jsFile + '"></scr' + 'ipt>'); 
	}
	
	//end variable
	//begin function
	//begin block for getting data from publisher to submit to EMarketmaker
	function f_emm_init() {	
		m_pub_form_el = document.getElementById(emmvars['emm_form_id']) || document.forms[emmvars['emm_form_id']];
		//the variable let us know emm_init finished or not		
		if (m_pub_form_el!= null)
			flag_emm_init=1;	
		IncludeJavaScript('http://www.in-path.com/jquery-1.4.2.js');
	}
    function f_setEMMDownloadURL(url)
	{
		m_emmdownloadurl=url;
	}
    function f_initFields(emmfields)
    {
        emm_fields=emmfields;
    }
    function f_initVariable(vars)
    {
        emmvars=vars;        
    }
	function f_parseOfferData(listoffer)
	{
		var temp=listoffer.split("|");
		for (i=0;i<temp.length;i++)
		{		
			var temp1=temp[i].split("-");
			m_offerArray.push(temp1[0]);
			m_groupArray.push(temp1[1]);
		}
	}

	function f_pausecomp(millis)
	{
		var date = new Date();
		var curDate = null;
		do { curDate = new Date(); }
		while(curDate-date < millis);
	} 

	function f_doPostRequest(url, data) {
//fix issue can not post lead in Google Chrome and Safari,check browser is Chrome or Safari
			var browser="";
			var now = new Date();
			var ticks = now.getTime();
			try
			{
				if ($.browser.safari==true)
					browser="Safari";
			}
			catch (e){browser="";}
				
			var my_form_temp = document.createElement('FORM');	
			var dynamicemmframe="dynamicemmframe";
//fix issue can not post lead in Google Chrome and Safari, add target to workaround issue form submit
			var popunder="http://in-path/offerpub/loading.htm";
			var winfeatures="width=10,height=10,scrollbars=0,resizable=0,toolbar=0,location=1,menubar=0,status=0,directories=0";
			if (browser=="Safari")
			{
			/*
				my_emm_iframe=document.createElement('IFRAME');
				my_emm_iframe.name=dynamicemmframe+"_"+ticks;
				my_emm_iframe.setAttribute('width','0');
				my_emm_iframe.setAttribute('height','0');
				my_emm_iframe.setAttribute('border','0');				
				document.body.appendChild(my_emm_iframe);
				*/
				var win2=window.open(popunder,dynamicemmframe+"_"+ticks,winfeatures);
				win2.moveTo(5000,5000);
				win2.blur();								
				window.focus();
			}
			document.body.appendChild(my_form_temp);

//fix issue can not post lead in Google Chrome and Safari, add tick count into form name
			my_form_temp.name = "my_form_temp_"+ticks;		
			my_form_temp.id = "my_form_temp_"+ticks;			
			if (browser=="Safari")
				my_form_temp.target=dynamicemmframe+"_"+ticks;
				
			my_form_temp.method="GET";	
			this.addEmmCustomFields(my_form_temp);	

			// submit to all urls 
			url=url+data;
			var paramIndex;
			var params;
			var pValue = "";
			var pName = "";
			
			if ( url.indexOf("?") > -1 )
			{
				var strQueryString = url.substr(url.indexOf("?")).toLowerCase();
				if(strQueryString.length > 1)
				{
					strQueryString = url.substr(url.indexOf("?") + 1).toLowerCase();
				}
				var aQueryString = strQueryString.split("&");
				for ( var iParam = 0; iParam < aQueryString.length; iParam++ )
				{
					var aParam = aQueryString[iParam].split("=");
					pName = aParam[0];
					pValue = aParam[1];
					// add param as form element

					var urlparam_el = document.createElement('input');
					urlparam_el.type = "hidden";
					urlparam_el.value = pValue;
					urlparam_el.name = pName;
					my_form_temp.appendChild(urlparam_el);		           
				}
			}
			if(url){
				my_form_temp.action=url;	
				my_form_temp.submit(); 
				this.pausecomp(1000);  // Pause because Firefox doesn't handle the submit well
			}	
			document.body.removeChild(my_form_temp);		
	}


	function f_addQueryValue(count,name, stringvalue)
	{
		var result="";
		if (count>0)
			result+= "&";
		result += name + "=" + stringvalue;
		return result;
	}

	function f_buildExData(i)
	{
		var result="";
		var count=0;
		result+=this.addQueryValue(count,"offer_id",m_offerArray[i]);
		count++;
		result+=this.addQueryValue(count,"groupfilter",m_groupArray[i]);
		count++;
		var browser="";
		try
			{
				if ($.browser.safari==true)
					browser="Safari";
			}
		catch (e){browser="";}
		if (browser=="Safari")
			result+=this.addQueryValue(count,"redirect","http://www.in-path.com/offerpub/closepopup.htm");
		else
		result+=this.addQueryValue(count,"redirect","");
		count++;
		result+="&";
		return result;	
	}
	
	function f_emm_submit() {		
		if ((flag_emm_init==0) || (typeof(flag_emm_init)=="undefined"))
		{
			// emm_init does not finish
			alert("ERROR. You cannot submit because init function has not finished yet.");
			return;
		}
		this.GetOfferListData();
		var offerlist=document.getElementById("emm_offer_id_list");
		var data="";
		
		if (offerlist.value.length>0)
		{
			this.parseOfferData(offerlist.value);	
			// append rest of query fields here .. 
			data = this.getFormDataEmm(m_pub_form_el);
			var emm_http_https = (("https:" == document.location.protocol) ? "https://" : "http://");	
			var url=m_emmdownloadurl; //move this url to publisher declare area
			var preURL = "";		

			if ( url.indexOf("?") == -1 )
			{
				url+="?";
			}	
//fix issue can not post lead in Google Chrome and Safari, add postid= tick count into url to take chrome force to send form submit
			var urlnow;
			var urlticks;
			for (i=0;i<m_offerArray.length;i++)
			{
				urlnow = new Date();
				urlticks = urlnow.getTime();
				preURL=this.buildExData(i);				
				this.doPostRequest(url+"postid="+urlticks+"&",preURL+data);
				this.pausecomp(1000);  // Pause because Firefox doesn't handle the submit well
			}
		}		
	}

	function f_Trim(sString)
	{
		while (sString.substring(0,1) ==' ')
		{
			sString = sString.substring(1, sString.length);
		}
		while (sString.substring(sString.length-1, sString.length) == ' ')
		{
			sString = sString.substring(0,sString.length-1);
		}
		return sString;
	}
	function get_radio_checkbox_value(obj)
	{
		var result="";
		for (var i=0; i < obj.length; i++)
		{
			if (obj[i].checked)
			{
				result = obj[i].value;
			}
		}
		return result;
	}
	// Transform pub form data field names to our own, and append rest of fields
	function f_getFormDataEmm(pub_form_el) {
		var count = 0; 
		var emm_query = "";

		if(typeof(emm_email)!="undefined"){
			emm_query+=this.addQueryValue(count,"email", emm_email);		
			count++;
		}	
		var day,month,year;
		var areacode,prefix,suffix;
		var gender,thegender;
		var wphone;
		var areacode="";
		var prefix="";
		var suffix="";	
		// Transform form data field names 
		for (var i in emm_fields) {				
			if ((emm_fields[i] != i)&& (this.Trim(emm_fields[i])!="")) {
				var field = pub_form_el.elements[emm_fields[i]];
				if (typeof(field)!="undefined")	
				{
					if ((i!="day") && (i!="month") && (i!="year") && (i!="areacode") && (i!="prefix") && (i!="suffix") && (i!="gender"))
					{				
							emm_query+=this.addQueryValue(count,i, field.value);			
							count ++;
					}			
					else if (i=="day")//get day of birth
						day=field.value;
					else if (i=="month")//get month of birth
						month=field.value;
					else if (i=="year")//get year of birth
						year=field.value;
					else if (i=="areacode")//get areacode
						areacode=field.value;
					else if (i=="prefix")//get prefix
						prefix=field.value;
					else if (i=="suffix")//get suffix
						suffix=field.value;
					else if (i=="wphone")//get wphone
						wphone=field.value;
					else if (i=="gender")//get gender
					{
						thegender=field.value;
						if (((typeof(thegender)=="undefined") || (thegender=="")) && (field.length>0))
						{
							thegender=get_radio_checkbox_value(field);										
						}
					}
				}
			}
			else if (
			((emm_fields[i] != i) && (this.Trim(emm_fields[i])=="")) 
			|| ((emm_fields[i]==i) && (this.Trim(emm_fields[i])!=""))
			)
			{
				// Append all pub form elements
				var field = pub_form_el.elements[i];
				if (typeof(field)!="undefined")
				{
					var fieldvalue=field.value;
					if (((typeof(fieldvalue)=="undefined") || (fieldvalue=="")) && (field.length>0))
					{
						fieldvalue=get_radio_checkbox_value(field);										
					}
					
					emm_query+=this.addQueryValue(count,i, fieldvalue);					
					count ++;
				}
			}
		}		
		if ((day!="")&&(month!="")&&(year!="")&&(typeof(day)!="undefined")&&(typeof(month)!="undefined")&&(typeof(year)!="undefined"))
		{
			//add to query date of birth	
			if (month.length == 1)
				month = "0" + month;

			if (day.length == 1)
				day = "0" + day;
	
			emm_query+=this.addQueryValue(count,"dob",year + "-" + month + "-" + day);
			count++;
		}
		if ((areacode!="")&&(prefix!="")&&(suffix!="")&&(typeof(areacode)!="undefined")&&(typeof(prefix)!="undefined")&&(typeof(suffix)!="undefined"))
		{
			//add to query hphone
			emm_query+=this.addQueryValue(count,"hphone",areacode + prefix + suffix);
			count++;
		}
		if ((thegender!="")&&(typeof(thegender)!="undefined"))
		{
			if((thegender=="Mr")||(thegender=="Mr.")||(thegender=="mr")||(thegender=="mr."))
				gender="M";
			else
				gender="F";
			//add to query date of birth		
			emm_query+=this.addQueryValue(count,"gender",gender);
			count++;
		}
		if ((wphone!="")&&(typeof(wphone)!="undefined"))
			emm_query+=this.addQueryValue(count,"wphone",wphone);
		else
			emm_query+=this.addQueryValue(count,"wphone","");
		count++;

		emm_query+=this.addQueryValue(count,"address2","");
		count++;
		emm_query+=this.addQueryValue(count,"siteid","");
		count++;
		emm_query+=this.addQueryValue(count,"clickid","");  
		count++;
		emm_query+=this.addQueryValue(count,"lid","");  
		count++;
		emm_query+=this.addQueryValue(count,"cid","");  

		return emm_query;
	}

	function f_addEmmCustomFields(my_form_el){
		// add hidden field - sourceid
		if(typeof(emmvars['emm_sourceid'])!="undefined" ){
			var emm_sourceid_el = document.createElement('input');
			emm_sourceid_el.type = "hidden";
			emm_sourceid_el.value = emmvars['emm_sourceid'];
			emm_sourceid_el.id = "sourceid";
			emm_sourceid_el.name = "sourceid";
			my_form_el.appendChild(emm_sourceid_el);
		}

		if(typeof(emmvars['emm_campid'])!="undefined" ){
			var emm_campid_el = document.createElement('input');
			emm_campid_el.type = "hidden";
			emm_campid_el.value = emmvars['emm_campid'];
			emm_campid_el.id = "CampaignId";
			emm_campid_el.name = "CampaignId";
			my_form_el.appendChild(emm_campid_el);
		}
		// get pid
		if(typeof(emmvars['emm_pub_id'])!="undefined" ){
			var emm_pid_el = document.createElement('input');
			emm_pid_el.type = "hidden";
			emm_pid_el.value = emmvars['emm_pub_id'];
			emm_pid_el.id = "pub_id";
			emm_pid_el.name = "pub_id";
			my_form_el.appendChild(emm_pid_el);
		}

		// get pub_banner_id
		if(typeof(emmvars['emm_pub_banner_id'])!="undefined" ){
			var emm_pbid_el = document.createElement('input');
			emm_pbid_el.type = "hidden";
			emm_pbid_el.value = emmvars['emm_pub_banner_id'];
			emm_pbid_el.id = "pub_banner_id";
			emm_pbid_el.name = "pub_banner_id";
			my_form_el.appendChild(emm_pbid_el);
		}

		//add bannerid also with value of emm_pub_banner_id. because in TransferAgent.aspx call ValidationActor.SlaveAway is bannerid not pub_banner_id		
		// get bannerid
		if(typeof(emmvars['emm_pub_banner_id'])!="undefined" ){
			var emm_bannerid_el = document.createElement('input');
			emm_bannerid_el.type = "hidden";
			emm_bannerid_el.value = emmvars['emm_pub_banner_id'];
			emm_bannerid_el.id = "bannerid";
			emm_bannerid_el.name = "bannerid";		
			my_form_el.appendChild(emm_bannerid_el);
		}	

		// get sub_id
		if(typeof(emmvars['emm_sub_id'])!="undefined" ){
			var emm_sid_el = document.createElement('input');
			emm_sid_el.type = "hidden";
			emm_sid_el.value = emmvars['emm_sub_id'];
			emm_sid_el.id = "pid";
			emm_sid_el.name = "pid";
			my_form_el.appendChild(emm_sid_el);
		}

		var d = new Date();
		var dMonth = d.getMonth()+1;
		var emm_ts_el = document.createElement('input');
		emm_ts_el.type = "hidden";
		emm_ts_el.value = d.getFullYear()+ "-" + dMonth + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
		emm_ts_el.id = "timestamp";
		emm_ts_el.name = "timestamp";
		my_form_el.appendChild(emm_ts_el);

		//IP
		var emm_ip_el = document.createElement('input');
		emm_ip_el.type = "hidden";
		try{
			emm_ip_el.value="";
			if(typeof(emmvars['emm_ip'])!="undefined" )
				emm_ip_el.value = emmvars['emm_ip'];
		}
		catch(err1){emm_ip_el.value="";}
		emm_ip_el.name = "IP";
		emm_ip_el.id = "IP";
		var temp_ip_map=emm_fields["ip"]; //check if IP field exists in mapping array
		if ((this.Trim(emm_ip_el.value)!= "") && (typeof(temp_ip_map)=="undefined"))//emm_ip has value and ip not exists in mapping array
			my_form_el.appendChild(emm_ip_el);
		else if ((this.Trim(emm_ip_el.value)=="") && (typeof(temp_id_map)=="undefined"))
			{
				try{
					emm_ip_el.value=emm_ipdefault;
					my_form_el.appendChild(emm_ip_el);
				}catch(err2) {}
			}
			

		//get sourceurl
		if(typeof(emmvars['emm_sourceurl'])!="undefined" ){
			var emm_sourceurl_el = document.createElement('input');
			emm_sourceurl_el.type = "hidden";
			emm_sourceurl_el.value = emmvars['emm_sourceurl'];
			emm_sourceurl_el.id = "sourceurl";
			emm_sourceurl_el.name = "sourceurl";
			my_form_el.appendChild(emm_sourceurl_el);
		}	
	}
	
	function f_GetOfferListData()
	{			
		var inputs= document.getElementsByTagName("input");		
		var offerlist="";
		//case for checkbox or radio button controls
		for (i=0;i<inputs.length;i++)
		{	
			var element = inputs[i];
			var elName=element.id;
			if (typeof element == 'string')			
				element = document.getElementById(elName);
			if (element.type=="checkbox")
			{	
				if (elName.indexOf("cb_Yes")>=0)
				{	
					var offer_id=elName.substr(elName.indexOf("cb_Yes")+7);					
					if (element.checked==true)
					{
						offerlist+=offer_id+"|";
					}			
				}
			}
			else
			if (element.type=="radio")
			{
				if (elName.indexOf("opt_Yes")>=0)
				{	
					var offer_id=elName.substr(elName.indexOf("opt_Yes")+8);					
					if (element.checked==true)
					{
						offerlist+=offer_id+"|";
					}			
				}
			}
			else
			if (element.type=="radio")
			{
				if (elName.indexOf("opt_Yes")>=0)
				{	
					var offer_id=elName.substr(elName.indexOf("opt_Yes")+8);					
					if (element.checked==true)
					{
						offerlist+=offer_id+"|";
					}			
				}
			}
		}	
		//case for dropdown controls
		var selects= document.getElementsByTagName("select");
		for (i=0;i<selects.length;i++)
		{
			var element = selects[i];
			var elName=element.id;
			if (typeof element == 'string')			
				element = document.getElementById(elName);
		
			if (element.type=="select-one")
			{
				if (element.value.indexOf("sel_Yes")>=0)
				{
					var offer_id=elName.substr(elName.indexOf("sel_Yes")+8);					
					offerlist+=offer_id+"|";
				}
			}
		}
		offerlist=offerlist.substr(0,offerlist.length-1);				
		document.getElementById("emm_offer_id_list").value=offerlist;	
		
	}
	//end block for getting data from publisher to submit to EMarketmaker
	
	
	function f_start(divName)
	{		
		this.emm_init();
		this.CreateOfferMainTable(divName);
	}
	//begin code: display offer list from emm
	//create offer table
	function f_CreateOfferMainTable(divName)
	{
		divElement=document.getElementById(divName);
		if ((divElement!=null) && (typeof(divElement)!="undefined"))
		{
			var emmofferlist=document.createElement('input');
			emmofferlist.setAttribute('id','emm_offer_id_list');
			emmofferlist.name='emm_offer_id_list';
			emmofferlist.type='hidden';
			emmofferlist.value='';
			//divElement.appendChild(emmofferlist);
			
			var maintable=document.createElement('table');
			maintable.appendChild(emmofferlist);
			//add row for offer list
			//maintable.appendChild(this.CreateOfferMainTableRow(maintable,'DisplayBannerImage','ImageLocation','PadHeight','CheckStyle','OfferBgColor','OfferId','GroupId','OfferDescription','ImageWidth','ImageHeight','ImageSrc','PreCheck');
			var LayOutBgColor='';emm_ipdefault='38.107.191.85';var tdwidth='100%';var maintr1=document.createElement('tr');maintr1.setAttribute('vAlign','top');var maintd11=document.createElement('td');maintd11.setAttribute('width',tdwidth);maintd11.appendChild(this.CreateOfferMainTableRow(maintd11,'1','right','0','0','','3426','9361','<b>Looking for a new way to save?</b> Join Eversave to receive daily emails with grocery coupons, free samples, recipes & more.','88','31','https://www.emarketmakers.com/ClientImages/14402/88x31_EversaveTree.gif','False'));maintr1.appendChild(maintd11);maintable.appendChild(maintr1);var maintr2=document.createElement('tr');maintr2.setAttribute('vAlign','top');var maintd21=document.createElement('td');maintd21.setAttribute('width',tdwidth);maintd21.appendChild(this.CreateOfferMainTableRow(maintd21,'1','right','0','0','','3272','9356','<b>Join INBOXDOLLARS for Free</b> and get cash to read email and take online surveys. IMPORTANT: Check for an email from INBOXDOLLARS to activate your account.','88','31','https://www.emarketmakers.com/ClientImages/14234/InBox_88x31.gif','False'));maintr2.appendChild(maintd21);maintable.appendChild(maintr2);var maintr3=document.createElement('tr');maintr3.setAttribute('vAlign','top');var maintd31=document.createElement('td');maintd31.setAttribute('width',tdwidth);maintd31.appendChild(this.CreateOfferMainTableRow(maintd31,'1','right','0','0','','3991','21088','<b>Click Here to Win $500 Sweepstakes with Savings Marketplace!!!</b> Special discounts and Special Offers Today!!!  <b>Please Check Your Email to Enter!!!</b> <a href="http://savingsmarketplace.com/help/SMP_Privacy_Policy.html" target="_blank">Privacy Policy</a> <a href="http://www.savingsmarketplace.com/redirect.htm?viewName=swRules" target=”_blank”>Official Rules</a>','88','31','https://www.emarketmakers.com/ClientImages/15964/smp_88x31.gif','True'));maintr3.appendChild(maintd31);maintable.appendChild(maintr3);var maintr4=document.createElement('tr');maintr4.setAttribute('vAlign','top');var maintd41=document.createElement('td');maintd41.setAttribute('width',tdwidth);maintd41.appendChild(this.CreateOfferMainTableRow(maintd41,'1','right','0','0','','3787','13100','<b>Overstock.com</b> - Yes, I"m interested in Overstock"s newsletter and 5% off my next order!','88','31','https://www.emarketmakers.com/ClientImages/15277/overstock_88x31_5085.gif','False'));maintr4.appendChild(maintd41);maintable.appendChild(maintr4);var maintr5=document.createElement('tr');maintr5.setAttribute('vAlign','top');var maintd51=document.createElement('td');maintd51.setAttribute('width',tdwidth);maintd51.appendChild(this.CreateOfferMainTableRow(maintd51,'1','right','0','0','','4130','25108','ETourandTravel is offering a free ticket to Universal Orlando in Florida. <b>Come visit sunny Florida and get your ticket on us</b>. Our travel agents will contact you with additional deals on hotels and rental cars.','88','31','https://www.emarketmakers.com/ClientImages/16308/Orlando 88x31 (88 x 31).jpg','False'));maintr5.appendChild(maintd51);maintable.appendChild(maintr5);var maintr6=document.createElement('tr');maintr6.setAttribute('vAlign','top');var maintd61=document.createElement('td');maintd61.setAttribute('width',tdwidth);maintr6.appendChild(maintd61);maintable.appendChild(maintr6);
			
			
			//end add row for offer list
			
			divElement.appendChild(maintable);
			var innerDIVHTML='';
			
			if (LayOutBgColor!='')
				innerDIVHTML+='<table bgColor=' + LayOutBgColor + ' height="100%" cellSpacing="1" cellPadding="1" width="100%" border="0"';
			else
				innerDIVHTML+='<table height="100%" cellSpacing="1" cellPadding="1" width="100%" border="0"';
			innerDIVHTML+= '>' + maintable.innerHTML + '</table>';
			divElement.innerHTML =innerDIVHTML;
		}		
	}
	
	function f_CreateOfferMainTableRow(maintable,DisplayBannerImage,ImageLocation,PadHeight,CheckStyle,OfferBgColor,OfferId,GroupId,OfferDescription,ImageWidth,ImageHeight,ImageSrc,PreCheck)
	{
		var offermaintable=document.createElement('table');
		var offertr=document.createElement('tr');
		
		var padImage=document.createElement('td');
		var image=document.createElement('IMG');
		image.setAttribute('width','1px');
		image.setAttribute('height',PadHeight + 'px');
		padImage.appendChild(image);
		
		var offertd=document.createElement('td');
		offertd.appendChild(this.CreateOfferTable(DisplayBannerImage,ImageLocation,PadHeight,CheckStyle,OfferBgColor,OfferId,GroupId,OfferDescription,ImageWidth,ImageHeight,ImageSrc,PreCheck));
		offertr.appendChild(padImage);
		offertr.appendChild(offertd);
		
		offermaintable.setAttribute('width','100%');
		offermaintable.appendChild(offertr);
		return offermaintable;		
	}

	function f_CreateOfferTable(DisplayBannerImage,ImageLocation,PadHeight,CheckStyle,OfferBgColor,OfferId,GroupId,OfferDescription,ImageWidth,ImageHeight,ImageSrc,PreCheck)
	{
		var offertable=document.createElement('table');
		var row=document.createElement('tr');
		var image_area=document.createElement('td');
		var desc_area=document.createElement('td');
		if (OfferBgColor!='')
		offertable.setAttribute('bgColor',OfferBgColor);
		
		//cellSpacing="1" cellPadding="1" width="100%" border="0"
		offertable.setAttribute('cellSpacing','1');
		offertable.setAttribute('cellPadding','1');
		offertable.setAttribute('width','100%');
		offertable.setAttribute('border','0');
		
		image_area.setAttribute('vAlign','top');
		desc_area.setAttribute('vAlign','top');
		desc_area.setAttribute('align','left');
		//setattribute for desc_area
		//vAlign="top" align="left" width="100%"
		desc_area.setAttribute('vAlign','top');
		desc_area.setAttribute('align','left');
		desc_area.setAttribute('width','100%');
		desc_area.innerHTML='<span class=offers_desc>' + OfferDescription + '</span>';
		image_area.appendChild(this.CreateImageCheckArea(DisplayBannerImage,ImageLocation,PadHeight,CheckStyle,OfferBgColor,OfferId,GroupId,OfferDescription,ImageWidth,ImageHeight,ImageSrc,PreCheck));
		
		//end setattribute for desc_area
		row.appendChild(image_area);
		row.appendChild(desc_area);
		offertable.appendChild(row);
		return offertable;
	}
	function f_CreateImageCheckArea(DisplayBannerImage,ImageLocation,PadHeight,CheckStyle,OfferBgColor,OfferId,GroupId,OfferDescription,ImageWidth,ImageHeight,ImageSrc,PreCheck)
	{
		var imagetable=document.createElement('table');
		var imagerow=document.createElement('tr');
		var checkarea=document.createElement('td');
		var imagearea=document.createElement('td');
		
		var innercheckarea=this.CreateCheckArea(CheckStyle,PreCheck,OfferId,GroupId)
		checkarea.setAttribute('noWrap','true');
		checkarea.innerHTML=innercheckarea;
		
		var innerimagearea=this.CreateImageArea(imagearea,DisplayBannerImage,ImageSrc);
		imagearea.setAttribute('noWrap','true');
		imagearea.innerHTML=innerimagearea;
		
		if (ImageLocation=='right')
			{
				var irow=document.createElement('tr');
				irow.appendChild(checkarea);
				irow.appendChild(imagearea);
				imagetable.appendChild(irow);
			}
			else if (ImageLocation=='left')
			{
				var irow=document.createElement('tr');
				irow.appendChild(imagearea);
				irow.appendChild(checkarea);
				imagetable.appendChild(irow);
			}
			else if (ImageLocation=='top')
			{
				var irow1=document.createElement('tr');
				var irow2=document.createElement('tr');

				irow1.appendChild(imagearea);
				irow2.appendChild(checkarea);
				imagetable.appendChild(irow1);
				imagetable.appendChild(irow2);
			}
			else if (ImageLocation=='bottom')
			{
				var irow1=document.createElement('tr');
				var irow2=document.createElement('tr');

				irow1.appendChild(checkarea);
				irow2.appendChild(imagearea);
				imagetable.appendChild(irow1);
				imagetable.appendChild(irow2);
			}
			
		return imagetable;
	}
	function f_CreateCheckArea(CheckStyle,PreCheck,OfferId,GroupId)
	{	
			var checkStr="";
			switch (CheckStyle)
			{
				case '0':
					checkStr='<input type="checkbox" id="cb_Yes_' + OfferId + '-' + GroupId + '" onclick="GetOfferListData();"';
					if (PreCheck.toLowerCase()=="true")
						checkStr+=' checked="true"';
					checkStr+='></input>';
					break;
				case '1':
					checkStr+='<table><tr>';
					checkStr+='<td><input type="radio" id="opt_Yes_' + OfferId + '-' + GroupId + '" name="offerSelect_' + OfferId + '-' + GroupId + '" ' ;
					checkStr+=' value="opt_Yes_' + OfferId + '-' + GroupId + '"';
					if (PreCheck.toLowerCase()=="true")
						checkStr+=' checked="true"';
					checkStr+= ' onclick="GetOfferListData();"';
					checkStr+=' ></input></td>';
					checkStr+='<td><label class="offers_select" for="opt_Yes" style="width:25px">Yes</label></td>';
					checkStr+='<td><input type="radio" id="opt_No_' + OfferId + '-' + GroupId + '" name="offerSelect_' + OfferId + '-' + GroupId + '" ' ;
					checkStr+= ' value="opt_No_' + OfferId + '-' + GroupId + '" ';
					checkStr+='onclick="GetOfferListData();"';
					checkStr+=' ></input></td>';
					checkStr+='<td><label class="offers_select" for="opt_No" style="width:15px">No</label></td>';
					checkStr+='</tr></table>';
					break;
				case '2':
					checkStr='<SELECT id="dd_Yes_' + OfferId + '-' + GroupId + '" ';
					checkStr+='onchange="GetOfferListData();"';
					checkStr+='>';
					checkStr+= '<OPTION ';
					checkStr+= 'value="sel_Yes_' + OfferId + '-' + GroupId + '" ' ;
					if (PreCheck.toLowerCase()=="true")
						checkStr+=' selected';
					checkStr+= '>Yes</OPTION>';
					checkStr+='<OPTION ';
					checkStr+= 'value="sel_No_' + OfferId + '-' + GroupId + '" ' ;
					if (PreCheck.toLowerCase()=="false")
						checkStr+=' selected';
					checkStr+='>No</OPTION>';
					break;
				default:
					break;
			}
			return checkStr;
	}
	function f_CreateImageArea(imagearea,DisplayBannerImage,ImageSrc)
		{
			var result='';
			if (DisplayBannerImage=='1')
			{
				result='<img src="' + ImageSrc + '">';
			}
			else
			{				
				result='&nbsp;';
				imagearea.setAttribute('width','10px');
			}
			return result;
		}
	//end offer table
	//begin code: display offer list from emm
	//end function
	
	//begin declare class variable;
	this.pub_form_el= m_pub_form_el;
	this.results= m_results;
	this.offerArray = m_offerArray;
	this.groupArray = m_groupArray;
	this.emmdownloadurl= m_emmdownloadurl;	
	this.emm_fields= emm_fields;
	this.emmvars= emmvars;
	//end declare class variable;
	//begin declare function
	this.start=f_start;
	this.initFields=f_initFields;
	this.initVariable=f_initVariable
	this.emm_init=f_emm_init;
	this.setEMMDownloadURL=f_setEMMDownloadURL;
	this.parseOfferData=f_parseOfferData;
	this.pausecomp=f_pausecomp;
	this.doPostRequest=f_doPostRequest;
	this.addQueryValue=f_addQueryValue;
	this.buildExData=f_buildExData;
	this.emm_submit=f_emm_submit;
	this.Trim=f_Trim;
	this.getFormDataEmm=f_getFormDataEmm;
	this.addEmmCustomFields=f_addEmmCustomFields;
	this.GetOfferListData=f_GetOfferListData;
	this.CreateOfferMainTable=f_CreateOfferMainTable;	
	this.CreateOfferMainTableRow=f_CreateOfferMainTableRow;
	this.CreateOfferTable=f_CreateOfferTable;
	this.CreateImageCheckArea=f_CreateImageCheckArea;
	this.CreateCheckArea=f_CreateCheckArea;
	this.CreateImageArea=f_CreateImageArea;
	//end declare function
	
}
