var upModelArray;
var selectedUpModel=0;
var increment=7;
var selectedUpModelCounter=0;
var visitedRanges= new Array;
var forwardShift='N';
var backwardShift='N';
var absYposition=0;
var absXposition = new Array();
 absXposition[0]=0;
 absXposition[1]=0;
 absXposition[2]=0;
 absXposition[3]=0;
 absXposition[4]=0;
 absXposition[5]=0;
 absXposition[6]=0;

//jh's code
/* change job title */
function updateUserJobTitle()
{
	var uri = '/myroadmap/updateUserJobTitle/'+document.forms[0].job_box.value;
	new Ajax.Request
	(
		uri, 
		{
			onSuccess: function(transport) {
			//yada yada yada 
			}
		}
	); 
}
/* ccheck job title */
function checkJobTitle1()
{
	
	val1=document.forms[0].job_box.value;
	val1=val1.replace(/^\s+|\s+$/g,"");

	if (val1=='') {

		alert("Please provide the job title in current job title textbox");
		if(document.getElementById("link1")){
			document.getElementById("link1").style.display="block";
			document.getElementById("link2").style.display="block";
		}
		return false;
	}
	else
	{	
		uri = "/job_data/check_job_title/";
		//jh's code (added escape) bug 1342					
		var param = "title=" + escape(document.forms[0].job_box.value); 
		new Ajax.Request
		(
			uri, 
			{ 
			parameters: param,
				onSuccess: 
			function(response) { 
													
							if(response.responseText == 0){
								alert("Please select a job title that most closely matches yours in the current job title textbox.");
								err_resp=0;

									if(document.getElementById("link1")){
										document.getElementById("link1").style.display="block";
										document.getElementById("link2").style.display="block";
									}

								return false; }
							else {
								this.updateAnswers();	
							}
					}
			}
		);
		}
	//}
	return false;
	
}

function checkJobTitle(){

	if(document.getElementById("link1")){
		document.getElementById("link1").style.display="none";
		document.getElementById("link2").style.display="none";
	}
	
	/*url="/myroadmap/jobgroup";
	var param = "jobtitle=" +escape(document.forms[0].job_box.value);
	if(escape(document.forms[0].job_box.value)!=escape(document.getElementById('hidden_curtitle').value)) {
	new Ajax.Request(
		url,
		{
		method: 'post',
		parameters: param,
		onSuccess:
			
			function(transport) {
				if(transport.responseText!= 0){
					var conf=confirm(transport.responseText);
					if(conf){
							checkJobTitle1();
						}
						else{
							if(document.getElementById("link1")){
								document.getElementById("link1").style.display="block";
								document.getElementById("link2").style.display="block";
							}
							return false;
						}
					}
					else{
						checkJobTitle1();
					}
			}
				
			});
	
	}
	else */
		checkJobTitle1();


		return false;
	}


/* change other answers those drop downs */
function updateAnswers()
{

 //if (!checkJobTitle()) return;	
	var uri = '/myroadmap/updateAnswers/';
	new Ajax.Request
	(
		uri, 
		{
			method: 'post',
			postBody: Form.serialize(document.forms[0])+"&job_box="+escape(document.forms[0].job_box.value),
			onSuccess: function(transport) {
				//updateFlash();
				//setTimeout('refreshFlash()', 1000);
				//setTimeout('updateFlash()', 1000);
				error = transport.responseText;
				if(error.length != 0)
				{
					if(error != null)
					{
						
						if(document.getElementById("link1")){
							document.getElementById("link1").style.display="block";
							document.getElementById("link2").style.display="block";
						}
						/*if(error == "error_begin")
							show_error("You have an event that is earlier than the year you started your career. <br />");
						
						if(error == "error_retire")
							show_error("You have an event that is later than the year you want to retire. <br />");*/

						alert(error);
					}
				}
				else
				{
					window.location.reload();
				}
			}
		}
	); 
}

function setSlider1(handleID, sliderID, answerID, from,  to)
{
	this.handleID = handleID;
	this.sliderID = sliderID;
	this.answerID = answerID;
	if (from==null) from=4;
	if (to==null) to=20;
	

	answerValue = document.getElementById(answerID);
	initialValue = answerValue.getAttribute('value');

	new Control.Slider(handleID, sliderID, {
		range: $R(from, to),
		sliderValue: initialValue,
		onSlide: function(v) {
			tVal=$(answerID).value ;
			v=nextNearest(v,0.5);  
			},
		onChange: function(v) {
			
			tVal=$(answerID).value ;
			v=nextNearest(v,0.5); 
			if (tVal!=v) {
				$(answerID).value = nextNearest(v,0.5); 
				changeNoteColor1($(answerID).value);
			}
		}
	});
}//end of setSlider1()

function changeNoteColor1(answerValue)
{
	//alert(answerValue);
	var note=document.getElementById("upmo_recommended_hours");
	//alert(note);
	if (answerValue >= this.upmodelRecommended ) {
		note.style.color='#252525';
	} else {
			note.style.color='#ff0000'; 
	}
}

function changeSlider(thisDD)
{
	val=thisDD.options[thisDD.selectedIndex].value;
	var note=document.getElementById("upmo_recommended_hours");

	this.upmodelRecommended=this.upmNWArray[val];

	//set the hidden input value

	var currentJobTransition=document.getElementById("a61-1").value;

	document.getElementById("a61-1").value=this.upmNWArray[val];
	note.innerHTML="*UpMo recommends you network for "+this.upmodelRecommended+" hours per week";
	setSlider("handle61", "slider61", "a61-1",4,20);
}
//jh's code

function makeInvisible(cur,which,imageId){

//Don't fade it on mouseover because its selecte one;
if (imageId==this.selectedUpModel) return;

/*strength=(which==0)? 1 : 0.2

if (cur.style.MozOpacity)
cur.style.MozOpacity=strength
else if (cur.filters)
cur.filters.alpha.opacity=strength*100

*/

var imgSrc =cur.src;

if (imgSrc.indexOf('a.')>=0) {

  imgSrc=imgSrc.replace(/a\./,'b.');
  
  cur.src=imgSrc;
  
}

curid=cur.id;
//alert(curid.substr(12));
textcur=document.getElementById("upmText"+curid.substr(12));


if (textcur.style.display=="none") {
textcur.style.display="";
} else {
textcur.style.display="none";
}




}


