/*
Created By: Chris Campbell
Website: http://particletree.com
Date: 2/1/2006

Adapted By: Simon de Haan
Website: http://blog.eight.nl
Date: 21/2/2006

Inspired by the lightbox implementation found at http://www.huddletogether.com/projects/lightbox/
And the lightbox gone wild by ParticleTree at http://particletree.com/features/lightbox-gone-wild/

*/

/*-------------------------------GLOBAL VARIABLES------------------------------------*/

var leightBoxDetect = navigator.userAgent.toLowerCase();
//alert(leightBoxDetect)
var OS,lbxBrowser,version,total,thestring;
var templateArray = new Array;

// rvsite mod cache lightbox tanawat
var lightboxCacheRVSPOPUP;
/*-----------------------------------------------------------------------------------------------*/

//Browser detect script origionally created by Peter Paul Koch at http://www.quirksmode.org/

function getBrowserInfo() {

    if (checkIt('konqueror')) {
        lbxBrowser = "Konqueror";
        OS = "Linux";
    }
    else if (checkIt('safari')) lbxBrowser     = "Safari";
    else if (checkIt('omniweb')) lbxBrowser    = "OmniWeb";
    else if (checkIt('opera')) lbxBrowser      = "Opera";
    else if (checkIt('webtv')) lbxBrowser      = "WebTV";
    else if (checkIt('icab')) lbxBrowser       = "iCab";
    else if (checkIt('msie')) lbxBrowser       = "Internet Explorer";
    else if (!checkIt('compatible')) {
        lbxBrowser = "Netscape Navigator";
        version = leightBoxDetect.charAt(8);
    }
    else lbxBrowser = "An unknown browser";
//alert('browser = '+browser)
    if (!version) version = leightBoxDetect.charAt(place + thestring.length);

    if (!OS) {
        if (checkIt('linux')) OS        = "Linux";
        else if (checkIt('x11')) OS     = "Unix";
        else if (checkIt('mac')) OS     = "Mac";
        else if (checkIt('win')) OS     = "Windows";
        else OS                                 = "an unknown operating system";
    }
}

function checkIt(string) {
    place = leightBoxDetect.indexOf(string) + 1;
    thestring = string;
    //alert(place)
    return place;
}

/*-----------------------------------------------------------------------------------------------*/

Event.observe(window, 'load', initialize, false);
Event.observe(window, 'load', getBrowserInfo, false);
Event.observe(window, 'unload', Event.unloadCache, false);

var lightbox = Class.create();

