NO_OF_NIGHTS = parseInt(90);
NO_OF_ROOMS = parseInt(4);

ROOMSINGLE_ID = parseInt(1);
ROOMDOUBLE_ID = parseInt(2);
ROOMTWIN_ID = parseInt(3);
ROOMTRIPLE_ID = parseInt(4);
ROOMQUAD_ID = parseInt(5);

ROOMSINGLECHILD_ID = parseInt(10);
ROOMTWINCHILD_ID = parseInt(11);
ROOMDOUBLECHILD_ID = parseInt(12);
ROOMFAMILY1CHILD_ID = parseInt(13);
ROOMFAMILY2CHILDREN_ID = parseInt(14);

hp_error_found = false;
function hp_submit()
{
	var error_found = false;
	// check fields
	if (!document.getElementById('hpdestination').value)
	{
		error_found = true;
		document.getElementById('hpdestination').className = 'field_error';
	}
	else
	{
		document.getElementById('hpdestination').className = '';
	}
	if (!isValidDate(document.getElementById('hpcheckin').value, T_VALID_DATEFORMAT))
	{
		error_found = true;
		document.getElementById('hpcheckin').className = 'field_error';
	}
	else
	{
		document.getElementById('hpcheckin').className = '';
	}
	if (!parseInt(document.getElementById('hpnights').value))
	{
		error_found = true;
		document.getElementById('hpnights').className = 'field_error';
	}
	else
	{
		document.getElementById('hpnights').className = '';
	}
	if (error_found)
	{
		showDiv('hprow0');
		hp_error_found = true;
	}
	else
	{
		link = 'http://www.hotelpronto.com/Customer/Availability/HotelSearchResults.aspx?AffiliateId=' + document.getElementById('hpaffiliateid').value;
		//link = 'http://85.232.37.14/Customer/Availability/HotelSearchResults.aspx?AffiliateId=' + document.getElementById('hpaffiliateid').value;
		link += '&lang=' + document.getElementById('hplang').value;
		link += '&RegionName=' + encodeURI(document.getElementById('hpdestination').value);
		link += '&ArrivalDay=' + checkin_d;
		link += '&ArrivalMonthYear=' + checkin_y + ((checkin_m < 10) ? '0' + checkin_m : checkin_m);
		link += '&Nights=' + document.getElementById('hpnights').value;
		link += '&Rooms=' + document.getElementById('hproomsno').value;
		for (i = 1; i <= NO_OF_ROOMS; i ++)
		{
			if (parseInt(document.getElementById('hpadults' + i).value))
			{
				link += '&Adults' + ((i > 1) ? i : '') + '=' + document.getElementById('hpadults' + i).value;
			}
			if (parseInt(document.getElementById('hpchildren' + i).value))
			{
				link += '&Children' + ((i > 1) ? i : '') + '=' + document.getElementById('hpchildren' + i).value;
			}
			if (parseInt(document.getElementById('hpages' + i + '1').value))
			{
				link += '&Child1Age' + ((i > 1) ? i : '') + '=' + document.getElementById('hpages' + i + '1').value;
			}
			if (parseInt(document.getElementById('hpages' + i + '2').value))
			{
				link += '&Child2Age' + ((i > 1) ? i : '') + '=' + document.getElementById('hpages' + i + '2').value;
			}
			if (parseInt(document.getElementById('hproomtype' + i).value))
			{
				link += '&Roomtype' + ((i > 1) ? i : '') + '=' + document.getElementById('hproomtype' + i).value;
			}
		}
		/*if (document.getElementById('hphotelname').value.length > 0)
		{
			//link += '&HotelName=' + encodeURI(document.getElementById('hphotelname').value);
		}
		if (document.getElementById('hpbudgetlow').checked)
		{
			link += '&MinRating=0&MaxRating=25';
		}
		if (document.getElementById('hpbudgetmid').checked)
		{
			link += '&MinRating=25&MaxRating=45';
		}
		if (document.getElementById('hpbudgetlux').checked)
		{
			link += '&MinRating=35';
		}
		*/
		window.open(link, 'new_window');
		//document.location = link;
	}
	return false;
}

