function updateLoginAction(formId, folder) {
    var formObj = document.getElementById(formId);

    formObj.action = folder + "?logout=false&section=home";
}

function openImageBrowser (url) {
    openCentered(url, 500, 500, 1, 1);
    return false;
}

var popUpWin = null;
function openCentered(documentSrc, windowWidth, windowHeight,scrBars,res) {
    var resizable = (res != null) ? res : 0;

    if(popUpWin){
        if(!popUpWin.closed) popUpWin.close();
    }

    windowLeft = (window.screen.width  - windowWidth)  >> 1;
    windowTop  = (window.screen.height - windowHeight) >> 1;

    popUpWin = window.open(documentSrc, '','toolbar=0,channelmode=0,location=0,menubar=0,resizable=' + resizable + ',status=0,scrollbars=' + scrBars + ',width=' + windowWidth + ',height=' + windowHeight + ',left=' + windowLeft + ',top=' + windowTop);
    popUpWin.focus();
}

function checkLoginType(formulier) {
    if(formulier.logintype[0].checked || formulier.logintype[1].checked || formulier.logintype[2].checked) {
        return true;
    }
    else {
        alert("Select merchant, publisher or media.");
        return false;
    }
}

function selectAffiliate(currentUrl, comboboxId) {
    var newAffId = document.getElementById(comboboxId).value;

    if(newAffId > 0) {
        if(currentUrl == '') {
            document.location.href = '/affiliates/list.php?id=' + newAffId + '&section=overview';
        }
        else {
            document.location.href = '/affiliates/list.php' + currentUrl + '&id=' + newAffId;
        }
    }
}

function showTrackerCode(mCode) {
    var obj = document.getElementById("trackercode");
    var dest = document.getElementById("trackercodearea");

    if(obj && dest) {
        obj.style.display = "";
        dest.value = '<script type="text/javascript" src="http://www.cleafs.com/tracker/track.js"></script>\n<script type="text/javascript">\n<!--\n_cl_md = "' + mCode + '";\n_cltracker();\n//-->\n</script>';
    }
}

function hideTrackerCode() {
    var obj = document.getElementById("trackercode");
    
    if(obj) {
        obj.style.display = "none";
    }
}

function in_array(needle, haysack)
// Returns true if the passed value is found in the
// array.  Returns false if it is not.
{
    var i;
    for (i=0; i < haysack.length; i++) {
        // Matches identical (===), not just similar (==).
        if (haysack[i] === needle) {
            return true;
        }
    }
    return false;
};

function toggleCheckbox(field) {
    toggleId = document.getElementById(field);
    if(toggleId.checked) {
        toggleId.checked = false;
    }
    else {
        toggleId.checked = true;
    }
}
function checkAll(fields, total) {
    for (i = 0; i < total; i++) {
        field = fields + '_' + i;
        document.getElementById(field).checked = true;
    }
}

function unCheckAll(fields, total) {
    for (i = 0; i < total; i++) {
        field = fields + '_' + i;
        document.getElementById(field).checked = false;
    }
}

function toggleCheckAll(fields, total, elem) {
    if(elem.checked == true) {
        checkAll(fields, total);
    }
    else {
        unCheckAll(fields, total);
    }
}

var checkBoxesStatus = new Array();
function toggleAllCheckboxes(fields, total) {
    if(checkBoxesStatus[fields] == 1) {
        unCheckAll(fields, total);
        checkBoxesStatus[fields] = 0;
    }
    else {
        checkAll(fields, total);
        checkBoxesStatus[fields] = 1;
    }
}

function invertCheckboxes(fields, total) {
    for (i = 0; i < total; i++) {
        field = fields + '_' + i;
        toggleCheckbox(field);
    }
}

function toggleElement(elem) {
    element = document.getElementById(elem);
    if(element.style.display == 'none') {
        element.style.display = '';
    }
    else {
        element.style.display = 'none';
    }
}

function tblHover(obj, mouseOver, rowNumber) {
    if(obj) {
        if(mouseOver) {
            obj.className = "rowHover";
        }
        else {
            obj.className = "row" + rowNumber;
        }
    }
}

function goMailTemple() {
    document.mt_form.submit();
}

