// ----------------------------------------------
// move content from one source to one target
// ----------------------------------------------
function moveContent(from, to, del){
	//move the results
	var source = $(from);
	var target = $(to);
	if(source!=null && target!=null){
	    target.innerHTML = source.innerHTML;
	}
	
	if(del!=null && del==1){
	   source.innerHTML = '';
	}
}

// ----------------------------------------------
// get the class needed class for the td tags
// in home boxes
// ----------------------------------------------
function setHomeMainContentBoxClasses(tableName){
	var table = document.getElementById(tableName);
	var base = 'homeMainContentBox';
	
	if(table!=null){
		//loop the tds to set the classes
		var elems = table.getElementsByTagName('td');
		if(elems!=null){
			for(var i=0; i<elems.length; i++){
				var postFix = '';
			
				if(i==0){
					postFix = 'TopLeft';
				}else if(i==1){
					postFix = 'TopRight';
				}else if((i%2)==0){
					postFix = 'NextLeft';
				}else{
					postFix = 'NextRight';
				}
				
				elems[i].className = base + postFix;
			}
		}
	}
}

// ----------------------------------------------
// get the class needed class for the div tags
// in home boxes
// ----------------------------------------------
var homeMainContentBoxDetailCounter = 1;
function getHomeMainContentBoxDetailClass(){
	var base = 'homeMainContentBoxDetail';

	var postFix = '';
	//top - left
	if(homeMainContentBoxDetailCounter==1){
		postFix = 'TopLeft';
	//top - right
	}else if(homeMainContentBoxDetailCounter==2){
		postFix = 'TopRight';
	//next - left
	}else if((homeMainContentBoxDetailCounter%2)!=0){
		postFix = 'NextLeft';
	//next - right
	}else{
		postFix = 'NextRight';
	}

    var toWrite =  '<div '+
                       'class="' + base + postFix + '" ' + 
                       'id="homeMainContentBoxDetail' + homeMainContentBoxDetailCounter + '"' +
                   '>';

	homeMainContentBoxDetailCounter++;
	document.writeln(toWrite);
}

// ----------------------------------------------
// generate the context link menu item
// ----------------------------------------------
function displayContextLinks(className, title){
	//redefine the title if the div linksContainerTitle is present
	if($('linksContainerTitle')!=null &&  $('linksContainerTitle').innerHTML != ''){
		title = $('linksContainerTitle').innerHTML;
	}


	var containers = document.getElementsByClassName(className);
	if(containers!=null){
		var linksText = '';
		for(var countCount = 0; countCount < containers.length; countCount++){
			//get all links from this class
			var links = containers[countCount].getElementsByTagName('a');
			if(links!=null){
				for(var i=0; i<links.length; i++){
					linksText += '<a href="' + links[i].href + '" class="' + links[i].className + '">' + links[i].innerHTML + '</a>';
				}
			}
		}	
		//get the target
		if(linksText!=''){
			var target = $('subnavigationBox');
			if(target!=null){
				target.className = 'visible';
				target.innerHTML += '' + 
					'<div id="subnavigationBoxTitle">' + 
						title + 
					'</div>' + 
					'<div id="subnavigationBoxContent">' + 
						linksText + 
						'<div id="subnavigationBoxFooter"></div>' + 		
					'</div>' + 
					'' +
					'';
			}
		}
	}
}


// ----------------------------------------------
// check if one element has links inside
// ----------------------------------------------
function haveLinks(elem){
	var target = $(elem);
	if(target!=null){
		links = target.getElementsByTagName('a');
		if(links.length>0)return 1;
	}
	
	return 0;
}


// ----------------------------------------------
// check if one element has links inside
// ----------------------------------------------
function submitForm(formID){
	var form = document.getElementById(formID);
	//alert(form.id);
	
	form.submit();
	
	//$(formID).submit();
}

// ----------------------------------------------
// calendar functions
// ----------------------------------------------

// ----------------------------------------------
// termin calendar
// ----------------------------------------------
function callDateURL(date){
    document.location=document.location 
        + '&regionCode=' 
        + '&terminePage=0'
        + '&terminKey='
        + '&dateCode='+date;

}

var datesWithDates = {};
function dateChanged(calendar) {
  if (calendar.dateClicked) {
    // OK, a date was clicked, redirect to /yyyy/mm/dd/index.php
    var y = calendar.date.getFullYear();
    var m = calendar.date.getMonth()+1;     // integer, 0..11
    var d = calendar.date.getDate();      // integer, 1..31
	
	callDateURL(''+y+(m<10?'0'+m:m)+(d<10?'0'+d:d)+'0000');
  }
};

function dateStatusHandler(date){
    var y = date.getFullYear();
    var m = date.getMonth()+1;     // integer, 0..11
    var d = date.getDate();      // integer, 1..31
	
	var currDate = ''+y+(m<10?'0'+m:m)+(d<10?'0'+d:d)+'0000';

	//today is allways active
	if(searchToday == currDate){
		return false;
	}else if(datesWithDates!=null && datesWithDates[currDate]!=null){
		return 'hasData';
	}
	
	return true;
}


