var page = "";
var cOrder = "-99"; //cookie-preselcted order....set when user back clicks on allver page

//WSS variables
var wss_product = "Adobe Reader";
var wss_platform = ""; //set by individual _javascipt.ssi files
var wss_language = ""; //set in  downloadNow -->setWSS_langVersion
var wss_version = ""; //set in  downloadNow -->setWSS_langVersion
var wss_filename = ""; //set in  downloadNow

function changedGetyahoo() 
{
  var form = document.readerForm;
  
  if (form.getyahoo.checked)
  {
  	form.getyahoo.value = '1';
  }else
  {
  	form.getyahoo.value = '0';
  }
  updateLayers();
}

function changedGetpase() 
{
  var form = document.readerForm;
    
  if (form.getpase.checked)
  {
  	form.getpase.value = '1';
  }else
  {
  	form.getpase.value = '0';
  }
  updateLayers();
}

function resetYahooPase()
{
	var form = document.readerForm;
	//reset pase, yahoo
	form.getyahoo.checked = true;
	form.getyahoo.value = '1';
	form.getpase.checked = true;
	form.getpase.value = '1';
}

// uncheck getyahoo if layer isnt showing
function updateGetyahoo() 
{
	var form = document.readerForm;
	var language = form.language.value;
	var option = form.option.value;
	var platform = '';
	var order = '';
	
	if (page == 'allver')
	{
		platform = getSelectedPlatform('getValue');
		order = getSelectedOrder();
	}else
	{
		platform = form.platform.value;
  		order = form.order.value;
	}
	
  
  if (! fileinfo[option][platform][language][order][6] )
  {
    form.getyahoo.checked = false;
  }
  if (form.getyahoo.checked)
  {
  	form.getyahoo.value = '1';
  }else
  {
  	form.getyahoo.value = '0';
  }
 
}

// uncheck getpase if layer isnt showing
function updateGetpase() 
{
	var form = document.readerForm;
	var language = form.language.value;
	var option = form.option.value;
	var platform = '';
	var order = '';
	
	if (page == 'allver')
	{
		platform = getSelectedPlatform('getValue');
		order = getSelectedOrder();
	}else
	{
		platform = form.platform.value;
	 	order = form.order.value;
	}
  
	if (! fileinfo[option][platform][language][order][5] )
		form.getpase.checked = false;
	  
	if (form.getpase.checked)
	{
		form.getpase.value = '1';
	}else
	{
		form.getpase.value = '0';
	}
}

// detect if selected file and this browser platform supports dlm
function updateEsdcanbeused() 
{ 
	var form = document.readerForm;
	var language = form.language.value;
	var option = form.option.value;
	var platform = '';
	var order = '';
	
	if (page == 'allver')
	{
		platform = getSelectedPlatform('getValue');
		order = getSelectedOrder();
	}else
	{
		platform = form.platform.value;
	 	order = form.order.value;
	}

  form.esdcanbeused.value = (fileinfo[option] && fileinfo[option][platform] && fileinfo[option][platform][language] && fileinfo[option][platform][language][order] && fileinfo[option][platform][language][order][1]) ? '1' : '0';
}

// check if this computer already has correct dlm version
function updateEsdcanhandle() 
{
	var form = document.readerForm;
	var language = form.language.value;
	var option = form.option.value;
	var platform = '';
	var order = '';
	
	if (page == 'allver')
	{
		platform = getSelectedPlatform('getValue');
		order = getSelectedOrder();
	}else
	{
		platform = form.platform.value;
	 	order = form.order.value;
	}

  var esdversion = fileinfo[option] && fileinfo[option][platform] && fileinfo[option][platform][language] && fileinfo[option][platform][language][order] && fileinfo[option][platform][language][order][1];

  form.esdcanhandle.value = (esdversion > 0 && js_getClientESDVersion() >= esdversion) ? '1' : '0';
}

function updateHasjavascript() 
{
  var form = document.readerForm;
  // inform thanks page that javascript works!
  form.hasjavascript.value = '1';
}


// things that happen just before the form is submitted
function checkForm() 
{
    var form = document.readerForm;
	// do esdcanhandle here in case download manager is uninstalled while filling out form!
	updateEsdcanhandle();
	updateGetyahoo();
	updateGetpase();
	updateHasjavascript();
	return true;
}

function parsefilename(fileurl)
{
	var start = fileurl.lastIndexOf("/");
	if (start >= 0)
	{
		start += 1;
		var end = fileurl.length;
		var filename = fileurl.substring(start, end);
		return filename;
	}
	return fileurl;
}

