﻿/**       Ajax Error      **/
function AjaxFailed(result) {
    alert(result.status + ' ' + result.statusText);
}

$.fn.loadext = function(urlraw, callback) {
    var urlselector = (urlraw).split(" ", 1);
    var url = urlselector[0];
    var selector = urlraw.substring(urlraw.indexOf(' ') + 1, urlraw.length);
    var container = $(this);
    var uri = "/Services/AjaxService.asmx/GetUrl";
    var $jsonData = { 'url': url };

    $.ajax({
        type: "POST",
        
        dataType: "json",
        url: uri, // "/Services/AjaxServices.asmx/GetUrl",
        data: JSON.stringify($jsonData), // "{url : '" + url + "'}",
        success: function(msg) {
            container.html($(msg.d).find(selector));

//            var page = $(msg.d);
//            var page2 = $('\'' + msg.d + '\'');
//            var sel = $(selector);
//            var content = $(page).find(selector);
//            var content2 = page2.find(selector);
//            var content3 = $(msg.d).find(selector);
//            var innerpg = $(page[1]);

//            var aaa = $(msg).find(selector);
//            var bbb = $(page.attr('data')).find(selector)
//            //       innerpg.wrap('<div id=\'ajaxwrapper\'>');
//            var content4 = innerpg.find(selector);
//            container.html(content); //($(msg.d).find(selector));
            if ($.isFunction(callback)) {
                callback();
            }
        }
    });
};

clearBookingDialog = function () {
    var $del = $('body').find('.sd-new-appointment');
    if ($del.length > 0) {
        var $dlg = $del.parents('.ui-dialog');
        if ($dlg.length > 0)
            $dlg.remove();
        else
            $del.remove();
    }
    var $del1 = $('body').find('.sd-booking-availability');
    if ($del1.length > 0) {
        var $dlg = $del1.parents('.ui-dialog');
        if ($dlg.length > 0)
            $dlg.remove();
        else
            $del1.remove();
    }
}