function highLightThis(cur,which,imageId,counter) {

strength=(which==0)? 1 : 0.2;

//set the counter to selected upmodel
this.selectedUpModelCounter=counter;


//remove the popup hover
hide_hover();

//alert(this.selectedUpModel);

//Make current selection faded
currentCur=document.getElementById("upmodelimage"+this.selectedUpModel);
/*if (currentCur.style.MozOpacity)
currentCur.style.MozOpacity=0.2
else if (currentCur.filters)
currentCur.filters.alpha.opacity=0.2*100;*/

var imgSrc =currentCur.src;

if (imgSrc.indexOf('a.')>=0) {

  imgSrc=imgSrc.replace(/a\./,'b.');
  currentCur.src=imgSrc;
}

makevisible(cur);


if (this.selectedUpModel!=imageId) document.getElementById("upmText"+this.selectedUpModel).style.display="none";

this.selectedUpModel=imageId;
this.selectedUpModelCounter=counter;

if (cur.style.MozOpacity)
cur.style.MozOpacity=strength
else if (cur.filters)
cur.filters.alpha.opacity=strength*100;




document.getElementById("upModelHeaderName").innerHTML=this.upModelArray[counter].name;
document.getElementById("upModelHeaderTitle").innerHTML=this.upModelArray[counter].current_title;

document.getElementById("upModelDetails").innerHTML=this.upModelArray[counter].details;
document.getElementById("upModelChartQuote").innerHTML=this.upModelArray[counter].snappy_quote1+"<br><span style=\"color:#C32034;\">-"+this.upModelArray[counter].name+"</span>";
document.getElementById("upModelHeaderLocation").innerHTML=this.upModelArray[counter].location;
				document.getElementById("upModelHeaderEducation").innerHTML=this.upModelArray[counter].education;
				document.getElementById("upModelHeaderNetworkStyle").innerHTML=this.upModelArray[counter].network_style;
				//document.getElementById("upModelChartPicture").innerHTML="<img src="+upmodelImageDirectory+"upModelChart.jpg>";
document.getElementById("upModelHeaderBackground").innerHTML=this.upModelArray[counter].background;			
document.getElementById("upModelHeaderCompany").innerHTML=this.upModelArray[counter].current_company;						

//call the flash movie with new upmodel_id to change the chart
intWhichUpmodel=this.upModelArray[counter].upmodel_id;
updateUpmodelIdInFlash();
}

function makevisible(cur,which){

var imgSrc =cur.src;

if (imgSrc.indexOf('b.')>=0) {

  imgSrc=imgSrc.replace(/b\./,'a.');
  cur.src=imgSrc;
}

/*strength=(which==0)? 1 : 0.2

if (cur.style.MozOpacity)
cur.style.MozOpacity=strength
else if (cur.filters)
cur.filters.alpha.opacity=strength*100
*/
curid=cur.id;
//alert(curid.substr(12));
textcur=document.getElementById("upmText"+curid.substr(12));

if (textcur.style.display=="none") {
textcur.style.display="";
} 



}

function moveToPrevious()
{
  new Effect.Move('imageBoxInside', { x: 180, y: 0, transition: Effect.Transitions.sinoidal });
}

function moveToNext()
{
  new Effect.Move('imageBoxInside', { x: -180, y: 0, transition: Effect.Transitions.sinoidal });
}




function getUpModels4User() { 

var url = '/blueprint/getUpModelChoices4User' // to get results in json
var img            = new Image;
img.src        = "/upmodelimages/upmodel_dropshadow2.jpg";

//alert(this.from+" from and to "+this.to+" counter"+previouslyChosenUpModelCounter);
if (this.from>0) { 
url+="/"+this.from+"/"+this.to;
this.selectedUpModelCounter=previouslyChosenUpModelCounter;
this.selectedUpModel=previouslyChosenUpModelCounter;
 add2visitedRanges(from,to);
} else {
add2visitedRanges(1,7);

}
//alert(visitedRanges);	
	new Ajax.Request(
		url,
		{
		method: 'get', 
		onSuccess: 
			function(transport) {
			var output="";
			var outputText="<table width=830><tr><td></td>";
			    
	      		upModels = transport.responseText.evalJSON(true);
				this.upModelArray=upModels;
				if (this.previouslyChosenUpModel>=7) {
	      		document.getElementById("dummy1").innerHTML="<a  onclick=\"backwardShift='Y';getNextModels4User("+(nextseq-6)+","+(nextseq)+")\" ><img style=\"cursor:pointer;cursor:hand\" src='"+imageDirectory+"arw-orange_left.gif'></a>";
	      		} else {
	      		document.getElementById("dummy1").innerHTML="<img style=\"filter:alpha(opacity=15);-moz-opacity:0.15\" src='"+imageDirectory+"arw-orange_left.gif'>";
	      		}
	      		for(i = 0; i < upModels.length; i++){
	      		if (i==this.previouslyChosenUpModelCounter) toggleDisclaimer(upModels[i].status);
	      		output="";
	      		//intWhichUpmodel=i==this.previouslyChosenUpModelCounter?upModels[i].upmodel_id:1;
	      		imgSrc='';
	      		if (upModels[i].status==2) {
	      		imgSrc="/myroadmap/createWaterMarkedImages/"+(i==this.previouslyChosenUpModelCounter?upModels[i].thumbnail:upModels[i].greyimage)+upmodelimage_type+"/"+escape(upModels[i].short_name);
	      		} else {
	      		
	      		imgSrc=upmodelImageDirectory+(i==this.previouslyChosenUpModelCounter?upModels[i].thumbnail:upModels[i].greyimage)+upmodelimage_type;
	      		
	      		}
	      		
	      		//alert(imgSrc);
	      		
				outputText+="<td width=80>"+upModels[i].name+"</td> ";
				output+=
				"<img id='upmodelimage"+i+"'  width='80' height='80'  ";
				output+="style=\"filter:alpha(opacity=100);-moz-opacity:1\" ";
				output+= " onClick=\"highLightThis(this,0,"+i+","+i+")\" onMouseout=\"makeInvisible(this,1,"+i+");hide_hover();\" onMouseOver='makevisible(this,0);show_hover(event,"+i+")' src='"+imgSrc+"' >";
				//output+="<br>"+upModels[i].name;
				output+=i==this.previouslyChosenUpModelCounter?"<div style='width:80px;text-align:middle;color:#C32034;margin-top:5px;' id='upmText"+i+"'></div>":"<div style='width:80px;text-align:middle;display:none;color:#C32034;margin-top:5px;' id='upmText"+i+"'></div>";
				
				document.getElementById("upModelThumbNailsText"+i).style.backgroundImage="url("+img.src+")";
				document.getElementById("upModelThumbNailsText"+i).innerHTML=output	;			
				//document.getElementById('upmText'+i).innerHTML=upModels[i].name+"<br><span style=\"color:#898989\">"+upModels[i].current_title+"</span>";
			
				
				
				}
				if (this.upModelArray.length<this.increment || to >= randomUpmodelCount) {
			   		document.getElementById("dummy2").innerHTML="<img style=\"filter:alpha(opacity=15);-moz-opacity:0.15\" src='"+imageDirectory+"arw-orange_right.gif'>";
				} else {
					document.getElementById("dummy2").innerHTML="<a  onclick=\"forwardShift='Y';getNextModels4User("+(nextseq+8)+","+(nextseq+14)+")\" ><img style=\"cursor:pointer;cursor:hand\" src='"+imageDirectory+"arw-orange_right.gif'></a>";
				} 
				//document.getElementById("dummy2").innerHTML="<a  onclick=\"forwardShift='Y';getNextModels4User("+(nextseq+8)+","+(nextseq+14)+")\" ><img style=\"cursor:pointer;cursor:hand\" src='"+imageDirectory+"arw-orange_right.gif'></a>";
				outputText+="<td></td></tr></table>";
				 document.getElementById("upModelHeaderName").innerHTML=upModels[this.previouslyChosenUpModelCounter].name;
				 document.getElementById("upModelHeaderTitle").innerHTML=upModels[this.previouslyChosenUpModelCounter].current_title;
				 document.getElementById("upModelDetails").innerHTML=upModels[this.previouslyChosenUpModelCounter].details;
				 document.getElementById("upModelChartQuote").innerHTML=upModels[this.previouslyChosenUpModelCounter].snappy_quote1+"<br><span style=\"color:#C32034;\">-"+upModels[this.previouslyChosenUpModelCounter].name+"</span>";
				document.getElementById("upModelHeaderLocation").innerHTML=upModels[this.previouslyChosenUpModelCounter].location;
				document.getElementById("upModelHeaderEducation").innerHTML=upModels[this.previouslyChosenUpModelCounter].education;
				document.getElementById("upModelHeaderNetworkStyle").innerHTML=upModels[this.previouslyChosenUpModelCounter].network_style;
				document.getElementById("upModelHeaderBackground").innerHTML=upModels[this.previouslyChosenUpModelCounter].background;
				document.getElementById("upModelHeaderCompany").innerHTML=upModels[this.previouslyChosenUpModelCounter].current_company;
								//document.getElementById("upModelChartPicture").innerHTML="<img src="+upmodelImageDirectory+"upModelChart.jpg>";
				}
		});	

	

	try {

	if (document.getElementById("upModelThumbNailsText0")) {
        target0 = document.getElementById("upModelThumbNailsText0");
        Element.extend(target0);
        this.absYposition= target0.viewportOffset().top;
        this.absXposition[0]= target0.viewportOffset().left;
	}
	if (document.getElementById("upModelThumbNailsText1")) {
        target0 = document.getElementById("upModelThumbNailsText1");
        Element.extend(target0);
        this.absXposition[1]= target0.viewportOffset().left;
	}
	if (document.getElementById("upModelThumbNailsText2")) {
        target0 = document.getElementById("upModelThumbNailsText2");
        Element.extend(target0);
        this.absXposition[2]= target0.viewportOffset().left;
	}
	if (document.getElementById("upModelThumbNailsText3")) {
        target0 = document.getElementById("upModelThumbNailsText3");
        Element.extend(target0);
        this.absXposition[3]= target0.viewportOffset().left;
	}

	if (document.getElementById("upModelThumbNailsText4")) {
        target0 = document.getElementById("upModelThumbNailsText4");
        Element.extend(target0);
        this.absXposition[4]= target0.viewportOffset().left;
	}
	if (document.getElementById("upModelThumbNailsText5")) {
        target0 = document.getElementById("upModelThumbNailsText5");
        Element.extend(target0);
        this.absXposition[5]= target0.viewportOffset().left;
	}
	if (document.getElementById("upModelThumbNailsText6")) {
        target0 = document.getElementById("upModelThumbNailsText6");
        Element.extend(target0);
        this.absXposition[6]= target0.viewportOffset().left;
	}


	} catch(err)
  	{
  //Handle errors here
  	}


//updateUpmodelIdInFlash();
}


