
/* edit_employer_<section> functions to handle events when the user clicks the "Edit" button. 
*  Return "true" if you want the edit process to continue, return "false" if you want it to stop (i.e. for link redirects)
*/
function edit_employer_description( elementId, profileId ) { return true; }
function edit_employer_basic( elementId, profileId ) {
	puc.removeAllItems();
	return true;
}
function edit_employer_video( elementId, profileId ) {
	vuc.removeAllItems();
	return true;
}
function edit_employer_reference( elementId, profileId ) {
	window.location = SYSTEM_URL + "/profile/profile.html?id=" + profileId + "&cate=references";
	return false;
}
function edit_employer_jobboard( elementId, profileId ) {
	window.location = SYSTEM_URL + "/profile/profile.html?id=" + profileId + "&cate=jobs#active_component";
	return false;
}

/* update_employer_<section> functions to handle events when the user clicks the "Done" button when finished editing. */
function update_employer_basic( elementId, sessionId, profileId ) {
	var form = document.forms["basic_form"];

	// Validate input.
	if ( form.companyName.value.length == 0 ) {
        alert( "Missing field: Company Name" );
        form.companyName.focus();
        return false;
    }
    if ( !form.address.value) {
        alert( "Missing field: Address" );
        form.address.focus();
        return false;
    }
	if ( form.city.value.length == 0 ) {
		alert( "Missing field: City" );
		form.city.focus();
		return false;
	}

	var region = form.region.value;
	if ( form.countryCode.value == "US" ) region = form.state.value;
	if ( form.countryCode.value == "CA" ) region = form.province.value;
	var ajax = new Ajax();
	ajax.post2html( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", "basic", [
		["type", "basic"],
		["sessionId", encodeURI( sessionId )],
		["profileId", encodeURI( profileId )],
		["companyName", encodeURI( form.companyName.value )], 
		["industry", encodeURI( form.industry.value )], 
		["website", encodeURI( form.website.value )], 
		["telephone", encodeURI( form.telephone.value )], 
		["cellphone", encodeURI( form.cellphone.value )],
		["fax", encodeURI( form.fax.value )], 
		["address", encodeURI( form.address.value )], 
		["city", encodeURI( form.city.value )], 
		["region", encodeURI( region )],
		["countryCode", encodeURI( form.countryCode.value )],
		["postalCode", encodeURI( form.postalCode.value )],
		["tempImageFile", encodeURI( tempImageFile )]
	]);
	tempImageFile = "";

	// Update the profile map.
	var address = null;
	if ( form.address.value.length > 0 || form.postalCode.value.length > 0 ) {
		address = form.address.value;
		address+= ", ";
		address+= form.city.value;
		if ( form.city.value.length > 0 ) address+= ", ";
		address+= region;
		if ( region.length > 0 ) address+= ", ";
		address+= form.countryCode.value;
		if ( form.countryCode.value.length > 0 ) address+= ", ";
		address+= form.postalCode.value;
	}
	updateMap( address );
	return true;
}

function update_employer_video( elementId, sessionId, profileId ) {
	var ajax = new Ajax();
	ajax.post2html( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", "video", [
		["type", "video"],
		["sessionId", encodeURI( sessionId )],
		["profileId", encodeURI( profileId )],
		["tempVideoFile", encodeURI( tempVideoFile )]
	]);
	tempVideoFile = "";
	return true;
}

function update_employer_description( elementId, sessionId, profileId ) {
	section = document.getElementById( elementId );
	if ( section.className.match( /( editing)\b/ )) {
		var ajax = new Ajax();
		ajax.post2html( SYSTEM_URL + "/profile/profile_individual/edit_profile.php", "description", [
			["type", "update_description"],
			["sessionId", encodeURI( sessionId )],
			["profileId", encodeURI( profileId )],
			["description", encodeURI( document.getElementById( "profile_description" ).value )]
		] );
	}
	return true;
}
function removePhoto( sessionId, profileId ) {
	if ( confirm( "Click OK to remove this photo from your profile." )) {
		var ajax = new Ajax();
        ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", null, [
			["type", "remove_photo"],
			["sessionId", encodeURI( sessionId )],
			["profileId", encodeURI( profileId )]
		] );
		tempImageFile = "";
		document.getElementById( "edit_employer_image" ).src = SYSTEM_URL + "/images/profile/no_photo_employer.gif";
		document.getElementById( "remove_employer_image" ).style.display = "none";
		puc.removeAllItems();
	}
}

