var win = getWindowDimensions();

document.observe("dom:loaded", function() { 
	// Pointer to new website
	newSiteRedir();
});

function newSiteRedir()
{
	var visitor = readCookie('cipo_visitor');
	if (visitor == 'current')
	{
		$('status_header_wrapper').style.left = (win.x / 2 - 200) + 'px';
		new Effect.SlideDown($('status_header_wrapper'), { duration: 0.7, delay: 0.7 });
		return;
	}
	
	var newSiteTemplate = new Template(

		'We\'ve Moved! &iexcl;Cambiamos!<br>' +
		"Come see us at our new site: <a href=\"http://www.cipovan.org/\" title=\"CIPO-VAN's new site!\">cipovan.org</a>" +
		'<div id="status_archive">Stay with the archive</div>'
		
	);
	
	$('status_msg').update(newSiteTemplate.evaluate({}));
	$('status_archive').observe('click', function() {
		createCookie('cipo_visitor', 'current', 24);
		var visitor = readCookie('cipo_visitor');
		if (visitor == 'current')
		{
			new Effect.SlideUp($('status_wrapper'), { duration: 1.0 });
			new Effect.SlideDown($('status_header_wrapper'), { duration: 0.7, delay: 1.5 });
		}
		else{
			alert('Cookie Error');
		}
	});
	$('status_wrapper').style.left = (win.x / 2 - 500) + 'px';
	$('status_header_wrapper').style.left = (win.x / 2 - 200) + 'px';

 	new Effect.SlideDown($('status_wrapper'), { duration: 0.8 });
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function showPopup(docdiv, doclink)
{
  var divel = document.getElementById(docdiv);
  var linkel = document.getElementById(doclink);
  
  // Get window dimensions

  x = document.body.clientWidth;
  y = document.body.clientHeight;
  
  // Get element position
  
  ele_x = findPosX(linkel);
  
  // Determine position of popup
  
  var pos_x = (x - ele_x < 250) ? 580 - (x - ele_x) : 0;

  if (divel.style.display == 'none')
  {
	if (divel && linkel)
	{
	  if (pos_x != 0) {divel.style.left = pos_x;}
	  divel.style.visibility = 'visible';
	  divel.style.display = 'block';
	}

  } else {
  
    divel.style.visibility = 'hidden';
    divel.style.display = 'none';
  
  }
}

function hidePopup(docdiv){
  var divel = document.getElementById(docdiv);
  if (divel){
    divel.style.visibility = 'hidden';
    divel.style.display = 'none';
  }
}

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;
}
  
function show( id ) 
{ 
  if (document.getElementById(id).style.visibility == 'hidden')
  {
    document.getElementById(id).style.visibility = 'visible';
    
  } else { 

    document.getElementById(id).style.visibility = 'hidden';
    
  }
} 

function showHelp( id )
{
	var pages = new Array();
	pages[0] = 'help_intro';
	pages[1] = 'help_imgs';
	pages[2] = 'help_docs';
	pages[3] = 'help_ext';
	
	for (i in pages)
	{
		if (pages[i] == id)
		{
			document.getElementById(pages[i]).style.display = 'block';
		}
		else{
			document.getElementById(pages[i]).style.display = 'none';
		}
	}
}

function showToolBox( id ) 
{ 
	var divs = document.getElementsByTagName('div');
  
	for (i=0; i < divs.length; i++)
	{
		if (divs[i] != undefined)
		{
			if (divs[i].id.search('tools') > -1)
			{
				if (divs[i].id == id)
				{
					if (divs[i].style.display == 'none')
					{
						divs[i].style.display = 'block';
					}
					else{
						divs[i].style.display = 'none';
					}
				}
				else{
					divs[i].style.display = 'none';
				}
			}
		}
	}
} 

function langSelect(selected_lang)
{
	url = location.href.split('#');

	if (url[0].search('\\?') > -1)
	{
		operator = '&';
	}
	else{
		operator = '?';
	}
	location.href = url[0] + operator + 'lang=' + selected_lang[selected_lang.selectedIndex].value;
}

function langKeyPrint(langEntries, langVal)
{
	var new_val = '';
	
	if (langVal != undefined)
	{
		new_val = langEntries[langVal];
	}
	else{
		new_val = langVal;
	}
	
	return new_val;
}

function browserStyles()
{
	var c = navigator.platform;
	
	if (c.match('Mac'))
	{
		document.getElementById('banner_bg').style.position = 'fixed';
	}
}

function disableDateRange(loaded)
{
  var myRegA = new RegExp('date_range_flag', "i");
  var myRegB = new RegExp('events_end_date_', "i");
  var myRegC = new RegExp('events_time_', "i");
  var toggle = '';

  for (x=0; x < document.forms.length; x++)
  {
	  for (i=0; i < document.forms[x].elements.length; i++)
	  {
		  results = document.forms[x].elements[i].name.search(myRegA);
		  
		  if (results > -1 && document.forms[x].elements[i].checked == true)
		  {
			  toggle = 'isRange';
		  }
	  }
  }
  
  for (x=0; x < document.forms.length; x++)
  {
	  for (i=0; i < document.forms[x].elements.length; i++)
	  {
		  results_date = document.forms[x].elements[i].name.search(myRegB);
		  results_time = document.forms[x].elements[i].name.search(myRegC);
		  
		  if (results_date > -1 && toggle != 'isRange')
		  {
			  document.forms[x].elements[i].disabled = true;
		  
		  } 
		  else if (results_date > -1 && toggle == 'isRange') 
		  {
		  
			  document.forms[x].elements[i].disabled = false;
			
		  }
		  else if (results_time > -1 && toggle != 'isRange')
		  {
		  
			  document.forms[x].elements[i].disabled = false;
			
		  }
		  else if (results_time > -1 && toggle == 'isRange')
		  {
		  
			  document.forms[x].elements[i].disabled = true;
			
		  }
	  }
  }
}

function testUrl(langEntries, url, ele) 
{ 
	var contents = '';
	
	if (!(url.match(/^http:\/\//) || url.match(/^https:\/\//) || url.match(/^[a-z_]+\.php/)))
	{
		url = 'http://' + url;
	}
	  
	contents = '<a href="' + url + '" target="_blank">' + langKeyPrint(langEntries, 'test_link_opens_window') + ':  ' + url + '</a>';
	
	document.getElementById(ele).innerHTML = contents; 
} 

function getWindowDimensions()
{
	var viewportwidth;
	var viewportheight;
	
	// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	
	if (typeof window.innerWidth != 'undefined')
	{
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	}
	
	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
	
	else if (typeof document.documentElement != 'undefined'
	 && typeof document.documentElement.clientWidth !=
	 'undefined' && document.documentElement.clientWidth != 0)
	{
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	}
	
	// older versions of IE
	
	else
	{
	   viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
	   viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	
	return { 'x': viewportwidth, 'y': viewportheight };
}
	