function getNextModels4User(from,to) {

var url = '/blueprint/getUpModelChoices4User' // to get results in json

var img            = new Image;
img.src        = "/upmodelimages/upmodel_dropshadow2.jpg";

//alert(from+" from and to "+to+" counter"+previouslyChosenUpModelCounter);
if (from>0) { 
url+="/"+from+"/"+to;
this.selectedUpModelCounter=0;
this.selectedUpModel=0;
 add2visitedRanges(from,to);
} else {
add2visitedRanges(1,7);

}
//alert(visitedRanges);	
	new Ajax.Request(
		url,
		{
		method: 'get', 
		onSuccess: 
			function(transport) {
			var output="";
			var outputText="<table width=830><tr><td></td>";
			    
	      		upModels = transport.responseText.evalJSON(true);
	      		this.upModelArray=upModels;
	      			//alert (upModels.length);
	      		
	      		//alert(nextseq);
	      		if (from>=7) {
	      		document.getElementById("dummy1").innerHTML="<a  onclick=\"backwardShift='Y';getNextModels4User("+(from-this.increment)+","+(to-this.increment)+")\" ><img style=\"cursor:pointer;cursor:hand\" src='"+imageDirectory+"arw-orange_left.gif'></a>";
	      		} else {
	      		document.getElementById("dummy1").innerHTML="<img style=\"filter:alpha(opacity=25);-moz-opacity:0.25\" src='"+imageDirectory+"arw-orange_left.gif'>";
	      		}
	      		
	      		
	      		
				
	      		this.previouslyChosenUpModelCounter=0;
	      		
	      		for(i = 0; i < upModels.length; i++){
	      		
	      		if (i==this.previouslyChosenUpModelCounter) toggleDisclaimer(i);
	      		output="";
	      		//intWhichUpmodel=i==this.previouslyChosenUpModelCounter?upModels[i].upmodel_id:1;
	      		imgSrc='';
	      		if (upModels[i].status==2) {
	      		imgSrc="/myroadmap/createWaterMarkedImages/"+(i==this.previouslyChosenUpModelCounter?upModels[i].thumbnail:upModels[i].greyimage)+upmodelimage_type+"/"+escape(upModels[i].short_name);
	      		} else {
	      		
	      		imgSrc=upmodelImageDirectory+(i==this.previouslyChosenUpModelCounter?upModels[i].thumbnail:upModels[i].greyimage)+upmodelimage_type;
	      		
	      		}
	      		
	      		//alert(imgSrc);
	      		
				outputText+="<td width=80>"+upModels[i].name+"</td> ";
				output+=
				"<img id='upmodelimage"+i+"'  width='80' height='80'  ";
				output+="style=\"filter:alpha(opacity=100);-moz-opacity:1\" ";
				output+= " onClick=\"highLightThis(this,0,"+i+","+i+")\" onMouseout=\"makeInvisible(this,1,"+i+");hide_hover();\" onMouseOver='makevisible(this,0);show_hover(event,"+i+")' src='"+imgSrc+"' >";
				//output+="<br>"+upModels[i].name;
				output+=i==this.previouslyChosenUpModelCounter?"<div style='width:80px;text-align:middle;color:#C32034;margin-top:5px;' id='upmText"+i+"'></div>":"<div style='width:80px;text-align:middle;display:none;color:#C32034;margin-top:5px;' id='upmText"+i+"'></div>";
				
				document.getElementById("upModelThumbNailsText"+i).style.backgroundImage="url("+img.src+")";
				document.getElementById("upModelThumbNailsText"+i).innerHTML=output	;			
				//document.getElementById('upmText'+i).innerHTML=upModels[i].name+"<br><span style=\"color:#898989\">"+upModels[i].current_title+"</span>";
				
				
				
				}
				
				
				
				outputText+="<td></td></tr></table>";
				 document.getElementById("upModelHeaderName").innerHTML=upModels[this.previouslyChosenUpModelCounter].name;
				 document.getElementById("upModelHeaderTitle").innerHTML=upModels[this.previouslyChosenUpModelCounter].current_title;
				 document.getElementById("upModelDetails").innerHTML=upModels[this.previouslyChosenUpModelCounter].details;
				 document.getElementById("upModelChartQuote").innerHTML=upModels[this.previouslyChosenUpModelCounter].snappy_quote1+"<br><span style=\"color:#C32034;\">-"+upModels[this.previouslyChosenUpModelCounter].name+"</span>";
				document.getElementById("upModelHeaderLocation").innerHTML=upModels[this.previouslyChosenUpModelCounter].location;
				document.getElementById("upModelHeaderEducation").innerHTML=upModels[this.previouslyChosenUpModelCounter].education;
				document.getElementById("upModelHeaderNetworkStyle").innerHTML=upModels[this.previouslyChosenUpModelCounter].network_style;
				document.getElementById("upModelHeaderBackground").innerHTML=upModels[this.previouslyChosenUpModelCounter].background;
				document.getElementById("upModelHeaderCompany").innerHTML=upModels[this.previouslyChosenUpModelCounter].current_company;
								//document.getElementById("upModelChartPicture").innerHTML="<img src="+upmodelImageDirectory+"upModelChart.jpg>";
				
				//call the flash
				//call the flash movie with new upmodel_id to change the chart
				this.intWhichUpmodel=this.upModelArray[0].upmodel_id;
				updateUpmodelIdInFlash();

			    if (this.upModelArray.length<this.increment || to >= randomUpmodelCount) {
			   // alert(this.upModelArray.length);
			   	document.getElementById("dummy2").innerHTML="<img style=\"filter:alpha(opacity=25);-moz-opacity:0.25\" src='"+imageDirectory+"arw-orange_right.gif'>";
			   
				
				for (i =this.upModelArray.length ;  i<this.increment;i++) {
				   counter=i%this.increment;
				
						 output="<div style='width:80px;text-align:middle;display:none;margin-top:5px;' id='upmText"+counter+"'></div>";
		 				document.getElementById("upModelThumbNailsText"+counter).style.backgroundImage="";
		 				document.getElementById("upModelThumbNailsText"+counter).innerHTML=output	;	
				
				}
				} else {
				
				document.getElementById("dummy2").innerHTML="<a  onclick=\"forwardShift='Y';getNextModels4User("+(from+this.increment)+","+(to+this.increment)+")\" ><img style=\"cursor:pointer;cursor:hand\" src='"+imageDirectory+"arw-orange_right.gif'></a>";
				
				
				}
				
				
				}
		});	
		
		
		

//updateUpmodelIdInFlash();
}


 function getNextModels4User1(from,to) {

alert(this.upModelArray.length+ "from - "+from+" :: "+to);

var img            = new Image;
img.src        = "/upmodelimages/upmodel_dropshadow2.jpg";

this.selectedUpModel=from%increment-1;
var url = '/blueprint/getUpModelChoices4User/'+from+'/'+to ; // to get results in json
//alert(url);

   //create the back Arrow URL
    
   if (from >increment) {
  
   document.getElementById("dummy1").innerHTML="<a  onClick=\"backwardShift='Y';getNextModels4User("+(from-increment)+","+(to-increment)+")\"> <img src='"+imageDirectory+"arw-orange_left.gif'>";
 
   } else {
    document.getElementById("dummy1").innerHTML="<img  style=\"filter:alpha(opacity=25);-moz-opacity:0.25\" src='"+imageDirectory+"arw-orange_left.gif'>";
  
   
   }
	
	new Ajax.Request(
		url,
		{
		method: 'get', 
		onSuccess: 
			function(transport) {
			var output="";
			    
	      		upModels = transport.responseText.evalJSON(true);
	      	
	      		
	      		//alert(url+" "+upModels.length);
	      		//If the 'to' parameter is less thn the number of upModels in the array, we don't have to do anything
	      		//alert(this.upModelArray[0].name);
	      		//If this range was already visited , don;t add the new upmodels in the array
	      		//alert(visitedRanges);
	      		if (!alreadyVisited(from,to)) {
	      		//alert("Not Visited");
	      		if (from <= this.upModelArray.length && from < this.previouslyChosenUpModel) {
	      			for (var j=upModels.length-1;j>=0;j--) {
	      		 			 this.upModelArray.unshift(upModels[j]);
	      		  		}
	      		} else if (to>this.upModelArray.length) {
	      		//alert("Upmodel length before "+this.upModelArray.length);
	      				for (var j=0;j<upModels.length;j++) {
	      		  //alert(j);
	      				  this.upModelArray.push(upModels[j]);
	      		  		}
	      		}  
	      		
	      		}
	      		
	      		//alert("Length is "+this.upModelArray.length);
	      		//ADd this to visited ranges
	      			 add2visitedRanges(from,to);			
	      		  var output="";
		//alert(this.upModelArray.length+" "+this.upModelArray[this.upModelArray.length-1].name);
		
		if (from>this.upModelArray.length) 
		   {
		     
		  		 fRange=this.upModelArray.length;
		  	 
		  }	 
		else {
		
		    if (backwardShift=='Y' && to > upModelArray.length) {fRange=from -increment; backwardShift='N';    } 
			else fRange=from;
			
			}
			backwardShift='N';
			forwardShift='N';
			//alert(fRange);
		
		  document.getElementById("upModelHeaderName").innerHTML=this.upModelArray[fRange-1].name;
		        document.getElementById("upModelHeaderTitle").innerHTML=this.upModelArray[fRange-1].current_title;
				 document.getElementById("upModelDetails").innerHTML=this.upModelArray[fRange-1].details;
				 document.getElementById("upModelChartQuote").innerHTML=this.upModelArray[fRange-1].snappy_quote1+"<br><span style=\"color:#C32034;\">-"+this.upModelArray[fRange-1].name+"</span>";
	      		 document.getElementById("upModelHeaderLocation").innerHTML=this.upModelArray[fRange-1].location;
				document.getElementById("upModelHeaderEducation").innerHTML=this.upModelArray[fRange-1].education;
				document.getElementById("upModelHeaderNetworkStyle").innerHTML=this.upModelArray[fRange-1].network_style;
				//document.getElementById("upModelChartPicture").innerHTML="<img src="+upmodelImageDirectory+"upModelChart.jpg>";
				document.getElementById("upModelHeaderBackground").innerHTML=this.upModelArray[fRange-1].background;
				document.getElementById("upModelHeaderCompany").innerHTML=this.upModelArray[fRange-1].current_company;
				//change the flash chart param
				this.intWhichUpmodel=this.upModelArray[fRange-1].upmodel_id;
	      		
	      	
		  
		
			//Finally fix the next arrow to ahve the right URL or 
	      	//disable the click if no more upModels left
	      
	      	if (to>this.randomUpmodelCount || upModels.length<7) {
	      	
	      	document.getElementById("dummy2").innerHTML="<img style=\"filter:alpha(opacity=50);-moz-opacity:0.5\" src='"+imageDirectory+"arw-orange_right.gif'>";
				
	      		
				} else {
				
				document.getElementById("dummy2").innerHTML="<a  onClick=\"forwardShift='Y';getNextModels4User("+(from+increment)+","+(to+increment)+")\"><img  src='"+imageDirectory+"arw-orange_right.gif'></a>";
				
				
				}
		
		diff=from-this.upModelArray.length;
		
		diff_div=(diff-diff%7)/7;
		alert(diff_div);
		if(diff_div>0) fRange=fRange-diff_div*increment+1;
		for (var i=fRange-1;i<to;i++)
		{
		
		alert(i+" counter "+ (fRange-1));
		output="";
		var counter=i-fRange+1;
		
		//Put some text on Upcelebrities
		//intWhichUpmodel=i==this.previouslyChosenUpModelCounter?upModels[i].upmodel_id:1;
	      		
		
		document.getElementById("upModelThumbNailsText"+counter).style.backgroundImage="";
		
		//call for showing /hiding the diclaimer
	//	if (i==fRange-1) toggleDisclaimer(upModels[i].status);
		
		if (i<this.upModelArray.length) {
		imgSrc='';
	      		if (this.upModelArray[i].status==2) {
	      		imgSrc="/myroadmap/createWaterMarkedImages/"+(i==(fRange-1)?this.upModelArray[i].thumbnail:this.upModelArray[i].greyimage)+upmodelimage_type+"/"+escape(this.upModelArray[i].short_name);
	      		} else {
	      		
	      		imgSrc=upmodelImageDirectory+(i==(fRange-1)?this.upModelArray[i].thumbnail:this.upModelArray[i].greyimage)+upmodelimage_type;
	      		
	      		}

		document.getElementById("upModelThumbNailsText"+counter).style.backgroundImage="url("+img.src+")";
		output+=
				"<img id='upmodelimage"+counter+"'  width='80' height='80'  ";
				//
				output+="style=\"filter:alpha(opacity=100);-moz-opacity:1\" ";
				output+= " onClick=\"highLightThis(this,0,"+counter+","+i+")\" onMouseout=\"makeInvisible(this,1,"+counter+");hide_hover();\" onMouseOver='makevisible(this,0);show_hover(event,"+i+")' src='"+imgSrc+"' >";
				//output+="<br>"+upModels[i].name;
				output+=i==(from-1)?"<div style='width:80px;text-align:middle;color:#C32034;margin-top:5px;' id='upmText"+counter+"'></div>":"<div style='width:80px;text-align:middle;display:none;color:#C32034;margin-top:5px;' id='upmText"+counter+"'></div>";
				
				
				document.getElementById("upModelThumbNailsText"+counter).innerHTML=output	;			
				//document.getElementById('upmText'+counter).innerHTML=this.upModelArray[i].name+"<br><span style=\"color:#898989\">"+this.upModelArray[i].current_title+"</span>";
		
		 }
		 else {
		 
		 //alert("i is"+i);
		 output+=i==(fRange-1)?"<div style='width:80px;text-align:middle;margin-top:5px;' id='upmText"+counter+"'></div>":"<div style='width:80px;text-align:middle;display:none;margin-top:5px;' id='upmText"+counter+"'></div>";
		 
		 document.getElementById("upModelThumbNailsText"+counter).innerHTML=output	;			
		 //document.getElementById('upmText'+counter).innerHTML="";
		 
		 }
		 
		}
		
		
		
		
		      
				}
		});
		
		
		
		



//call the flash movie again to redraw the chart

updateUpmodelIdInFlash();



}	

