
						var myCv = { 
							config : {
								initialized : false			
							}
							,init : function(b) {		
								myCv.employeeId 			= 0;
								myCv.loginBoxTrigger 		= jQuery("#loginTrigger");
								myCv.headerWorkexperience 	= jQuery("#workExperienceHeader");
								myCv.workexperience 		= jQuery("#workExperience");
								myCv.headerPublications 	= jQuery("#publicationsHeader");
								myCv.publication 			= jQuery("#publication");
								myCv.headerCompetence 		= jQuery("#competenceHeader");
								myCv.competence 			= jQuery("#competence");
								myCv.url80					= "";
								myCv.url443					= "";
								myCv.headerResearchInProgress	= jQuery("#researchInProgressHeader");
								myCv.researchInProgress 				= jQuery("#researchInProgress");
								
								myCv.headerCompetenceAreas	= jQuery("#competenceAreasHeader");
								myCv.competenceAreas		= jQuery("#competenceAreas");
								
								myCv.headerLinks 			= jQuery("#linksHeader");
								myCv.headerFreeText 		= jQuery("#freeTextHeader");
								myCv.freeTextHeaderContent	= jQuery("#freeTextHeaderContent");		
								myCv.freeText 				= jQuery("#freeText");
								myCv.headerPicture 			= jQuery("#thePicture");		
								myCv.headerMainInfo 		= jQuery("#headerMainInfo");
								myCv.links 					= new Array();
								myCv.lang					= "";
								myCv.theTextContent			= "";
								myCv.theTableLinks 			= "";
								myCv.editLinksposToEdit		= -1;
								myCv.aCompetensAreas		= "";
								myCv.theTableCompeteceAreas = "";
								myCv.sAreasTableHeaderCol1 	= "";
								myCv.sAreasTableHeaderCol2 	= "";
								myCv.sDeleteLabel	 		= "";
								myCv.myEmployees	 		= "";
								myCv.urlToNO				= "";
								myCv.urlToEN				= "";
								myCv.urlToOldCv				= "http://www5.uis.no/kompetansekatalog/editpersonalia.aspx?sprak=BOKMAL&id=";
								myCv.urlToOldCvLable		= "";
								myCv.urlToEditButton		= "";
								myCv.urlToEditBigButton		= "";
								myCv.lableLinks				= "";
								myCv.lableCompetences		= "";
								myCv.lableClose				= "";		
								myCv.aTempCompetenceAreas 	= new Array();
								myCv.theCompetenceAreas		= new Array();
								myCv.connectFunctionalities();
								myCv.bindEditBox();	
							}
							,bindEditBox : function() {		
								jQuery(".editBoxLogin").fancybox({			
									'frameWidth'			: 550				
									,'frameHeight'			: 275
									,'zoomSpeedIn'			: 300
									,'zoomSpeedOut'			: 300
									,'padding'				: false
									,'hideOnContentClick'	: false 
									,'callbackOnShow' 	: function() {									
										myCv.enableTooltip();				
										jQuery("#fancy_frame").attr("SCROLLING","NO");
										myCv.fixTheBoxLogin();
									}
								});
								
								
								jQuery(".editBox").fancybox({			
									'frameWidth'			: 550				
									,'frameHeight'			: 600
									,'zoomSpeedIn'			: 300
									,'zoomSpeedOut'			: 300
									,'padding'				: false
									,'hideOnContentClick'	: false 
									,'callbackOnShow' 	: function() {					
										jQuery("#fancy_close").hide();
										jQuery("#fancy_left").hide();
										jQuery("#fancy_right").hide();		
										myCv.connectFunctionalities();
										myCv.fixTheBox(550,600);
										myCv.enableTooltip();		
									}
								});
								jQuery(".editBoxSmall").fancybox({					
									'frameWidth'			: 550				
									,'frameHeight'			: 275
									,'zoomSpeedIn'			: 400
									,'zoomSpeedOut'			: 400
									,'padding'				: false
									,'hideOnContentClick'	: false 
									,'callbackOnShow' 	: function() {											
										jQuery("#fancy_close").hide();
										jQuery("#fancy_left").hide();
										jQuery("#fancy_right").hide();	
										//jQuery('#employee_username').focus();
										myCv.connectFunctionalities();
										myCv.fixTheBox(550,275);
										myCv.enableTooltip();		
									}
								});
								jQuery(".editBoxMedium").fancybox({					
									'frameWidth'			: 550				
									,'frameHeight'			: 400
									,'zoomSpeedIn'			: 400
									,'zoomSpeedOut'			: 400
									,'padding'				: false
									,'hideOnContentClick'	: false 
									,'callbackOnShow' 	: function() {
										jQuery("#fancy_close").hide();
										jQuery("#fancy_left").hide();
										jQuery("#fancy_right").hide();					
										myCv.connectFunctionalities();
										myCv.fixTheBox(550,400);
										myCv.enableTooltip();				
									}
								});
								
								
							}	
							,connectFunctionalities : function(){		
								jQuery("#closeFancyBox").click(function(){ myCv.closeEditWindow(); });
								jQuery("#closeFancyBox2").click(function(){ myCv.closeEditWindow(); });	
								myCv.loginTrigger 	= jQuery("#employee_loginTrigger");
								myCv.logoutTrigger 	= jQuery("#logoutTrigger");		
								myCv.loginTrigger.click(myCv.actionLogin);		
								myCv.logoutTrigger.click(myCv.actionLogout);			
							}
							,enableTooltip : function(){
								//TODO: this method creates a bug for some input fields (buttons etc)  
								// select all desired input fields and attach tooltips to them
							
								//jQuery("input").tooltip();
							}
							,loginFormInit : function(){		
								jQuery("input").bind("keypress", function(e) {
									 var code = (e.keyCode ? e.keyCode : e.which);
									 if(code == 13) { //Enter keycode
										 myCv.loginTrigger.trigger("click");
									 }
								});	
							}
							,connectEditButtons : function (){		
								var linkNO 	= jQuery("<a></a>")
												.append('<img title="" id="theFlagNO" alt="" src="/images/no_NO_flag.gif"/>')
												.attr("href",myCv.urlToNO + myCv.employeeId + "&_"+randomString())
												;					
								
								var linkEN 	= jQuery("<a></a>")
												.append('<img title="" id="theFlagEN" alt="" src="/images/en_US_flag.gif"/>')
												.attr("href",myCv.urlToEN + myCv.employeeId + "&_"+randomString());
												;
								if ( myCv.lang == "no_NO" ){
									linkNO.attr("href","javascript:void(1);");
									jQuery("#theFlagNO").hide("slow");
								}
								
								if (jQuery(".linksContent").length == 0) {
									// the user doesn t have any link so the link box is not in the gui
									var tmp = "<td>"+myCv.lableLinks+"</td>";
									jQuery("#linksHeader").addClass("heading")
											.append(tmp)
											;
								}			
								
								if (jQuery(".competenceContent").length == 0){
									// the user doesn t have any Competence Area so the link box is not in the gui
									var tmp = "<td>"+myCv.lableCompetences+"</td>";
									jQuery("#competenceAreasHeader").addClass("heading")
											.append(tmp)
											;
								}
								
								
								var langFlags = jQuery("<span></span>")
												.attr("id","langNavigation")						
												.append(" ")
												.append(linkNO)
												.append(" ")
												.append(linkEN);
								
								
								
								myCv.headerMainInfo.append(langFlags);
								if ( myCv.lang == "no_NO" ){
									linkNO.attr("href","javascript:void(0);").hide();
								}
								if ( myCv.lang == "en_GB" ){
									linkEN.attr("href","javascript:void(0);").hide();
								}		
								
								var tmp = myCv.generateEditBigButton()
									.attr("id","getAnsattDetaljerTrigger")
									.attr("class","editBoxMedium")
									.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=employeeDetailsCP&lang="+myCv.lang);
								
								var newTD = jQuery("<td></td>")			
											.append(tmp); 
								var newTR = jQuery("<tr></tr>").append(newTD);
								var newTable = jQuery("<table></table>").append(newTR);
								var theTd = jQuery('<td rowspan="100%"></td>')					
											.append(newTable);
								
								var theTrToInsert = jQuery(jQuery("#profile-table").children().children()[0]);
								theTrToInsert.attr("valign","middle");
								var theTdToInsert = jQuery(theTrToInsert).children()[0];
								theTdToInsert = jQuery(theTdToInsert).next();
								theTdToInsert.after(theTd);
								//myCv.headerMainInfo.append(tmp);
								
								tmp = myCv.generateEditButton()
									.attr("id","getWorkExperienceTrigger")
									.attr("class","editBox")
									.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=workExperience&lang="+myCv.lang)
									.css("margin-left","340px");		
								myCv.headerWorkexperience.append(tmp);
								
								tmp = myCv.generateEditButton()
									.attr("id","getpublicationTrigger")
									.attr("class","editBox")
									.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=publication&lang="+myCv.lang)
									.css("margin-left","340");	
								myCv.headerPublications.append(tmp);
								
								tmp = myCv.generateEditButton()
									.attr("class","editBox")
									.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=competence&lang="+myCv.lang)
									.css("margin-left","340");	
								myCv.headerCompetence.append(tmp);

								tmp = myCv.generateEditButton()
								.attr("class","editBox")
								.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=researchInProgress&lang="+myCv.lang)
								.css("margin-left","340");	
								myCv.headerResearchInProgress.append(tmp);
								
								tmp = myCv.generateEditButton()
									.attr("class","editBox")
									.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=competenceAreas&lang="+myCv.lang);
								var theTrToInsert = jQuery(jQuery("#theCompetenceAreasTable").children().children()[0]);
								var tmpTd = jQuery('<td colspan="2"></td>')
											.append(tmp);
								var tmpTr = jQuery('<tr id="competenceEditButton"></tr>').append(tmpTd);
								theTrToInsert.after(tmpTr);
								
								
								tmp = myCv.generateEditButton()
									.attr("class","editBox")
									.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=links&lang="+myCv.lang);
								var theTrToInsert = jQuery(jQuery("#theLinksTable").children().children()[0]);
								var tmpTd = jQuery('<td colspan="2"></td>')
											.append(tmp);
								var tmpTr = jQuery("<tr></tr>").append(tmpTd);
								theTrToInsert.after(tmpTr);
								
								tmp = myCv.generateEditButton()
								.attr("id","getCompetenceTrigger")
								.attr("class","editBox")
								.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=freeText&lang="+myCv.lang)
								.css("margin-left","340");	
								myCv.headerFreeText.append(tmp);
								
								
								tmp = myCv.generateEditBigButton()
								.attr("id","getCompetenceTrigger")
								.attr("class","editBoxSmall")
								.attr("href","/xmlhttprequest.php?service=cv.cvAjaxService&method=editField&field=bShowPicture&lang="+myCv.lang);
								var thePic = jQuery("#thePictureItself");
								myCv.headerPicture.prepend(tmp);
								
								/*	
								var pos = thePic.position();
								if (typeof(pos) != 'undefined') {			
									myCv.headerPicture.css(
											{ 
											'position': "absolute"
											,'marginLeft': '0'
											,'marginTop': '0'
											,'top': pos.top
											,'left': pos.left+50
									});			
								}*/
								
								myCv.bindEditBox();
							}
							,generateEditButton : function (){
								var image = jQuery("<img>");
								image.attr("src",myCv.urlToEditButton);
								var link = jQuery("<a>");
								link.attr("href","javascript:void(0)");
								link.append(image);
								return link;
							}
							,generateEditBigButton : function (){
								var image = jQuery("<img>");
								image.attr("src",myCv.urlToEditBigButton);
								var link = jQuery("<a>");
								link.attr("href","javascript:void(0)");
								link.append(image);
								return link;
							}
							,actionLogin : function (){		
								myCv.userName		= jQuery("#employee_username").val();
								myCv.password		= jQuery("#employee_password").val();			
								jQuery.ajax(
								{			
									type:"POST"
									,cache:false
									,data:
									{
										userName : myCv.userName
										,password : myCv.password
									}
									,url:myCv.url443+"/xmlhttprequest.php?service=cv.cvAjaxService&method=actionLogin&lang="+myCv.lang
									,async: false
									,success: function(d) {							
										if (d == "Authentication failed")
										{
											jQuery(".cvEditDisplay").html(d);
											setTimeout("myCv.closeEditWindow()",3000);
										}
										else 
										{					
											var theUrl = myCv.url80+"/om_uis/kontakt_oss/_tilsettkatalog/tilsettkatalog/?ans_nr="+d+"&_"+randomString();
											if (myCv.lang == "en_GB") 
											{
												var theUrl = myCv.url80+"/category.php?categoryID=5426&ans_nr="+d+"&_"+randomString();
											}					
											document.location.href = theUrl;
										}										
									}
								});
							}
							,closeEditWindow : function(){
								parent.jQuery.fn.fancybox.close()
							}
							,actionLogout : function() {		
								jQuery.ajax({			
									type:"GET"
									,cache:false			
									,url: "/xmlhttprequest.php?service=cv.cvAjaxService&method=logout&lang="+myCv.lang
									,async: false
									,success: function(d) {
										document.location.href = d;
									}
								});		
							}
							
							//methods specific for personalia administration
							,peronaliaInit : function(){		
								jQuery("#editTrigger").click(function(){
									myCv.savePersonalia();
									jQuery.fn.fancybox.close();
								});
							}
							,savePersonalia : function(){
								var theField 		= jQuery("#theField").val();
								var pos0 = "";		
								var pos1 = jQuery("#pos1Input").val();
								var pos2 = jQuery("#pos2Input").val();
								var pos3 = jQuery("#pos3Input").val();
								var theContent 		= pos0+"::"+pos1+"::"+pos2+"::"+pos3;		
								var theContentTitle =  "";	
								jQuery.ajax({			
									type:"POST"
									,cache:false
									,data: 	{
												theField : theField
												,theContent : theContent
												,theContentTitle : theContentTitle
											}
									,url:"/xmlhttprequest.php?service=cv.cvAjaxService&method=saveTextField&lang="+myCv.lang
									,async: false
									,success: function() {				
										jQuery("#pos1").html(pos1);
										jQuery("#pos2").html(pos2);
										jQuery("#pos3").html(pos3);
									}
								});	
								
							}
							
							//Methods specific for normal text fields
							,textFieldsInit : function(){	
								jQuery("#editTrigger").click(function(){
									myCv.saveTextField();
									jQuery.fn.fancybox.close();
								});
								var e = jQuery("#theContent").rte({
									css: ['default.css']
									,width: 470
									,height: 300
									,controls_rte: rte_toolbar
									,controls_html: html_toolbar
								}
								);
								
								myCv.theEditor = e.theContent;
								jQuery(".disable").hide();
							}
							,saveTextField : function(){
								var theField 		= jQuery("#theField").val();
								var theContent 		= myCv.theEditor.get_content();
								var theContentTitle =  "";
								if (theContent == "<br>") {
									theContent = "";
								}
									
								if (theField == "freeText") {
									theContentTitle = jQuery("#theTitle").val();
								}
								
								jQuery.ajax({			
									type:"POST"
									,cache:false
									,data: 	{
												theField : theField
												,theContent : theContent
												,theContentTitle : theContentTitle
											}
									,url:"/xmlhttprequest.php?service=cv.cvAjaxService&method=saveTextField&lang="+myCv.lang
									,async: false
									,success: function() {
										if (jQuery.browser.msie) {
											document.location.href = "/om_uis/kontakt_oss/_tilsettkatalog/tilsettkatalog/?ans_nr="+myCv.employeeId+"&_"+randomString();
										}
										else {
											switch (theField) {
												case "workExperience" : {
													myCv.workexperience.html(theContent);
													break;
												}
												case "publication" :  {
													myCv.publication.html(theContent);
													break;
												}
												case "competence" : {
													myCv.competence.html(theContent);
													break;
												}
												case "researchInProgress" : {
													myCv.researchInProgress.html(theContent);
													break;
												}
												case "freeText" : {
													var spamButton = jQuery("#freeTextHeader").clone();
													
													myCv.freeText.html(theContent);						
													myCv.freeTextHeaderContent.html(theContentTitle)
														.append(spamButton);
													myCv.bindEditBox();
													break;
												}
											}
										}
									}
								});		
								
								
								
							}
							
							//Methods specific for boolean field
							,booleanFieldsInit : function(){	
								jQuery("#editTrigger").click(function(){
									myCv.saveBooleanField();
									jQuery.fn.fancybox.close();
								});
							}
							,saveBooleanField : function(){
								var theField 		= jQuery("#theField").val();
								var theContent 		= "";
								var a				= jQuery("#theBoolean:checked");
								
								if (a[0]) {
									theContent = "Yes";
								}
								else {
									theContent = "No";
								}
								jQuery.ajax({			
									type:"POST"
									,cache:false
									,data: 	{
												theField : theField
												,theContent : theContent
												,theContentTitle : ""
											}
									,url:"/xmlhttprequest.php?service=cv.cvAjaxService&method=saveTextField&lang="+myCv.lang
									,async: false
									,success: function() {
										if (a[0]) {
											jQuery("#displayPicture").html('<img id="thePictureItself" src="http://www5.uis.no/kortpic/bilde.aspx?id='+myCv.employeeId+'"border="0" width="150" />');
											var thePic = jQuery("#thePictureItself");
											
											var pos = thePic.position();
											myCv.headerPicture.css(
													{ position: "absolute"
													,marginLeft: 0
													,marginTop: 0
													,top: pos.top
													,left: pos.left+50 
											});
										}
										else {
											jQuery("#displayPicture").html("");
											myCv.headerPicture.css(
													{ position: ""
													}
											);
											
										}
									}
								});	
							}
							
							//Methods specific for the link administration
							,newLinksInit : function (){
								myCv.theTableLinks 			= jQuery("#changeLinksTableLinks");
								myCv.theNewLinkUrl 			= jQuery("#newLinkUrl");
								myCv.theNewLinkName 		= jQuery("#newLinkName");
								myCv.editLinkDiv			= jQuery("#changeLinksEditLink").hide();
								myCv.editLinkUrl			= jQuery("#editLinkUrl");
								myCv.editLinkName			= jQuery("#editLinkName");
								myCv.editLinkTrigger 		= jQuery("#editLinkTrigger")
																.click(function(){myCv.saveLink()}); 		
								
								jQuery("#newLinkTrigger").click(function(){
									myCv.addNewLink();
								});
								jQuery("#editTrigger").click(function(){
									myCv.saveLinks();
									jQuery.fn.fancybox.close();
								});
								myCv.generateLinksTable();
							}
							,addNewLink : function(){
								var theUrl = myCv.theNewLinkUrl.val();				
								if ( theUrl != "" && myCv.theNewLinkName.val() != "" ) {			
									if (! (
												String(theUrl).substring(0,7) == "http://"
											|| 	String(theUrl).substring(0,7) == "HTTP://" 
											|| 	String(theUrl).substring(0,8) == "https://" 
											|| 	String(theUrl).substring(0,8) == "HTTPS://" 
										))  {
										theUrl = "http://"+theUrl;
									}
									
									var item = {
											'thePos': myCv.links.length
											,'theUrl': theUrl 
											,'theName': myCv.theNewLinkName.val()
										};									
									myCv.links.push(item);	
									myCv.generateLinksTable();	
									myCv.theNewLinkUrl.val("");
									myCv.theNewLinkName.val("");
								}
							}
							,generateLinksTable : function () {
								myCv.theTableLinks.html("");		
								var tmpTD	= jQuery('<td class="topLinksTable"></td>')
											.attr("colspan","2")					
											.html("Links");
								var tmp 	= jQuery("<tr></tr>")
											.append(tmpTD);
								myCv.theTableLinks.append(tmp);
								for (i=0;i < myCv.links.length;i++){
									var item = myCv.links[i];
									var tmpAEdit = jQuery("<a>" +item["theName"]+"</a>")
										.attr("id",i)
										.attr("alt",item["theUrl"])
										.attr("href","javascript:void(0);")
										.click(function(){ myCv.generateEditLink(this);	});
										
									var tmpADelete = jQuery("<a>Slett</a>")				
										.attr("href","javascript:void(0);")
										.attr("id",i)				
										.click(function(){ myCv.deleteLink(this); });			
									var tmpTD = jQuery("<td></td>")
										.attr("width","85%")
										.attr("class","changeLinksTableTD")
										.append(tmpAEdit);
									var tmpTD2 = jQuery("<td></td>")
										.attr("class","changeLinksTableTD")
										.append(tmpADelete);		
									var tmp = jQuery("<tr></tr>")
										.append(tmpTD)
										.append(tmpTD2);
									myCv.theTableLinks.append(tmp);
								}
							}
							,generateEditLink : function(a){			
								var pos	= jQuery(a).attr("id");
								item 	= myCv.links[pos];
								myCv.editLinkUrl.val(item["theUrl"]);
								myCv.editLinkName.val(item["theName"]) ;
								myCv.editLinkDiv.show("slow");
								myCv.editLinksposToEdit = pos;
							}
							
							,saveLink : function(){
								var item = {
										'thePos': myCv.editLinksposToEdit
										,'theUrl':myCv.editLinkUrl.val()
										,'theName':myCv.editLinkName.val()
								};
								myCv.links[myCv.editLinksposToEdit] = item;
								myCv.generateLinksTable();
								myCv.editLinkDiv.hide("slow");
							}
							
							,deleteLink:function(a){		
								var pos = jQuery(a).attr("id");
								var newLinks = new Array();
								delete myCv.links[pos];
								for (var i = 0; i < myCv.links.length; i++){
									if (myCv.links[i] != undefined) {
										newLinks.push( myCv.links[i] );
									}  
								}
								myCv.links = newLinks;
								myCv.generateLinksTable();
							}
							,saveLinks : function(){
								var theField 		= jQuery("#theField").val();
								var theContent 		= "";
								for (i=0;i < myCv.links.length;i++){
									var item 	= myCv.links[i];
									theContent 	= theContent+item['theName']+"::"+item['theUrl'];
									if (i < myCv.links.length - 1) {
										theContent 	= theContent+"::";
									}
								}
								var theContentTitle =  "";
								jQuery.ajax({			
									type:"POST"
									,cache:false
									,data: 	{
												theField : theField
												,theContent : theContent
												,theContentTitle : theContentTitle
											}
									,url:"/xmlhttprequest.php?service=cv.cvAjaxService&method=saveTextField&lang="+myCv.lang
									,async: false
									,success: function() {
										jQuery(".linksContent").remove();
										var theTable = jQuery("#theLinksTable");
										for (i=0;i < myCv.links.length;i++){
											var item = myCv.links[i];
											var theLink = jQuery("<a></a>")
														.attr("href",item['theUrl'])
														.attr("target","_blank")
														.attr('class',"arrowLink")
														.html(item['theName']);
											var tr = jQuery("<tr></tr>")
														.attr("class","linksContent");
											var td = jQuery("<td></td>")
														.append(theLink);
											tr.append(td);
											theTable.append(tr);
										}
										
									}
								});	
							}
							,initCompetenseAreas : function(col1,col2,deleteLabel) {
								myCv.sAreasTableHeaderCol1 		= col1;
								myCv.sAreasTableHeaderCol2 		= col2;
								myCv.sDeleteLabel		 		= deleteLabel;
								myCv.selectboxCompetenceArea 	= jQuery("#selectboxCompetenceArea");		
								myCv.addButton					= jQuery("#conpetenceAreaAddButton"); 
								myCv.theTableCompeteceAreas		= jQuery("#changeLinksTableLinks");		
								jQuery.ajax({			
									type:"GET"
									,cache:false		
									,url:"/xmlhttprequest.php?service=cv.cvAjaxService&method=getCompetenceAreasJson&lang="+myCv.lang
									,async: false			
									,success: function(d) {					
										myCv.parseCompetenseAreas(d);								
									}			
								});
								myCv.addButton.click(function(){
									myCv.addCompetense();
								});
								jQuery("#selectboxCompetenceSubArea").bind("dblclick",(function(){
									myCv.addCompetense();
								}));
								
								for (var i=1; i < myCv.aCompetensAreas.length;i++){
									var item = myCv.aCompetensAreas[i];
									var opt = jQuery("<option/>")
												.attr("id",item.id)
												.append(item.name)						
									;
									myCv.selectboxCompetenceArea.append(opt);
								}
								myCv.selectboxCompetenceArea.change(function(){			
									var a 		= jQuery(myCv.selectboxCompetenceArea).find(":selected");
									var theId 	= jQuery(a).attr("id");
									myCv.populateSubAreas(theId);
								});
								
								jQuery("#editTrigger").click(function(){
									myCv.saveCompetenceAreas();
									jQuery.fn.fancybox.close();
								});
								myCv.selectboxCompetenceArea.trigger("change");
							}
							,saveCompetenceAreas : function(){
								var theField 	= jQuery("#theField").val();
								var theContent 	= "";
								var aAreas 		= new Array();
								for (var i=0;i < myCv.theCompetenceAreas.length;i++){
									var item 	= myCv.theCompetenceAreas[i];
									if (!findArray(aAreas,item.area)) {
										aAreas.push(item.area);
									}
								}
								for (var i=0;i < aAreas.length; i++){
									theContent = theContent+aAreas[i];
									for (var j=0;j < myCv.theCompetenceAreas.length;j++){
										if (myCv.theCompetenceAreas[j].area == aAreas[i]){
											theContent = theContent + '::' + myCv.theCompetenceAreas[j].subarea;
										}
									}
									theContent = theContent+'||';									
								}
								var theContentTitle =  "";
								jQuery.ajax({			
									type:"POST"
									,cache:false
									,data: 	{
												theField : theField
												,theContent : theContent
												,theContentTitle : theContentTitle
											}
									,url:"/xmlhttprequest.php?service=cv.cvAjaxService&method=saveTextField&lang="+myCv.lang
									,async: false
									,success: function() {		
										jQuery(".competenceContent").remove();
										var theTable = jQuery("#theCompetenceAreasTable");		
										
										
										theTable.find(".competenceContent").remove();
										
										for (var i=0;i < aAreas.length; i++){
											var theTd 	= jQuery("<td></td>")
														.attr("colspan",2)
														.append(aAreas[i]);
											var theTr = jQuery('<tr class="competenceContent"></tr>')
														.append(theTd);								
											theTable.append(theTr);
											
											for (var j=0;j < myCv.theCompetenceAreas.length;j++) {
												if (myCv.theCompetenceAreas[j].area == aAreas[i] ) {
													var theTd1 = jQuery("<td></td>");
													var theTd2 = jQuery("<td></td>")
																.append(myCv.theCompetenceAreas[j].subarea);
													var theTr = jQuery('<tr class="competenceContent"></tr>')
																.append(theTd1)
																.append(theTd2);								
													theTable.append(theTr);
												}
											}
										}	
									}
								});	
							}
							,addCompetense : function() {
								var a		= jQuery(myCv.selectboxCompetenceArea).find(":selected");
								var subA 	= jQuery(myCv.selectboxCompetenceSubArea).find(":selected");
										
								if (subA.length == 0) {
									var item = {
											'thePos'	: myCv.theCompetenceAreas.length
											,'area'		: a.val()
											,'subarea'	: ""
										};	
									var checkExist = a.val()+"::";			
									if (!findArray(myCv.aTempCompetenceAreas,checkExist)){
										myCv.theCompetenceAreas.push(item);
										myCv.aTempCompetenceAreas.push(checkExist);
									}	
								}
								else {
									// subArea is selected, we have to loop all selected
									for (var i=0;i < subA.length;i++) {
										var item = {
												'thePos'	: myCv.theCompetenceAreas.length
												,'area'		: a.val()
												,'subarea'	: jQuery(subA[i]).html()
											};
										var checkExist = a.val()+"::"+jQuery(subA[i]).html();
										if (!findArray(myCv.aTempCompetenceAreas,checkExist)){
											myCv.theCompetenceAreas.push(item);
											myCv.aTempCompetenceAreas.push(checkExist);
										}	
									}
								}
								jQuery(myCv.selectboxCompetenceSubArea).find(":selected").remove();	
								myCv.generateCompetenceTable();	
							}
							,populateSubAreas : function(id){
								myCv.selectboxCompetenceSubArea = jQuery("#selectboxCompetenceSubArea");
								jQuery("#selectboxCompetenceSubArea :option").remove();
								var item = myCv.aCompetensAreas[id];				
								var aSub = item.sa;
								for (var i=0;i < aSub.length;i++){
									var checkExist = item.name+"::"+aSub[i];	
									if (!findArray(myCv.aTempCompetenceAreas,checkExist)){
										var opt = jQuery("<option/>")
													.append(aSub[i]);
										myCv.selectboxCompetenceSubArea.append(opt);
									}
								}
								myCv.generateCompetenceTable();	
							}
							,parseCompetenseAreas : function(json){
								var tmpJson = jsonParse(json);
								var a 		= new Array();
								var item 	= {};		
								for (var i = 0;i < tmpJson.length; i++){
									var b 		= new Array();
									item 		= {};
									item.id 	= tmpJson[i].id;
									item.name	= tmpJson[i].name;
									var subArea = tmpJson[i].subAreas;			
									for (var j=0;j<tmpJson[i].subAreas.length;j++){
										b.push(tmpJson[i].subAreas[j].name);	
									}
									item.sa = b;
									a[item.id] = item;
								}				
								//a[0] = item;
								myCv.aCompetensAreas = a;
							}
							,generateCompetenceTable : function () {
								myCv.theTableCompeteceAreas.html("");		
								var tmpTD	= jQuery('<td class="topLinksTable"></td>')
											.html(myCv.sAreasTableHeaderCol1);
								var tmpTD2		= jQuery('<td class="topLinksTable"></td>')
											.html(myCv.sAreasTableHeaderCol2);
								var tmpTD3		= jQuery('<td class="topLinksTable"></td>')
												.html("");
								var tmp 	= jQuery("<tr></tr>")
											.append(tmpTD)
											.append(tmpTD2)
											.append(tmpTD3);
								myCv.theTableCompeteceAreas.append(tmp);
								for (i=0;i < myCv.theCompetenceAreas.length;i++){
									var item = myCv.theCompetenceAreas[i];
									
									var tmpADelete 	= jQuery("<a>"+myCv.sDeleteLabel+"</a>")	
													.attr("href","javascript:void(0);")
													.attr("id",i)
													.click(function(){ myCv.deleteCompetenceArea(this); });
									var tmpTD 		= jQuery("<td></td>")
													.attr("width","55%")
													.attr("class","changeLinksTableTD")
													.append(item["area"]);
									var tmpTD2		= jQuery("<td></td>")
													.attr("class","changeLinksTableTD")
													.append(item["subarea"]);
									var tmpTDDelete	= jQuery("<td></td>")
													.attr("class","changeLinksTableTD")
													.append(tmpADelete);
									var tmp 		= jQuery("<tr></tr>")
													.append(tmpTD)
													.append(tmpTD2)
													.append(tmpTDDelete);
									myCv.theTableCompeteceAreas.append(tmp);
								}		
							}
							,deleteCompetenceArea : function(a){	
								var pos = jQuery(a).attr("id");
								var newCompetenceAreas = new Array();
								var theItem = myCv.theCompetenceAreas[pos];
								var toDelete = theItem.area+"::"+theItem.subarea;
								delete myCv.theCompetenceAreas[pos];
								for (var i = 0; i < myCv.theCompetenceAreas.length; i++){
									if (myCv.theCompetenceAreas[i] != undefined) {
										newCompetenceAreas.push( myCv.theCompetenceAreas[i] );
									}  
								}
								deleteFromArray(myCv.aTempCompetenceAreas,toDelete);
								myCv.theCompetenceAreas = newCompetenceAreas;
								var a 		= jQuery(myCv.selectboxCompetenceArea).find(":selected");
								var theId 	= jQuery(a).attr("id");
								myCv.populateSubAreas(theId);
								myCv.generateCompetenceTable();
							}
							,fixTheBox : function(w,h){
								//fix the box
								
								var fancyW 	= w;
								var fancyH 	= h;
								var innerBox = jQuery(".employeeEditCv");		
								innerBox.width(fancyW-15);
								innerBox.height(fancyH-15);
								
								innerBox.css("margin-left","5px");
								innerBox.css("margin-top","5px");
								//fix close button		
								var totalWidth = w - 110;			
								jQuery("#closeCvEditor").css("float","right");
								jQuery("#closeFancyBox")
									.attr("class","arrowLink")
									.prepend(myCv.lableClose)
									;
								jQuery("#fancy_outer").show();		
							}
							,fixTheBoxLogin : function () {

								var theImg = jQuery("<img border=\"0\" src=\"/images/calendar/closeWindow.gif\"/>");
								jQuery("<a href=\"javascript:void(0);\">LUKK </a>")
									.append(theImg)
									.attr("id","closeTrigger")
									.appendTo(jQuery("#fancy_close"))
									.css("position","absolute")
									.css("top","20px")
									.css("right","30px")
									.css("width","50px")	
									.css("z-index","100")
									;
									
									
							}
						}

						function findArray(ary,elem){
							for(var i=0; i<ary.length; i++){
								if(ary[i] == elem){
									return true;
								}
							}
							return false;	
						}
						function deleteFromArray(ary,elem) {
							for(var i=0; i<ary.length; i++){
								if(ary[i] == elem){
									delete ary[i];
								}
							}
							return ary;
						}


						function randomString() {
							var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
							var string_length = 8;
							var randomstring = '';
							for (var i=0; i<string_length; i++) {
								var rnum = Math.floor(Math.random() * chars.length);
								randomstring += chars.substring(rnum,rnum+1);
							}

						  return randomstring;
						}

						function d (a) {
							console.log(a);
						}
