// -*- coding: utf-8 -*-

var gMapCenter, gView, gSvPOV;
var gChecked = {
	adr: 0,
	ident: 0,
	password: 0,
	email: 0,
	tel: 0,
	name: 0,
	comname: 0,
	image: 0,
	logo: 0,
	shortDesc: 0,
	longDesc: 0,
	color: 0
};

function adminDrag(marker, opt) {
	marker.disableDragging();
}

function svChange(view, opt) {
	setTimeout(function() {
		view.setPOV({
			'yaw': gSvPOV[0],
			'pitch': gSvPOV[1],
			'zoom': gSvPOV[2]
		});
	}, 4000);

	gView = view;
}

function jq(myid) {
	return '#'+myid.replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/,/g,"\\,");
}

// borrowed from http://australiansearchengine.wordpress.com/2009/04/15/convert-html-entities-from-xml-in-javascript/
String.prototype.convertHTMLEntity = function () {
	var myString = this;
	myString = myString.replace( /\&amp;/g, '&' );
	myString = myString.replace( /\&lt;/g, '<' );
	myString = myString.replace( /\&gt;/g, '>' );
	myString = myString.replace( /\&quot;/g, '"' );
	myString = myString.replace( /\&apos;/g, "'" );
	return myString;
}

/********************************************************************************
 * Function printf(format_string,arguments...)
 * Javascript emulation of the C printf function (modifiers and argument types 
 *    "p" and "n" are not supported due to language restrictions)
 *
 * Copyright 2003 K&L Productions. All rights reserved
 * http://www.klproductions.com 
 *
 * Terms of use: This function can be used free of charge IF this header is not
 *               modified and remains with the function code.
 * 
 * Legal: Use this code at your own risk. K&L Productions assumes NO resposibility
 *        for anything.
 ********************************************************************************/