function setWSS_langVersion()
{
	var form = document.readerForm;
	var language = form.language.value;
	wss_language = form.language.value;
	var option = form.option.value;
	var platform = '';
	var order = '';
	
	if (page == 'allver')
	{
		platform = getSelectedPlatform('getValue');
		order = getSelectedOrder();
	}else
	{
		platform = form.platform.value;
	 	order = form.order.value;
	}
	
   if (fileinfo[option] && fileinfo[option][platform] && fileinfo[option][platform][language] && fileinfo[option][platform][language][order])
   {
	   	var finfo = fileinfo[option][platform][language][order];	
	   	wss_version = versionlabel[finfo[2]];
   }
}

function downloadNow() 
{	
	var form = document.readerForm;

	checkForm();
	setWSS_langVersion();
			
	//get readerfile and thanks page
	var sf = servefile(form);
	
	//call WSS functins
	if (sf['READERFILE'] && sf['THANKSPAGE'].indexOf("noreader") < 0)
	{
		wss_filename = parsefilename(sf['READERFILE']); //parse http junk		
		var wss_string = wss_product + "|" + wss_platform + "_" + wss_language + "_" + wss_version + "_" + wss_filename;   
		//var wss_string = wss_substring + ";" + wss_substring + ";" + wss_substring + "'";
		_hbSet('c2', wss_string);
		_hbSend(); 
	} 

					
		if (sf['READERFILE'] && sf['THANKSPAGE'].indexOf("noreader") < 0)
		{ 
			window.open(sf['READERFILE'],'dlreader','toolbar=0,location=no,directories=0,status=0, scrollbars=no,resizable=0,width=1,height=1,top=0,left=0');
			window.focus();
		    form.submit(); 
		}else
		{
			location.href = sf['THANKSPAGE']; //no reader file
		}
	
}

popupWins = new Array();

function popup(ptype)
{
	if (ptype == "winupdate")
	{
		windowOpener('readstep2_602update_win_notice.html', '602Updatewin', 'WIDTH=475,HEIGHT=575,resizable=yes,top=300,left=550');
	}
	if (ptype == "macupdate")
	{
		windowOpener('readstep2_602update_mac_notice.html', '602Updatemac', 'WIDTH=575,HEIGHT=345,resizable=yes,top=350,left=550');
	}
}

function windowOpener(url, name, args)
{
	if ( typeof( popupWins[name] ) != "object" )
	{
		popupWins[name] = window.open(url,name,args);
	}else
	{
		if (!popupWins[name].closed)
		{
			popupWins[name].location.href = url;
		}else 
		{
			popupWins[name] = window.open(url, name,args);
		}
	}
	popupWins[name].focus();
}


// show and hide layers depending on selections
function updateLayers() 
{
    var form = document.readerForm;
	var language = form.language.value;
	var option = form.option.value;
	var platform = '';
	var order = '';
	
	if (page == 'allver')
	{
		platform = getSelectedPlatform('getValue');
		order = getSelectedOrder();
	}else
	{
		platform = form.platform.value;
	 	order = form.order.value;
	}
        
    if (fileinfo[option] && fileinfo[option][platform] && fileinfo[option][platform][language] && fileinfo[option][platform][language][order])
	{
	   	var finfo = fileinfo[option][platform][language][order];
	   	
	   	//if page=main or page=main_moreinfo display version label
	   	if(page.indexOf('main') >= 0)
	   	{
		   	if (versionlabel[finfo[2]])
			{  						
				document.getElementById('readerlabel').innerHTML = versionlabel[finfo[2]];	
				document.getElementById('genericlabel').style.display = 'none';
			}else
			{
				document.getElementById('genericlabel').style.display = 'inline';
			}
		}
	   	
	    //if dlm can be used show yahoo/pase
		if (finfo[1])
		{
		   	// special case: yahoo checkbox
		  
		   	document.getElementById('yahoocheckbox').style.display = (finfo[6] ) ? 'block' : 'none';		  
		  
		   	// special case: pase checkbox
		   	document.getElementById('pasecheckbox').style.display = (finfo[5] ) ? 'block' : 'none';
		    //display also download message
		    //document.getElementById('also_dl').style.display = (finfo[5] || finfo[6]) ? 'block' : 'none';
		    if (document.getElementById('yahoocheckbox').style.display.indexOf('none') == 0  && document.getElementById('pasecheckbox').style.display.indexOf('none') == 0)
		    {
		    	document.getElementById('also_dl').style.display = 'none';
		    }else
		    {
		    	document.getElementById('also_dl').style.display = 'block';
		    }
	   	}else
	   	{	   
		   	document.getElementById('yahoocheckbox').style.display = 'none';
		   	document.getElementById('pasecheckbox').style.display = 'none';
		    document.getElementById('also_dl').style.display = 'none';
	   	}
	   	
	   	//update system reqs
	   	document.getElementById('systemreqs').href = finfo[3];
	   	
	   	updateSizeTime(finfo, form);	
	   	update602Notice(finfo, platform);	  			     
	 }  
	 
}