function getMoreDetails() {
//alert(this.upModelArray[this.selectedUpModelCounter].upmodel_id);
var url="/myroadmap/getMoreDetails/"+this.upModelArray[this.selectedUpModelCounter].upmodel_id;
//$('popover').show();
//alert(url);
open_window(url,'upmo_details','470','295','yes');



}

function open_window(url,name,w,h,sc,ex){
lp=(screen.width)?(screen.width-w)/2:100;
tp=(screen.height)?(screen.height-h)/2:100;
win=window.open(url,name,'width='+w+',height='+h+',top='+tp+',left='+lp+',scrollbars=yes,location=no,directories=no,status=no,menubar=0,toolbar=0,toolbars=0,resizable=no');
}



function setUpModelSelection()
{

//ans=confirm("Is this OK! "+this.upModelArray[this.selectedUpModelCounter].upmodel_id);

//if (!ans) return;
//First figure out if the user is trying to select the same model 

var url = '/blueprint/compareCurrentUpModel/'+this.upModelArray[this.selectedUpModelCounter].upmodel_id;
//alert(url);
new Ajax.Request(
		url,
		{
		method: 'get', 
		onSuccess: 
			function(transport) {
			var output="";
			compCount = transport.responseText.evalJSON(true);
	      		//No UpModel is selected so far then redirect it to a new URL
	      		if (compCount.count==0 ) {
	      		continueUpModelSelection('/set');
	      		}
	      		else {
	      		if (compCount.count==this.upModelArray[this.selectedUpModelCounter].upmodel_id) {
	      		
	      		//Its the same upmodel
	      		
	      		//alert("You are choosing the same upmodel . Your action plan will not be impacted");
	      		
	      		continueUpModelSelection('');
	      		} else {
	      		
	      		//var answer =confirm("You are choosing a different upmodel, This will impact your action plan. ");
	      		
	      		  // if (answer) {
	      		   continueUpModelSelection('/set');
	      		   //}
	      		}
	      		}
	      }
	      		});

//var url="/blueprint/setMyUpModel/"+this.upModelArray[this.selectedUpModelCounter].upmodel_id;
//location.href=url;



}


