var _Salutation = "-1";
var _JobCategory = "-1";
var _Ethnicity = "-1";
var _Zip = "-1";
var _DOB = "-1";
var _State = "-1";

var eSalutation = null;
var eJobCategory = null;
var segment = "-1";

function CheckClick(obj, displayMode)
{
	if(document.getElementById(obj).value == 0)
	{ 
		var id = obj.split('N'); 
		AddCampaignId(id[1],-1);
		if (displayMode != 0) 
			document.getElementById('tbl'+id[1]).style.display = 'none';
	} 
	else
	{
		var id = obj.split('Y'); 
		AddCampaignId(id[1],1); 
		if (displayMode != 0)
		{ 
			var exists = false;
			var hidableid = document.getElementById('HID_HidableTR').value.split(',');	
			for(var i=0; i<hidableid.length; i++)
			{
				if(id[1] == hidableid[i])
				{
					exists = true;
					break;
				}
			}
			if(exists == false)
				document.getElementById('tbl'+id[1]).style.display = GetBrowserType();
		} 
		else
		{ 
			OpenPopUpWindow(id[1], coregid);
		}
	}
}

function OpenPopUpWindow(id, coregid) 
{ 
	var linkOutURL = ''; 
	var linkOutURLArray = document.getElementById('HID_CampIdWithLinkOutURL').value.split('^'); 
	for(var X=0; X<linkOutURLArray.length; X++) 
	{ 
		var campaignIdArray = linkOutURLArray[X].split(','); 
		if (campaignIdArray[0] == id) 
		{ 
			linkOutURL = campaignIdArray[1];
			linkOutURL = linkOutURL.replace(/&/g,"^"); 
			break; 
		}
	} 
	window.open('http://coreg.tmginteractive.com/jscoreg/ProcessCampaignData/ProcessLinkOuts.aspx?CoRegId='+coregid+'&CampaignId='+id+'&LinkOutURL='+linkOutURL, 'popup', 'width=800,height=700,status=yes,toolbar=no,menubar=no,location=no, scrollbars=yes');
}			
			
function GetBrowserType ()
{
	if (navigator.appName != 'Microsoft Internet Explorer') 
		return 'table-row'; 
	else 
	return 'block';
}

function AddCampaignId(CampId, Action) 
{
	var exists = false;
	var deselectedItem = '';	
	var campaignIds = document.getElementById('HID_CampaignId').value.split(',');	 
	for(var count=0;count<campaignIds.length; count++) 
	{ 
		if(campaignIds[count] == CampId) 
		{
			exists = true; 
			if(Action == -1) 
			{
				deselectedItem = CampId + ',';			
				campaignIds[count] = -1;
			}
			break; 
		} 
	} 
	if(exists == false && Action != -1) 
		document.getElementById('HID_CampaignId').value += CampId  + ','; 
	var selectedCampIds = document.getElementById('HID_CampaignId').value.split(','); 
	var deslectedCampIds = deselectedItem.split(','); 
	var finalIds = ''; 
	for(var z=0; z<selectedCampIds.length - 1; z++) 
	{ 
		var isThere = false; 
		for(var t=0; t<deslectedCampIds.length-1; t++) 
		{ 
			if(selectedCampIds[z] == deslectedCampIds[t]) 
			{ 
				isThere = true; 
				break; 
			} 
		} 
		if(isThere == false) 
			finalIds += selectedCampIds[z] + ',';
	} 
	document.getElementById('HID_CampaignId').value = finalIds; 
}

function CheckForClick() 
{
	IncrementCampaignImpression();	
	segment = document.getElementById('ctl00_ctl00_cphMain_cphLeft_ddlJobCategory').value;
	var isChecked = true;
	var CampaignURL = '';
	var checkedCampIds = '';
	var campaignId = document.getElementById('HID_CampId').value.split(',');	 	
	for(var x=0; x<campaignId.length; x++) 
	{ 
		var CampId = campaignId[x].split('^'); 
		if(document.getElementById('Y'+CampId[0]).checked == true) 
		{
			if(checkedCampIds == '')
			{ 
				checkedCampIds = CampId[0]; 
				CampaignURL = CampId[1];
			} 
			else
			{
				checkedCampIds += ',' + CampId[0]; 
				CampaignURL += ',' + CampId[1];
			}
		}
	} 
	
	if(checkedCampIds != '')
	{ 
		var selectedCampId = checkedCampIds.split(','); 
		for(var count=0; count<selectedCampId.length; count++) 
		{
			CheckValidators(selectedCampId[count]);			
		} 
		var isBlank = true; 
		var validators = null; 
		for(var i=0; i<selectedCampId.length; i++) 
		{ 
			validators = GetRequiredFields(selectedCampId[i]);			
			if(validators != '')
			{ 
				var reqFields = validators.split(','); 
				isBlank = CheckForValues(reqFields); 
				if(isBlank == true) 
					break;
			}
			else 
				isBlank = false;
		}
		
		if(isBlank == true) 
			return false; 
		else 
		{
			var data2Post = ''; 
			var selectedCampURL = CampaignURL.split(','); 
			for(var j=0; j<selectedCampId.length; j++) 
				data2Post += SendCampaignData2DB(selectedCampId[j], selectedCampURL[j], j);
			data2Post = _sUserEmail + '~' + data2Post;
			//alert(data2Post);
			document.getElementById('iframe1').src = 'http://dm.tmginteractive.com/JSCoReg/ProcessCampaignData/ProcessCampaignData.aspx?QS=' + data2Post;
			for(var loop=0;loop<1900000;loop++){} 
			return true;
		}
	} 
	else 
		return true; 
}

