// Wraps the 1.6 contentloaded event for backwards compatibility
//
// Usage:
// extend prototype and use instead 'window.onload'
// Event.onReady(callbackFunction);
Object.extend(Event, {
    onReady: function(f){
        if (document.body) 
            f();
        else 
            document.observe('dom:loaded', f);
    }
});

function displayDesjob(){
	
	Element.removeClassName($('selectJob'), 'fieldInError');
	 Element.removeClassName($('desjob'), 'fieldInError');
	
	 try {
	 	hb1.hide();
	 }  catch (e) {
    }
	
	var numlinejob;
	 try {
        //numline = destxt.match(/[^\n]*\n[^\n]*/gi).length + 1;
		numlinejob = $F('selectJob').match(/[^\n]*\n[^\n]*/gi).length;
        //alert(numline);
    } 
    catch (e) {
    }
	
	if($F('selectJob')=="เลือกประเภทงาน"){
		//$('desjob').disabled=true;
		$('desjob').value="";
		
	}else{
		$('desjob').disabled=false;
		$('desjob').value=$F('selectJob');
		$('desjob').rows=numlinejob;
	}
	
}


function JSFX_FloatDiv(id, sx, sy){
    //JSFX_FloatDiv("divTopRight",  -150,   10).floatIt();
    //JSFX_FloatDiv("divBottomRight", -150, -100).floatIt();
    //JSFX_FloatDiv("divBottomLeft",10, -100).floatIt();
    
    
    var ns = (navigator.appName.indexOf("Netscape") != -1);
    var d = document;
    var el = d.getElementById ? d.getElementById(id) : d.all ? d.all[id] : d.layers[id];
    var px = document.layers ? "" : "px";
    window[id + "_obj"] = el;
    if (d.layers) 
        el.style = el;
    el.cx = el.sx = sx;
    el.cy = el.sy = sy;
    el.sP = function(x, y){
        this.style.left = x + px;
        this.style.top = y + px;
    };
    
    el.floatIt = function(){
        var pX, pY;
        pX = (this.sx >= 0) ? 0 : ns ? innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;
        pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
        if (this.sy < 0) 
            pY += ns ? innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
        this.cx += (pX + this.sx - this.cx) / 8;
        this.cy += (pY + this.sy - this.cy) / 8;
        this.sP(this.cx, this.cy);
        setTimeout(this.id + "_obj.floatIt()", 40);
    }
    return el;
}



function getListAttacheFiles(id){

    if (id) {
        var url = 'getListAttachFiles.php?id=' + id + '&nocache=' + (new Date()).getTime();
    }
    else {
        var url = 'getListAttachFiles.php?nocache=' + (new Date()).getTime();
    }
    
    new Ajax.Updater('divattachfile', url, {
        method: 'get',
        onFailure: showError
    });
    
}

function daysInMonth(month, year){
    var dd = new Date(year, month, 0);
    return dd.getDate();
}

function getDisableDate(){
    var currentTime = new Date();
    var month = currentTime.getMonth() + 1;
    var day = currentTime.getDate() - 1;
    var year = currentTime.getFullYear();
    
    if (day == 0) {
        if (month != 1) {
            month = month - 1;
        }
        else {
            month = 12;
        }
        day = (daysInMonth(month, year));
    }
    var disabledate = year + '-' + month + '-' + day;
    return disabledate;
}

function setCalendar(){
    var cal = new CalendarPopup();
    cal.setReturnFunction('getSelectTime'); //pass y,m,d to getSelectTime function               
    cal.addDisabledDates(null, getDisableDate());
    Event.observe('imgdate', 'click', function(){
        //cal.select(document.forms['calendar'].date1,'anchor1','dd-MM-yyyy');return false;
        cal.select(document.forms[0].date1, 'anchor1', 'dd-MM-yyyy');
        return false;
    });
}

function setCalendarBackend(){
    var cal = new CalendarPopup();
    cal.setReturnFunction('getSelectTime'); //pass y,m,d to getSelectTime function               
    cal.addDisabledDates(null, getDisableDate());
    Event.observe('imgdate', 'click', function(){
        cal.select(document.forms['calendar'].date1, 'anchor1', 'dd-MM-yyyy');
        return false;
    });
    
    var calSearch = new CalendarPopup();
    Event.observe('imgdateSearch', 'click', function(){
        calSearch.select(document.forms['formsearchorder'].dateSearch, 'anchor2', 'dd-MM-yyyy');
        return false;
    });
}