function confirmation(text, formElement) {
    var answer = confirm(text);
    if(answer == true) {
        formElement.form.submit();
        return true;
    }
    else {
        return false;
    }
}
function goMerchant(merchants_id) {
    document.filterReport.mid.value = merchants_id;
    document.filterReport.submit();
}
function goAffiliate(affiliates_id) {
    document.filterReport.pid.value=affiliates_id;
    document.filterReport.submit();
}
function goMonth(selectedmonth) {
    document.filterReport.merchant_month_m.value = selectedmonth;
    document.filterReport.submit();
}
function showToolTip(elemId) {
    if(document.getElementById(elemId)) {
        document.getElementById(elemId).style.visibility = "visible";
    }
}
function hideToolTip(elemId) {
    if(document.getElementById(elemId)) {
        document.getElementById(elemId).style.visibility = "hidden";
    }
}
function export_csv() {
    exportReport("csv");
}
function export_xml() {
    exportReport("xml");
}
function exportReport(method) {
    document.filterReport.section.value = "report_export";
    document.filterReport.exporttype.value = method;
    document.filterReport.target = "_blank";
    document.filterReport.submit();
    resetFilters();
}
function exportTo(method) {
    document.filterReport.export_method.value = method;
    document.filterReport.section.value = "report_export";
    document.filterReport.target = "_blank";
    document.filterReport.submit();

    // Reset alles
    document.filterReport.section.value = "report";
    document.filterReport.target = "";
}
function resetFilters() {
    // Reset alles
    document.filterReport.section.value = "report";
    document.filterReport.target = "";
    document.filterReport.exporttype.value = "";
}
function changeBankRequired(textValue, divId) {
    var availableSpans = document.getElementById(divId).getElementsByTagName("span");
    for (i = 0; i < availableSpans.length; i++) {
        if(availableSpans[i].className == "required_field") {
            if(textValue != '') {
                availableSpans[i].style.display = 'none';
            }
            else {
                availableSpans[i].style.display = '';
            }
        }
    }
}

function HighlightAndCopyAllToClipBoard(elementId) {
    var elem = document.getElementById(elementId);
    elem.focus();
    elem.select();
    if(document.all) {
        range = elem.createTextRange();
        range.execCommand("Copy");
    }
}

function confirmDelete(text, url) {
    var answer = confirm(text);
    if(answer) {
        window.location = url;
    }
}


function getElementLeft(Elem) {
	var elem = Elem;
	xPos = elem.offsetLeft;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		xPos += tempEl.offsetLeft;
  		tempEl = tempEl.offsetParent;
	}
	return xPos;
}


function getElementTop(Elem) {
	var elem = Elem;
	yPos = elem.offsetTop;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		yPos += tempEl.offsetTop;
  		tempEl = tempEl.offsetParent;
	}
	return yPos;
}


function getXY(el) {
	var objParent = null;
	var objItem = el;
	var intX = 0;
	var intY = 0;

	do {
		intX += objItem.offsetLeft;
		intY += objItem.offsetTop;
		objParent	= objItem.offsetParent.tagName;
		objItem		= objItem.offsetParent;
	} while (objParent != 'BODY');

	return [intX, intY];
}


//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest(); //Not IE
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP"); //IE
	} else {
		//Display your error message here. 
		//and inform the user they might want to upgrade
		//their browser.
		alert("Your browser doesn't support the XmlHttpRequest object.  Better upgrade to Firefox.");
	}
}

function showpopupDiv(divId, transactionId, imgEl) {
	var target = document.getElementById(divId);
	var xandy = getXY(imgEl);


	/* make ajax request to get pie stuff */
	var receiveReq = getXmlHttpRequestObject();
	receiveReq.open("GET", '/report/transaction/'+transactionId+'?ajax=1', true);
	receiveReq.onreadystatechange = function () {
		if (receiveReq.readyState == 4) {
			target.innerHTML = receiveReq.responseText;

			target.style.left		= xandy[0] + 'px';
			target.style.top		= (xandy[1] - 75) + 'px';
			target.style.display	= 'block';
		}
	}; 
	receiveReq.send(null);
}

function closePopopDiv(divId) {
	var target = document.getElementById(divId);
	target.style.display	= 'none';
}