function continueUpModelSelection(actionType){


var url="/myroadmap/setMyUpModel/"+this.upModelArray[this.selectedUpModelCounter].upmodel_id+actionType;
location.href=url;


}


/*  used by Kristin's design 1.1  */

// ADAMS's RADIO CUSTOMISATION
// adam.burmister@gmail.com, Copyright 2005.


/**
NAME: initARC()

ABOUT:
 Detects the current user browser and customises the form's radio buttons if
 the browser is not IE mac, <= IE 4 or NS4.

USAGE:
 In your main HTML body use onLoad() to call initARC(), passing in the form id
 and on/off class names you wish to use to customise your radio buttons.
 e.g. <body onLoad="initARC('myform','radioOn', 'radioOff');">
 
PARAMS:
 formId   - The ID of the form you wish to customise
 onClass  - The CSS class name for the radio button's on style
 offClass - The CSS class name for the radio button's off style
*/
function initARC(formId,onClassRadio,offClassRadio,onClassCheckbox,offClassCheckbox) {
	// alert("initARC");
    var agt=navigator.userAgent.toLowerCase();

    // Browser Detection stuff
    this.major = parseInt(navigator.appVersion);
    this.ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    this.ie3    = (this.ie && (this.major < 4));
    this.ie4    = (this.ie && (this.major == 4) && (agt.indexOf("msie 4")!=-1) );
	this.iemac  = (this.ie && (agt.indexOf("mac")!=-1));

	if( !(this.iemac || ie3 || ie4) ){
		customiseInputs(formId,onClassRadio,offClassRadio,onClassCheckbox,offClassCheckbox);
	}
}



//Add a .label reference to all input elements. Handy! Borrowed from...
//http://www.codingforums.com/archive/index.php/t-14672
function addLabelProperties(f){
	if(typeof f.getElementsByTagName == 'undefined') return;
	var labels = f.getElementsByTagName("label"), label, elem, i = j = 0;
	
	while (label = labels[i++]){
		if(typeof label.htmlFor == 'undefined') return;
		elem = document.getElementById(label.htmlFor);
		//elem = f.elements[label.htmlFor]; /* old method */
		
		if(typeof elem == 'undefined'){
			//no label defined, find first sub-input
			var inputs = label.getElementsByTagName("input");
			if(inputs.length==0){
				continue;
			} else {
				elem=inputs[0];
			}
		} else if(typeof elem.label != 'undefined') { // label property already added
			continue;
		} else if(typeof elem.length != 'undefined' && elem.length > 1 && elem.nodeName != 'SELECT'){
			for(j=0; j<elem.length; j++){
				elem.item(j).label = label;
			}
		}
		elem.label = label;
	}
} 