function IncrementCampaignImpression()
{
	document.getElementById('frameImpressions').src = 'http://dm.tmginteractive.com/jscoreg/ProcessCampaignData/ManageCampaignImpressions.aspx?CoRegId='+ _CoRegId + '&CampaignIds='+ GetDisplayedCampaigns();
}
			
function CheckValidators(id) 
{ 
	var requiredFields = GetRequiredFields(id);	
	var isBlank = true; 
	if(requiredFields != null && requiredFields != '') 
	{
		var reqFields = requiredFields.split(',');		
		for(var x=0; x<reqFields.length; x++) 
		{ 
			var fieldSystemId = reqFields[x].split('@');			
			if(document.getElementById(fieldSystemId[1]).value == '' || document.getElementById(fieldSystemId[1]).value == null || document.getElementById(fieldSystemId[1]).value == '-1')
			{
				document.getElementById(reqFields[x]).style.display = 'block';
			} 
			else 
			{
				document.getElementById(reqFields[x]).style.display = 'none';
			}
		} 
		isBlank = CheckForValues(reqFields); 
		isBlank = CheckRegularExpressions(id);
	}	
	return isBlank; 
} 

function GetRequiredFields(id) 
{ 
	var ReqIdString = null; 
	var CampaignId = document.getElementById('HID_Validators').value.split('#');	
	for(var x=0; x<CampaignId.length; x++) 
	{ 
		var ReqId = CampaignId[x].split(':'); 
		if(ReqId[0] == id) 
		{ 
			ReqIdString = ReqId[1]; 
			break;
		}
	}
	return ReqIdString;
}

function CheckForValues (ReqFieldsArray) 
{
	var blank = true; 
	for(var z=0; z<ReqFieldsArray.length; z++) 
	{ 
		if(document.getElementById(ReqFieldsArray[z]).style.display == 'none') 
		{
			blank = false;
		}
		else
		{ 
			blank = true; 
			break;
		}
	} 
	return blank;
}

