String.prototype.startsWith = function(str) {
    return (this.match("^" + str) == str);
}

String.prototype.endsWith = function(str) {
    return (this.match(str + "$") == str);
}

function SelectMenu(id, val) {
	var obj = document.getElementById(id);
	obj.value = val;
	document.forms[0].submit();
}


function IsNumeric(sText) {
   var IsNumber = true;
   var validChars = '0123456789,';
   var len = sText.length;
   for (var i=0;i<len;i++) {
		var ch = sText.charAt(i);
		if (validChars.indexOf(ch)<0) {
			return false;
		}
   }
   return true;
}

function IsNumber(sText) {
   var IsNumber = true;
   var validChars = '0123456789';
   var len = sText.length;
   for (var i=0;i<len;i++) {
		var ch = sText.charAt(i);
		if (validChars.indexOf(ch)<0) {
			return false;
		}
   }
   return true;
}


function IsDate(sText) {
	if (sText.length<10) {
		return false;
	}
	
	if (sText.charAt(2) != '.') {
		return false;
	}
	if (sText.charAt(5) != '.') {
		return false;
	}
	
	var dag = sText.charAt(0) + sText.charAt(1);
	var md  = sText.charAt(3) + sText.charAt(4);
	var aar = sText.charAt(6) + sText.charAt(7) + sText.charAt(8) + sText.charAt(9);

	if (dag.charAt(0)=='0') {
		dag = dag.charAt(1);
	}
	
	if (md.charAt(0)=='0') {
		md = md.charAt(1);
	}

	
	var idag = parseInt(dag);
	var imd = parseInt(md) - 1;
	var iaar = parseInt(aar);
	var dato = new Date();
	
	dato.setFullYear(iaar, imd, idag);
	if (dato.getDate() != idag || dato.getMonth() != imd || dato.getFullYear() != iaar) {
		return false;
	}
	return true;
}

function ConvertToDate(sText) {
	var dag = sText.charAt(0) + sText.charAt(1);
	var md  = sText.charAt(3) + sText.charAt(4);
	var aar = sText.charAt(6) + sText.charAt(7) + sText.charAt(8) + sText.charAt(9);

	if (dag.charAt(0)=='0') {
		dag = dag.charAt(1);
	}
	
	if (md.charAt(0)=='0') {
		md = md.charAt(1);
	}
	
	var idag = parseInt(dag);
	var imd = parseInt(md) -1;
	var iaar = parseInt(aar);
	var dato = new Date();
	dato.setFullYear(iaar, imd, idag);
	return dato;
}


function validateDato(elm, txt) {
	elm.value = elm.value.replace('-','.');
	elm.value = elm.value.replace('-','.');
	if (elm.value.length==8 && elm.value.indexOf('.')<0) {
		elm.value =	 elm.value.charAt(0) +elm.value.charAt(1)+'.'+elm.value.charAt(2)+elm.value.charAt(3)+'.'+elm.value.charAt(4)+elm.value.charAt(5)+elm.value.charAt(6)+elm.value.charAt(7);
	} 
	
	if (elm.value.length>2 && elm.value.charAt(1)=='.') {
		elm.value = '0' + elm.value;
	}
	
	if (elm.value.length==9 && elm.value.charAt(4)=='.') {
		elm.value = elm.value.charAt(0)+elm.value.charAt(1)+elm.value.charAt(2)+'0'+elm.value.charAt(3)+elm.value.charAt(4)+elm.value.charAt(5)+elm.value.charAt(6)+elm.value.charAt(7)+elm.value.charAt(8);
	}

	if (!IsDate(elm.value)) {
		elm.focus();
		alert(txt);
		return false;
	}
	return true;
}


