
$BASE_URL           = '/ajax/';

function checkCapabilities(){
    var xmlHttp2;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp2=new XMLHttpRequest();
    }catch (e){
        // Internet Explorer
        try{
            xmlHttp2=new ActiveXObject("Msxml2.XMLHTTP");
        }catch (e){
            try{
                xmlHttp2=new ActiveXObject("Microsoft.XMLHTTP");
            }catch (e){
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
  return xmlHttp2;
}

function boxLoad( boxName, boxClass, replaceDoc, params ) {

    var $xmlHttp    = checkCapabilities();
    var $box        = document.getElementById( boxName );
    var $loadBox
    
    if( boxClass ){
        $loadBox    = boxClass
    }else{
        $loadBox    = 'ajaxLoad';
    }
    
    //$loadBox    = 'ajaxLoad';
    //alert($loadBox);
    
    if( $xmlHttp && $box ){
        
        $xmlHttp.onreadystatechange =
        function(){
            
            if( $xmlHttp.readyState < 4 ){
                $box.innerHTML = '<img class="ajaxLoad" src="/images/various/loading.gif" align="center" valign="center" />';
            }
            
            if( $xmlHttp.readyState == 4 ){
                $box.innerHTML = $xmlHttp.responseText;
            }
        }
        
        if( params ) params = '?'+params;
        $xmlHttp.open( "GET", $BASE_URL + replaceDoc +  params , true ); 
        $xmlHttp.send(null);
    }
}

function boxLoadNoLoadImg( boxName, boxClass, replaceDoc, params ) {

    var $xmlHttp    = checkCapabilities();
    var $box        = document.getElementById( boxName );
    var $loadBox
    
    if( boxClass ){
        $loadBox    = boxClass
    }else{
        $loadBox    = 'ajaxLoad';
    }
    
    //$loadBox    = 'ajaxLoad';
    //alert($loadBox);
    
    if( $xmlHttp && $box ){
        
        $xmlHttp.onreadystatechange =
        function(){
            if( $xmlHttp.readyState == 4 ){
                $box.innerHTML = $xmlHttp.responseText;
            }
        }
        
        if( params ) params = '?'+params;
        $xmlHttp.setRequestHeader("Content-type", "text/html; charset=iso-8859-1");
        $xmlHttp.open( "GET", $BASE_URL + replaceDoc +  params , true ); 
        $xmlHttp.send(null);
    }
}

function boxLoadAction( boxName, boxClass, replaceDoc, params, getFunction ) {

    var $xmlHttp    = checkCapabilities();
    var $box        = document.getElementById( boxName );
    var $loadBox;
    
    if( boxClass ){
        $loadBox    = boxClass
    }else{
        $loadBox    = 'ajaxLoad';
    }
    
    //$loadBox    = 'ajaxLoad';
    //alert($loadBox);
    
    if( $xmlHttp && $box ){
        
        $xmlHttp.onreadystatechange =
        function(){
            
            if( $xmlHttp.readyState < 4 ){
                $box.innerHTML = '<img class="ajaxLoad" src="/images/various/loading.gif" align="center" valign="center" />';
            }
            
            if( $xmlHttp.readyState == 4 ){
                $box.innerHTML = $xmlHttp.responseText;
                getFunction();
            }
            
        }
        
        if( params ) params = '?'+params;
        $xmlHttp.setRequestHeader("Content-type", "text/html; charset=iso-8859-1");
        $xmlHttp.open( "GET", $BASE_URL + replaceDoc +  params , true ); 
        $xmlHttp.send(null);
    }
}

function boxLoadPOST( boxName, boxClass, replaceDoc, params ) {

    var $xmlHttp    = checkCapabilities();
    var $box        = document.getElementById( boxName );
    var $loadBox
    
    if( boxClass ){
        $loadBox    = boxClass
    }else{
        $loadBox    = 'ajaxLoad';
    }
    
    if( $xmlHttp && $box ){
        
        $xmlHttp.onreadystatechange =
        function(){
            
            if( $xmlHttp.readyState < 4 ){
                $box.innerHTML = '<img src="/images/various/loading.gif" align="center" valign="center" />';
            }
            
            if( $xmlHttp.readyState == 4 ){
                $box.innerHTML = $xmlHttp.responseText;
            }
        }
      
        $xmlHttp.open( "POST", $BASE_URL + replaceDoc , true );
        $xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1");
        $xmlHttp.setRequestHeader("Content-length", params.length);
        $xmlHttp.setRequestHeader("Connection", "close");
        $xmlHttp.send(params);
    } 
    return;
}

function boxLoadPOSTaction( boxName, boxClass, replaceDoc, params, postFunction ) {

    var $xmlHttp    = checkCapabilities();
    var $box        = document.getElementById( boxName );
    var $loadBox;
    
    if( boxClass ){
        $loadBox    = boxClass;
    }else{
        $loadBox    = 'ajaxLoad';
    }

    if( $xmlHttp && $box ){
        
        $xmlHttp.onreadystatechange =
        function(){
            
            if( $xmlHttp.readyState < 4 ){
                $box.innerHTML = '<img class="ajaxLoad" src="/images/various/loading.gif" align="center" valign="center" />';
            }
            
            if( $xmlHttp.readyState == 4 ){
                $box.innerHTML = $xmlHttp.responseText;
                postFunction();
            }
        }
        
        $xmlHttp.open( "POST", $BASE_URL + replaceDoc , true );
        $xmlHttp.setRequestHeader("Content-type", "text/html; charset=ISO-8859-1");
        //$xmlHttp.overrideMimeType("text/html; charset=ISO-8859-1");
        $xmlHttp.setRequestHeader("Content-length", params.length);
        $xmlHttp.setRequestHeader("Connection", "close");
        $xmlHttp.send(params);
    }
    return;
}

function parseFormParams( formID ){
    var $form       = document.getElementById( formID );
    var $strParams  = '';

    for( $i = 0 ; $i < $form.elements.length ; $i++ ){
        
        if( $form.elements[$i].name ){
            switch ( $form.elements[$i].type ){
                case 'checkbox':
                    if ($form.elements[$i].checked==1){
						if( $strParams.length ) $strParams += '&'
						$strParams += $form.elements[$i].name+'='+($form.elements[$i].checked?$form.elements[$i].value:'0');
					}
					break;
                case 'radio':
			      	if ($form.elements[$i].checked==1){
     					if( $strParams.length ) $strParams += '&'
						$strParams += $form.elements[$i].name+'='+($form.elements[$i].checked?$form.elements[$i].value:'0');
					}
					break;
                default:
			        if( $strParams.length ) $strParams += '&'
					$strParams += $form.elements[$i].name+'='+$form.elements[$i].value.replace('&','&amp;'); 
                    break;
            }
        }
    }
    return $strParams;
}

function ajaxCheckEmail( replaceDoc, params, boxId ) {
    
    var $xmlHttp    = checkCapabilities();
    var $response   = "";
    
    if( $xmlHttp ){
        
        $xmlHttp.onreadystatechange =
        function(){
            
            if( $xmlHttp.readyState == 4 ){
                if( $xmlHttp.responseText ){
                    boxId.style.display = 'block';
                    var $checkEmail = true;
                }else{
                    boxId.style.display = 'none';
                    var $checkEmail = false;
                }
            }
        }
        
        if( params ) params = '?'+params;
        
        $xmlHttp.open( "GET", $BASE_URL + replaceDoc +  params , true );
        $xmlHttp.send(null);
    }
    return $response;
}
