﻿	function ReplaceTags(xStr)
	{
		var regExp = /<\/?[^>]+>/gi;
		xStr = xStr.replace(regExp,"");
		return xStr.replace(/^\s+|\s+$/g,'');
	}
	function checkOnLoad(tableId,ObjId,id,lang)
	{
		var _name='';
		if(lang == 'en')
			_name='Any';
		else
		{
			if(ObjId == 'ja')
				_name='Hvað sem er';
			
			else
				_name='Allt landið';
			
		}
		var table = document.getElementById(tableId);
		parentId = ReplaceTags(table.rows[id-1].cells[0].innerHTML);


		if(parentId ==0 && ReplaceTags(table.rows[id-1].cells[1].innerHTML) != _name)
		{	
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) == id)
				{
					if( ReplaceTags(table.rows[i].cells[1].innerHTML) == _name)
						document.getElementById(ObjId+(i+1)).checked = true;
					table.rows[i].style.display ='block';
					document.getElementById('d1'+ObjId+(i+1)).className ='PSecondLevelCheckBox';
					document.getElementById('d2'+ObjId+(i+1)).className ='PFirstLevelText';
				}
			}
		}
		document.getElementById(ObjId+id).checked = true
	}
	// for checking and undochecking conditions for JOBAREA & LOCATION lists
	// tableId - unique id for the table
	// ObjId   - part name of the checkbox ID: ja-jobarea; lo-location
	// id      - id for the each row in the list
	//lang     - takes language into consideration  
	function check(tableId,ObjId,id,lang) {
	var _name='';
		if(lang == 'en')
			_name='Any';
		else
		{
			if(ObjId == 'ja')
				{
				_name='Hvað sem er';				
				}
			
			else
				_name='Allt landið';
				
				
			
		}
		var table = document.getElementById(tableId);
		parentId = ReplaceTags(table.rows[id-1].cells[0].innerHTML);
/*
		if(id == 1)
		{
			alert(ReplaceTags(table.rows[id-1].cells[1].innerHTML));
			alert(_name);
			alert(ReplaceTags(table.rows[id-1].cells[1].innerHTML) == _name);
		}
	*/

		if(document.getElementById(ObjId+id).checked && parentId ==0 && ReplaceTags(table.rows[id-1].cells[1].innerHTML) != _name)
		{	
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) == id)
				{
					if( ReplaceTags(table.rows[i].cells[1].innerHTML) == _name)
						document.getElementById(ObjId+(i+1)).checked = true;
					table.rows[i].style.display ='block';
					document.getElementById('d1'+ObjId+(i+1)).className ='PSecondLevelCheckBox';
					document.getElementById('d2'+ObjId+(i+1)).className ='PFirstLevelText';
				}
				if( ReplaceTags(table.rows[i].cells[1].innerHTML) == _name && ReplaceTags(table.rows[i].cells[0].innerHTML)==0)
					document.getElementById(ObjId+(i+1)).checked = false; 
			}
		}
		// when a parent(unchecked) other than 'Any'(parent) is clicked
		else if(document.getElementById(ObjId+id).checked == false && parentId ==0 && ReplaceTags(table.rows[id-1].cells[1].innerHTML) != _name)
		{			
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) == id)
				{
					document.getElementById(ObjId+(i+1)).checked = false;
					table.rows[i].style.display ='none';
				}
			}
		}
		// when parent 'Any' alone is chekced
		else if(document.getElementById(ObjId+id).checked == true && parentId == 0 && ReplaceTags(table.rows[id-1].cells[1].innerHTML) == _name)
		{
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) == 0 && ReplaceTags(table.rows[i].cells[1].innerHTML) != _name)
				{
					document.getElementById(ObjId+(i+1)).checked = false;
					// to uncheck the corresponding child elements and hide them
					for (var j=0 ; j<table.rows.length; j++) {
						if(ReplaceTags(table.rows[j].cells[0].innerHTML) == i+1)
						{
							table.rows[j].style.display = 'none';
							document.getElementById(ObjId+(j+1)).checked = false
						}
					}
				}
			}
		}
		// when a child other than 'Any'(child) is set to true
		else if(document.getElementById(ObjId+id).checked == true && parentId !=0 && ReplaceTags(table.rows[id-1].cells[1].innerHTML) != _name)
		{
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) == parentId)
				{
					if(ReplaceTags(table.rows[i].cells[1].innerHTML) == _name)
						document.getElementById(ObjId+(i+1)).checked = false;
				}
			}
		}
		// when a child 'Any' is set to true
		else if(document.getElementById(ObjId+id).checked == true && parentId !=0 && ReplaceTags(table.rows[id-1].cells[1].innerHTML) == _name)
		{
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) == parentId)
				{
					if(ReplaceTags(table.rows[i].cells[1].innerHTML) != _name)
						document.getElementById(ObjId+(i+1)).checked = false;
				}
			}
		}
		// when a child 'Any' is set to false
		else if(document.getElementById(ObjId+id).checked == false && parentId !=0 && ReplaceTags(table.rows[id-1].cells[1].innerHTML) == _name)
		{
			Any=true;
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) == parentId)
				{
					if(ReplaceTags(table.rows[i].cells[1].innerHTML) != _name && document.getElementById(ObjId+(i+1))==false)
						Any= false;
				}
			}
			if(Any==true)
				document.getElementById(ObjId+id).checked = true;
				
		}
		
		//alert(table.rows.count);
	}
	
	
	// for checking and undochecking conditions for JOB TYPE & COMPANY TYPE
	// tableId - unique id for the table
	// ObjId   - part name of the checkbox ID: jt-jobtype; ct-companyType
	// id      - id for the each row in the list
	// lang    - for en/is language only
	function checkAll(tableId,ObjId,id,lang)
	{
		//debugger;
		var _name='';
		if(lang == 'en')
		{
			_name='Any';
		}
		else
		{
			if(ObjId=='jt')
				_name='Hvað sem er';
			else
				_name='Hvernig sem er';
		}
		var table = document.getElementById(tableId);
		// when a parent(checked) other than 'Any'(parent) is clicked
		if(document.getElementById(ObjId+id).checked == true && ReplaceTags(table.rows[id-1].cells[0].innerHTML) != _name)
		{			
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) == _name)
					document.getElementById(ObjId+(i+1)).checked = false; 
			}
		}
		// when parent 'Any' alone is chekced
		else if(document.getElementById(ObjId+id).checked == true && ReplaceTags(table.rows[id-1].cells[0].innerHTML) == _name)
		{
			for (var i=0 ; i<table.rows.length; i++) {
				if(ReplaceTags(table.rows[i].cells[0].innerHTML) != _name)
					document.getElementById(ObjId+(i+1)).checked = false;
			}
		}
		
	}
	
	
	// for checking and undochecking conditions for JOBAREA & LOCATION lists
	// tableId - unique id for the table
	// ObjId   - part name of the checkbox ID: ja-jobarea; lo-location
	// txtBoxId      - id for the each row in the list
	// lang -language
	function getCheckList(tableId,ObjId,txtBoxId,lang) {
	
		var retVal ='';
		var _name='';
		if(lang == 'en')
			_name='Any';
		else
		{
			if(ObjId == 'ja')
				_name='Hvað sem er';
			
			else
				_name='Allt landið';
			
		}
		var table = document.getElementById(tableId);
		if(document.getElementById(ObjId+1).checked != true)
		{
			for(var i =0; i < table.rows.length ; i++)
			{
				id= i+1
				parentId = ReplaceTags(table.rows[i].cells[0].innerHTML);
				// when child 'any' is checekd get the other child for that parent
				
				if(ReplaceTags(table.rows[i].cells[1].innerHTML) == _name && document.getElementById(ObjId+id).checked == true && parentId != 0)
				{
					var chk_ct =0
					for (var j=0; j < table.rows.length ; j++)
					{
						if(parentId == ReplaceTags(table.rows[j].cells[0].innerHTML))
						{
							if(chk_ct == 0)
							{
								retVal += parentId + ',';
								chk_ct++;
							}
							retVal += ReplaceTags(table.rows[j].cells[2].innerHTML) +',';
						}
					}
				}
				else if( document.getElementById(ObjId+id).checked == true)
				{
					retVal += id +',';
				}
				
			}
		}
		else
		{
			retVal += 1 +',';
		}
		retVal = retVal.substring(0,retVal.length-1);
		document.getElementById(txtBoxId).value= retVal;
		
	}
	
	// for checking and undochecking conditions for JOBAREA & LOCATION lists
	// tableId - unique id for the table
	// ObjId   - part name of the checkbox ID: ja-jobarea; lo-location
	// txtBoxId      - id for the each row in the list
	// lang -language
	function getFullList(tableId,ObjId,txtBoxId,lang) {
		//debugger;
		var retVal ='';
		var table = document.getElementById(tableId);
		
		if(document.getElementById(ObjId+'1').checked == true)
		{
			for(var g=0; g<table.rows.length ; g++)
			{
				retVal += ReplaceTags(table.rows[g].cells[2].innerHTML) +',';
			}
			retVal = retVal.substring(0,retVal.length-1);
			document.getElementById(txtBoxId).value= retVal;
		}
		else getCheckList(tableId,ObjId,txtBoxId,lang);
	}
	function getFullList2(tableId,ObjId,txtBoxId) {
		var retVal ='';
		var table = document.getElementById(tableId);
		
		if(document.getElementById(ObjId+'1').checked == true)
		{
			for(var g=0; g<table.rows.length ; g++)
			{
				retVal += ReplaceTags(table.rows[g].cells[1].innerHTML) +',';
			}
			retVal = retVal.substring(0,retVal.length-1);
			document.getElementById(txtBoxId).value= retVal;
		}
		else getUserXmlFromList(tableId,ObjId,txtBoxId);
		
	}
	
	// to show/hide job watch 
	// gets the user selected list as string
	// clientId - uses the id for client to get the obj of the server control
	function show(clientId,lang)
	{
		if (document.getElementById(clientId+'_cbenbld').checked == true)
		{
			var txt; 
			if( lang == 'is')
			{
				
//				txt = 'Afvirkja Umbann';
				txt = 'Afvirkja vaktina';
			}
			else
			{
				txt = 'Disable job watch';
			}
			 
			document.getElementById('_watch').innerHTML='<a href="javascript:redirection(false)" id="_jobwatch">'+ txt +'</a>';
			document.getElementById('watchenable').style.display = 'block';
		}
		else
		{
		
			var txt; 
			if( lang == 'is')
			{
				
				//txt = 'Umbinn verður virkjaður þegar þú hefur tilgreint leitarforsendur';
				//txt = 'Job-Vaktin verður virkjuð þegar þú hefur tilgreint leitarforsendur.';
				txt = 'Job-Vaktin er óvirk.';	
			}
			else
			{
				//txt = 'Job watch will be enabled when you submit the search criteria';
				txt = 'Job watch is disabled.';
			}
			redirection(true);
			document.getElementById('watchenable').style.display = 'block';
			document.getElementById('_watch').innerHTML=txt;
		}
		var s_jobtype = document.getElementById(clientId+'_jtxml').value;
			userListId1(s_jobtype,'oJobType','jt',lang);
			var s_jobarea = document.getElementById(clientId+'_jaxml').value;
			userListId1(s_jobarea,'oJobArea','ja',lang);
			var s_companytype = document.getElementById(clientId+'_ctxml').value;
			userListId1(s_companytype,'oCompanyType','ct',lang);
			var s_location = document.getElementById(clientId+'_loxml').value;
			userListId1(s_location, 'oLocation','lo',lang);
			
			var s_company = document.getElementById(clientId+'_coxml').value;
			tempId = 1;
			if(s_company !='')
			{
				s_company = s_company.substring(0,s_company.length-1);
				while(s_company != '')
				{
					table = document.getElementById('oCompany');
					lth = s_company.length;
					id = s_company.substring(0,s_company.indexOf(','));
					if(lth == 1 || id=='')
					{
						document.getElementById('txtName'+tempId).value = id;
						id = s_company;
						s_company ='';
					}
					else
					{
						document.getElementById('txtName'+tempId).value = id;
						addCompany();
					}
					
					s_company = s_company.substring(s_company.indexOf(',')+1,s_company.length);
					tempId++;
				}
			}
				
			
	}
	
	// to list user selected job watch details to the repeater from the list string	
	// str     - contains the id's selected by the user in a coma separated string
	// tableId - id for the table(oCompanyType- company type, oJobArea- job area, oLocation-location, oJobType- job type)
	// objId   - part of the unique id for the checkbox in the repeater(ct - company type, ja- job area, jt- job type, lo- location)
	function userListId1(str, tableId, objId,lang)
	{
	//debugger;
		var retVal ='';
		var _name='';
		if(lang == 'en')
			_name='Any';
		else
		{
			if(objId == 'ja')
				_name='Hvað sem er';
			
			else
				_name='Allt landið';
			
		}
		var table = document.getElementById(tableId);
		str = str.substring(0,str.length-1);
		var arr = new Array();
		var ct=0;
		arr= str.split(',');
		temp_id = new Array();
		temp_id1 = new Array()
		table= document.getElementById(tableId);
		
		for(var s=0; s< table.rows.length; s++)
		{
			ct++;
		}
		if(ct == arr.length)
			document.getElementById(objId+1).checked = true;
		else
		{
			if(str !='')
			{
				while(str != '')
				{
					lth = str.length;
					id = str.substring(0,str.indexOf(','));
					if(lth == 1 || id=='')
					{
						id = str;
						str ='';
					}
					if(tableId == 'oLocation' || tableId == 'oJobArea')
					{
						document.getElementById(objId+id).checked = true;
						if(ReplaceTags(table.rows[id-1].cells[1].innerHTML) == _name && ReplaceTags(table.rows[id-1].cells[0].innerHTML)!= 0)
						{
							var temp_ct=0;
							temp_id[temp_ct]=id;
							temp_ct++;
						}
						else	
						check(tableId,objId,id,lang);
					}
					else
					{
						document.getElementById(objId+id).checked = true;
						if(ReplaceTags(table.rows[id-1].cells[0].innerHTML) == _name)
						{
							var temp_ct1=0;
							temp_id1[temp_ct1]=id;
							temp_ct1++;
						}
						else	
							checkAll(tableId,objId,id,lang);
					}
					str = str.substring(str.indexOf(',')+1,str.length);
				}
				
				for(var i=0; i< temp_id.length ; i++)
				{
					document.getElementById(objId+temp_id[i]).checked= true;
					check(tableId,objId,temp_id[i],lang);
				}
				for(var i=0; i< temp_id1.length ; i++)
				{
					document.getElementById(objId+ temp_id1[i]).checked= true;
					checkAll(tableId,objId,temp_id1[i],lang);
				}
			}
		}
	}
	
	// to list user selected job watch details to the repeater from the list string	
	// str     - contains the id's selected by the user in a coma separated string
	// tableId - id for the table(oCompanyType- company type, oJobArea- job area, oLocation-location, oJobType- job type)
	// objId   - part of the unique id for the checkbox in the repeater(ct - company type, ja- job area, jt- job type, lo- location)
	function userListId(str, tableId, objId)
	{
		
		if(str !='')
		{
			str = str.substring(0,str.length-1);
			while(str != '')
			{
				lth = str.length;
				id = str.substring(0,str.indexOf(','));
				if(lth == 1 || id=='')
				{
					id = str;
					str ='';
				}
				if(tableId == 'oLocation' || tableId == 'oJobArea')
				{
					document.getElementById(objId+id).checked = true;
					check(tableId,objId,id);
				}
				else
				{
					document.getElementById(objId+id).checked = true;
					checkAll(tableId,objId,id);
				}
				str = str.substring(str.indexOf(',')+1,str.length);
			}
		}
	
	}
		
	// to trim the values
	function RTrim(VALUE){
		var w_space = String.fromCharCode(32);
		var v_length = VALUE.length;
		var strTemp = "";
		if(v_length < 0){
		return"";
		}
		var iTemp = v_length -1;

		while(iTemp > -1){
		if(VALUE.charAt(iTemp) == w_space){
		}
		else{
		strTemp = VALUE.substring(0,iTemp +1);
		break;
		}
		iTemp = iTemp-1;

		} //End While
		return strTemp;

	} //End Function
	
	// to get the user selected list as xml on submit
	// clientId - uses the id for client to get the obj of the server control
	//nameId - count for number of companies the user added
	function getUserXml(clientId, nameId)
	{	
		getUserXmlFromList('oJobType','jt',clientId+'_jtxml');
		getCheckList('oJobArea','ja',clientId+'_jaxml',lang);
		getUserXmlFromList('oCompanyType','ct',clientId+'_ctxml');
		getCheckList('oLocation','lo',clientId+'_loxml',lang);
		getUserXmlFromList('txtName',nameId,clientId+'_coxml');
	}
	
	//gets all user selected list as xml and bind it to a textbox
	// tableId   - unique id for the table
	// ObjId     - part name of the checkbox ID: jt-jobtype; ct-companyType
	// txtBoxId  - textbox id for which the xml should be set
	function getUserXmlFromList(tableId,ObjId,txtBoxId)
	{
		var table = document.getElementById(tableId);
		var retVal ='';
		if(tableId == 'txtName')
		{
			for (var i=1 ; i<nameId; i++) {
			if(document.getElementById(tableId+i).value !='')
				retVal += document.getElementById(tableId+i).value+',';
			}
		}
		else
		{
			for (var i=0 ; i<table.rows.length; i++) {
				id=i+1;
				if(document.getElementById(ObjId+id).checked == true)
					retVal +=id+',';
			}
		}
		retVal = retVal.substring(0,retVal.length-1);
		document.getElementById(txtBoxId).value= retVal;
	}
	
	
	// to remove all the options of a dropdown
	//obj - object of the dropdown
	function emptyDropDown(obj)
	{
		while(obj.length != '0')
		{
			objCt = obj.length
			for(var i_obj=0; i_obj <objCt; i_obj++)
			{
				obj.remove(i_obj);
			}
		}
	}
	// this array holdst the location names
	ddLocationName = new Array();
	
	// this array holds the locaiton's parent ids
	ddLocationId = new Array();
	
	// this array holds the child id for checking the realtion between the data
	ddRelationId = new Array(); 
	 
	// to get the value in an array 
	//locationObj - object of the location dropdown
	//countryObj  - object of the country dropdown
	function getLocationArray(locationObj, countryObj)
	{
		lth =locationObj.length
		for(var i=0; i<lth; i++)
		{
			ddRelationId[i] = ddLocation.options[i].value;
			ddLocationName[i] = ddLocation.options[i].text;
			ddLocationId[i] = ddCountry.options[i].value
		}
		emptyDropDown(countryObj);
		fillCountryDD(countryObj);
	}
	
	// to fill the contry drop down with country name alone
	//obj - object of the dropdown
	function fillCountryDD(obj)
	{
		var ct =0;
		for(var i=0; i<= ddLocationName.length ; i++)
		{
			if(ddRelationId[i] == 0)
			{
				if(ddLocationId[i] == 2)
				{
					obj.options[ct] = new Option(ddLocationName[i],ddLocationId[i],true,true);
					ct++;
				}
				else if (ddLocationId[i] > 2)
				{
					obj.options[ct] = new Option(ddLocationName[i],ddLocationId[i])
					ct++;
				}
				
			}
		}
	
	}
	
	// to fill the location dropdown for the selected country
	// val - selectedValue of the country
	function fillZoneDropDown(clientId,val)
	{
		ddLocation = document.getElementById(clientId+'_location');
		emptyDropDown(ddLocation);
		var ct =0;
		if(val == 1)
			document.getElementById('h_location').style.display ='none';
		else
		{
			document.getElementById('h_location').style.display ='block';
			for(var i=0; i<= ddLocationName.length ; i++)
			{
				if(val == ddRelationId[i])
				{
					ddLocation.options[ct] = new Option(ddLocationName[i],ddLocationId[i])
					ct++;
				}
			}
		}
	}
	
	
	// to replace the html tags to test format
	function Replacefun(s,replaceFrom,replaceTo)
	{
		var b,i,r_s;
		if(s == '')
			return s;
		b = s.split(replaceFrom);
		r_s='';
		if(b.join('') == s)
			return s; 
		for(i=0;i<b.length;i++)
		{
			r_s=r_s+b[i]+replaceTo;
		}
		return(r_s.substr(0,r_s.length-replaceTo.length));
	}

