//  'formviewimg'       id for Div contain all elements. 
//  'viewloading'       id for Div with loading notice
//  'imgparent'         id for Div with image
//  'viewimg'           id for Image showing

aSelElements = new Array();
function new_capture(iPollId)
{
    var oImg = document.getElementById('captcha_image'+iPollId);
    var sImgUrl = new String(oImg.src);
    sImgUrl = sImgUrl.replace(/&r=[^&]*(\/)?/,'&r='+(new Date()).getTime());
    oImg.src = sImgUrl;
    
    return true;
    
}
function showPopUp(e)
{
    var oImg;
    if(e.target)
    {
        oImg = e.target;
    }else if(window.event){
        oImg = window.event.srcElement;
    }
    var sImgUrl = new String(oImg.src);
    sImgUrl = sImgUrl.replace(/thumb\//,'');
    
    window.open(sImgUrl,'');
}

function showFullImg(e)
{
    var oImg;
    if(e.target)
    {
        oImg = e.target;
    }else if(window.event){
        oImg = window.event.srcElement;
    }
    var sImgUrl = new String(oImg.src);
    sImgUrl = sImgUrl.replace(/thumb\//,'');
    
    oMainDiv = createSwimDiv(e);
    
    startLoadImg(sImgUrl);
    isImgLoaded("imgFullView");
}

function isImgLoaded(sId)
{
    var oImg = document.getElementById(sId);
    if (oImg.complete)
    {
        viewImgLoaded();
    }else{
        setTimeout("isImgLoaded('"+sId+"')",100);
    }
}

function viewImgLoaded()
{
    var oImg = document.getElementById('imgFullView');
    var iY = getYScroll();
    var iX = getXScroll();
    
    var iH = parseInt(oImg.height);
    var iW = parseInt(oImg.width);

    var iMoveY = iY + 100;
    var iMoveX = iX + (screen.availWidth - iW-8)/2;
    if (iX + screen.availWidth < iW - 8)
    {
        iMoveX = 4;
    }
    
    var oInfoDiv = document.getElementById('loadInfoDiv');
    var oViewDiv = document.getElementById('innerFullImgDiv');
    
    var oDiv = document.getElementById("mainFullImgDiv");
    if (oDiv)
    {
        oDiv.style.top =  iMoveY + 'px';
        oDiv.style.left = iMoveX + 'px';
        oDiv.style.width = (iW+2)+"px";
        
        oInfoDiv.style.display = "none";
        oViewDiv.appendChild(oImg);
    }
    remBodyElement("hiddenDiv");
}

function getYScroll()
{
    if (document.documentElement && !document.documentElement.scrollTop)
    {
        return document.documentElement.scrollTop;
    }
    else if (document.documentElement && document.documentElement.scrollTop)
    {
        return document.documentElement.scrollTop;
    }
    else if (document.body && document.body.scrollTop)
    {
        return document.body.scrollTop;
    }
    else if (self.pageYOffset)
    {
        return self.pageYOffset;
    }
    return 0;
}

function getXScroll()
{
    if (document.documentElement && !document.documentElement.scrollLeft)
    {
        return document.documentElement.scrollLeft;
    }
    else if (document.documentElement && document.documentElement.scrollLeft)
    {
        return document.documentElement.scrollLeft;
    }
    else if (document.body && document.body.scrollLeft)
    {
        return document.body.scrollLeft;
    }
    else if (self.pageXOffset)
    {
        return self.pageXOffset;
    }
    return 0;
}

function createSwimDiv(e)
{
    var oBody = document.getElementsByTagName("body").item(0);
    
    removeSwimingDiv(e);
    
    var oDiv = document.createElement('div');
    oDiv.id = "mainFullImgDiv";
    oDiv.style.backgroundColor = "#EDEDED";
    oDiv.style.position = "absolute";
    oDiv.style.textAlign = "right";
    oDiv.style.zIndex = "999998";
    oDiv.style.padding = "4px";
    oDiv.style.width = "200px";
    
    var oImageDiv = document.createElement('div');
    oImageDiv.id = "innerFullImgDiv";
    oImageDiv.style.backgroundColor = "transparent";
    oImageDiv.style.borderColor = "#545454";
    oImageDiv.style.borderWidth = "1px";
    oImageDiv.style.borderStyle = "solid";
    
    var iY = getYScroll();
    var iX = getXScroll();
    
    oDiv.style.top = (iY+100) + 'px';
    oDiv.style.left = (iX+(screen.availWidth - 208)/2) + 'px';
   
    oLoadDiv = document.createElement('div');
    oLoadDiv.id = "loadInfoDiv";
    oLoadDiv.style.backgroundColor = "transparent";
    oLoadDiv.style.textAlign = "center";
    oLoadDiv.style.verticalAlign = "middle";
    oLoadDiv.style.width = "200px";
    oLoadDiv.style.height = "200px";
    oLoadDiv.style.margin = "auto";
    
    oLoadImg = document.createElement('img');
    if (sDesignUrl)
    {
        oLoadImg.src = sDesignUrl+'loading.gif';
    }
    else
    {
        oLoadImg.src = 'http://'+document.domain+'/file/aitocpolls/design/loading.gif';
    }
    oLoadImg.style.marginTop = "86px";
    
    oImageDiv.appendChild(oLoadDiv);
    oLoadDiv.appendChild(oLoadImg);

    oDiv.appendChild(oImageDiv);
    
    oClose = document.createElement('img');
    oClose.id = "closeFullImgView";
    if (sDesignUrl)
    {
        oClose.src = sDesignUrl+'close.gif';
    }
    else
    {
        oClose.src = 'http://'+document.domain+'/file/aitocpolls/design/close.gif';
    }
    
    oDiv.innerHTML += '&nbsp;';
    oDiv.appendChild(oClose);

    oBody.appendChild(oDiv);
    hideSelectBoxes(true);
    
    if (oClose.addEventListener) {
        oClose.addEventListener("click", removeSwimingDiv, false);
    } else if (oClose.attachEvent) {
        oClose.attachEvent("onclick", removeSwimingDiv);
    } else {
        oClose.onclick = removeSwimingDiv;
    } 
    return false;
}

function removeSwimingDiv(e)
{
    hideSelectBoxes(false);
    if (e.target)
    {
        e.stopPropagation();
    }
    remBodyElement("mainFullImgDiv");
    return true;
}

function remBodyElement(sId)
{
    oEl = document.getElementById(sId);
    if (oEl)
    {
        document.body.removeChild(oEl);
    }
}

function startLoadImg(sImgUrl)
{
    remBodyElement("hiddenDiv");
    
    oHImgDiv = document.createElement('div');
    oHImgDiv.id = "hiddenDiv";
    oHImgDiv.style.zIndex = "-1";
    oHImgDiv.style.position = "absolute";
    oHImgDiv.style.visibility = "hidden";
    
    document.body.appendChild(oHImgDiv);
    
    oImg = document.createElement('img');
    oImg.id = "imgFullView";
    oImg.src = sImgUrl;
    oHImgDiv.appendChild(oImg);
    return true;
}

function hideSelectBoxes(bHide)
{
    if (document.all){
        var i=0;
        if (0 == aSelElements.length){
            var aElements = document.getElementsByTagName('select');
            for (i=0;i<aElements.length;i++)
            {
                if ('hidden' != aElements[i].style.visibility)
                {
                    aSelElements[i] = aElements[i];
                }
            }
        }
        if (bHide){
            sVisibility = "hidden";
        }else{
            sVisibility = "";
        }
        for (i=0;i<aSelElements.length;i++)
        {
            aSelElements[i].style.visibility = sVisibility;
        }
    }
}

