		//var djConfig = {afterOnLoad : true, require:['dojo.io.script']};
		var reviewsTargetDivIdName = "reviewsPopupDiv";
		var reviewsPopUp = true;
		var callbackFunctions = (typeof callbackFunctions === 'undefined') ? new Array() : callbackFunctions;
		var loadedCommon = (typeof loadedCommon === 'undefined') ? false : true;
		var reviewsIconColor;
		var reviewsBackgroundColour;
		var restaurantMenuId;
		
		var Browser = {
		  Version: function() {
		    var version = 999; // we assume a sane browser
		    if (navigator.appVersion.indexOf("MSIE") != -1)
		      // bah, IE again, lets downgrade version number
		      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
		    return version;
		  }
		};
		
		function createPopUpReviews(args) {
			var restaurantId = args.restaurantId;
			restaurantMenuId = restaurantId;
			reviewsHighlightColor = (typeof args.highlightColour !== 'undefined') ? args.highlightColour : "000";
			reviewsBackgroundColour = (typeof args.backgroundColour !== 'undefined') ? args.backgroundColour : "eee";
			reviewsIconColor = (typeof args.iconColour !== 'undefined') ? args.iconColour : "777";
			reviewsPopUp = true;
			
			var copyString = '<a href="http://www.wininganddining.co.za">Wining and Dining</a>';
			var targetDiv = document.getElementById(reviewsTargetDivIdName);
			
			if (Browser.Version() < 7) {
				targetDiv.innerHTML = "";
				return;
			}
			
			targetDiv.innerHTML = "";
			createReviews(restaurantId, reviewsHighlightColor);
//			if(targetDiv.innerHTML.toLowerCase().substring(0,52) == copyString.toLowerCase().substring(0,52)) {
//				targetDiv.innerHTML = "";
//				createReviews(restaurantId, reviewsHighlightColor);
//			}
//			else {
//				targetDiv.innerHTML = 'Incorrect copyright information.';
//			}
		}
		
		
		function createEmbeddedReviews(args) {
			var restaurantId = args.restaurantId;
			restaurantMenuId = restaurantId;
			reviewsHighlightColor = (typeof args.highlightColour !== 'undefined') ? args.highlightColour : "777";
			reviewsBackgroundColour = (typeof args.backgroundColour !== 'undefined') ? args.backgroundColour : "eee";
			var embeddedWidth = (typeof args.width !== 'undefined') ? args.width : "600px";
			var embeddedHeight = (typeof args.height !== 'undefined') ? args.height : "600px";
			
			
			var copyString = '<a href="http://www.wininganddining.co.za">Wining and Dining</a>';
			var targetDiv = document.getElementById(reviewsTargetDivIdName);
			
			if (Browser.Version() < 7) {
				targetDiv.innerHTML = "";
				return;
			}
			
			targetDiv.innerHTML = "";
			targetDiv.style.background = '#' + reviewsBackgroundColour;
			targetDiv.style.width = embeddedWidth;
			targetDiv.style.height = embeddedHeight;
			
			reviewsPopUp = false;
			createReviews(restaurantId, reviewsHighlightColor);
//			if(targetDiv.innerHTML.toLowerCase().substring(0,52) == copyString.toLowerCase().substring(0,52)) {
//				targetDiv.innerHTML = "";
//				targetDiv.style.background = '#' + reviewsBackgroundColour;
//				targetDiv.style.width = embeddedWidth;
//				targetDiv.style.height = embeddedHeight;
//				
//				reviewsPopUp = false;
//				createReviews(restaurantId, reviewsHighlightColor);
//			}
//			else {
//				targetDiv.innerHTML = 'Incorrect copyright information.';
//			}
		}
		
		
		function loadScript(url, callback)
		{
			// adding the script tag to the head as suggested before
		   var head= document.getElementsByTagName('head')[0];
		   var script= document.createElement('script');
		   script.type= 'text/javascript';
		   script.src= url;

		   // then bind the event to the callback function 
		   // there are several events for cross browser compatibility
		   script.onreadystatechange = callback;
		   script.onload = callback;

		   // fire the loading
		   head.appendChild(script);
		}
		
		function createReviewWhenReady(callback) {
			if(typeof loadDojoIfNecessary === 'undefined') {
				//executeCreateReviewWhenNecessary in a seconds time
				//if(typeof console !== 'undefined') console.log('REVIEWS: load dojo not ready...');
				setTimeout("createReviewWhenReady(createDojoReviewsPopup)", 1000);
			}
			else {
				//if(typeof console !== 'undefined') console.log('REVIEWS: calling callback');
				callback.call();
			}
		}
		
		var reviewsHighlightColor = "000";
		function createReviews(restaurantId, color) {
			reviewsHighlightColor = color;
			
			createDojoReviewsPopup.id = restaurantId;
			if(loadedCommon) {
				//if(typeof console !== 'undefined') console.log('REVIEWS: plugin common already loaded');
				
				createReviewWhenReady(createDojoReviewsPopup);
//				loadScript('http://www.wininganddining.co.za/js/common_plugin.js',createDojoReviewsPopup);
			}
			else {
				//if(typeof console !== 'undefined') console.log('REVIEWS: loading plugin common');
				loadScript('http://www.wininganddining.co.za/js/common_plugin.js',function(){});
				createReviewWhenReady(createDojoReviewsPopup);
			}
			
		}
		
		var customReviewsCss = "http://www.wininganddining.co.za/js/reviews_plugin_default.css";
		
		function showReviewsPopup() {
			dojo.parser.parse();
			dojo.byId('reviewDialog').style.display = "block";
			dijit.byId('reviewDialog').show();
		}
		
		function initialiseReviews(reviewContent) {

			
			if(reviewsPopUp) {
				var body= document.getElementsByTagName('body')[0];
				body.innerHTML += "<div id='reviewDialog' dojoType='dijit.Dialog' title='Reviews' draggable='false' style='width:850px;max-height:550px; display: none;'></div>";
			}
			else {
				var targetDiv = dojo.byId('reviewsPopupDiv');
				targetDiv.innerHTML += "<div id='reviewDialog' style='width:100%; height:100%;'></div>";
			}
			
			
			
			
			var target = dojo.byId("reviewDialog");
			
			var reviewContainerDiv = createChildNode(target,'div');
//			reviewContainerDiv.setAttribute("id", "reviewContainer");
			dojo.attr(reviewContainerDiv, 'id', "reviewContainer");
//			reviewContainerDiv.setAttribute("style", "background-color: #" + reviewsBackgroundColour + ";");
			dojo.attr(reviewContainerDiv, 'style', {backgroundColor: "#" + reviewsBackgroundColour});
			if(reviewsPopUp) {
//				reviewContainerDiv.setAttribute("style", "overflow: auto; max-height: 495px; background-color: #" + reviewsBackgroundColour + ";");
				dojo.attr(reviewContainerDiv, 'style', {overflow: 'auto', maxHeight: '495px', backgroundColor: "#" + reviewsBackgroundColour});
			}
			
			//add review summary 'header'
			var numberOfReviews = "There are currently no reviews. Be the first to write a review using the simple form below.";
			if(1 == reviewContent.length)
				numberOfReviews = "1 review";
			else if(reviewContent.length > 1)
				numberOfReviews = reviewContent.length + " reviews";
			
			dojo.html.set(reviewContainerDiv,'<table class="WADreview"><tr><td>'+numberOfReviews+'</td><td align="right"><b><a href="#WADwriteReview" style="color: #'+reviewsHighlightColor+';">Write a review</a></b></td></tr></table>');
			
			
			//cycle through the reviews. adding them all
				//if(typeof console !== 'undefined') console.log("reviewContent: " + reviewContent);
			addAllReviews(reviewContent, reviewContainerDiv);
			
			//add write review form
			//var reviewForm =  document.createElement("form");//
			var reviewForm = createChildNode(reviewContainerDiv, "form");
			reviewForm.setAttribute("id", "WADreviewForm");
			var reviewFormTable = createChildNode(reviewForm, "table", "reviewFormTable");
			var reviewFormTableBody =  createChildNode(reviewFormTable, 'tbody');
			var reviewFormTableHTML = "<tr><td align='center'><b><a id='WADwriteReview' style='color: #"+reviewsHighlightColor+";'>Write a review</a></b></td></tr>";
			reviewFormTableHTML += "<tr><td>Share your dining experience by <b>writing a review</b> here!</td></tr>";
			reviewFormTableHTML += "<tr><td></td></tr>";
			reviewFormTableHTML += "<tr><td id='reviewFormErrors'></td></tr>";
			dojo.place(reviewFormTableHTML, reviewFormTableBody);
			
			var reviewFormRow = createChildNode(createChildNode(createChildNode(createChildNode(createChildNode(reviewFormTableBody, 'tr'), 'td'), 'table', "reviewElementTable"), 'tbody'), 'tr');
			
			//left column
			var leftColumn = createChildNode(createChildNode(createChildNode(reviewFormRow, 'td', 'writeReviewLeft'), 'table', "reviewCommentTable"), 'tbody');
			var leftColumnHTML = '<tr><td align="right"  style="width:75px;">Review Title:</td><td><input name="title" type="text" style="width:100%"/></td></tr>';
			leftColumnHTML += '<tr><td colspan="2"><textarea onfocus="textareaFocus();" onblur="textareaBlur();" name="comments" rows="7" cols="68" style="color: #777; font-family: verdana; font-size: 11px; width:100%">Type your comment here</textarea></td></tr>';
			leftColumnHTML += '<tr><td align="right">Name:</td><td><span style="display: block; float: right;"><input type="checkbox" id="WADanonymous" name="anonymous"/> <label for="WADanonymous">anonymous</label></span><input name="reviewer" type="text" style="width:75%"/></td></tr>';
			leftColumnHTML += '<tr><td align="right">Email:</td><td><input name="email" type="text" style="width:75%"/></td></tr>';
			
			//captcha code
			leftColumnHTML += '<tr><td></td><td><table style=""><tr><td>Enter the confirmation code<br/><input type="text" name="j_captcha_response" value=""/><br/><br/>Can\'t read the code?<br/><a onclick="refreshCAPTCHA();" style="cursor: pointer; color: #'+reviewsHighlightColor+';">Try another one</a>.</td><td><img id="captchaImage" src="http://www.wininganddining.co.za/jcaptcha/captcha" style="margin-left: 4em; border: solid 1px #CCC"/></td><td></td></tr></table></td></tr>'
			dojo.place(leftColumnHTML, leftColumn);
			
			//right column
			var writeReviewRight = createChildNode(reviewFormRow, 'td', 'writeReviewRight');
//			writeReviewRight.setAttribute('valign', 'top');
			dojo.attr(writeReviewRight, 'valign', "top");
			var rightColumn = createChildNode(createChildNode(createChildNode(createChildNode(writeReviewRight, 'table', "scoreTable"), 'tbody'), 'tr'), 'td');
			dojo.attr(rightColumn, 'valign', "top");
			var reviewRankTable = createChildNode(createChildNode(rightColumn, 'table', 'reviewRankTable'), 'tbody');
			var reviewRankTableHTML = '<tr><td colspan="3" align="center"><b>Rank this restaurant</b></td></tr>';
			
			tenOptions = '<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10" selected>10</option>';
			
			reviewRankTableHTML += '<tr><td align="right">food:</td><td align="center"><select name="scoreFood" class="scores">' + tenOptions + '</select></td></tr>';
			reviewRankTableHTML += '<tr><td align="right">service:</td><td align="center"><select name="scoreService" class="scores">' + tenOptions + '</select></td></tr>';
			reviewRankTableHTML += '<tr><td align="right">ambiance:</td><td align="center"><select name="scoreAmbiance" class="scores">' + tenOptions + '</select></td></tr>';
			reviewRankTableHTML += '<tr><td align="right">location:</td><td align="center"><select name="scoreLocation" class="scores">' + tenOptions + '</select></td></tr>';
			reviewRankTableHTML += '<tr><td align="right">value:</td><td align="center"><select name="scoreValue" class="scores">' + tenOptions + '</select></td></tr>';
			reviewRankTableHTML += '<tr><td align="right">recommend:</td><td align="center"><select name="scoreRecommend" class="scores">' + tenOptions + '</select></td></tr>';
			dojo.place(reviewRankTableHTML, reviewRankTable);
			
			var submitButton = createChildNode(rightColumn, "button");
//			submitButton.setAttribute("style", "display: block; float: right; margin: 0; padding: 0; margin-top: 6em; width: 100%;");
			dojo.attr(submitButton, 'style', {display: 'block', float: 'right', margin: '0', padding: '0', marginTop: '15px', width: '100%'});
	        if(typeof dojo.isIE !== 'undefined') {
	        	dojo.attr(submitButton, "onclick", function(evt) {
	        		sendForm(); return false;
	        	});
	        	}
	        else {
	        	submitButton.setAttribute("onclick", "sendForm(); return false;");
	        }
			dojo.html.set(submitButton, "Submit&nbsp;Review");

			
			//dojo.html.set(reviewContainerDiv, reviewContainerDiv.innerHTML + "<form id='WADreviewForm'>" + reviewForm.innerHTML + "</form>");
			//dojo.place(reviewForm, reviewContainerDiv);
			if(!reviewsPopUp) {
				createPoweredBy(reviewsTargetDivIdName);
			}
		}
		
		function addAllReviews(reviews, container) {
			//if(typeof console !== 'undefined') console.log("reviews: " + reviews);
			var containerHTML = container.innerHTML;
			for(reviewNum in reviews) {
				if(typeof reviews[reviewNum].title !== 'undefined') {
				
				//var reviewTable = createChildNode(container, 'table', 'WADreview');
				var reviewTableHTML = '<table class="WADreview">';
				reviewTableHTML +=	'<tr><td class="reviewTitle" colspan="3" style="color: #'+reviewsHighlightColor+';">'+ reviews[reviewNum].title +'</td></tr>';
				reviewTableHTML += '<tr><td colspan="3"><span class="reviewReviewer">'+ reviews[reviewNum].reviewer+'</span>, <span class="reviewDate">'+ reviews[reviewNum].date+'</span></td></tr>';

				var commentRowHTML = '<tr><td><table class="reviewComment"><tr>';
				
				//var commentRow = createChildNode(createChildNode(createChildNode(createChildNode(reviewTable, "tr"), "td"), "table", "reviewComment"), "tr");
				commentRowHTML = '<td valign="top" width="15"><img src="http://www.wininganddining.co.za/images/blockquote_start.png" style="margin-right: 1em;"/></td>';
				commentRowHTML += '<td>'+reviews[reviewNum].comments+'</td>';
				commentRowHTML += '<td valign="bottom" width="15"><img src="http://www.wininganddining.co.za/images/blockquote_end.png" style="position:relative; top: 5px;float: right; margin-left: 1em;"/></td>';
				commentRowHTML += '</tr></table></td></tr>';
				
				reviewTableHTML += commentRowHTML;
				reviewTableHTML += "</table>";
				containerHTML += reviewTableHTML;
				}
			}
			dojo.html.set(container,containerHTML);
		}

		
		function createDojoReviewsPopup() {
			//if(typeof console !== 'undefined') console.log('Supposed to load ' + customReviewsCss);
			loadStyleSheet(customReviewsCss);
			
			getReviewsContent.id = createDojoReviewsPopup.id;
			//callbackFunctions[callbackFunctions.length] = getReviewsContent;
			loadDojoIfNecessary("getReviewsContent()");
			
		}
		
		var globalReviews;		
		var getReviewsContent = function() {
			//if(typeof console !== 'undefined') console.log("REVIEWS: getting content");
			if(reviewsPopUp) {
				createIcon('reviewsPopupDiv', 'WADreviewsPopupIcon', 'Write and view</a> reviews', 'showReviewsPopup();', reviewsIconColor);
			}
			//if(typeof console !== 'undefined') console.log("getting reviews content!");
				//dojo.require("dojo.io.script");
			dojo.require("dojo.io.script");
			dojo.ready(function() {

				// The "xhrGet" method executing an HTTP GET http://www.wininganddining.co.za
				requestUrl = "http://www.wininganddining.co.za/rs/restaurant/reviews/0/100/" + getReviewsContent.id;
				dojo.io.script.get({
					// The URL to request
					url: requestUrl,
					callbackParamName: "callback",
					handleAs: "json",
					content: {
						requestDomain: document.domain
					},
					// The method that handles the request's successful result
					// Handle the response any way you'd like!
					load: function(newContent) {
						//if(typeof console !== 'undefined') console.log("newContent.reviews: " + newContent.reviews);
						initialiseReviews(newContent.reviews);
						globalReviews = newContent.reviews;
						
						//populateReviews(0);
						
					}
				});
			});
		};
	
