/**
 * sets value to the element
 * parameters: elm=form name, itm=field name, val=value [, sbm=submit indicator (1=submit)]
 */
//alert('1');
function setValue(elm, itm, val, sbm) {
    sbm = sbm == null ? 0 : sbm;
    var form = document.getElementById(elm);
    if (!form)
        form = elm.form;
    eval("form."+itm+".value = val");
    
    if (sbm){
        form.submit();
        return false;
    } else {
        return true;
    }
}

/**
 *  set focus on the element
 */
function setFocus(elm, itm) {
    var form = document.getElementById(elm);
    if (!form)
        form = elm.form;
    eval("form."+itm+".focus()");
}

/**
 *  check password confirmation
 */
function confirmPassword(frm, itm, itm2, msg) {
    var form = document.getElementById(frm);
    if (!form)
        form = elm.form;
    var pass = '';
    var pass2 = '';
    eval("pass = form."+itm+".value");
    eval("pass2 = form."+itm2+".value");
    if (pass2 == pass){
        return true;
    } else {
        alert(msg);
        return false;
    }
}

/**
 *  check if selected item exist
 */
function checkSelected(frm, itm, msg) {
    var form = document.getElementById(frm);
    if (!form)
        form = elm.form;
    var idx = 0;
    eval("idx = form."+itm+".selectedIndex");
    if (idx > 0){
        return true;
    } else {
        alert(msg);
        return false;
    }
}

/**
 *  check email address
 */
function checkEmail(frm, itm, msg) {
    var form = document.getElementById(frm);
    if (!form)
        form = elm.form;
    eval("var fld = form."+itm);
    var suc = true;
    var str = new String(fld.value);
    if (str != ""){
        if (str.indexOf("@") == -1 || str.indexOf(".") == -1) {    
            alert(msg);
            fld.focus();
            suc = false;
        }
    }
    return suc;
}

/**
 *  check email subject
 */
function checkSubject(frm, itm, msg) {
    var form = document.getElementById(frm);
    if (!form)
        form = elm.form;
        
    eval("var fld = form."+itm);
    
    var str = new String(fld.value);
    
    if  (str.indexOf(":") == -1) {    
        return true;
    } else {
        alert(msg);
        fld.focus();
        return false;
    }
}

/**
 * get position of the element...
 */
function findElement(id){
    element = getElement(id);
    if (!element)
        return false;
        
    return position = getPosition(element); 
}
function getElement(id){
    if (document.getElementById(id))
        return document.getElementById(id);
    return null;
}
function getPosition(element){
    var x = 0;
    var y = 0;
    while (element != null){
        x += element.offsetLeft - element.scrollLeft;
        y += element.offsetTop - element.scrollTop;
        element = element.offsetParent;
    }
    return {x:x,y:y};
}
function getPosition2(element){
    var x = 0;
    var y = 0;
    while (element != null){
        x += element.offsetLeft;
        y += element.offsetTop;
        element = element.offsetParent;
    }
    return {x:x,y:y};
}

/**
 * YesNo confirmation
 */
function yesNo(q) {
    q = q || "Are you sure you want to delete this item?";
    if (confirm(q)) {
        return true;
    }
    return false;
}

/**
 * select or deselect all grid rows
 */
function selectAllRows(elm, ind, itm) {
    itm = itm == null ? "sel_row" : itm;
    var form = document.getElementById(elm);
    if (!form)
        form = elm.form;
    
    for(i=0; i<form.elements.length; i++) {
        e = form.elements[i];
        if (e.type == "checkbox" && e.name != null && e.name.indexOf(itm) >= 0 && !e.disabled){
            e.checked = ind == 1 ? true : false;
        }
    }
}

/**
 * confirm delete selected rows
 */
