MarkerFields = {
	// Coolpink: allow default value for the directions "from" field
	'DefaultFrom' : null,
    'location' : {
        'customInsert' : function( record, id ) {
            var html;
			var title = 'Opening Times';
			
			// EASTER 2011 - 2011-04-22 00:00:00
            var e2011Start = new Date();
            e2011Start.setFullYear(2011, 3, 22);
            e2011Start.setHours(0);
            e2011Start.setMinutes(0);
            e2011Start.setSeconds(0);

            // EASTER 2011 - 2011-04-24 23:59:59
            var e2011End = new Date();
            e2011End.setFullYear(2011, 3, 24);
            e2011End.setHours(23);
            e2011End.setMinutes(59);
            e2011End.setSeconds(59);
			
			if (gDate >= e2011Start && gDate <= e2011End) {
				switch(record['region'].toLowerCase()) {
					case 'scotland':
						title = 'Open Easter Sunday';
						break;
						
					default:
						if (arguments[0]["storename"] === "WETHERBY DINING CENTRE" || arguments[0]["storename"]=== "BRADFORD DINING CENTRE" || arguments[0]["storename"]=== "DARLEY DALE DINING CENTRE" || arguments[0]["storename"]=== "HULL DINING ROOM CENTRE" || arguments[0]["storename"]=== "CARCROFT DINING CENTRE") {
							title = 'Opening Times';
						} else {
							title = 'Order Direct Open Easter Sunday';
						}
						break;
				}
			}
			
			
			var store_name = record['storename'].toLowerCase();
			
			switch(store_name) {
				case 'darley dale dining centre':
					store_name = 'darley dale (matlock)'
					break;
				case 'hanley':
					store_name = 'hanley (stoke)';
			}
			
            html = '<div class="MMinfoboxaddress">';
            html += '<div><span class="MMrecordName">' + store_name + '</span><br />';
            html += '<span class="MMdaySpan MMdaySpanTitle"' + (title=='Opening Times'?'':' style="color:#f00;"') + '>' + title + '</span><br /><br />';

            //html += record['street'] + '<br />';
            //if (record['address2'] != '') html += record['address2'] + '<br />';
            //if (record['address3'] != '') html += record['address3'] + '<br />';
            //if (record['town'] != '') html += record['town'] + '<br />';
            //if (record['pc'] != '') html += record['pc'] + '<br />';



		// default opening times
		recorddays = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
		mydays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
		
		// Bank Holiday Monday End - 2011-06-01 00:00:00
		var bhm20110531 = new Date();
		bhm20110531.setFullYear(2011, 5, 1);
		bhm20110531.setHours(23);
		bhm20110531.setMinutes(59);
		bhm20110531.setSeconds(59);
	
		if (gDate <= bhm20110531) {
			mydays[0] = 'Bank Holiday Monday';
		}


            for ( var i = 0, j = mydays.length; i < j; i++ ) {
            	// check and insert order direct before easter monday
                html += '<span class="MMdaysRoot MMdays' + recorddays[i] + '">';
                html += '<span class="MMdaySpan">' + mydays[i] + ':&nbsp;</span>';
                html += '<span class="MMdayHoursSpan">' + record[recorddays[i]] + '</span>';
                html += '</span><br />';
            }

            html += '<br /><br />';
            html += '<div class="links">';
            html += '<strong style="color:#006;">Get directions</strong>';
            html += '<form class="directions" action="" method="post" id="directionsForm-' + id + '" onsubmit="GetDirectionsFromInfoBox( this, ' + ( id - 1 ) + ' ); return false;">';
            html += '<label for="infoboxDir' + id + '">';
            html += 'From';
            html += '<input class="text" type="text" value="' + MarkerFields.DefaultFrom + '" id="infoboxDir' + id + '" />';
            html += '</label>';
            html += '<input type="image" src="framework/images/multimap/go-button.gif" class="map-submit" />';
            html += '</form>';
            html += '<a href="#" onclick="ZoomToLocation( ' + ( id - 1 ) + ' ); return false;" class="go-to-location">Zoom to this location</a>';
            // 2009-11-30 00:00:00
            var brStart = new Date();
            brStart.setFullYear(2009, 10, 30);
            brStart.setHours(0);
            brStart.setMinutes(0);
            brStart.setSeconds(0);

            // 2009-12-12 23:59:59
            var brEnd = new Date();
            brEnd.setFullYear(2010, 02, 14);
            brEnd.setHours(23);
            brEnd.setMinutes(59);
            brEnd.setSeconds(59);
            //alert(gDate + " >= " + brStart + " && " + gDate + " <= " +brEnd);
            if (gDate >= brStart) {
            	// special bradford logic
		        if (record['pc'] == "BD10 8TH") {
		        	//html += '<span class="store-open">Our new address</span>';
		        }
		        if (arguments[0]["storename"] === "WETHERBY DINING CENTRE" || arguments[0]["storename"]=== "DARLEY DALE DINING CENTRE" || arguments[0]["storename"]=== "HULL DINING ROOM CENTRE" || arguments[0]["storename"]=== "CARCROFT DINING CENTRE") {
					html += '<span class="dining-store">Dining Centre</span>';
				}
		         //2009-12-05 00:00:00
            	var brOpen = new Date();
            	brOpen.setFullYear(2009, 11, 5);
            	brOpen.setHours(0);
            	brOpen.setMinutes(0);
            	brOpen.setSeconds(0);
            	if (gDate >= brOpen) {
            		if (record['pc'] == "BD1 4AG") {
				    	//html += '<span class="dining-store">Dining Centre</span>';
				    }
            	} else {
				   if (record['pc'] == "BD1 4AG") {
				    	html += '<span class="store-opening">Our new address</span>';
				    }
				}

				// Special Inverness logic 2010-02-15 00:00:00 -> 2010-02-20 00:00:00
				var invEnd = new Date();
				invEnd.setFullYear(2010, 12, 31);
				invEnd.setHours(23);
				invEnd.setMinutes(59);
				invEnd.setSeconds(59);
				if (gDate <= invEnd) {
					// Special Inverness logic 2010-02-15 00:00:00 -> 2010-02-20 00:00:00
					var ivStart = new Date();
					ivStart.setFullYear(2010, 01, 15);
					ivStart.setHours(0);
					ivStart.setMinutes(0);
					ivStart.setSeconds(0);
					var ivOpen = new Date();
					ivOpen.setFullYear(2010, 01, 20);
					ivOpen.setHours(0);
					ivOpen.setMinutes(0);
					ivOpen.setSeconds(0);
					var ivNew = new Date();
					ivOpen.setFullYear(2010, 03, 29);
					ivOpen.setHours(0);
					ivOpen.setMinutes(0);
					ivOpen.setSeconds(0);
				}
		    }

			if (arguments[0]["pc"] == "IV2 3TR") {
				html += '<span class="newstore-inverness">New Store</span>';
			}

            html += '</div>';
            html += '</div>';
            return html;
        }
    },
    'Photo' : {
        'customInsert' : function() {
            var record = arguments[0];
            if ( record.photo && record.photo != 'no' ) {
                return '<img class="MMinfoboxphoto" src="' + record.photo + '" />';
            }
        }
    },
    'opening times' : {
        'customInsert' : function() {
            var record = arguments[0], recorddays, mydays, html = '';
            recorddays = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
            mydays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
            html = '<span class="MMdaySpan MMdaySpanTitle">Opening Times</span><br /><br />';
            for ( var i = 0, j = mydays.length; i < j; i++ ) {
                html += '<span class="MMdaysRoot MMdays' + recorddays[i] + '">';
                html += '<span class="MMdaySpan">' + mydays[i] + ':&nbsp;</span>';
                html += '<span class="MMdayHoursSpan">' + record[recorddays[i]] + '</span>';
                html += '</span><br />';
            }
            	html += '';
            return '';
        }
    }
}