lightbox.prototype = {

    yPos : 0,
    xPos : 0,
    lightboxId : '',
    globalThis : '',
    
    initialize: function(ctrl) {
   // alert('load')
        this.content = ctrl.rel;
        
        this.formUrl = ctrl.href;       
        this.rvsTemplate = ctrl.getAttribute('rvstemplate');
        this.returnObj = ctrl.getAttribute('returnObj');
        this.returnOperation = ctrl.getAttribute('returnOperation');
        this.encode = ctrl.getAttribute('encode')
        this.param =  ctrl.getAttribute('param');
        this.frmName = ctrl.getAttribute('frmName');
        this.jsFunc = ctrl.getAttribute('jsFunc');
        this.loading = ctrl.getAttribute('loading');
        this.FormActSetting = ctrl.getAttribute('frmActSet');
        this.modalHeight = ctrl.getAttribute('modalHeight');
        
        Event.observe(ctrl, 'click', this.activate.bindAsEventListener(this), false);
        ctrl.onclick = function(){return false;};
    },
    
    // Turn everything on - mainly the IE fixes
    activate: function(){
        if (lbxBrowser == 'Internet Explorer'){
            this.getScroll();
            this.prepareIE('100%', 'hidden');
            //this.setScroll(0,0);
            this.hideSelects('hidden');
            
        }
        this.hideDivs('hidden');
        lightboxId = this.content;
        globalThis = this;
        this.rvsGetContents();
        if(this.loading != 'true'){
            this.displayLightbox("block");  
        } else{
            this.displayLoading("block", "withOverlay");
        }
    },
    
    // Ie requires height to 100% and overflow hidden or else you can scroll down past the lightbox
    prepareIE: function(height, overflow){
        bod = document.getElementsByTagName('body')[0];
        bod.style.height = height;
        //bod.style.overflow = overflow;
  
        htm = document.getElementsByTagName('html')[0];
        htm.style.height = height;
        //htm.style.overflow = overflow; 
        
        pageScroll = this.getPageScroll();
        $('overlay').style.height = pageScroll[1];
        $('overlay').style.width = pageScroll[0];
    },
    
    // In IE, select elements hover on top of the lightbox
    hideSelects: function(visibility){
        selects = document.getElementsByTagName('select');
        for(i = 0; i < selects.length; i++) {
            if(selects[i].className != 'leightBoxUnhide' && (!selects[i].getAttribute('show'))) {
            selects[i].style.visibility = visibility;
              //   selects[i].style.visibility = 'visible';
            }           
        }
    },

    // In IE, flash elements hover on top of the lightbox, cover flash with div for hide    
    hideDivs: function(visibility){
        leightBoxHide = document.getElementsByClassName('leightBoxHide');
        for(i = 0; i < leightBoxHide.length; i++) {
            leightBoxHide[i].style.visibility = visibility;
        }
    },
    
    // Taken from lightbox implementation found at http://www.huddletogether.com/projects/lightbox/
    getScroll: function(){
        if (self.pageYOffset) {
            this.yPos = self.pageYOffset;
            this.xPos = self.pageXOffset;
        } else if (document.documentElement && document.documentElement.scrollTop){
            this.yPos = document.documentElement.scrollTop; 
            this.xPos = document.documentElement.scrollLeft; 
        } else if (document.body) {
            this.yPos = document.body.scrollTop;
            this.xPos = document.body.scrollLeft;
        }
        var xPos = this.xPos;
        var yPos = this.yPos;
        return [xPos,yPos];
    },
    
    setScroll: function(x, y){
        window.scrollTo(x, y); 
    },
    
    displayLightbox: function(display){
        this.visibleLightbox(display);
        //$('overlay').style.display = display;
        //$(this.content).style.display = display;
        //if(display != 'none') this.actions();     
    },
    
    // Search through new links within the lightbox, and attach click event
    actions: function(){
        lbActions = document.getElementsByClassName('lbAction');

        for(i = 0; i < lbActions.length; i++) {
            Event.observe(lbActions[i], 'click', this[lbActions[i].rel].bindAsEventListener(this), false);
            lbActions[i].onclick = function(){return false;};
        }

    },
    
    // Example of creating your own functionality once lightbox is initiated
    deactivate: function(){
        if (lbxBrowser == "Internet Explorer"){
            this.setScroll(0,this.yPos);
            this.prepareIE("auto", "auto");
            this.hideSelects("visible");
            this.hideDivs("visible");
        }
        
        this.displayLightbox("none");
    },
    
    //-------------------------------------------------------------------------------
    getPosition: function(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];
    },
    
    getCenterPosition: function(oElem, oMax, oDisplay){

        var currTop = window.scrollY;
        if(oElem){
            var posLeftTop = this.getPosition(oElem);
            var posRightBottom = this.getPosition(oMax);
            var posLeft = posLeftTop[0];
            var posTop = posLeftTop[1];
            var posRight = posRightBottom[0];
            var posBottom = posRightBottom[1];
                    
            var pageScroll = this.getPageScroll();
            var pageWidth = pageScroll[0];
            var pageHeight = pageScroll[1];
            
            var windowScroll = this.getScroll();
            var windowScrollX = windowScroll[0];
            var windowScrollY = windowScroll[1];

            if (lbxBrowser == 'Internet Explorer'  || lbxBrowser == 'Safari'){
                var windowScrollMaxX = 0;
                var windowScrollMaxY = 0;
                
                var curTop = (lbxBrowser == 'Internet Explorer')
                				? document.documentElement.scrollTop
                				: document.getElementsByTagName('body')[0].scrollTop;
                		
                var curBottom = curTop + document.documentElement.clientHeight;
                var curCenterHeight = curTop + ((curBottom - curTop)/2);
                var curLeft = document.documentElement.scrollLeft;
                var curRight = curLeft + document.documentElement.clientWidth;
                var curCenterWidth = curLeft + ((curRight - curLeft)/2);
                var centerHeight = curCenterHeight - ((posBottom - posTop)/2); 
                var centerWidth = curCenterWidth - ((posRight - posLeft)/2);
                
                // For IE Modal Dialog
                if(self.dialogHeight){
                    var curTop = document.body.scrollTop;
                    var curLeft = document.body.scrollLeft;
                    
                    var modalHeight = window.dialogHeight.replace('px','');

                    var centerHeight = curTop + ((posBottom - posTop)/2);
                    var centerWidth = 0;
                    

                    if(this.modalHeight != null){
                        centerHeight = this.modalHeight;                                
                    }
                }
                        
            } else {
                var windowScrollMaxX = window.scrollMaxY;
                var windowScrollMaxY = window.scrollMaxX;
                var centerHeight = windowScrollY + ((pageHeight - windowScrollMaxX)/2) - ((posBottom - posTop)/2);
                var centerWidth = windowScrollX +  ((pageWidth - windowScrollMaxY)/2) - ((posRight - posLeft)/2);       
            }

           // document.getElementById[window.scrollY, window.scrollMaxY]);
            if(oDisplay) {
                oDisplay.style.left = centerWidth + 'px';
                oDisplay.style.top = centerHeight + 'px';       
            }
             //alert(centerHeight)
            return [centerWidth, centerHeight];
        }
    },  
    
    
    rvsGetContents: function(){
        
        // Set Form Action
        var searchJsFunc = this.formUrl.search(/javascript:/);
        var formActSetting = this.FormActSetting;
        var ajaxFormAct = "javascript:ajaxSubmit('" + this.formUrl + "', document.getElementById('" + this.frmName + "'), '" + this.returnObj + "','" + this.returnOperation + "');";
        if (searchJsFunc != -1 | formActSetting == 'fixed') {
            ajaxFormAct = this.formUrl;
        }
        else if (formActSetting == 'unset') {
         // alert($(this.frmName).action)
          ajaxFormAct = $(this.frmName).action;
        }
        // Set Template
        if (templateArray[this.rvsTemplate] == undefined) {
            templateArray[this.rvsTemplate] = $(this.rvsTemplate).innerHTML;
            $(this.rvsTemplate).innerHTML = ''; 
        }

        $('rvsPopUpHtmlContent').innerHTML = templateArray[this.rvsTemplate];
        $(this.frmName).action = ajaxFormAct;
		
        // Set Param
        if(this.param != 'unset' & this.param != ''){
            var param = this.param;
            var aParam = param.split("|");

            for(i=0;i<aParam.length;i++){
                var iParam = aParam[i].split("/");
                var paramId = iParam[0];
                var paramVal =(this.encode)? unescape(iParam[1]) : iParam[1];
                var paramProp = iParam[2];

				
                if(document.getElementById(paramId)) {
                    if(paramProp == 'inner'){
                        document.getElementById(paramId).innerHTML = paramVal;
                    } else if(paramProp == 'check'){
                        document.getElementById(paramId).checked = true;
                    } else if(paramProp == 'class'){
                        document.getElementById(paramId).setAttribute('class', paramVal); // For FireFox
                        document.getElementById(paramId).setAttribute('className', paramVal); // For IE
                    } else if(paramProp == 'value') {
                        document.getElementById(paramId).value = paramVal;
                    }                                               
                }
                
                
            }           
        }
        
        // Run Javascript Function
        if(this.jsFunc != '' && this.jsFunc != null){
            eval('this.' + this.jsFunc + ';');
        }
        
    },  
    
    setPageLinkOption: function (url){
                
        var newAJAX = new Ajax.Request(
                    url,
                    {method: 'post', parameters: '', onComplete: this.setPageLinkVal.bind(this)}
                );

    },
    
    getDownloadList: function (url, selectpidId){
    //rechecked this acript not space
        var selectSrc = document.getElementById(selectpidId).src;
    //rechecked this acript not space
        var objSelectPic = document.getElementById('SelectPic');
        objSelectPic.src = selectSrc;
        
        var newAJAX = new Ajax.Request(
                    url,
                    {method: 'post', parameters: '', onComplete: this.downloadListVal.bind(this)}
                );

    },
    
    downloadListVal: function(trans){
        var objDownloadList = document.getElementById('downloadList');
        var strLinkData = trans.responseText;
        
        objDownloadList.innerHTML = strLinkData;
        
        globalThis.displayLoading('hidden');
        globalThis.displayLightbox('visible');  
    },
    
    getValiateExportProject: function (url, exportProjectList, setExportProjectName, setExportProjectId){
        var sel = $(exportProjectList);
        var exportProjectId = sel.options[sel.selectedIndex].value;
        url = url + 'exportProjectId/' + exportProjectId;
        this.getExportProject(exportProjectList , setExportProjectName, setExportProjectId);
        
        //alert(url);
        var newAJAX = new Ajax.Request(
                    url,
                    {method: 'post', parameters: '', onComplete: this.completeValidateExportProject.bind(this)}
                );          
    },
    
    completeValidateExportProject: function (trans){        
        //alert('response=' + trans.responseText);
        document.getElementById('validateExport').innerHTML = trans.responseText;
        globalThis.displayLoading('hidden');
        globalThis.displayLightbox('visible');  
    },

    getExportProject : function(exportProjectList , setExportProjectName, setExportProjectId){
        //jsFunc="getExportProject('ExportProjectList', 'setExportProjectName', 'export_project_id')"       
        var sel = $(exportProjectList);
        $(setExportProjectName).innerHTML = sel.options[sel.selectedIndex].text;
        $(setExportProjectId).value = sel.options[sel.selectedIndex].value;
    },
    
    targetSelect: function (id){
        //alert(id);
        var imgTarget = document.getElementById(id).src;
        var blankTarget = imgTarget.search(/blankpage/);
        var selfTarget = imgTarget.search(/selfpage/);
        var targetBlank = document.getElementById('target_blank');
        var targetSelf = document.getElementById('target_self');
        
        if(blankTarget != -1){
            targetBlank.checked = true;
        } else {
            targetSelf.checked = true;
        }
        

    },
    setPageLinkVal: function(trans){
        //alert(trans.responseText);
        //document.write(trans.responseText);
        var strLinkData = trans.responseText;       
        var aLinkData = strLinkData.split("|");
        //var aLinkData = eval("(" + ajaxOutputValue + ")");
        
        for(i=0;i<aLinkData.length;i++){
            var iParam = aLinkData[i].split("^");
            var paramId = 'FrmOption[' + iParam[0] + ']';
            var paramVal = iParam[1];
            
            if (iParam[0] == 'target' ) paramId = 'FrmOption[' + iParam[0] + '][' + paramVal + ']';         
            if (iParam[0] == 'fullscreen' ) paramId = 'FrmOption[' + iParam[0] + '][' + paramVal + ']';         
            //if (iParam[0] == 'rvs_link_enable' ) paramId = 'FrmOption[' + iParam[0] + '][' + paramVal + ']';
            
            if(document.getElementById(paramId)){
                var oElem = document.getElementById(paramId);
                
                if(oElem.tagName == "INPUT"){
                        if (oElem.type == "text") {
                            oElem.value = paramVal;
                        }
                        
                        if (oElem.type == "checkbox") {
                            if(paramVal == 1){
                                oElem.checked = true;
                            }
                        }
                        
                        if (oElem.type == "radio") {
                            if(oElem.value == paramVal){
                                oElem.checked = true;
                            }
                        }
                }
                
                //if(oElem.tagName == "SELECT"){
            }
            
            
        }
        globalThis.displayLoading('hidden');
        globalThis.displayLightbox('visible');
        

    },  
    
    getExtrasPageTitle: function(pagetitleId, setObj){
        $(setObj).innerHTML = $(pagetitleId).innerHTML;
        
    }, 
    
    getExtrasMetatag : function(metakey, metedesc, setmetakey, setmetadesc){
    //alert(metakey)
        $(setmetakey).innerHTML = $(metakey).innerHTML;
        $(setmetadesc).innerHTML = $(metedesc).innerHTML;
    },
    
    getRemoveProject : function(removeProjectList , setProjectName, setProjectId){
        var sel = $(removeProjectList);
        $(setProjectName).innerHTML = sel.options[sel.selectedIndex].text;
        $(setProjectId).value = sel.options[sel.selectedIndex].value;
        
    },
    
    getDiyHeaderImgOption : function(divOptionId){ 
       document.getElementById('showimageIF').innerHTML = document.getElementById(divOptionId).innerHTML;
       if(divOptionId == 'OptionBanner'){
           document.getElementById('real_ImageId').value = 'headerBanner';
           document.getElementById('real_ImagePath').value = headerBannerUrl;  
           
           SwichDisplay2Element('SpanComentImageSize','DivCheckboxImageFile');
           defaultSelectBoxOnChange('imageValueheaderBanner')
       } else if(divOptionId == 'OptionBg'){       
           document.getElementById('real_ImageId').value ='headerBgImage';
           document.getElementById('real_ImagePath').value = headerBgImgUrl;
           SwichDisplay2Element('DivCheckboxImageFile','SpanComentImageSize');
           defaultSelectBoxOnChange('imageValueheaderBgImage');
           
       }


    },
    
    visibleLightbox: function(display){         
        lightbox = this.content;

        //$('container').appendChild($(lightbox));

        this.getCenterPosition($(lightbox) , $('lbMaxPos'), $(lightbox));
        
        if (display){
            if (display == 'none' || display == 'hidden') {
                $('overlay').style.height = document.body.clientHeight+'px';
                $('overlay').style.visibility = 'hidden';
                $(lightbox).style.visibility = 'hidden';
            } else if (display == 'block' || display == 'visible'){
			    $('overlay').style.height = document.body.scrollHeight+'px';
                $('overlay').style.visibility = 'visible';
                $(lightbox).style.visibility = 'visible';
            } else {
                $('overlay').style.height = document.body.scrollHeight+'px';
                $('overlay').style.visibility = 'visible';
                $(lightbox).style.visibility = 'visible';
            }
        } else {
        		$('overlay').style.height = document.body.clientHeight+'px';
                $('overlay').style.visibility = 'hidden';       
                $(lightbox).style.visibility = 'hidden';
        }
        
        if(display != 'none') this.actions();       
    },
    
    displayLoading: function(display, overlay){
        this.getCenterPosition($('loading') , $('loadingMaxPos'), $('loading'));

        if (display){
            if (display == 'none' || display == 'hidden') {
                if(overlay) {$('overlay').style.visibility = 'hidden';}
                $('loading').style.visibility = 'hidden';           
            } else {
                if(overlay) {$('overlay').style.visibility = 'visible';}
                $('loading').style.visibility = 'visible';                          
            }
        } else {
                if(overlay) {$('overlay').style.visibility = 'hidden';}
                $('loading').style.visibility = 'hidden';               
        }
    },  
    
    getPageScroll : function() {

        var xScroll, yScroll;

        if (window.innerHeight && window.scrollMaxY) {  
            xScroll = document.body.scrollWidth;
            yScroll = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight){ 
            xScroll = document.body.scrollWidth;
            yScroll = document.body.scrollHeight;
        } else { 
            xScroll = document.body.offsetWidth;
            yScroll = document.body.offsetHeight;
        }

        var windowWidth, windowHeight;
        if (self.innerHeight) {
            windowWidth = self.innerWidth;
            windowHeight = self.innerHeight;
        } else if (document.documentElement && document.documentElement.clientHeight) { 
            windowWidth = document.documentElement.clientWidth;
            windowHeight = document.documentElement.clientHeight;
        } else if (document.body) { 
            windowWidth = document.body.clientWidth;
            windowHeight = document.body.clientHeight;
        }   

        if(yScroll < windowHeight){
            pageHeight = windowHeight;
        } else { 
            pageHeight = yScroll;
        }

        if(xScroll < windowWidth){  
            pageWidth = windowWidth;
        } else {
            pageWidth = xScroll;
        }
        
        return [pageWidth, pageHeight, xScroll, yScroll];
    },
    
    getPageName : function(source, target) {
            
            if(document.getElementById(source)){
                var oElem = document.getElementById(source);
                var oTarget = document.getElementById(target);
                
                var selIndex = oElem.selectedIndex;
                HistText = oElem.options[selIndex].text;    
                HistValue = oElem.options[selIndex].value;    
                var i = HistValue.indexOf("^");
                i++
                DBPageName = HistValue.substring(0,i);
                PageName_Level = HistValue.substring(i);
                
                var j = PageName_Level.indexOf("^");
                PageName = PageName_Level.substring(0,j);   
                Level = PageName_Level.substring(j);    
                
                
                oTarget.value = PageName;

                return PageName;
            }
    
    }
}

