//Genuine code by Corneliu Lucian 'Kor' RUSU corneliulucian[at]gmail[dot]com
var startCarousel;
var globalCarousel;
var D=[];//div picture objects
function setMoveProp(where){
	var backP;
	if(D.length<=4){backP=D.length}
	else{backP=where=='next'?4:D.length}
	if(globalCarousel){clearTimeout(globalCarousel);}
var obj=[];
var step=10;
var delay=20;
var img;
	for(var i=0;i<D.length;i++){
		if(D[i].poz<4||D[i].poz==backP){
		D[i].onclick=function(){null};
		D[i].stepW=calcSteps(D[i].W,D[i][where].W,step);
		D[i].stepH=calcSteps(D[i].H,D[i][where].H,step);
		D[i].stepX=calcSteps(D[i].X,D[i][where].X,step);
		D[i].stepY=calcSteps(D[i].Y,D[i][where].Y,step);
		D[i].poz==backP?D[i].getElementsByTagName('img')[0].style.visibility='visible':null;
		obj[obj.length]=D[i];
		
		}
	}
document.getElementById('dis_2').style.display='none';




moveCarousel(obj,where,delay,step,0)
}

function moveCarousel(obj,where,delay,step,q){
var i=0, o, img;

	while(o=obj[i++]){

	img=o.getElementsByTagName('img')[0];
	o.style.left=o.stepX[q]+'px';
	o.style.top=o.stepY[q]+'px';
	o.style.width=o.stepW[q]+'px';
	img.style.width=o.stepW[q]+'px';
	o.style.height=o.stepH[q]+'px';
	img.style.height=o.stepH[q]+'px';
	}
q++
if(q<11){
	globalCarousel=setTimeout(function(){moveCarousel(obj,where,delay,step,q)},delay)
	}
else{

var len=D.length, j;
	if(where=='next'){
		for(j=0;j<len;j++){
		newProperties(D[j],len,where,j+1);
		}
	}
	else{
		for(j=len-1;j>=0;j--){
		newProperties(D[j],len,where,j+1);
		}
	}
	var txtD=document.getElementById('distext').getElementsByTagName('div');
		for(var k=0;k<txtD.length;k++){
			if(txtD[k].id && txtD[k].id.match(/dis/)){
			txtD[k].setAttribute('id','dis_'+txtD[k].newPoz);
			}
		}
	
setNextPrev();
document.getElementById('dis_2').style.display='block';
}
}

function newProperties(d,len,where,j){
var w=where=='next'?-1:1;
var backP;
	if(D.length<=4){backP=null}
	else{backP=where=='next'?D.length:4}
var p;
img=d.getElementsByTagName('img')[0];
	d.W=parseInt(d.style.width);
	d.H=parseInt(d.style.height);
	d.X=parseInt(d.style.left);
	d.Y=parseInt(d.style.top);
	
	p=d.poz+w;
	
	if(p==0){p=len}
	if(p>len){p=1}
	document.getElementById('dis_'+d.poz).newPoz=p;
	d.poz=p;
	if(d.poz==1){d.onclick=function(){if(startCarousel){clearInterval(startCarousel);}setMoveProp('prev')}}
	else if(d.poz==3){d.onclick=function(){if(startCarousel){clearInterval(startCarousel);}setMoveProp('next')}}
	else{d.onclick=function(){null}}
	d.poz==backP?d.getElementsByTagName('img')[0].style.visibility='hidden':null;
	if(d.poz==2){d.style.zIndex=4}
	else if(d.poz==len-1){d.style.zIndex=5}
	else{d.style.zIndex=2}

}

function calcSteps(init,final,step){
var s=init;
var S=[];
var dif=parseInt((init-final)/step,10);
var modulo=(init-final)%step;
for(var i=0;i<step;i++){
s-=dif;
S[S.length]=s;
}
s-=modulo;
S[S.length]=s;
return S;
}

// builders

function putPictures(JSON){
var prop=[
[2,120,90,76,74,'visible',4], // [position,width,height,x,y,visibility,z-index]
[3,38,54,10,46,'visible',3],
[1,38,54,225,46,'visible',3],
[4,52,38,110,13,'hidden',3]
]
var parent=document.getElementById('disbox_mid_1');
var divs=parent.getElementsByTagName('div');
for(var k=divs.length-1;k>=0;k--){
divs[k].className=='c_pic'?divs[k].parentNode.removeChild(divs[k]):null;
}

D=null;
D=[];
var i=0;
var pic,att;
for(a in JSON){
if(prop.length==i){prop[prop.length]=[i+1,52,38,110,13,'hidden',5]}

D[i]=document.createElement('div');
D[i].className='c_pic';
D[i].att={'width':prop[i][1]+'px','height':prop[i][2]+'px','left':prop[i][3]+'px','top':prop[i][4]+'px','zIndex':prop[i][6]};
D[i].poz=prop[i][0];
D[i].vis=prop[i][5];
D[i].zindex=prop[i][6];
D[i].W=prop[i][1];D[i].H=prop[i][2];D[i].X=prop[i][3];D[i].Y=prop[i][4];
createAttribute(D[i],D[i].att,'css');
var pic=document.createElement('img');
pic.URL='http://www.beler.fr/pic/'+JSON[a][0]+'.jpg';
pic.attcss={'width':prop[i][1]+'px','height':prop[i][2]+'px','visibility':prop[i][5]};
pic.atthtml={'border':0,'src':pic.URL,'title':JSON[a][1]}
createAttribute(pic,pic.atthtml,'html');
createAttribute(pic,pic.attcss,'css');
D[i].appendChild(pic);

if(D[i].poz==1){D[i].onclick=function(){if(startCarousel){clearInterval(startCarousel);};setMoveProp('prev')}}
if(D[i].poz==3){D[i].onclick=function(){if(startCarousel){clearInterval(startCarousel);};setMoveProp('next')}}
parent.appendChild(D[i]);

i++;
}

//set the next and prev properties

}

