// JavaScript Document
formsent = false;

//Main validate function for the search boxes on MGE
function validateForm(){
	thisform = document.mainform;
	isvalid = false;
	formsent = false;
	msg = '';
	
	if( typeof document.getElementById('programcategory_id') != null && typeof document.getElementById('programcategory_id') != "undefined" )
	{
		//check if a programcategory is selected
		if( thisform.programcategory_id.value == "" ){
			msg += '\n*Select your education type and category of interest.';
		}
	}

	if( thisform.programcategory_main.value == "597" )
	{
		document.getElementById('gender').disabled=false;
		if( thisform.programcategory_main.value == "597" && document.getElementById('gender').value == '')
		{
			msg += '\n*Select your Gender';
		}
	}
	else
	{
		document.getElementById('gender').value == '';
		document.getElementById('gender').disabled=true;
	}
	
	if( !formsent && msg == '' ){
		formsent = true;
		return true;
	}else{
		alert(msg);
		window.status = "Search Running";
		return false;
	}
}

//validation function with no gender or disable of continent drop down 
function validateForm2(){
	thisform = document.mainform;
	isvalid = false;
	formsent = false;
	msg = '';
	
	if( typeof document.getElementById('programcategory_id') != null && typeof document.getElementById('programcategory_id') != "undefined" )
	{
		//check if a programcategory is selected
		if( thisform.programcategory_id.value == "" ){
			msg += '\n*Select your education type and category of interest.';
		}
	}
	
	if( !formsent && msg == '' ){
		formsent = true;
		return true;
	}else{
		alert(msg);
		window.status = "Search Running";
		return false;
	}
}

function validateForm3(x)
{
	thisform = document.forms[x];
	msg = "";
	if( typeof(thisform) == "undefined" )
	{
		return false;
	}

	if( thisform.elements['programcategory_id'].value == '' )
	{
		msg += "Please select an Education Type and Category.\n";
	}

	if( thisform.elements["destination"].value == '' )
	{
		msg += "Please select a destination.\n";
	}

	if( thisform.gender )
	{
		if( x == "mainform" ) 
		{
			if( storeCurrentTab && (storeCurrentTab == 1) )
			{
				if( thisform.elements["gender"].value == '' )
				{
					msg += "Please select gender.\n";
				}
			}
		}
		else
		{
			if( thisform.elements["gender"].value == '' )
			{
				msg += "Please select gender.\n";
			}
		}			
	}
	
	if( msg == '' )
	{
		formsent = true
		//setTimeout("resetiframeformsent()",3000); 
		return true;
	}
	else
	{
		//window.status = "Search Running";
		alert(msg);
		return false;
	}
}
function validateHighSchool(x)
{
	thisform = document.forms[x];
	msg = "";
	if( typeof(thisform) == "undefined" )
	{
		return false;
	}

	if( thisform.elements['programcategory_id'].value == '' )
	{
		msg += "Please select an Education Type and Category.\n";
	}

	if( thisform.elements["destination"].value == '' )
	{
		msg += "Please select a destination.\n";
	}

	if( thisform.gender )
	{
		if( thisform.elements["gender"].value == '' )
		{
			msg += "Please select gender.\n";
		}
	}
	
	if( msg == '' )
	{
		formsent = true
		//setTimeout("resetiframeformsent()",3000); 
		return true;
	}
	else
	{
		//window.status = "Search Running";
		alert(msg);
		return false;
	}
}

function showHideGender()
{
	thisform = document.mainform;
	
	if( thisform.programcategory_main.value == "597" )
	{
		if( document.getElementById('gender_div') )
		{
			document.getElementById("gender_div").style.display = "block";
		}
		
		if( document.getElementById('gender_div1') )
		{
			document.getElementById("gender_div1").style.display = "block";
			document.getElementById("gender_div2").style.display = "block";
			document.getElementById("searchBarMain").id = "searchBarMainGender";
		}

		document.getElementById('gender').disabled=false;
	}
	else
	{
		if( document.getElementById('gender_div') )
		{
			document.getElementById("gender_div").style.display = "none";
		}
		
		
		if( document.getElementById("gender_div1") )
		{
			document.getElementById("gender_div1").style.display = "none";
			document.getElementById("gender_div2").style.display = "none";
			if( document.getElementById("searchBarMainGender") )
			{
				document.getElementById("searchBarMainGender").id = "searchBarMain";
			}
		}
		document.getElementById('gender').value == '';
		document.getElementById('gender').disabled=true;
	}
}

