	// Javascript
function dw(str){ document.write(str); }


function trim(myStr) 
{ 
	while (myStr.substring(0,1) == ' '){ myStr = myStr.substring(1, myStr.length); } 
	while (myStr.substring(myStr.length-1, myStr.length) == ' '){ myStr = myStr.substring(0,myStr.length-1); } 
	return myStr; 
}


Array.prototype.compare = function(testArr){
	if (this.length != testArr.length) return false;
	for (var i = 0; i < testArr.length; i++){
		if (this[i].compare){ 
			if (!this[i].compare(testArr[i])) return false;
		}
		if (this[i] !== testArr[i]) return false;
	}
	return true;
}

//GET HTTP OBJECT FOR AJAX
function getHttpObject(){
	if (window.XMLHttpRequest)
		return new XMLHttpRequest();
	else if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
	else { alert("XMLHttpRequest not supported!");
		return null;
}	}
	
	
// FUNCTION TO REMOVE EMPTY NODES FROM A DOCUMENT
function removeEmptyNodes(nodesList){
	var ndLst = nodesList;
	for( var i=0; i<ndLst.length; i++ ){
		if( ndLst[i].hasChildNodes() ){
			for( var j=0; j<ndLst[i].childNodes.length; j++ ){					
				if( ndLst[i].childNodes[j].nodeType == 3 ){
					if( ndLst[i].childNodes[j].nodeValue.replace(new RegExp('\\W+'), '').length == 0){
						ndLst[i].removeChild( ndLst[i].childNodes[j] );
}	}	}	}	}	}


function submitSVFormDefault(param){
	try {
		var frm = "vacationsFormSearch";
		var elmt = document.getElementById('departureList');
		for (var j=0; j<elmt.length; j++){ 
			if (elmt[j].innerHTML.toLowerCase().match(param.split("(",1)[0].toLowerCase())){ 
				elmt.selectedIndex = j;
				elmt.onChange = refreshDest(document.getElementById(frm));
				document.getElementById(frm).submit();
			}
		}	
	} catch(e){}
}


function submitSVForm(params){
	var prms = params.split(",");
	var lsts = new Array('departureList','destinationList','hotelList');
	try {
		var frm = "vacationsFormSearch";
		var frm = "frm";
		if(prms[6]){
			//frm = ""+prms[6]+"vacationsFormSearch";
			//frm = ""+prms[6]+"frm";
			//alert(frm);
		}
		document.getElementById('date_dep').value = prms[4];
		for (var i=0; i<lsts.length; i++) 
		{	
			var elmt = document.getElementById(lsts[i]);
			for (var j=0; j<elmt.length; j++){ 
				if (elmt[j].innerHTML.toLowerCase().match(prms[i].split("(",1)[0].toLowerCase())){ 
					elmt.selectedIndex = j;
					if (i==0) elmt.onChange = refreshDest(document.getElementsByName(frm).item(0));
					if (i==1) elmt.onChange = refreshHotel(document.getElementsByName(frm).item(0));
					if (i==2) elmt.onChange = refreshStars(document.getElementsByName(frm).item(0));
				}
			}	
		}
		var elmt = document.getElementById('duration');
		for (var i=0; i<elmt.length; i++){ 
			if (elmt[i].value == prms[3]) elmt.selectedIndex = i;
		}
		//alert(document.getElementsByName(frm).item(0));
		//document.getElementById(frm).submit();
		document.getElementsByName(frm).item(0).submit();
	} catch(e){}
}


/****************************************************************************/
function replaceBookingStep(id){
	var stepID = id+"";
	var src = "https://411travelbuys.ca/images/structure/"+stepID+"_active.png";
	document.getElementById(stepID).src = src;
}


function change_div(){
	// Pour Netscape 6 et Internet Explorer 5 et plus
	if (document.getElementById){ 
		var contenu_div = document.getElementById('contenu');
		var loading_div = document.getElementById('loading');
		contenu_div.style.visibility='visible';
		loading_div.style.visibility='hidden';
	}
	// Pour Netscape 4 et plus
	else if (document.layers){
		document.loading.visibility='hide';
		document.contenu.visibility='visible';
	} 
	// Pour Internet Explorer 4 et plus
	else if (document.all){
		document.all.loading.style.visibility='hidden';
		document.all.contenu.style.visibility='visible';
	}
	//popup.close();
}


function openpopup(popurl){
 var winpops=window.open(popurl,"","width=500px,height=500px,resizable");
}


function MM_openBrWindow(theURL,winName,features){ //v2.0
  window.open(theURL,winName,features);
}