function displayCalendar(){
	//get the available dates with an Ajax request
	//var url = './emmanuel.php?page&p=DE,1729,,,,&regionCode='+URLParamRegion;
	var url = document.location + '&ajax=1';
		
	new Ajax.Request(
		url, 
		{
			method: 'get',
			onSuccess: function(transport) {
				//set the available variables
	    		eval('datesWithDates=' + transport.responseText);

				//set the default date
				var today = URLParamDate?URLParamDate:searchToday;
				var initDate = new Date(today.substr(0,4), today.substr(4,2)-1, today.substr(6,2));
			 	$('calendarContainer').className = "visible";
				Calendar.setup(
				  {
				  	date		 	: initDate,
					dateStatusFunc 	: dateStatusHandler,
				    weekNumbers  	: false,	
				    electric     	: false,
				    showOthers   	: true,
				    firstDay 	 	: 0, 
				    flat         	: "calendarWrapper", // ID of the parent element
				    flatCallback 	: dateChanged
				  }
				);
	  		}
		}
	);	
}



// ----------------------------------------------
// Spenden functions
// ----------------------------------------------
function configureSpendenForm(){
	function configureSpendenquittung(){
		//cmUsrFormParameters[118][Straße][mandatory]
		//cmUsrFormParameters[118][Wohnort][mandatory]
		var valueToSet = 0;
		if(this.checked){
			valueToSet = 1;
		}
		
		var elems = document.forms[0].elements;
		for(var i=0; i<=elems.length; i++){
			if(elems[i]!=null){
				if(elems[i].name == 'cmUsrFormParameters[118][Straße][mandatory]'){
					elems[i].value = valueToSet;
				}else if(elems[i].name == 'cmUsrFormParameters[118][Wohnort][mandatory]'){
					elems[i].value = valueToSet;
				}
			}
		}
	} 

	var configureFlag = $('Spendenquittung');
	if(configureFlag!=null){
		Event.observe(configureFlag, "click", configureSpendenquittung);
	}
}

// ----------------------------------------------
// image gallery
// ----------------------------------------------
resortMediaLibraryImages = function(){
	var imageContainers = document.getElementsByClassName('imageContainer');
	if(imageContainers!=null && imageContainers.length>0){
		for(var i=0; i<imageContainers.length; i++){
			//get the images from this element	
			var images = imageContainers[i].getElementsByTagName('img');
			if(images!=null && images.length>0){
				for(var j=0; j<images.length; j++){
					//check the size of the image
					var height = images[j].getHeight() || images[j].height;
					var width = images[j].getWidth() || images[j].width;
					
					//portrait, 
					//rewrite the image class
					if(height>width){
						images[j].className = "landspace";
					}
				}
			}
		}
	}
}

// ----------------------------------------------
// sort the content from the boxes
// ----------------------------------------------
homeMainContentBoxesSort = function(){
    var elems = document.getElementsByClassName('homeBoxContainer');
    //homeMainContentBoxDetailCounter
    //sort the elements
    var orders = new Array();
    var contents = new Array();
    for(var i=0; i<elems.length; i++){
        if(elems[i]!=null){
            //get the order
            var order = elems[i].getElementsByClassName('homeMainContentBoxDetailOrder');
            orders[orders.length] = order[0].innerHTML?order[0].innerHTML:1000; 
            contents[contents.length] = elems[i].innerHTML;
        }
    }
    
    //sort the contents, positions where the elements are located
    if(contents.length>0 && orders.length>0){
        for(var pos=0; pos<orders.length; pos++){
            var min = 1000;
            var minPos = 0;
            for(var i=0; i<orders.length; i++){
                if(parseInt(orders[i]) < parseInt(min)){
                    //update
                    min = orders[i];
                    minPos = i;
                }
            }
            //clean the value
            orders[minPos] = 1000;
            //save the content
            var id = 'homeMainContentBoxDetail' + (pos+1);
            if($(id)!=null){
                $(id).innerHTML = contents[minPos];
            }
        }
    }
}

// ----------------------------------------------
// remap link based on definition from martin
// ----------------------------------------------
function remapLinks(){
    //home box in Akademie to Master
    if($('doc_16088')!=null){
        $('doc_16088').href = "http://www.master-mission.at";
        $('doc_16088').target = "_blank";
    }

    //left navigation bar Master to Master    
    if($('mi_311')!=null){
        $('mi_311').href = "http://www.master-mission.at";
        $('mi_311').target = "_blank";
    }
    
    
    

	return;
	
	//direkter Link auf www.akademie-wien.at
	if($('navmi_191')!=null){
		$('navmi_191').href = "http://www.akademie-wien.at";
		$('navmi_191').target = "_blank";
	}

	//(direkter Link auf univie.vc.at)
	if($('navmi_189')!=null){
		$('navmi_189').href = "http://univie.vc.at";
		$('navmi_189').target = "_blank";
	}

	//(direkter Link auf www.akademie-wien.at)
	if($('navmi_188')!=null){
		$('navmi_188').href = "http://www.akademie-wien.at";
		$('navmi_188').target = "_blank";
	}
	
}