var navTimeout = new Array()
var walNavDefault = 'logo_jobs';


function create_mail_agent()
{

	// Validate
	if (!validate_not_blank(document.this_page.agent_name, 'Navn på jobagent'))
		return false;
	if (!validate_not_blank(document.this_page.agent_mail, 'Din mail adresse'))
		return false; 
	if (!validate_email_address(document.this_page.agent_mail, document.this_page.agent_mail.value))
		return false;
 	

	// Get info
	var agent_name 		= document.this_page.agent_name.value;
	var agent_mail 		= document.this_page.agent_mail.value;
	var job_type		= new Array();
	job_type 			= get_multiple_list_selection(document.this_page.agent_job_type);
	var work_area		= new Array();
	work_area 			= get_multiple_list_selection(document.this_page.agent_work_area);
 	var location		= new Array();
	location 			= get_multiple_list_selection(document.this_page.agent_location);
	var free_text		= document.this_page.agent_free_text.value;
	var agent_type 		= (document.this_page.agent_type[0].checked == true)? 1 : 0;
	
	// Define parameters
	var agent_params  = new Array();
	agent_params[agent_params.length] = "command=save_mail_agent";
	agent_params[agent_params.length] = "agent_name=" + escape(agent_name, 1);
	agent_params[agent_params.length] = "agent_mail=" + escape(agent_mail, 1);
	agent_params[agent_params.length] = "agent_type=" + agent_type;
	agent_params[agent_params.length] = "work_area=" + work_area;
	agent_params[agent_params.length] = "job_type=" + job_type;
	agent_params[agent_params.length] = "location=" + location;
	agent_params[agent_params.length] = "free_text=" + free_text;
	
	str_params = agent_params.join("&");
	
	document.this_page.action = "jobagent.asp?" + str_params;
	document.this_page.submit();

}

function goto_mail_agent()
{

	document.this_page.action = "jobagent.asp";
	document.this_page.submit();
}
function create_cv_from_jobagent()
{
	relocate("/shared/cv/source/cv_start.hts?nav_to=no_logon,private_data,create","self");
}





function Encode (str)
{
	str = escape(str);
	str = str.replace(/%20/g, '+');
	return str; 
}


function createCVJOBlink(param, page)
{
	var p = "";
	if (page != "") p= "p=2&";
 	return "cvjob.asp?" + p +"u=" + Encode(param);
}




function updateWalNav(navItemId)
{
	clearNavTimeouts();
	if (navItemId == '') navItemId=walNavDefault;

	navDiv = document.getElementById('walnav')
	var imagePath = 'http://www.lsnmedia.co.uk/_system/WantALocalHomes/images/';
	walImages = navDiv.getElementsByTagName('img');
	for (i=0;i<walImages.length;i++)
	{
		if (walImages[i].id==navItemId)
		{
			walImages[i].src = imagePath + walImages[i].id + '_on.gif';
		}
		else
		{
			walImages[i].src = imagePath + walImages[i].id + '.gif';
		}
	}
	clearNavTimeouts();
}

function clearNav()
{
	navTimeout[navTimeout.length] = setTimeout("updateWalNav('')",200);
}

function clearNavTimeouts()
{
	for (j=0;j<navTimeout.length;j++)
	{
		if (navTimeout[j]!='')
		{
			clearTimeout(navTimeout[j]);
			navTimeout[j] = '';
		}
	}
}

/////////////////////

function Initialize()
{
	document.getElementById("content").style.height =  getHeight("content") + 20 + "px";
	
	document.getElementById("main-left").style.height = getHeight("main") - 25 + "px";
}


function bName() 
{
  // return 1 for Internet Explorer
  if (navigator.appName == "Microsoft Internet Explorer")
    return 1;

  // return 2 for Navigator
  if (navigator.appName == "Netscape")
    return 2;

  // return 0 for other browsers
  return 0;
}
	
function getHeight (id) 
{  
       document.getElementById(id).style.height="auto";
       // match box models
       if (bName() == 1)
       {
       	gh = document.getElementById(id).offsetHeight+10;
       }
       else 
       {
       	gh = document.getElementById(id).offsetHeight;
       }
       return gh;
}			