//6.02 update notice
function update602Notice(finfo, platform)
{
	if(finfo[2] == 'reader601')
	{
		if(platform.indexOf('Win') >= 0)
		{
			document.getElementById('updatepopup').href = "javascript: popup('winupdate')";
			document.getElementById('upgradereader').style.display = 'block';
		}
		else if(platform.indexOf('Mac') >= 0)
		{
			document.getElementById('updatepopup').href = "javascript: popup('macupdate')";
			document.getElementById('upgradereader').style.display = 'block';
		}
		else
		{
		  document.getElementById('upgradereader').style.display = 'none';
		 }
	}else
	{
		document.getElementById('upgradereader').style.display = 'none';
	 }
}

// update size and version layers based on file selected
function updateSizeTime(finfo, form)
{
  	// total size
  	var total_size = finfo[4];
  	
  	//if dlm can be add show yahoo/pase times
	if (finfo[1])
	{
	 
	  total_size += ((finfo[6] && form.getyahoo.checked) ? finfo[6] : 0)
                  + ((finfo[5] && form.getpase.checked) ? finfo[5] : 0);
     
    }
    document.getElementById('fsize_detail').innerHTML = parseInt((total_size) * 10) / 10;
    document.getElementById('fsize').style.display = finfo[4] ? 'block' : 'none';
    
    // yahoo size
    //document.getElementById('yahoosize').innerHTML = ((finfo[6] && form.getyahoo.checked) ? finfo[6] : 0) 
    // pase size
    //document.getElementById('pasesize').innerHTML = ((finfo[5] && form.getpase.checked) ? finfo[5] : 0); 
  
  // download time
   if(finfo[4])
   {
	   setTime('T1', total_size, 1500); 
	   setTime('Mod', total_size, 53.3);     
   }else
   {
   	   resetTimeLabels('T1');
   	   document.getElementById('T1h_num').innerHTML = '--';
   	   resetTimeLabels('Mod');
   	   document.getElementById('Modh_num').innerHTML = '--';   	   
   }
}

function resetTimeLabels(ctype)
{
	document.getElementById(ctype + 'h_num').innerHTML = '';
	document.getElementById(ctype + 'hour').style.display = 'none';
	document.getElementById(ctype + 'hours').style.display = 'none';
	
	document.getElementById(ctype + 'm_num').innerHTML = '';
	document.getElementById(ctype + 'min').style.display = 'none';
	document.getElementById(ctype + 'mins').style.display = 'none';
	
	document.getElementById(ctype + 's_num').innerHTML = '';
	document.getElementById(ctype + 'sec').style.display = 'none';
	document.getElementById(ctype + 'secs').style.display = 'none';		
}

function setTime(ctype, size, speed)
{	
	resetTimeLabels(ctype);
	 var time;
	 var hours;
	 var mins;
	 var secs_left;
	 var secs;

	 time = (size * 1024) / (speed / 8); // size in KBs / (speed/8)
	 time = Math.round(time);
	 hours = time / 3600;
	 hours = Math.floor(hours);
	 
	 if(hours >= 1) 
	 {
	    document.getElementById(ctype + 'h_num').innerHTML =  hours;
	    if(hours == 1)
		 {
		    document.getElementById(ctype + 'hour').style.display = 'inline';
		 }else
		 {
		    document.getElementById(ctype + 'hours').style.display = 'inline';
		 }
	    
	    secs_left = time % 3600;
	    if(secs_left > 60) 
	    {
	       mins  = secs_left / 60;
	       mins = Math.floor(mins);
	       
	       document.getElementById(ctype + 'm_num').innerHTML =  mins;
	       if(mins == 1) 
	       {
			   document.getElementById(ctype + 'min').style.display = 'inline';
			}else
			{
			   document.getElementById(ctype + 'mins').style.display = 'inline';
			}
	    }
	    else 
	    {
	       mins = 0;
	    }
	 }
	 else 
	 {	    
	    mins  = time / 60;
	    mins = Math.floor(mins);
	    	    
	    if(mins >= 1)
	    {
			document.getElementById(ctype + 'm_num').innerHTML =  mins;
			if(mins == 1) 
		    {
			   document.getElementById(ctype + 'min').style.display = 'inline';
		    }else
		    {
			   document.getElementById(ctype + 'mins').style.display = 'inline';
	    	}
	    }
	    else 
	    {
			secs = time % 60;
			
			if( secs == 0) 
			{
				secs = 1;
			}
			document.getElementById(ctype + 's_num').innerHTML = secs;
			if(secs == 1) 
			{
				document.getElementById(ctype + 'sec').style.display = 'inline';
			}else
			{
				document.getElementById(ctype + 'secs').style.display = 'inline';
			}	
	    }
	}
}

