var cage_name, div_name, focus = 0, content_x, content_y, display_cage_name, action, cms_currentpic;
var refreshContent = "none"; // name of content to refresh after save

function createRequestObject() 
{
    var req; 
    if(window.XMLHttpRequest) {
    	try {
            req = new XMLHttpRequest();
        } 
        catch(e) {
            req = false;
        }
    } 
    else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch(e) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch(e) {
                req = false;
            }
        }
    }
    return req;
}
var request = createRequestObject(); 

// AJAX CALLS ////////////////////////////

function getDescPopupRequest(path) 
{
	var file_data = get_current_pic();
	cms_currentpic = currentpic;
	
    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
    {
        document.body.style.cursor = 'wait';
    	call_id = new Date().getTime();
    	request.open('get', '../../inc/cms/cms_request.php?type=get_email_popup&path='+path+'&r='+call_id+'&file_data='+file_data);
    	request.onreadystatechange = handleDescRequest; 
    	request.send(null);
    }
}

function handleDescRequest()
{
	if(request.readyState == 1) 
	{ 
	    
    }
	if(request.readyState == 4) 
	{
		var response = request.responseText;
		document.getElementById(cage_name).innerHTML = response;
        document.body.style.cursor = 'default';

        if (div_name)
        { // show div popup
    		document.getElementById(div_name).style.left = content_x + "px";
    		document.getElementById(div_name).style.top = content_y + "px";
    		document.getElementById(div_name).style.display = 'block';
    		div_name = "";
        }
        
        if (focus)
        { // focus
    		document.getElementById(focus).focus(); 
    		focus = 0;
        }
	}
}

function saveDescRequest(path, desc) 
{
	var file_data = get_current_pic();
	
    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
    {
        document.body.style.cursor = 'wait';
       	call_id = new Date().getTime();
       	post_data = 'type=save_desc&desc='+desc+'&path='+path+'&file_data='+file_data;
       	request.open('post', '../../inc/cms/cms_request.php', true);
        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
       	request.onreadystatechange = handleSaveDescRequest;
       	request.send(post_data);
    }
}

function handleSaveDescRequest()
{
	if(request.readyState == 1) 
	{ 
	    
    }
	if(request.readyState == 4) 
	{
		var response = request.responseText;
		document.getElementById("banner_desc").innerHTML = response;
		cms_currentpic.name = response;
        document.body.style.cursor = 'default';
	}
}
//////////////////////////////////////////////

function get_current_pic()
{
	var result = 0;
	
	if (currentpic == pic0)
		result = 0;
	else if (currentpic == pic1)
		result = 1;
	else if (currentpic == pic2)
		result = 2;
	else if (currentpic == pic3)
		result = 3;
	else if (currentpic == pic4)
		result = 4;
	else if (currentpic == pic5)
		result = 5;
	else if (currentpic == pic6)
		result = 6;
	else if (currentpic == pic7)
		result = 7;
	else if (currentpic == pic8)
		result = 8;
	else if (currentpic == pic9)
		result = 9;
	else if (currentpic == pic10)
		result = 10;
	else if (currentpic == pic11)
		result = 11;
	else if (currentpic == pic12)
		result = 12;
	else if (currentpic == pic13)
		result = 13;
	else if (currentpic == pic14)
		result = 14;
	else if (currentpic == pic15)
		result = 15;
	else if (currentpic == pic16)
		result = 16;
	else if (currentpic == pic17)
		result = 17;
	else if (currentpic == pic18)
		result = 18;
		
	return result;
}

// popup functions ///////////////


function get_edit_desc_popup(object, path)
{
    placement = findPos(object);
    content_x = placement[0] - 400;
    content_y = placement[1] - 64;
    
    cage_name = 'edit_desc_cage'; // existing cage to place content in
    div_name = 'edit_desc_div'; // div to show when downloaded
    focus = "new_desc"; // field to focus when downloaded
    getDescPopupRequest(path);
	
    void 0;
}
	
function save_desc(path)
{
    var frm = document.forms['edit_desc_form'];
    var content = frm.new_desc.value;
   	
   	content = content.replace(/\+/g, "&#43");
    content = content.replace(/\\/g, "&#92");
    content = escape(content);
   	
   	close_this_popup('edit_desc_div');
    saveDescRequest(path, content);
}

function logout() 
{
    if (request.readyState == 0 || request.readyState == 4) // don't allow another AJAX call while one already in progress
    {
        document.body.style.cursor = 'wait';
    	call_id = new Date().getTime();
    	request.open('get', 'logout.php?r='+call_id);
    	request.onreadystatechange = handleLogoutRequest; 
    	request.send(null);
    }
}

function handleLogoutRequest()
{
	if(request.readyState == 1) 
	{ 
	    
    }
	if(request.readyState == 4) 
	{
		var current = location.href;
		location.href = current;
	}
}

// general functions
function close_this_popup(div)
{
	document.getElementById(div).style.display = 'none';
	
    void 0;
}

// misc functions

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}