function validTimeField(elm, txt) {
	var num = '0123456789';
	if (elm.value.length==0) {
		alert(txt);
		return false;
	}
	if (elm.value.length==1 && num.indexOf(elm.value)>=0) {
		elm.value = '0' + elm.value + '.00';
		return true;
	}

	if (elm.value.length==2 && IsNumber(elm.value) && elm.value<=24) {
		elm.value = elm.value + '.00';
		return true;
	}

	if (elm.value.length==4 && IsNumber(elm.value)) {
		elm.value = elm.value.charAt(0)+elm.value.charAt(1) + '.' + elm.value.charAt(2) + elm.value.charAt(3);
	}
	
	if (elm.value.length==5) {
		var hh = elm.value.charAt(0) + elm.value.charAt(1);
		var mm = elm.value.charAt(3) + elm.value.charAt(4);
		var ihh = parseInt(hh);
		var imm = parseInt(mm);
		if (ihh<=24 && imm<60) {
			elm.value = hh + '.' + mm;
			return true;
		}
		alert(txt);
		return false;
	}	

	return true;
}

function togglemenu() {
	var menu = document.getElementById('leftmenu');
	var titl = document.getElementById('leftmenuTITLE');
	if (menu.smal) {
		menu.style.width = '112px';
		menu.smal = false;
		titl.innerHTML = "Menu";
	} else {
		menu.smal = true;
		menu.style.width = '24px';
		titl.innerHTML = "<img src='imgs/expand.gif' border='0' />";
	}

}

function CXSetCheckboxValue(id, valueFunction) {
    var elm = document.getElementById(id);

    
    if (elm.value == 'false') {
        elm.value = 'true';
    } else {
        elm.value = 'false';
    }

    if (valueFunction != null) {
        valueFunction(elm.value);
    }
}

var Kipon = new Object();
Kipon.StringBuilder = function() {
    this.vals = [];
}
Kipon.StringBuilder.prototype.append = function(val) {
    this.vals.push(val);
}
Kipon.StringBuilder.prototype.toString = function(val) {
    return this.vals.join('');
}


Kipon.Ajax = function(param, _callback) {
    var xmlhttp;
    var callback = _callback;

    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else
        if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            try {
                var res = xmlhttp.responseText;
                callback.Callback(res);
            } catch (Error) {
                alert('Ajax call error: ' + Error.message);
            }
        }
    };

    this.Run = function() {
        var x = 'AjaxController.ashx' + '?ts=' + new Date().getTime();
        xmlhttp.open('POST', x, true);
        xmlhttp.send(param);
    };
};

Kipon.Leman = new Object();

Kipon.Leman.ChangeProduct = function(element, targetid, servicetypeid, unittypeid) {
    var cb = new Object();
    cb.Callback = function(result) {
        var res = eval('(' + result + ')');
        var tg = document.getElementById(targetid);
        var current = tg.value;
        tg.options.length = 0;
        var serviceSet = false;
        tg.options[0] = new Option('Select', '', false, false);
        for (var i = 0; i < res.length; i++) {
            var sel = current == res[i].code;
            if (sel) {
                serviceSet = true;
            }
            tg.options[i + 1] = new Option(res[i].description, res[i].code, sel, false);
        }
        if (!serviceSet) {
            Kipon.Leman.ChangeService(document.getElementById(targetid), servicetypeid, unittypeid);
        }

    };
    var ajax = new Kipon.Ajax('setproduct|' + element.value, cb);
    ajax.Run();
};


Kipon.Leman.ChangeService = function(element, targetid, unittypeid) {
    var cb = new Object();
    cb.Callback = function(result) {
        var res = eval('(' + result + ')');
        var tg = document.getElementById(targetid);
        var current = tg.value;
        tg.options.length = 0;
        tg.options[0] = new Option('Select', '', false, false);
        var serviceTypeSet = false;
        var i = 0;
        var sel = false;
        for (i = 0; i < res.servicetypes.length; i++) {
            sel = current == res.servicetypes[i].code;
            if (sel) {
                serviceTypeSet = true;
            }
            tg.options[i + 1] = new Option(res.servicetypes[i].description, res.servicetypes[i].code, sel, false);
        }

        tg = document.getElementById(unittypeid);
        current = tg.value;
        tg.options.length = 0;
        tg.options[0] = new Option('Select', '', false, false);
        for (i = 0; i < res.unittypes.length; i++) {
            sel = current == res.unittypes[i].code;
            tg.options[i + 1] = new Option(res.unittypes[i].description, res.unittypes[i].code, sel, false);
        }

    };
    var ajax = new Kipon.Ajax('setservice|' + element.value, cb);
    ajax.Run();
};

