
/*
#########################################################
# ajax.js
#
# javascript functions to handle AJAX requests
#
# Copyright:		S-Inside
# Project:			CMS
# Platform:			Javascript
# Date created : 	22-10-08
#
#########################################################
*/

var http = createRequestObject();
var $m_objFormField;
var $m_bExternalLinkValid = false;

function getURLFromPage () {
	var $nPageID = -1;
	
	$m_objFormField = document.forms['menu'].URL
	$m_objFormField.value = "";
	// $m_objFormField.readOnly = true;
	
	if(document.forms['menu'].PaginaID.value > 0) {
		// get url from the dbase
		$nPageID = document.forms['menu'].PaginaID.value;
		$sURL = 'ajax.php?sAction=urlfrompage&id='+$nPageID;
		// alert($sURL);
		http.open('post', $sURL);
	    http.onreadystatechange = handleResponse;
	    http.send(null);
	    
    } else if ((document.forms['menu'].PaginaID.value == 0) || (document.forms['menu'].PaginaID.value == -2)) {
	    // new page or form, set url like name
	    $m_objFormField.value = "index.php?id="+document.forms['menu'].Naam.value;
	    
    } else if (document.forms['menu'].PaginaID.value == -1) {
	    // external link, url is writable
	    $m_objFormField.readOnly = false;
	    
    } else if (document.forms['menu'].PaginaID.value == -3) {
	    // webshop, link to products.php
	    $m_objFormField.value = "products.php";
	    
    } else if (document.forms['menu'].PaginaID.value == -4) {
	    // news page, link to nieuws.php
	    $m_objFormField.value = "nieuws.php";
	    
    } else if (document.forms['menu'].PaginaID.value == -5) {
	    // link page, link to links.php
	    $m_objFormField.value = "links.php";
	    
    } else if (document.forms['menu'].PaginaID.value == -6) {
	    // sitemap page, link to sitemap.php
	    $m_objFormField.value = "sitemap.php";
	    
    } else if (document.forms['menu'].PaginaID.value == -7) {
	    // agenda, link to agenda.php
	    $m_objFormField.value = "agenda.php";
	    
    } else if (document.forms['menu'].PaginaID.value == -8) {
	    // agenda, link to agenda.php
	    $m_objFormField.value = "fotogalerij.php";
    }
}

function alertContents() {
   if (http.readyState == 4) {	   
       if (http.status == 200) {
           if (http.responseText) {
	           $m_bExternalLinkValid = true;
           }
       } else {
	       alert('De opgegeven URL bij Verwijst naar is niet geldig!');
	       $m_bExternalLinkValid = false;
       }
   }
} 

function sendRequest(action,$p_vWhat,$p_sName) {
	var $sGetName = "", $sURL = "";
	if (($p_sName) && ($p_sName.length > 0)) {
		$sGetName = '&name='+$p_sName;
	}
	
	if ($p_vWhat.value) {
		$sURL = 'ajax.php?sAction='+action+'&id='+$p_vWhat.value+$sGetName;	
	} else {
		$sURL = 'ajax.php?sAction='+action+'&id='+$p_vWhat+$sGetName;	
	}
	// alert($sURL);
	//window.location = $sURL;
	
	http = createRequestObject();
	http.open('post', $sURL);
    http.setRequestHeader("connection", "close");
	http.onreadystatechange = handleResponse;
    http.send(null);
}


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

}

function handleResponse() {
	if (http.readyState == 1) {
    	document.body.style.cursor = "wait";
    }
    
	// alert(http.getAllResponseHeaders());
	
    if (http.readyState == 4){
    	if (http.status == 200) {
	        var response = http.responseText;
	        var update = new Array();
			
			if (response) {
				if(response.indexOf('|') != -1) {
					update = response.split('|');
		            // alert(update[1]);
		            if (document.getElementById(update[0])) {
		            	document.getElementById(update[0]).innerHTML = update[1];
		            } else {
		            	alert(document.getElementById(update[0])+" does not exist");
		            }
		            if (update[2]) {
		            	Sortable.create('lijst'+update[2], {tree:true,scroll:window});
	            	}
		        } else if ($m_objFormField) {
			        //alert(response);
			        $m_objFormField.value = response;
		        }
	        }
    	} else {
    		alert("HTTP error: "+http.status+" - "+http.statusText );
    	}
        document.body.style.cursor = "default";
    }
}