//functions for modal popup extender
function showModal(int) {
    var x = int;
    if (x == 1) {
        $find('ContentPlaceHolder1_ModalPopupExtender1').show();
    }
    if (x == 2) {
        $find('ContentPlaceHolder1_ModalPopupExtender2').show();
    } 
}

function clrModal(int) {
    var x = int;
    if (x == 1) {

        // Get a DOM element reference to the target div.    
        var targetElement = $get('FrameDiv')
        targetElement.innerHTML = '';
        $find('ContentPlaceHolder1_ModalPopupExtender1').hide();
    }

    if (x == 2) {

        // Get a DOM element reference to the target div.    
        var targetElement = $get('tdEditAddFrame')
        targetElement.innerHTML = '';
        $find('ContentPlaceHolder1_ModalPopupExtender2').hide();
    }    
}

function MenuServ(CID, TargetDiv, Mode) {
    // Get a DOM element reference to the target div.    
    var targetElement = $get(TargetDiv)

    targetElement.innerHTML = '<div id="FunctionProgress" class="UpdProgressTest"></div>';

    MenuService.GetFrame(CID, Mode,

    // Success    
            function (arg) { targetElement.innerHTML = arg; },

    // Timeout    
            function (arg) { targetElement.innerHTML = "***Web Service TIMEOUT*** " + arg; },

    // Error    
            function (arg) { targetElement.innerHTML = "***Web Service ERROR*** " + arg; });

    return true;
}

//function to change page from option list
function linkURL(URL) {
	if (URL.options[URL.selectedIndex].value != "") self.location.href = URL.options[URL.selectedIndex].value;
	return true;
}

//function to open pop up window
function winOpener(theURL, winName, scrollbars, resizable, width, height) {

	winFeatures = 'left=' + (screen.availWidth-10-width)/2 + ',top=' + (screen.availHeight-30-height)/2 + ',scrollbars=' + scrollbars + ',resizable=' + resizable + ',width=' + width + ',height=' + height + ',toolbar=0,location=0,status=1,menubar=0'
  	window.open(theURL, winName, winFeatures);
}

//Show drop down
function showDropDown(parentEle, dropDownEle, dropDownWidth, offSetRight){

	parentElement = document.getElementById(parentEle);
	dropDownElement = document.getElementById(dropDownEle)

	//position
	dropDownElement.style.left = (getOffsetLeft(parentElement) - offSetRight) + 'px';
	dropDownElement.style.top = (getOffsetTop(parentElement) + parentElement.offsetHeight + 3) + 'px';

	//width
	dropDownElement.style.width = dropDownWidth + 'px';

	//display
	hideDropDown();
	dropDownElement.style.visibility = 'visible';


	//Event Listener to hide drop down
	if(document.addEventListener){ // Mozilla, Netscape, Firefox
		document.addEventListener('mouseup', hideDropDown, false);
	} else { // IE
		document.onmouseup = hideDropDown;
	}
}

//Show popup confirm box
function showPopup(parentEle, dropDownEle, dropDownWidth, offSetRight) {

    parentElement = document.getElementById(parentEle);
    dropDownElement = document.getElementById(dropDownEle)

    //position
    dropDownElement.style.left = (getOffsetLeft(parentElement) - offSetRight) + 'px';
    dropDownElement.style.top = (getOffsetTop(parentElement) + parentElement.offsetHeight - 244) + 'px';

    //width
    dropDownElement.style.width = dropDownWidth + 'px';

    //display
    dropDownElement.style.visibility = 'visible';

    //Event Listener to hide drop down
    if (document.addEventListener) { // Mozilla, Netscape, Firefox
        document.addEventListener('mouseup', hideDropDown, false);
    } else { // IE
        document.onmouseup = hideDropDown;
    }
}

//Hide drop downs
function hideDropDown(){
	hide('div');
	hide('iframe');
	function hide(tag){
		var classElements = new Array();
		var els = document.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp('(^|\\s)dropDown(.*\)');

		for (i = 0, j = 0; i < elsLen; i++){
			if (pattern.test(els[i].className)){
				els[i].style.visibility='hidden';
				j++;
			}
		}
	}
}


//Top offset
function getOffsetTop(elm){
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent){
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetTop;
}

//Left offset
function getOffsetLeft(elm){
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;
	while(mOffsetParent){
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetLeft;
}

//AJAX
var xmlHttp;
var xmlHttpResponseID;

//create XMLHttpRequest object
function createXMLHttpRequest(){
	if (window.XMLHttpRequest){
		xmlHttp = new XMLHttpRequest();
	}else if (window.ActiveXObject){
		xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
		if (! xmlHttp){
			xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
		}
	}
}

//XMLHttpRequest event handler
function XMLHttpResponse(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState=='complete'){
		if (xmlHttp.status == 200){
			xmlHttpResponseID.innerHTML = xmlHttp.responseText;
		}else {
			xmlHttpResponseID.innerHTML = '<strong>Error connecting to server</strong>';
		}

	}
}

//Get AJAX data
function getAjaxData(url, elementID){
	xmlHttpResponseID = document.getElementById(elementID);
	xmlHttpResponseID.innerHTML = '<strong>Loading...</strong>';
	createXMLHttpRequest();
	xmlHttp.onreadystatechange = XMLHttpResponse;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}