function hp_init()
{
	var obj = actb(document.getElementById('hpdestination'),labels);

  var nonCriticalElements         = new Array ('hplang','hptitle','hprow0','hpdestination_label','hpcheckin_label','hpnights_label','hpcheckout_label','hproomsno_label','hpadults_label','hpchildren_label','hpcheckin','hpages_label','hproomtype_label','hpbudget_label','hpbudgetall_label','hpbudgetlow_label','hpbudgetmid_label','hpbudgetlux_label','hphotelname_label','hpcancel','hpsearchbutton','hpmore','hpsearchbyhotelname');
  var nonCriticalElementsContent  = new Array (HP_LANG,T_TITLE,T_ERROR,T_DESTINATION,T_CHECKIN,T_NIGHTS,T_CHECKOUT,T_ROOMS,T_ADULTS,T_CHILDREN,T_DATEFORMAT,T_AGES,T_ROOMTYPE,T_BUDGET,T_BUDGET_ALL,T_BUDGET_LOW_COST,T_BUDGET_MID_RANGE,T_BUDGET_LUXURY,T_HOTELNAME,T_CANCEL,T_SEARCHBUTTON,T_MORE,T_SEARCHBYHOTELNAME);
  
  for(var i=0; i<nonCriticalElements.length; i++) {
    var myEl = document.getElementById(nonCriticalElements[i]);
    if(myEl != null && typeof myEl != 'undefined' ) {
      if(typeof myEl.value == 'undefined') {
        myEl.innerHTML = Utf8.decode(nonCriticalElementsContent[i]);
      } else {
        myEl.value = Utf8.decode(nonCriticalElementsContent[i]);
      }
    }
  }
  
	for (i = 1; i <= NO_OF_ROOMS; i ++)
	{
		document.getElementById('hproom' + i + 'name').innerHTML=T_ROOM + ' ' + i;
		for (j = 1; j <= 2; j ++)
		{
			for (k = 1; k <= 18; k ++)
			{
				document.getElementById('hpages' + i + j).options[k] = new Option(k, k);
			}
		}
		for (j = 1; j <= 4; j ++)
		{
			document.getElementById('hpadults' + i).options[j] = new Option(j, j);
		}
		for (j = 1; j <= 2; j ++)
		{
			document.getElementById('hpchildren' + i).options[j] = new Option(j, j);
		}
	}
	for (i = 1; i <= NO_OF_NIGHTS; i ++)
	{
		document.getElementById('hpnights').options[i] = new Option(i, i);
	}
}

__attachEvent(window, 'load', hp_init)

function hp_update_visible_rooms(rooms_count)
{
	rooms_count = parseInt(rooms_count);
	for (i = 1; i <= rooms_count; i ++)
	{
		showDiv('hproom' + i + '_holder');
	}
	for (j = rooms_count + 1; j <= NO_OF_ROOMS; j ++)
	{
		hideDiv('hproom' + j + '_holder');
	}
}