function putText(JSON,lung){
var parent=document.getElementById('distext');
var divmain,div,lin,span;
while(parent.hasChildNodes()){
	parent.removeChild(parent.childNodes[0]);
	}
var i=0;
var cvlink;
var expY;
for(a in JSON){
divmain=document.createElement('div');
divmain.id='dis_'+(D[i].poz);
divmain.style.display=i==0?'block':'none';
	div=document.createElement('div');
	div.className='distitle';
		span=document.createElement('span');
		span.className='disalias';
		span.appendChild(document.createTextNode(JSON[a][1]));
	div.appendChild(span);
	div.appendChild(document.createElement('br'));
		span=document.createElement('span');
		expY=JSON[a][3]=='1'?' year':' years';
		span.appendChild(document.createTextNode(JSON[a][2]+', '+JSON[a][3]+expY+' of experience'));
	div.appendChild(span);
	div.appendChild(document.createElement('br'));
		lin=document.createElement('a');
		if(JSON[a][11]!=''){
		lin.href='http://www.beler.fr/pdf_en/'+JSON[a][11];// the CV
		lin.setAttribute('target','_blank');
		}
		else{
		lin.href='#';
		lin.onclick=function(){alert('The CV is not available');return false}
		}
		lin.appendChild(document.createTextNode('full CV (pdf)'));
	div.appendChild(lin);
divmain.appendChild(div);
	div=document.createElement('div');
	div.className='discontent';
		span=document.createElement('span');
		span.className='bold blue2';
		span.appendChild(document.createTextNode('Specialist: '));
	div.appendChild(span);
	div.appendChild(document.createTextNode(JSON[a][4]))
	div.appendChild(document.createElement('br'));
		span=document.createElement('span');
		span.className='bold blue2';
		span.appendChild(document.createTextNode('Knowledge: '));
	div.appendChild(span);
	div.appendChild(document.createTextNode(JSON[a][5]))
	div.appendChild(document.createElement('br'));
	span=document.createElement('span');
		span.className='bold blue2';
		span.appendChild(document.createTextNode('French: '));
	div.appendChild(span);
	div.appendChild(document.createTextNode(JSON[a][6]))
	div.appendChild(document.createElement('br'));
	span=document.createElement('span');
		span.className='bold blue2';
		span.appendChild(document.createTextNode('English: '));
	div.appendChild(span);
	div.appendChild(document.createTextNode(JSON[a][7]))
	div.appendChild(document.createElement('br'));
	if(JSON[a][9].length>0){
	span=document.createElement('span');
		span.className='bold blue2';
		span.appendChild(document.createTextNode('Microsoft certifications: '));
	div.appendChild(span);
	JSON[a][9].length>0?JSON[a][9]='('+JSON[a][9]+')':null;
	JSON[a][10].length>0?JSON[a][10]=' - '+JSON[a][10]:null;
	div.appendChild(document.createTextNode(JSON[a][8]+' '+JSON[a][9]+' '+JSON[a][10]))
	}
	div.appendChild(document.createElement('br'));
		
	

divmain.appendChild(div);
divmain.onmouseover=function(){if(startCarousel){clearInterval(startCarousel)}}
divmain.onmouseout=function(){startCarousel=setInterval(function(){setMoveProp('next')},4000);}
parent.appendChild(divmain);
i++;
}
if(i>1){
setNextPrev();
startCarousel=setInterval(function(){setMoveProp('next')},4000);
}
// hides the loading gif and shows the howmany text
var ldg=document.getElementById('loadingGif');
ldg.style.display='none';
var hm=document.getElementById('howmany');
var txtHM='';
switch(lung){
	case 0:
		txtHM='No one is available according to the search criteria';
	break;
	case 1:
		txtHM='A single person is available according to the search criteria';
	break;
	default :
		txtHM=lung+' persons are available according to the search criteria';
}
hm.innerHTML=txtHM;
hm.style.display='block';
}

//finds the next and previous divs upon the "display position" - D[i].poz
//returns D[i].next and D[i].prev
function setNextPrev(){
var poz;
var next;
var prev;
if(D.length==2){
D[0].next=D[1];
D[0].prev=D[1];
D[1].next=D[0];
D[1].prev=D[0];
}
else{

for(var i=0;i<D.length;i++){
poz=D[i].poz;
next=poz-1==0?D.length:poz-1;
prev=poz+1>D.length?1:poz+1;
	for(var j=0;j<D.length;j++){
		if(D[j].poz==next){
		D[i].next=D[j];
		}
		if(D[j].poz==prev){
		D[i].prev=D[j];
		}
	}

}

}
}