function SendCampaignData2DB(CampId, CampURL, counter) 
{
	var controlIdArray = document.getElementById('HID_ControlId').value.split('#'); 
	var listControlIdArray = document.getElementById('HID_ListControlId').value.split('#');
	var optionControlIdArray = document.getElementById('HID_OptionControlId').value.split('#');
	var specialControlIdArray = document.getElementById('HID_SpecialControlId').value.split('#');
	var queryStringData = '';
	for(var x=0; x<controlIdArray.length; x++)
	{
		var selectedId = controlIdArray[x].split(':'); if(selectedId[0] == CampId)
		{
			if(selectedId[1] != '')
			{
				var controlId = selectedId[1].split(',');
				for(var y=0; y<controlId.length; y++)
				{
					var ctrlPubField = controlId[y].split('~');
					ctrlPubField[1] = GetSiteFields(ctrlPubField);
					if(queryStringData == '')
						queryStringData += ctrlPubField[0] + '=' + document.getElementById(ctrlPubField[1]).value;
					else 
						queryStringData	+= '&' + ctrlPubField[0] + '=' + document.getElementById(ctrlPubField[1]).value;
				}
			} 
			break;
		}
	}
	for(var i=0; i<specialControlIdArray.length; i++) 
	{
		var specialControl = specialControlIdArray[i].split(':'); 
		if(specialControl[0] == CampId) 
		{ 
			if(specialControl[1] != '')
			{
				var specialControlId = specialControl[1].split('^');
				for(var j=0; j<specialControlId.length; j++) 
				{
					var specialCtrlPubField = specialControlId[j].split('~'); 
					var spCtrlValue = ''; 
					specialCtrlPubField[1] = GetSiteFields(specialCtrlPubField);
					var spCtrlId = specialCtrlPubField[1].split(','); 
					for(var e=0; e<spCtrlId.length; e++) 
					{
						if(spCtrlValue == '') 
							spCtrlValue += specialCtrlPubField[0] + '=' + document.getElementById(spCtrlId[e]).value; 
						else
							spCtrlValue += '-' + document.getElementById(spCtrlId[e]).value; 
					}
					if(queryStringData == '') 
						queryStringData += spCtrlValue; 
					else 
						queryStringData	+= '&' + spCtrlValue; 
				}
			}
			break;
		}
	}
	for(var k=0; k<listControlIdArray.length; k++) 
	{ 
		var list = listControlIdArray[k].split(':'); 
		if(list[0] == CampId) 
		{
			if(list[1] != '') 
			{
				var listControlId = list[1].split(',');
				for(var m=0; m<listControlId.length; m++) 
				{
					var listCtrl = listControlId[m].split('~'); 
					listCtrl[1] = GetSiteFields(listCtrl); 
					var controlLength = document.getElementById(listCtrl[1]).options.length; 
					var listValue = ''; 
					for(var p=1; p<controlLength; p++) 
					{
						if (document.getElementById(listCtrl[1]).options[p].selected == true) 
						{
							if(listValue == '') 
								listValue += listCtrl[0] + '=' + document.getElementById(listCtrl[1]).options[p].value;
							else 
								listValue += ',' + document.getElementById(listCtrl[1]).options[p].value;
						}
					} 
					if(queryStringData == '') 
						queryStringData += listValue; 
					else 
						queryStringData	+= '&' + listValue;
				}
			} 
			break;
		}
	}
	for(var s=0; s<optionControlIdArray.length; s++) 
	{
		var option = optionControlIdArray[s].split(':'); 
		if(option[0] == CampId) 
		{ 
			if(option[1] != '') 
			{ 
				var optionControlId = option[1].split(','); 
				for(var t=0; t<optionControlId.length; t++) 
				{ 
					var optionValue = ''; 
					var optionCtrl = optionControlId[t].split('~'); 
					optionCtrl[1] = GetSiteFields(optionCtrl);
					var optionCtrlId=optionCtrl[1];
					var optionControlLength = document.getElementsByName(optionCtrl[1]).length; 
					for(var u=0; u<optionControlLength; u++) 
					{
						if (document.getElementsByName(optionCtrl[1])[u].checked == true)
						{ 
							if(optionValue == '') 
								optionValue += optionCtrl[0] + '=' + document.getElementsByName(optionCtrl[1])[u].value; 
							else
								optionValue += ',' + document.getElementsByName(optionCtrl[1])[u].value;
						}
					} 
					if(queryStringData == '') 
						queryStringData += optionValue; 
					else 
						queryStringData += '&' + optionValue;
				}
			} 
			break;
		}
	}
	
	var sRequestURL = '';	
	if(CampId == '972')
	{
		var _EthnicityHarris = GetEthnicity();
		sRequestURL = CampURL + '*' + queryStringData + '&SegmentId='+ segment + '&RaceCode='+ _EthnicityHarris +'&cCampId='+ CampId + '&CoRegId='+ _CoRegId +'!'; 
	}
    else if(CampId == '1649')
	{		
		sRequestURL = CampURL + '*' + queryStringData + '&SegmentId='+ segment +'&cCampId='+ CampId + '&CoRegId='+ _CoRegId +'!'; 
	}
	else if(CampId == '1594')
	{
		var _JobSite = eJobCategory.value;
		//var _JobSite = eJobCategory.options[eJobCategory.selectedIndex].text;
		sRequestURL = CampURL + '*' + queryStringData + '&SegmentId='+ segment + '&Job_Title='+ _JobSite +'&cCampId='+ CampId + '&CoRegId='+ _CoRegId +'!'; 
	}
	else if(CampId == '1350')
	{
	   GetSelectedValueDOB();
	   var _EthnicityValue = GetEthnicity();
	   var _AgeValue = _DOB;
	   var _Gender = document.getElementById('ctl00_ctl00_cphMain_cphLeft_ddlGender').value;
	   
	   sRequestURL = CampURL + '*' + queryStringData + '&SegmentId='+ segment + '&nEthnicity='+ _EthnicityValue +'&nAge='+ _AgeValue +'&nGender='+ _Gender +'&cCampId='+ CampId + '&CoRegId='+ _CoRegId +'!'; 
	}
	else
	{
		sRequestURL = CampURL + '*' + queryStringData + '&SegmentId='+ segment +'&cCampId='+ CampId + '&CoRegId='+ _CoRegId +'!'; 
	}
		
	//var sRequestURL = CampURL + '*' + queryStringData + '&SegmentId='+ segment +'&cCampId='+ CampId + '&CoRegId='+ _CoRegId +'!'; 
	return sRequestURL;
}
	
function GetEthnicity()
{
	var _Ethnicity1 = '';
	var _Ethnicity2 = '';
	for(var x=0; x<=6; x++)
	{
		if(document.getElementById('ctl00_ctl00_cphMain_cphLeft_chkEthnicity_'+ x).checked)
		 {
			_Ethnicity1 = x;
			break;
	     }
	}
	
	switch(_Ethnicity1)
	{
		case 0:
			_Ethnicity2 = 4;
			break;
		case 1:
			_Ethnicity2 = 3;
			break;
		case 2:
			_Ethnicity2 = 8;
			break;
		case 3:
			_Ethnicity2 = 7;
			break;
		case 4:
			_Ethnicity2 = 6;
			break;
		case 5:
			_Ethnicity2 = 1;
			break;
		case 6:
			_Ethnicity2 = 94;
			break;
	}
	return 	_Ethnicity2;
}

