var exit=true;
function leave(fp_Url, fp_Ses) {
    if (exit) {
        window.open((fp_Url?fp_Url:'')+'remind_form.php'+(fp_Ses?'?'+fp_Ses:''),'','toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,height=460,width=650');
    }
}

function sentToRecord(redirect_url, subscrube_status) {
    if(subscrube_status == 0){
        if (confirm("This user is unsubscribed. Do you want to sent this template to him?")) {
            window.location = redirect_url;
        }
    } else{
        window.location = redirect_url;
    }
    return false;
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && document.getElementById) x=document.getElementById(n); return x;
}



function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function Clear(frm, id){
    for (i=0; i<frm.length; i++) {
        if ( frm[i].name != id){
            if (frm[i].type == 'text') {
                frm[i].value='';
            }
            else if ( frm[i].type == 'select-one'){
                frm[i].value = '';
            }
        }
    }
}

function formDisable(frm){
    for (i=0; i<frm.length; i++) {
        frm[i].disabled= 'true';
    }
}

function formEnable(frm){
    for (i=0; i<frm.length; i++) {
        frm[i].disabled= false;
    }
}

function checkFormgetFormDataStr(obj, elems) {
    var element, pattern;
    var params = '';

    for (var i = 0; i < obj.elements.length; i++) {
        element = obj.elements[i];

        if (elems != undefined)
        if (elems.join().indexOf(element.type) < 0) continue;

        switch(element.type){
            case 'checkbox':
                if(element.checked == true){
                    params = params + element.name +'='+element.checked+'&';
                }
            break;

            case 'select-multiple':
                var aOptions = element.options, nOptions = aOptions.length, aValues = [], oOption, sValue, resValue="";

                for(var n=0; n<nOptions; n++) {
                    oOption = aOptions[n];

                    if(oOption.selected) {
                        sValue = oOption.value;
                        if(!sValue || sValue === "") {
                            sValue = oOption.text;
                        }
                        resValue = resValue + element.name + '='+sValue+'&';
                    }
                }
                params = params + resValue;
            break;

            case 'radio':
                if (element.checked){
                    params = params + element.name + '='+element.value+'&';
                }
            break;

            default:
                params = params + element.name +'='+element.value+'&';
            break;
        }
    }

    return params;
}

// Аналог parse_str на Javascript
function parse_str(str){
    var request = str;
    if(request.indexOf('&')!=-1){
        var GET = request.split('&');
        var arr = new Array();
        for(i=0;i<GET.length;i++){
            var cur = GET[i].split('=');
            arr[cur[0]]=cur[1];
        }
    }
    return arr;
}

function isValidDate(date_string, format) {
    var days = [31,28,31,30,31,30,31,31,30,31,30,31];
    var year;
    var month;
    var day;
    var date_parts = null;
    var rtrn = true;

    if (/^y{4}-m{2}-d{2}/.test(format)) {
        //EU Long Date
        date_parts = date_string.match(/^(\d{4})[./-](\d{1,2})[./-](\d{1,2})$/);
        if (date_parts) {
            year = date_parts[1];
            month = date_parts[2];
            day = date_parts[3];
        }
    } else {
        rtrn = false;
    }

    if (date_parts) {
        if (1 <= month && month <= 12) {
            if (month == 2) {
                if (year % 4 != 0 ? false : ( year % 100 != 0? true: (year % 1000 != 0? false : true))) {
                    rtrn = (1 <= day && day <= 29);
                } else {
                    rtrn = (1 <= day && day <= 28);
                }
            } else {
                rtrn = (1 <= day && day <= days[month -1]);
            }
        }else {
            rtrn = false;
        }
    } else {
        rtrn = false;
    }
    return rtrn;
}//eof isValidDate

// regular expression to match required date-time format
// matches 5:04 or 12:34 but not 75:83
// str_format: yyyy-mm-dd hh:mm[:ss]
function isDateTime(datetime) {
    var regDateTime = /^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) ([0-2]{1}[0-9]{1}):([0-5]\d){1,2}(:[0-5]\d){0,2}$/;

    var result = regDateTime.test(datetime);

    if(result == true){
        return true;
    } else {
        alert('Date/time has not correct format. Please try again. Correct format is "yyyy-mm-dd hh:mm" or "yyyy-mm-dd hh:mm:ss"');
        return false;
    }
}

function isEmptyDateTime(str) {
    if(str == '0000-00-00 00:00:00')
        return true;
    else
        return false;
}

function trimString(sInString) {
    sInString = sInString.replace( /^\s+/g, "" );
    return sInString.replace( /\s+$/g, "" );
}

function checkRequest(){
    if(window.lastResponse){
        if(!window.lastResponse.responseXML)
            alert('wrong XML\n');
            // + window.lastResponse.responseText
        xajax.processResponse(window.lastResponse.responseXML);
        window.lastResponse.onreadystatechange = function(){};
    }
}