var _EDULevel = "-1";
var _WorkForce = "-1";
var _CareerLevel = "-1";
var _JobCategory = "-1";
var eEDULevel = null;
var eWorkForce = null;
var eCareerLevel = 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();	
	var seg = document.getElementsByName('jobCat');
	segment = seg[0].options[seg[0].selectedIndex].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); 
			//alert(data2Post);	
			document.getElementById('iframe1').src = 'http://dm.tmginteractive.com/JSCoReg/ProcessCampaignData/ProcessCampaignData.aspx?QS=' + data2Post;			
			pause(400); 
			return true;
		}
	} 
	else 
		return true; 
}

function pause(numberMillis)
{
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true)
	{
		now = new Date();
		if (now.getTime() > exitTime)
		return;
	}
} 

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);
					var ctrlValueArray = ctrlPubField[1].split(',');
					var CtrlValue = '';
					for(var e=0; e<ctrlValueArray.length; e++) 
					{
						var _Value = GetFieldValue(ctrlValueArray[e]);
						if(CtrlValue == '') 
							CtrlValue += ctrlPubField[0] + '=' + _Value; 
						else
							CtrlValue += '-' + _Value; 
					}
					/*if(queryStringData == '')
						queryStringData += ctrlPubField[0] + '=' + document.getElementById(ctrlPubField[1]).value;
					else 
						queryStringData	+= '&' + ctrlPubField[0] + '=' + document.getElementById(ctrlPubField[1]).value;*/
					if(queryStringData == '') 
						queryStringData += CtrlValue; 
					else 
						queryStringData	+= '&' + CtrlValue;
				}
			} 
			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.getElementsByName(spCtrlId[e])[0].value; 
						else
							spCtrlValue += '-' + document.getElementsByName(spCtrlId[e])[0].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.getElementsByName(listCtrl[1])[0].options[p].value;
							else 
								listValue += ',' + document.getElementsByName(listCtrl[1])[0].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 == '1594')
	{
		var _JobSite = eJobCategory.value;
		sRequestURL = CampURL + '*' + queryStringData + '&SegmentId='+ segment + '&Job_Title='+ _JobSite +'&cCampId='+ CampId + '&CoRegId='+ _CoRegId +'!'; 
	}
	else if(CampId == '1649')
	{
		sRequestURL = CampURL + '*' + queryStringData + '&SegmentId='+ segment + '&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 GetFieldValue(FieldId)
{
	var _Value = "";
	switch(parseInt(_FieldType))
	{
		case 2:
			var _ControlLength = document.getElementsByName(FieldId).length;
			for(var p=0; p<_ControlLength; p++) 
			{
				if (document.getElementsByName(FieldId)[p].checked == true) 
				{
					if(_Value == '') 
						_Value += document.getElementsByName(FieldId)[p].value;
					else 
						_Value += ',' + document.getElementsByName(FieldId)[p].value;
				}
			}			
			break;
			
		default:
			_Value = document.getElementsByName(FieldId)[0].value;			
			break;
	}
	_FieldType = "1";	
	return _Value;
}
	
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])
		{
			if(siteFieldId[1].indexOf('^') != -1)
			{
				var siteFieldIds = '-1';
				var siteFieldIdArray = siteFieldId[1].split('^');
				for(var x=0; x<siteFieldIdArray.length; x++)
				{
					if(x == 0)
					{
						siteFieldIds = siteFieldIdArray[x];
					}
					else
					{
						siteFieldIds += "," + siteFieldIdArray[x];
					}					
				}
				siteFieldId[1] = siteFieldIds;	
			}
			PublisherField[1] = siteFieldId[1];
			_FieldType = siteFieldId[2];
			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';
			}
		}
	}
}

function FilterOffers(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")
		this.HideUnhideCampaigns(toDisplay, toHide);
		
	this.Initialize(index, type);
}

function PrioritizeOffers(filteredOffers)
{
	if(filteredOffers != '')
	{
		filteredOffers = this.PrioritizeIds(filteredOffers, 'EDULevel', _EDULevel);		
		filteredOffers = this.PrioritizeIds(filteredOffers, 'WorkForce', _WorkForce);
		filteredOffers = this.PrioritizeIds(filteredOffers, 'CareerLevel', _CareerLevel);
		filteredOffers = this.PrioritizeIds(filteredOffers, 'JobCategory', _JobCategory);
	}
	
	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))
			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)
{
	var returnValue = '';
	switch(targetType)
	{
		case 'EDULevel':
			returnValue = _EDULevel;
			break;
			
		case 'WorkForce':
			returnValue = _WorkForce;
			break;
			
		case 'CareerLevel':
			returnValue = _CareerLevel;
			break;			
			
		case 'JobCategory':
			returnValue = _JobCategory;
			break;
	}
	return returnValue;
}
*/

function GetTargetType(targetType,targetValue)
{
	var returnValue = '';
	switch(targetType)
	{
		case 'EDULevel':
			var flag = false;		
			var indexArray = targetValue.split(',');
			for(var x=0; x<indexArray.length; x++)
			{
				if(_EDULevel.toString() == indexArray[x] && indexArray[x] != '' && targetValue != "-2")
				{
					flag = true;
					break;
				}
			}
			returnValue = (flag == true) ? targetValue : _EDULevel;			
			break;
			
		case 'WorkForce':
			var flag = false;		
			var indexArray = targetValue.split(',');
			for(var x=0; x<indexArray.length; x++)
			{
				if(_WorkForce.toString() == indexArray[x] && indexArray[x] != '' && targetValue != "-2")
				{
					flag = true;
					break;
				}
			}
			returnValue = (flag == true) ? targetValue : _WorkForce;			
			break;
			
		case 'CareerLevel':
			var flag = false;		
			var indexArray = targetValue.split(',');
			for(var x=0; x<indexArray.length; x++)
			{
				if(_CareerLevel.toString() == indexArray[x] && indexArray[x] != '' && targetValue != "-2")
				{
					flag = true;
					break;
				}
			}
			returnValue = (flag == true) ? targetValue : _CareerLevel;			
			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;
	}
	return returnValue;
}