function GetSiteFields(PublisherField)
{
	var siteFieldValues = document.getElementById('HID_SiteOwnerValues').value.split(','); 
	for(var r=0; r<siteFieldValues.length; r++) 
	{ 
		var siteFieldId = siteFieldValues[r].split(':'); 
		if(siteFieldId[0] == PublisherField[2]) 
		{ 
			PublisherField[1] = siteFieldId[1]; 
			break;
		}
	} 
	return PublisherField[1];
}
	
function CheckRegularExpressions(CampId)
{
	var valid = true; 
	var ordinayRegEx = document.getElementById('HID_OrdinaryRegExFields').value.split('#'); 
	for(var x=0; x<ordinayRegEx.length; x++) 
	{ 
		var RegExCampId = ordinayRegEx[x].split('~'); 
		if(RegExCampId[0] == CampId && RegExCampId[1] != '') 
		{ 
			var RegExFields = RegExCampId[1].split(':'); 
			for(var y=0; y<RegExFields.length; y++) 
			{ 
				var RegExParam = RegExFields[y].split(','); 
				valid = CheckRegEx(RegExParam[0],RegExParam[1], RegExParam[2]); 
				if(valid == false) 
					break;
			} 
			if(valid == false)
				break;
		}
	} 
	return valid;
}
	
function CheckRegEx(BasicFieldId, IsRequired, CtrlId)
{ 
	var valid = true; 
	var regex = new RegExp(); 
	switch(BasicFieldId) 
	{ 
		case '10' : 
			regex = /^[1-9]\d{4}/; 
			break; 
			
		case '5' : 
			regex = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/; 
			break; 
			
		default: regex = ''; 
			break;
	} 
	var RegEX = new RegExp(regex); 
	if(IsRequired == 1) 
	{ 
		if(RegEX.test(document.getElementById(CtrlId).value)) 
		{ 
			document.getElementById('req@'+CtrlId).style.display = 'none';
		} 
		else 
		{
			document.getElementById('req@'+CtrlId).style.display = 'block'; 
			valid = false;
		}
	}
	return valid;
}
	
function CheckValidation(BasicFieldId, IsRequired, CtrlId)
{
	var regEX = ''; 
	switch (BasicFieldId) 
	{ 
		case 1: 
		case 2: 
		case 8: 
			regEX = /^([a-zA-Z]+)$/; 
			break;
				
		case 5: 
			regEX =/^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/; 
			break;
				
		case 10: 
			regEX =/^[1-9]\d{4}/; 
			break; 
		
		default: 
			regEX = ''; 
			break;
	} 
	if(regEX == '' && IsRequired == 1)
	{
		if(document.getElementById(CtrlId).value == '') 
			document.getElementById('req@'+CtrlId).style.display = 'block'; 
		else 
			document.getElementById('req@'+CtrlId).style.display = 'none';
	} 
	else 
	{
		if(IsRequired == 1)
		{ 
			if(regEX.test(document.getElementById(CtrlId).value))
			{ 
				document.getElementById('req@'+CtrlId).style.display = 'none';
			} 
			else
			{ 
				document.getElementById('req@'+CtrlId).style.display = 'block';
			}
		}
	}
}
	
function CheckSpecialValidation(BasicFieldId, CtrlId, IsRequired, Counter) 
{ 
	var RegEX = ''; 
	switch(Counter) 
	{ 
		case 2: 
			RegEx = /^\d{2}/; 
			break; 
		
		case 3: 
			if((CtrlId.indexOf('Part2') == -1) || (CtrlId.indexOf('AltPart2') == -1) || (CtrlId.indexOf('SSNPart2') == -1)) 
				RegEx = /^[1-9]\d{2}/; 
			else 
				RegEx = /^\d{3}/; 
			break; 
			
		case 4: 
			RegEx = /^\d{4}/; 
			break; 
		
		default: 
			RegEx = ''; 
			break; 
	} 
		
	if(RegEx == '' && IsRequired == 1) 
	{ 
		if(document.getElementById(CtrlId).value == '-1')
			document.getElementById('req@'+CtrlId).style.display = 'block'; 
		else 
			document.getElementById('req@'+CtrlId).style.display = 'none';
	} 
	else 
	{
		if(IsRequired == 1)
		{ 
			if(RegEx.test(document.getElementById(CtrlId).value))
			{ 
				document.getElementById('req@'+CtrlId).style.display = 'none';
			} 
			else 
			{
				document.getElementById('req@'+CtrlId).style.display = 'block';
			}
		}
	}
}

window.onload = function()
{
	eSalutation = document.getElementById('ctl00_ctl00_cphMain_cphLeft_ddlGender');	
	eJobCategory = document.getElementById('ctl00_ctl00_cphMain_cphLeft_ddlJobCategory');
	
	this.AssignEvents();	
	
	eSalutation.onchange = InvokeSalutationFiltration;
	eJobCategory.onchange = InvokeJobCategoryFiltration;
	document.getElementById('ctl00_ctl00_cphMain_cphLeft_txtPostalCode').onblur = InvokeZipFiltration;
	document.getElementById('ctl00_ctl00_cphMain_cphLeft_txtBirthDate').onblur = InvokeDOBFiltration;
	document.getElementById('ctl00_ctl00_cphMain_cphLeft_ddlState').onchange = InvokeStateFiltration;
}