Kipon.Leman.LookupDimension = function(element) {
    var cb = new Object();
    cb.Callback = function(result) {
        var res = eval('(' + result + ')');
        if (res.width && res.width > 0) {
            document.getElementById('bredde').value = res.width;
        } else {
            document.getElementById('bredde').value = '';
        }
        if (res.length && res.length > 0) {
            document.getElementById('lengde').value = res.length;
        } else {
            document.getElementById('lengde').value = '';
        }
        document.getElementById('kg').focus();
    };
    var ajax = new Kipon.Ajax('lookupdimension|' + element.value, cb);
    ajax.Run();
};


Kipon.Leman.FindToAddress = function (elm) {
    if (elm && elm.value && elm.valueOf != '') {
        var cb = new Object();
        cb.Callback = function (result) {
            var res = eval('(' + result + ')');
            if (res.found) {
                document.getElementById('til_Name').value = res.name;
                document.getElementById('til_Phone').value = res.phone;
                document.getElementById('til_Address').value = res.address;
                document.getElementById('til_Address2').value = res.address2;
                document.getElementById('til_Postnr').value = res.postcode;
                document.getElementById('til_By').value = res.city;
                document.getElementById('til_land').value = res.country;
                document.getElementById('til_State').value = res.county;
                document.getElementById('til_Kontakt').value = res.contact;
                document.getElementById('til_Email').value = res.email;
            } else {
                if (res.allowcreate) {
                    Kipon.Leman.OpenConfirm('to');
                } else {
                    alert(Leman.Dictionary.NoAddressFound);
                }
            }
        };

        var ajax = new Kipon.Ajax('findaddress|' + elm.value, cb);
        ajax.Run();
    }
};

Kipon.Leman.AddressSource = null;


Kipon.Leman.OpenConfirm = function(source) {
    Kipon.Leman.AddressSource = source;
    document.getElementById('hideall').style.display = 'block';
    document.getElementById('confirmpopup').style.display = 'block';
};


Kipon.Leman.CancelConfirm = function() {
    document.getElementById('hideall').style.display = 'none';
    document.getElementById('confirmpopup').style.display = 'none';

    if (Kipon.Leman.AddressSource == 'to') {
        document.getElementById('Searchname').value = '';
        document.getElementById('Searchname').focus();
    } else {
        document.getElementById('Fromsearch').value = '';
        document.getElementById('Fromsearch').focus();
    }

    Kipon.Leman.AddressSource = null;
}


Kipon.Leman.CancelConfirmAndSearch = function() {
    document.getElementById('hideall').style.display = 'none';
    document.getElementById('confirmpopup').style.display = 'none';

    var currentValue = null;
    if (Kipon.Leman.AddressSource == 'to') {
        currentValue = document.getElementById('Searchname').value;
        document.getElementById('Searchname').value = '';
        document.getElementById('Searchname').focus();
    } else {
        currentValue = document.getElementById('Fromsearch').value;
        document.getElementById('Fromsearch').value = '';
        document.getElementById('Fromsearch').focus();
    }
    Kipon.Leman.SearchPopup(Kipon.Leman.AddressSource);
    document.getElementById('addresssearch').value = currentValue;
    Kipon.Leman.SearchKeyDown();
}

Kipon.Leman.ConfirmConfirm = function() {
    document.getElementById('hideall').style.display = 'none';
    document.getElementById('confirmpopup').style.display = 'none';
    if (Kipon.Leman.AddressSource == 'from') {
        document.getElementById('afs_Name').focus();
    } else {
        document.getElementById('til_Name').focus();
    }
    Kipon.Leman.AddressSource = null;
}