function save_job(job_id)
{
	// Save Job Ad
	document.this_page.command.value = "save_job_ad";
	document.this_page.job_id.value = job_id;
	document.this_page.submit();
}


function show_tip_friend(job_id)
{
 var width = 600;
 var height = 500;
 var top = 50;
 var left = 50;
 window.open("tip_friend.asp?sa_id=" + job_id, "", "toolbar=no,directories=no,menubar=no,scrollbars=yes,status=yes,resizable=1,left=" + left + ",top=" + top + ",width=" + width + ",height=" + height);
}
 
 
 
function show_print_job(job_id)
{
 var width = 600;
 var height = 500;
 var top = 50;
 var left = 50;
 window.open("print.asp?sa_id=" + job_id, "", "toolbar=no,directories=no,menubar=no,scrollbars=yes,status=yes,resizable=1,left=" + left + ",top=" + top + ",width=" + width + ",height=" + height);
}

function do_logon()
{				
	// Username
	if (document.this_page.usr.value.length == 0)
	{
		alert("Indtast et brugernavn");
		//document.this_page.usr.focus();
		return;
	}
	// Password
	if (document.this_page.pwd.value.length == 0)
	{
		alert("Indtast et brugernavn");
		//document.this_page.pwd.focus();
		return;
	}

	
	document.this_page.action = "cvjob.asp";
	document.this_page.submit();
}



/////////////////
// gbl version
function search_simplejobs()
{
	var free_text = document.this_page.free_text.value;

	var SearchParm = 'free_text=' + free_text;
	//alert (SearchParm);

	relocate("search_results.asp?location=2£DK£20£1240££,2£DK£20£1241£579£,2£DK£20£1241£578£,2£DK£20£1241£577£&" + SearchParm, "self");
}



function search_simplejobs22()
{
	var free_text = document.this_page.free_text.value;
	free_text = escape(free_text);
	free_text = free_text.replace(/%20/g, '+');
        //alert ("hi");
	//alert (SearchParm);
	var strLink = "cvjob.asp?p=3&nav_to=no_logon,search,simple&search=type(1)+rows(20)+order(2)+location(DK,20,1240)+freetext(" + free_text + ")+heading(S%C3%B8geresultat)+execute";
	//strLink = strLink + free_text;
	//strLink = strLink + ")+heading(Søgeresultat)+execute";
	
	relocate ( strLink, "self");
}


function search_jobs22()
{
	var free_text = document.this_page.free_text.value;
	var posted = document.this_page.posted.value;
	var location  = document.this_page.location.value;
	var work_area = get_multiple_list_selection(document.this_page.work_area);

	var job_type = "";
	if (typeof(document.this_page.job_type)=='object')
	{
		job_type = get_multiple_list_selection(document.this_page.job_type);
	}

	var SearchParm = 'free_text=' + free_text + '&posted=' + posted + '&location=' + location + '&work_area=' + work_area + '&job_type=' + job_type;
	//alert (SearchParm);
	if (location == "" || location == "-") 
	{
		alert ("Please select a location");
		return;
	}
	relocate("search_results.asp?" + SearchParm, "self");
}

// get_date_format
function get_date_format(year_string,month_string,date_string)
{
	// Get date created as object
	var today 		= new Date();
	var date_created	= new Date(year_string,(month_string-1),date_string);

	var str_day	 	= new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
	var str_month	 	= new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	var str_date 	 	= str_day[date_created.getDay()] + ", " + date_created.getDate() + " " + str_month[date_created.getMonth()];

	var countMillisecondsPerDay	= 1000 * 60 * 60 * 24;	// (milliseconds * seconds * minutes * hours)
	var day_diff			= Math.floor((today.getTime() - date_created.getTime()) / countMillisecondsPerDay);

	// Check today
	if (day_diff == 0)
	{
		str_date = "Today ";// + str_hours + ":" + str_minutes;
	}
	// Check yesterday
	else if (day_diff == 1)
	{
		str_date = "Yesterday";// + str_hours + ":" + str_minutes;
	}

	document.write(str_date);
}


