//SITE RELATED FUNCTIONS
function bookmark(bookmarktitel) {
    if(bookmarktitel == '') {
        bookmarktitel = document.title;
    }
    var bookmarklink = document.location.href;

    if(document.all) window.external.AddFavorite(bookmarklink, "Budgetticket - " + bookmarktitel); //MSIE
    else window.sidebar.addPanel("Budgetticket - " + bookmarktitel, bookmarklink,""); // firefox
}

function goPrint() {
    window.print();
}

function checkSearch(formulier) {
    var searchStr = formulier.q;

    if(searchStr) {
        searchStr = searchStr.value;
        if(searchStr.length > 0 && searchStr != formulier.q.title) {
            return true;
        }
    }
    return false;
}

function checkSearchInput(obj, objFocus) {
    var defaultText = obj.title;
    if(objFocus) {
        if(obj.value == defaultText) {
            obj.value = '';
        }
    }
    else if(obj.value.length == 0) {
        obj.value = defaultText;
    }
}

//GENERAL FUNCTIONS
var popUpWin;

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();

    return popUpWin;
}

function popup(documentSrc) {
    openCentered(documentSrc, 500, 400, 1, 1);
}

//global page load functionality
var globalLoadHandlers = [];

function registerLoadHandler(eventHandler) {
    if (eventHandler && (typeof(eventHandler) == "function")) {
        var doAdd = true;
        for (var i=0; i<globalLoadHandlers.length; i++) {
            if (globalLoadHandlers[i] == eventHandler) {
                doAdd = false;
                break;
            }
        }
        if (doAdd) globalLoadHandlers.push(eventHandler);
    }
}

function globalOnLoad() {
    for (var i=0; i<globalLoadHandlers.length; i++) {
        globalLoadHandlers[i]();
    }
}

//INITS
window.onload = function() {
    globalOnLoad();
}

function ajaxUpdate(url, params, elemId, unselectRest) {
    showLoading(elemId);
    new Ajax.Updater(
        elemId,
        url,
        {
            method: 'get',
            parameters: params,
            onSuccess: function(transport) {
                var response = transport.responseText;
                if(response.length < 100) {
                    document.getElementById('creditcardPayment').className = '';
                    document.getElementById('pay_with_creditcard').checked = true;
                    updatePaymentMethod(document.getElementById('pay_with_creditcard'));
                }
                else if(unselectRest) {
                    var radioButtons = document.shopform.betaalwijzen_id;
                    for(var i = 0; i < radioButtons.length; i++) {
                        radioButtons[i].checked = false;
                    }
                }
            },
            onFailure: function() {
                alert('error: ' + url);
            }
        }
    );
}

function ajaxAppend(queryString, url, elemId) {
    new Ajax.Updater(
        elemId,
        url + queryString,
        {
            method: 'get',
            insertion: Insertion.Bottom,
            onSuccess: function(transport) {
                var response = transport.responseText;
            }
        }
    );
}

function showLoading(id) {
    document.getElementById(id).innerHTML = '<img src="/img/loading.gif" alt="loading" />';
}

function hideLoading(id) {
    document.getElementById(id).innerHTML = '';
}

function alphanumeric(alphane)
{
	var numaric = alphane;
	for(var j=0; j<numaric.length; j++)
		{
		  var alphaa = numaric.charAt(j);
		  var hh = alphaa.charCodeAt(0);
		  if((hh > 47 && hh<58) || (hh > 64 && hh<91) || (hh > 96 && hh<123))
		  {
		  }
		else	{
			 return false;
		  }
		}
 return true;
}



paymentLoaded = false;
function ajaxUpdatePayment(url, params, elemId) {
    params2 = "";
    if (paymentLoaded) {
        var paymentElement = document.getElementById('betaalwijzen_id');
        //var params2 = '&betaalwijzen_id=' + paymentElement.options[paymentElement.selectedIndex].value;
    }
    var landenId = params.split('=');
   
    
    new Ajax.Updater(
        elemId,
        url,
        {
        	method: 'get',
            parameters: params + params2,
            onSuccess: function(transport) {
                paymentLoaded = true;
                var response = transport.responseText;
            },
            onFailure: function() {
                alert('error: ' + url);
            }
        }
    );
    if( alphanumeric(landenId[1]) ){
    	// getProvinces(landenId[1]);
    }
}


function getProvinces(landenId) {
  //  alert(landenId);
	new Ajax.Request('services/provinces.php', {
        method: 'post',
        parameters: {landen_id: landenId, label_text: 'FORMS_PROVINCE', select_name: 'provincie'},
        onSuccess: function(transport) {
            document.getElementById('provincie').innerHTML       = transport.responseText;
            document.getElementById('provincie').style.display   = '';
        }
    });
}

function getAltProvinces(landenId) {
	// alert(landenId);
	/*
    cityVar = 'landen_id=' + landenId + '&label_text=ALT_PROVINCE&select_name=alt_province' ;                    
    callUrl("services/provinces.php", cityVar, 'alt_province');
*/
    new Ajax.Request('services/provinces.php', {
        method: 'post',
        parameters: {landen_id: landenId, label_text: 'FORMS_PROVINCE', select_name: 'alt_provincie'},
        onSuccess: function(transport) {
            document.getElementById('alt_provincie').innerHTML       = transport.responseText;
            document.getElementById('alt_provincie').style.display   = '';
        }
    });
}

function showProvinces(elementId, responseText) {
 //   alert(document.getElementById(elementId));
    document.getElementById(elementId).innerHTML       = responseText;     
    document.getElementById(elementId).style.display   = '';
}


function hoverInfo(id, visible) {
    var obj = document.getElementById(id);

    if(obj) {
        if(visible) {
            obj.style.display = "";
        }
        else {
            obj.style.display = "none";
        }
    }
}
