/**
 * @title   PopupT.js
 * @author  Subrata Bhattacharjee, (from CP's original in classTA)
 * v 1.1 : 6-3-10
 *
 */
PopupT = Class.create({
    CLASSDEF : {
        name:  'PopupT'
    }
});

PopupT.prototype = {
    initialize: function(sID, bIE) {
        this.sID = sID;  //identify the box
        this.bIE = true;

    },


    // alert box embedded in home page hooked in 'alertbox', push flash down
    alert: function() {
        var args = $A(arguments);
        var sErrorMsg = args.shift();
        var sHeight  = args.shift();
        var sHTML;;
        sHTML = '<table width = "99%" cellpadding = "2" cellspacing = "0" border = "0">';
        //sHTML += '<tr class = "alertHeader confirmHeader"><td width="10%" align="left"><img src="ajaxcodes/img/tabClose.png" ></td><td width = "80%" align = "center" class = "alertHeader"><i>thermofluids.net</i> Alert Box</td> <td width="10%" align="right"><img src="ajaxcodes/img/tabClose.png" ></td></tr>';
        sHTML += '<tr class = "alertHeader confirmHeader"><td colspan=2 width = "90%" align = "center" class = "alertHeader"><i>thermofluids.net</i> Alert Box</td>  <td width="10%" align="right"><img src="ajaxcodes/img/tabClose.png" ></td></tr>';
        sHTML += '<tr><td width="10%" align="center"><img src="ajaxcodes/img/alert.png" ></td><td colspan = "2" class = "alertMsg">' + sErrorMsg + '</td></tr>';
        sHTML += '<tr><td colspan = "3" align = "center"><input type="button" class="okbutton"  value="OK"/></td></tr></table>';

        // Check for existence and create oDiv if necessary
        //alert('frame and doc name: '+" "+document.innerHTML);
        //if($(this.id)) {document.body.removeChild($(this.id));}
        //alert($(this.id).id);
        if($(this.sID)) {
            var oeP = $(this.sID).parentNode;
            oeP .removeChild($(this.sID));
        }


        var oDiv = document.createElement("div");
        oDiv.id=this.sID;
        xAddClass(oDiv, 'alertHome');
        $('alertBox').appendChild(oDiv);
        oDiv.innerHTML = sHTML;

        oDiv.onclick = this.handleEvent.bind(this,this.sID);
        Rico.Corner.round(oDiv, {
            border: '#0088bb',
            bgColor: '#fff',
            blend:true
        });
    },



    // floating (transparant) box just for the parent of a frame (called from bottom.js usually)
    alertFloat: function() {
        var args = $A(arguments);
        var sErrorMsg = args.shift();
        //alert('error: ' +oTop.main.document.body.innerHTML);
        var sHTML;
        //        sHTML = '<table width = "100%" cellpadding = "2" cellspacing = "0" border = "0">';
        //        sHTML += '<tr class = "floatHeader"><td colspan=2 width = "90%" align = "center" class = "alertHeader"><i>thermofluids.net</i> Alert Box</td>  <td width="10%" align="right"><img src="ajaxcodes/img/tabClose.png" ></td></tr>';
        //        sHTML += '<tr><td width="10%" align="center"><img src="ajaxcodes/img/alert.png" ></td><td colspan = "2" class = "alertMsg">' + sErrorMsg + '</td></tr>';
        //        sHTML += '<tr><td colspan = "3" align = "center"><input type="button" class="okbutton"  value="OK"/></td></tr></table>';

        sHTML = '<table width = "100%" cellpadding = "2" cellspacing = "0" border = "0">';
        sHTML += '<tr class = "floatHeader"><td colspan=2 width = "90%" align = "center" class = "alertHeader"><i>thermofluids.net</i> Alert Box</td>  <td width="10%" align="right"></td></tr>';
        sHTML += '<tr><td width="10%" align="center"> &nbsp;</td><td colspan = "2" class = "alertMsg">' + sErrorMsg + '</td></tr>';
        sHTML += '<tr><td colspan = "3" align = "center"><input type="button" class="okbutton"  value="OK"/></td></tr></table>';

        var oDiv = document.createElement("div");
        oDiv.id='this.sID';


        //if(this.bIE)  oDiv.style.position = 'absolute';
        oDiv.style.position = 'absolute';


        var oTop = parent;
        while (oTop.frames[0].name !='main') oTop = oTop.parent;

        var oRoot = oTop.main.document.body;
        //alert('No of frame in main: ' +oTop.main.frames.length);
        if(oTop.main.frames.length > 1 ) {
            alert(sErrorMsg);
            return;
        }
        if(oTop.main.frames.length == 2) oRoot = oTop.main.frames[0].document.body;


        if($(this.sID)) {
            var oeP = $(this.sID).parentNode;
            oeP .removeChild($(this.sID));
        }

        oRoot.appendChild(oDiv);
        xAddClass(oDiv, 'alertFloat');
        oDiv.innerHTML = sHTML;

        oDiv.onclick = this.handleEventVanish.bind(this,oRoot, oDiv);
        Rico.Corner.round(oDiv, {
            border: '#0088bb',
            bgColor: '#fff',
            blend:true
        });
    },

    handleEventVanish: function(oRoot, oDiv, event) {
        oRoot.removeChild(oDiv);
    },

    handleEvent: function(element, event) {
        Effect.Fade(element);
    },


    // floating (transparant) box just for applets, called from bottom.js
    alertApplet: function() {
        var args = $A(arguments);
        var sErrorMsg = args.shift();
        //alert('error: ' +oTop.main.document.body.innerHTML);
        var sHTML;
        sHTML = '<table width = "100%" cellpadding = "3" cellspacing = "0" border = "0">';
        sHTML += '<tr class = "floatHeader"><td  width = "90%" align = "center" class = "alertHeader"><i>thermofluids.net</i> Daemon Alert Box</td>  <td width="10%" align="right"> </td></tr>';
        sHTML += '<tr><td  class = "alertAppletMsg">' + sErrorMsg  + '</td><td  align = "center"><input type="button" class="okbutton"  value="OK"/></td></tr>';
        sHTML += '</table>';

        var oDiv = document.createElement("div");
        oDiv.id=this.sID;


        //if(this.bIE)  oDiv.style.position = 'absolute';
        oDiv.style.position = 'absolute';


        var oTop = parent;
        while (oTop.frames[0].name !='main') oTop = oTop.parent;

        var oRoot = oTop.main.document.body;
        //alert('No of frame in main: ' +oTop.main.frames.length);
        if(oTop.main.frames.length > 1 ) {
            alert(sErrorMsg);
            return;
        }
        if(oTop.main.frames.length == 2) oRoot = oTop.main.frames[0].document.body;


        var oE = oTop.main.document.getElementById('floatWindow');
        if (oE)oRoot.removeChild(oE);

        oRoot.appendChild(oDiv);
        //alert($('floatWindow').id);
        //alert(oDiv.id +" "+this.sID);
        xAddClass(oDiv, 'alertApplet');
        oDiv.innerHTML = sHTML;
        oDiv.onclick = this.handleEventVanish.bind(this,oRoot, oDiv);


        Rico.Corner.round(oDiv, {
            border: '#0000ff',
            bgColor: '#fff',
            blend:true
        });
    },


    // floating (transparant) box when an element id is supplied
    alertInElement: function(sElement, sErrorMsg) {
        var sHTML;
        sHTML = '<table width = "100%" cellpadding = "3" cellspacing = "0" border = "0">';
        sHTML += '<tr class = "floatHeader"><td  width = "90%" align = "center" class = "alertHeader"><i>thermofluids.net</i> Alert Box</td>  <td width="10%" align="right"> </td></tr>';
        sHTML += '<tr><td  class = "alertAppletMsg">' + sErrorMsg  + '</td><td  align = "center"><input type="button" class="okbutton"  value="OK"/></td></tr>';
        sHTML += '</table>';

        var oDiv = document.createElement("div");
        oDiv.id=this.sID;


        //if(this.bIE)  oDiv.style.position = 'absolute';
        //oDiv.style.position = 'absolute';



        var oRoot = $(sElement);
        //alert('No of frame in main: ' +oTop.main.frames.length);


        //var oE = oTop.main.document.getElementById('floatWindow');
        //if (oE)oRoot.removeChild(oE);

        oRoot.appendChild(oDiv);
        //alert($('floatWindow').id);
        //alert(oDiv.id +" "+this.sID);
        xAddClass(oDiv, 'alertElement');
        oDiv.innerHTML = sHTML;
        oDiv.onclick = this.handleEventVanish.bind(this,oRoot, oDiv);


        Rico.Corner.round(oDiv, {
            border: '#0000ff',
            bgColor: '#fff',
            blend:true
        });
    }


};