function hp_update_room(room_no)
{
	room_no = parseInt(room_no);
	var adults_count = parseInt(document.getElementById('hpadults' + room_no).value);
	if (adults_count >= 4) // hide children combo, set to 0
	{
		showDiv('hpchildren' + room_no + '_placeholder');
		hideDiv('hpchildren' + room_no);
	}
	else // show children combo
	{
		showDiv('hpchildren' + room_no);
		hideDiv('hpchildren' + room_no + '_placeholder');
	}
	if (adults_count == 4 && document.getElementById('hpchildren' + room_no).options.length != 1)
	{
		document.getElementById('hpchildren' + room_no).options.length = 1;
		document.getElementById('hpchildren' + room_no).selectedIndex = 0;
	}
	else if (adults_count == 3 && document.getElementById('hpchildren' + room_no).options.length != 2)
	{
		document.getElementById('hpchildren' + room_no).options.length = 1;
		document.getElementById('hpchildren' + room_no).options[1] = new Option('1', '1');
		document.getElementById('hpchildren' + room_no).selectedIndex = 0;
	}
	else if (adults_count <= 2 && document.getElementById('hpchildren' + room_no).options.length != 3)
	{
		document.getElementById('hpchildren' + room_no).options.length = 1;
		document.getElementById('hpchildren' + room_no).options[1] = new Option('1', '1');
		document.getElementById('hpchildren' + room_no).options[2] = new Option('2', '2');
		document.getElementById('hpchildren' + room_no).selectedIndex = 0;
	}
	var children_count = parseInt(document.getElementById('hpchildren' + room_no).value);
	var people_count = adults_count + children_count;
	switch (children_count)
	{
		case 0:
		{
			hideDiv('hpages' + room_no + 1 + '_holder');
			hideDiv('hpages' + room_no + 2 + '_holder');
			showDiv('hpages' + room_no + '_placeholder');
			break;
		}
		case 1:
		{
			showDiv('hpages' + room_no + 1 + '_holder');
			hideDiv('hpages' + room_no + 2 + '_holder');
			hideDiv('hpages' + room_no + '_placeholder');
			break;
		}
		case 2:
		{
			showDiv('hpages' + room_no + 1 + '_holder');
			showDiv('hpages' + room_no + 2 + '_holder');
			hideDiv('hpages' + room_no + '_placeholder');
			break;
		}
	}
	if (adults_count > 0 && people_count <= 4)
	{
		showDiv('hproomtype' + room_no + '_holder');
		if (people_count == 1)
		{
			hp_update_roomtype_label(room_no, ROOMSINGLE_ID, T_ROOMSINGLE);
		}
		else if (people_count == 2 && adults_count == 2)
		{
			hideDiv('hproomtype' + room_no + '_name');
			showDiv('hproomtype' + room_no + '_select_holder');
			document.getElementById('hproomtype' + room_no + '_name').innerHTML = '';
			document.getElementById('hproomtype' + room_no).options.length = 1;
			document.getElementById('hproomtype' + room_no).options[1] = new Option(T_ROOMDOUBLE, ROOMDOUBLE_ID);
			document.getElementById('hproomtype' + room_no).options[2] = new Option(T_ROOMTWIN, ROOMTWIN_ID);
			document.getElementById('hproomtype' + room_no).selectedIndex = 0;
		}
		else if (people_count == 2 && adults_count == 1 && children_count == 1)
		{
			hideDiv('hproomtype' + room_no + '_name');
			showDiv('hproomtype' + room_no + '_select_holder');
			document.getElementById('hproomtype' + room_no + '_name').innerHTML = '';
			document.getElementById('hproomtype' + room_no).options.length = 1;
			document.getElementById('hproomtype' + room_no).options[1] = new Option(T_ROOMDOUBLE, ROOMDOUBLE_ID);
			document.getElementById('hproomtype' + room_no).options[2] = new Option(T_ROOMTWIN, ROOMTWIN_ID);
			document.getElementById('hproomtype' + room_no).options[3] = new Option(T_ROOMSINGLECHILD, ROOMSINGLECHILD_ID);
			document.getElementById('hproomtype' + room_no).selectedIndex = 0;
		}
		else if (people_count == 3 && adults_count == 3)
		{
			hp_update_roomtype_label(room_no, ROOMTRIPLE_ID, T_ROOMTRIPLE);
		}
		else if (people_count == 3 && adults_count == 2 && children_count == 1)
		{
			hideDiv('hproomtype' + room_no + '_name');
			showDiv('hproomtype' + room_no + '_select_holder');
			document.getElementById('hproomtype' + room_no + '_name').innerHTML = '';
			document.getElementById('hproomtype' + room_no).options.length = 1;
			document.getElementById('hproomtype' + room_no).options[1] = new Option(T_ROOMTRIPLE, ROOMTRIPLE_ID);
			document.getElementById('hproomtype' + room_no).options[2] = new Option(T_ROOMTWINCHILD, ROOMTWINCHILD_ID);
			document.getElementById('hproomtype' + room_no).options[3] = new Option(T_ROOMDOUBLECHILD, ROOMDOUBLECHILD_ID);
			document.getElementById('hproomtype' + room_no).options[4] = new Option(T_ROOMFAMILY1CHILD, ROOMFAMILY1CHILD_ID);
			document.getElementById('hproomtype' + room_no).selectedIndex = 0;
		}
		else if (people_count == 3 && adults_count == 1 && children_count == 2)
		{
			hideDiv('hproomtype' + room_no + '_name');
			showDiv('hproomtype' + room_no + '_select_holder');
			document.getElementById('hproomtype' + room_no + '_name').innerHTML = '';
			document.getElementById('hproomtype' + room_no).options.length = 1;
			document.getElementById('hproomtype' + room_no).options[1] = new Option(T_ROOMTRIPLE, ROOMTRIPLE_ID);
			document.getElementById('hproomtype' + room_no).options[2] = new Option(T_ROOMFAMILY2CHILDREN, ROOMFAMILY2CHILDREN_ID);
			document.getElementById('hproomtype' + room_no).selectedIndex = 0;
		}
		else if (people_count == 4 && adults_count == 2 && children_count == 2)
		{
			hideDiv('hproomtype' + room_no + '_name');
			showDiv('hproomtype' + room_no + '_select_holder');
			document.getElementById('hproomtype' + room_no + '_name').innerHTML = '';
			document.getElementById('hproomtype' + room_no).options.length = 1;
			document.getElementById('hproomtype' + room_no).options[1] = new Option(T_ROOMQUAD, ROOMQUAD_ID);
			document.getElementById('hproomtype' + room_no).options[2] = new Option(T_ROOMFAMILY2CHILDREN, ROOMFAMILY2CHILDREN_ID);
			document.getElementById('hproomtype' + room_no).selectedIndex = 0;
		}
		else if (people_count == 4)
		{
			hp_update_roomtype_label(room_no, ROOMQUAD_ID, T_ROOMQUAD);
		}
	}
	else
	{
		hideDiv('hproomtype' + room_no + '_holder');
	}
	hp_update_ages_column();
}

