var req;
var isIE = false;


function pathname()
{
	return '/js/ajax.asmx'
}

function Initialize()
{
    try
    {
        req=new ActiveXObject("Msxml2.XMLHTTP");
        isIE = true;
    }
    catch(e)
    {
        try
        {
            req=new ActiveXObject("Microsoft.XMLHTTP");
            isIE = true;
        }
        catch(oc)
        {
            req=null;
        }
    }

    if(!req&&typeof XMLHttpRequest!="undefined")
    {
        req=new XMLHttpRequest();
    }


}

function encode_utf8(rohtext) {
    // dient der Normalisierung des Zeilenumbruchs
    rohtext = rohtext.replace(/\r\n/g,"\n");
    var utftext = "";
    for(var n=0; n<rohtext.length; n++)
        {
        // ermitteln des Unicodes des  aktuellen Zeichens
        var c=rohtext.charCodeAt(n);
        // alle Zeichen von 0-127 => 1byte
        if (c<128)
            utftext += String.fromCharCode(c);
        // alle Zeichen von 127 bis 2047 => 2byte
        else if((c>127) && (c<2048)) {
            utftext += String.fromCharCode((c>>6)|192);
            utftext += String.fromCharCode((c&63)|128);}
        // alle Zeichen von 2048 bis 66536 => 3byte
        else {
            utftext += String.fromCharCode((c>>12)|224);
            utftext += String.fromCharCode(((c>>6)&63)|128);
            utftext += String.fromCharCode((c&63)|128);}
        }
    return utftext;
}



function ProcessGalleryPaging()
{

    if (req.readyState == 4)
        {
        // only if "OK"
            if (req.status == 200)
            {
				retval=req.responseText;
                
				intStart = retval.indexOf("|ret|") + 5;
				intEnd = retval.lastIndexOf("|ret|");
				
				spres = retval.substring(intStart, intEnd).replace("|res","");

				var tbl = document.getElementById('tblProjects');
				var tr = document.getElementById('trProject');
				var trid = tr.id;
				
				//Clear all cells
				tr.parentNode.removeChild(tr);
				
				newTR = document.createElement("TR");
				newTR.id = trid;
				tbl.appendChild(newTR);

				var projects = spres.split("#");
				var proj_num=0;
				while (proj_num < projects.length-1)
				{
					//alert(projects.length + "\n" + projects[proj_num])
					var projItems = projects[proj_num].split(";");
					// Here we got projItems[0] = ProjectID
					// projItems[1] = ImageURL?ProjectTitle
					var imgurl = projItems[1].split("?")[0];
					var projectTitle= projItems[1].split("?")[1];

					mycurrent_cell = document.createElement("TD");
					distanceCell = document.createElement("TD");
					myAnchorNode = document.createElement("A");
					myImageNode = document.createElement("IMG");
					
					myDivLayer = document.createElement("DIV");
					myDivLayer.style.position="absolute";
					myDivLayer.zIndex=10000;
					myDivLayer.style.top="0px";
					myDivLayer.style.left="0px";
					myDivLayer.style.fontSize="8px";
					myDivLayer.style.backgroundColor="#000";
					myDivLayer.style.display="none";
					myDivLayer.style.padding="2px";
					divFrame = document.createElement("DIV");
					divFrame.style.position = "relative";

					myDivLayer.id = "div" + projItems[0];
					myTextLayer = document.createTextNode(projectTitle);
					myDivLayer.appendChild(myTextLayer);
					
					myAnchorNode.href = targetPage + "&pro=" + projItems[0] +"&idx=1";
					
					myImageNode.src = "/system/jpg.ashx?ImgFilePath=/images/" + imgurl + "&height=63";
					myImageNode.alt=projectTitle;
					myAnchorNode.appendChild(myImageNode);
					myAnchorNode.title = projectTitle;
					myAnchorNode.id = "anchor" + projItems[0];
					
					divFrame.appendChild(myDivLayer);
					mycurrent_cell.appendChild(divFrame);
					mycurrent_cell.appendChild(myAnchorNode);
					mycurrent_cell.style.verticalAlign="top";
										
					distanceCell.width=6;
					

					newTR.appendChild(mycurrent_cell);
					newTR.appendChild(distanceCell);
					
					document.getElementById(myAnchorNode.id).div = myDivLayer.id;
					document.getElementById(myAnchorNode.id).div = myDivLayer.id;
					document.getElementById(myAnchorNode.id).onmouseover = prop_over;
					document.getElementById(myAnchorNode.id).onmouseout = prop_out;
					
					document.getElementById(myDivLayer.id).div = myDivLayer.id;
					document.getElementById(myDivLayer.id).div = myDivLayer.id;
					document.getElementById(myDivLayer.id).onmouseover = prop_over;
					document.getElementById(myDivLayer.id).onmouseout = prop_out;
					
					proj_num += 1;
				}

            }
            else
            {
                alert("Fehler: " + req.statusText + req.status);
            }
        }
}