/**
NAME: toggleLabelStyle()

ABOUT:
 This function is attached to our label's onClick event. So when the label is
 clicked this function alters the radio group's members to an unchecked state
 and style, and alters the currently selected label to the on style and checked
 state.

USAGE:
 ARC currently assumes that the label contains a FOR='id' in it's HTML. The other
 valid form of a label is <label>text <input /></label> - while it is possible
 to modify this code to allow for this form I have left this as an exercise for
 the reader.
 
PARAMS:
 formId   - Parent form of this label
 label    - The label for a radio button we wish to toggle
 onClass  - The CSS class name for the radio button's on style
 offClass - The CSS class name for the radio button's off style
*/
function toggleLabelStyle(formId, label, onClass, offClass){
	if(!document.getElementById || !label) return;
		
	var form = document.getElementById(formId); //label.form;
	if(!form) return;
	
	//find radio associated with label (if in htmlFor form)
	if(label.htmlFor) {
		var e = document.getElementById(label.htmlFor);
		
		if(e.type=="checkbox"){
			e.label.className = (e.label.className==onClass) ? offClass : onClass;
			e.checked = (e.label.className==onClass);
		} else if(e.type=="radio"){
		    //alert(e.name);
			var radioGroup = form.elements[e.name];
			//alert(radioGroup);
			if(!radioGroup) return;
			
			for(var i=0; i<radioGroup.length; i++){
				if(radioGroup[i].label){
					radioGroup[i].label.className = ((radioGroup[i].checked=(radioGroup[i].id == e.id))
													 && radioGroup[i].label) ? onClass : offClass;
				
				
				  //call another function to change the  value in the slider
				  
				    if (radioGroup[i].checked) {
				    
				      if (this.upmNWArray) {
				      document.getElementById("a61-1").value=this.upmNWArray[radioGroup[i].value];
				      setSlider("handle61", "slider61", "a61-1",2,20);
				      }
				    }
													 
				}
			}
		}
	}
}



/**
NAME: customiseInputs()

ABOUT:
 This function does all the magic. It finds the <input>'s within the passed form
 and attaches a .label reference to the element, and also adds an onClick
 function to that label to the toggleLabelStyle() function.
 It hides all radio elements from the form and mirrors the startup checked values
 in the label's customised radio button styles.

USAGE:
 Called from initARC()
 
PARAMS:
 formId   - The form we're customising
 onClass  - The CSS class name for the radio button's on style
 offClass - The CSS class name for the radio button's off style
*/
function customiseInputs(formId, onClassRadio, offClassRadio, onClassCheckbox, offClassCheckbox) {
	if(!document.getElementById) return;
	
	var prettyForm = document.getElementById(formId);
	if(!prettyForm) return;
		
	//onReset, reset radios to initial values
	prettyForm.onreset = function() { customiseInputs(formId, onClassRadio, offClassRadio, onClassCheckbox, offClassCheckbox); }
	
	//attach an easy to access .label reference to form elements
	addLabelProperties(prettyForm);

	var inputs = prettyForm.getElementsByTagName('input');
	
	for (var i=0; i < inputs.length; i++) {
		/* NB: Yeah, i know this code is duplicated - I can't figure out how to create a local, persistent
			variable within the anonymous function calls. Fix it if you can, and let me know. */
			
		//RADIO ONLY
		if( (inputs[i].type=="radio") && inputs[i].label && onClassRadio && offClassRadio){
			//hide element
			inputs[i].style.position="absolute"; inputs[i].style.left = "-2000px";
			//initialise element
			inputs[i].label.className=offClassRadio;
			//when the label is clicked, call toggleLabelStyle and toggle the label
			inputs[i].label.onclick = function (){ toggleLabelStyle(formId, this, onClassRadio, offClassRadio); return false; };
			//enable keyboard navigation
			inputs[i].onclick = function (){ toggleLabelStyle(formId, this.label, onClassRadio, offClassRadio); };
			//if the radio was checked by default, change this label's style to checked
			if(inputs[i].defaultChecked || inputs[i].checked){ toggleLabelStyle(formId, inputs[i].label, onClassRadio, offClassRadio); }
		}
		
		//CHECKBOX ONLY
		if( (inputs[i].type=="checkbox") && inputs[i].label && onClassCheckbox && offClassCheckbox){
			//hide element
			inputs[i].style.position="absolute"; inputs[i].style.left = "-2000px";
			//initialise element
			inputs[i].label.className=offClassCheckbox;
			inputs[i].checked = false;
			//when the label is clicked, call toggleLabelStyle and toggle the label
			inputs[i].label.onclick = function (){ toggleLabelStyle(formId, this, onClassCheckbox, offClassCheckbox); return false; };
			//enable keyboard navigation
			inputs[i].onclick = function (){ toggleLabelStyle(formId, this.label, onClassCheckbox, offClassCheckbox); };
			//if the radio was checked by default, change this label's style to checked
			if(inputs[i].defaultChecked || inputs[i].checked){ toggleLabelStyle(formId, inputs[i].label, onClassCheckbox, offClassCheckbox); }
		}

		if( (inputs[i].type=="checkbox") || (inputs[i].type=="radio") && inputs[i].label ){
			//Attach keyboard navigation
			if(!this.ie){ //IE has problems with this method
				//You could set these to grab a passed in class name if you wanted to
				//do something a bit more interesting for keyboard states. But for now the
				//generic dotted outline will do for most elements.
				inputs[i].label.style.margin = "1px";
				inputs[i].onfocus = function (){ this.label.style.border = "1px dotted #333"; this.label.style.margin="0px"; return false; };
				inputs[i].onblur  = function (){ this.label.style.border = "none"; this.label.style.margin="1px"; return false; };
			}
		}
}
}


function setTimeCommitment() {

ans=true;
if (this.defaultNw !=document.getElementById("a61-1").value) {

ans=confirm("You are changing your networking time. This will impact your task schedule. Press OK to confirm!");
}

if (ans==true) {

var nwhours=document.getElementById("a61-1").value;
var jstransition=1;
var rForm=document.getElementById("makeMeAPrettyFormRadio");
var radioGroup = rForm.elements['question13'];
			//alert(radioGroup);
			if(!radioGroup) return;
			
			for(var i=0; i<radioGroup.length; i++){
			   if (radioGroup[i].checked) jstransition=radioGroup[i].value;
			
			}


//alert(nwhours+" "+jstransition);

var url="/myroadmap/editMapping/"+jstransition+"/"+nwhours+"/set";
//alert(url);
location.href=url;


} else 
{

return;
}



}

setSlider = function(handleID, sliderID, answerID, from,  to){
	//alert("comeon");

	//alert(handleID+sliderID+answerID+from+to+document.getElementById(answerID).getAttribute('value'));
	this.handleID = handleID;
	this.sliderID = sliderID;
	this.answerID = answerID;
	if (from==null) from=2;
	if (to==null) to=20;
	
	//alert(to);
	answerValue = document.getElementById(answerID);
	initialValue = answerValue.getAttribute('value');
	//alert(initialValue);

	new Control.Slider(handleID, sliderID, {
		range: $R(from, to),
		sliderValue: initialValue,
		onSlide: function(v) {
			tVal=$(answerID).value ;
			v=nextNearest(v,0.5);  
			/*if (tVal!=v) {
			$(answerID).value = nextNearest(v,0.5); 
			changeNoteColor($(answerID).value);
			updateUserNWPreferences(v);
			setTimeout('updateFlash()', 1000);
			}*/
			},
		onChange: function(v) {
		//alert("Are we here");
			tVal=$(answerID).value ;
			v=nextNearest(v,0.5); 
			if (tVal!=v) {
			//alert("Update Finsihed");
			$(answerID).value = nextNearest(v,0.5); 
			changeNoteColor($(answerID).value);
			//updateUserNWPreferences(v); //update the value
			//setTimeout('updateFlash()', 1000); //the timeout its to stop user from sliding and sliding
			}
			}
		});
		
	  //changeNoteColor(answerID.value);	
		//alert(answerValue.getAttribute('value'));
	}