function AssignEvents()
{
	var browserType = GetBrowser();
	for(var x=0; x<=6; x++)
	{
	  document.getElementById('ctl00_ctl00_cphMain_cphLeft_chkEthnicity_'+ x).onclick = InvokeEthnicityFiltration;
	}
}

function InvokeDOBFiltration()
{
    GetSelectedValueDOB();
    if(_DOB != "-1") FilterOffers(_DOB, 'DOB')
}

function GetSelectedValueDOB()
{
	_DOB = document.getElementById('ctl00_ctl00_cphMain_cphLeft_txtBirthDate').value;	
	if(_DOB == "__/__/____")
	{
		_DOB = "-1";
	}
	else
	{
		_DOB = _DOB.split('/');
		var _month = _DOB[0]; 
		var _day = _DOB[1]; 
		var _year = _DOB[2];
		_DOB = Age(_month,_day,_year);
	}
}

function Age(_month,_day,_year)
{
	var bday=parseInt(_day);
	var bmo=(parseInt(_month)-1);
	var byr=parseInt(_year);
	var byr;
	var age;
	var now = new Date();
	tday=now.getDate();
	tmo=(now.getMonth());
	tyr=(now.getFullYear());
	{
		if((tmo > bmo)||(tmo==bmo & tday>=bday))
			{age=byr}
		else
			{age=byr+1}
	}
	return (tyr-age);
}

function InvokeZipFiltration()
{
    GetSelectedValue();
    if(_Zip != "-1") FilterOffers(_Zip, 'Zip')
}

function GetSelectedValue()
{
    _Zip = document.getElementById('ctl00_ctl00_cphMain_cphLeft_txtPostalCode').value;
}

function InvokeStateFiltration()
{
    GetSelectedValueState();
    if(_State != "-1") FilterOffers(_State, 'State')
}

function GetSelectedValueState()
{
    _State = document.getElementById('ctl00_ctl00_cphMain_cphLeft_ddlState').value;
}

function InvokeSalutationFiltration()
{
   FilterOffers(eSalutation.value, 'Salutation');
}

function InvokeJobCategoryFiltration()
{
   FilterOffers(eJobCategory.value, 'JobCategory');
}

function InvokeEthnicityFiltration()
{
	GetEthnicityValues();
	FilterOffers(_Ethnicity, 'Ethnicity');
}

function GetEthnicityValues()
{
	_Ethnicity = "";
	for(var x=0; x<=6; x++)
	{
		if(document.getElementById('ctl00_ctl00_cphMain_cphLeft_chkEthnicity_'+ x).checked)
			_Ethnicity += (_Ethnicity == "") ? x : ',' + x;
	}	
}

function InvokeWorkExperienceFiltration()
{
	FilterOffers(eWorkExperience.value, 'WorkExperience');
}

function getSalutationValue(index)
{
	var returnValue = (index == 'W') ? 'F' : index;
	return returnValue;
}

function FilterOffers(index, type)
{
    
	if(type == 'Salutation') index = getSalutationValue(index);
	this.Initialize(index, type);	
	var tempArray = document.getElementById("HID_CampId").value.split(',');
	var toDisplay = this.GetValidIds(index, type, tempArray);
	var toHide = this.GetInvalidIds(index, type, tempArray);
	
	toDisplay = (toDisplay == "") ? "-1" : this.getFilteredIds(index, type, toDisplay);	
	toDisplay = this.PrioritizeOffers(toDisplay);
	if(toDisplay != "-1" || toHide != "-1")
		this.HideUnhideCampaigns(toDisplay, toHide);
}

function Initialize(index, type)
{    
	switch(type)
	{
		case 'Salutation':
			_Salutation = index;			
			break;
			
		case 'JobCategory':
			_JobCategory = index;
			break;
			
		case 'Ethnicity':
		   _Ethnicity = index;
		   break;
		   
		case 'Zip':
			_Zip = index;
			break;
		
		case 'DOB':
			_DOB = index;
			break;
			
		case 'State':
			_State = index;
			break;
	}
}