function validate_not_blank(field, name)
{
	// strip all spaces at start and end of line
	var regx_output = new String(field.value);
	var re1 = new RegExp("^[ ]*|([ ]*)\$", 'g');
	field.value = regx_output.replace(re1, "");

	if (field.value == "")
	{
		alert(format_str('Feltet "%s" må ikke være blankt.', name));
		focus_field(field);
		return false;
	}
	return true;
}


function validate_email_address(field, name, allow_name_in_address, display_error)
{
	if (typeof display_error == "undefined")
	{
		display_error = true;
	}

	// Get field value
	var fieldval = field.value;

	// Remove spaces before and after email
	fieldval = fieldval.replace(/^\\s*/, "");
	fieldval = fieldval.replace(/\\s*\$/, "");

	// Update field
	field.value = fieldval;

	// If "name <email>" format is available - get email address
	if (allow_name_in_address)
	{
		var a = fieldval.indexOf("<");
		var b = fieldval.indexOf(">");
		if (a < b)
		{
			fieldval = fieldval.substring(a + 1, b);
		}
	}
	
	// Initialize
	var msg		= "";
	var last_at	= fieldval.lastIndexOf("\@");
	var before	= fieldval.substr(0, last_at);
	var after	= fieldval.substr(last_at + 1, fieldval.length - last_at - 1);
	var reg;
	
	// CHECK: the @ character must exist
	if (last_at < 0)
	{
		msg = "Tegnet @ mangler i e-mail adressen.";
	}
	
	// CHECK: there must be at least one character preceeding and one character following @
	if (!msg)
	{
		if ((before.length < 1) || (after.length < 1))
		{
			msg = "E-mail adressen skal indeholde mindst et tegn før @.";
		}
	}
	
	// CHECK: characters below 32 are illegal
	if (!msg)
	{
		for (var i = 0; i < fieldval.length; i++)
		{
			var code = fieldval.charCodeAt(i);
			if (code < 32)
			{
				msg = "Du har skrevet et ulovligt tegn i e-mail adressen.";
				break;
			}
		}
	}
	
	// CHECK: the ".@" combination is illegal
	if (!msg)
	{
		if (before.substr(before.length - 1, 1) == ".")
		{
			msg = "Du har skrevet et ulovligt tegn før @.";
		}
	}
	
	// CHECK: the "@." combination is illegal
	if (!msg)
	{
		if (after.substr(0, 1) == ".")
		{
			msg = "Et punktum må ikke stå umiddelbart efter @.";
		}
	}
	
	// CHECK: at least one "." is required in the host section
	if (!msg)
	{
		if (after.indexOf(".") < 0)
		{
			msg = "Der er intet punktum i din e-mailadresse.";
		}
	}
	
	// CHECK: "." cannot be the last character
	if (!msg)
	{
		if (after.lastIndexOf(".") == (after.length - 1))
		{
			msg = "Et punktum må ikke være sidste tegn i en e-mailadresse";
		}
	}
	
	// CHECK: the "-." combination is illegal following @
	if (!msg)
	{
		reg = /\\-{1}\\.{1}/;
		if (reg.test(after))
		{
			msg = "En bindestreg må ikke stå umiddelbart foran et punktum i en e-mailadresse.";
		}
	}
	
	// CHECK: "-" cannot be the last character
	if (!msg)
	{
		if (after.lastIndexOf("-") == (after.length - 1))
		{
			msg = "En bindestreg må ikke være sidste tegn i en e-mailadresse.";
		}
	}
	
	// CHECK: certain characters preceeding @ must be escaped
	if (!msg)
	{
		// 1) remove all escaped characters
		// 2) all remaining special characters were not escaped - which is illegal
		before = before.replace(/\\\\{1}.{1}/g, "");
		reg = /[\\s<>()\\[\\]\\\\,;:@\\"]{1,}/;
		if (reg.test(before))
		{
			msg = "Du har skrevet et tegn i din e-mailadresse som ikke må anvendes foran @.";
		}
	}
	
	// CHECK: the characters following @ are restricted
	// ASCII Characters below 32, not allowed
	if (!msg)
	{
		reg = new RegExp("^[\\x00-\\x20]*\$");
		if (reg.test(after))
		{
			msg = "Du har skrevet et tegn i din e-mailadresse som ikke må anvendes efter @";
		}
	}
	
	// If the address is illegal
	if ((msg) && (display_error = true))
	{
	



	alert(format_str("Email adressen '%s' er forkert:\n%s\n\nE-mail-adresser har almindeligvis følgende format:\n - fornavn.efternavn@virksomhed.dk\n - brugernavn@internetudbyder.dk\n - initialer@serviceudbyder.com\n   o.s.v.", name, msg));
		focus_field(field);
		return false;
	}
	
	// The address seems to be in order
	return true;
}



function validate_username_password()
{
	var frm = document.this_page;
	var username_label = "Email";
	var password_1_label = "Password";
	var password_2_label = "Gentag Password";
	
	// Define illegal characters for usr + pwd
	var illegal_char_array = new Array("<", ">", "'", '"', "\\\\");
	
	// USERNAME
	if (!validate_not_blank(frm.myEmail, username_label))
		return false;
	
	// PASSWORD

	if (!validate_not_blank(frm.myPassword, password_1_label))
		return false;
	if (!validate_not_blank(frm.myPasswordConfirm, password_2_label))
		return false;
	
	if (frm.myPassword.value.indexOf(" ") >= 0)
	{
		alert("Password må ikke indeholde mellemrum.");
		frm.myPassword.value = "";
		frm.myPasswordConfirm.value = "";
		focus_field(frm.myPassword);
		return false;
	}
	
	if (frm.myPassword.value.length > 10)
	{
		alert("Dit password er for langt. Du må ikke bruge mere end 10 tegn.");
		frm.myPassword.value = "";
		frm.myPasswordConfirm.value = "";
		focus_field(frm.myPassword);
		return false;
	}
	
	if (frm.myPassword.value.length < 6)
	{
		alert("Dit password skal mindst indeholde 6 tegn.");
		frm.myPassword.value = "";
		frm.myPasswordConfirm.value = "";
		focus_field(frm.myPassword);
		return false;
	}
	
	if (frm.myPassword.value != frm.myPasswordConfirm.value)
	{
		alert("Password var ikke ens begge gange.");
		frm.myPassword.value = "";
		frm.myPasswordConfirm.value = "";
		focus_field(frm.myPassword);
		return false;
	}
	
	for (var i = 0; i < illegal_char_array.length; i++)
	{
		if (frm.myPassword.value.indexOf(illegal_char_array[i]) >= 0)
		{
			alert(format_str("Dit password må ikke indeholde tegnet '%s'.", illegal_char_array[i]));
			frm.myPassword.value = "";
			frm.myPasswordConfirm.value = "";
			focus_field(frm.myPassword);
			return false;
		}
	}
	
	// CAPS-LOCK on both username and password is not accepted
	// - also handling extended characters like "æøå" which JavaScript ignores in Case functions
	if (frm.myEmail.value == frm.myEmail.value.toUpperCase())
		if (frm.myEmail.value.toLowerCase() != frm.myEmail.value.toUpperCase())
			if (frm.myPassword.value == frm.myPassword.value.toUpperCase())
				if (frm.myPassword.value.toLowerCase() != frm.myPassword.value.toUpperCase())
				{
					alert("Du kan ikke skrive både brugernavn og password udelukkende med store bogstaver.\nSlå evt. Caps Lock fra ved at trykke på Caps Lock på tastaturet.");
					frm.myPassword.value = "";
					frm.myPasswordConfirm.value = "";
					focus_field(frm.myPassword);
					return false;
				}
	
	// USERNAME == PASSWORD
	if (frm.myEmail.value.toUpperCase() == frm.myPassword.value.toUpperCase())
	{
		alert("Dit brugernavn og password må ikke være det samme.");
		frm.myPassword.value = "";
		frm.myPasswordConfirm.value = "";
		focus_field(frm.myPassword);
		return false;
	}
	
	// PASSWORD == "PASSWORD"
	if ( frm.myPassword.value.toUpperCase() == "PASSWORD" )
	{
		alert("Dit password må ikke være \"password\".");
		frm.myPassword.value = "";
		frm.myPasswordConfirm.value = "";
		focus_field(frm.myPassword);
		return false;
	}
	
	return true;
}

function page_username_taken(name_used, name_suggested)
{
	if (name_suggested == "")
	{
		alert("Brugernavnet er allerede brugt. Vælg et andet brugernavn.");
	}
	
	else if (confirm(format_str("Brugernavnet er allerede brugt. Vil du evt. bruge %s?", name_suggested)))
	{
		document.this_page.username.value = name_suggested;
		alert(format_str("Brugernavnet er nu \'%s\'.", name_suggested));
		create_user();
	}
}


function validate_user_data()
{
	var frm = document.this_page;
	var firstname_label = "Fornavn";
	var surname_label 	= "Efternavn";
	var address_label 	= "Addresse";
	var postcode_label	= "Postnr";
	var town_label		= "By";
	var email_1_label 	= "Email";
	var email_2_label 	= "Gentag email";
	
	if (!validate_not_blank(frm.myFirstname, firstname_label))
		return false;
	if (!validate_not_blank(frm.mySurname, surname_label))
		return false;
	if (!validate_not_blank(frm.myAddress1, address_label))            
		return false;
	if (!validate_not_blank(frm.myPostcode, postcode_label))
		return false;
	if (!validate_not_blank(frm.myTown, town_label))
		return false;
	if (!validate_not_blank(frm.myEmail, email_1_label))
		return false;
	if (!validate_not_blank(frm.myEmailConfirm, email_2_label))
		return false;
	
	// Validate email address 1
	if (!validate_email_address(frm.myEmail, frm.myEmail.value))
		return false;
	
	// Compare with email address 2 (stripping spaces at start and end)
	var txt = frm.myEmailConfirm.value;
	txt = txt.replace(/^\\s*/, "").replace(/\\s*\$/, "");
	if (frm.myEmail.value != txt)
	{
		alert("E-mail var ikke ens begge gange.");
		focus_field(frm.myEmail);
		return false;
	}
	
	return true;
}

                                                                                                      2
function logon()
{
	if (!validate_not_blank(document.this_page.loginEmail, "E-mail"))
		return;
	if (!validate_not_blank(document.this_page.loginPassword, "Password"))
		return;

	document.this_page.action = "register.asp";
	document.this_page.command.value = "logon";
	document.this_page.submit();
}


function forgot_password()
{
	if (!validate_not_blank(document.this_page.myForgotPassword, "E-mail"))
		return false;
	if (!validate_email_address(document.this_page.myForgotPassword, document.this_page.myForgotPassword.value))
		return false;
	
	document.this_page.command.value = "forgot_password";
	document.this_page.submit();
}

function forgot_password_pop () {
  	mywindow = window.open ("./forgot_password.asp", "tipWindow","location=0,status=0,scrollbars=0,width=420,height=200");
  	mywindow.moveTo(470,200);	
}


function user_logoff()
{
	// relocate("index.asp", "self");
	
	document.this_page.action = "register.asp";
	document.this_page.command.value = "user_logoff";
	document.this_page.submit();
}	

function save_job(job_id)
{
	// Save Job Ad
	document.this_page.command.value = "save_job_ad";
	document.this_page.job_id.value = job_id;
	document.this_page.submit();
}

function remove_job(job_id)
{
	// Remove Job Ad
	document.this_page.command.value = "remove_job_ad";
	document.this_page.job_id.value = job_id;
	document.this_page.submit();
}

//
// save_mail_agent
//
function save_mail_agent(mail_agent_id)
{
	// Validate
	if (!validate_not_blank(document.this_page.mail_agent_name, 'Mail Agent Name'))
		return false;

	var mail_agent_name				= document.this_page.mail_agent_name.value;
	var agent_free_text				= document.this_page.free_text.value;
	agent_free_text					= escape(format_free_text(agent_free_text));
	var agent_location				= document.this_page.location.value;

	// get work_areas
	var agent_work_area		= new Array();
	agent_work_area 		= get_multiple_list_selection(document.this_page.work_area);

	// job_types
 	var agent_job_type		= new Array();
	agent_job_type 			= get_multiple_list_selection(document.this_page.job_type);
	
	/*
	var agent_salary		= new Array();
	agent_salary 			= get_multiple_list_selection(document.this_page.salary);
	*/
	
	var search_params  		= new Array();
	search_params[search_params.length] = "command=save_mail_agent";
	if(mail_agent_id != "" && mail_agent_id != undefined) search_params[search_params.length] = "mail_agent_id=" + mail_agent_id;
	else search_params[search_params.length] = "mail_agent_id=";
	if(mail_agent_name != "" && mail_agent_name != undefined) search_params[search_params.length] = "mail_agent_name=" + escape(mail_agent_name);
	else search_params[search_params.length] = "mail_agent_name=";
	if(agent_free_text != "" && agent_free_text != undefined) search_params[search_params.length] = "agent_free_text=" + escape(agent_free_text);
	else search_params[search_params.length] = "agent_free_text=";
	if(agent_work_area != "" && agent_work_area != undefined) search_params[search_params.length] = "agent_work_area=" + agent_work_area;
	else search_params[search_params.length] = "agent_work_area=";
	if(agent_location != "" && agent_location != undefined) search_params[search_params.length] = "agent_location=" + agent_location;
	else search_params[search_params.length] = "agent_location=";
	if(agent_job_type != "" && agent_job_type != undefined) search_params[search_params.length] = "agent_job_type=" + agent_job_type;
	else search_params[search_params.length] = "agent_job_type=";
	/*
	if(agent_salary != "" && agent_salary != undefined) search_params[search_params.length] = "agent_salary=" + agent_salary;
	else search_params[search_params.length] = "agent_salary=";
	*/
				
	str_params = search_params.join("&");
	//alert(str_params);
	document.this_page.action = "search.asp?" + str_params;
	document.this_page.submit();
}


// get_multiple_list_selection
function get_multiple_list_selection(list_name)
{	
	var multiple_list_array	= new Array();
	if (list_name[0].selected == 0)
	{
		for (var i=0; i < list_name.length; i++)
		{
			if (list_name[i].selected == 1)
			{
				multiple_list_array[multiple_list_array.length] = list_name[i].value;
			}
		}
	}
	multiple_list_array = multiple_list_array.join(",");
	return multiple_list_array;
}

function resizeImage(thisImg, new_w, new_h)
{
	if (new_w == undefined || new_w == "")
		new_w = thisImg.width;
	if (new_h == undefined || new_h == "")
		new_h = thisImg.height;

	var w = thisImg.width;
	var h = thisImg.height;
	var koef = w / h;

	if (w > new_w)
	{
		if (new_w / koef > new_h)
			thisImg.height = new_h;
		else
			thisImg.width = new_w;
	}
	else if (h > new_h)
	{
		if (new_h * koef > new_w)
			thisImg.width = new_w;
		else
			thisImg.height = new_h;
	}
}
// float login box

function show_login_box()
    {
        var popup  = document.getElementById("loginbox");
        popup.className = "popup";
        var logind = document.getElementById("login");
        var offsetX  = (logind.offsetParent.offsetLeft + logind.offsetLeft +logind.offsetWidth) - popup.offsetWidth;

        var offsetY  = logind.offsetParent.offsetTop + logind.offsetTop + logind.offsetHeight - 1;
        popup.style.left = "" + offsetX + "px";
        popup.style.top = "" + offsetY + "px";

	var map = document.getElementById("flashMap");
	if (map != "" && map != "undefined")
		map.style.marginTop = "130px";
	
        document.this_page.loginEmail.select();
        document.this_page.loginEmail.focus();
    }
function show_login_box_contact()
{
        var popup  = document.getElementById("loginbox");
        popup.className = "popup";
        var logind = document.getElementById("login");
        var offsetX  = (logind.offsetParent.offsetLeft + logind.offsetLeft +logind.offsetWidth) - popup.offsetWidth;

        var offsetY  = logind.offsetParent.offsetTop + logind.offsetTop + logind.offsetHeight - 1;
        popup.style.left = "" + offsetX + "px";
        popup.style.top = "" + offsetY + "px";
	
        document.this_page.loginEmail.select();
        document.this_page.loginEmail.focus();
}
function close_login_box()
{
   document.getElementById("loginbox").className = "hidden";
	var map = document.getElementById("flashMap");
	if (map != "" && map != "undefined")
		map.style.marginTop = "0px";
}
function close_login_box_contact()
{
   document.getElementById("loginbox").className = "hidden";
}