function clearData(e, entity) {
    var $mapids = [];
    if (entity == 'appointment') {
       $mapids = $mapids.concat(mapidArray(entity, 'appointment'), mapidArray(entity, 'selector'));
    }
    else if (entity == 'account' || entity == 'contact') {
        $mapids = mapidArray(entity, 'selector').concat(
    mapidArray(entity, 'address'),
    mapidArray(entity, 'phone'),
    mapidArray(entity, 'contactname'),
    mapidArray(entity, 'contactmain')
    );
    }
    for (var i = 0; i < $mapids.length; i++) {
        $(e).removeData($mapids[i].toString());
    }
    if (entity == 'contact' || entity == 'account') {
        $(e).removeData('business');
        $(e).removeData('home');
        $(e).removeData('other');
    }
    var $data = $(e).data();
}
function closeTag(tag, html) {
    var ct = '';
    var ht = html.toString();
    var sTag = '<' + tag;
    var cTag = '</' + tag;
    var sCount = 0;
    var cCount = 0;

    for (var i = 0; i < html.length; i++) {
        if (sTag == ht.substr(i, sTag.length))
            sCount++;
        if (cTag == ht.substr(i, cTag.length))
            cCount++;
    }

    if (sCount != cCount) {
        ct += '</' + tag + '>';
    }
    return ct;
}
function createIDiv(map, lSize, iSize, iType, txt, bDiv, eDiv, lClass, iClass, lType) {
    var $inputDiv;

    if (iType == 'appointment') {
        return createAppointmentDate(map,lSize);
    }

    $inputDiv = '';
    lSize = getElementSize(lSize);
    iSize = getElementSize(iSize);

    
    if (lType != null && lType != 'blanklabel') {
        if (map.toString().length > 5) {
            var t = getLabelText(map.substr(0, 5));
            if (t != 'Label Text')
                txt = t;
        }
        else {
            var t = getLabelText(map);
            if (t != 'Label Text')
                txt = t;
        }
    }
    else if (lType != 'blanklabel') {
        txt = '';
    }
    if (bDiv == true) {
        if (iType != 'checkbox') {
            $inputDiv += '<div style=\'clear:both\'>'; // 
        }
        else {
            $inputDiv += '<div style=\'float:right\'>'; // 
        }
    }
    if (lType == 'label' && iType != 'checkbox') {
        $inputDiv += '<label class=\'sd-label-' + lSize + ' sd-id-' + map + ' ' + lClass + '\'>' + txt + '</label>';
    }
    else if (lType == 'blanklabel') {
    $inputDiv += '<label class=\'sd-label-' + lSize + ' sd-id-' + map + ' ' + lClass + '\'></label>';
    }
    else if (lType == 'button') {
    $inputDiv += createInputButton(map, txt, lSize, lClass, false, false);
    }
    if (iType == 'input' || iType == 'text')
        $inputDiv += '<input id=\'sd-id-' + map + '\' class=\'sd-input-' + iSize + ' sd-id-' + map + ' ' + iClass + '\' type=\'text\' value=\'\'/>';
    else if (iType == 'password')
        $inputDiv += '<input id=\'sd-id-' + map + '\' class=\'sd-input-' + iSize + ' sd-id-' + map + ' ' + iClass + '\' type=\'password\' value=\'\'/>';
    else if (iType == 'textarea')
        $inputDiv += '<textarea id=\'sd-id-' + map + '\' class=\'sd-input-' + iSize + ' sd-id-' + map + ' ' + iClass + '\' type=\'text\' value=\'\'></textarea>';
    else if (iType == 'checkbox')
        $inputDiv += '<input id=\'sd-id-' + map + '\' class=\'sd-id-' + map + ' ' + iClass + '\' type=\'checkbox\'/>';
    else if (iType == 'select')
        $inputDiv += '<select class=\'sd-select-' + iSize + ' sd-id-' + map + ' ' + iClass + '\'>' + loadSelect(map) + '</select>';
    else if (iType == 'resource')
        $inputDiv += '<select multiple=\'multiple\' class=\'sd-select-resource sd-id-' + map + '\'>' + loadResourceSelect() + '</select>';

    if (lType == 'label' && iType == 'checkbox') {
        $inputDiv += '<label for=\'sd-id-' + map + '\' class=\'sd-label-checkbox sd-id-' + map + ' ' + lClass + '\'>' + txt + '</label>';
    }

    if (eDiv == true)
        $inputDiv += '</div>';

    return $inputDiv;
}
function getElementSize(s) {
    var size = 'medium';

    if (s == 0)
        size = 'short';
    else if (s == 2)
        size = 'long';
    else if (s == 3)
        size = 'verylong';

    return size;
}
function getLabelText(mapid) {
    var $entitymap = $('body').find('#entitymap'); if ($entitymap != undefined && mapid != undefined) {
        var lbl = $entitymap.data(mapid.toString());
        if (lbl != undefined && lbl != null)
        { return lbl; }
    } return 'Label Text';
}
function createInputButton(map, txt, bSize, bClasses, openDiv, closeDiv) {
    var btn = '';
    if (openDiv == true)
        btn += '<div>';
    btn += '<input type=\'button\' class=\'sd-button-' + bSize + ' sd-id-' + map + ' ui-corner-left ui-state-default' + bClasses + '\' value=\'' + txt.replace(':', '') + '\'/>';

    if (closeDiv == true)
        btn += '</div>';

    return btn;
}
function loadSelect(map) {

    if (map == 'country') {
return loadCountrySelect();
    }

    var optionTxt = '';
    var $pl = $('body').find('#picklist');

    if (map == 15201) {
        var $ac = $pl.data('AppointmentCategory');
        for (var a = 0; a < $ac.length; a++) {
            optionTxt += '<option value=\'' + $ac[a].color.toString() + '\'>' + $ac[a].label + '</option>';
        }
    }
    else if (map == 15202) {
        var $bs = $pl.data('BusyState');
        for (var j = 0; j < $bs.length; j++) {
            optionTxt += '<option value=\'' + $bs[j].color.toString() + '\'>' + $bs[j].label + '</option>';
        }
    }
    else if (map == 15223) {
        return optionTxt;
    }
    else {
        optionTxt += '<option value=\'null\'></option>';
        var $opt = $pl.data(map.toString());
        for (var i = 0; i < $opt.length; i++) {
            if (map == 11254) {
                optionTxt += '<option value=\'' + $opt[i].text + '\'>' + $opt[i].text + '</option>';
            }
            else {
                optionTxt += '<option value=\'' + $opt[i].value + '\'>' + $opt[i].text + '</option>';
            }
        }
    }
    return optionTxt;
}
function loadCountrySelect(){
var sel = '';//<select class=\'sd-id-country\'>';
sel+='<optgroup label="">';
sel+='<option value="" selected="selected">Select Country</option>';
sel+='</optgroup>';
sel+='<optgroup label="common choices">';
sel+='<option value="United Kingdom">United Kingdom</option>';
sel+='<option value="Ireland">Ireland</option>';
sel+='<option value="United States">United States</option>';
sel+='<option value="France">France</option> ';
sel+='<option value="Germany">Germany</option>';
sel+='<option value="Spain">Spain</option>';
sel+='option value="Italy">Italy</option>';
sel+='<option value="Canada">Canada</option>';
sel+='</optgroup>';
sel+='<optgroup label="other countries">';
sel+='<option value="Afghanistan">Afghanistan</option>';
sel+='<option value="Albania">Albania</option>';
sel+='<option value="Algeria">Algeria</option>';
sel+='<option value="American Samoa">American Samoa</option> ';
sel+='<option value="Andorra">Andorra</option>';
sel+='<option value="Angola">Angola</option>';
sel+='<option value="Anguilla">Anguilla</option>';
sel+='<option value="Antarctica">Antarctica</option>';
sel+='<option value="Antigua and Barbuda">Antigua and Barbuda</option>';
sel+='<option value="Argentina">Argentina</option>';
sel+='<option value="Armenia">Armenia</option>';
sel+='<option value="Aruba">Aruba</option>';
sel+='<option value="Australia">Australia</option>';
sel+='<option value="Austria">Austria</option>';
sel+='<option value="Azerbaijan">Azerbaijan</option>';
sel+='<option value="Bahamas">Bahamas</option>';
sel+='<option value="Bahrain">Bahrain</option>';
sel+='<option value="Bangladesh">Bangladesh</option>';
sel+='<option value="Barbados">Barbados</option>';
sel+='<option value="Belarus">Belarus</option>';
sel+='<option value="Belgium">Belgium</option>';
sel+='<option value="Belize">Belize</option>';
sel+='<option value="Benin">Benin</option>';
sel+='<option value="Bermuda">Bermuda</option>';
sel+='<option value="Bhutan">Bhutan</option>';
sel+='<option value="Bolivia">Bolivia</option>';
sel+='<option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>';
sel+='<option value="Botswana">Botswana</option>';
sel+='<option value="Bouvet Island">Bouvet Island</option>';
sel+='<option value="Brazil">Brazil</option>';
sel+='<option value="British Indian Ocean Territory">British Indian Ocean Territory</option>';
sel+='<option value="Brunei Darussalam">Brunei Darussalam</option>';
sel+='<option value="Bulgaria">Bulgaria</option>';
sel+='<option value="Burkina Faso">Burkina Faso</option>';
sel+='<option value="Burundi">Burundi</option>';
sel+='<option value="Cambodia">Cambodia</option>';
sel+='<option value="Cameroon">Cameroon</option>';
sel+='<option value="Canada">Canada</option>';
sel+='<option value="Cape Verde">Cape Verde</option>';
sel+='<option value="Cayman Islands">Cayman Islands</option>';
sel+='<option value="Central African Republic">Central African Republic</option>';
sel+='<option value="Chad">Chad</option>';
sel+='<option value="Chile">Chile</option>';
sel+='<option value="China">China</option>';
sel+='<option value="Christmas Island">Christmas Island</option>';
sel+='<option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>';
sel+='<option value="Colombia">Colombia</option>';
sel+='<option value="Comoros">Comoros</option>';
sel+='<option value="Congo">Congo</option>';
sel+='<option value="Congo, The Democratic Republic of The">Congo, The Democratic Republic of The</option>';
sel+='<option value="Cook Islands">Cook Islands</option>';
sel+='<option value="Costa Rica">Costa Rica</option>';
sel+='<option value="Cote D\'ivoire">Cote D\'ivoire</option>';
sel+='<option value="Croatia">Croatia</option>';
sel+='<option value="Cuba">Cuba</option>';
sel+='<option value="Cyprus">Cyprus</option>';
sel+='<option value="Czech Republic">Czech Republic</option>';
sel+='<option value="Denmark">Denmark</option>';
sel+='<option value="Djibouti">Djibouti</option>';
sel+='<option value="Dominica">Dominica</option>';
sel+='<option value="Dominican Republic">Dominican Republic</option>';
sel+='<option value="Ecuador">Ecuador</option>';
sel+='<option value="Egypt">Egypt</option>';
sel+='<option value="El Salvador">El Salvador</option>';
sel+='<option value="Equatorial Guinea">Equatorial Guinea</option>';
sel+='<option value="Eritrea">Eritrea</option>';
sel+='<option value="Estonia">Estonia</option>';
sel+='<option value="Ethiopia">Ethiopia</option>';
sel+='<option value="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option>';
sel+='<option value="Faroe Islands">Faroe Islands</option>';
sel+='<option value="Fiji">Fiji</option>';
sel+='<option value="Finland">Finland</option>';
sel+='<option value="France">France</option>';
sel+='<option value="French Guiana">French Guiana</option>';
sel+='<option value="French Polynesia">French Polynesia</option>';
sel+='<option value="French Southern Territories">French Southern Territories</option>';
sel+='<option value="Gabon">Gabon</option>';
sel+='<option value="Gambia">Gambia</option>';
sel+='<option value="Georgia">Georgia</option>';
sel+='<option value="Germany">Germany</option>';
sel+='<option value="Ghana">Ghana</option>';
sel+='<option value="Gibraltar">Gibraltar</option>';
sel+='<option value="Greece">Greece</option>';
sel+='<option value="Greenland">Greenland</option>';
sel+='<option value="Grenada">Grenada</option>';
sel+='<option value="Guadeloupe">Guadeloupe</option>';
sel+='<option value="Guam">Guam</option>';
sel+='<option value="Guatemala">Guatemala</option>';
sel+='<option value="Guinea">Guinea</option>';
sel+='<option value="Guinea-bissau">Guinea-bissau</option>';
sel+='<option value="Guyana">Guyana</option>';
sel+='<option value="Haiti">Haiti</option>';
sel+='<option value="Heard Island and Mcdonald Islands">Heard Island and Mcdonald Islands</option>';
sel+='<option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>';
sel+='<option value="Honduras">Honduras</option>';
sel+='<option value="Hong Kong">Hong Kong</option>';
sel+='<option value="Hungary">Hungary</option>';
sel+='<option value="Iceland">Iceland</option>';
sel+='<option value="India">India</option>';
sel+='<option value="Indonesia">Indonesia</option>';
sel+='<option value="Iran, Islamic Republic of">Iran, Islamic Republic of</option>';
sel+='<option value="Iraq">Iraq</option>';
		sel+='<option value="Ireland">Ireland</option>'; 
		sel+='<option value="Israel">Israel</option>'; 
		sel+='<option value="Italy">Italy</option>'; 
		sel+='<option value="Jamaica">Jamaica</option>'; 
		sel+='<option value="Japan">Japan</option>'; 
		sel+='<option value="Jordan">Jordan</option>'; 
		sel+='<option value="Kazakhstan">Kazakhstan</option>'; 
		sel+='<option value="Kenya">Kenya</option>'; 
		sel+='<option value="Kiribati">Kiribati</option>'; 
		sel+='<option value="Korea, Democratic People\'s Republic of">Korea, Democratic People\'s Republic of</option>'; 
		sel+='<option value="Korea, Republic of">Korea, Republic of</option>'; 
		sel+='<option value="Kuwait">Kuwait</option>'; 
		sel+='<option value="Kyrgyzstan">Kyrgyzstan</option>'; 
		sel+='<option value="Lao People\'s Democratic Republic">Lao People\'s Democratic Republic</option>'; 
		sel+='<option value="Latvia">Latvia</option>'; 
		sel+='<option value="Lebanon">Lebanon</option>'; 
		sel+='<option value="Lesotho">Lesotho</option>'; 
		sel+='<option value="Liberia">Liberia</option>'; 
		sel+='<option value="Libyan Arab Jamahiriya">Libyan Arab Jamahiriya</option>'; 
		sel+='<option value="Liechtenstein">Liechtenstein</option>'; 
		sel+='<option value="Lithuania">Lithuania</option>'; 
		sel+='<option value="Luxembourg">Luxembourg</option>'; 
		sel+='<option value="Macao">Macao</option>'; 
		sel+='<option value="Macedonia, The Former Yugoslav Republic of">Macedonia, The Former Yugoslav Republic of</option>'; 
		sel+='<option value="Madagascar">Madagascar</option>'; 
		sel+='<option value="Malawi">Malawi</option>'; 
		sel+='<option value="Malaysia">Malaysia</option>'; 
		sel+='<option value="Maldives">Maldives</option>'; 
		sel+='<option value="Mali">Mali</option>'; 
		sel+='<option value="Malta">Malta</option>'; 
		sel+='<option value="Marshall Islands">Marshall Islands</option>'; 
		sel+='<option value="Martinique">Martinique</option>'; 
		sel+='<option value="Mauritania">Mauritania</option>'; 
		sel+='<option value="Mauritius">Mauritius</option>'; 
		sel+='<option value="Mayotte">Mayotte</option>'; 
		sel+='<option value="Mexico">Mexico</option>'; 
		sel+='<option value="Micronesia, Federated States of">Micronesia, Federated States of</option>'; 
		sel+='<option value="Moldova, Republic of">Moldova, Republic of</option>'; 
		sel+='<option value="Monaco">Monaco</option>'; 
		sel+='<option value="Mongolia">Mongolia</option>'; 
		sel+='<option value="Montserrat">Montserrat</option>'; 
		sel+='<option value="Morocco">Morocco</option>'; 
		sel+='<option value="Mozambique">Mozambique</option>'; 
		sel+='<option value="Myanmar">Myanmar</option>'; 
		sel+='<option value="Namibia">Namibia</option>'; 
		sel+='<option value="Nauru">Nauru</option>'; 
		sel+='<option value="Nepal">Nepal</option>'; 
		sel+='<option value="Netherlands">Netherlands</option>'; 
		sel+='<option value="Netherlands Antilles">Netherlands Antilles</option>'; 
		sel+='<option value="New Caledonia">New Caledonia</option>'; 
		sel+='<option value="New Zealand">New Zealand</option>'; 
		sel+='<option value="Nicaragua">Nicaragua</option>'; 
		sel+='<option value="Niger">Niger</option>'; 
		sel+='<option value="Nigeria">Nigeria</option>'; 
		sel+='<option value="Niue">Niue</option>'; 
		sel+='<option value="Norfolk Island">Norfolk Island</option>'; 
		sel+='<option value="Northern Mariana Islands">Northern Mariana Islands</option>'; 
		sel+='<option value="Norway">Norway</option>'; 
		sel+='<option value="Oman">Oman</option>'; 
		sel+='<option value="Pakistan">Pakistan</option>'; 
		sel+='<option value="Palau">Palau</option>'; 
		sel+='<option value="Palestinian Territory, Occupied">Palestinian Territory, Occupied</option>'; 
		sel+='<option value="Panama">Panama</option>'; 
		sel+='<option value="Papua New Guinea">Papua New Guinea</option>'; 
		sel+='<option value="Paraguay">Paraguay</option>'; 
		sel+='<option value="Peru">Peru</option>'; 
		sel+='<option value="Philippines">Philippines</option>'; 
		sel+='<option value="Pitcairn">Pitcairn</option>'; 
		sel+='<option value="Poland">Poland</option>'; 
		sel+='<option value="Portugal">Portugal</option>'; 
		sel+='<option value="Puerto Rico">Puerto Rico</option>'; 
		sel+='<option value="Qatar">Qatar</option>'; 
		sel+='<option value="Reunion">Reunion</option>'; 
		sel+='<option value="Romania">Romania</option>'; 
		sel+='<option value="Russian Federation">Russian Federation</option>'; 
		sel+='<option value="Rwanda">Rwanda</option>'; 
		sel+='<option value="Saint Helena">Saint Helena</option>'; 
		sel+='<option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>'; 
		sel+='<option value="Saint Lucia">Saint Lucia</option>'; 
		sel+='<option value="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option>'; 
		sel+='<option value="Saint Vincent and The Grenadines">Saint Vincent and The Grenadines</option>'; 
		sel+='<option value="Samoa">Samoa</option>'; 
		sel+='<option value="San Marino">San Marino</option>'; 
		sel+='<option value="Sao Tome and Principe">Sao Tome and Principe</option>'; 
		sel+='<option value="Saudi Arabia">Saudi Arabia</option>'; 
		sel+='<option value="Senegal">Senegal</option>'; 
		sel+='<option value="Serbia and Montenegro">Serbia and Montenegro</option>'; 
		sel+='<option value="Seychelles">Seychelles</option>'; 
		sel+='<option value="Sierra Leone">Sierra Leone</option>'; 
		sel+='<option value="Singapore">Singapore</option>'; 
		sel+='<option value="Slovakia">Slovakia</option>'; 
		sel+='<option value="Slovenia">Slovenia</option>'; 
		sel+='<option value="Solomon Islands">Solomon Islands</option>'; 
		sel+='<option value="Somalia">Somalia</option>'; 
		sel+='<option value="South Africa">South Africa</option>'; 
		sel+='<option value="South Georgia and The South Sandwich Islands">South Georgia and The South Sandwich Islands</option>'; 
		sel+='<option value="Spain">Spain</option>'; 
		sel+='<option value="Sri Lanka">Sri Lanka</option>'; 
		sel+='<option value="Sudan">Sudan</option>'; 
		sel+='<option value="Suriname">Suriname</option>'; 
		sel+='<option value="Svalbard and Jan Mayen">Svalbard and Jan Mayen</option>'; 
		sel+='<option value="Swaziland">Swaziland</option>'; 
		sel+='<option value="Sweden">Sweden</option>'; 
		sel+='<option value="Switzerland">Switzerland</option>'; 
		sel+='<option value="Syrian Arab Republic">Syrian Arab Republic</option>'; 
		sel+='<option value="Taiwan, Province of China">Taiwan, Province of China</option>'; 
		sel+='<option value="Tajikistan">Tajikistan</option>'; 
		sel+='<option value="Tanzania, United Republic of">Tanzania, United Republic of</option>'; 
		sel+='<option value="Thailand">Thailand</option>'; 
		sel+='<option value="Timor-leste">Timor-leste</option>'; 
		sel+='<option value="Togo">Togo</option>'; 
		sel+='<option value="Tokelau">Tokelau</option>'; 
		sel+='<option value="Tonga">Tonga</option>'; 
		sel+='<option value="Trinidad and Tobago">Trinidad and Tobago</option>'; 
		sel+='<option value="Tunisia">Tunisia</option>'; 
		sel+='<option value="Turkey">Turkey</option>'; 
		sel+='<option value="Turkmenistan">Turkmenistan</option>'; 
		sel+='<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>'; 
		sel+='<option value="Tuvalu">Tuvalu</option>'; 
		sel+='<option value="Uganda">Uganda</option>'; 
		sel+='<option value="Ukraine">Ukraine</option>'; 
		sel+='<option value="United Arab Emirates">United Arab Emirates</option>'; 
		sel+='<option value="United Kingdom">United Kingdom</option>'; 
		sel+='<option value="United States">United States</option>'; 
		sel+='<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>'; 
		sel+='<option value="Uruguay">Uruguay</option>'; 
		sel+='<option value="Uzbekistan">Uzbekistan</option>'; 
		sel+='<option value="Vanuatu">Vanuatu</option>'; 
		sel+='<option value="Venezuela">Venezuela</option>'; 
		sel+='<option value="Viet Nam">Viet Nam</option>'; 
		sel+='<option value="Virgin Islands, British">Virgin Islands, British</option>'; 
		sel+='<option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>'; 
		sel+='<option value="Wallis and Futuna">Wallis and Futuna</option>'; 
		sel+='<option value="Western Sahara">Western Sahara</option>'; 
		sel+='<option value="Yemen">Yemen</option>'; 
		sel+='<option value="Zambia">Zambia</option>'; 
		sel+='<option value="Zimbabwe">Zimbabwe</option>';
	sel+='</optgroup>';
//sel+='</select>';
//$sel=$(sel);

return sel;
}
function loadResourceSelect() {
    var optionText = '';
    var $cals = $("#diaryPanel").data('calendars');
    for (var i = 0; i < $cals.length; i++) {
        var cal = $cals[i];
        if ($cals.length > 1) {
            optionText += '<optgroup label=\'' + cal.title + '\'>';
        }
        var $calResource = $("#diaryPanel").data('calendarResources');

        for (var j = 0; j < $calResource.length; j++) {
            if ($calResource[j].calendarId == cal.id)
                optionText += '<option value=\'' + $calResource[j].id + '\'>' + $calResource[j].title + '</option>';
        }
        if ($cals.length > 1) {
            optionText += '</optgroup>';
        }
    }
    return optionText;
}
function createAppointmentDate(map,lSize) {
    var fsp = '';
    map++;
    fsp += createIDiv(map, lSize, 2, 'text', 'Date:', true, false, '', 'dtp', 'label'); fsp += '&nbsp;&nbsp;';
    map++;
    fsp += createIDiv(map, 0, 0, 'text', 'Time', false, true, '', 'tpk', null);
    return fsp;
}
function createAppointmentDuration(map, lSize) {


}
function timespanIsAvailable(start, minutes, anyresource, allresource) {
    var $jsonData = {};
    $jsonData['smartid'] = $('#usercred').data('sid');
    $jsonData['minutes'] = minutes;
    $jsonData['anyresource'] = anyresource.join(';');
    $jsonData['allresource'] = allresource.join(';');

    var uri = "/Services/DefaultService.svc/IsTimeSpanAvailable";

    $.ajax({
        type: "POST",
        url: uri,
        data: JSON.stringify($jsonData),
        
        dataType: "json",
        success: function(msg) {
            return msg;
        }
    });
}
function sdContactListItem(id, fn, mb, full) {

    var li = $('<li id=\'sd-id-' + id + '\' class=\'sd-activity-item\'><a><span>' + fn + '</span></a></li>');
    li.attr('id', id);
    li.attr('fullname', fn);
    li.attr('mobile', mb);
    if (full == true) {
        var a = li.find('a');
        //a.find('span').addClass('sd-activity-timespan');
        a.append('<span class=\'sd-activity-timespan\'>' + mb + '</span>');
    }
    return li;
}
function ServiceDate(date) {
    return date.toDateString() + ' ' + date.toTimeString().substr(0, 5);
}
function JsonToJavaDate(obj) {
    return new Date(parseInt(obj.replace("/Date(", "").replace(")/", ""), 10));
}
function getToeName(t) {
    var r = '';
    switch (t) {
        case 1: r = 'contact'; break;
        case 2: r = 'account'; break;
        case 3: r = 'opportunity'; break;
        case 5: r = 'appointment'; break;
        case 6: r = 'task'; break;
        case 7: r = 'support'; break;
        case 10: r = 'sms'; break;
        case 'contact': r = 1; break;
        case 'account': r = 2; break;
        case 'opportunity': r = 3; break;
        case 'appointment': r = 5; break;
        case 'task': r = 6; break;
        case 'support': r = 7; break;
        case 'sms': r = 10; break;
    }
    return r;
}