function GetValidIds(index, type, tempArray)
{
	var toDisplay = "";
	
	for(var loop=0; loop<tempArray.length; loop++)
	{
		var flag = false;
		var CampaignId = tempArray[loop].split('^');		
		var typeValue = document.getElementById("lbl"+type+CampaignId[0]).innerHTML;		
		var indexArray = typeValue.split(',');
		if(type == 'Zip' && typeValue != "-2")
		{
		   index = index.substring(0,3);
		}
		
		for(var x=0; x<indexArray.length; x++)
		{
			if(indexArray[x] != '-2' && indexArray[x].indexOf('-') != -1)
			{
				var typeRange = indexArray[x].split('-');
				if((index >= parseInt(typeRange[0]) &&  index <= parseInt(typeRange[1])) && index != -1)
				{
					flag = true;
					break;
				}
				else
				{
					flag = false;
					break;
				}
			}
			else
			{
				if(index.toString() == indexArray[x] && indexArray[x] != '')
				{
					flag = true;
					break;
				}
			}
		}
			
		if((typeValue == "-2" || flag == true) && index != -1)
				toDisplay += (toDisplay == "") ? CampaignId[0] : "," + CampaignId[0];		
	}
	
	return toDisplay;
}

function GetInvalidIds(index, type, tempArray)
{
	var toHide = "";
		
	for(var loop=0; loop<tempArray.length; loop++)
	{
		var flag = false;
		var CampaignId = tempArray[loop].split('^');
		var typeValue = document.getElementById("lbl"+type+CampaignId[0]).innerHTML;		
		var indexArray = typeValue.split(',');
		if(type == 'Zip' && typeValue != "-2")
		{
		   index = index.substring(0,3);
		}
		
		for(var x=0; x<indexArray.length; x++)
		{
			if(indexArray[x] != '-2' && indexArray[x].indexOf('-') != -1)
			{
				var typeRange = indexArray[x].split('-');
				if(parseInt(index) > parseInt(typeRange[0]) &&  parseInt(index) < parseInt(typeRange[1]))
				{
					flag = true;
					break;
				}
				else
				{
					toHide += (toHide == "") ? CampaignId[0] : "," + CampaignId[0];
					flag = true;
					break;
				}
			}
			else
			{
				if(typeValue != "-2" && index.toString() == indexArray[x])
				{
					flag = true;
					break;
				}
			}
		}

		if(flag == false && typeValue != "-2")
			toHide += (toHide == "") ? CampaignId[0] : "," + CampaignId[0];
	}
	
	return toHide;
}

function getFilteredIds(index, type, ids)
{
	this.Initialize(index, type);
	var toDisplay = "";
	if(_Salutation == "-1" && _JobCategory == "-1" && _Ethnicity == "-1" && _Zip == "-1" && _State == "-1")
		toDisplay = ids;
	
	if(_Salutation != "-1")
		toDisplay = this.GetValidIds(_Salutation, 'Salutation', ids.split(','));
	
	ids = (toDisplay == "") ? ids : toDisplay;
	
	if(_JobCategory != "-1")
		toDisplay = this.GetValidIds(_JobCategory, 'JobCategory', ids.split(','));
	
	ids = (toDisplay == "") ? ids : toDisplay;
		
	if(_Ethnicity != "-1")
		toDisplay = this.GetValidIds(_Ethnicity, 'Ethnicity', ids.split(','));
		
	ids = (toDisplay == "") ? ids : toDisplay;
		
	if(_Zip != "-1")
		toDisplay = this.GetValidIds(_Zip, 'Zip', ids.split(','));
		
	ids = (toDisplay == "") ? ids : toDisplay;
		
	if(_DOB != "-1")
		toDisplay = this.GetValidIds(_DOB, 'DOB', ids.split(','));
		
	ids = (toDisplay == "") ? ids : toDisplay;
		
	if(_State != "-1")
		toDisplay = this.GetValidIds(_State, 'State', ids.split(','));
	
	return toDisplay;
}

function PrioritizeOffers(filteredOffers)
{
	if(filteredOffers != '')
	{
		filteredOffers = this.PrioritizeIds(filteredOffers, 'Salutation', _Salutation);		
		filteredOffers = this.PrioritizeIds(filteredOffers, 'JobCategory', _JobCategory);
		filteredOffers = this.PrioritizeIds(filteredOffers, 'Ethnicity', _Ethnicity);
		filteredOffers = this.PrioritizeIds(filteredOffers, 'Zip', _Zip);
		filteredOffers = this.PrioritizeIds(filteredOffers, 'DOB', _DOB);
		filteredOffers = this.PrioritizeIds(filteredOffers, 'State', _State);
	}
	return filteredOffers;
}

function PrioritizeIds(filteredIds, type, typeValue)
{
	if(typeValue != '' && typeValue != '-1')
	{
		var tempId1 = '';
		var tempId2 = '';
		var tempIds = filteredIds.split(',');
		var length = tempIds.length;
		for(var x=0; x<length; x++)
		{
			var targetValue = document.getElementById('lbl' + type.toString() + tempIds[x].toString()).innerHTML;
			if(targetValue == this.GetTargetType(type,targetValue))
			{
				if(tempId1 == '')
					tempId1 = tempIds[x].toString();
				else
					tempId1 += "," + tempIds[x].toString();
			}
			else
			{
				if(tempId2 == '')
					tempId2 = tempIds[x].toString();
				else
					tempId2 += "," + tempIds[x].toString();
			}
		}
		
		var returnIds = '';
		if(tempId1 != '' && tempId2 != '')
			returnIds = tempId1 + ',' + tempId2;
		else if(tempId1 == '')
			returnIds = tempId2;
		else if(tempId2 == '')
			returnIds = tempId1;
		
		return returnIds;
	}
	else
		return filteredIds;
}