Kipon.Leman.SaveToAddress = function() {
    var cb = new Object();
    cb.Callback = function(result) {
    }

    var code = document.getElementById('Searchname').value;
    if (code != '') {
        var sb = new Kipon.StringBuilder();
        sb.append('|' + document.getElementById('Searchname').value);
        sb.append('|' + document.getElementById('til_Name').value);
        sb.append('|' + document.getElementById('til_Phone').value);
        sb.append('|' + document.getElementById('til_Address').value);
        sb.append('|' + document.getElementById('til_Address2').value);
        sb.append('|' + document.getElementById('til_Postnr').value);
        sb.append('|' + document.getElementById('til_By').value);
        sb.append('|' + document.getElementById('til_land').value);
        sb.append('|' + document.getElementById('til_State').value);
        sb.append('|' + document.getElementById('til_Kontakt').value);
        sb.append('|' + document.getElementById('til_Email').value);
        sb.append('|to');

        var ajax = new Kipon.Ajax('saveaddress' + sb.toString(), cb);
        ajax.Run();
    }
};


Kipon.Leman.FindFromAddress = function(elm) {
    if (elm && elm.value && elm.valueOf != '') {
        var cb = new Object();
        cb.Callback = function(result) {
            var res = eval('(' + result + ')');
            if (res.found) {
                document.getElementById('afs_Name').value = res.name;
                document.getElementById('afs_Phone').value = res.phone;
                document.getElementById('afs_Address').value = res.address;
                document.getElementById('afs_Address2').value = res.address2;
                document.getElementById('afs_Postnr').value = res.postcode;
                document.getElementById('afs_By').value = res.city;
                document.getElementById('afs_land').value = res.country;
                document.getElementById('afs_Kontakt').value = res.contact;
                document.getElementById('afs_Email').value = res.email;
            } else {
                if (res.allowcreate) {
                    Kipon.Leman.OpenConfirm('from');
                } else {
                    alert(Leman.Dictionary.NoAddressFound);
                }
            }
        };

        var ajax = new Kipon.Ajax('findaddress|' + elm.value, cb);
        ajax.Run();
    }
};

Kipon.Leman.SaveFromAddress = function() {
    var cb = new Object();
    cb.Callback = function(result) {
    }

    var code = document.getElementById('Fromsearch').value;
    if (code != '') {
        var sb = new Kipon.StringBuilder();
        sb.append('|' + document.getElementById('Fromsearch').value);
        sb.append('|' + document.getElementById('afs_Name').value);
        sb.append('|' + document.getElementById('afs_Phone').value);
        sb.append('|' + document.getElementById('afs_Address').value);
        sb.append('|' + document.getElementById('afs_Address2').value);
        sb.append('|' + document.getElementById('afs_Postnr').value);
        sb.append('|' + document.getElementById('afs_By').value);
        sb.append('|' + document.getElementById('afs_land').value);
        sb.append('|' ); // + document.getElementById('afs_State').value);
        sb.append('|' + document.getElementById('afs_Kontakt').value);
        sb.append('|' + document.getElementById('til_Email').value);
        sb.append('|from');

        var ajax = new Kipon.Ajax('saveaddress' + sb.toString(), cb);
        ajax.Run();
    }
};

Kipon.Leman.Searchtarget = null;

Kipon.Leman.SearchPopup = function(target) {
    Kipon.Leman.Searchtarget = target;
    document.getElementById('addressresult').innerHTML = '';
    document.getElementById('addresspopup').style.display = 'block';
    document.getElementById('addresssearch').value = '';
    document.getElementById('addresssearch').focus();

    if (target == 'from') {
        document.getElementById('searchheader').innerHTML = Leman.Dictionary.TitleSearchFrom;
    } else {
        document.getElementById('searchheader').innerHTML = Leman.Dictionary.TitleSearchTo;
        Kipon.Leman.SearchKeyDown();
    }
};

Kipon.Leman.SearchKeyId = null;