//Temp for new search with geotargeting
function validateForm4(){
	thisform = document.mainform;
	isvalid = false;
	formsent = false;
	msg = '';

	//check if a programcategory is selected
	if( thisform.country.value == "" ){
		msg += '\n*Select where you live.';
	}

	
	if( typeof document.getElementById('programcategory_id') != null && typeof document.getElementById('programcategory_id') != "undefined" )
	{
		//check if a programcategory is selected
		if( thisform.programcategory_id.value == "" ){
			msg += '\n*Select your education type and category of interest.';
		}
	}

	if( thisform.programcategory_main.value == "597" )
	{
		document.getElementById('gender').disabled=false;
		if( thisform.programcategory_main.value == "597" && document.getElementById('gender').value == '')
		{
			msg += '\n*Select your Gender';
		}
	}
	else
	{
		document.getElementById('gender').value == '';
		document.getElementById('gender').disabled=true;
	}
	
	if( !formsent && msg == '' ){
		formsent = true;
		return true;
	}else{
		alert(msg);
		window.status = "Search Running";
		return false;
	}
}

function showHideGender2()
{
	thisform = document.mainform;
	
	if( thisform.programcategory_main.value == "597" )
	{
		if( document.getElementById('gender_div') )
		{
			document.getElementById("gender_div").style.display = "block";
		}
		
		if( document.getElementById('gender_div1') )
		{
			document.getElementById("gender_div1").style.display = "block";
			document.getElementById("gender_div2").style.display = "block";
		}

		document.getElementById('gender').disabled=false;
	}
	else
	{
		if( document.getElementById('gender_div') )
		{
			document.getElementById("gender_div").style.display = "none";
		}
		
		
		if( document.getElementById("gender_div1") )
		{
			document.getElementById("gender_div1").style.display = "none";
			document.getElementById("gender_div2").style.display = "none";
		}
		document.getElementById('gender').value == '';
		document.getElementById('gender').disabled=true;
	}
}