function getSelectedPlatform(toShow)
{
    var form = document.readerForm;
	var platform = "";
	
	if (toShow && toShow == 'getLabel')
	{
		if(form.os.value == 'win' && form.winPlatform.value)
		{
			platform = form.winPlatform.options[form.winPlatform.selectedIndex].innerHTML;
		}else if(form.os.value == 'mac' && form.macPlatform.value)
		{
			platform = form.macPlatform.options[form.macPlatform.selectedIndex].innerHTML;

		}else if(form.os.value == 'unix' && form.unixPlatform.value)
		{
			platform = form.unixPlatform.options[form.unixPlatform.selectedIndex].innerHTML;
		}else if(form.os.value == 'mobile' && form.mobilePlatform.value)
		{
			platform = form.mobilePlatform.options[form.mobilePlatform.selectedIndex].innerHTML;
		}else if(form.os.value == 'other' && form.otherPlatform.value)
		{
			platform = form.otherPlatform.options[form.otherPlatform.selectedIndex].innerHTML;
		}	
	}else if ((toShow && toShow == 'getIndex'))
	{
		if(form.os.value == 'win' && form.winPlatform.value)
		{
			platform = form.winPlatform.selectedIndex;
		}else if(form.os.value == 'mac' && form.macPlatform.value)
		{
			platform = form.macPlatform.selectedIndex;
		}else if(form.os.value == 'unix' && form.unixPlatform.value)
		{
			platform = form.unixPlatform.selectedIndex;
		}else if(form.os.value == 'mobile' && form.mobilePlatform.value)
		{
			platform = form.mobilePlatform.selectedIndex;
		}else if(form.os.value == 'other' && form.otherPlatform.value)
		{
			platform = form.otherPlatform.selectedIndex;
		}		
	}else
	{
		if(form.os.value == 'win' && form.winPlatform.value)
		{
			platform = form.winPlatform.value;
		}else if(form.os.value == 'mac' && form.macPlatform.value)
		{
			platform = form.macPlatform.value;
		}else if(form.os.value == 'unix' && form.unixPlatform.value)
		{
			platform = form.unixPlatform.value;
		}else if(form.os.value == 'mobile' && form.mobilePlatform.value)
		{
			platform = form.mobilePlatform.value;
		}else if(form.os.value == 'other' && form.otherPlatform.value)
		{
			platform = form.otherPlatform.value;
		}
	}
	return platform;
}

function getSelectedOrder()
{
	var form = document.readerForm;
	
	if (cOrder.indexOf("-99") < 0)
	{ //if cookie/preselected order value exists
      //this controls for a strange safari bug that only occurs when user clicks back, then switches the os...then clicks back again, form.order_radio is null 
		return cOrder;
	}
	
	if(form.order_radio)
	{
		for (var i =0; i < form.order_radio.length; i++)
		{
			if(form.order_radio[i].checked)
			{
				return form.order_radio[i].value;
			}
		}
	}
	//if there is only 1 radio option...js returns order_radio=undifined...so have to reurn 1 if undifined
	return "1";
}

function hideStep2()
{
	document.getElementById('step2').style.display = 'none';
	document.getElementById('fsize_detail').innerHTML = '';
	resetTimeLabels('T1');
   	document.getElementById('T1h_num').innerHTML = '--';
   	resetTimeLabels('Mod');
   	document.getElementById('Modh_num').innerHTML = '--';   	 
}

function getCookieValue(name)
{
  var dc = document.cookie;
  var prefix = name + "=";
  var p = "; " + prefix;
  var begin = dc.indexOf(p);
  if (begin == -1) 
  {
    begin = dc.indexOf(prefix);
    if (begin != 0) 
    	return "none";
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
    
  var bp = begin + prefix.length;
  var dcs = dc.substring(bp, end);
  return unescape(dcs);
}

function parseKonquerorCrap(junk)
{
	var prefixString  = '">' ;
	var postfixString = '</' ;
	
	var prefixEnd = junk.indexOf(prefixString);
	var postfixStart = junk.lastIndexOf(postfixString);
    
    if(prefixEnd >= 0 && postfixStart >= 0)
    {
		prefixEnd = prefixEnd + 2;
		
		var value = junk.substring(prefixEnd, postfixStart);
		
		return unescape(value);
	}
	return junk;
}