function refreshCAPTCHA() {
	var captchaChallenge = dojo.byId('captchaImage');
	captchaChallenge.src = 'http://www.wininganddining.co.za/jcaptcha/captcha' + new Date().getTime();
}

var reviewResponse;		
		
//currently send OPTIONS HTTP request, instead of POST
//try dojo.io.iframe.send instead		
function sendForm() {
	//if(typeof console !== 'undefined') console.log("Do validation...");
	if(formValidation("WADreviewForm")) {
		var formToObj = dojo.formToObject("WADreviewForm");
		if(typeof console !== 'undefined') console.log("formToObj: " + formToObj);
		
		dojo.io.script.get({
			// The URL of the request
			url: "http://www.wininganddining.co.za/rs/restaurant/reviews/writeReview/"+restaurantMenuId,
			// No content property -- just send the entire form
			content: formToObj,
			handleAs: 'json',
			callbackParamName: "callback",

			// The success handler
			load: function(response) {
				var form = dojo.byId('WADreviewForm');
				reviewResponse = response;
				if(typeof console !== 'undefined') console.log('response: ' + response.captchaSuccess);
				if(typeof console !== 'undefined') console.log('response: ' + response.success);
				if(response.success && response.captchaSuccess) {
					dojo.html.set(form, '<p class="WADreview" style="background-color: white; padding: 5px; text-align: center; font-weight: bold;">Thank you for submitting your review</p>');
				}
				else if(!response.captchaSuccess) {
					refreshCAPTCHA();
					var field = dojo.byId('WADreviewForm').elements['j_captcha_response'];
					field.value = '';
					field.focus();
					addError(field, 'The confirmation code you entered was incorrect. Please type in the new confirmation code below.');
				}
				else//general error
				{
					var formErrors = dojo.byId('reviewFormErrors');
					dojo.html.set(formErrors, '<p class="reviewFormError">' + 'An error occured while attempting to add your review. Please try resubmitting your review.' + '</p>');
				}
			}
		});
		
	}
}

