var uploadHandle='JScript/fileHandle.php',
thumbnailSize=150;
var BGUpload=function()
{
    var oa_attr;// added by nick  17 10 07
    var site_url = 'http://www.mycreativelicense.com';
    var $C=YAHOO.util.Connect,$D=YAHOO.util.Dom,retObj={},imgArr=['jpg','gif','png'];
    retObj.fileElem={};
    imgArr.inArray=function(param)
    {
        for(var i=0;i<this.length;i++)
        if(this[i]==param)return true;
        return false;
    };
    function _HandleResult(upload_result)
    {
        var rNode,nNode,hNode,dNode,region,imgDim;
        rNode=$D.get(upload_result.file_field);
        if(rNode)
        {
            /*added by nick 17 10 08*/
            var elNode;
            elNode = document.getElementById('oa_attributes['+oa_attr+']');
            elNode.value = site_url+upload_result.path;
            /* */
            hNode=document.createElement('INPUT');
            hNode.type='hidden';
            hNode.id=upload_result.file_field;
            hNode.name=hNode.id;
            hNode.value=site_url+upload_result.path;
            rNode.parentNode.insertBefore(hNode,rNode);
            dNode=document.createElement('DIV');
            $D.addClass(dNode,"HDW_DELETE_FILE");
            dNode.onclick=function()
            {
                BGUpload.deleteFile(this,upload_result.file_field);
            };
            retObj.fileElem[upload_result.file_field]=rNode.cloneNode(false);
            if(imgArr.inArray(upload_result.ext))
            {
                nNode=document.createElement('IMG');
                nNode.style.visibility='hidden';
                nNode.border=0;
                nNode.src=site_url+"/mcl2/phpThumb/phpThumb.php?src="+upload_result.path+"&w=150&h=150";
                nNode.id="HDW_"+upload_result.file_field+"_CONTAINER";
                rNode.parentNode.insertBefore(nNode,rNode);
                var loadingInterval=window.setInterval(function()
                {
                    if(nNode.complete)
                    {
                        window.clearInterval(loadingInterval);
                        region=$D.getRegion(nNode);
                        imgDim={
                            w:(region["right"]-region["left"]),h:(region["bottom"]-region["top"])
                        };
                        /*if(imgDim.w>=thumbnailSize)
                        {
                            imgDim.h=Math.round(imgDim.h*thumbnailSize/imgDim.w);
                            imgDim.w=thumbnailSize;
                        }
                        if(imgDim.h>=thumbnailSize)
                        {
                            imgDim.w=Math.round(imgDim.w*thumbnailSize/imgDim.h);
                            imgDim.h=thumbnailSize;
                        }
                        nNode.width=imgDim.w;
                        nNode.height=imgDim.h;*/
                        nNode.style.visibility='visible';
                    }
                },10);
            }
            else
            {
                nNode=document.createElement('A');
                nNode.innerHTML=upload_result.file_name;
                nNode.href=site_url+"mcl2/phpThumb/phpThumb.php?src="+upload_result.path+"&w=150&h=150";
                nNode.target='_blank';
                nNode.id="HDW_"+upload_result.file_field+"_CONTAINER";
                rNode.parentNode.insertBefore(nNode,rNode);
            }
            rNode.parentNode.insertBefore(dNode,rNode);
            rNode.parentNode.removeChild(rNode);
            /*added by nick        */
            document.getElementById('buttonAddToCard').style.display = 'block';
            document.getElementById('uploadloader').style.display = 'none';
        }
    };
    function _deleteFile(delTag,idFileField)
    {
        var hNode=$D.get(idFileField),cNode;
        if(hNode)
        {
            $C.asyncRequest('POST',uploadHandle,{},"HDW_DELETE_FILE="+hNode.getAttribute("VALUE"));
            if(retObj.fileElem[idFileField])
            {
                cNode=$D.get("HDW_"+idFileField+"_CONTAINER");
                hNode.parentNode.insertBefore(retObj.fileElem[idFileField],hNode);
                delTag.parentNode.removeChild(delTag);
                hNode.parentNode.removeChild(hNode);
                cNode.parentNode.removeChild(cNode);
            }
        }
    };
    retObj.upload=function(obj)
    {
        var upload_result;
        eval(obj.responseText);
        if(upload_result&&upload_result.error=='')_HandleResult(upload_result);
    };
    retObj.uploadFile=function(inputFile,attr)// changed by nick 17 10 07
    {
        var me=this,actionF,transObj;
        //added by nick 17 10 07
        oa_attr = attr;
        if(inputFile.form)
        {
            actionF=inputFile.form.getAttribute('ACTION');
            targetF=inputFile.form.getAttribute('TARGET');
            $C.setForm(inputFile.form,true);
            transObj=$C.asyncRequest('POST',uploadHandle,me);
            inputFile.form.setAttribute('ACTION',actionF,false);
            inputFile.form.setAttribute('TARGET',targetF,false);
        }
    };
    retObj.deleteFile=function(delTag,idFileField)
    {
        _deleteFile(delTag,idFileField);
    };
    return retObj;
}();