var tplBoundaryRegex = /(^|.|\r|\n)((?:%=|#\{)\s*(\w+)\s*(?:%|\}))/;
var initTool = false;

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

function include( name ) {
	var key = 'include_'+name.replace(/\.js/,"").replace(/\//g,"_");
	if( $(key)==null ) {
		var scriptObj = document.createElement( 'script' );
		scriptObj.setAttribute( 'type', 'text/javascript' );
		scriptObj.setAttribute( 'id', key );
		scriptObj.setAttribute( 'src', name );
		document.body.appendChild( scriptObj );
	}										
}

function displayTooltip(cid) {
	if(!initTool) {
		tt_Init();
		initTool = true;
	}
	Tip($(cid).innerHTML);
}

function switchElement(eid) {

	if($(eid)) {
		if($(eid).style.display=='block') {
			$(eid).style.display='none';
		}
		else {
			$(eid).style.display='block';
		}
	}
}

function showLoader() { 
	window.scroll(0,0);
	if($('__page_loader__') && $('__page_content__') ) {
		$('__page_loader__').style.display = '';
		$('__page_content__').style.display = 'none';
	}
	setTimeout('document.images["__loader__"].src = "/base/default/img/loader.gif"', 100); 
} 

function isdefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

function buildGUI() {
	if(isdefined('galleryHandler')) {
		galleryHandler.init();
		//galleryHandler.update('box');
		//galleryHandler.update('window');
	}
	if(isdefined('mapHandler')) {
		mapHandler.init();
		mapHandler.setFilter('partner');
	}
}

function buildPartnerMap(rid,x,y,type,name,zip,city,address) {
		__partners = new Array();
		__partners[0] = new Object;
		__partners[0]['rid']			= rid;
		__partners[0]['type']			= type;
		__partners[0]['x']			= x;
		__partners[0]['y']			= y;
		__partners[0]['name']			= name;
		__partners[0]['zip']			= zip;
		__partners[0]['city']			= city;
		__partners[0]['adress']			= address;
		__partners[0]['tins']		= new Array();
		mapHandler.init();
		mapHandler.filterPartner();
}

function printDiv(dname) {	
	if($(dname)) {
		var html = $('print_content').innerHTML;
		var head = $('print_header').innerHTML;
		html = html.replace(/__CONTENT__/,$(dname).innerHTML);
		
		html = '<html><head>'+head+'</head><body>'+html+'</body></html>';
		
		var printWin = window.open("",name);
		printWin.document.open();
		printWin.document.write(html);
		printWin.document.close();
		printWin.print();
		printWinn.close();
	}
} 	

function changeMapFilter(type) {
	$('__map_partner__').style.display = type=='partner' ? '' : 'none';
	$('__map_gastro__').style.display = type!='partner' ? '' : 'none';
	mapHandler.setFilter(type);
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function showResIframe(url) {

	var elem = $("divresiframe");
	elem.style.display = "";

	var elem2 = $("resiframe");
	elem2.src=url;
	aa = getScrollXY();
	//alert(aa[1]);

	//elem.style.top=(window.pageYOffset + 100).toString()+"px";
	elem.style.top=(aa[1] + 100).toString()+"px";

	//alert(elem.style.top);
}

function hideResIframe() {
	var elem = $("divresiframe");
	elem.style.display = "none";
}

function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
    path='/';
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '/' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}


function checkOffer(rid) {
	var checks = getCookie('destour_offer_checks');
	if(checks==null) {
		checks = "";
	}
	var offers = checks.split('_');
	var pos = offers.indexOf(rid);
	if(pos>-1) {
		offers.splice(pos,1);
	}
	else {
		offers.splice(offers.length,0,rid);
	}
	checks = '';
	for(i=0;i<offers.length;i++) {
		if(offers[i]!='') {
			if(checks!='') checks+='_';
			checks+=offers[i];
		}
	}
	setCookie('destour_offer_checks',checks);
}

function cleanOffer() {
	setCookie('destour_offer_checks','');
}

function selectOfferChecks() {
	var checks = getCookie('destour_offer_checks');
	if(checks==null) {
		checks = "";
	}
	var offers = checks.split('_');
	var i = 0;
	for(i=0;i<offers.length;i++) {
		var item = $('offer_check_'+offers[i]);
		if(item) {
			item.checked = true;
		}
	}
}

function sendOffers(url,error) {
	var checks = getCookie('destour_offer_checks');
	if((checks==null||checks=="")&&error!=null) {
		alert(error);
		return;
	}
	var offers = checks.split('_');
	window.location.href=url;
}

function new_window(p1,p2,p3) {
	var w = window.open(p1,p2,p3);
}
	