var commentDefaultString = 'Type your comment here';
function textareaFocus() {
	var comment = dojo.byId('WADreviewForm').elements['comments'];
	if(comment.value.length == 0 || comment.value==commentDefaultString)
	{
	comment.value="";
	comment.style.color="black";
	}
	return true; 
}

function textareaBlur() {
	var comment = dojo.byId('WADreviewForm').elements['comments'];
	if(comment.value.length == 0 || comment.value==commentDefaultString)
	{
	comment.value=commentDefaultString;
	comment.style.color="#888";
	}
	return true; 
}

function clearErrors() {
	var formErrors = dojo.byId('reviewFormErrors');
	dojo.html.set(formErrors, '');
	var formElements = dojo.byId('WADreviewForm').elements;
	//for(var i in dojo.byId('WADreviewForm').elements) {
	//	if(typeof console !== 'undefined') console.log('formEl: ' + i)
		//formElements[i].style.background = '#fff';
	//}
}

function formValidation(formName) {
	var form = document.getElementById(formName);

	clearErrors();
	var errors = false;
	if (form.elements['title']) {
		field = form.elements['title'];
		var error = "Please enter a title with your review.";
		field.style.background = '#fff';
		if (field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g,"").length == 0)) {
			addError(field, error);
			errors = true;
		}
	}

	if (form.elements['comment']) {
		field = form.elements['comment'];
		field.style.background = '#fff';
		var error = "Please provide a comment.";
		if (field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g,"").length == 0)) {
			addError(field, error);
			errors = true;
		}
	}

	if (form.elements['reviewer']) {
		field = form.elements['reviewer'];
		field.style.background = '#fff';
		var error = "Please provide your name or nickname.";
		if (field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g,"").length == 0)) {
			addError(field, error);
			errors = true;
		}
	}
	
	if (form.elements['email']) {
		field = form.elements['email'];
		field.style.background = '#fff';
		var error = "A valid email address must be entered below";
		var allowEmail = document.getElementById('allowEmail');
		var emailProblem = false;
		
		if(!validEmailAddress(field))
		{
			emailProblem = true;
		}
		
		if (emailProblem || (field.value != null && field.value.length > 0 && field.value.match(/\b(^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/gi)==null)) {
			addError(field, error);
			errors = true;

		}
	}
	
	if (form.elements['j_captcha_response']) {
		field = form.elements['j_captcha_response'];
		field.style.background = '#fff';
		var error = "Please fill in the confirmation code as seen in the image below.";
		if (field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g,"").length == 0)) {
			addError(field, error);
			errors = true;
		}
	}
	

	if(errors)
		field.focus();
	return !errors;
}