function hp_update_roomtype_label(room_nr, id, label)
{
	room_nr = parseInt(room_nr);
	id = parseInt(id);
	showDiv('hproomtype' + room_nr + '_name');
	hideDiv('hproomtype' + room_nr + '_select_holder');
	document.getElementById('hproomtype' + room_nr + '_name').innerHTML = label;
	document.getElementById('hproomtype' + room_nr).options.length = 1;
	document.getElementById('hproomtype' + room_nr).options[1] = new Option(label, id);
	document.getElementById('hproomtype' + room_nr).selectedIndex = 1;
}

function hp_update_ages_column()
{
	children_count = 0;
	for (i = 1; i <= NO_OF_ROOMS; i ++)
	{
		children_count += parseInt(document.getElementById('hpchildren' + i).value);
	}
	if (children_count > 0) // show column
	{
		for (i = 1; i <= NO_OF_ROOMS; i ++)
		{
			showDiv('hpages' + i + '_holder');
		}
	}
	else // hide column
	{
		for (i = 1; i <= NO_OF_ROOMS; i ++)
		{
			hideDiv('hpages' + i + '_holder');
		}
	}
}

function hp_update_checkout()
{
	checkinval = document.getElementById('hpcheckin').value;
	if (isValidDate(checkinval, T_VALID_DATEFORMAT))
	{
		var dt = new Date(parseFloat(checkin_y), parseFloat(checkin_m)-1, parseFloat(checkin_d), 0, 0, 0, 0);
		dt.setDate(dt.getDate() + parseInt(document.getElementById('hpnights').value));
		document.getElementById('hpcheckout').className = '';
		// Wed 20 Feb 2008
		document.getElementById('hpcheckout').innerHTML = Utf8.decode(T_WEEKDAYS[dt.getDay()] + ' ' + dt.getDate() + ' ' + T_MONTHS[dt.getMonth()] + ' ' + dt.getFullYear());
	}
	else
	{
		document.getElementById('hpcheckout').innerHTML = 'Invalid arrival date';
		document.getElementById('hpcheckout').className = 'dateerror';
	}
	hp_clear_errors();
}

