// ozajax.js   29/05/09 , ALTAR

caller_flight = 'oz_ucak_link';
caller_transport = 'oz_arac_link';
caller_toggle = 'toggle';

// function specific to caller "toggle"
function toggleImageAndDisplayTableIfNecessary(basepath){
		var imge 	= document.getElementById('imgek');
		var srcStr 	= imge.src;
		if (srcStr.indexOf("open.gif") < 0){ 
			imge.src = basepath + '/images/open.gif';
			document.getElementById("ek_kriterler").innerHTML = null;
			document.getElementById("ek_kriterler").style.display = "none";  			
		}else{
			getDynamicContent(basepath + '/search/searchForm_detail.jsp' ,'ek_kriterler',caller_toggle,basepath);
		}
}

// returns the first <script> tag content in a given html fragment
function getScript(htmlContent){
    var str1 = '<script type="text/javascript">';
    var str2 = '</script>';
	var beginIndx = htmlContent.indexOf(str1);
	var endIndx   = htmlContent.indexOf(str2);
	return htmlContent.substring(beginIndx+str1.length,endIndx);
}

// returns the appropriate XmlHttp object according to the user agent/web browser 
// when prototype javascript library is not available 
function getSender() {

	var xmlhttp=false;
	
	if (window.ActiveXObject){
		try{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 		} catch (e) {
  				try {
   					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  				} catch (E) {
   						xmlhttp = false;
  				}
 		}
 	}
 	
 	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	
	return xmlhttp;
}

// loads the html fragment from given url to the document element identified by divID
// forwards further custom actions to a function named "processAfterPageLoad" 
function getDynamicContent(url,divID,callerID,basepath){
	try{
		new Ajax.Updater(divID, url, 
						{
						evalScripts: true, 
						onSuccess: function(request)
									{
										processAfterPageLoad(request.responseText,divID,callerID,basepath,true);
									}
						}
						);
	} catch (e)
	{
		try{
		var sender = getSender();
		if (!sender) {
					return null;
		}
		sender.onreadystatechange =  function() {   
													if (sender.readyState == 4 && sender.status == 200) {   
             											processAfterPageLoad(sender.responseText ,divID, callerID,basepath,false);   
        											}   
									 }
		sender.open("GET", url, true);
		sender.send(null);
		} catch( expError )
        {
          alert( expError.number + "   " + expError.description );
        }
	}
}

//procedure for custom processing after ajax page load
// actions are taken regarding to the "caller" parameter
function processAfterPageLoad(content,divID,caller,basepath,prototypeOK){

	var fimg = document.getElementById('sb1a');	
	var simg = document.getElementById('sb2a');
	var timg = document.getElementById('sb3a');	
	var objTableBody1 = document.getElementById('sb1b');
    var objTableBody2 = document.getElementById('sb2b');	
	var objTableBody3 = document.getElementById('sb3b');
		  
	try{
	 	if (caller == caller_flight){
	 			fimg.src = basepath+'/images/otel_off.gif'; 
				simg.src = basepath+'/images/ucak_on.gif'; 
				timg.src = basepath+'/images/arac_off.gif';  
				objTableBody1.style.display = "none";
				objTableBody2.style.display = "block";
				objTableBody3.style.display = "none";
		}else if (caller == caller_transport){				
				fimg.src = basepath+'/images/otel_off.gif'; 
				simg.src = basepath+'/images/ucak_off2.gif'; 
				timg.src = basepath+'/images/arac_on.gif'; 
				objTableBody1.style.display = "none";
				objTableBody2.style.display = "none";
				objTableBody3.style.display = "block";
	    } else if (caller == caller_toggle){
	    		var imge 		= document.getElementById('imgek');
	    		imge.src = basepath+'/images/kapa.gif';
	    		document.getElementById(divID).style.display = "block";	
	    }
	    if (!prototypeOK){
	    	document.getElementById(divID).innerHTML = null;
			document.getElementById(divID).innerHTML = content;
			eval(getScript(content));
		}
	}
    catch( expError )
        {
          alert( expError.number + "   " + expError.description );
        }
}