Kipon.Leman.SearchKeyDown = function() {
    if (Kipon.Leman.SearchKeyId != null) {
        clearTimeout(Kipon.Leman.SearchKeyId);
    }
    Kipon.Leman.SearchKeyId = setTimeout(Kipon.Leman.Search, 500);
};

Kipon.Leman.Search = function() {
    Kipon.Leman.SearchKeyId = null;
    var search = document.getElementById('addresssearch').value;
    var country = document.getElementById('searchcountry').value;
    if (search != '' || country != '') {
        var cb = new Object();
        cb.Callback = function(result) {
            var sb = new Kipon.StringBuilder();
            var list = eval('(' + result + ')');
            if (list.length > 0) {
                for (var i = 0; i < list.length; i++) {
                    var adr = list[i];
                    sb.append("<div class='address' onmouseover='$(this).addClass(\"out\")' onmouseout='$(this).removeClass(\"out\")' onclick='Kipon.Leman.SelectAddress(\"" + adr.code + "\",\""+adr.country+"\",\""+adr.ean+"\")'>");
                    sb.append("<div>" + adr.code + "</div>");
                    sb.append("<div>" + adr.name + "</div>");
                    sb.append("<div>" + adr.address + "</div>");
                    sb.append("<div>" + adr.address2 + "</div>");
                    sb.append("<div>" + adr.postcode + "&nbsp;" + adr.city + "</div>");
                    sb.append("<div>" + adr.country + "</div>");
                    sb.append("<div>" + adr.contact + "</div>");
                    sb.append("<div>" + adr.phone + "</div>");
                    sb.append("</div>");
                }
                document.getElementById('addressresult').innerHTML = sb.toString();
            } else {
                document.getElementById('addressresult').innerHTML = "<div class='message'>" + Leman.Dictionary.NoAddressFound + "</div>";
            }
        };

        if (search != '') {
            country = '';
        }
        var ajax = new Kipon.Ajax('searchaddress|' + search + "|" + country + "|" + Kipon.Leman.Searchtarget, cb);
        ajax.Run();
    } else {
        document.getElementById('addressresult').innerHTML = "<div class='message'>" + Leman.Dictionary.EnterSearchWord + "</div>";
    }
}

Kipon.Leman.SelectAddress = function (code, country, ean) {
    var elm = null;
    if (Kipon.Leman.Searchtarget == 'from') {
        elm = document.getElementById('Fromsearch');
        elm.value = code;
        Kipon.Leman.FindFromAddress(elm);
        document.getElementById('fromEAN').value = ean;
        if (country == 'DK') {
            document.getElementById('EANNo').value = ean;
        }
    } else {
        elm = document.getElementById('Searchname');
        elm.value = code;
        Kipon.Leman.FindToAddress(elm);
        document.getElementById('toEAN').value = ean;
        if (country == 'DK') {
            var afs = document.getElementById('afs_land');
            if (afs.value != 'DK') {
                document.getElementById('EANNo').value = ean;
            }
        }
    }
    document.getElementById('addresspopup').style.display = 'none';
}




Kipon.Leman.Ping = new Object();
Kipon.Leman.Ping.Callback = function(result) {
    if (result == 'OK') {
        // OK, we are still in business.
    } else {
        window.location = 'Booking.aspx';
    }
};

Kipon.Leman.Ping.Execute = function() {
    var ajax = new Kipon.Ajax('ping|' + window.location, Kipon.Leman.Ping);
    ajax.Run();
};


Kipon.Leman.Allowupload = function(filename) {
        if (!filename) {
        return false;
    }
    for (var i = 0; i < Leman.AllowedUpload.length; i++) {
        if (filename.toUpperCase().endsWith('.' + Leman.AllowedUpload[i].toUpperCase())) {
            return true;
        }
    }
    return false;
};


Kipon.Leman.CurrentShow = null;

Kipon.Leman.Show = function(elementid) {
    if (Kipon.Leman.CurrentShow && Kipon.Leman.CurrentShow != elementid) {
        Kipon.Leman.Hide(Kipon.Leman.CurrentShow);
    }
    var elm = document.getElementById(elementid);
    if (elm) {
        elm.style.display = 'block';
        Kipon.Leman.CurrentShow = elementid;
    }
};