function removeVideo() {
	if ( confirm( "Click OK to remove this video from your profile." )) {
		tempVideoFile = "";
		document.getElementById( "play_employer_video" ).innerHTML = "Upload a promotional video to appear in your profile.";
		document.getElementById( "remove_video" ).style.display = "none";
		vuc.removeAllItems();
	}
}

function update_register_video() {
	tempVideoFile = vuc.getLastUploadedTempFileName();
	document.getElementById( "employer_video" ).style.display = "none";
	document.getElementById( "remove_video" ).style.display = "";

	// Update video player in page.
	var video = vuc.getLastUploadedTempURL();
	document.getElementById( "play_employer_video" ).innerHTML = "<OBJECT id='video_player' " +
		"classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95' " +
		"codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701' " +
		"type='application/x-oleobject' width='185' height='185' " +
		"standby='Loading Microsoft Windows Media Player components...' id='mediaPlayer'>"+
		"<param name='fileName' value='" + video + "'>" +
		"<param name='animationatStart' value='true'>" +
		"<param name='transparentatStart' value='false'>" +
		"<param name='autoStart' value='false'>" +
		"<param name='showControls' value='true'>" +
		"<param name='loop' value='false'>" +
		"<EMBED type='application/x-mplayer2' " +
			"pluginspage='http://microsoft.com/windows/mediaplayer/en/download/' " +
			"id='mediaPlayer' name='mediaPlayer' displaysize='4' autosize='-1' " +
			"bgcolor='darkblue' showcontrols='true' showtracker='-1' " +
			"showdisplay='0' showstatusbar='-1' videoborder3d='-1' width='185' height='185' " +
			"src='" + video + "' " +
			"autostart='false' designtimesp='5311' loop='false'>" +
		"</EMBED>" +
	"</OBJECT>";
}

function register_employer( sessionId, profileId ) {

	// Update basic info
	var form = document.forms["basic_form"];

	// Validate input.
	if ( form.companyName.value.length == 0 ) {
		alert( "Missing field: Company Name" );
		form.companyName.focus();
		return false;
	}
    if ( !form.address.value) {
        alert( "Missing field: Address" );
        form.address.focus();
        return false;
    }
	if ( form.city.value.length == 0 ) {
		alert( "Missing field: City" );
		form.city.focus();
		return false;
	}
     if ( !form.postalCode.value) {
        alert( "Missing field: ZIP Code" );
        form.postalCode.focus();
        return false;
    }
     if ( !form.telephone.value) {
        alert( "Missing field: Telephone" );
        form.telephone.focus();
        return false;
    }

	var region = form.region.value;
	if ( form.countryCode.value == "US" ) region = form.state.value;
	if ( form.countryCode.value == "CA" ) region = form.province.value;
	var ajax = new Ajax();
	ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", null, [
		["type", "basic"],
		["sessionId", encodeURI( sessionId )],
		["profileId", encodeURI( profileId )],
		["companyName", encodeURI( form.companyName.value )], 
		["industry", encodeURI( form.industry.value )], 
		["website", encodeURI( form.website.value )], 
		["telephone", encodeURI( form.telephone.value )], 
		["cellphone", encodeURI( form.cellphone.value )],
		["fax", encodeURI( form.fax.value )], 
		["address", encodeURI( form.address.value )], 
		["city", encodeURI( form.city.value )], 
		["region", encodeURI( region )],
		["countryCode", encodeURI( form.countryCode.value )],
		["postalCode", encodeURI( form.postalCode.value )],
		["tempImageFile", encodeURI( tempImageFile )]
	]);

	// Update description
	if ( !init_desc ) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_individual/edit_profile.php", null, [
			["type", "update_description"],
			["sessionId", encodeURI( sessionId )],
			["profileId", encodeURI( profileId )],
			["description", encodeURI( document.getElementById( "profile_description" ).value )]
		] );
	}

	// Update video
	if ( tempVideoFile != "" ) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", null, [
			["type", "video"],
			["sessionId", encodeURI( sessionId )],
			["profileId", encodeURI( profileId )],
			["tempVideoFile", encodeURI( tempVideoFile )]
		]);
	}
	alert( "Congratulations, you are now a registered employer at AsianLife.com!" );