function add2visitedRanges(from,to) {

 visited=false;
 //alert(from+"::"+to);
 for (i=0; i < this.visitedRanges.length; i++) {
 
    if (this.visitedRanges[i]==from+"::"+to)
    {
    
    visited=true;
    break;
    }
 
 }

if (!visited) this.visitedRanges.push(from+"::"+to);

}


function alreadyVisited(from,to) {

 visited=false;
 for (i=0; i < this.visitedRanges.length; i++) {
 
    if (this.visitedRanges[i]==from+"::"+to)
    {
    
    visited=true;
    break;
    }
 
 }

return visited;

}


function chooseNewUpModel() {

myform=document.createElement("form");
myText=document.createElement("INPUT");
myText.setAttribute("value","setMyUpModel");
myText.setAttribute("name","changeMyUpModel");
myform.appendChild(myText);
myform.setAttribute("method","POST");
myform.setAttribute("action","/myroadmap");
document.body.appendChild(myform);
myform.method='POST';
myform.action="/myroadmap";
//alert("Are we here");
myform.submit();
 









}

function hide_hover()
{
	document.getElementById('hover_popup').style.display='none';
//Fix for Bug 1558    	
   toggleDisclaimer (this.upModelArray[this.selectedUpModelCounter].status);
}

var final_offset_y = 0;
var final_offset_x = 0;

function show_hover(evt, counter)
{
   //alert(counter);
   //show or hide the display of disclaimer
   toggleDisclaimer (this.upModelArray[counter].status);

	magic_offset_x = 20;
	 document.getElementById("hover_upModelHeaderName").innerHTML=this.upModelArray[counter].name;
				 document.getElementById("hover_upModelHeaderTitle").innerHTML=this.upModelArray[counter].current_title;
				
				document.getElementById("hover_upModelHeaderLocation").innerHTML=this.upModelArray[counter].location;
				document.getElementById("hover_upModelHeaderEducation").innerHTML=this.upModelArray[counter].education;
				document.getElementById("hover_upModelHeaderNetworkStyle").innerHTML=this.upModelArray[counter].network_style;
				document.getElementById("hover_upModelHeaderBackground").innerHTML=this.upModelArray[counter].background;
				document.getElementById("hover_upModelHeaderCompany").innerHTML=this.upModelArray[counter].current_company;

	var b = document.body;
	Element.extend(b);
	//There will be always 7 spaces irrespective of number of upmodels
	// hence get the space id
	counter=counter%7;
	element = document.getElementById('hover_popup');
	Element.extend(element);	// For precious little IE.
	target = document.getElementById("upModelThumbNailsText"+counter);
	Element.extend(target);

	//alert(target.viewportOffset().top);
	
	//if (this.final_offset_x==0) {
	this.final_offset_x = target.viewportOffset().left;
	
	//alert(target.viewportOffset().left);
	
	//}
	//if (this.final_offset_y==0) {
	this.final_offset_y = target.viewportOffset().top;
	
	//}
	
	app=navigator.appName.substring(0,1);
	M=false;
	N=false;
	if (app=='N') N=true; else M=true;
	//alert(this.final_offset_x);
	
	x= this.final_offset_x;
	y= this.final_offset_y;
	
	//alert(this.final_offset_x);
	//x = x+target.getWidth()/2-element.getWidth()/5+magic_offset_x;
	//x = x-element.getWidth()/2;//+magic_offset_x;
	
	if (M) {
	y = target.positionedOffset().top+100 ;// + b.cumulativeScrollOffset().top - target.cumulativeScrollOffset().top - element.getHeight()/2 + target.getHeight()/2 + magic_offset_y;
	//x = x+target.getWidth()/2-element.getWidth()/5+magic_offset_x;
	
	switch (counter) {
	
	case 0:
	  magic_offset_x=-70;
	  break;
	case 1:
	  magic_offset_x=-40;
	  break;
	case 2:
	  magic_offset_x=-90;
	  break;
	case 3:
	  magic_offset_x=-85;
	  break;
	case 4:
	  magic_offset_x=-85;
	  break;
	case 5:
	  magic_offset_x=-80;
	  break;
	case 6:
	  magic_offset_x=-70;
	  break;    
	}
	//x = x+target.getWidth()/2-element.getWidth()/5+magic_offset_x;
	//x=target.positionedOffset().left;
	y=this.absYposition+82;
	x=target.viewportOffset().left;

	
	} else {
	//y = target.positionedOffset().top ;// + b.cumulativeScrollOffset().top - target.cumulativeScrollOffset().top - element.getHeight()/2 + target.getHeight()/2 + magic_offset_y;
//	x = x-element.getWidth()/2;//+magic_offset_x;
	//x=evt.target.offsetLeft;
	//y = target.positionedOffset().top;
	y=this.absYposition+82;
	//x=this.absXposition[counter];
	
	switch (counter) {
	
	case 0:
	  magic_offset_x=40;
	  break;
	case 1:
	  magic_offset_x=0;
	  break;
	case 2:
	  magic_offset_x=-30;
	  break;
	case 3:
	  magic_offset_x=-20;
	  break;
	case 4:
	  magic_offset_x=-15;
	  break;
	case 5:
	  magic_offset_x=-10;
	  break;
	case 6:
	  magic_offset_x=-5;
	  break;    
	} 
	
	
	}
	//alert(magic_offset_x );
	
	
	// - element.getWidth() + magic_offset_x;
	//alert(x+ "  " +y);
	element.setStyle({'top':264+'px'});
	element.setStyle({'left':x+'px'});
	//element.setStyle({'z-index':-1});
	element.style.display = '';
}


function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }
  
  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
  

// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0
var tempY = 0

// Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    try {
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
     } catch(exception) {
     tempY=0;
     tempX=0;
                                  }
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  // show the position values in the form named Show
  // in the text fields named MouseX and MouseY
  //document.Show.MouseX.value = tempX
  //document.Show.MouseY.value = tempY
  return true
}


function changeNoteColor(answerValue) {

var note=document.getElementById("upmo_recommended_hours");
//alert(note);
if (answerValue >= this.upmodelRecommended ) {

  // note.setStyle({'color':'#252525'});
	note.style.color='#252525';
} else {
  		//alert("Am i hre");
  		//note.style.color='#ff0000'; 
		note.innterHTML = "hehe";
     //note.setStyle({'color':'#ff0000'});

}
}

function nextNearest(value, number) {
  var ceil = Math.ceil(value);
  var remainder = value % number;
  if (remainder > 0)
    value = value - remainder + number;
  return value;
}


function changeJobTransition(thisDD) {

val=thisDD.options[thisDD.selectedIndex].value;
var note=document.getElementById("upmo_recommended_hours");

this.upmodelRecommended=this.upmNWArray[val];

//set the hidden input value

var currentJobTransition=document.getElementById("a61-1").value;

document.getElementById("a61-1").value=this.upmNWArray[val];
note.innerHTML="*UpMo recommends you network for "+this.upmodelRecommended+" hours per week";
//alert(val+ " "+upmNWArray[val]);
				      setSlider("handle61", "slider61", "a61-1",2,20);
				      
				      
updateUserNWPreferences(document.getElementById("a61-1").value);				      
if (currentJobTransition!=document.getElementById("a61-1").value) {
setTimeout('updateFlash()', 1000); 
}


}