function prop_over()
{
	document.getElementById(this.div).style.display='block'
}

function prop_out()
{
	document.getElementById(this.div).style.display='none'
}

var absolutPageNumber = 0;
var targetPage = "/";
var totalItems = 0;
function InitPageGallery(ptotalItems)
{
	totalItems = ptotalItems;
}

function PageGallery(dir, section, ptargetPage)
{
    Initialize();

    var url= pathname() + '/GetNextGalleryPage';
	targetPage = ptargetPage;

	
    if(req!=null)
    {
        req.onreadystatechange = ProcessGalleryPaging;
        req.open("POST", url, true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');

        if(dir == "up")
			absolutPageNumber += 1;
		else
			absolutPageNumber -= 1;
			
		if(absolutPageNumber <= 0)
			absolutPageNumber = totalItems;
		if (totalItems< absolutPageNumber)
			absolutPageNumber = 1;
			


        req.send('pPage='+absolutPageNumber + "&pSection="+section);
    }
}

function PageGalleryProject(dir, pProjectID, ptargetPage)
{
    Initialize();

    var url= pathname() + '/GetNextGalleryPageProject';
	targetPage = ptargetPage;

	
    if(req!=null)
    {
        req.onreadystatechange = ProcessGalleryPagingProject;
        req.open("POST", url, true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');

        if(dir == "up")
			absolutPageNumber += 1;
		else
			absolutPageNumber -= 1;
			
		if(absolutPageNumber <= 0)
			absolutPageNumber = totalItems;
		if (totalItems< absolutPageNumber)
			absolutPageNumber = 1;

        req.send('pPage='+absolutPageNumber + "&pProject="+pProjectID);
    }
}

function ProcessGalleryPagingProject()
{

    if (req.readyState == 4)
        {
        // only if "OK"
            if (req.status == 200)
            {
				retval=req.responseText;
				idx = 1;
				
				intStart = retval.indexOf("|ret|") + 5;
				intEnd = retval.lastIndexOf("|ret|");
				
				spres = retval.substring(intStart, intEnd).replace("|res","");

				var tbl = document.getElementById('tblProjects');
				var tr = document.getElementById('trProject');
				var trid = tr.id;
				
				//Clear all cells
				tr.parentNode.removeChild(tr);
				
				newTR = document.createElement("TR");
				newTR.id = trid;
				tbl.appendChild(newTR);

				var projects = spres.split("#");
				var proj_num=0;
				while (proj_num < projects.length-1)
				{
					//alert(projects.length + "\n" + projects[proj_num])
					var projItems = projects[proj_num].split(";");
					// Here we got projItems[0] = ProjectID
					// projItems[1] = ImageURL?ProjectTitle
					var imgurl = projItems[1].split("?")[0];
					var projectTitle= projItems[1].split("?")[1];

					mycurrent_cell = document.createElement("TD");
					distanceCell = document.createElement("TD");
					myAnchorNode = document.createElement("A");
					myImageNode = document.createElement("IMG");
					
					myAnchorNode.href = targetPage + "&pro=" + projItems[0] +"&idx=" + idx;
					myImageNode.src = "/system/jpg.ashx?ImgFilePath=/images/" + imgurl + "&height=63";
					myImageNode.alt=projectTitle;
					myAnchorNode.appendChild(myImageNode);
					myAnchorNode.title = projectTitle;
					myAnchorNode.id = "anchor" + projItems[0];
					
					mycurrent_cell.appendChild(myAnchorNode);
					mycurrent_cell.style.verticalAlign="top";
										
					distanceCell.width=6;

					newTR.appendChild(mycurrent_cell);
					newTR.appendChild(distanceCell);
					
					proj_num += 1;
					idx ++;
				}

            }
            else
            {
                alert("Fehler: " + req.statusText + req.status);
            }
        }
}