//    window.location = SYSTEM_URL + "/profile/profile_register/register_employer.php?id=" + profileId;
    window.location = SYSTEM_URL + "/profile/profile.html?id=" + profileId;
//	window.location = SYSTEM_URL + "/profile/profile_employer/purchase_credits.html";
}

var tempImageFile = tempVideoFile = "";
var puc = vuc = null;

//var oldFile = null;
function createPhotoUploadComponent( element ) {
	preLoadImages();
	puc = new dhtmlXVaultObject();
	puc.setServerHandlers( FILE_SERVER + "/UploadHandler.php", 
		SYSTEM_URL + "/lib/lib.proxy.php?NBTUS_Path="+encodeURIComponent(FILE_SERVER + '/GetInfoHandler.php'), 
		SYSTEM_URL + "/lib/lib.proxy.php?NBTUS_Path="+encodeURIComponent(FILE_SERVER + '/GetIdHandler.php')
	);
	puc.setSize(160,100);													// content size of file uploading
	puc.setMaxSize(1024*1024);											// maximum file size
	puc.setMaxNumber(1);													// Maximum number of files
	var FileType = new Array("gif","jpg","png");						// allowed extentions
	var container = document.getElementById( element );
	puc.setAfterUpload(													// after uploading handler for profile image
		function() { 
			container.src = puc.getLastUploadedTempURL(); 
			tempImageFile = puc.getLastUploadedTempFileName();
			document.getElementById( "remove_employer_image" ).style.display = "";
			document.getElementById( "upload_employer_image" ).style.display = "none";
		}
	);
	puc.setAfterClean(				 									// after cleaning handler
		function() { 
//			if ( oldFile ) container.src = oldFile; 
			tempImageFile = "";
		} 
	);
	puc.setImagePath( SYSTEM_URL + "/extension/dhtmlxVault/imgs/" );		// image path
	puc.setFileType(FileType);
	puc.create( "upload_employer_image", "UploadComponent", false );								// set Div object to put uploading form, set Variable name
}

function createVideoUploadComponent( element ) {
	preLoadImages();
	vuc = new dhtmlXVaultObject();
	vuc.setServerHandlers( FILE_SERVER + "/UploadHandler.php", 
		SYSTEM_URL + "/lib/lib.proxy.php?NBTUS_Path="+encodeURIComponent(FILE_SERVER + '/GetInfoHandler.php'), 
		SYSTEM_URL + "/lib/lib.proxy.php?NBTUS_Path="+encodeURIComponent(FILE_SERVER + '/GetIdHandler.php')
	);
	vuc.setSize(200,100);													// content size of file uploading
	vuc.setMaxSize(1024*1024*5);												// maximum file size
	vuc.setMaxNumber(1);													// Maximum number of files
	var FileType = new Array("avi","mpg","wmv");							// allowed extentions
	vuc.setAfterUpload(													// after uploading handler for profile image
		function() { 
			tempVideoFile = vuc.getLastUploadedTempFileName();
//			vuc.removeAllItems();
		}
	);
	vuc.setAfterClean(				 									// after cleaning handler
		function() { 
			tempVideoFile = "";
		} 
	);
	vuc.setImagePath( SYSTEM_URL + "/extension/dhtmlxVault/imgs/" );		// image path
	vuc.setFileType(FileType);
	vuc.create( "upload_employer_video", "UploadComponent",false );								// set Div object to put uploading form, set Variable name
}

function preLoadImages(){
	var imSrcAr = new Array("btn_add.gif","btn_clean.gif","btn_upload.gif","ico_file.png","ico_image.png","ico_sound.png","ico_video.png","ico_zip.png","pb_back.gif","pb_demoUload.gif","pb_empty.gif");
	var imAr = new Array(0);
	for(var i=0;i<imSrcAr.length;i++){
		imAr[imAr.length] = new Image();
		imAr[imAr.length-1].src = SYSTEM_URL + "/extension/dhtmlxVault/imgs/"+imSrcAr[i];
	}
} 


function renewJob( sessionId, profileId, jobId ) {
	if ( confirm( "Click OK to renew this expired job posting.  One job credit will be deducted from your account if applicable." )) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", callbackRefresh, [
			["type", "job_renew"], 
			["sessionId", encodeURI( sessionId )],
			["profileId", encodeURI( profileId )], 
			["jobId", encodeURI( jobId )] 
		] );
	}
}