function updateUserNWPreferences(v) {


var url = '/blueprint/saveUserNWPreferences'; // to get results in json
thisDD=document.getElementById("changeJobTransition");
var params = "prefered_job_transition="+thisDD.options[thisDD.selectedIndex].value+"&prefered_nw_hours="+v;
new Ajax.Request(
		url,
		{
		method: 'post', 
		parameters: params,
		onSuccess: 
			function(transport) {
		
			    
	      		var res = transport.responseText.evalJSON(true);
	     
	    }  		
		});	

}


	function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}

function updateUpmodelIdInFlash() {
//alert(intWhichUpmodel);
//alert(thisMovie("Blueprint_2_SmallUpmodel"));
	thisMovie("Blueprint_2_SmallUpmodel").sendToActionScript(intWhichUpmodel);
}

//jh's code
/*function refreshFlash()
{
	//most reliable way of getting the flash movie
	var mv = window.document["Blueprint_2"];
	mv.unloadMovie();
	mv.loadMovie("http://jiandev.upmo.com/flash/Blueprint_2");
}*/
//jh's code

function updateFlash() {
        thisMovie("Blueprint_2").sendToActionScript();
}

function setLegend() {
target=document.getElementById("contentEditMapping");
x=target.viewportOffset().left;
y=target.viewportOffset().top;
element=document.getElementById("editMappingLegend");

element.setStyle({'left':x+'px'});
//alert (x+"  "+y);
element.setStyle({'top':y+'px'});
//alert(element.viewportOffset().left);
element.style.display='';
alert(element.style);

}

/*Fix for Bug 199 */
function changeUpmodelFromFlash() {
    // Your code here to send to Change Upmodel page
    chooseNewUpModel();
}

//Shows r hides the disclaimer
function toggleDisclaimer (upCeleb) {
if (upCeleb==1) {
	
	document.getElementById("disclaimer").style.display='none';
	} else {
	document.getElementById("disclaimer").style.display='';
	}


}
function getNewUpModelData(category,from,to,button_name)
{
var params = "category="+category+"&from="+from+"&to="+to;
var vresponse;
updateButtons(button_name);

 //if (!checkJobTitle()) return;	
	var uri = '/myroadmap/getNewUpModels/';
	new Ajax.Request
	(
		uri, 
		{
			method: 'post',
		 	parameters: params,	
			onSuccess: function(transport) {
				vresponse = transport.responseText;
				//alert(vresponse);
				div="UpModelData";
				$(div).update();
				$(div).insert(vresponse);
				//alert(document.getElementById("UpModelData").innetHTML);
				}
		}
	); 
	var uri = '/myroadmap/getNewUpModelsCount/';
	new Ajax.Request
	(
		uri, 
		{
			method: 'post',
		 	parameters: params,	
			onSuccess: function(transport) {
				vresponse = transport.responseText;
				div="category_count";
				$(div).update();
				$(div).insert(vresponse);
				fromplus=from+5;
				toplus=to+5;
				fromminus=from-5;
				tominus=to-5;
				if (tominus<5) tominus=5;
				vresponse=vresponse.substr(vresponse.indexOf('(')+1,vresponse.indexOf(')')-vresponse.indexOf('(')-1);
				vlink="<table border='0' cellspacing='0' cellpadding='0'><tr><td>";

				if (fromminus>0) {
				//vlink="<a href='javascript:void(0)' onclick='getNewUpModelData("+category+","+fromminus+","+tominus+",\""+button_name+"\")'>Prev 5 </a>";
					vlink+="<a href='javascript:void(0)' onclick='getNewUpModelData("+category+","+fromminus+","+tominus+",\""+button_name+"\")'><img src='"+imgUrl+"blueprint/prv_btn.gif' /></a>";
				}
				else{
					vlink+="&nbsp;";
				}
				vlink+="</td><td>";
				if (to<vresponse) {		
					vlink+=from+"-"+to;
				} else {
					vlink+=from+"-"+vresponse;
				}
				vlink+="</td><td>";
				if (vresponse > fromplus && vresponse > toplus) {
				//vlink+=" <a href='javascript:void(0)' onclick='getNewUpModelData("+category+","+fromplus+","+toplus+",\""+button_name+"\")'>Next 5 </a>";
					vlink+="<a href='javascript:void(0)' onclick='getNewUpModelData("+category+","+fromplus+","+toplus+",\""+button_name+"\")'><img src='"+imgUrl+"blueprint/next_btn.gif' /></a>";

				} else if (vresponse >= fromplus ) {
					lastup=vresponse-fromplus+1;
					//vlink+=" <a href='javascript:void(0)' onclick='getNewUpModelData("+category+","+fromplus+","+vresponse+",\""+button_name+"\")'>Next "+lastup+"  </a>";
					vlink+="<a href='javascript:void(0)' onclick='getNewUpModelData("+category+","+fromplus+","+toplus+",\""+button_name+"\")'><img src='"+imgUrl+"blueprint/next_btn.gif' /></a>";
				} 
				vlink+="</td></tr></table>";

				div="javascript-link";
				$(div).update();
                                $(div).insert(vlink);


				div="bottom-navigation";
				$(div).update();
                                $(div).insert(vlink);
				
				}
		}
	); 
}


function updateButtons(current){
        $('featured').writeAttribute("class", "");
        $('finance').writeAttribute("class", "");
        $('technology').writeAttribute("class", "");
        $('marketing').writeAttribute("class", "");
        $('leadership').writeAttribute("class", "");
	try {
        $('my_upmodel').writeAttribute("class", "");
	} catch(err) {}
        $('all_upmodels').writeAttribute("class"); // , "last");

                $(current).writeAttribute("class", "selected");
        }


function setUpModelSelectionNew(upmodel_id)
{

//ans=confirm("Is this OK! "+this.upModelArray[this.selectedUpModelCounter].upmodel_id);

//if (!ans) return;
//First figure out if the user is trying to select the same model 

var url = '/blueprint/compareCurrentUpModel/'+upmodel_id;
//alert(url);
new Ajax.Request(
		url,
		{
		method: 'get', 
		onSuccess: 
			function(transport) {
			var output="";
			compCount = transport.responseText.evalJSON(true);
	      		//No UpModel is selected so far then redirect it to a new URL
	      		if (compCount.count==0 ) {
	      		continueUpModelSelectionNew(upmodel_id,'/set');
	      		}
	      		else {
	      		if (compCount.count==upmodel_id) {
	      		
	      		//Its the same upmodel
	      		
	      		//alert("You are choosing the same upmodel . Your action plan will not be impacted");
	      		
	      		continueUpModelSelectionNew(upmodel_id,'');
	      		} else {
	      		
	      		//var answer =confirm("You are choosing a different upmodel, This will impact your action plan. ");
	      		
	      		  // if (answer) {
	      		   continueUpModelSelectionNew(upmodel_id,'/set');
	      		   //}
	      		}
	      		}
	      }
	      		});

//var url="/blueprint/setMyUpModel/"+this.upModelArray[this.selectedUpModelCounter].upmodel_id;
//location.href=url;



}
function continueUpModelSelectionNew(upmodel_id,actionType){


var url="/myroadmap/setMyUpModel/"+upmodel_id+actionType;
location.href=url;


}