function getFlagImg(f) {
    if (f == null)
        return $('');

    return $('<img class=\'sd-flagImage\' src=\'/images/flags/flag' + f + '.png\' />');
}
function getTextSpan(t, f) {
    var $t, $f = getFlagImg(f);

    if (t == null || t == undefined)
        $t = $('');
    else $t = $('<span>' + t + '</span>');

    $t.prepend($f);

    return $t;
}
function removeListEvent(id) {
var $lis = $('body').find('.sd-la-' + id).each(function() {
        $(this).parent('li').remove();
    });
}
function createListEvent(id, fs, gb, toe, txt, ih, rla) {

    if (rla == true)
        removeListEvent(id);

    var $li = $('<li></li>');
    var $a = $('<a class=\'sd-la-' + id + '\' href=\'#\'></a>');
    $li.append($a);
    //$a.append(getFlagImg(fs));
    $a.append(getTextSpan(txt, fs));
    $a.data('id', id);
    $a.data('fs', fs);
    $a.data('gb', gb.replace(/ /g, ''));
    $a.data('toe', toe);
    $a.data('txt', txt);
    addListEventEvents($a);

    var $homeList = $('.sd-homelist-' + toe);
    var $pageList = $('.sd-pagelist-' + toe + '-' + gb.replace(/ /g, ''));
    if ($pageList.length < 1 &&  $('.sd-pagediv-' + toe).hasClass('loaded')) {
        getHeaderList(toe, gb, gb.replace(/ /g, ''));
        $pageList = $('.sd-pagelist-' + toe + '-' + gb.replace(/ /g, ''));
    }

    if (ih == true) {
        if (toe == 5)
            $a.find('span').html(gb + ' ' + txt);
        appendListEvent($homeList, $li, toe, gb + ' ' + txt);
    }
    if ($pageList != undefined) {
        appendListEvent($pageList, $li.clone(true),toe, txt);
    }
}
function appendListEvent($list, $event, toe, txt) {
    if ($list != undefined) {
        var ins = false;
        $list.find('span').each(function() {
            if (ins == false) {
                if (toe != 5) {
                    var st = $(this).html();
                    if (st.toLowerCase() > txt.toLowerCase()) {
                        $(this).parents('li').before($event);
                        ins = true;
                    }
                }
                else {
                    var st = new Date($(this).html().substr(0, 21));
                    var nd = new Date(txt.substr(0, 21));
                    if (st > nd) {
                        $(this).parents('li').before($event);
                        ins = true;
                    }
                }
            }
        });
        if (ins == false) {
            $list.append($event);
        }
    }
}
function addListEventEvents($a) {
    $a.bind('dblclick', function() {
        var id = $(this).data('id');
        var toe = $(this).data('toe');
        var txt = $(this).data('txt');
        openListItem(toe, id, txt);
        return false;
    });
    $a.click(function() {
    $(this).parents('.listPanel').find('li').each(function() {
            if ($(this).hasClass('ui-state-active')) {
                $(this).removeClass('ui-state-active');
            }
        });
        $(this).parent('li').addClass('ui-state-active');
    }); 
}
function getHeaderList(toe, gb, txt) {
    var more = toe != 5 ? 'More...' : '';
    var $lDiv = $('body').find('.sd-pagediv-' + toe);

    var $ul = $lDiv.find('ul.sd-pagelist-' + toe + '-' + txt.replace(/ /g, ''));

    if ($ul.length < 1) {
        var $h = $('<h3 class=\'ui-state-default ui-corner-top pagemast\'></h3>');
        var hExpand = $('<a class=\'head_expand\'>' + txt + '</a>');
        if (toe == 5) {
            hExpand.css({ 'width': '100%', 'float': 'none' });
        }
        $h.append(hExpand);
        hExpand.bind('click', function() {
            $(this).parent().next(".pageList").toggle('blind', 500);
        });
        $more = $('<a class=\'moreContact\'>' + more + '</a>');
        if (toe == 5) {
            $more.bind('click', function() {
                var f = $lDiv.data('finish');
                var dt = new Date($lDiv.data('finish'));
                dt.setDate(dt.getDate() + 7);
                $(this).parent('h3').next().find('ul').prepend('<li class=\'loading\'></li>');
                loadSmartList(toe, dt.toDateString(), undefined);
            });
        }
        else {
            $more.bind('click', function() {
                var pl = $(this).parent().next().find('ul');
                var c = pl.attr('class').split(' ');
                var cl = c[0];
                gb = cl.substr(cl.length - 1);
                loadSmartList(toe, gb, undefined);
            });
        }        
        $ul = $('<ul class=\'sd-pagelist-' + toe + '-' + txt.replace(/ /g, '') + '\'></ul>');
        $listDiv = $('<div class=\'pageList\'></div>');
        $listDiv.append($ul);

        appendHeaderList($lDiv, $h, $listDiv, toe, txt);

        if (toe != 5)
            $h.append($more);
    }
    return $ul;
}
function appendHeaderList($lDiv, $h, $listDiv, toe, gb) {
    if ($lDiv != undefined) {
        var ins = false;
        $lDiv.find('h3').each(function() {
            if (ins == false) {
                if (toe != 5) {
                    var st = $(this).find('a.head_expand').html();
                    if (st.toLowerCase() > gb.toLowerCase()) {
                        $(this).before($h);
                        $h.after($listDiv);
                        $h.corner('top round 8px');
                        ins = true;
                    }
                }
                else {
                    var st = new Date($(this).find('a.head_expand').html());
                    var nd = new Date(gb);
                    if (st > nd) {
                        $(this).before($h);
                        $h.after($listDiv);
                        $h.corner('top round 8px');
                        ins = true;
                    }
                }
            }

        });
        if (ins == false) {
            $lDiv.append($h);
            $h.after($listDiv);
            $h.corner('top round 8px');
        }
    }
}
function getListHeader(t, h) {
    var $h = $('.sd-listHeader-' + t + '-' + h);
    if ($h == undefined) {
        $h = $('<h3 class=\'ui-state-default ui-corner-top pagemast\'></h3>');
        $h.append('<a class=\'head_expand\'>' + h + '</a>');
    }
    return $h;
}
function createFormMap(ent) {
    var fm = [];
    fm['map'] = parseInt(ent.find('map').text());
    fm['lSize'] = parseInt(ent.find('lSize').text());
    fm['iSize'] = parseInt(ent.find('iSize').text());
    fm['iType'] = ent.find('iType').text();
    fm['txt'] = ent.find('txt').text();
    fm['bDiv'] = ent.find('bDiv').text()=='true'?true:false;
    fm['eDiv'] = ent.find('eDiv').text() == 'true' ? true : false;
    fm['lClass'] = ent.find('lClass').text();
    fm['iClass'] = ent.find('iClass').text();
    fm['lType'] = ent.find('lType').text();
    fm['beginFs'] = ent.find('beginFs').text() == 'true' ? true : false;
    fm['beginSp'] = ent.find('beginSp').text() == 'true' ? true : false;
    return fm;
}
