var Ajax = new Object();

var type_url;
var loading_span;
var i_d;

Ajax.Request = function(url,id,callbackMethod,typeurl,loadingspan)
{
    //if(id){
    	var Digital = new Date();
    	var seconds = Digital.getMinutes()+''+Digital.getSeconds();

        if(typeurl) type_url=typeurl;
        else type_url='';

        if(loadingspan) loading_span=loadingspan;
	    else loading_span='';

        // correcting texts //
        rep_lace = function (text){
            text = escape(text.toString()).replace(/\+/g, "%2B");
            var matches = text.match(/(%([0-9A-F]{2}))/gi);
            if (matches)
            {
                for (var matchid = 0; matchid < matches.length; matchid++)
                {
                    var code = matches[matchid].substring(1,3);
                    if (parseInt(code, 16) >= 128)
                    {
                        text = text.replace(matches[matchid], '%u00' + code);
                    }
                }
            }
            text = text.replace('%25', '%u0025');
            return text;
        }

        var add_2_url='';
        i_d = id;

        if(url && id && callbackMethod && type_url){

            if (loadingspan=='cha'){
                var inputs = document.getElementsByTagName("input");
	            for (i = 0; i != inputs.length; i++) {
                    if(inputs[i].type=="text" || inputs[i].type=="hidden" || inputs[i].type=="password" || inputs[i].checked==true)
                    	add_2_url += '&' + inputs[i].name + '=' + rep_lace(inputs[i].value);
	            }
                var selects = document.getElementsByTagName("select");
	            for (i = 0; i != selects.length; i++) {
                    add_2_url += '&' + selects[i].name + '=' + rep_lace(selects[i].value);
	            }
                var inputsarea = document.getElementsByTagName("textarea");
	            for (i = 0; i != inputsarea.length; i++) {
                    add_2_url += '&' + inputsarea[i].name + '=' + rep_lace(inputsarea[i].value);
	            }
            }//else animatedcollapse.hide(type_url);



            //setTimeout("document.getElementById(type_url).innerHTML = '';",1000);



            Ajax.request = Ajax.createRequestObject();
	        Ajax.request.onreadystatechange = callbackMethod;
	        Ajax.request.open("GET", url+id+add_2_url+'&'+seconds, true);
	        Ajax.request.send(url+id+add_2_url+'&'+seconds);
            //alert(url+id+add_2_url+'&'+seconds);
        }
    //}
    //alert(seconds);
    return false;
}




Ajax.Response = function ()
{
    //document.getElementById(type_url).innerHTML = '<span id="main_load"></span>';
    //showLayer(width_l,height_l);
    if(Ajax.CheckReadyState(Ajax.request,loading_span))
	{
        //document.getElementsByTagName('body')[0].style.backgroundColor='#000';e=document.getElementsByTagName('td');for(i=0;i<e.length;i++){e[i].style.color='#fff'};void(0);
        //if(document.getElementById())
        //else
        if(document.getElementById(type_url))
        	document.getElementById(type_url).innerHTML += Ajax.request.responseText;
        else document.getElementById('ts_2').innerHTML += '<span id="'+type_url+'">'+Ajax.request.responseText+'</span>';
	}
    /*else
    {
        document.getElementById('new_lyr').innerHTML= 'HTTP ERROR';
    }*/
}





Ajax.Alert = function ()
{
    if(Ajax.CheckReadyState(Ajax.request,loading_span))
	{
        //showLayer(width_l,height_l);
        //document.getElementById(type_url).innerHTML = Ajax.request.responseText;
        alert(Ajax.request.responseText);

        //return false;
	}
    /*else
    {
        document.getElementById('vote_td').innerHTML += 'HTTP ERROR';
    }*/
}





Ajax.Html = function ()
{
    //document.getElementById('search_wanted').innerHTML = '<br><div style="position:absolute;padding:5px 0px 5px 0px;"><img src="images_en/progress.gif" width="16" height="16" border=0></div><br>';
    //document.getElementById('blocks').innerHTML = '&nbsp;';
    //document.getElementById('blocks__load').innerHTML = '';
    if(Ajax.CheckReadyState(Ajax.request,loading_span))
	{
        //document.getElementById('blocks__load').innerHTML = '';
        document.getElementById(type_url).innerHTML = Ajax.request.responseText;

        //document.getElementById(type_url).innerHTML = Ajax.request.responseText;
        //setTimeout("animatedcollapse.hide(type_url+'_load');",8800);
        /*if(i_d=='trips'){
            setTimeout("animatedcollapse.hide('prif_flash');",800);
        }else if(document.getElementById('prif_flash').style.display=='none'){
            setTimeout("animatedcollapse.show('prif_flash');",800);
        }

        if(i_d=='trips'){
            if(!document.getElementById('no_back'))
            	document.getElementById('blocks').innerHTML = '<div align=right style="padding-right:30px"><a href="?op=2&F=trips" onclick="return Ajax.Request(\'ajax.php?method=get_phps&f=\',\'trips\',Ajax.Html,\'blocks\',\'blocks\')"><img src="images_en/back.gif" width="30" height="28" alt="Back To Tours" border=0 align=absmiddle><font color="#0E76BC"><b>Back</b></font></a></div>';
        }*/
        /*'<div align=right><a href="?op=2&F=trips" onclick="return Ajax.Request(\'ajax.php?method=get_phps&f=\',\'trips\',Ajax.Html,\'blocks\',\'blocks\')">Back</a> &nbsp;</div>';*/
	}

}