Kipon.Leman.Hide = function(elementid) {
    var elm = document.getElementById(elementid);
    if (elm) {
        elm.style.display = 'none';
        Kipon.Leman.CurrentShow = null;
    }
};

Kipon.Leman.Toggle = function(elementid) {
    var elm = document.getElementById(elementid);
    if (elm.style.display == 'block') {
        elm.style.display = 'none';
    } else {
        elm.style.display = 'block';
    }
};



Kipon.Leman.CurrentPopup = null;
Kipon.Leman.JustOpened = null;
Kipon.Leman.CurrentPopupThread = null;

Kipon.Leman.Popup = function (elm) {
    if (Kipon.Leman.CurrentPopup != null && Kipon.Leman.CurrentPopup != elm) {
        Kipon.Leman.CurrentPopup.style.display = 'none';
        Kipon.Leman.CurrentPopup = null;
    }
    Kipon.Leman.CurrentPopup = elm;
    Kipon.Leman.JustOpened = elm;
    elm.style.display = 'block';
};

Kipon.Leman.CloseCurrentPopup = function () {
    if (Kipon.Leman.CurrentPopup != null ) {
        Kipon.Leman.CurrentPopupThread = setTimeout(function () {
            if (Kipon.Leman.CurrentPopup != null && Kipon.Leman.CurrentPopup != Kipon.Leman.JustOpened) {
                Kipon.Leman.CurrentPopup.style.display = 'none';
                Kipon.Leman.CurrentPopup = null;
            }
            Kipon.Leman.JustOpened = null;
        }, 200);
    }
}


Kipon.Leman.CancelCurrentClose = function () {
    if (Kipon.Leman.CurrentPopupThread != null) {
        clearTimeout(Kipon.Leman.CurrentPopupThread);
    }
}


Kipon.Leman.EanPopup = function () {
    var pop = document.getElementById('eanselector');
    pop.style.display = 'block';

    var sb = new Kipon.StringBuilder();
    sb.append('<ul class="eanlist">');

    if (customerEAN != null && customerEAN != '') {
        sb.append('<li onclick="Kipon.Leman.setEAN(\'' + customerEAN + '\')">');
        sb.append(Leman.Dictionary.KundeEAN + ': ' + customerEAN);
        sb.append('</li>');
    }

    var fEAN = document.getElementById('fromEAN');

    if (fEAN.value != null && fEAN.value != '') {
        sb.append('<li onclick="Kipon.Leman.setEAN(\'' + fEAN.value + '\')">');
        sb.append(Leman.Dictionary.FromEAN + ': ' + fEAN.value);
        sb.append('</li>');
    }

    var tEAN = document.getElementById('toEAN');

    if (tEAN.value != null && tEAN.value != '') {
        sb.append('<li onclick="Kipon.Leman.setEAN(\'' + tEAN.value + '\')">');
        sb.append(Leman.Dictionary.ToEAN + ': ' + tEAN.value);
        sb.append('</li>');
    }

    sb.append('</ul>');
    var list = document.getElementById('eans');
    list.innerHTML = sb.toString();
}

Kipon.Leman.FakPopup = function () {
    var pop = document.getElementById('fakselector');
    pop.style.display = 'block';
}


Kipon.Leman.setEAN = function (eannr) {
    var pop = document.getElementById('eanselector');
    pop.style.display = 'none';
    document.getElementById('EANNo').value = eannr;
}



Kipon.Leman.RememberAllowValue = null;

Kipon.Leman.allowPrebookChanged = function (value) {
    $("#DefaultStatus").each(function () {
        if (value == 'true') {
            this.disabled = false;
            if (Kipon.Leman.RememberAllowValue != null) {
                this.value = Kipon.Leman.RememberAllowValue;
                Kipon.Leman.RememberAllowValue = null;
            }
        } else {
            Kipon.Leman.RememberAllowValue = this.value;
            this.value = '0';
            this.disabled = true;
        }
    }
    );
}