/*-----------------------------------------------------------------------------------------------*/

// Onload, make all links that need to trigger a lightbox active
function initialize(){
    addLightboxMarkup();
    lbox = document.getElementsByClassName('lbOn');
    for(i = 0; i < lbox.length; i++) {
    	try{
        	valid = new lightbox(lbox[i]);
        }catch(e){
        //alert('have obj')
        	valid.initialize(lbox[i]);
        }
        
    }
    //loadDomReady(0,lbox.length)
}

function loadDomReady(objIndex,objlength) {
lbox = document.getElementsByClassName('lbOn');
   if (objIndex < objlength) {
        objIndex++;
        setTimeout('loadDomReady('+objIndex+','+objlength+')',10);
    }else {
        lightboxDeactivate();
       }
}

// Add in markup necessary to make this work. Basically two divs:
// Overlay holds the shadow
// Lightbox is the centered square that the content is put into.
function addLightboxMarkup() {
if (document.getElementById('overlay') == null){
    bod                 = document.getElementsByTagName('body')[0];

    overlay             = document.createElement('div');
    overlay.id          = 'overlay';

    bod.appendChild(overlay);
    
    container = document.createElement('div');
    container.id = 'container';
    overlay.appendChild(container);
    
    //if (lbxBrowser != 'Internet Explorer'){
        pageSize = getPageScroll();

        overlay.style.height = pageSize[1] + 'px';
        //}
    }
}
// tanawat make overlay2
function addOverLayNew() {
if (document.getElementById('overlay2')==null){
    bod                 = document.getElementsByTagName('body')[0];
    overlay2             = document.createElement('div');
    overlay2.id          = 'overlay2';
    overlay2.setAttribute('class','overlay2');
    bod.appendChild(overlay2);
    
    }
}
// Extend  LightBox Handler
//
//
function lightboxDeactivate(ReturnId){
lightbox = document.getElementById('lightbox');
// rvsite mod cache lightbox tanawat
if(lightbox.childNodes.length == 0) {
contentset = document.getElementById('rvsPopUpHtmlContent');
cacheObjOutput = (ReturnId) ? contentset.innerHTML: null ;
	contentset.innerHTML = '';
	document.getElementById('lightbox').innerHTML = lightboxCacheRVSPOPUP;
}

//end rvsite mod cache lightbox tanawat
lightbox = document.getElementById('lightbox')
// rvsite mod cache lightbox tanawat
if(lightbox.childNodes.length == 0) {
contentset = document.getElementById('rvsPopUpHtmlContent')
	contentset.innerHTML = '';
	document.getElementById('lightbox').innerHTML = lightboxCacheRVSPOPUP;
}
//end rvsite mod cache lightbox tanawat


//end rvsite mod cache lightbox tanawat
lightbox = document.getElementById('lightbox')
// rvsite mod cache lightbox tanawat
if(lightbox.childNodes.length == 0) {
contentset = document.getElementById('rvsPopUpHtmlContent')
	contentset.innerHTML = '';
	document.getElementById('lightbox').innerHTML = lightboxCacheRVSPOPUP;
}
//end rvsite mod cache lightbox tanawat
document.getElementById('overlay').style.height = document.body.clientHeight+'px'
    lbox = document.getElementsByClassName('leightbox');
    $('overlay').style.visibility = 'hidden';
    for(i = 0; i < lbox.length; i++) {
        lbox[i].style.visibility = 'hidden';
    }
    visibleSelect('visible');
    visibleDivs('visible');
    if(ReturnId) {
ReturnId = document.getElementById(ReturnId);
ReturnId.innerHTML = cacheObjOutput;
}
}