//function to get a cookie value
function Get_Cookie( check_name )
{
	// split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var all_cookies = document.cookie.split( ';' );
	var temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	
	for ( i = 0; i < all_cookies.length; i++ )
	{
		// split apart each name=value pair
		temp_cookie = all_cookies[i].split( '=' );

		// trim left/right whitespace 
		cookie_name = temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if name matches passed check_name
		if ( cookie_name == check_name )
		{
			// cookie has no value but exists (no = sign, that is):
			if ( temp_cookie.length > 1 )
			{
				cookie_value = unescape( temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			break;
		}
		temp_cookie = null;
		cookie_name = '';
	}
	
	return cookie_value;
}

// get cookie value, return default value cookie value not found
function getCookieValue(cookie_name, default_pc )
{
	var cookie_value = '';
	//call main function to get cookie value with passed in cookie name
	cookie_value = Get_Cookie( cookie_name );
	
	if( cookie_value != '' )
	{
		//cookie value found, return if value is in list
		if( cookie_name == 'CAREER_PC_ID' && (cookie_value != 562 || cookie_value != 572 || cookie_value != 613 || cookie_value != 624) )
		{
			return default_pc;
		}
		else
		{
			return cookie_value;
		}
	}
	else
	{
		// cookie not found, return default_pc or hardcoded value
		if( cookie_name == 'CAREER_PC_ID' )
		{
			if( default_pc != '')
			{
				return default_pc;
			}
			else
			{
				return 572;
			}
		}
		else
		{
			if( default_pc != '')
			{
				return default_pc;
			}
			else
			{
				return 575;
			}
		}			
	}
}


var defaultCityValue 	= 'Enter a City';

function resetMain()
{
	document.mainform.elements["programcategory_main"].selectedIndex=0;
	document.mainform.elements["programcategory_main2"].selectedIndex=0;
	document.mainform.elements["programcategory_main3"].selectedIndex=0;
	document.mainform.elements["gender"].selectedIndex=0;
}

function resetProgramType()
{
	document.mainform.elements["program_type"].selectedIndex=0;
}

function validateSubmit(x)
{
	if( validateForm3(x) )
	{
		alert("valid");
		el = document.forms[x];
		if(typeof(el) == "undefined")
		{
			return false;
		}
		//el.submit();
		return true;
	}
}

function cityClick(){
	if( document.getElementById('suggest') == undefined )
	{
		if(document.mainform.city.value == 'City' ){
			document.mainform.city.value = '';
		}
	}
	if( document.getElementById('suggest') != undefined )
	{
		if(document.getElementById('suggest').value == defaultCityValue){
			document.getElementById('suggest').value = '';
		}
	}
}

function showpopup(id)
{
	el = document.getElementById(id);
	if (el.style.display == 'none')
	{
		el.style.display = '';
	} else {
		el.style.display = 'none';
	}
}

function hidepopup(id)
{
	el = document.getElementById(id);
	el.style.display = 'none';
}

function countryReset(el)
{
	if(typeof(el) == "undefined"){
		el = document.mainform;
	}
	if( el.residencecountry.value != '' )
	{
		for(var i = 0; i < document.forms.length; i++ )
		{
			document.forms[i].country.value = el.residencecountry.value;
			document.forms[i].residencecountry.value = el.residencecountry.value;
			document.forms[i].city.value = '';
			document.forms[i].region.value = '';
			document.forms[i].suggest.value = defaultCityValue;
			
			var new_country_code = el.residencecountry.value;
			var new_country_name = el.residencecountry.options[el.residencecountry.selectedIndex].text;
			
			document.getElementById("countrylabel"+i).innerHTML = new_country_name;
			if( new_country_name != '' )
			{
				SetCookie('RESIDENCE_COUNTRY_CODE',new_country_code,1);
				SetCookie('RESIDENCE_COUNTRY_NAME',new_country_name,1);
				autoSetDropDown(document.forms[i]);
			}
		}
	}
}

function SetCookie(cookieName,cookieValue,nDays)
{
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays==0)
	{
		nDays=1;
	}
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName+"="+escape(cookieValue)
				 + ";expires="+expire.toGMTString();
}

function checkCookie()
{
	country_code_cookie = getCookieValue('RESIDENCE_COUNTRY_CODE');
	country_name_cookie = getCookieValue('RESIDENCE_COUNTRY_NAME');
	
	if (country_code_cookie != null && country_code_cookie != "")
	{
		for(var i = 0; i < document.forms.length; i++ )
		{
			document.forms[i].country.value = unescape(country_code_cookie);
			document.forms[i].residencecountry.value = unescape(country_code_cookie);
			document.getElementById("countrylabel"+i).innerHTML = unescape(country_name_cookie).replace('+',' ');
		}
	}
}

function oncityClick(x)
{
	if( x == 'suggest' )
	{
		if( document.getElementById(x) == undefined )
		{
			if(document.mainform.city.value == 'City' ){
				document.mainform.city.value = '';
			}
		}
	}
	if( x == 'suggest2' )
	{
		if( document.getElementById(x) == undefined )
		{
			if(document.form2.city.value == 'City' ){
				document.form2.city.value = '';
			}
		}
	}
	
	if( x == 'suggest3' )
	{
		if( document.getElementById(x) == undefined )
		{
			if(document.form3.city.value == 'City' ){
				document.form3.city.value = '';
			}
		}
	}
	
	if( document.getElementById(x) != undefined )
	{
		if(document.getElementById(x).value == defaultCityValue){
			document.getElementById(x).value = '';
		}
	}
}

function cityKeyPress()
{

}

//new dynamic dropdowns
//this function calls service file and returns available career programcategories for selected program type (Degree Types)
function getProgramCategory(el)
{
	if(typeof(el) == "undefined"){
		el = document.mainform;
	}
	//clear out pc_main dropdown
	var pc_main = el.programcategory_main;
	var P_TYPE = el.program_type.value;
	SetCookie('P_TYPE',P_TYPE,1);

	if( pc_main.type == 'select-one' )
	{
		resetDropDown(0,el);
		$postdata = 'country=' + el.country.value + '&program_type=' + P_TYPE;
		if( typeof(el.tabcareer) != "undefined" )
		{
			$postdata = $postdata + '&tabcareer=' + el.tabcareer.value;
		}
		if( typeof(el.tabdegree) != "undefined" )
		{
			$postdata = $postdata + '&tabdegree=' + el.tabdegree.value;
		}
		
	//alert($postdata);
		
		$.ajax({
		   type: "POST",
		   async: false,
		   url: "/js/MGEProgramCategoryService.php",
		   data: $postdata,
		   success: function(msg)
		   {
				var pos = msg.indexOf("Error");
				if( msg != '' && (pos < 0) )
				{
					//alert("main "+msg);
					pc_main.options[pc_main.options.length] = new Option('Select One', '');
					var opts 		= msg.split(",");
					for (var i = 0; i < opts.length; i++)
					{
						$pc = opts[i].split("=");
						pc_main.options[pc_main.options.length] = new Option($pc[1], $pc[0]);
					}
					if( opts.length == 1 )
					{
						pc_main.options[1].selected=true;
						getProgramCategoryDegree(el);
					}
					setDefaultDropDown(el);
				}
				else
				{
					setNonAvailable(0,el);
				}
		   }
		 });
	 }
}

//this funtion calls service file and returns the programcategory available for the selected career programcategory (Education Types)
function getProgramCategoryDegree(el)
{
	if(typeof(el) == "undefined"){
		el = document.mainform;
	}
	//clear out pc_main dropdown
	var PC_MAIN = el.programcategory_main.value;
	if( PC_MAIN != '' )
	{
		resetDropDown(1,el);
	//alert("pc_id main "+PC_MAIN);
			
		SetCookie('PC_MAIN',PC_MAIN,1);
		var pc_id = el.programcategory_id;
		var P_TYPE = el.program_type.value;
		$postdata = 'country=' + el.country.value + '&program_type=' + P_TYPE + '&career=' + PC_MAIN;
		if( typeof(el.tabcareer) != "undefined" )
		{
			$postdata = $postdata + '&tabcareer=' + el.tabcareer.value;
		}
		if( typeof(el.tabdegree) != "undefined" )
		{
			$postdata = $postdata + '&tabdegree=' + el.tabdegree.value;
		}

		//alert(pc_id.type);
			
		if( pc_id.type == 'select-one' )
		{
			//alert("pc_id");
			$.ajax({
			   type: "POST",
			   async: false,
			   url: "/js/MGEProgramCategoryService.php",
			   data: $postdata,
			   success: function(msg)
			   {
					var pos = msg.indexOf("Error");
					if( msg != '' && (pos < 0) )
					{
						//alert("category "+msg);
						pc_id.options[pc_id.options.length] = new Option('Select One', '');
						var opts 		= msg.split(",");
						for (var i = 0; i < opts.length; i++)
						{
							$pc = opts[i].split("=");
							pc_id.options[pc_id.options.length] = new Option($pc[1], $pc[0]);
						}
						if( opts.length == 1 )
						{
							pc_id.options[1].selected=true;
							getPCDestinationCountry(el);
						}
						setDefaultDropDown(el);
					}
					else
					{
						setNonAvailable(1,el);
					}
			   }
			 });
		}
	}
}
	
//this function calls service files and returns the destinations available for the selected programcategory (Categories)
function getPCDestinationCountry(el)
{
	if(typeof(el) == "undefined"){
		el = document.mainform;
	}
	//clear out pc_main dropdown
	var PC_ID = el.programcategory_id.value;

	if( PC_ID != '' )
	{
		resetDropDown(2,el);
		SetCookie('PC_ID',PC_ID,1);
		var dest = el.destination;
		var P_TYPE = el.program_type.value;
		$postdata = 'country=' + el.country.value + '&program_type=' + P_TYPE + '&degree=' + PC_ID;
		if( typeof(el.tabcareer) != "undefined" )
		{
			$postdata = $postdata + '&tabcareer=' + el.tabcareer.value;
		}
		if( typeof(el.tabdegree) != "undefined" )
		{
			$postdata = $postdata + '&tabdegree=' + el.tabdegree.value;
		}

		if( dest.type == 'select-one' )
		{			
			$.ajax({
			   type: "POST",
			   async: false,
			   url: "/js/MGEProgramCategoryService.php",
			   data: $postdata,
			   success: function(msg)
			   {
					var pos = msg.indexOf("Error");
					if( msg != '' && (pos < 0) )
					{
						//alert(msg);
						dest.options[dest.options.length] = new Option('Show All', 'INT');
						var opts 		= msg.split(",");
							
						for (var i = 0; i < opts.length; i++)
						{
							$pc = opts[i].split("=");
							dest.options[dest.options.length] = new Option($pc[1], $pc[0]);
						}
					}
					else
					{
						setNonAvailable(2,el);
					}
			   }
			 });
		}
	}
}
	
function setDestinationCountry(el)
{
	if(typeof(el) == "undefined"){
		el = document.mainform;
	}
	var DEST_COUNTRY = el.destination.value;
	SetCookie('DEST_COUNTRY',DEST_COUNTRY,1);	
}
	
function autoSetDropDown(el)
{
	if(typeof(el) == "undefined")
	{
		el = document.mainform;
	}
	//country_code_cookie = getCookieValue('RESIDENCE_COUNTRY_CODE');

	var PC_MAIN = getCookieValue('PC_MAIN');
	var PC_ID = getCookieValue('PC_ID');
	var DEST_COUNTRY = getCookieValue('DEST_COUNTRY');

	var p_type = el.program_type;
	if( p_type.value == '' )
	{
		p_type.value == 'All';
	}
		

	getProgramCategory(el);

	//auto select career dropdown value
	if( PC_MAIN != '' )
	{
		//alert("a");
		//alert(PC_MAIN);
		if( el.programcategory_main.type == 'select-one' )
		{
			for (var i = 0; i < el.programcategory_main.options.length; i++)
			{
				if( PC_MAIN == el.programcategory_main.options[i].value )
				{
					el.programcategory_main.options[i].selected=true;
				}
			}
		}
			
			
			
		getProgramCategoryDegree(el);
		setDefaultDropDown(el);
	}
	else
	{
		//alert("b");
		getProgramCategoryDegree(el);
		setDefaultDropDown(el);		
	}

	if( PC_ID != '' )
	{
		//alert("c");
		//alert("pc_id count "+el.programcategory_id.options.length);
		//auto select degree dropdown value
		if( el.programcategory_id.type == 'select-one' )
		{
			for (var i = 0; i < el.programcategory_id.options.length; i++)
			{
				if( el.programcategory_id.options[i].value == PC_ID )
				{
					el.programcategory_id.options[i].selected=true;
				}
			}
		}
		getPCDestinationCountry(el);
		setDefaultDropDown(el);
	}
	else
	{
		//alert("d");
		getPCDestinationCountry(el);
		setDefaultDropDown(el);		
	}
		
	if( DEST_COUNTRY != '' )
	{
		//alert("e");
		if( el.destination.type == 'select-one' )
		{
			for (var i = 0; i < el.destination.options.length; i++)
			{
				if( DEST_COUNTRY == el.destination.options[i].value )
				{
					el.destination.options[i].selected=true;
				}
			}
		}
	}
}

function setDefaultDropDown(el)
{
	if(typeof(el) == "undefined")
	{
		for(var i = 0; i < document.forms.length; i++ )
		{
			if( el.programcategory_main.type == 'select-one' && document.forms[i].programcategory_main.options.length == 0 )
			{
				document.forms[i].programcategory_main.options[document.forms[i].programcategory_main.options.length] = new Option('Select a Degree Type', '');
			}
			if( el.programcategory_id.type == 'select-one' && edocument.forms[i].programcategory_id.options.length == 0 )
			{
				document.forms[i].programcategory_id.options[document.forms[i].programcategory_id.options.length] = new Option('Select an Education Type', '');
			}
			if( el.destination.type == 'select-one' && document.forms[i].destination.options.length == 0 )
			{
				document.forms[i].destination.options[document.forms[i].destination.options.length] = new Option('Select a Category', '');
			}
		}
	}
	else
	{
		if( el.programcategory_main.type == 'select-one' && el.programcategory_main.options.length == 0 )
		{
			el.programcategory_main.options[el.programcategory_main.options.length] = new Option('Select a Degree Type', '');
		}
			
			
			
			
		if( el.programcategory_id.type == 'select-one' && el.programcategory_id.options.length == 0 )
		{
			//alert(el.programcategory_id.options.length);
			el.programcategory_id.options[el.programcategory_id.options.length] = new Option('Select an Education Type', '');
		}
		if( el.destination.type == 'select-one' && el.destination.options.length == 0 )
		{
			el.destination.options[el.destination.options.length] = new Option('Select a Category', '');
		}
	}
	
}
	
function resetDropDown(x,el)
{
	if(typeof(el) == "undefined"){
		el = document.mainform;
	}
		
	if(x==0)
	{
		if( el.programcategory_main.type == 'select-one' )
			el.programcategory_main.options.length = 0;
			
		if( el.programcategory_id.type == 'select-one' )
			el.programcategory_id.options.length = 0;
			
		if( el.destination.type == 'select-one' )
			el.destination.options.length = 0;
	}
	else if(x==1)
	{
		if( el.programcategory_id.type == 'select-one' )
			el.programcategory_id.options.length = 0;
			
		if( el.destination.type == 'select-one' )
			el.destination.options.length = 0;
	}
	else if( x==2)
	{
		for(var i = 0; i < document.forms.length; i++ )
		{
			el.destination.options.length = 0;
		}
	}
	else
	{
		for(var i = 0; i < document.forms.length; i++ )
		{
			if( document.forms[i].programcategory_main.type == 'select-one' )
				document.forms[i].programcategory_main.options.length = 0;
			if( document.forms[i].programcategory_id.type == 'select-one' )
				document.forms[i].programcategory_id.options.length = 0;
			if( document.forms[i].destination.type == 'select-one' )
				document.forms[i].destination.options.length = 0;
		}
	}
}

function 	setNonAvailable(x,el)
{
	if(typeof(el) == "undefined"){
		el = document.mainform;
	}

	if(x==0)
	{
		if( el.programcategory_main.type == 'select-one' )
			el.programcategory_main.options[el.programcategory_main.options.length] = new Option('None Available', '');
		if( el.programcategory_id.type == 'select-one' )
			el.programcategory_id.options[el.programcategory_id.options.length] = new Option('None Available', '');
		if( el.destination.type == 'select-one' )
			el.destination.options[el.destination.options.length] = new Option('None Available', '');
	}		
	else if(x==1)
	{
		if( el.programcategory_id.type == 'select-one' )
			el.programcategory_id.options[el.programcategory_id.options.length] = new Option('None Available', '');
		if( el.destination.type == 'select-one' )
			el.destination.options[el.destination.options.length] = new Option('None Available', '');
	}
	else if( x==2)
	{
		if( el.destination.type == 'select-one' )
			el.destination.options[el.destination.options.length] = new Option('None Available', '');	
	}
	else
	{
		for(var i = 0; i < document.forms.length; i++ )
		{
			if( document.forms[i].programcategory_main.type == 'select-one' )
				document.forms[i].programcategory_main.options[document.forms[i].programcategory_main.options.length] = new Option('None Available', '');
			if( document.forms[i].programcategory_id.type == 'select-one' )
				document.forms[i].programcategory_id.options[document.forms[i].programcategory_id.options.length] = new Option('None Available', '');
			if( document.forms[i].destination.type == 'select-one' )
				document.forms[i].destination.options[document.forms[i].destination.options.length] = new Option('None Available', '');
		}
	}
}