/// Space for AJAX mods \\\
function ajax_createRequestObject(){
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    } else{
        ro = new XMLHttpRequest();
    }
    return ro;
}
var ajax_http = ajax_createRequestObject();
var ajax_destObj;
var disable_loader;
function sndReq(argumentString, destStr, loaderOn){ 
    disable_loader = loaderOn;
    ajax_destObj = document.getElementById(destStr);                                                       
    ajax_http.open('get', '/ajax.php?'+argumentString);
    ajax_http.onreadystatechange = ajax_handleResponse;
    ajax_http.send(null);
}
function sndReq2(argumentString, destStr, loaderOn){ 
    disable_loader = loaderOn;
    ajax_destObj = document.getElementById(destStr);     
    ajax_http.onreadystatechange = ajax_handleResponse;                                   
    ajax_http.open("POST",  '/ajax.php', true);                 
    ajax_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajax_http.setRequestHeader("Content-length", argumentString.length);
    ajax_http.setRequestHeader("Connection", "close");               
    ajax_http.send(argumentString);
}
function shoutReq(argumentString, loaderOn){ 
    disable_loader = loaderOn;   
    var hiddenObj = document.getElementById('hiddenJSON');  
    if(hiddenObj != null)
        argumentString = argumentString + '&hiddenJSON=' + escape(hiddenObj.value);
    ajax_http.open("POST",  '/ajax.php', true);                 
    ajax_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajax_http.setRequestHeader("Content-length", argumentString.length);
    ajax_http.setRequestHeader("Connection", "close");  
    ajax_http.onreadystatechange = shout_handleResponse;             
    ajax_http.send(argumentString);
}   
function shout_handleResponse(){
    if(ajax_http.readyState == 4){
        var response = ajax_http.responseText;
        //ajax_destObj.innerHTML = response;
        //alert( response );
        var jsonObj = JSON.parse(response);
        var hiddenArray = new Object();
        
        for (var i in jsonObj)
        {
            var shoutObj = JSON.parse(jsonObj[i]);
            if(shoutObj[1] == 1) {
                var destObj = document.getElementById('shout_'+shoutObj[0]);
                if(destObj != null)
                    destObj.innerHTML = shoutObj[3] + shoutObj[4] + shoutObj[5];
                else {
                    //var tr = document.createElement('<div>');     
                    var td = document.createElement('div');
                    td.setAttribute('colspan', shoutObj[2]);
                    td.name = 'shout_'+shoutObj[0];
                    td.id = 'shout_'+shoutObj[0];                         
                    td.setAttribute('style','border: 1px solid #424242'); 
                    td.setAttribute('tag',shoutObj[0]);                  
                    td.innerHTML = shoutObj[3] + shoutObj[4] + shoutObj[5];
                    //tr.appendChild(td);
                    destObj = td;      
                    var shoutArea = document.getElementById('shoutbox_area'); 
                    
                    if(shoutArea.firstChild) {                                                                  
                        if(parseInt($('#shoutbox_area div:last').attr('tag')) > parseInt(shoutObj[0])) {
                            shoutArea.appendChild(td); 
                        }
                        else {
                            shoutArea.insertBefore(td,shoutArea.firstChild);   
                        }           
                    }
                    else shoutArea.appendChild(td);   
                }   
            }   
            else {
                if(shoutObj[0] == 'topbar') {
                    document.getElementById('topbar').innerHTML = shoutObj[1];
                }
                else {
                    hiddenArray['shout_'+shoutObj[0]] = escape(shoutObj[4]);                      
                }
            }                                                          
        }                             
            var hiddenObj = document.getElementById('hiddenJSON');  
            if(hiddenObj != null)
                hiddenObj.value = JSON.stringify(hiddenArray);
            else {
                hiddenObj = document.createElement('input');
                hiddenObj.type = 'hidden';
                hiddenObj.id = 'hiddenJSON';
                hiddenObj.name = 'hiddenJSON';
                hiddenObj.value = JSON.stringify(hiddenArray);
                document.body.appendChild(hiddenObj);
            }
    } else if( ajax_http.readyState == 1 ){
        if(disable_loader == 0){
            //ajax_destObj.innerHTML = '<img border=0 src=/pic/ajax-loader.gif align=absmiddle>';//'Loading...';
        }        
    }
}         
   
String.prototype.between = function(prefix, suffix) {
  s = this;
  var i = s.indexOf(prefix);
  if (i >= 0) {
    s = s.substring(i + prefix.length);
  }
  else {
    return '';
  }
  if (suffix) {
    i = s.indexOf(suffix);
    if (i >= 0) {
      s = s.substring(0, i);
    }
    else {
      return '';
    }
  }
  return s;
}
function ajax_handleResponse(){
    if(ajax_http.readyState == 4){
        var response = ajax_http.responseText;
        ajax_destObj.innerHTML = response;
        //alert( response );                                                    
    } else if( ajax_http.readyState == 1 ){
	    if(disable_loader == 0){
		    ajax_destObj.innerHTML = '<img border=0 src=/pic/ajax-loader.gif align=absmiddle>';//'Loading...';
	    }    	
    }
}
function special(source)
	{
		var result = '';
		for (var i = 0; i < source.length; i++)
		{
			var c = source.charAt(i);
			if (c < ' ' || c > '~')
			{
				c = '&#' + c.charCodeAt() + ';';
			}
			result += c;
		}
		return result;
	}

//// END AJAX MODS \\\\
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function Set_Cookie( name, value, expires, path, domain, secure )
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct
expires time, the current script below will set
it for x number of days, to make it for hours,
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}