function loadingActivate(){
    addLightboxMarkup();
    //alert(lbxBrowser)
    lbox = document.getElementsByClassName('leightbox');
    for(i = 0; i < lbox.length; i++) {
        lbox[i].style.visibility = 'hidden';
    }
    
    getCenterPosition($('loading') , $('loadingMaxPos'), $('loading'));
    //$('overlay').style.visibility = 'visible';
    //$('loading').style.visibility = 'visible';
    if(document.getElementById('overlay')){
       document.getElementById('overlay').style.height = document.body.scrollHeight+'px';
       document.getElementById('overlay').style.visibility = 'visible';
    }
    
    if(document.getElementById('loading')){
       document.getElementById('loading').style.visibility = 'visible';
    }   
    
    //alert(document.getElementById('loading').id);
    
    
}

function messageActivate(msg, htmlFormat){
    lbox = document.getElementsByClassName('leightbox');
    for(i = 0; i < lbox.length; i++) {
        lbox[i].style.visibility = 'hidden';
    }
    getBrowserInfo()
    if ($('overlay')==null) {
    addLightboxMarkup()
    }
    getCenterPosition($('message') , $('messageMaxPos'), $('message'));
    
    
    
    if (htmlFormat == true ) {
        $('message').innerHTML = msg;
    } else {
        successImg = SGL_JS_WEBROOT + '/themes/default/sitebuilder/images/success.gif';
        $('message').innerHTML = '<div class="successBorder" align="center" style="width:100px"><div class="success"><img src="' + successImg + '" >' + msg + '</div></div>';
    }
    
   if (lbxBrowser == 'Internet Explorer'){
    $('message').style.left = (((document.body.clientWidth)/2)-($('message').clientWidth / 2))+'px';
    $('message').style.top = (((document.body.clientHeight)/2)-($('message').clientHeight / 2))+'px';
    
    }else {
    position = getPosition($('message'));
    $('message').style.left =  (((document.body.clientWidth)/2)-($('message').offsetWidth /2))+'px';
    $('message').style.top = (((document.body.clientHeight)/2)-($('message').clientHeight / 2))+'px';
    }
     visibleSelect('hidden');
    visibleDivs('hidden');
    //alert(document.body.clientHeight)
     //$('overlay').style.height = window.clientHeight
    $('overlay').style.visibility = 'visible';
    $('message').style.visibility = 'visible';
}

