//Javascript document

function LTrim( value ) 
{
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending whitespaces
function RTrim( value ) 
{
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim( value ) 
{
	return LTrim(RTrim(value));
}


//	Description	:	show or hide the Other location box according to city selected
function jp_LocationFromCity()
{
	var cityElement = document.getElementById('CITIES_ID');
	var showFlag = 'false';

	if(eval(cityElement.length) == 1)
	{
		jp_showHide('OTHER_CITY_ID', 'none');
	}

	for(var count = 0; count < cityElement.length; count++)
	{
		if(cityElement[count].selected)
		{
			if((cityElement[count].text).match("Other"))
			{
				jp_showHide('OTHER_CITY_ID', '');
				showFlag = 'true';
				break;
			}
			else if(showFlag == 'false')
			{
				document.getElementById('OTHER_ID').value = '';
				jp_showHide('OTHER_CITY_ID', 'none');
			}
		}
	}
}

function isUsername(stremail)
{
 	if (stremail.search(/^[A-Za-z0-9]+$/) == -1)
		return false;
	else
		return true;
}

function isEmail(stremail)
{
 	if (stremail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1)
		return false;
	else
		return true;
}

function res_checkCountLang(ddEle,limit)
{		
	var c=0;
	for(var i=0; i< ddEle.options.length; i++) 
	{
		if(ddEle.options[i].selected && ddEle.options[i].value != "select")
		{
			c++;
		}
		if(c > 3)
		{
			ddEle.options[i].selected = false;
		}
	}
	if(c>limit)// && limit)
	{
		alert("You cannot select more than " + limit + " languages");
		//document.getElementById('span_lang').style.color = 'red';
		ddEle.focus();
	}
}
function res_checkCountLoc(ddEle,limit)
{		
	var c=0;
	for(var i=0; i< ddEle.options.length; i++) 
	{
		if(ddEle.options[i].selected && ddEle.options[i].value != "select")
		{
			c++;
		}
		if(c > 3)
		{
			ddEle.options[i].selected = false;
		}
	}
	if(c>limit)// && limit)
	{
		alert("You cannot select more than " + limit + " locations");
		//document.getElementById('span_lang').style.color = 'red';
		ddEle.focus();
	}
}

function res_checkCountloc(ddEle,limit)
{		
	var c=0;
	for(var i=0; i< ddEle.options.length; i++) 
	{
		if(ddEle.options[i].selected && ddEle.options[i].value != "select")
		{
			c++;
		}
		if(c > 3)
		{
			ddEle.options[i].selected = false;
		}
	}
	if(c>limit && limit)
	{
		alert("You cannot select more than " + limit + " locations");
		//document.getElementById('span_lang').style.color = 'red';
		ddEle.focus();
	}
}

function res_showHideOtherRow(rowId, courseId, specId)
{
	var c = document.getElementById(courseId);
	var s = document.getElementById(specId);
	
	if (c.style.display == '' || s.style.display == '')
		document.getElementById(rowId).style.display = '';
	else
		document.getElementById(rowId).style.display = 'none';
}

function delete_default()
{
	var Element = document.getElementById('form_country_id');
	//alert(Element.length);
	Element[0].text = "---";
	Element[0].value = "select";

	var Element2 = document.getElementById('form_city_id');
	//alert(Element.length);
	Element2[0].text = "---";
	Element2[0].value = "select";
}
function delete_default1()
{
	var Element = document.getElementById('form_gradCourse_id');
	//alert(Element.length);
	Element[0].text = "---";
	Element[0].value = "Not Specified";

	var Element2 = document.getElementById('form_gradSpec_id');
	//alert(Element.length);
	Element2[0].text = "---";
	Element2[0].value = "Not Specified";
}
function delete_default3()
{
	var Element = document.getElementById('form_gradCountry_id');
	//alert(Element.length);
	Element[0].text = "---";
	Element[0].value = "Not Specified";
}
function delete_default4()
{
	var Element = document.getElementById('form_pgCourse_id');
	//alert(Element.length);
	Element[0].text = "---";
	Element[0].value = "Not Specified";
}
function delete_default5()
{
	var Element = document.getElementById('form_ppgCourse_id');
	//alert(Element.length);
	Element[0].text = "---";
	Element[0].value = "Not Specified";
}
function res_populateCourse(formCourseId, formSpecId)
{
	var courseEle = document.getElementById(formCourseId);
	var specEle = document.getElementById(formSpecId);

	var selI = courseEle.selectedIndex;

	// Remove existing elements from spec
	specEle.length = 0;

	var optSelect = new Option();
	optSelect.text = "Select";
	optSelect.value = "select";
	specEle[0] = optSelect;

	var tmp = courseEle.value.split(",");
	if (tmp[0] != "select")
	{
		var sp1 = courseEle[selI].value.split("|X|");
		tmp = sp1[0].split(",");
		sp1[0] = tmp[0];
		var courseValue = sp1[0];
		
		var sp2 = sp1[1].split("#");
	
		for (var i = 0; i < sp2.length-1; ++i)
		{
			var sp3 = sp2[i].split(",");

			var opt = new Option();
			opt.value = courseValue + "." + sp3[1];
			opt.text = sp3[1];

			specEle[i+1] = opt;
		}
		
		// foll code's reason: when there are only 2 values in the spec dd -> "select" & "Other", then by default select the "Other" option in dd
		if (sp1.length == 2)
		{
			var sp4 = specEle[1].value.split(".");
			if (specEle[0].value == "select" && sp4[1] == 1000)
			{
				specEle[1].selected = true;
			}
		}
	}
}

function res_showHideOtherOpenBox(callingDDId, openBoxId, otherVal, explodeOn, indexAfterExplode)
{
	otherVal = (otherVal == null) ? 1000 : otherVal;
	
	var callingDD = document.getElementById(callingDDId);
	var openBox = document.getElementById(openBoxId);
	var selI = callingDD.selectedIndex;

	var val = callingDD[selI].value;
	if (explodeOn != null)
	{
		val = val.split(explodeOn);
		var i = indexAfterExplode == null ? 0 : indexAfterExplode;
		val = val[i];
	}
	
	if (val == otherVal)
		openBox.style.display = '';
	else
		openBox.style.display = 'none';
}


function res_populateCountryCity(formCountryId, formCityId)
{
	var cntryEle = document.getElementById(formCountryId);
	var cityEle = document.getElementById(formCityId);
	
	var selI = cntryEle.selectedIndex;
		
	// Remove existing elements from city
	cityEle.length = 0;
	
	var opt = new Option();
	opt.text = "Select";
	opt.value = "select";
	cityEle[0] = opt;

	if (cntryEle.value != "select")
	{
		var tmp = cntryEle[selI].value.split("|X|");
		var cntryValue = tmp[0];
		
		var sp1 = tmp[1].split(",");

		for (var i = 0; i < sp1.length; ++i)
		{
			var sp2 = sp1[i].split("#");
			
			var opt = new Option();
			if(sp2[0] != 1000)
			{
				opt.value = cntryValue + "." + sp2[1];
			}
			else
			{
				opt.value = cntryValue + "." + sp2[0];
			}
			opt.text = sp2[1];
			cityEle[i+1] = opt;
		}
		
		// foll code's reason: when there are only 2 values in the city dd -> "select" & "Other", then by default select the "Other" option in dd
		if (sp1.length == 1)
		{
			var sp3 = cityEle[1].value.split(".");
			
			if (cityEle[0].value == "select" && sp3[1] == 1000)
			{
				cityEle[1].selected = true;
			}
		}
	}
}


function nkr_fillISD(id_country,id_landisd,id_faxisd,id_mobisd)
{	
	var countryEle = document.getElementById(id_country);
	var splitArray = countryEle.value.split("|X|");
	var countryValue = splitArray[0];
	
	var codeArray = {1:213, 2:973, 3:20, 4:964, 5:962, 6:965, 7:961, 8:218, 9:212, 10:968, 11:92, 12: 970, 13:974, 14:966, 15:963, 16:216, 17:971, 80:91};
	
	var code;
	if ((code=codeArray[countryValue]) == null)
	{
		document.getElementById(id_landisd).value = '';
		document.getElementById(id_mobisd).value = '';
		if(id_faxisd != '')
			document.getElementById(id_faxisd).value = '';
	}
	else
	{
		document.getElementById(id_landisd).value = code;
		document.getElementById(id_mobisd).value = code;
		if(id_faxisd != '')
			document.getElementById(id_faxisd).value = code;
	}
}


function res_showHideCityOpenBox(cityId, ocityId)
{
	var cityDD = document.getElementById(cityId);
	var ocity = document.getElementById(ocityId);

	var selI = cityDD.selectedIndex;
	var sp = cityDD[selI].value.split(".");
	if (sp[1] == 1000) // selected element contains "other", so show "ocity open box"
		ocity.style.display = '';
	else
		ocity.style.display = 'none';
}

function res_checkCountindustry(ddEle,limit)
{		
	var c=0;
	for(var i=0; i< ddEle.options.length; i++) 
	{
		if(ddEle.options[i].selected && ddEle.options[i].value != "")
		{
			c++;
		}
		if(c > 3)
		{
			ddEle.options[i].selected = false;
		}
	}
	if(c>limit)// && limit)
	{
		alert("You cannot select more than " + limit + " industry");
		//document.getElementById('span_lang').style.color = 'red';
		ddEle.focus();
	}
}


function res_checkCountfarea(ddEle,limit)
{		
	var c=0;
	for(var i=0; i< ddEle.options.length; i++) 
	{
		if(ddEle.options[i].selected && ddEle.options[i].value != "")
		{
			c++;
		}
		if(c > 3)
		{
			ddEle.options[i].selected = false;
		}
	}
	if(c>limit)// && limit)
	{
		alert("You cannot select more than " + limit + " functional area");
		//document.getElementById('span_lang').style.color = 'red';
		ddEle.focus();
	}
}





