function initAPIs() {
	initGMap();
	setTimeout('searchParam();searchAPIs();', 2000);
}

function searchParam() {
	var searchstr = getParam('s');
	if (searchstr.length > 0) {
		setKeyword(searchstr.replace(/%20/g, ' '));
	}
}

function searchAPIs() {
	if (checkBanWord()) {
	  searchGMap();
	  searchFlickr();
	  searchYouTube();
	  searchTravel();
	  searchVS();
	}
}

function getKeyword() {
	return document.forms[0].q.value;
}

function setKeyword(keyword) {
  document.forms[0].q.value = keyword;
}

function dynjsfile(source) {
  var head = document.getElementsByTagName("head")[0];
  var newScript = document.createElement('script');
  newScript.setAttribute('type', 'text/javascript');
  newScript.setAttribute('src', source);
  head.appendChild(newScript);
  return newScript;
}

function removeChildrenFromNode(node) {
    var len = node.childNodes.length;
	while (node.hasChildNodes()) {
	  node.removeChild(node.firstChild);
	}
}

function min(a, b) {
    return (a < b) ? a : b;
}

function returnMatch(stack, needle, index) {
  var re = new RegExp(needle);
  var m = re.exec(stack);
  if (m != null) {
	return m[index];
  }
}

function replaceMatch(stack, needle, replacement) {
  var re = new RegExp(needle);
  return stack.replace(re, replacement);
}

function getParam(key) {
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+key+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if (results == null)
    return "";
  else
    return results[1];
}

function IsNumeric(sText) {
  var ValidChars = "0123456789";
  var IsNumber = true;
  var Char;
  for (i = 0; i < sText.length && IsNumber == true; i++) { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  return IsNumber;
}

function checkBanWord() {
  var keyword = escape(getKeyword());
  if (keyword != '') {
  	keyword = keyword.replace(/%20/g, ' ');
  }
  for (var i=0; i<banwords.length; i++) {
    if (keyword.match(banwords[i])) {
	  alert('No results found, please try again.');
      return false;
    }
  }
  return true;
}

function searchVS() {
	var keyword = getKeyword().replace(/%20/g, '+');
	keyword = getKeyword().replace(' ', '+');
  if (keyword == '') {
  	keyword = 'Singapore';
  }
	frames['vsresult'].location.href = "http://www.visitsingapore.com/publish/stbportal/en/home/apps/vsresult.html?site_check_one=1&and_word="+keyword+"&language=1-1";
}