function msgtableActivate(msg, htmlFormat){
     lbox = document.getElementsByClassName('leightbox');
    for(i = 0; i < lbox.length; i++) {
        lbox[i].style.visibility = 'hidden';
    }
    getBrowserInfo()
    if ($('overlay')==null) {
    addLightboxMarkup();
    }

    if (htmlFormat == true ) {
        $('message2').innerHTML = msg;
    } 
    
    setLeightBoxCenter($('message2') , $('message2MaxPos'));
    
    visibleSelect('hidden');
    visibleDivs('hidden');
    
    visibleSelect('hidden');
    visibleDivs('hidden');
    
    visibleSelect('hidden');
    visibleDivs('hidden');
    $('overlay').style.visibility = 'visible';
    $('message2').style.visibility = 'visible';
}

function setLeightBoxCenter(oElem, oMax)
{
            posLeftTop = getPosition(oElem);
            posRightBottom = getPosition(oMax);
            posLeft = posLeftTop[0];
            posTop = posLeftTop[1];
            posRight = posRightBottom[0];
            posBottom = posRightBottom[1];
                var windowScrollMaxX = 0;
                var windowScrollMaxY = 0;
          
                var curTop = (lbxBrowser == 'Internet Explorer'||lbxBrowser == 'Safari') 
                            ? document.getElementsByTagName('body')[0].scrollTop
                            : document.documentElement.scrollTop;
                            
                var curBottom = curTop + ((lbxBrowser == 'Internet Explorer') 
                                ?document.getElementsByTagName('body')[0].clientHeight
                                :document.documentElement.clientHeight);  
                                  
                var curCenterHeight = curTop + ((curBottom - curTop)/2);
                var curLeft = (lbxBrowser == 'Internet Explorer'||lbxBrowser == 'Safari') 
                            ? document.getElementsByTagName('body')[0].scrollLeft
                            : document.documentElement.scrollLeft;
                            
                var curRight = curLeft + ((lbxBrowser == 'Internet Explorer'||lbxBrowser == 'Safari') 
                             ? document.getElementsByTagName('body')[0].clientWidth
                             : document.documentElement.clientWidth);
                             
                var curCenterWidth = curLeft + ((curRight - curLeft)/2);
                var centerHeight = curCenterHeight - ((posBottom - posTop)/2); 
                var centerWidth = curCenterWidth - ((posRight - posLeft)/2);
    oElem.style.left =  ((curCenterWidth)-(oElem.clientWidth /2))+'px'
    oElem.style.top = ((curCenterHeight)-(oElem.clientHeight / 2))+'px'
}