function GetTargetType(targetType,targetValue)
{
	var returnValue = '';	
	switch(targetType)
	{
		case 'Salutation':
			var flag = false;		
			var indexArray = targetValue.split(',');
			for(var x=0; x<indexArray.length; x++)
			{
				if(_Salutation.toString() == indexArray[x] && indexArray[x] != '' && targetValue != "-2")
				{
					flag = true;
					break;
				}
			}
			returnValue = (flag == true) ? targetValue : _Salutation;			
			break;
			
		case 'JobCategory':
			var flag = false;		
			var indexArray = targetValue.split(',');
			for(var x=0; x<indexArray.length; x++)
			{
				if(_JobCategory.toString() == indexArray[x] && indexArray[x] != '' && targetValue != "-2")
				{
					flag = true;
					break;
				}
			}
			returnValue = (flag == true) ? targetValue : _JobCategory;			
			break;
			
		case 'Ethnicity':
			var flag = false;		
			var indexArray = targetValue.split(',');
			for(var x=0; x<indexArray.length; x++)
			{
				if(_Ethnicity.toString() == indexArray[x] && indexArray[x] != '' && targetValue != "-2")
				{
					flag = true;
					break;
				}
			}
			returnValue = (flag == true) ? targetValue : _Ethnicity;			
			break;
			
		case 'Zip':
			var flag = false;		
			var indexArray = targetValue.split(',');
			for(var x=0; x<indexArray.length; x++)
			{
				if(_Zip.substring(0,3).toString() == indexArray[x] && indexArray[x] != '' && targetValue != "-2")
				{
					flag = true;
					break;
				}
			}
			returnValue = (flag == true) ? targetValue : _Zip.substring(0,3);			
			break;
			
		case 'DOB':
			if(targetValue != "-2" && targetValue.indexOf('-') != -1)
			{
				returnValue = targetValue;	
			}
			else
			{
				returnValue = _DOB; 
			}
			break;
			
		case 'State':
			var flag = false;		
			var indexArray = targetValue.split(',');
			for(var x=0; x<indexArray.length; x++)
			{
				if(_State.toString() == indexArray[x] && indexArray[x] != '' && targetValue != "-2")
				{
					flag = true;
					break;
				}
			}
			returnValue = (flag == true) ? targetValue : _State;			
			break;		
	}
	return returnValue;
}

function HideUnhideCampaigns(toDisplay, toHide)
{
	var toDisplayArray = toDisplay.split(',');
	var toHideArray = toHide.split(',');
	
	var displayLength = toDisplayArray.length;
	var hideLength = toHideArray.length;
	
	var numberOfCampaigns = parseInt(document.getElementById("HID_NumberOfCampaigns").value);
	var lastCampaign = document.getElementById("HID_LastCampaign").value;
	
	if(toHide != "")
	{
		for(var x=0; x<hideLength; x++)
		{
			document.getElementById('tr'+toHideArray[x]).style.display = 'none';
			document.getElementById('Y'+toHideArray[x]).checked = false;
			document.getElementById('N'+toHideArray[x]).checked = false;
		}
	}
	
	if(toDisplay != "")
	{
		for(var x=0; x<displayLength; x++)
		{
			var display = (x<numberOfCampaigns) ? '' : 'none';
			document.getElementById('tr'+toDisplayArray[x]).style.display = display;			
		}
	}
	
	this.HideNonTargetedCampaign(numberOfCampaigns);	
	
	this.HideUnhideSeparators(lastCampaign);
}

