function extras(i) {
  if (document.getElementById){
    if (document.getElementById("extras"+i)) {
      for ( j = 1; j < 1000; j++ ) {
        if (document.getElementById('extras' + j)) {document.getElementById('extras' + j).style.display = 'none';}
	    else {j = 1000;}
      }
      if (i) {document.getElementById("extras"+i).style.display = 'block';}
    }
  }
}

var enablepersist="on" 
var collapseprevious="no" 

if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}

function getElementbyClass(classname){
ccollect=new Array()
var inc=0
var alltags=document.all? document.all : document.getElementsByTagName("*")
for (i=0; i<alltags.length; i++){
if (alltags[i].className==classname)
ccollect[inc++]=alltags[i]
}
}

function contractcontent(omit){
	var inc=0
	while (ccollect[inc]) {
		if (ccollect[inc].id!=omit)
		ccollect[inc].style.display="none"
		inc++
	}
}

function expandcontent(cid){
	if (typeof ccollect!="undefined"){
		if (collapseprevious=="yes")
			contractcontent(cid)
		document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
	}
}

function revivecontent(){
contractcontent("omitnothing")
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
for (i=0; i<selectedComponents.length-1; i++)
document.getElementById(selectedComponents[i]).style.display="block"
}

function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}

function saveswitchstate(){
var inc=0, selectedItem=""
while (ccollect[inc]){
if (ccollect[inc].style.display=="block")
selectedItem+=ccollect[inc].id+"|"
inc++
}

document.cookie=window.location.pathname+"="+selectedItem
}

function do_onload(){
uniqueidn=window.location.pathname+"firsttimeload"
getElementbyClass("switchcontent")
if (enablepersist=="on" && typeof ccollect!="undefined"){
document.cookie=(get_cookie(uniqueidn)=="")? uniqueidn+"=1" : uniqueidn+"=0" 
firsttimeload=(get_cookie(uniqueidn)==1)? 1 : 0 //check if this is 1st page load
if (!firsttimeload)
revivecontent()
}
}


if (window.addEventListener)
window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload)
else if (document.getElementById)
window.onload=do_onload

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate


function extras(i) {
  if (document.getElementById){
    if (document.getElementById("extras"+i)) {
      for ( j = 1; j < 1000; j++ ) {
        if (document.getElementById('extras' + j)) {document.getElementById('extras' + j).style.display = 'none';}
	    else {j = 1000;}
      }
      if (i) {document.getElementById("extras"+i).style.display = 'block';}
    }
  }
}

function submenu(i) {
  if (document.getElementById){
    if (document.getElementById("submenu"+i)) {
      for ( j = 1; j < 1000; j++ ) {
        if (document.getElementById('submenu' + j)) {document.getElementById('submenu' + j).style.display = 'none';}
	    else {j = 1000;}
      }
      if (i) {document.getElementById("submenu"+i).style.display = 'block';}
    }
  }
}

function extras(i) {
  if (document.getElementById){
    if (document.getElementById("extras"+i)) {
      for ( j = 1; j < 1000; j++ ) {
        if (document.getElementById('extras' + j)) {document.getElementById('extras' + j).style.display = 'none';}
	    else {j = 1000;}
      }
      if (i) {document.getElementById("extras"+i).style.display = 'block';}
    }
  }
}

function displayImage(image) {
	var target=document.getElementById('imageTarget');
	var source=document.getElementById(image)
	target.src=source.src;
	return false;
}


function checkStartDateAux(start_day,start_month,start_year,finish_day,finish_month,finish_year) {

    var today = new Date();
    today =  new Date(today.getFullYear(),today.getMonth(),today.getDate(),0,0,0);
	
	var ed=parseInt(document.getElementById(finish_day).value);
	var em=parseInt(document.getElementById(finish_month).value);
	var ey=parseInt(document.getElementById(finish_year).value);
	

	var end=parseInt(Date.UTC(ey,em-1,ed,0,0,0));
	var endDate = new Date(end);

	var sd=parseInt(document.getElementById(start_day).value);
	var sm=parseInt(document.getElementById(start_month).value);
	var sy=parseInt(document.getElementById(start_year).value);

	var start=parseInt(Date.UTC(sy,sm-1,sd,0,0,0));
	var startDate = new Date(start);


	if ( startDate < today ) {

	    startDate = today;

	}

	changeSelect(start_day,startDate.getDate());
	changeSelect(start_month,startDate.getMonth()+1);
	changeSelect(start_year,startDate.getFullYear());

	fix_start_days();

	startDate_next_day = new Date(startDate.getTime() + 86400000 );

    //if ( endDate < startDate_next_day) {

	    endDate = startDate_next_day;

    //	}
	
	changeSelect(finish_day,endDate.getDate());
	changeSelect(finish_month,endDate.getMonth()+1);
	changeSelect(finish_year,endDate.getFullYear());

}