function getPosition(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];
}
    
function getCenterPosition(oElem, oMax, oDisplay){
 // alert(lbxBrowser)
        //currTop = window.scrollY;
        if(oElem && oMax) {
            posLeftTop = getPosition(oElem);
            posRightBottom = getPosition(oMax);
            posLeft = posLeftTop[0];
            posTop = posLeftTop[1];
            posRight = posRightBottom[0];
            posBottom = posRightBottom[1];
            
            pageScroll = getPageScroll();
            pageWidth = pageScroll[0];
            pageHeight = pageScroll[1];
            
            windowScroll = getScroll();
            windowScrollX = windowScroll[0];
            windowScrollY = windowScroll[1];
            //lbxBrowser ='Internet Explorer'
            if (lbxBrowser == 'Internet Explorer'||lbxBrowser == 'Safari'){
                var windowScrollMaxX = 0;
                var windowScrollMaxY = 0;
                var curTop = document.documentElement.scrollTop;
                var curBottom = curTop + document.documentElement.clientHeight;
                var curCenterHeight = curTop + ((curBottom - curTop)/2);
                var curLeft = document.documentElement.scrollLeft;
                var curRight = curLeft + document.documentElement.clientWidth;
                var curCenterWidth = curLeft + ((curRight - curLeft)/2);
                var centerHeight = curCenterHeight - ((posBottom - posTop)/2); 
                var centerWidth = curCenterWidth - ((posRight - posLeft)/2);
                    //tanawat
                      if(self.dialogHeight){
                    var curTop = document.body.scrollTop;
                    var curLeft = document.body.scrollLeft;
                    
                    var modalHeight = window.dialogHeight.replace('px','');

                    var centerHeight = curTop + ((posBottom - posTop)/2);
                    var centerWidth = 0;
                    

                    if(this.modalHeight != null){
                        centerHeight = this.modalHeight;                                
                    }
                }
                hideSelects('hidden')
            } else {
                var windowScrollMaxX = window.scrollMaxY;
                var windowScrollMaxY = window.scrollMaxX;
               // alert(windowScrollY+','+pageHeight+','+windowScrollMaxX+','+posBottom+','+posTop)
                var centerHeight = windowScrollY + ((pageHeight - windowScrollMaxX)/2) - ((posBottom - posTop)/2);
                var centerWidth = windowScrollX +  ((pageWidth - windowScrollMaxY)/2) - ((posRight - posLeft)/2);       
            }

            if(oDisplay) {
                oDisplay.style.left = centerWidth + 'px';
                oDisplay.style.top = centerHeight + 'px';       
            }
            //centerHeight+=window.document.scrollHeight
             //alert(centerHeight)
            return [centerWidth, centerHeight];
        }
}