function hp_clear_errors()
{
	if (hp_error_found)
	{
		var has_errors = false;
		if (document.getElementById('hpdestination').value.length > 0)
		{
			document.getElementById('hpdestination').className = '';
		}
		else
		{
			document.getElementById('hpdestination').className = 'field_error';
			has_errors = true;
		}
		if (parseInt(document.getElementById('hpnights').value))
		{
			document.getElementById('hpnights').className = '';
		}
		else
		{
			document.getElementById('hpnights').className = 'field_error';
			has_errors = true;
		}
		if (isValidDate(document.getElementById('hpcheckin').value, T_VALID_DATEFORMAT))
		{
			document.getElementById('hpcheckin').className = '';	
		}
		else
		{
			document.getElementById('hpcheckin').className = 'field_error';	
			has_errors = true;
		}
		if (!has_errors)
		{
			hideDiv('hprow0');
		}
		else
		{
			showDiv('hprow0');
		}
	}
}

function hp_hide_hotelname()
{
	hideDiv('hprow3');
	document.getElementById('hphotelname').value='';
}

function hp_show_hotelname()
{
	showDiv('hprow3');
}

// Show / hide
function showHideDiv(divName, blockInline)
{	 
   if (document.getElementById(divName))
   {
      new_style = (document.getElementById(divName).style.display == "none") ? "block" : "none";
      document.getElementById(divName).style.display = new_style;
   }
}

function hideDiv(divName)
{
   if (document.getElementById(divName))
   {
      document.getElementById(divName).style.display = 'none';
   }
}

function showDiv(divName)
{
   if (document.getElementById(divName))
   {
      document.getElementById(divName).style.display = 'block';
   }
}

checkin_d = false;
checkin_m = false;
checkin_y = false;
function isValidDate(dateStr, format) {
   if (format == null) { format = "MDY"; }
   format = format.toUpperCase();
   if (format.length != 3) { format = "MDY"; }
   if ( (format.indexOf("M") == -1) || (format.indexOf("D") == -1) || (format.indexOf("Y") == -1) ) { format = "MDY"; }
   if (format.substring(0, 1) == "Y") { // If the year is first
      var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
      var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
   } else if (format.substring(1, 2) == "Y") { // If the year is second
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
   } else { // The year must be third
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   }
   // If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
   if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
   var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
   // Check to see if the 3 parts end up making a valid date
   if (format.substring(0, 1) == "M") { var mm = parts[0]; } else if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
   if (format.substring(0, 1) == "D") { var dd = parts[0]; } else if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } else if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
	checkin_d = parseInt(dd,10);
	checkin_m = parseInt(mm,10);
	checkin_y = parseInt(yy,10);
   var dt = new Date(parseFloat(yy,10), parseFloat(mm,10)-1, parseFloat(dd,10), 0, 0, 0, 0);
   if (parseFloat(dd,10) != dt.getDate()) { return false; }
   if (parseFloat(mm,10)-1 != dt.getMonth()) { return false; }
   return true;
}

/* Event Functions */

function __attachEvent(elem, eventName, handler)
{
	if (elem.attachEvent) // IE
		return elem.attachEvent("on" + eventName, handler);	
	else if (elem.addEventListener)
	{
		elem.addEventListener(eventName, handler, false);
		return true;
	}
	return false;
}

function __detachEvent(elem, eventName, handler)
{
	if (elem.detachEvent) // IE
		return elem.detachEvent("on" + eventName, handler);	
	else if (elem.removeEventListener)
	{
		elem.removeEventListener(eventName, handler, false);
		return true;
	}
	return false;
}

// Add an event to the obj given
// event_name refers to the event trigger, without the "on", like click or mouseover
// func_name refers to the function callback when event is triggered
function addEvent(obj,event_name,func_name){
	if (obj.attachEvent){
		obj.attachEvent("on"+event_name, func_name);
	}else if(obj.addEventListener){
		obj.addEventListener(event_name,func_name,true);
	}else{
		obj["on"+event_name] = func_name;
	}
}