setInterval(Kipon.Leman.Ping.Execute, 30000);

document.onclick = Kipon.Leman.CloseCurrentPopup;

jQuery(function ($) {
    $.datepicker.regional['leman'] = {
        closeText: Leman.Dictionary.Close,
        prevText: '&#x3c;' + Leman.Dictionary.Prev,
        nextText: Leman.Dictionary.Next + '&#x3e;',
        currentText: Leman.Dictionary.Today,
        monthNames: [
          Leman.Dictionary.Januar
        , Leman.Dictionary.Februar
        , Leman.Dictionary.Marts
        , Leman.Dictionary.April
        , Leman.Dictionary.Maj
        , Leman.Dictionary.Juni
        , Leman.Dictionary.Juli
        , Leman.Dictionary.August
        , Leman.Dictionary.September
        , Leman.Dictionary.Oktober
        , Leman.Dictionary.November
        , Leman.Dictionary.December],
        monthNamesShort: [
            Leman.Dictionary.Jan
          , Leman.Dictionary.Feb
          , Leman.Dictionary.Mar
          , Leman.Dictionary.Apr
          , Leman.Dictionary.Maj
          , Leman.Dictionary.Jun
          , Leman.Dictionary.Jul
          , Leman.Dictionary.Aug
          , Leman.Dictionary.Sep
          , Leman.Dictionary.Okt
          , Leman.Dictionary.Nov
          , Leman.Dictionary.Dec],
        dayNames: [
          Leman.Dictionary.Sunday
        , Leman.Dictionary.Monday
        , Leman.Dictionary.Tuesday
        , Leman.Dictionary.Wednesday
        , Leman.Dictionary.Thursday
        , Leman.Dictionary.Friday
        , Leman.Dictionary.Saturday],
        dayNamesShort: [
          Leman.Dictionary.Sun
        , Leman.Dictionary.Mon
        , Leman.Dictionary.Tue
        , Leman.Dictionary.Wed
        , Leman.Dictionary.Thu
        , Leman.Dictionary.Fri
        , Leman.Dictionary.Sat],
        dayNamesMin: [
          Leman.Dictionary.Su
        , Leman.Dictionary.Mo
        , Leman.Dictionary.Tu
        , Leman.Dictionary.We
        , Leman.Dictionary.Th
        , Leman.Dictionary.Fr
        , Leman.Dictionary.Sa],
        weekHeader: Leman.Dictionary.Week,
        dateFormat: 'dd-mm-yy',
        firstDay: 1,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: ''
    };
    $.datepicker.setDefaults($.datepicker.regional['leman']);
});


$(document).ready(function () {
    $('div.calendar-container').each(function () {
        var popupid = '';
        var fieldname = '';
        var fieldvalue = '';
        var minDate = '';
        var maxDate = '';
        $(this).children('div.calendar_popup').each(function () {
            popupid = this.id;
        });
        $(this).children('input').each(function () {
            fieldname = this.id;
            fieldvalue = this.value;

            if (this.mindate) {
                minDate = this.mindate;
            }

            if (this.maxdate) {
                maxDate = this.maxdate;
            }
            $(this).click(function () {
                $(this.parentNode).children('div.calendar_popup').each(function () {
                    Kipon.Leman.Popup(this);
                });
            });
        });
        $(this).children('div.calendar_popup').children('div.calendar_popup_inner').children('div').each(function () {
            if (!$(this).hasClass('readonly')) {
                $(this).datepicker(
                        {
                            altField: '#' + fieldname,
                            minDate: minDate,
                            maxDate: maxDate,
                            defaultDate: fieldvalue,
                            onSelect: function () {
                                this.parentNode.parentNode.style.display = 'none';
                                $(this.parentNode.parentNode.parentNode).children('input').each(function () {
                                    if (this.onchange) {
                                        this.onchange();
                                    }
                                });
                            }
                        });
            }
        });
    });
});

