var badges=[];
var matches={};
var global_models={};
var main_limit=2;
function getMatches(adv_code,cv_type,offset,limit){
if(cv_type==null) cv_type="";
else cv_type="&cv_type="+cv_type;
if(!offset) offset=0;
if(!limit) limit=0;
var create_deferred = $.Deferred();
$.ajax({
url: remoteAPIurl+'/api/v1/ad/'+adv_code+'/match?offset='+offset+'&limit='+limit+'&api_token='+token+cv_type,
crossDomain: true,
type: "get",
dataType: 'json',
success: function(result, statusText, resObject){
create_deferred.resolve(result);
},
error: function() { console.log('error'); }
});
return create_deferred;
}
function getCurriculumValues(user_code){
var create_deferred = $.Deferred();
$.ajax({
url: remoteAPIurl+'/api/v1/profile/'+user_code+'?api_token='+token,
crossDomain: true,
type: "get",
dataType: 'json',
success: function(result, statusText, resObject){
create_deferred.resolve(result.data);
}
});
return create_deferred;
}
function getAdvModel(){
var create_deferred = $.Deferred();
$.ajax({
url: remoteAPIurl+'/api/v1/ad/model?api_token='+token,
crossDomain: true,
type: "get",
dataType: 'json',
success: function(result, statusText, resObject){
create_deferred.resolve(result);
},
error: function() { console.log('error'); }
});
return create_deferred;
}
function translateStatus(status){
if(status==0) return "In bozza";
else if(status==1) return "Inviato";
else if(status==2) return "Validato";
}
function translateType(type){
if(type==0) return "Smart";
else if(type==1) return "Exclusive";
else if(type==2) return "Last Minute";
}
function displayMatches(adv){
var user_code=0;
adv=adv.advertising[0];
var profession=adv.profession;
profession_id=profession.id;
var adv_code=adv.slug;
getShortlist(adv_code).done(function(result){
var elem=$('hirebox').find(".adv_button").first();
elem.text("Vedi shortlist ("+result.data.length+")");
elem.attr("totElements",result.data.length);
elem.click(function(){
if(parseInt($(this).attr('totElements'))>0) location.href="/advertisings/shortlist.php?acd="+adv_code;
else alert("Devi aggiungere almeno un candidato alla shortlist.");
});
});
//console.log("before");
displayMatchSubRoutine(adv_code,profession_id,2,0,main_limit);
//console.log("after");
}
function getAutoJoinedList(adv_code,offset,limit){
var create_deferred = $.Deferred();
if(!offset) offset=0;
if(!limit) limit=0;
$.ajax({
url: remoteAPIurl+'/api/v1/ad/'+adv_code+'/profiles/auto?offset='+offset+'&limit='+limit+'&api_token='+token,
crossDomain: true,
type: "get",
dataType: 'json',
success: function(result, statusText, resObject){
create_deferred.resolve(result);
},
error: function() { console.log('error'); }
});
return create_deferred;
}
function displayAutoJoined(ad_code,offset,limit,display_button_bar){
if($('.adv_button_filter_3').hasClass("disabled")) return false;
$('matchlist').html("");
$('.adv_button_clicked').removeClass("adv_button_clicked");
$('.adv_button_filter_3').addClass("adv_button_clicked");
if(!offset) offset=0;
if(!limit) limit=0;
if(!display_button_bar) display_button_bar=1;
getAutoJoinedList(ad_code,offset,limit).done(function(result){
var tot_matches=result.data.length;
var tot=1;
$.each(result.data,function(key,cv){
user_code=cv.user.slug;
matches[user_code]=tot;
tot++;
});
$.each(result.data,function(key,cv){
user_code=cv.user.slug;
var in_shortlist=cv.in_shortlist;
var auto_join=cv.auto_join;
getCurriculumValues(user_code).done(function(cv_result){
displayCurriculum(cv_result,profession_id,in_shortlist,auto_join);
});
});
var functionName="displayAutoJoined";
var functionParams=[ad_code];
//console.log("----->"+result.tot_unpaging_record);
//scrollToElement('.panel.panel-result',$('.header-section').height(),400);
//toggleDefaultLoader();
if(tot==1){
$('.paging_bar').html("");
$('matchlist').html("
Nessun auto candidato trovato
");
}else{
if(display_button_bar==1) displayPagingBar(result.tot_unpaging_record,functionName,functionParams);
}
//$(".single-result-adv-"+adv_code+"-workers").show();
});
}
function displayMatchSubRoutine(adv_code,profession_id,type,offset,limit,display_button_bar){
if($('.adv_button_filter_'+type).hasClass("disabled")) return false;
$('matchlist').html("");
$('.adv_button_clicked').removeClass("adv_button_clicked");
$('.adv_button_filter_'+type).addClass("adv_button_clicked");
//console.log(offset);
//console.log(limit);
if(!offset) offset=0;
if(!limit) limit=0;
if(!display_button_bar) display_button_bar=1;
if(type==2) type_string="certificato";
else if(type==1) type_string="verificato";
else if(type==0) type_string="basic";
getMatches(adv_code,type,offset,limit).done(function(result){
var tot_matches=result.data.length;
var tot=1;
$.each(result.data,function(key,cv){
user_code=cv.user_code;
matches[user_code]=tot;
tot++;
});
$.each(result.data,function(key,cv){
user_code=cv.user_code;
var in_shortlist=cv.in_shortlist;
var auto_join=cv.auto_join;
var matching_percent=cv.matching_percent;
(function(user_code, in_shortlist, auto_join, matching_percent){
$('hirebox .adv_button').addClass("disabled");
getCurriculumValues(user_code).done(function(cv_result){
displayCurriculum(cv_result,profession_id,in_shortlist,auto_join,matching_percent);
$('hirebox .adv_button').removeClass("disabled");
});
})(user_code, in_shortlist, auto_join, matching_percent);
});
var functionName="displayMatchSubRoutine";
var functionParams=[adv_code,profession_id,type];
//console.log("----->"+result.tot_unpaging_record);
//scrollToElement('.panel.panel-result',$('.header-section').height(),400);
//toggleDefaultLoader();
if(tot==1){
$('.paging_bar').html("");
$('matchlist').html("Nessun candidato di tipo '"+type_string+"' trovato
");
}else{
/*console.log("before");
console.log(functionParams);
console.log("after");*/
if(display_button_bar==1) displayPagingBar(result.tot_unpaging_record,functionName,functionParams);
}
});
}
function getShortlist(adv_code){
var create_deferred = $.Deferred();
$.ajax({
url: remoteAPIurl+'/api/v1/ad/'+adv_code+'/profiles?api_token='+token,
crossDomain: true,
type: "get",
dataType: 'json',
success: function(result, statusText, resObject){
//console.log(result);
create_deferred.resolve(result);
},
error: function() { console.log('error'); }
});
return create_deferred;
}
function addToShortlist(adv_code,user_code){
var adData={
"aid": adv_code
};
$.ajax({
url: remoteAPIurl+'/api/v1/profile/'+user_code+'/join?api_token='+token,
crossDomain: true,
type: "post",
data: adData,
dataType: 'json',
success: function(result, statusText, resObject){
$('.single-result-'+user_code).toggleClass("user-in-shortlist");
cv_title="Aggiunto alla shortlist";
var add_shortlist=""+cv_title+"
";
//$('.single-result-'+user_code).find('.add_cv_button').after(add_shortlist);
var button=$('.single-result-'+user_code).find('.options_cv_button');
button.attr("onclick",button.attr("onclick").replace("0)","1)"));
getShortlist(adv_code).done(function(result){
var elem = $('hirebox').find(".adv_button").first();
elem.text("Vedi shortlist ("+result.data.length+")");
elem.attr("totElements",result.data.length);
});
},
error: function() { console.log('error'); }
});
}
function displayCurriculum(cv_result,profession_id,in_shortlist,auto_join,matching_percent){
elem=cv_result.cdata;
var account_type=elem.curriculum['7w4h33fgh2ldw50f710qaibe0tsp1g48c8qgc5xt7j64p6kw8lnj3yy3rqts6x1i'];
if(account_type=="0") account_type="basic";
else if(account_type=="1") account_type="verified";
else if(account_type=="2") account_type="certified";
var name=elem.curriculum['e2ef524fbf3d9fe611d5a8e90fefdc9c63923f49e5241343aa7acb6a06a751e7'];
var surname=elem.curriculum['ac627ab1ccbdb62ec96e702f07f6425b20f07591c6fcb220ffe637cda29bb3f6'];
var description=elem.curriculum['i2x9xhqvuotzb7cg193kzwc8hk1r9udrwa1tsrpmgjlsqy9r8dc79pfq9hhicva8'];
if(description=="" || description==undefined) description="Descrizione assente ";
var avatar="../images/noUser.png";
//console.log(cv_result.files);
var avatar_code="men45avyx2guvwrnja8zhj3bjn2x2asopftupptnr9in69apjip02tblgejipb6e";
if( typeof(cv_result.files) !== "undefined"){
if(cv_result.files.hasOwnProperty(avatar_code)){
avatar=cv_result.files[avatar_code];
}
}
var code = elem.user_code;
var user_in_shortlist="";
var cv_title="Candidato";
//console.log("in_shortlist="+in_shortlist);
var add_shortlist="";
if(in_shortlist==1){
user_in_shortlist="user-in-shortlist";
cv_title="Presente nella shortlist";
add_shortlist=""+cv_title+"
";
}
var auto_join_text="";
if(auto_join==1){
auto_join_text="Auto candidato
";
}
//console.log(""+name+" - "+code+"
");
var result_block="";
result_block+="";
result_block+="
";
result_block+="
";
result_block+="
";
result_block+="
Referenze lavorative
";
result_block+="
";
result_block+="
";
result_block+="
";
$("matchlist").append(result_block);
displayBadges(elem);
displayCCNL(elem,profession_id,code);
displayWorkStatus(elem,profession_id,code);
//referenze
displayReferences(elem,profession_id,code);
//console.log(matches[code]);
var order=parseInt(matches[code]);
$(".single-result-"+code).css("order",order);
$(".single-result-"+code).css("-webkit-order",order);
}
function displayCCNL(data, profession_id, user_code){
var div_master=$(".single-result-"+user_code+" .result-ccnl-lvl");
/* console.log(profession_id);
console.log(user_code);
console.log(data);
console.log(data.curriculum["37a749d808e46495a8da1e5352d03caefe73f687e5bc5280214e0486b273a5f9P47P"+profession_id]);
console.log("");*/
var ccnl=parseInt(data.curriculum["37a749d808e46495a8da1e5352d03caefe73f687e5bc5280214e0486b273a5f9P"+
profession_id]);
var ccnl_string="";
if(ccnl==0){
ccnl_string="A";
}else if(ccnl==1){
ccnl_string="Asuper";
}else if(ccnl==2){
ccnl_string="B";
}else if(ccnl==3){
ccnl_string="Bsuper";
}else if(ccnl==4){
ccnl_string="C";
}else if(ccnl==5){
ccnl_string="Csuper";
}else if(ccnl==6){
ccnl_string="D";
}else if(ccnl==7){
ccnl_string="Dsuper";
}else{
ccnl_string="Da impostare";
}
div_master.html("Livello CCNL: "+ccnl_string);
}
function displayWorkStatus(data, profession_id, user_code){
var div_master=$(".single-result-"+user_code+" .result-work-state");
/* console.log(profession_id);
console.log(user_code);
console.log(data);
console.log(data.curriculum["37a749d808e46495a8da1e5352d03caefe73f687e5bc5280214e0486b273a5f9P47P"+profession_id]);
console.log("");*/
var work_state=parseInt(data.curriculum["2dx351dw1gl6clo8z186v936d5hlyw90974f8hbayxgai5ji6sp21t8fyp0xmaxw"]);
var work_state_string="";
if(work_state==0){
work_state_string="Disoccupato";
}else if(work_state==1){
work_state_string="Semi-occupato";
}else if(work_state==2){
work_state_string="Occupato";
}else{
work_state_string="Da impostare";
}
div_master.html("Stato occupazionale: "+work_state_string);
}
function displayMenuDialog(code,ad_code,in_shortlist){
var content="";
alert("Scegli un opzione tra quelle disponibili:
"+content);
}
function selectCv(elem){
$(elem).toggleClass("cv-selected");
tot_selected=$('.cv-selected').length;
var current_text=$('.expand-title').text();
if(tot_selected==1) $('.results-end-word').html("candidato");
else $('.results-end-word').html("candidati");
$('.results-count').html(tot_selected);
}
function displayReferences(data, profession_id, user_code){
var div_master=$(".single-result-"+user_code+" .result-references");
var model=global_models[154];
var mainFilter="";
//var counter_master=0;
for(var i=0;i<3;i++){ //per iterare sulla i-esima esperienza(composta da base + conferma)
div_master.append("
");
var tot_inputs=0;
$.each(model.groups, function(id2,group){ //per iterare sulla base e conferma
//console.log(mainFilter);
if(group.master_id==null) div_master.find(".reference_"+i).append(""+group.title+" "+(i+1)+"
");
$.each(group.inputs, function(id3,input){
//console.log(input.code);
var input_values=[];
if(input.values!="" && typeof(input.values)!="undefined") input_values=input.values.split("#@#");
//console.log(input_code);
//console.log(input_values);
var input_labels=[""];
if(input.labels!="" && typeof(input.labels)!="undefined") input_labels=input.labels.split("#@#");
var input_texts=[];
if(input.texts!="" && typeof(input.texts)!="undefined") input_texts=input.texts.split("#@#");
var input_placeholder=input.placeholder;
input_type=input.type;
if(input.code=="t81p00pqr0gm4f5klnnpw9py2dramhdfpf5qguh7vxuzc0kyn7ojgeijs9ueq7ug" || input.code=="bd4c9ab730f5513206b999ec0d90d1fb04025959b191f8f9de3f924f0940515f"){
//primo campo di conferma referenza
div_master.find(".reference_"+i).append("-----------------------------------------------------------------------
");
}
var curriculum_value="";
if(typeof(data.curriculum[input.code+"P"+profession_id+"E"+i])!="undefined" && data.curriculum[input.code+"P"+profession_id+"E"+i]!=""){
curriculum_value=data.curriculum[input.code+"P"+profession_id+"E"+i];
//console.log("curriculum_value=");
//console.log(curriculum_value);
if(input_type==19) curriculum_value=input_texts[curriculum_value];
tot_inputs++;
}else{
curriculum_value="";
}
var input_text="";
if(input_type==2 || input_type==4 || input_type==11 || input_type==13){
input_text=""+input_labels[0]+" "+
""+curriculum_value+"
";
}else if(input_type==19){
input_text=""+input_labels[0]+" "+
""+curriculum_value+"
";
}
div_master.find(".reference_"+i).append(""+input_text+"
");
});
});
if(tot_inputs==0) div_master.find('.reference_'+i).hide();
}
}
function displayBadges(data){
var user_code = data.user_code;
var curriculum_badges={};
var curriculum_badges_details={};
var main_filter='.single-result-'+user_code+' .result-badges';
var tot_badges=0;
//console.log("badges");
//console.log(badges);
for(i=156;i<173;i++){
badge=badges[i];
badge_name=badge.name;
badge_image=badge.image;
badge_tot_basic=badge.tot_basic;
badge_fields=badge.fields;
$.each(badge_fields,function(id,field){
if(typeof(curriculum_badges[i])=="undefined") curriculum_badges[i]=0;
if(typeof(data.curriculum[field.code])!=="undefined" && data.curriculum[field.code]=="1"){
if(typeof(curriculum_badges_details[i])=="undefined") curriculum_badges_details[i]={};
if(typeof(curriculum_badges_details[i].badgeImage)=="undefined") curriculum_badges_details[i].badgeImage=badge_image;
if(typeof(curriculum_badges_details[i].fields)=="undefined") curriculum_badges_details[i].fields=[];
//console.log(field.code+"--->"+field.badgeType);
if(field.badgeType=="0") curriculum_badges[i]++;
else if(field.badgeType=="1") curriculum_badges_details[i].fields.push({code:field.code,badgeType:field.badgeType,name:field.name});
}
});
//console.log("model i="+i+"--->");
//console.log(curriculum_badges);
//console.log(curriculum_badges[i]+"?=?"+badge_fields.length);
//controllo se il numero di skill flaggate a true di tipo basic è uguale al massimo, solo in questo caso accendo il badge
if(curriculum_badges[i]==badge_tot_basic){
displayBadge(user_code,badge);
tot_badges++;
}
}
if(tot_badges>0) $(main_filter).before("Lista badge
");
else $('.single-result-'+user_code).find(".toggle_profile").hide();
//console.log(curriculum_badges_details);
//$(main_filter).append('Mostra di più ');
$('.single-result-'+user_code).find(".toggle_profile").click(function(){
$(this).toggleClass("toggled");
var find_top=$(this).find(".glyphicon-triangle-top").length;
if(find_top==0){
$(this).find(".glyphicon").addClass("glyphicon-triangle-top");
$(this).find(".glyphicon").removeClass("glyphicon-triangle-bottom");
}else{
$(this).find(".glyphicon").removeClass("glyphicon-triangle-top");
$(this).find(".glyphicon").addClass("glyphicon-triangle-bottom");
}
//console.log(".toggle_profile");
if($(main_filter).parent().find('.result-block-title-hidden').is(":visible")){
$(main_filter).parent().find('.result-block-title-hidden').hide();
}else{
$(main_filter).parent().find('.result-block-title-hidden').fadeIn();
$(main_filter).parent().find('.result-block-title-hidden').css("display","flex");
}
if($(main_filter).parent().find('.result-badges-details').is(":visible")){
$(main_filter).parent().find('.result-badges-details').hide();
}else{
$(main_filter).parent().find('.result-badges-details').fadeIn();
$(main_filter).parent().find('.result-block-title-hidden').css("display","flex");
}
if($(main_filter).parent().find('.result-references').is(":visible")){
$(main_filter).parent().find('.result-references').hide();
}else{
$(main_filter).parent().find('.result-references').fadeIn();
$(main_filter).parent().find('.result-block-title-hidden').css("display","flex");
}
});
displayBadgePlus(user_code,curriculum_badges_details);
}
function displayBadgePlus(user_code,plus){
var tot_badge_plus=0;
$.each(plus,function(id,badge){
if(badge.fields.length==0) return true;
tot_badge_plus++;
$('.single-result-'+user_code+' .result-badges-details').append('
');
badge_image=badge.badgeImage;
if(typeof(badge_image)=="undefined" || badge_image=="") badge_image="badge/badge_icon.png";
$('.single-result-'+user_code+' .single-badge-details-'+id).append(" ");
$.each(badge.fields,function(id2,skill_plus){
$('.single-result-'+user_code+' .single-badge-details-'+id).append(""+skill_plus.name+"
");
});
});
if(tot_badge_plus>0) $('.single-result-'+user_code+' .result-badges-details').before("Lista skill plus
");
else $('.single-result-'+user_code+' .result-badges-details').hide();
}
function displayBadge(user_code,badge){
badge_name=badge.name;
badge_image=badge.image;
if(typeof(badge_image)=="undefined" || badge_image=="") badge_image="badge/badge_icon.png";
$('.single-result-'+user_code+' .result-badges').append("");
}
function getAllModels(){
var create_deferred = $.Deferred();
$.ajax({
url: remoteAPIurl+'/api/v1/model?api_token='+token,
crossDomain: true,
type: "get",
dataType: 'json',
success: function(result, statusText, resObject){
var models=[];
$.each(result.data,function(id,elem){
models[parseInt(elem.id)]=elem;
});
//console.log(models);
create_deferred.resolve(models);
},
error: function() { console.log('error'); }
});
return create_deferred;
}
$(function(){
getAdvModel().done(function(model_result){
getAllModels().done(function(models){
global_models=models;
for(var key in models) {
model=models[key];
//console.log(model);
var tot_basic=0;
badges[key]={};
$.each(model.groups, function(id2,group) {
if(group.master_id==null) $('.sub_block_title_'+key).html(group.title+" ");
$.each(group.inputs, function(id3,input){
if(input.type!="9") return true;
displayInput(".fields > .competences > .sub_block_content_"+key, input,".fields > .competences > .sub_block_content_"+key+" > .input#"+input.id);
if(typeof(badges[key])=="undefined") badges[key]={};
badges[key].name=""+model.name;
temp_groups=model.groups;
badges[key].image=""+temp_groups[Object.keys(temp_groups)[0]].image;
if(input.badgeType=="0") tot_basic++;
if(typeof(badges[key].fields)=="undefined") badges[key].fields=[];
badges[key].fields.push({code:input.code,badgeType:input.badgeType,name:input.labels});
});
});
badges[key].tot_basic=tot_basic;
}
var adv_model={};
var adv_data={};
var code=model_result.code;
if(code=="200"){
adv_model=model_result.data;
getAdv(ad_code).done(function(result){
adv_data=result.data;
displayADV(adv_model, adv_data);
$('advheader').click(function(){
$(this).parent().toggleClass("container-main");
$(this).fadeOut();
});
displayMatches(adv_data);
});
}
});
});
//getAllModels().done(function(models){
//global_models=models;
/*for(var key in models) {
model=models[key];
//console.log(model);
var tot_basic=0;
badges[key]={};
$.each(model.groups, function(id2,group) {
if(group.master_id==null) $('.sub_block_title_'+key).html(group.title+" ");
$.each(group.inputs, function(id3,input){
if(input.type!="9") return true;
displayInput(".fields > .competences > .sub_block_content_"+key, input,".fields > .competences > .sub_block_content_"+key+" > .input#"+input.id);
if(typeof(badges[key])=="undefined") badges[key]={};
badges[key].name=""+model.name;
temp_groups=model.groups;
badges[key].image=""+temp_groups[Object.keys(temp_groups)[0]].image;
if(input.badgeType=="0") tot_basic++;
if(typeof(badges[key].fields)=="undefined") badges[key].fields=[];
badges[key].fields.push({code:input.code,badgeType:input.badgeType,name:input.labels});
});
});
badges[key].tot_basic=tot_basic;
}*/
//
//});
});
function displayInput(parent,input,where){
var input_type=input.type;
var input_id=input.id;
var input_code=input.code;
if(input_type==2 || input_type==4 || input_type==11 || input_type==13 || input_type==0 || input_type==9 || input_type==20 || input_type==19){
$(parent).append("
");
var where=$(where);
}else{
return;
}
var input_values=[];
if(input.values!="" && typeof(input.values)!="undefined") input_values=input.values.split("#@#");
//console.log(input_code);
//console.log(input_values);
var input_labels=[""];
if(input.labels!="" && typeof(input.labels)!="undefined") input_labels=input.labels.split("#@#");
var input_texts=[];
if(input.texts!="" && typeof(input.texts)!="undefined") input_texts=input.texts.split("#@#");
var input_placeholder=input.placeholder;
if(input_type==2 || input_type==4 || input_type==11 || input_type==13){
if(input_type==2) sub_type="date";
else if(input_type==4) sub_type="email";
else if(input_type==11) sub_type="tel";
else if(input_type==13) sub_type="text";
where.append(""+input_labels[0]+" "+
"
"+
"");
}else if(input_type==0 || input_type==9 || input_type==20){
if(input_type==0 || input_type==20) sub_type="radio"; //prima era checkbox
else sub_type="radio";
var input_text="";
input_text+=""+input_labels[0]+" ";
input_text+="";
var counter=0;
var input_name="inputs["+input_id+"]";
//console.log("------ "+input_code+" -------");
$.each(input_values,function(id,elem){
//if(input_type==0 || input_type==20) input_name="inputs["+input_id+"]["+counter+"]";
//console.log(input_values[counter]);
input_text+="
";
counter++;
});
input_text+="
";
where.append(input_text);
}else if(input_type==19){
var input_text="";
input_text+=""+input_labels[0]+" ";
input_text+="";
input_text+="";
input_text+=""+input_placeholder+" ";
var counter=0;
$.each(input_values,function(id,elem){
input_text+=""+input_texts[counter]+" ";
counter++;
});
input_text+="
";
where.append(input_text);
}
}