function checkEndDateAux(start_day,start_month,start_year,finish_day,finish_month,finish_year) {

    var today = new Date();
    today =  new Date(today.getFullYear(),today.getMonth(),today.getDate(),0,0,0);
	
	var sd=parseInt(document.getElementById(start_day).value);
	var sm=parseInt(document.getElementById(start_month).value);
	var sy=parseInt(document.getElementById(start_year).value);
		
	var start=parseInt(Date.UTC(sy,sm-1,sd,0,0,0));
	var startDate = new Date(start);


	var ed=parseInt(document.getElementById(finish_day).value);
	var em=parseInt(document.getElementById(finish_month).value);
	var ey=parseInt(document.getElementById(finish_year).value);
	var end=parseInt(Date.UTC(ey,em-1,ed,0,0,0));
	var endDate = new Date(end);

	tomorrow  = new Date(today.getTime() + 86400000 );
	
	if (endDate < tomorrow){
	    endDate = tomorrow;
	}

	changeSelect(finish_day,endDate.getDate());
	changeSelect(finish_month,endDate.getMonth()+1);
	changeSelect(finish_year,endDate.getFullYear());

	fix_end_days();
	
	endDate_yesterday = new Date(endDate.getTime() - 86400000);

	if ( startDate > endDate_yesterday ) {
	    startDate = endDate_yesterday
	}

	changeSelect(start_day,startDate.getDate());
	changeSelect(start_month,startDate.getMonth()+1);
	changeSelect(start_year,startDate.getFullYear());

	checkStartDate();

}

/* returns correct number of days for the month of given date */
function get_number_days(day,month,year) {
	if ( month==4 || month==6 || month==9 || month==11 ) {
		return 30;
	} else if ( month == 2 ) {
		var isLeapYear = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (isLeapYear) {
			return 29;
		} else {
			return 28;
		}
	} else {
		return 31;
	}
}

function fix_start_days() {
	var sd=parseInt(document.getElementById("start_day").value);
	var sm=parseInt(document.getElementById("start_month").value);
	var sy=parseInt(document.getElementById("start_year").value);
	
	if (sd > get_number_days(sd,sm,sy)) {
		sd = get_number_days(sd,sm,sy);
		changeSelect("start_day",sd);
	}
}

function fix_end_days() {
	var ed=parseInt(document.getElementById("finish_day").value);
	var em=parseInt(document.getElementById("finish_month").value);
	var ey=parseInt(document.getElementById("finish_year").value);

	if (ed > get_number_days(ed,em,ey)) {
		ed = get_number_days(ed,em,ey);
		changeSelect("finish_day",ed);
	}	
}

function fix_days() {
    fix_start_days();
    fix_end_days();
}

function fix_days2() {
	var sd=parseInt(document.getElementById("start_day2").value);
	var sm=parseInt(document.getElementById("start_month2").value);
	var sy=parseInt(document.getElementById("start_year2").value);
	
	var ed=parseInt(document.getElementById("finish_day2").value);
	var em=parseInt(document.getElementById("finish_month2").value);
	var ey=parseInt(document.getElementById("finish_year2").value);

	if (sd > get_number_days(sd,sm,sy)) {
		sd = get_number_days(sd,sm,sy);
		changeSelect("start_day2",sd);
	}
	if (ed > get_number_days(ed,em,ey)) {
		ed = get_number_days(ed,em,ey);
		changeSelect("finish_day2",ed);
	}	
	return false;
}


function getDateString(y_obj,m_obj,d_obj) {
     var y = y_obj.options[y_obj.selectedIndex].value;
     var m = m_obj.options[m_obj.selectedIndex].value;
     var d = d_obj.options[d_obj.selectedIndex].value;
     if (y=="" || m=="") { return null; }
     if (d=="") { d=1; }
     return str= y+'-'+m+'-'+d;
}

function open_window(url,name,feat) {
	window.open(url,name,feat);
	return false;
}

function changeSelect(target,value) {
	var sel=document.getElementById(target);
	for (var i=0;i<sel.options.length;i+=1) {
		if (sel.options[i].value==value) {
			sel.selectedIndex=i;
		}
	}
}

function getDateString(y_obj,m_obj,d_obj) {
     var y = y_obj.options[y_obj.selectedIndex].value;
     var m = m_obj.options[m_obj.selectedIndex].value;
     var d = d_obj.options[d_obj.selectedIndex].value;
     if (y=="" || m=="") { return null; }
     if (d=="") { d=1; }
     return str= y+'-'+m+'-'+d;
}

function start_click() {
    start.showCalendar('anchor15',getDateString(document.getElementById('start_year'),document.getElementById('start_month'),document.getElementById('start_day'))); 
    return false;	
}

function end_click() {
    var d=finish.showCalendar('anchor16',getDateString(document.getElementById('finish_year'),document.getElementById('finish_month'),document.getElementById('finish_day'))); 
    return false;
}

function date_diff_days(start,end) {
	return Math.ceil((end.getTime()-start.getTime())/(86400000));
}