// Removes an event from the object
function removeEvent(obj,event_name,func_name){
	if (obj.detachEvent){
		obj.detachEvent("on"+event_name,func_name);
	}else if(obj.removeEventListener){
		obj.removeEventListener(event_name,func_name,true);
	}else{
		obj["on"+event_name] = null;
	}
}

// Stop an event from bubbling up the event DOM
function stopEvent(evt){
	evt || window.event;
	if (evt.stopPropagation){
		evt.stopPropagation();
		evt.preventDefault();
	}else if(typeof evt.cancelBubble != "undefined"){
		evt.cancelBubble = true;
		evt.returnValue = false;
	}
	return false;
}

// Get the obj that starts the event
function getElement(evt){
	if (window.event){
		return window.event.srcElement;
	}else{
		return evt.currentTarget;
	}
}
// Get the obj that triggers off the event
function getTargetElement(evt){
	if (window.event){
		return window.event.srcElement;
	}else{
		return evt.target;
	}
}
// For IE only, stops the obj from being selected
function stopSelect(obj){
	if (typeof obj.onselectstart != 'undefined'){
		addEvent(obj,"selectstart",function(){ return false;});
	}
}

/*    Caret Functions     */

// Get the end position of the caret in the object. Note that the obj needs to be in focus first
function getCaretEnd(obj){
	if(typeof obj.selectionEnd != "undefined"){
		return obj.selectionEnd;
	}else if(document.selection&&document.selection.createRange){
		var M=document.selection.createRange();
		try{
			var Lp = M.duplicate();
			Lp.moveToElementText(obj);
		}catch(e){
			var Lp=obj.createTextRange();
		}
		Lp.setEndPoint("EndToEnd",M);
		var rb=Lp.text.length;
		if(rb>obj.value.length){
			return -1;
		}
		return rb;
	}
}
// Get the start position of the caret in the object
function getCaretStart(obj){
	if(typeof obj.selectionStart != "undefined"){
		return obj.selectionStart;
	}else if(document.selection&&document.selection.createRange){
		var M=document.selection.createRange();
		try{
			var Lp = M.duplicate();
			Lp.moveToElementText(obj);
		}catch(e){
			var Lp=obj.createTextRange();
		}
		Lp.setEndPoint("EndToStart",M);
		var rb=Lp.text.length;
		if(rb>obj.value.length){
			return -1;
		}
		return rb;
	}
}
// sets the caret position to l in the object
function setCaret(obj,l){
	obj.focus();
	if (obj.setSelectionRange){
		obj.setSelectionRange(l,l);
	}else if(obj.createTextRange){
		m = obj.createTextRange();		
		m.moveStart('character',l);
		m.collapse();
		m.select();
	}
}
// sets the caret selection from s to e in the object
function setSelection(obj,s,e){
	obj.focus();
	if (obj.setSelectionRange){
		obj.setSelectionRange(s,e);
	}else if(obj.createTextRange){
		m = obj.createTextRange();		
		m.moveStart('character',s);
		m.moveEnd('character',e);
		m.select();
	}
}

/*    Escape function   */
String.prototype.addslashes = function(){
	return this.replace(/(["\\\.\|\[\]\^\*\+\?\$\(\)])/g, '\\$1');
}
String.prototype.trim = function () {
    return this.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
};
/* --- Escape --- */

/* Offset position from top of the screen */
function curTop(obj){
	toreturn = 0;
	while(obj){
		toreturn += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return toreturn;
}
function curLeft(obj){
	toreturn = 0;
	while(obj){
		toreturn += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return toreturn;
}
/* ------ End of Offset function ------- */

/* Types Function */

// is a given input a number?
function isNumber(a) {
    return typeof a == 'number' && isFinite(a);
}

/* Object Functions */

function replaceHTML(obj,text){
	while(el = obj.childNodes[0]){
		obj.removeChild(el);
	};
	obj.appendChild(document.createTextNode(text));
}