function Initialize(index, type)
{
	switch(type)
	{
		case 'EDULevel':
			_EDULevel = index;
			break;
			
		case 'WorkForce':
			_WorkForce = index;
			break;
			
		case 'CareerLevel':
			_CareerLevel = index;
			break;
			
		case 'JobCategory':
			_JobCategory = 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(',');
		
		for(var x=0; x<indexArray.length; x++)
		{
			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(',');
		
		for(var x=0; x<indexArray.length; x++)
		{
			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(_EDULevel == "-1" && _WorkForce == "-1" && _CareerLevel == "-1" && _JobCategory == "-1")
		toDisplay = ids;
	
	if(_EDULevel != "-1")
		toDisplay = this.GetValidIds(_EDULevel, 'EDULevel', ids.split(','));
		
	ids = (toDisplay == "") ? ids : toDisplay;
	
	if(_WorkForce != "-1")
		toDisplay = this.GetValidIds(_WorkForce, 'WorkForce', ids.split(','));
		
	ids = (toDisplay == "") ? ids : toDisplay;
	
	if(_CareerLevel != "-1")
		toDisplay = this.GetValidIds(_CareerLevel, 'CareerLevel', ids.split(','));
		
	ids = (toDisplay == "") ? ids : toDisplay;
	
	if(_JobCategory != "-1")
		toDisplay = this.GetValidIds(_JobCategory, 'JobCategory', ids.split(','));
				
	return toDisplay;
}

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 eduLevelTargeted = "";
	var workForceTargeted = "";
	var careerLevelTargeted = "";
	var jobCategoryTargeted = "";
	var nonTargetedCampaigns = "";
	
	for(var x=0; x<campaignArrayLength; x++)
	{
		var id = campaignArray[x].split('^')[0];
		var style = document.getElementById('tr'+id).style.display;
		var eduLevel = document.getElementById('lblEDULevel'+id).innerHTML;
		var workForce = document.getElementById('lblWorkForce'+id).innerHTML;
		var careerLevel = document.getElementById('lblCareerLevel'+id).innerHTML;
		var jobCategory = document.getElementById('lblJobCategory'+id).innerHTML;
				
		if(style == '' || style == "block")
		{			
			toDisplay += (toDisplay == "") ? id : "," + id;
			eduLevelTargeted += (eduLevelTargeted == "") ? eduLevel : "," + eduLevel;
			workForceTargeted += (workForceTargeted == "") ? workForce : "," + workForce;
			careerLevelTargeted += (careerLevelTargeted == "") ? careerLevel : "," + careerLevel;
			jobCategoryTargeted += (jobCategoryTargeted == "") ? jobCategory : "," + jobCategory;
		}
		
		if(eduLevel == "-2" && workForce == "-2" && careerLevel == "-2" && jobCategory == "-2")
			nonTargetedCampaigns += (nonTargetedCampaigns == "") ? id : "," + id;
	}
	
	var toHide = "";
	if(toDisplay != "")
	{
		var toDisplayArray = toDisplay.split(',');
		var toDisplayArrayLength = toDisplayArray.length;
				
		var eduLevelTargetedArray = eduLevelTargeted.split(',');
		var workForceTargetedArray = workForceTargeted.split(',');
		var careerLevelTargetedArray = careerLevelTargeted.split(',');
		var jobCategoryTargetedArray = jobCategoryTargeted.split(',');
		
		for(var x=0; x<toDisplayArrayLength; x++)
		{
			if(eduLevelTargetedArray[x] == "-2" && workForceTargetedArray[x] == "-2" && careerLevelTargetedArray[x] == "-2" && jobCategoryTargetedArray[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(',');	
		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';
			
		if(tempArray[x] != lastCampaign) document.getElementById('sep'+tempArray[x]).style.display = display;		
	}
}

window.onload = function()
{
	eEDULevel = document.getElementsByName('educationLevel')[0];
	eWorkForce = document.getElementsByName('workYearsSelect')[0];
	eJobCategory = document.getElementsByName('jobCat')[0];
	eCareerLevel = document.getElementsByName('careerLevelSelect')[0];
	
	eEDULevel.onchange = InvokeEDULevelFiltration;		
	eWorkForce.onchange = InvokeWorkForceFiltration;
	eJobCategory.onchange = InvokeJobCategoryFiltration;
	eCareerLevel.onchange = InvokeCareerLevelFiltration;
}

function InvokeEDULevelFiltration()
{	
	FilterOffers(eEDULevel.value, 'EDULevel');
}

function InvokeWorkForceFiltration()
{
	FilterOffers(eWorkForce.value, 'WorkForce');
}

function InvokeCareerLevelFiltration()
{
	FilterOffers(eCareerLevel.value, 'CareerLevel');
}

function InvokeJobCategoryFiltration()
{
	FilterOffers(eJobCategory.value, 'JobCategory');
}

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;
}