function getPageScroll() {

        var xScroll, yScroll;

        if (window.innerHeight && window.scrollMaxY) {  
            xScroll = document.body.scrollWidth;
            yScroll = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight){
            xScroll = document.body.scrollWidth;
            yScroll = document.body.scrollHeight;
        } else { 
            xScroll = document.body.offsetWidth;
            yScroll = document.body.offsetHeight;
        }

        var windowWidth, windowHeight;
        if (self.innerHeight) {
            windowWidth = self.innerWidth;
            windowHeight = self.innerHeight;
        } else if (document.documentElement && document.documentElement.clientHeight) { 
            windowWidth = document.documentElement.clientWidth;
            windowHeight = document.documentElement.clientHeight;
        } else if (document.body) { 
            windowWidth = document.body.clientWidth;
            windowHeight = document.body.clientHeight;
        }   

        if(yScroll < windowHeight){
            pageHeight = windowHeight;
        } else { 
            pageHeight = yScroll;
        }

        if(xScroll < windowWidth){  
            pageWidth = windowWidth;
        } else {
            pageWidth = xScroll;
        }
        
        return [pageWidth, pageHeight, xScroll, yScroll];
}

function getScroll(){
        if (self.pageYOffset) {
            this.yPos = self.pageYOffset;
            this.xPos = self.pageXOffset;
        } else if (document.documentElement && document.documentElement.scrollTop){
            this.yPos = document.documentElement.scrollTop; 
            this.xPos = document.documentElement.scrollLeft; 
        } else if (document.body) {
            this.yPos = document.body.scrollTop;
            this.xPos = document.body.scrollLeft;
        }
        var xPos = this.xPos;
        var yPos = this.yPos;
        return [xPos,yPos];
}

function visibleSelect(visibility){
        selects = document.getElementsByTagName('select');
        for(i = 0; i < selects.length; i++) {
            if(!selects[i].getAttribute('show')) { 
                selects[i].style.visibility = visibility;
            }
        }
}