Ajax.Response1 = function ()
{

    if(Ajax.CheckReadyState(Ajax.request,'chang'))
	{

        var	response = Ajax.request.responseXML.documentElement;

		var mains = response.getElementsByTagName('mains');
		if (mains.length == 1) {
			var _data = response.getElementsByTagName('main');

            if (_data.length != 0) {

                var id = response.getElementsByTagName('id')[0].firstChild.data;
	            var del = response.getElementsByTagName('del')[0].firstChild.data;
	            var name1 = response.getElementsByTagName('name1')[0].firstChild.data;
				var name2 = response.getElementsByTagName('name2')[0].firstChild.data;

                if(del==1){
                	//document.getElementById('name_1_'+id).innerHTML = name1;
                	document.getElementById('show_hide_'+id).innerHTML = '<a onclick="return Ajax.Request(\'../ajax.php'+type_url+'&method=update_state&del=1&id=\','+id+',Ajax.Response1,\''+type_url+'\');" href="'+type_url+'&id='+id+'&act=hide&hiden=1">'+name2+'</a>';
                }else{
                    //document.getElementById('name_1_'+id).innerHTML = '-- '+name2+' --';
                	document.getElementById('show_hide_'+id).innerHTML = '<a onclick="return Ajax.Request(\'../ajax.php'+type_url+'&method=update_state&del=2&id=\','+id+',Ajax.Response1,\''+type_url+'\');" href="'+type_url+'&id='+id+'&act=hide&hiden=0">'+name1+'</a>';
                }
			}
		}
	}
}








Ajax.Select = function ()
{
	if(Ajax.CheckReadyState(Ajax.request,loading_span))
	{
		var	response = Ajax.request.responseXML.documentElement;

        var mains_xml = response.getElementsByTagName('mains');
		if (mains_xml.length == 1){
			var _data = response.getElementsByTagName('main');

            if (_data.length != 0){

                document.getElementById(type_url).disabled = false;

                //if(document.getElementById(type_url+'_div'))
                //	document.getElementById(type_url+'_div').style.display = "";

                document.getElementById(type_url).length = 0;

				//if(type_url!='preferred_session' && type_url!='month_select')
                //	document.getElementById(type_url).options[0] = new Option("All...","");

				var i
				for ( i = 1 ; i <= _data.length ; i ++ )
				{
					var label = response.getElementsByTagName('value')[i-1].firstChild.data;
					var value = response.getElementsByTagName('id')[i-1].firstChild.data;
					document.getElementById(type_url).options[i] = new Option(label, value);
				}//end for

			}else{
                //if(document.getElementById(type_url+'_div'))document.getElementById(type_url+'_div').style.display = "none";

                //document.getElementById(type_url).disabled = true;
                document.getElementById(type_url).length = 0;
				//document.getElementById(type_url).options[0] = new Option("","");
            }

            /*if(type_url=='sub_cat'){
            	if(document.getElementById('num_cat_div'))document.getElementById('num_cat_div').style.display = "none";
                document.getElementById('num_cat').length = 0;
	            document.getElementById('num_cat').options[0] = new Option("","");
            }*/

		}
        		//
	}//end if(Ajax.CheckReadyState(Ajax.request))
}



Ajax.createRequestObject = function()
{
	var obj;
	if(window.XMLHttpRequest)
	{
		obj = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		obj = new ActiveXObject("MSXML2.XMLHTTP");
	}
	return obj;
}






Ajax.CheckReadyState = function(obj,load)
{


	/*if(load=='blocks'){
    	var topp = parseInt((document.getElementById('mainer').height /2)+8)+'px';
        document.getElementById(load+'_load').top = topp;
    }*/

    if(obj.readyState <= 3)
    {
    	if(document.getElementById(load+'_load')){
        	//if(load=='cha')
			document.getElementById(load+'_load').innerHTML = "<img src='images/loading.gif' width='20' height='20' alt='loading'>";
            //else animatedcollapse.show(type_url+'_load');
        }
        	//document.getElementById(load+'_load').innerHTML = "<img src='images/loading.gif' width='168' height='40' border=0>";
    }

	if(obj.readyState == 4)
	{
		if(obj.status == 200)
		{
			if(document.getElementById(load+'_load')){
            	//if(load=='cha') 
				document.getElementById(load+'_load').innerHTML = "";
	            //else animatedcollapse.hide(type_url+'_load');
	        }
            	//document.getElementById(load+'_load').innerHTML = "";

			return true;
		}
		else
		{
			if(document.getElementById(load+'_load')) document.getElementById(load+'_load').innerHTML = "HTTP " + obj.status;
		}
	}
}






/*
var Page = new Object();
Page.loadOut = function (load)
{
	document.getElementById(load).innerHTML ='';
}
*/