function getSelectTime(y, m, d, datevalue, time){
	
	
	
	//alert('dfd');
	if($('msgErrorDatereceive')){
		Element.removeClassName($('datereceive'),'fieldInError');
		Element.hide('msgErrorDatereceive');
		
	}
	
	
    var dateselect;
    var url;
    var data = new Hash();
    if (!datevalue) {
        url = "createSelectTime.php";
		/*
        if (m < 10) {
            m = '0' + m;
        }
        if (d < 10) {
            d = '0' + d;
        }
        dateselect = d + '-' + m + '-' + y;
        */
		dateselect=$F('datereceive');
    }
    else { //from search Keycode or Backend
        url = "createSelectTimeSearch_Backend.php";
        data.set('search', "true");
        dateselect = datevalue;
        data.set('time', time);
    }
    
	if ($F('datereceive') == "") {
		$("spanSelectTime").innerHTML = '<select name="selectTime" id="selectTime">' +
		'<option>-</option></select>';
	return;
	}
	
    data.set('date', dateselect);
    data.set('nocache', (new Date()).getTime());
    data.toQueryString();
    new Ajax.Request(url, {
        method: 'get',
        parameters: data,
        onSuccess: function(r){
            if (r.responseText == "cannot delivery today") {
                $("spanSelectTime").innerHTML = "<font color='red'>คุณไม่สามารถรับสินค้าได้ทันในวันนี้ครับ</font>";
                $('datereceive').value = "";
                return;
            }
            if (datevalue) {//select tab order from backend
                //alert(time);
                $("spanSelectTime").innerHTML = r.responseText;
				$('s_datereceive').innerHTML=$F('datereceive')+" เวลา: "+$F('selectTime');
            }
            else {
                //select date control from order and select date control from backend 
                $("spanSelectTime").innerHTML = r.responseText;
                
                if (dateselect == "0-0-") {//search not found in order page
                    $('datereceive').value = "";
                    $("spanSelectTime").innerHTML = '<select name="selectTime" id="selectTime">' +
                    '<option>-</option></select>';
                }
                else {
                    $('datereceive').value = dateselect;
                }
                
            }
            
            if ($('status_job').innerHTML == "ยกเลิก" || $('status_job').innerHTML == "จัดส่ง" || $('status_job').innerHTML == "จัดพิมพ์") {
               // $('selectTime').disabled = true;
            }
            else {
                $('selectTime').disabled = false;
            }
            
        },
        onFailure: showError
    });
}


function showError(r){
    alert("ขออภัย, เกิดข้อผิดพลาดขึ้นครับ >>> " + r.statusText);
}

function Trim(TRIM_VALUE){
    if (TRIM_VALUE.length < 1) {
        return "";
    }
    TRIM_VALUE = RTrim(TRIM_VALUE);
    TRIM_VALUE = LTrim(TRIM_VALUE);
    if (TRIM_VALUE == "") {
        return "";
    }
    else {
        return TRIM_VALUE;
    }
}

function RTrim(VALUE){
    var w_space = String.fromCharCode(32);
    var v_length = VALUE.length;
    var strTemp = "";
    if (v_length < 0) {
        return "";
    }
    var iTemp = v_length - 1;
    
    while (iTemp > -1) {
        if (VALUE.charAt(iTemp) == w_space) {
        }
        else {
            strTemp = VALUE.substring(0, iTemp + 1);
            break;
        }
        iTemp = iTemp - 1;
        
    } //End While
    return strTemp;
    
} //End Function
function LTrim(VALUE){
    var w_space = String.fromCharCode(32);
    if (v_length < 1) {
        return "";
    }
    var v_length = VALUE.length;
    var strTemp = "";
    
    var iTemp = 0;
    
    while (iTemp < v_length) {
        if (VALUE.charAt(iTemp) == w_space) {
        }
        else {
            strTemp = VALUE.substring(iTemp, v_length);
            break;
        }
        iTemp = iTemp + 1;
    } //End While
    return strTemp;
} //End Function
function showdeadcenterdiv(Xwidth,Yheight,divid) {
 	// use padding:20px for bigger Div !!!!!!
	
// First, determine how much the visitor has scrolled

var scrolledX, scrolledY;
if( self.pageYOffset ) {
scrolledX = self.pageXOffset;
scrolledY = self.pageYOffset;
} else if( document.documentElement && document.documentElement.scrollTop ) {
scrolledX = document.documentElement.scrollLeft;
scrolledY = document.documentElement.scrollTop;
} else if( document.body ) {
scrolledX = document.body.scrollLeft;
scrolledY = document.body.scrollTop;
}

// Next, determine the coordinates of the center of browser's window

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

// Xwidth is the width of the div, Yheight is the height of the
// div passed as arguments to the function:
var leftOffset = scrolledX + (centerX - Xwidth) / 2;
var topOffset = scrolledY + (centerY - Yheight) / 2;
// The initial width and height of the div can be set in the
// style sheet with display:none; divid is passed as an argument to // the function
var o=document.getElementById(divid);
var r=o.style;
r.position='absolute';
r.top = topOffset + 'px';
r.left = leftOffset + 'px';
r.display = "block";

} 