function HideNonTargetedCampaign(numberOfCampaigns)
{
	var campaignArray = document.getElementById("HID_CampId").value.split(',');
	var campaignArrayLength = campaignArray.length;
	
	var toDisplay = "";
	var SalutationTargeted = "";
	var JobCategoryTargeted = "";
	var EthnicityTargeted = "";
	var ZipTargeted = "";
	var DOBTargeted = "";
	var StateTargeted = "";
	var nonTargetedCampaigns = "";
	
	for(var x=0; x<campaignArrayLength; x++)
	{
		var id = campaignArray[x].split('^')[0];
		var style = document.getElementById('tr'+id).style.display;
		
		var Salutation = document.getElementById('lblSalutation'+id).innerHTML;		
		var JobCategory = document.getElementById('lblJobCategory'+id).innerHTML;
		var Ethnicity = document.getElementById('lblEthnicity'+id).innerHTML;
		var Zip = document.getElementById('lblZip'+id).innerHTML;
		var DOB = document.getElementById('lblDOB'+id).innerHTML;
		var State = document.getElementById('lblState'+id).innerHTML;
		
		if(style == '' || style == "block")
		{			
			toDisplay += (toDisplay == "") ? id : "," + id;
			SalutationTargeted += (SalutationTargeted == "") ? Salutation : "," + Salutation;
			JobCategoryTargeted += (JobCategoryTargeted == "") ? JobCategory : "," + JobCategory;
			EthnicityTargeted += (EthnicityTargeted == "") ? Ethnicity : "," + Ethnicity;
			ZipTargeted += (ZipTargeted == "") ? Zip : "," + Zip;
			DOBTargeted += (DOBTargeted == "") ? DOB : "," + DOB;
			StateTargeted += (StateTargeted == "") ? State : "," + State;
			
		}
		
		if(JobCategory == "-2" && Ethnicity == "-2" && Zip == "-2" && DOB == "-2" && State == "-2")
			nonTargetedCampaigns += (nonTargetedCampaigns == "") ? id : "," + id;
	}
	
	var toHide = "";	
	if(toDisplay != "")
	{
		var toDisplayArray = toDisplay.split(',');
		var toDisplayArrayLength = toDisplayArray.length;
				
		var SalutationTargetedArray = SalutationTargeted.split(',');
		var JobCategoryTargetedArray = JobCategoryTargeted.split(',');
		var EthnicityTargetedArray = EthnicityTargeted.split(',');
		var ZipTargetedArray = ZipTargeted.split(',');
		var DOBTargetedArray = DOBTargeted.split(',');
		var StateTargetedArray = StateTargeted.split(',');
			
		for(var x=0; x<toDisplayArrayLength; x++)
		{
		  if(SalutationTargetedArray[x] == "-2" && JobCategoryTargetedArray[x] == "-2" && EthnicityTargetedArray[x] == "-2" && ZipTargetedArray[x] == "-2" && DOBTargetedArray[x] == "-2" && StateTargetedArray[x] == "-2")			
				toHide += (toHide == "") ? toDisplayArray[x] : "," + toDisplayArray[x];
		}
		
		var numberOfCampaigns2Hide = 0;
		var numberOfCampaigns2Show = 0;
		
		if(toDisplayArrayLength > numberOfCampaigns)
			numberOfCampaigns2Hide = toDisplayArrayLength - numberOfCampaigns;
		else
			numberOfCampaigns2Show = numberOfCampaigns - toDisplayArrayLength;
					
		var toHideArray = toHide.split(',');
		if(toHide !="")
		{	
			for(var x=0; x<numberOfCampaigns2Hide; x++)
			{
				var id2Hide = toHideArray[(toHideArray.length -1) -x];
				document.getElementById('tr'+id2Hide).style.display = "none";
			}
		}
		
		var nonTargetedCampaignsArray = nonTargetedCampaigns.split(',');
		var nonTargetedCampaignsLength = nonTargetedCampaignsArray.length;
		
		var nCounter = 0;
		
		for(var x=0; x<numberOfCampaigns2Show; x++)
		{
			for(var y=0; y<nonTargetedCampaignsLength; y++)
			{
				if(nCounter == numberOfCampaigns2Show)
					break;
					
				var flag = false;
				for(var z=0; z<toHideArray.length; z++)
				{
					if(nonTargetedCampaignsArray[y] == toHideArray[z])
					{
						flag = true;
						break;
					}
				}
				if(flag == false)
				{
					nCounter += 1;
					document.getElementById('tr'+nonTargetedCampaignsArray[y]).style.display = '';
				}
			}
		}
	}
}

function HideUnhideSeparators(lastCampaign)
{
	var campaignArray = document.getElementById("HID_CampId").value.split(',');
	var campaignArrayLength = campaignArray.length;
	
	var toDisplay = "";
	
	for(var x=0; x<campaignArrayLength; x++)
	{
		var id = campaignArray[x].split('^')[0];
		var style = document.getElementById('tr'+id).style.display;
		
		if(style == "none")
			if(id != lastCampaign) document.getElementById('sep'+id).style.display = 'none';
			
		if(style == '' || style == "block")
			toDisplay += (toDisplay == "") ? id : "," + id;
		
	}
	
	var display = "";
	var tempArray = toDisplay.split(',');
	var tempArrayLength = tempArray.length;
	for(var x=0; x<tempArrayLength; x++)
	{
		if(x < tempArrayLength - 1)
			display = '';
		else
			display = 'none';
			
		try{if(tempArray[x] != lastCampaign) document.getElementById('sep'+tempArray[x]).style.display = display;} catch(err) {}		
	}
}

function GetDisplayedCampaigns()
{
	var returnIds = '';
	var campaignArray = document.getElementById("HID_CampId").value.split(',');
	var campaignArrayLength = campaignArray.length;
	
	for(var x=0; x<campaignArrayLength; x++)
	{
		var id = campaignArray[x].split('^')[0];
		var style = document.getElementById('tr'+id).style.display;
		
		if(style == '' || style == "block")
		{
			returnIds += (returnIds == '') ? id : ',' + id;
		}
	}
	
	return returnIds;
}

function GetBrowser ()
{
	if (navigator.appName != 'Microsoft Internet Explorer') 
		return true; 
	else 
		return false;
}