function delSelRows(elm, itm, ask) {
	itm = itm == null ? "sel_row" : itm;
    ask = ask == null ? true : ask;   
    var form = document.getElementById(elm);
    if (!form)
        form = elm.form;

    var chkd = false;
    
    for(i=0; i<form.elements.length; i++) {
        e = form.elements[i];
        if (e.checked && e.name != null && e.name.indexOf(itm) >= 0 && !e.disabled){
            chkd = true;
        }
    }
    if(ask){
        if (chkd) {
            if (confirm("Are you sure you want to delete selected row(s)?")) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }else{
        return chkd;
    }
}

/**
 * implode checked elements (with hidden element optionally)
 * NOTE: if is hidden element used, it must be next element of a checkbox
 */
function implodeChecked(elm, itm, sep, itm_v) {
    itm = itm == null ? "sel_row" : itm;
    sep = sep == null ? ";" : sep;
    itm_v = itm_v == null ? "" : itm_v;
    var form = document.getElementById(elm);
    if (!form)
        form = elm.form;
        
    var istr = "";
    var itm_index = "";
    
    for(i=0; i<form.elements.length; i++) {
        cb = form.elements[i];
        if (cb.name != null && cb.name.indexOf(itm) >= 0 && cb.checked){
            // get index of the element
            itm_index = cb.name.substr(itm.length + 1, cb.name.length - itm.length - 2);
            
            if (itm_v != ""){
                hd = form.elements[i+1]; // get hidden element as next element of a checkbox
                if (hd.type == "hidden" && hd.name != null && hd.name == itm_v+"["+itm_index+"]"){
                    istr += itm_index + "#" + hd.value + sep;
                }
            } else {
                istr += itm_index + sep;
            }
        }
    }
    istr = istr.substr(0, istr.length - 1);
    
    return istr;
}
/**
 * explode string array to a select element
 */
function explodeToSelect(elm, srce, targ, sep) {
    sep = sep == null ? ";" : sep;
    var form = document.getElementById(elm);
    if (!form)
        form = elm.form;

    eval("se = form."+srce+".value");

    if (se != ""){
        se_ = se.split(";");
        eval("te = form."+targ);
        t_len = te.length;
        
        for(i=0; i<se_.length; i++) {
            eval("te["+(i + t_len)+"] = new Option('"+se_[i]+"', 1)");
        }
    }
    
    return true;
}

/**
 * navi functions
 */
function naviOver(elm){
    elm.style.color = '#ffffff';
    elm.style.backgroundColor = '#4B87D7';
}
function naviOut(elm){
    elm.style.color = '';
    elm.style.backgroundColor = '';
}

/**
 * function to open popup window
 */
var popupWin = false;
function popUp(getVar, wwidth, wheight) {
    var wwidth = wwidth != null ? wwidth : 1000;
    var wheight = wheight != null ? wheight : 700;
    var winPrm = "width="+wwidth+",height="+wheight+",resizable=yes,menubar=no,status=yes,location=no,toolbar=no,titlebar=no,scrollbars=yes";
    var top_ = Math.round(getWindowHeight()/2 + getWindowYOffset() - wheight/2 - 10);
    var lft_ = Math.round(getWindowWidth()/2 - wwidth/2);
    top_ = top_ < 0 ? 0 : top_;
    lft_ = lft_ < 0 ? 0 : lft_;
    
    popupWin = window.open("popup.php?"+getVar, "popupWin", winPrm);
    popupWin.moveTo(lft_, top_);
    popupWin.focus();
}

function checkPopUp(e, check){
    if (check && popupWin){
        while (!popupWin.closed){
            if (confirm('Do you want to close popUp window?')){
                popupWin.close();
            } else {
                popupWin.focus();
                return false;
            }
        }
    }
}

function resizeWin(elm){
    elem = document.getElementById(elm);
    var height_value = elem.offsetHeight;
    var width_value = elem.offsetWidth;
    var diff = 65;
    if (height_value < 700){
        self.resizeTo(parseInt(width_value)+diff, parseInt(height_value)+diff+45);
    } else {
        self.resizeTo(parseInt(width_value)+diff, 700);
    }
}

/**
 * 
 */
function exportToExcel(getVar) {
    location.assign("export_csv.php?"+getVar);
}

/**
* check currency of selected batch template - is it equal as defined currency of the batch
*/
function checkBatchCurrency(elm, elm_c) {
    var batch_option = elm.options[elm.selectedIndex].text;
    var batch_currency = elm_c.options[elm_c.selectedIndex].text;
    
    if (elm.selectedIndex > 0 && batch_option.substr(batch_option.length - 3, 3) != batch_currency) {
        alert("Batch currencies must be equal!");
        elm.selectedIndex = 0;
        return false;
    } else {
        return true;
    }
}

function setCursor(obj, crs) {
    if (crs == 'over') {
        obj.style.cursor = 'pointer';
    } else {
        obj.style.cursor = 'default';
    }
}

/**
* functions used in time.inc.php class
*/
function displayTime(elm, ind) {
    if (ind == 1) {
        $(elm + '-time').style.display = 'block';
        $(elm + '-icon').style.display = 'none';
    } else {
        $(elm + '-time').style.display = 'none';
        $(elm + '-icon').style.display = 'block';
    }
    setTime(elm, ind)
}
function setTime(elm, set) {
    if (set) {
        $(elm).value = $(elm + '-hour').value + ':' + $(elm + '-minute').value;
        if ($(elm + '-second')) $(elm).value += ':' + $(elm + '-second').value;
    } else {
        $(elm).value = '';
    }
}

/**
* add checked element into a hidden field (as list of checked elements)
*/
function updateElementList(frm, elm, idx, list) {
    var form = document.getElementById(frm);
    if (!form)
        form = elm.form;
        
    var sep = ";";
    var listElem = false;
    var theElem  = false;
    var elm_name = elm + idx;
    
    for (i=0; i<form.elements.length; i++) {
        if (form.elements[i].name == list) listElem  = form.elements[i];
        if (form.elements[i].name == elm_name) theElem = form.elements[i];
    }
    
    if (theElem.checked) {
        // add to the list...
        listElem.value = listElem.value.concat(idx + sep);
    } else {
        // remove from the list...
        var list_ = listElem.value.split(sep);
        var new_list = '';
        
        for (i=0; i<list_.length; i++){
            if (list_[i] != idx && list_[i] != ''){
                new_list += list_[i] + sep;
            }
        }
        listElem.value = new_list;
    }
}

/**
* check if is any checkBox checked
*/
function mandatoryCheckBox(elm, itm, msg){
    var form = $(elm);
    if (!form)
        form = elm.form;
        
    var is_checked = false;
    
    for (i=0; i<form.elements.length; i++) {
        e = form.elements[i];
        if (e.type == "checkbox" && e.name != null && e.name.indexOf(itm) >= 0){
            if (e.checked) is_checked = true;
        }
    }
    
    if (!is_checked) alert(msg);
    
    return is_checked;
}
function redirectit(){
       // alert("trazim...");
    document.getElementById('gosearchit').style.display = 'block';
   
    document.getElementById('gosearchit').innerHTML = "<span align=center><img src='images/loading/loading8.gif'> Pretraga po zadatim kriterijumima je u toku &nbsp;Molimo Vas sacekajte...</span>";

    var zemlja = document.getElementById("cid").value;
    
    if(zemlja!='0'){
    ajax.requestFile = 'ajax_redirect.php?zemlja='+zemlja;
    ajax.onCompletion = putcountryname;   // Specify function that will be executed after file has been found
    ajax.runAJAX();
    }else{
        alert("Morate odabrati zemlju (country)!")
    }
}
function putcountryname(){
    document.getElementById("ime_zemlje").value=ajax.response;
    var mes = document.getElementById("mid2").value;
    if(mes!='0'){
        ajax.requestFile = 'ajax_redirect.php?mesto='+mes;
        ajax.onCompletion = putplacename;   // Specify function that will be executed after file has been found
        ajax.runAJAX();     // Execute AJAX function

    }else{
       goredirect();
    }
    
}
function putplacename(){
   document.getElementById("ime_mesta").value=ajax.response;
   goredirect();
}
function goredirect(){
    var loc;
    var zemlja = document.getElementById("cid").value;
    var mesto = document.getElementById("mid2").value;
    var vrsta = document.getElementById("vid").value;
    var imevrste;


    if(vrsta=='1'){
        imevrste  = "Hoteli";
    }else if(vrsta=='2'){
        imevrste='Privatni smestaj'
    }else if(vrsta=='3'){
        imevrste='Rent A Car'
    }else if(vrsta=='4'){
        imevrste='Agencije'
    }else if(vrsta=='5'){
        imevrste='Restorani'
    }else if(vrsta=='6'){
        imevrste='Hosteli'
    }

    var imezemlje = document.getElementById("ime_zemlje").value;
    var imemesta  = document.getElementById("ime_mesta").value;
    
    if(mesto!='0'){
        if(vrsta!='0'){
            loc =imezemlje+'_'+zemlja+'-'+imemesta+'_m'+mesto+'-'+imevrste+'_vid'+vrsta+'_.html';
        }else{
            loc =imezemlje+'_'+zemlja+'-'+imemesta+'_m'+mesto+'_.html';
        }
    }else{
        if(vrsta!='0'){
            loc =imezemlje+'_'+zemlja+'-'+imevrste+'_v'+vrsta+'_.html';
        }else{
            loc =imezemlje+'_'+zemlja+'_.html';
        }
    }
   document.getElementById('gosearchit').style.display = 'none';
    self.location = loc;
}