HtmlFields = {
    'name' : { 'element' : 'div', 'fieldname' : 'storename' },
    'street' : { 'element' : 'span', 'fieldname' : 'street' },
	'address2' : { 'element' : 'span', 'fieldname' : 'address2' },
    'town' : { 'element' : 'span', 'fieldname' : 'street3' },
    'postcode' : { 'element' : 'span', 'fieldname' : 'pc' },
    'customInsert' : function() {
        return '<div class="MMresultid"><span class="MMresultidspan">' + arguments[1] + '</span></div>';
    },
    'customInsertPost' : function() {
		// 2010-12-23 12:00:00
        var xmasStart = new Date();
        xmasStart.setFullYear(2010, 11, 23);
        xmasStart.setHours(12);
        xmasStart.setMinutes(0);
        xmasStart.setSeconds(0);
		// 2011-01-04 00:00:00
        var xmasEnd = new Date();
        xmasEnd.setFullYear(2011, 0, 4);
        xmasEnd.setHours(0);
        xmasEnd.setMinutes(0);
        xmasEnd.setSeconds(0);

		if (gDate >= xmasStart && gDate < xmasEnd) {
			var custom_html = '<span class="MMresultstel"><strong>Phone:</strong> ' + arguments[0]["tel"].toLowerCase() + '</span>' +
			'<span class="MMresultsopening"><strong>Christmas Opening Times</strong></span>';
		} else {
			var custom_html = '<span class="MMresultstel"><strong>Phone:</strong> ' + arguments[0]["tel"].toLowerCase() + '</span>' +
			'<span class="MMresultsopening"><strong>Opening Times</strong></span>';
		}

		// 2009-11-30 00:00:00
        var brStart = new Date();
        brStart.setFullYear(2009, 10, 30);
        brStart.setHours(0);
        brStart.setMinutes(0);
        brStart.setSeconds(0);

        // 2009-12-12 23:59:59
        var brEnd = new Date();
        brEnd.setFullYear(2010, 02, 14);
        brEnd.setHours(23);
        brEnd.setMinutes(59);
        brEnd.setSeconds(59);
        if (gDate >= brStart) {
        	// special bradford logic
			if (arguments[0]["pc"] == "BD10 8TH") {
				//custom_html += '<span class="MMstoreopen">Dining Centre</span>';
			}
			//alert(arguments[0]["storename"]);
			if (arguments[0]["storename"] === "WETHERBY DINING CENTRE" || arguments[0]["storename"]=== "BRADFORD DINING CENTRE" || arguments[0]["storename"]=== "DARLEY DALE DINING CENTRE" || arguments[0]["storename"]=== "HULL DINING ROOM CENTRE" || arguments[0]["storename"]=== "CARCROFT DINING CENTRE") {
				custom_html += '<span class="MMdiningstore">Dining Centre</span>';
			}
			// 2009-12-05 00:00:00
        	var brOpen = new Date();
        	brOpen.setFullYear(2009, 11, 5);
        	brOpen.setHours(0);
        	brOpen.setMinutes(0);
        	brOpen.setSeconds(0);
        	if (gDate >= brOpen) {
        		if (arguments[0]["pc"] == "BD1 4AG") {
					//custom_html += '<span class="MMdiningstore">Store Now open</span>';
				}
        	} else {
				if (arguments[0]["pc"] == "BD1 4AG") {
					custom_html += '<span class="MMnewstore">Store Opening soon</span>';
				}
			}

		}

		if (arguments[0]["pc"] == "IV2 3TR") { // specific for Inverness
			custom_html += '<span class="MMnewstore_Inverness">New Store</span>';
		}

		return custom_html;
    },
    'customOnclick' : function( id ) {
        var record, marker;
        record = Callbacks.records[id];
        marker = Callbacks.markers[id];
        marker.openInfoBox();
        UpdateRouting( id );
    },
    'addOnClick' : true
}