function validEmailAddress(field)
{
	var length = ((field.value != null && (field.value == "" || field.value.replace(/^\s+|\s+$/g,"").length == 0)));
	var valid = field.value != null && field.value.length > 0 && field.value.match(/\b(^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/gi)==null;
	if( valid || length)
	{
		return false;
	}
	else
	{return true;}
}
		
function addError(e, errorText) {
    var formErrors = dojo.byId('reviewFormErrors');
	formErrors.innerHTML += '<p class="reviewFormError">' + errorText + '</p>';
	e.style.background = '#fee';
}
		
		function loadScript(url, callback)
		{
			// adding the script tag to the head as suggested before
		   var head= document.getElementsByTagName('head')[0];
		   var script= document.createElement('script');
		   script.type= 'text/javascript';
		   script.src= url;

		   // then bind the event to the callback function 
		   // there are several events for cross browser compatibility
		   script.onreadystatechange = callback;
		   script.onload = callback;

		   // fire the loading
		   head.appendChild(script);
		}

		/*
		function loadDojo(callback)
		{

			// adding the script tag to the head as suggested before
		   var head= document.getElementsByTagName('head')[0];
		   var script= document.createElement('script');
		   
		   script.type= 'text/javascript';
		   //script.djConfig="afterOnLoad : true, require:['dojo.io.script']";
		   script.src= "http://o.aolcdn.com/dojo/1.6/dojo/dojo.xd.js";

		   // then bind the event to the callback function 
		   // there are several events for cross browser compatibility
		   
		   script.onreadystatechange = callback;
		   script.onload = callback;

		   // fire the loading
		   head.appendChild(script);
		}
		*/
		
		function loadStyleSheet(url)
		{

			// adding the script tag to the head as suggested before
		   var head= document.getElementsByTagName('head')[0];
		   var style= document.createElement('link');
		   
		   style.setAttribute("rel", "stylesheet");
		   style.setAttribute("type", "text/css");
		   style.setAttribute("href", url);

		   // fire the loading
		   head.appendChild(style);  
		}
		
		function addClassToBody() {
			var body = document.getElementsByTagName('body')[0];
			var originalClass = "";
			if(body.getAttribute("class")) {
				originalClass = body.getAttribute("class");
			}
			var dojoClassName = "tundra";
			if(originalClass.length > 0) {
				body.setAttribute("class",originalClass + " " + dojoClassName);
				body.setAttribute("className",originalClass + " " + dojoClassName);
			}
			else {
				body.setAttribute("class",dojoClassName);
				body.setAttribute("className",dojoClassName);
			}
		}

		function getDocumentBasePath() {
			documentBasePath = document.location.href;
			if (documentBasePath.indexOf('?') != -1)
				documentBasePath = documentBasePath.substring(0, documentBasePath.indexOf('?'));
			if (documentBasePath.indexOf('index.php') == -1){
				baseURL = documentBasePath+"/index.php";
			} 
			else {
				if (documentBasePath.lastIndexOf('index.php/') == -1) {
					baseURL = documentBasePath;
				} 
				else {
					documentBasePath = documentBasePath.substring(0, documentBasePath.lastIndexOf('/'));
					baseURL = documentBasePath;
				}
			}
		}