function popWin(url,w,h,scroll){
	window.open(url,"win",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=' + scroll + ',resizable=0,width=' + w + ',height=' + h + ',top=20,left=20');
}


function popWinS(url,w,h,scroll,x,y){
	var X = x + 50;
	var Y = y + 0;
window.open(url,"win",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars='+ scroll + ',resizable=0,width=' + w + ',height=' + h + ',top=' + Y + ',left=' +X);
}


function pkgsPopup(url){
	window.open(url,'pkgsPopup','toolbar=0,location=0,directories=0,status=0,menubar=0, scrollbars=1, width=600, height=800, top=50, left=50');	
	return false;
}


function dealDescPopUp(it){
	window.open('http://411travelbuys.ca/popups/hotelDealsDescriptions.htm', 'hotelDealDesc', 'location=0, status=0, scrollbars=0, toolbar=0, width=400, height=350, top=100, left=100');	
	return false;
}

function religiousTourDescPopUp(it){
	window.open('http://411travelbuys.ca/popups/religious-tour-highlights.htm', 'religiousTourDesc', 'location=0, status=0, scrollbars=0, toolbar=0, width=400, height=350, top=100, left=100');	
	return false;
}


function subscriptionPopup(){
	window.open('http://411travelbuys.ca/popups/terms-and-conditions.htm', 'subscriptionPopup', 'location=0, status=0, scrollbars=0, toolbar=0, width=400, height=350, top=200, left=200');	
	return false;
}


function europePopup(url){
	window.open(url, 'europePopup', 'location=0, status=0, scrollbars=1, toolbar=0, width=700, height=600, top=100, left=100');	
	return false;
}

function religiousPopup(url){
	window.open(url, 'europePopup', 'location=0, status=0, scrollbars=1, toolbar=0, width=700, height=600, top=100, left=100');	
	return false;
}
function insightPopup(url){
	window.open(url, 'insightPopup', 'location=0, status=0, scrollbars=1, toolbar=0, width=800, height=600, top=100, left=20');	
	return false;
}

function Sig20Deals(){
	window.open('http://411travelbuys.ca/Sig-20-Deals/toronto.html', 'SigBoxingWeek', 'location=0, status=0, scrollbars=1, toolbar=0, width=850, height=1400, top=50, left=50');	
	return false;
}

function enquiriesPopup(url){
	window.open(url, 'enquiriesPopup', 'location=0, status=0, scrollbars=1, toolbar=0, width=540, height=800, top=20, left=20');	
	return false;
}


function verificationImage(){
	window.open('http://www.411travelbuys.ca/popups/verification-image.htm','verificationImage','width=400, height=350, left=' + (screen.width-450) + ', top=100'); 
	return false;
}


function noNoNoSunquest(){
	window.open('http://www.411travelbuys.ca/popups/sunquest-no-no.htm', 'noNoNoSunquest', 'location=0, status=0, scrollbars=1, toolbar=0, width=560, height=650, top=50, left=100');	
	return false;
}


function westjetPromo(){
	window.open('http://www.411travelbuys.ca/popups/westjet-terms-and-conditions.htm', 'westjetPromo', 'location=0, status=0, scrollbars=1, toolbar=0, width=530, height=650, top=50, left=50');	
	return false;
}


function GlobusGreek(){
	window.open('http://411travelbuys.ca/popups/globus-greek.html', 'GlobusGreek', 'location=0, status=0, scrollbars=1, toolbar=0, width=890, height=1000, top=50, left=100');	
	return false;
}


function contikiPromo(){
	window.open('http://www.411travelbuys.ca/popups/contikiPromo.htm', 'contikiPromo', 'location=0, status=0, scrollbars=1, toolbar=0, width=630, height=1400, top=50, left=50');	
	return false;
}


function wowSales(){
	window.open('http://www.411travelbuys.ca/popups/wow-sales.htm', 'wowSales', 'location=0, status=0, scrollbars=1, toolbar=0, width=530, height=1050, top=50, left=50');	
	return false;
}


function SigKids(){
	window.open('http://www.411travelbuys.ca/popups/signature-kids-promo.htm', 'SigKids', 'location=0, status=0, scrollbars=1, toolbar=0, width=850, height=1400, top=50, left=50');	
	return false;
}

function SigBeach(){
	window.open('http://www.411travelbuys.ca/popups/signature-vacations-beach-sale.html', 'SigBeach', 'location=0, status=0, scrollbars=1, toolbar=0, width=890, height=1400, top=50, left=50');	
	return false;
}

function SigMarch(){
	window.open('http://www.411travelbuys.ca/html/signature-march-prices.html', 'SigMarch', 'location=0, status=0, scrollbars=1, toolbar=0, width=820, height=520, top=50, left=50');	
	return false;
}


function TransatChampagne(){
	window.open('http://www.411travelbuys.ca/popups/TransatChampagne.jpg', 'TransatChampagne', 'location=0, status=0, scrollbars=1, toolbar=0, width=650, height=800, top=50, left=50');	
	return false;
}

function TransatIberostar(){
	window.open('http://www.411travelbuys.ca/pdf/IberostarCuba_AT.pdf', 'TransatIberostar', 'location=0, status=0, scrollbars=1, toolbar=0, width=650, height=800, top=50, left=50');	
	return false;
}


function SigMeltdown(){
	window.open('http://411travelbuys.ca/html/SigMeltdown.html', 'SigMeltdown', 'location=0, status=0, scrollbars=1, toolbar=0, width=560, height=260, top=50, left=50');	
	return false;
}

function TransatAruba(){
	window.open('http://www.411travelbuys.ca/popups/transataruba.gif', 'TransatAruba', 'location=0, status=0, scrollbars=1, toolbar=0, width=586, height=717, top=50, left=50');	
	return false;
}

function TransatPromo(){
	window.open('http://www.411travelbuys.ca/popups/transatPromo.html', 'TransatPromo', 'location=0, status=0, scrollbars=1, toolbar=0, width=950, height=1000, top=50, left=50');	
	return false;
}

function SignaturePriceDrop(){
	window.open('http://www.411travelbuys.ca/popups/SignaturePriceDrop.html', 'SignaturePriceDrop', 'location=0, status=0, scrollbars=1, toolbar=0, width=850, height=800, top=50, left=50');	
	return false;
}

function PanamaPassportNotice(){
	window.open('http://www.411travelbuys.ca/popups/panama-travel-advisory.html', 'PanamaPassportNotice', 'location=0, status=0, scrollbars=1, toolbar=0, width=790, height=420, top=50, left=50');	
	return false;
}

/*************************    START UPDATES  ****************************/
function sendUpdates(htl){  
	var httpObject = getHttpObject();
	if (httpObject != null){ 
		//var url = "http://411travelbuys.ca/proxysv.php?";
		var url = "http://411travelbuys.ca/doUpdate.php?";
		url += "hotels="+htl;
		httpObject.open("GET",url,true);
		httpObject.send(null);
		//httpObject.send(url);
}	}

function doTheUpdates(){
	try {
	var divs = document.getElementsByTagName('div'); //GET ALL DIV ELEMENTS
	var deals = new Array();
	
	for( var i=0; i<divs.length; i++ ){
		if( divs[i].getAttribute('class') == "softvoyage_table"){
			deals.push(divs[i]);
	}	}
	
	divs = new Array(); //REUSE THE REFERENCE VARIABLE
	var n = 0;
	for( var i=0; i<deals.length; i++ ){
		var arr = deals[i].getElementsByTagName('div');
		for( var j=0; j<arr.length; j++ ){
			divs.push(arr[j]);
			if( arr[j].getAttribute('class') == 'hotel_col_1' ) n++; 
	}	}
	
	var alDvs = new Array(n); //AN ARRAY CONTAINING ALL SELECTED DIVS
	removeEmptyNodes(divs); //CALL FUNCTION TO REMOVE ALL TEXT-NODES
	var m = -1;
	for(var i=0; i<divs.length; i++){
		if( divs[i].getAttribute('class') == 'hotel_col_1'){
			alDvs[++m] = new Array();
			alDvs[m].push(divs[i]);
		}
		if( divs[i].getAttribute('class') == 'hotel_col_2') alDvs[m].push(divs[i]);
		if( divs[i].getAttribute('class') == 'tr_hotel_deal') alDvs[m].push(divs[i]); 
	}
	
	var sltIdx = document.getElementsByName('gateway_dep').item(0).selectedIndex;
	var dpCty = document.getElementsByName('gateway_dep').item(0)[sltIdx].innerHTML;
	} catch(e){}
	
	var hotels = new Array();
	for(var i=0; i<alDvs.length; i++){
		try {
			var hotel = new Array(); //ARRAY TO STORE ONE HOTEL DATA	
			var dsCty = alDvs[i][0].childNodes[0].innerHTML;
			var hImg = alDvs[i][0].getElementsByTagName('img').item(0).getAttribute('src');
			hImg = hImg.replace("http://www.411travelbuys.ca/images/hotels/",'');
			hImg = hImg.replace("/for/hoteldefault.jpg",'hdef');
			hImg = hImg.replace(".jpg",'');
			var hLnk = alDvs[i][0].getElementsByTagName('a').item(0).getAttribute('onclick');
			hLnk = hLnk.replace("popWinS('http://webstar.softvoyage.com/cgi-bin/hotel_desc.cgi?FOR&en&",'');
			hLnk = hLnk.replace("state=Hotel_Data&norightbar=yes&notopbanner=yes&noleftbar=yes&nocopyright=yes&",'');
			hLnk = hLnk.replace("agency=sirev&LangToUseId=en&",'');
			hLnk = hLnk.replace("',740,660,'1');",'');
			hLnk = hLnk.replace("http://",'');
			hLnk = hLnk.replace("www.",'');
			var idx = hLnk.indexOf("=");
			while(idx != -1){
				hLnk = hLnk.replace("=",'eSgn');
				idx = hLnk.indexOf("=");
			}		
			idx = hLnk.indexOf("?");
			while(idx != -1){
				hLnk = hLnk.replace("?",'qMrk');
				idx = hLnk.indexOf("?");
			}		
			idx = hLnk.indexOf("&");
			while(idx != -1){
				hLnk = hLnk.replace("&",'aSgn');
				idx = hLnk.indexOf("&");
			}		
			idx = hLnk.indexOf("'");
			while(idx != -1){
				hLnk = hLnk.replace("'",'sQt');
				idx = hLnk.indexOf("'");
			}		
			var hNm = alDvs[i][0].getElementsByTagName('a').item(1).innerHTML;
			idx = hNm.indexOf("'");
			while(idx != -1){
				hNm = hNm.replace("'",'sQt');
				idx = hNm.indexOf("'");
			}		
			var rImg = alDvs[i][1].getElementsByTagName('img').item(0).getAttribute('src');
			rImg = rImg.replace("http://www.411travelbuys.ca/images/",'');
		
			rImg = rImg.replace('two','2');
			rImg = rImg.replace('three','3');
			rImg = rImg.replace('four','4');
			rImg = rImg.replace('five','5');
			rImg = rImg.replace('star','');
			rImg = rImg.replace('half','p');
			rImg = rImg.replace('white','');
			var dptDate = Date.parse(alDvs[i][1].getElementsByTagName('b').item(0).innerHTML)/1000;
			var drtn = parseInt(alDvs[i][1].getElementsByTagName('b').item(1).innerHTML);
			hotel.push(dpCty, dsCty, hImg, hLnk, hNm, rImg, dptDate, drtn);
	
			var rooms = new Array(); //ALL ROOMS IN THE HOTEL
			for (var j=2; j<alDvs[i].length; j++){
				var room = new Array();
				var oImg = alDvs[i][j].getElementsByTagName('img').item(0).getAttribute('src');
				oImg = oImg.replace("http://webstar.softvoyage.com/logo/tour_op/",'');
				var rTxt = alDvs[i][j].getElementsByTagName('a').item(0).innerHTML;
				idx = rTxt.indexOf(",");
				while(idx != -1){
					rTxt = rTxt.replace(",",'');
					idx = rTxt.indexOf(",");
				}		
				var pkTxt = alDvs[i][j].getElementsByTagName('a').item(1).innerHTML;
				idx = pkTxt.indexOf(",");
				while(idx != -1){
					pkTxt = pkTxt.replace(",",'');
					idx = pkTxt.indexOf(",");
				}		
				var prc = alDvs[i][j].getElementsByTagName('div').item(3).innerHTML.replace(new RegExp('\\D+'), '');
				prc = parseFloat(prc);
				var tx = alDvs[i][j].getElementsByTagName('div').item(4).innerHTML.replace(new RegExp('\\D+'), '');
				tx = parseFloat(tx);
				room.push(oImg, rTxt, pkTxt, prc, tx);
				
				if(rooms.length == 0) rooms.push(room);
				var exists = false;
				for(var x=0; x<rooms.length; x++){
					exists = rooms[x].compare(room);
				}
				if(exists == false)	rooms.push(room);
				
				//STOP LOOPING FOR ROOM DEALS AFTER 1
				j = alDvs[i].length;
			}
			hotel.push(rooms);
			hotels.push(hotel+";");
			//document.write("<a href='http://www.411travelbuys.ca/proxysv.php?hotel="+hotel+"'> . </a>");
			//document.write("<br/>"+hotel+"");
		} 
		catch(e){
			//document.write("<br/>"+e.toString());
		}
	}
		sendUpdates(hotels);
		//document.write(hotels);
		//document.write(hotels.length);
}

function doPageFormating(){
	try {
		var myE = document.getElementsByTagName('nobr').item(0).parentNode;
		if(myE.getAttribute('style')){
			myE.setAttribute('style',"margin:5px 0; padding:20px 0px; font-size:14px; font-weight:bolder; background-color:#335A74; color:#FFF; text-align:center;");
		}
		var inputs = document.getElementsByTagName('input');
		for(var i=0; i<inputs.length; i++){
			if(inputs[i].getAttribute('type') == 'radio') inputs[i].setAttribute('style',"margin:0 2px 0 10px;");
		}
	} catch(e){ 		
		//document.write("<br/>"+e.toString());
	}
}

function doSubmitVacForm() {
	document.getElementById('vacationsFormSearch').submit();
}

/*************************   END OF UPDATES  ****************************/