function visibleDivs(visibility){
        leightBoxHide = document.getElementsByClassName('leightBoxHide');
        for(i = 0; i < leightBoxHide.length; i++) {
            //alert(leightBoxHide[i]);
            leightBoxHide[i].style.visibility = visibility;
            //leightBoxHide[i].innerHTML = leightBoxHide[i].innerHTML + 'show'
            //alert(leightBoxHide[i].innerHTML)
        }
}

function windowAlert(msg)
{
    lbox = document.getElementsByClassName('leightbox');
    for(i = 0; i < lbox.length; i++) {
        lbox[i].style.visibility = 'hidden';
    }
	document.getElementById('pagetitle').innerHTML = '';
    cancelBtn = '<div class="locationButton"><div><input class="btnCancel" type="button" value="' + msgCancel + '" onClick="javascript: lightboxDeactivate()"/></div></div>';
    $('overlay').style.visibility = 'visible';
    $('lightbox').style.visibility = 'visible';

    $('rvsPopUpHtmlContent').innerHTML = '<center>' +  msg + '</center><br />' + cancelBtn;
    getCenterPosition($('lightbox') , $('lbMaxPos'), $('lightbox'));
}
function windowAlertSetButton(msg,useBtn)
{
    lbox = document.getElementsByClassName('leightbox');
    for(i = 0; i < lbox.length; i++) {
        lbox[i].style.visibility = 'hidden';
    }

    cancelBtn = '<div class="locationButton"><div><input class="btnCancel" type="button" value="' + msgCancel + '" onClick="javascript: lightboxDeactivate()"/></div></div>';
    $('overlay').style.visibility = 'visible';
    $('lightbox').style.visibility = 'visible';

    if (useBtn) {
    $('rvsPopUpHtmlContent').innerHTML = '<center>' +  msg + '</center><br />' + cancelBtn;
    } else{
    $('rvsPopUpHtmlContent').innerHTML = '<center>' +  msg + '</center><br />';
    }
    getCenterPosition($('lightbox') , $('lbMaxPos'), $('lightbox'));
     if (lbxBrowser == 'Internet Explorer'){
    $('lightbox').style.left = (((document.body.clientWidth)/2)-($('lightbox').clientWidth / 2))+'px';
    $('lightbox').style.top = (((document.body.clientHeight)/2)-($('lightbox').clientHeight / 2))+'px';
    $('overlay').style.height = window.screen.availHeight;
    $('overlay').style.width = window.screen.availWidth;
    }else {
    position = getPosition($('lightbox'));
    $('lightbox').style.left =  (((document.body.clientWidth)/2)-($('lightbox').offsetWidth /2))+'px';
    $('lightbox').style.top = (((document.body.clientHeight)/2)-($('lightbox').clientHeight / 2))+'px';
}
    
    
}

//tanawat  rehash window alert onload = none body
/*
windowAlertNoneBody
msg = text or text .html (innerHTML)
buttonClose = on and off button close (true/false)
*/
function hideSelects(visible) {
hidSelect = document.getElementsByTagName('select');
                for(i=0;i<hidSelect.length;i++) {
                if(!hidSelect[i].getAttribute('show')) {
                    hidSelect[i].style.visibility=visible;
                    } 
                }
}
function windowAlertNoneBody(msg , setObj)
{
    //alert("body" +document.body.clientWidth)
   //alert($('message').clientWidth)
   if (setObj){
    setObj.innerHTML ='';
    msgtableActivate(msg,true);
   }else{
   messageActivate(msg,true);
   }
}
function windowRVSiteBox(msg , setObj, pagetitle){
//alert(document.getElementById('rvsPopUpHtmlContent').id)
lightbox = document.getElementById('lightbox');
lightboxCacheRVSPOPUP = lightbox.innerHTML;
document.getElementById('pagetitle').innerHTML = (pagetitle) ? pagetitle : '';
popTableset = document.getElementById('rvs_popupTopTable');
contentset = document.getElementById('rvsPopUpHtmlContent');
contentset.innerHTML = msg;
if (popTableset) {
	windowAlertNoneBody(popTableset.innerHTML , setObj);
}
lightbox.innerHTML = '';
}
//end  tanawat  rehash window alert onload = none body
function SwichDisplay2Element(inlineId,noneId) {
    document.getElementById(inlineId).style.display='inline';
    document.getElementById(noneId).style.display='none';                                                       
}
function javaLogSet() {
//<textarea id ="displayLogTextArea" cols="200"rows="20">
//alert('use java log')
if (document.getElementById('displayLogTextArea')== null) {
checkBodyLog = document.getElementsByTagName('body')[0];
//<textarea id ="displayLogTextArea" cols="200"rows="20">
    idDisplay= document.createElement('textarea');
    idDisplay.id ='displayLogTextArea';
    idDisplay.cols ="200";
    idDisplay.rows ="20";
    checkBodyLog.appendChild(idDisplay);
document.getElementById('displayLogTextArea').value = document.getElementsByTagName('body')[0].innerHTML;
}

}
