// JavaScript Document
var VArtist = Class.create();
VArtist.prototype = {
	URLPrefix:		'http://',
	checkers:		[],
	scan:			false,
	timer:			0.75,	// in seconds
	cronid:			0,
	name:			'',
	checkTarget:	null,
	scanType:		'Country',
	maxPhotoCount:	20,
	gallery_last:	1,
	slideshow_time:	2.5,	// in seconds
	popup:			null,
	photoCnt:		0,
	
	initialize: function(name)
	{
		this.name = name;
	},
	
	Preview: function()
	{
		var element = $('Preview');
		if (!element) return false;
		
		var options = Object.extend({
			source: 	'',
			textarea:	null,
			PType: 		'text',
			className: 	'Title2',
			maxChars:	100,
			durl:		'',			/* display url */
			lurl:		''			/* link url */
		}, arguments[0] || {});
		
		switch (true)
		{
			case options.PType == "text": 
				var div = this.getElementByClassName(element, options.className);
				if (div) {
					div.innerHTML = options.source.stripTags().nl2br().truncate(options.maxChars, '');
				}
				
				try {
					if (options.textarea && (options.source.length > options.maxChars)) $(options.textarea).value = div.innerHTML;
				} catch (err) {}
				
				break;
			case options.PType == "url":
				var div = this.getElementByClassName(element, options.className);
				var linkA = div.getElementsByTagName("a");
				if (linkA) {
					linkA[0].innerHTML = options.source.stripTags().truncate(options.maxChars, '');
				}
				break;
			case options.PType == "link":
				var div = this.getElementByClassName(element, options.className);
				var linkA = div.getElementsByTagName("a");
				if (linkA) {
					linkA[0].href = this.URLPrefix + options.source.stripTags().truncate(options.maxChars, '');
				}
				break;
			case options.PType == "protocol":
				this.URLPrefix = options.source;
				this.Preview({source: options.durl, className: 'ad_link', PType: 'url', maxChars: 35});
				this.Preview({source: options.lurl, className: 'ad_link', PType: 'link', maxChars: 250});
				break;
		}
		
	},
	
	getElementByClassName: function(element, className)
	{
		var element = $(element);
		var divs = element.getElementsByTagName("*");
		for(var i = 0; i < divs.length; i++)
		{
			if (divs[i].className == className)
				return divs[i];
		}
		return null;
	},
	
	Hide: function (element)
	{
		var element = $(element);
		if (!element) return false;
		
		this.selecters('frm', 'visible');		
		element.style.display = 'none';
	},
	
	Show: function(element)
	{
		var element = $(element);
		if (!element) return false;
		
		switch (element.tagName) 
		{
			case "DIV" : element.style.display = 'block'; break;
			default: element.style.display = '';
		}
	},
	
	Popup: function ()
	{
		this.Hide(this.popup);

		var options = Object.extend({
			target: 	null,
			content:	'Popup'
		}, arguments[0] || {});
		
		this.popup = options.content;
		
		var content = $(options.content);
		var target = $(options.target);
		
		if (!(content && target))
			return false;
			
		var off = Position.cumulativeOffset(target);
		var dimsTarget = Position.getDimensions(target);

		content.style.left 	= off[0] - 100 + dimsTarget.width + 'px';
		content.style.top = off[1] - 300 - dimsTarget.height + 'px';
		
		this.selecters(target, 'hidden');		
		this.Show(content);
	},
	
	selecters: function(target, command)
	{
		/*
		var target = $(target);
		if (!target) return false;
		
		var frm = Element.findElement(target, "form");
		*/
		var selecters = document.body.getElementsByTagName("select");
		$H(selecters).each(
			function (Item)
			{
				if ((typeof (Item[1]) == "object"))
				{
					try {
						Item[1].style.visibility = command;
					} catch (err) {}
				}
			}
		);
	},
	
	offsetToFooter: function(element)
	{
		var element = $(element);
		var footer = $('Footer');
		if (!footer) return 0;
		
		var FOffset = Position.cumulativeOffset(footer);
		var EOffset = Position.cumulativeOffset(element);
		
		return [FOffset[0] - EOffset[0], FOffset[1] - EOffset[1]];
	},
	
	CheckAll: function(name, ctype)
	{
		var inps = document.getElementsByName(name + '[]');
		var pos = this.checkers[name];
		for (var i = 0; i < inps.length; i++) {
			try {
				var val = inps[i].parentNode.offsetHeight;
			} catch (err) {
			} finally {
				if (val) {
					inps[i].checked = !pos;
					switch (true) {
						case ctype == 'States':
							this.CheckCountry(inps[i]);
							break;
						case ctype == 'Cities':
							this.CheckState(inps[i]);
							break;
						case ctype == 'Countries':
							this.CheckRegion(inps[i]);
							break;
					}
				}
			}
		}
		
		if (val) this.checkers[name] = !pos;
	},
	
	allregions: function(iname, element) {

		var inps = document.getElementsByName(iname + '[]');
		this.stopScan();

		for( var i=0; i< inps.length; i++) {
			try {
				var Item = inps[i];
				if (Item.type == 'checkbox')
				{
					Item.checked = false;
					Item.parentNode.style.display = element.checked ? 'none': '';
				}
			} catch (err) {}
		}
	},
	
	CheckRegion: function(input)
	{
		this.scanType = 'Countries';
		this.startScan(input);
	},
	
	CheckCountry: function(input)
	{
		this.scanType = 'States';
		this.startScan(input);
	},
	
	CheckState: function(input)
	{
		this.scanType = 'Cities';
		this.startScan(input);
	},
	
	startScan: function(input)
	{
		this.stopScan();
		this.checkTarget = input;
		this.cronid = setTimeout(this.name + ".Scan()", this.timer * 1000);
		this.scan	= true;
	},
	
	stopScan: function()
	{
		this.checkTarget = null;
		if (this.cronid)
			clearTimeout(this.cronid);
		this.scan = false;
	},
	
	Scan: function()
	{
		var val = this.checkTarget.name;
		
		try {
			var linkObj = this.checkTarget.parentNode.parentNode.parentNode.getElementsByTagName('a')[0];
		} catch (err) {
		} finally {
			
			switch (true)
			{
				case this.scanType == 'Countries':
					var loading = 'Loading_Countries';
					break;
				case this.scanType == 'States':
					var loading = 'Loading_States_' + this.checkTarget.parentNode.parentNode.id;
					break;
				case this.scanType == 'Cities':
					var loading = 'Loading_Citeis_' + this.checkTarget.parentNode.parentNode.id;
					break;
			}
			
			this.Hide(linkObj);
			if (loading) this.Show(loading);
			
			
			var inps = document.getElementsByName(val);
			var regions = [];
			for (var i = 0; i < inps.length; i++) {
				if (inps[i].checked) {
					regions.push(inps[i].value);
				}
			}
			
			var objParams = {
				method: 	'get', 
				onSuccess: 	this.onGetCountriesSuccess, 
				asynchronous: true, 
				parameters: "regions=" + regions.join(",") + "&scanType=" + this.scanType, 
				onFailure: 	this.onGetCountriesFailure,
				callerObj: 	this,
				otherParams:	{scanType: 	this.scanType, loading: loading, linkObj: linkObj}
			};
			
			var req = new Ajax.Request("/server/get_countries.php", objParams);
		}
	},
	
	onGetCountriesSuccess: function(response, json, callerObj, params)
	{
		var returnScript = unescape(response.responseText);
		var returnText = returnScript.stripScripts();

		
		try {
//			alert(params.scanType);
			var typesObj = {};
			switch (callerObj.scanType) {
				case 'Countries':
					typesObj.Countries = 1;
					typesObj.States = 1;
					typesObj.Cities = 1;
					break;
				case 'States':
					typesObj.States = 1;
					typesObj.Cities = 1;
					break;
				case 'Cities':
					typesObj.Cities = 1;
					break;
			}
			
				var radiofields = document.getElementsByTagName("FIELDSET");
				var removeit = [];
				for(var i=0; i<radiofields.length; i++) {
					var tfield = radiofields[i];
					if (tfield.className == "radio" && tfield.getAttribute('fieldid') && typesObj[tfield.getAttribute('fieldtype')]) {
						removeit.push(tfield);
					}
				}
				
				for(var i=0; i<removeit.length; i++)
				removeit[i].parentNode.removeChild(removeit[i]);

			if (returnText)
			
				var newDiv = document.createElement('div');
					newDiv.innerHTML = returnText;

					if (newDiv) {
						var Parent = callerObj.checkTarget.parentNode.parentNode.parentNode;
						
						//
						// add newDiv as child
						//
						var divs = newDiv.getElementsByTagName("FIELDSET");
						for(var i = 0; i < divs.length; i++) {
							if (divs[i].className == "radio") {
								try {
									var id = divs[i].getAttribute('fieldid');
									if (!$(id)) {
										var clone = divs[i].cloneNode(true);
										Parent.parentNode.insertBefore(clone, Parent.nextSibling);
									}
								} catch (err) {}
							}
						}
//						Parent.parentNode.insertBefore(newDiv, Parent.nextSibling);
/*						
						var stretchers = document.getElementsByClassName('Accordion');
						var toggles = document.getElementsByClassName('Gray');
						
						stretchers.push($('Description_Countries'))
						toggles.push($('Title_Countries'));
					
						//accordion effect
						var myAccordion = new fx.Accordion(
							toggles, stretchers, {opacity: true, duration: 400}
						);

						myAccordion.showThisHideOpen(callerObj.checkTarget.parentNode.parentNode);
*/


						setTimeout(returnScript.evalScripts(), 10000);

					}
		} catch (err) {
//			alert(err.toString());
		} finally {
			callerObj.Hide(params.loading);
			callerObj.Show(params.linkObj);
		}
	},
	
	onGetCountriesFailure: function(response, json, callerObj, params)
	{
		callerObj.Hide(params.loading);
	},
	
	ForceChecking: function(element, type) {
		var regions = $(element) ? $(element) : $('regions_set');
		var inps = regions.getElementsByTagName('INPUT');
		var callerObj = this;

		for(var i=0; i<inps.length; i++)
		{
			var item = inps[i];
			if (item.type == 'checkbox' && item.checked) {
				
				switch (type) {
					case 'country':
						callerObj.CheckCountry(item);
						break;
					case 'state':	
						callerObj.CheckState(item);
						break;
					default:
						callerObj.CheckRegion(item);
				}
				
			}
		} // end foe each inps
	},
	
	ClickToggler: function (element)
	{
		var element = $(element);
		element.style.backgroundColor = '';
	},
	
	AddPhoto: function(source, destination)
	{
		var source 		= $(source);
		var destination	= $(destination);
		
		var inps = source.parentNode.getElementsByTagName("input");
		var maxCount = this.maxPhotoCount; 
		
		this.photoCnt = 0;
		for(var i = 0; i < inps.length; i++)
		{
			if (inps[i].name == "descriptions[]") {
				maxCount--;
				this.photoCnt++;
			}
		}
		
		if (maxCount > 0) {
			var clone = source.cloneNode(true);

			var inps = clone.getElementsByTagName("INPUT");
			for(var i = 0; i < inps.length; i++)
				inps[i].value = "";

			source.parentNode.insertBefore(clone, destination);
		} else {
			
		}
	},
	
	RecountPhotos: function(source)
	{
		var uploader = $('uploader');
		try {
			var source 		= $(source);

			var inps = source.parentNode.getElementsByTagName("input");
			var maxCount = this.maxPhotoCount; 
			
			for(var i = 0; i < inps.length; i++)
			{
				if (inps[i].name == "descriptions[]") {
					maxCount--;
				}
			}		

			uploader.disabled = (maxCount >= 0) ? false : true;
			
		} catch (err) { }
	},
	
	LoadCountries: function(source, target, addlisting)
	{
		var source = $(source);
		var target = $(target);
		
		var region = source.options[source.selectedIndex].value;
		if (!region) return false;
		
		var objParams = {
			method: 	'get', 
			onSuccess: 	function (response, json, callerObj, params) {
				if (response.responseText) {
					eval("data = " + response.responseText + ";");
					var regionSelect = target;

					callerObj.emptySelecter(regionSelect);
					callerObj.Show(target);
					
					var cnt = 0; 
					
					$H(data).each(function (Item) {
						var option = document.createElement("option");
						option.value = Item[0];
						option.innerHTML = unescape(Item[1]);
						regionSelect.appendChild(option);
						cnt++;
					});
					
					if (!cnt && addlisting) {
						callerObj.Hide(target);
					}
				}
			}, 
			asynchronous: true, 
			parameters: "region=" + region,
			onFailure: 	function (response, json, callerObj, params) {
			},
			callerObj: 	this
		};
		
		var req = new Ajax.Request("/server/get_countries.php", objParams);
		
	},
	
	GetLocation: function(source, targets, number)
	{
	
		var source = $(source);
		var number = (number) ? number : 0;
		var total  = targets.length;
		
		var region = source.options[source.selectedIndex].value;
		if (!region) region = 99999;
		
		var objParams = {
			method: 	'get', 
			onSuccess: 	function (response, json, callerObj, params) {
				if (response.responseText) {
					eval("data = " + response.responseText + ";");

						var target = $(targets[number]);
						var selectedItemInTarget = target.options[target.selectedIndex].value;

						var regionSelect = target;
						callerObj.emptySelecter(regionSelect);
						callerObj.Show(target);
						var blockid = 'block_' + targets[number].replace(/s?\_/, '_').toLowerCase();
						var block = $(blockid);
						callerObj.Show(block);
						
						var cnt = 0;
						if (targets[number].indexOf('Country') == -1)
						{
							var option = document.createElement("option");
							option.value = "";
							option.innerHTML = (targets[number].indexOf('State') == -1) ? "Select a City/Area..." : "Select a State/Province...";
							regionSelect.appendChild(option);
						}
						else
						{
							var option = document.createElement("option");
							option.value = "";
							option.innerHTML = "Select a Country...";
							regionSelect.appendChild(option);
						}
						
						var selNum = parseInt(target.getAttribute('selectedNumber'));
						
						$H(data).each(function (Item) {
							var option = document.createElement("option");
							option.value = Item[0];
							option.innerHTML = unescape(Item[1]);
							regionSelect.appendChild(option);
							if (selNum && parseInt(Item[0]) == selNum) 
							{
								option.selected = true;
							}
							else if (selectedItemInTarget && Item[0] == selectedItemInTarget)
							{
								option.selected = true;
							}
							
							cnt++;
						});
						
						if (!cnt) {
							for(var j = number; j < total; j++)
							{
								var tmp_target = $(targets[j]);
								var tmp_blockid = 'block_' + targets[j].replace(/s?\_/, '_').toLowerCase();
								var tmp_block = $(tmp_blockid);
						
								callerObj.Hide(tmp_target);
								callerObj.Hide(tmp_block);
							}
						}
						
						if (total > ++number && cnt) {
							callerObj.GetLocation(target, targets, number);
						}
				}
			}, 
			asynchronous: true, 
			parameters: "region=" + region,
			onFailure: 	function (response, json, callerObj, params) {
			},
			callerObj: 	this
		};
		
		var req = new Ajax.Request("/server/get_countries.php", objParams);
	},
	
	AddAnotherLocation: function(blockid, link) 
	{
		var wrapper = $('block_wrapper');
		var number 	= parseInt(wrapper.getAttribute('lastnumber'));
		// var number	= parseInt(blockid.replace(/[^0-9]+/g, ''));
		var nextNum	= number+1;

		var block 	= $(blockid);
		var content = block.innerHTML.replace(/\_1/g, '_'+nextNum);

		var div = document.createElement('DIV');
			//div.innerHTML = '<div class="hr"><div></div></div>' + content;
			div.innerHTML = content;
			div.id = 'all_block_' + nextNum;
			
		var elements = div.getElementsByTagName('DIV');
		$H(elements).each((function(Item){
			if (Item[1].id && Item[1].id.indexOf('block_') == 0)
			{
				try {
					Item[1].style.display = 'none';
				} catch (err) {}
			}
		}).bind(this));
		
		wrapper.appendChild(div);
		wrapper.setAttribute('lastnumber', nextNum);
		
		try {
		var regions = $('Region_' + nextNum);
			regions.options[regions.selectedIndex].selected = false;
			regions.options[0].selected = true;
		} catch (err) {}
	},
	
	PutRegion: function(source, target)
	{
		var source = $(source); // regions
		var target = $(target); // countries
		
		var country = target.options[target.selectedIndex].value;
		if (!country) return false;
		
		var objParams = {
			method: 	'get', 
			onSuccess: 	function (response, json, callerObj, params) {
				if (response.responseText) {
					eval("data = " + response.responseText + ";");
					if (!data.region) return false;
					
					
					
					var regionOptions = source.options;
					for(var i = 0; i < regionOptions.length; i++) {
						if (parseInt(regionOptions[i].value) == parseInt(data.region)) {
							source.options[source.selectedIndex].selected = false;
							regionOptions[i].selected = true;
						}
					}
				}
			}, 
			asynchronous: true, 
			parameters: "country=" + country,
			onFailure: 	function (response, json, callerObj, params) {
			},
			callerObj: 	this
		};
		
		var req = new Ajax.Request("/server/get_region.php", objParams);
				
	},
	
	emptySelecter: function(element)
	{
		var element = $(element);
		for(var i = 0; i < element.childNodes.length; i++) 
			element.removeChild(element.childNodes[i]); 
		
		for(var i = 0; i < element.options.length; i++) 
		element.removeChild(element.options[i]); 
		
		element.innerHTML = ""; 
		element.innerText = "";
	},
	
	ChangeNights: function(element) {
		var element = $(element);
		try {
			$('MoreNights').style.display = (element.options[element.selectedIndex].value == "more") ? 'inline' : 'none';
		} catch (err) {}
	},
	
	CollapseFAQ: function(img, answer) {
		var img = $(img);
		var answer = $('faq_answer_' + answer);
		if (answer.style.display == 'none') {
			img.src = img.src.replace('plus', 'minus');
		} else {
			img.src = img.src.replace('minus', 'plus');
		}
		answer.style.display = (answer.style.display == 'none') ? 'block' : 'none';
	},
	
	DeleteTmpPhoto: function(path, Photo) {
		if (!confirm("Do you want to delete selected photo?")) return false;
		
		var Photo = $(Photo);
		if (Photo)
			Photo = Photo.parentNode;

		var objParams = {
			method: 	'get', 
			onSuccess: 	function (response, json, callerObj, params) {
				Photo.parentNode.removeChild(Photo);
				callerObj.photoCnt--;
				if (callerObj.photoCnt < callerObj.maxPhotoCount)
				{
					var photos = $('Photos');
					try {
						photos.style.display = 'block';
					}catch (err) {}
				}
			}, 
			asynchronous: true, 
			parameters: "path=" + path,
			onFailure: 	function (response, json, callerObj, params) {
				alert("Cannot delete photo. Server Error.");
			},
			callerObj: 	this
		};
		
		var req = new Ajax.Request("/server/delete_photo.php", objParams);
	},
	
	DeletePhoto: function(photoid, Photo, source) {
		if (!photoid || !confirm("Do you want to delete selected photo?")) return false;
		
		var Photo = $(Photo);
		if (Photo)
			Photo = Photo.parentNode;

		var objParams = {
			method: 	'get', 
			onSuccess: 	function (response, json, callerObj, params) {
				Photo.parentNode.removeChild(Photo);
				callerObj.RecountPhotos(source);
			}, 
			asynchronous: true, 
			parameters: "id=" + photoid,
			onFailure: 	function (response, json, callerObj, params) {
				alert("Cannot delete photo. Server Error.");
			},
			callerObj: 	this
		};
		
		var req = new Ajax.Request("/server/delete_photo.php", objParams);
	},

	ValidateCode: function (code)
	{
		var code = $(code).value;
		if (!code) return false;
		
		var objParams = {
			method: 	'get', 
			onSuccess: 	function (response, json, callerObj, params) {
				//if (response.responseText.indexOf("") -= -1)
				eval("var ajaxres = ("+response.responseText+")");
				
					alert(ajaxres.message);
					
					if (ajaxres.discount)
					{
						var discount = parseFloat(ajaxres.discount);
					
						try {
							Calculator.setDiscount(discount, ajaxres.unit);
						} catch (err) {}
						
						try {
							// callerObj.CalculateTotal(null, null, discount);
						} catch (err) {}
					}
			}, 
			asynchronous: true, 
			parameters: "code=" + code,
			onFailure: 	function (response, json, callerObj, params) {
				alert("Cannot validate code. Server Error.");
			},
			callerObj: 	this
		};
		
		var req = new Ajax.Request("/server/validate_code.php", objParams);
	},
	
	CalculateTotal: function(package1, feature, discount, period, ftype)
	{
		if (period) {
			$('period_').value = period;
		}
		
		if (ftype) {
			$('ftype_').value = ftype;
		}

		if (package1) {
			$('package_').value = package1;
		}
		
		if (feature) {
			$('feature_').value = feature;
		}
		
		if (discount) {
			$('discount_').value = discount;
		}
				
		var period	= parseFloat($('period_').value) || 0;
		var ftype	= $('ftype_').value;
		var package1	= parseFloat($('package_').value) || 0;
		var feature	= parseFloat($('feature_').value * period) || 0;
		var discount= parseFloat($('discount_').value) || 0;
		
		var sum = package1 + feature;
		var discount = sum *  discount/100;
		var total = sum - discount;
		
		switch (period) {
			case '1': period = '1 Month'; break;
			case '12': period = '1 Year'; break;
			default: period = period + ' Months'; break;
		}
		
		$('total_p').innerHTML = '$' + package1 + ' - ' + period;
		$('total_f').innerHTML = '$' + feature + ' - ' + period + ' ' + ftype;
		$('total_d').innerHTML = '$' + discount;
		
		$('total').innerHTML = '$' + total;
	},
	
	OpenConverter: function(p1, p2)
	{
		try {
			try {
				var p1 = $(p1).value;
				var p2 = $(p2).value;
				var price = (p2) ? p1 + "." + p2 : p1;
			} catch (err1) {
				var price = p1;
			}
			
			
			// Set browser attributes
			var browserAttributes	=  'height=300,';
				browserAttributes 	+= 'width=375,';
				browserAttributes	+= 'top=20,';
				browserAttributes 	+= 'left=50,';
				browserAttributes 	+= 'scrollbars=no'+',';
				browserAttributes 	+= 'resizable=yes'+',';
				browserAttributes 	+= 'toolbar=no'+',';
				browserAttributes 	+= 'menubar=no'+',';
				browserAttributes 	+= 'status=no'+',';
				browserAttributes 	+= 'personalbar=no'+',';
				browserAttributes 	+= 'titlebar=no'+',';
				browserAttributes 	+= 'location=no';

			var newwindow = window.open("/currency.php?amt=" + price, "Currency", browserAttributes);
			if (window.focus) {newwindow.focus()}
		} catch (err) {}
	},
	
	Player: function(com, total) 
	{
		var total = parseInt(total);
		var first = $('gallery_' + this.gallery_last);
		
		switch (true)
		{
			case (com == 'back'):
					this.gallery_last = (this.gallery_last <= 1) ? total : total-1;
					break;
			case (com == 'play'):
					this.stopShow();
					this.cronid = setInterval(this.name + ".SlideShow('" +total+ "')", this.slideshow_time * 1000);
					break;
			case (com == 'fwd'):
					this.gallery_last = (this.gallery_last >= total) ? Math.min(total, 1) : Math.min(total,this.gallery_last + 1);
					break;
			case (com == 'pause'):
					this.stopShow();
					break;
		}

		var last = $('gallery_' + this.gallery_last);
		
		try {
			first.style.display = 'none';
			last.style.display = 'block';
		} catch (err) {}
		
	},
	
	stopShow: function()
	{
		if (this.cronid)
			clearInterval(this.cronid);
	},
	
	SlideShow: function(total)
	{
		this.Player('fwd', total);
	},
	
	DisableForm: function(frm) {
		if (typeof(frm) != 'object') return false;

		for(var i=0; i < frm.elements.length; i++)
		{
			var element = frm.elements[i];
			element.readOnly = true;
		}
		
		var last = frm.elements[frm.elements.length - 1];
		
		if (last.type.toLowerCase() != "submit") 
			last = frm.elements[frm.elements.length - 2];
			
		if (last.type.toLowerCase() == "submit") 
			last.value = "Please wait while your listing and photos are uploading. This may take a few minutes.";
			
		return true;
	},
	
	checkListingType: function(action) {
		var par = $('package_and_activity');
		var act = $('activity_set');
		var vac = $('vacation_set');
		
		switch(true)
		{
			case action == 'both':
				par.style.display = '';
				vac.style.display = 'none';
				act.style.display = 'none';
				this.clearCheckboxes(vac.getElementsByTagName('INPUT'));
				this.clearCheckboxes(act.getElementsByTagName('INPUT'));
				break;
			case action == 'package':
				par.style.display = 'none';
				vac.style.display = '';
				act.style.display = 'none';
				this.clearCheckboxes(act.getElementsByTagName('INPUT'));
				break;
			case action == 'activity':
				par.style.display = 'none';
				vac.style.display = 'none';
				act.style.display = '';
				this.clearCheckboxes(vac.getElementsByTagName('INPUT'));
				break;
		}
	},
	
	clearCheckboxes: function(hash) {
		if (!hash) return false;
		
		for (var i=0; i < hash.length; i++)
		{
			try {
				if (hash[i].type == 'checkbox')
					hash[i].checked = false;
			} catch (err) {}
		}
	},
	
	resetSearch: function() {
		this.checkListingType('both');
		var alltypes = $('listtype_1');
		alltypes.checked = true;
		
		this.clearCheckboxes($('maincol').getElementsByTagName('INPUT'));
		this.onGetCountriesSuccess('', null, {scanType: 'Countries', Hide: Prototype.emptyFunction, Show: Prototype.emptyFunction}, {});
		
		new Ajax.Request('/server/reset_session.php');
		return false;
	}
		
};

var newwindow = '';

function popitup(url) {
	if (!newwindow.closed && newwindow.location) {
		newwindow.location.href = url;
	}
	else {
		newwindow=window.open(url,'name','height=200,width=150');
		if (!newwindow.opener) newwindow.opener = self;
	}
	if (window.focus) {newwindow.focus()}
	return false;
}