RoutingFields = {
    'customInsert' : function( step, id ) {
        var road, instruction, element, marker;
        if ( step.road_name && step.road_number ) {
            road = ' ' + step.road_name + ' ( ' + step.road_number + ' ) ';
        } else if ( step.road_name ) {
            road = ' ' + step.road_name + ' ';
        } else if ( step.road_number ) {
            road = ' ' + step.road_number + ' ';
        }
        element = '<span><strong>' + id + '.&nbsp;</strong>' + step.instruction;
        if ( road ) {
            element += road + 'for <strong>' + step.distance.miles + '</strong> miles</span>';
        } else {
            element += '</span>';
        }
        var icon = MM_DEFAULT_ICON.copy();
        icon.cssClass = 'MMMarker MMRouteMarker';
        marker = Page.map.createMarker( step.start_point, { text: id, icon: icon } );
        marker.setInfoBoxContent( element );
        routeMarkers.push( marker );
        return element;
    },
    'addOnClick' : true,
    'customOnclick' : function( id ) {
        window.routeMarkers[id].openInfoBox();
    }
}

UpdateRouting = function( id ) {
    var name, todirections = document.getElementById( 'directions_to' ), point;
    point = Callbacks.records[id].point;
    name = Callbacks.records[id].storename.toLowerCase();
    todirections.value = name;
    todirections.point = point;
}

GetDirectionsFromInfoBox = function( o, id ) {
    var form = o;
	var directions_from = document.getElementById( 'directions_from' );
	directions_from.value = o.getElementsByTagName( 'input' )[0].value;
	directions_from.form.onsubmit();
	return false;
}

ZoomToLocation = function( id, zoomRange ) {
	if(typeof zoomRange == "undefined"){
		zoomRange = 17
	}

	if (viewing_roi && viewing_belfast) {
		Page.map.goToPosition( new MMLatLon(53.47755,-6.76348), zoomRange );
	} else {
    	Page.map.goToPosition( new MMLocation( Callbacks.records[id].point, zoomRange ) );
    }
}

ZoomToStoreLocation = function(Page, long, lat, zoomRange ) {
	console.log(Page.map);
  if(typeof zoomRange == "undefined"){
		zoomRange = 17
	}


}

CreateMobileIframe = function( id ) {
    var iframe, link, div = document.createElement( 'div' );
    link = 'http://clients.multimap.com/clients/content.cgi?client=o2_sf4m&page=mm2m_submit&url=';
    link += escape( 'http://clients.multimap.com/clients/browse.cgi?client=o2_sf4m&f_id=' + id );
    iframe = '<iframe src="' + link + '" class="MMmobileIframe" frameborder="0" width="100%" height="100%"></iframe>';
    div.innerHTML = iframe;
    return DisamHandler.populateDisam( div );
}