function activateJob( sessionId, profileId, jobId ) {
	if ( confirm( "Click OK to activate this draft job posting.  One job credit will be deducted from your account if applicable." )) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", callbackRefresh, [
			["type", "job_activate"], 
			["sessionId", encodeURI( sessionId )],
			["profileId", encodeURI( profileId )], 
			["jobId", encodeURI( jobId )] 
		] );
	}
}

function removeResume( sessionId, profileId, recordId ) {
	if ( confirm( "Click OK to remove this resume from your save area." )) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", callbackRefresh, [
			["type", "remove_resume"], 
			["sessionId", encodeURI( sessionId )], 
			["profileId", encodeURI( profileId )], 
			["recordId", encodeURI( recordId )] 
		] ); 
	}
}

function saveResume( sessionId, memberId, resumeId ) {
	if ( confirm( "Click OK to save this resume to your save area." )) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", callbackRefresh, [
			["type", "save_resume"], 
			["sessionId", encodeURI( sessionId )], 
			["profileId", encodeURI( memberId )], 
			["resumeId", encodeURI( resumeId )] 
		] ); 
	}
}

function saveResumeAtEvent( sessionId, memberId, resumeId, emsId ) {
	if ( confirm( "Click OK to save this resume to your save area." )) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", callbackRefresh, [
			["type", "save_resume"], 
			["sessionId", encodeURI( sessionId )], 
			["profileId", encodeURI( memberId )], 
			["emsId", encodeURI( emsId )],
			["resumeId", encodeURI( resumeId )] 
		] ); 
	}
}

function addInterview( memberId, memberName, jobId ) {
	document.getElementById( "showName" ).innerHTML = memberName;
	document.make_interview_form.toMemberId.value = memberId;
	document.make_interview_form.title.value = "";
	document.make_interview_form.text.value = "";
	var jobElement = document.make_interview_form.jobId;
	if ( jobElement ) {
		if ( jobId ) {
			jobElement.value = jobId;
		} else {
			jobElement.selectedIndex = -1;
		}
	}
	make_interview_layer.ShowLayer();
}

function removeInterview( sessionId, profileId, interviewId ) {
	if ( confirm( "Click OK to permanently delete this interview.  If you do this, the candidate will no longer be able to view the interview details any longer." )) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", callbackRefresh, [
			["type", "remove_interview"], 
			["sessionId", encodeURI( sessionId )], 
			["profileId", encodeURI( profileId )], 
			["interviewId", encodeURI( interviewId )] 
		] ); 
	}
}

function deleteJob( sessionId, profileId, jobId ) {
	if ( confirm( "Click OK to permanently remove this job posting." )) {
		var ajax = new Ajax();
		ajax.post( SYSTEM_URL + "/profile/profile_employer/edit_employer_profile.php", callbackRefresh, [
			["type", "delete_job"], 
			["sessionId", encodeURI( sessionId )], 
			["profileId", encodeURI( profileId )], 
			["jobId", encodeURI( jobId )] 
		] );
	}
}

function callbackRefresh( msg ) {
	alert( msg );
	window.location.reload( true );
}

function noCredits() {
	if ( confirm( "You require additional job credits to process this action, click OK to proceed to the purchase page." )) {
		alert("todo");
	}
}

function saveResumeAgent( form ) {
	if ( form.inactive.checked == true ) {
		if ( confirm( "Click OK to deactivate your resume search agent." )) {
			form.submit();
		} 
		return;
	}
	if ( form.active.checked == true ) {

		// Check that at least one parameter is set or don't activate search agent.
		if ( form.countryCode.value == "" && form.region.value == "" && form.state.value == "" && form.province.value == "" && 
			form.city.value == "" && form.careerType.value == "0" && form.jobType.value == "0" && form.jobStatus.value == "0" &&
			form.maxBasePayAmount.value == "" && form.keywords.value == "" ) {

			var selected = false;
			var categories = form.elements["category[]"];
			for ( var i = 0; i < categories.length; i++ ) {
				if ( categories[i].value != "" ) selected = true; 
			}
			var languages = form.elements["language[]"];
			for ( var i = 0; i < categories.length; i++ ) {
				if ( languages[i].value != "" ) selected = true; 
			}
			if ( !selected ) {
				alert( "You must set at least one parameter to activate your resume search agent." );
				return false;
			}
		}
	}
	form.submit();
}