function printf(fstring)
  { var pad = function(str,ch,len)
      { var ps='';
        for(var i=0; i<Math.abs(len); i++) ps+=ch;
        return len>0?str+ps:ps+str;
      }
    var processFlags = function(flags,width,rs,arg)
      { var pn = function(flags,arg,rs)
          { if(arg>=0)
              { if(flags.indexOf(' ')>=0) rs = ' ' + rs;
                else if(flags.indexOf('+')>=0) rs = '+' + rs;
              }
            else
                rs = '-' + rs;
            return rs;
          }
        var iWidth = parseInt(width,10);
        if(width.charAt(0) == '0')
          { var ec=0;
            if(flags.indexOf(' ')>=0 || flags.indexOf('+')>=0) ec++;
            if(rs.length<(iWidth-ec)) rs = pad(rs,'0',rs.length-(iWidth-ec));
            return pn(flags,arg,rs);
          }
        rs = pn(flags,arg,rs);
        if(rs.length<iWidth)
          { if(flags.indexOf('-')<0) rs = pad(rs,' ',rs.length-iWidth);
            else rs = pad(rs,' ',iWidth - rs.length);
          }    
        return rs;
      }
    var converters = new Array();
    converters['c'] = function(flags,width,precision,arg)
      { if(typeof(arg) == 'number') return String.fromCharCode(arg);
        if(typeof(arg) == 'string') return arg.charAt(0);
        return '';
      }
    converters['d'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,arg); 
      }
    converters['u'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,Math.abs(arg)); 
      }
    converters['i'] =  function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = ((Math.abs(arg)).toString().split('.'))[0];
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        return processFlags(flags,width,rs,arg); 
      }
    converters['E'] = function(flags,width,precision,arg) 
      { return (converters['e'](flags,width,precision,arg)).toUpperCase();
      }
    converters['e'] =  function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toExponential(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs.replace(/^(.*)(e.*)$/,'$1.$2');
        return processFlags(flags,width,rs,arg);        
      }
    converters['f'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toFixed(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs + '.';
        return processFlags(flags,width,rs,arg);
      }
    converters['G'] = function(flags,width,precision,arg)
      { return (converters['g'](flags,width,precision,arg)).toUpperCase();
      }
    converters['g'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        absArg = Math.abs(arg);
        rse = absArg.toExponential();
        rsf = absArg.toFixed(6);
        if(!isNaN(iPrecision))
          { rsep = absArg.toExponential(iPrecision);
            rse = rsep.length < rse.length ? rsep : rse;
            rsfp = absArg.toFixed(iPrecision);
            rsf = rsfp.length < rsf.length ? rsfp : rsf;
          }
        if(rse.indexOf('.')<0 && flags.indexOf('#')>=0) rse = rse.replace(/^(.*)(e.*)$/,'$1.$2');
        if(rsf.indexOf('.')<0 && flags.indexOf('#')>=0) rsf = rsf + '.';
        rs = rse.length<rsf.length ? rse : rsf;
        return processFlags(flags,width,rs,arg);        
      }  
    converters['o'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = Math.round(Math.abs(arg)).toString(8);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0'+rs;
        return processFlags(flags,width,rs,arg); 
      }
    converters['X'] = function(flags,width,precision,arg)
      { return (converters['x'](flags,width,precision,arg)).toUpperCase();
      }
    converters['x'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        arg = Math.abs(arg);
        var rs = Math.round(arg).toString(16);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0x'+rs;
        return processFlags(flags,width,rs,arg); 
      }
    converters['s'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = arg;
        if(rs.length > iPrecision) rs = rs.substring(0,iPrecision);
        return processFlags(flags,width,rs,0);
      }
    farr = fstring.split('%');
    retstr = farr[0];
    fpRE = /^([-+ #]*)(\d*)\.?(\d*)([cdieEfFgGosuxX])(.*)$/;
    for(var i=1; i<farr.length; i++)
      { fps=fpRE.exec(farr[i]);
        if(!fps) continue;
        if(arguments[i]!=null) retstr+=converters[fps[4]](fps[1],fps[2],fps[3],arguments[i]);
        retstr += fps[5];
      }
    return retstr;
  }
/* Function printf() END */


$(document).ready(function() {
	/* suggestions de recherche */
	$("#keywords").jSuggest({
		minchar: 3,
		opacity: 1.0,
		zindex: 20000,
		delay: 1000,
		loadingImg: 'images/ajax-loader.gif',
		loadingText: 'Recherche...',
		autoChange: true,
		url: "suggestion.php",
		type: "GET",
		data: "keywords" /* in this case it's suggestion.html?searchQuery=[text in the text field] */
	});

	/* pagination ajax */
	$('#smartypaginate-next, #smartypaginate-prev').livequery('click', function() {
		$('#content').load($(this).attr('href') + ' #content > *').fadeIn('slow');
		return false;
	});

	/* IE patch hard way ;) */
	if ($.browser.msie) {
		$('form.edit input, form.edit textarea, ' +
			'form.edit select, form.edit span.group').after('<br class="clearboth" />');
		$('ul.star-rating').attr('style', 'top: -12px;');
		$('ul.star-rating').parent().attr('style', 'float: left; height: 18px; width: 50px; vertical-align: middle');
		$('.templateSelect, #imgTemplateP').corner({
			tl: { radius: 15 },
			tr: { radius: 15 },
			bl: { radius: 15 },
			br: { radius: 15 },
			antiAlias: true,
			autoPad: true
		});
		$('fieldset.radiogroup').corner({
			tl: { radius: 1 },
			tr: { radius: 10 },
			bl: { radius: 10 },
			br: { radius: 10 },
			antiAlias: true,
			autoPad: true
		});
		$('fieldset.radiogroup legend').attr('style', 'margin-top: -12px !important;');
	}
	
	$('.trigger').prepend('&nbsp;').prepend('<img src="/images/plus.gif" width="10" height="10"/>')
				.next().hide();
	$('.trigger').toggle(
		function() { 
			$('.trigger img').attr('src', 'images/minus.gif'); 
			$(this).next().fadeIn('slow'); 
		}, 
		function() { 
			$('.trigger img').attr('src', 'images/plus.gif'); 
			$(this).next().fadeOut('slow'); 
		}
	);
	
	$('.nyromodal').each(function(i) {
		$(this).nyroModal({
			title: $(this).attr('title'),
			ajax: { data: {nyroModal: 1, ts: (new Date()).getTime()} },
			width: 650, 
			height: 600,
			endShowContent: function(elts, settings) {
				$('#map').jmap('init', {
					'mapType': 'map',
					'mapCenter': [48.856188, 2.335216],
					'mapEnableType': true,
					'language': 'fr',
					'mapEnableScaleControl': true,
					'mapControl': 'large',
					'mapEnableScrollZoom': true,
					'mapEnableSmoothZoom': true,
					'mapShowjMapsIcon': false,
					'mapZoom': 17
				});
			}
		});
	});
});
