﻿$(document).ready(
	function() {
		$.datepicker.setDefaults($.extend({yearRange: '-80:80', monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun','Jul','Aoû','Sep','Oct','Nov','Déc'],dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],dateFormat:'dd-mm-yy',showMonthAfterYear: false,changeMonth: true,changeYear: true,showOn: 'button', buttonImage: '/pics/calendar.gif', buttonImageOnly: true}, $.datepicker.regional['fr']));
		$(".calendar").datepicker($.datepicker.regional['fr']);

		$("#accordion").accordion({collapsible: true,fillSpace: false, autoHeight: false });

		$("#searchForm #searchword").autocomplete("/search_autocompletion.php").result(function(){document.searchForm.submit()});

		$("#itemForm #searchword").autocomplete("/search_autocompletion.php").result(function(){document.itemForm.submit()});

		var spt = $('span.mailme');
		var at = / gods /;
		var dot = / grace /g;

		for (var i = 0; i < spt.length; i++) {
			var item = spt[i]

			var addr = $(item).text().replace(at,"@").replace(dot,".");
			$(item).after('<a href="mailto:'+addr+'" >'+ addr +'</a>')
			.hover(function(){window.status="";}, function(){window.status="";});
			$(item).remove();
		}

	}
);

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

String.prototype.endsWith = function(t, i) {
	if (i==false) {
		return (t == this.substring(this.length - t.length));
	}
	else {
		return (t.toLowerCase() == this.substring(this.length - t.length).toLowerCase()); 
	}
}

function updateCounts(){

	if(document.itemForm && document.itemForm.displaymode && document.itemForm.displaymode.value >= 0){
		// bind to the form's submit event
		var queryString = $('#itemForm').formSerialize()+"&ajax=1";
		var url = window.location.href;
		$.ajax({url:url, data: queryString, success: updateResultsCount});
	}
}

function base64_decode (data) {
    // http://kevin.vanzonneveld.net
    // +   original by: Tyler Akins (http://rumkin.com)
    // +   improved by: Thunder.m
    // +      input by: Aman Gupta
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +   bugfixed by: Pellentesque Malesuada
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // -    depends on: utf8_decode
    // *     example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');
    // *     returns 1: 'Kevin van Zonneveld'
 
    // mozilla has this native
    // - but breaks in 2.0.0.12!
    //if (typeof this.window['btoa'] == 'function') {
    //    return btoa(data);
    //}
 
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, dec = "", tmp_arr = [];
 
    if (!data) {
        return data;
    }
 
    data += '';
 
    do {  // unpack four hexets into three octets using index points in b64
        h1 = b64.indexOf(data.charAt(i++));
        h2 = b64.indexOf(data.charAt(i++));
        h3 = b64.indexOf(data.charAt(i++));
        h4 = b64.indexOf(data.charAt(i++));
 
        bits = h1<<18 | h2<<12 | h3<<6 | h4;
 
        o1 = bits>>16 & 0xff;
        o2 = bits>>8 & 0xff;
        o3 = bits & 0xff;
 
        if (h3 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1);
        } else if (h4 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1, o2);
        } else {
            tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
        }
    } while (i < data.length);
 
    dec = tmp_arr.join('');
    dec = utf8_decode(dec);
 
    return dec;
}

function utf8_decode ( str_data ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +      input by: Aman Gupta
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Norman "zEh" Fuchs
    // +   bugfixed by: hitwork
    // +   bugfixed by: Onno Marsman
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: utf8_decode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'
 
    var tmp_arr = [], i = 0, ac = 0, c1 = 0, c2 = 0, c3 = 0;
    
    str_data += '';
    
    while ( i < str_data.length ) {
        c1 = str_data.charCodeAt(i);
        if (c1 < 128) {
            tmp_arr[ac++] = String.fromCharCode(c1);
            i++;
        } else if ((c1 > 191) && (c1 < 224)) {
            c2 = str_data.charCodeAt(i+1);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
            i += 2;
        } else {
            c2 = str_data.charCodeAt(i+1);
            c3 = str_data.charCodeAt(i+2);
            tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }
    }
 
    return tmp_arr.join('');
}


function howItWorks(){
	var img = "<img src='/pics/howitworks.png' border='0'/>";
	$("#msgdlg").html(img);
	$("#msgdlg").dialog('option','width','1000px');
	$("#msgdlg").dialog('open');
}

function showRegionSubmitDiv(sel){
	//$('.div_button').hide();

	if(sel.selectedIndex>0){
		$('#div_button_submit').show();
	}
}

function padding(s,l){
	var diff = l.length-s.length;
	var sub = l.substr(0, diff );
	return sub + s;
}

var entries = new Hashtable();
var allEntries = new Hashtable();
var entryKeys;
var entryKey0;
var entryKey1;
var entryValue;
var tmp;
var selectedParentValue = '';
var selectedSubValue = '';

function mySetSelectedValue(select,hiddenFieldId,submitDiv){
	var value = getSelectedValue(select);

	document.getElementById(hiddenFieldId).value = value;

	updateCounts();
}

function populateSub(parentId, subId, hiddenFieldId, selectedParentValue, selectedSubValue, submitDiv, search){

	var p = document.getElementById(parentId);
	var index = p.selectedIndex;

	var subDiv = document.getElementById(subId);

	// Reset subdiv content 
	subDiv.innerHTML = "";

	if(selectedParentValue != ''){
		for(var k=0; k < p.options.length; k++){
			if(p.options[k].text == selectedParentValue){
				index = k;
				document.getElementById(hiddenFieldId).value = selectedSubValue;
				break;
			}
		}
	}

	p.selectedIndex = index;

	var value = p.options[index].text;

	if(index>0){
		var queryString = {si:subId, q:value, q1:hiddenFieldId, type:'sq', ssv:selectedSubValue, sd:submitDiv};
		var url = "/search_autocompletion.php";

		$.getJSON(url, queryString, populateSubSub);
	}
	
}

function populateSubSub(data, textStatus){
	var subEntries = data.entries;

	var subId = data.subId;

	var subDiv = document.getElementById(subId);

	if(subEntries){

		var subDivContent = "<select onchange=\"mySetSelectedValue(this,'"+data.hiddenFieldId+"','"+data.submitDiv+"')\">";
		subDivContent += "<option value=\"\">--</option>";

		var selected = '';

		for(var i=0; i < subEntries.length;i++){
			selected = '';
			if(data.selectedSubValue == subEntries[i].value){
				selected = 'selected';
			}
			subDivContent += "<option "+selected+" value=\""+subEntries[i].value+"\">"+subEntries[i].text+"</option>\r\n";
		}

		subDivContent += "</select>";

		subDiv.innerHTML = subDivContent;
	}
}

function getSelectedValue(select){
	var index = select.selectedIndex;
	if(index>=0){
		return select.options[index].value;
	}
	else{
		return "";
	}
}

function getSelectedText(select){
	var index = select.selectedIndex;
	if(index>=0){
		return select.options[index].text;
	}
	else{
		return "";
	}
}

function setSelectedValue(select,value){
	if(document.getElementById(select)){
		select = document.getElementById(select);
	}
	if(select && select.options){
		for(var tkk=0; tkk<select.options.length; tkk++){
			if(select.options[tkk].value==value){
				select.selectedIndex = tkk;
				return;
			}
		}
	}
}


$(document).ready(function() {

	$('#ad_description , #vendor_cgu , #vendor_profile,#vendor_impressum, #vendor_box1_content,#vendor_box2_content,#vendor_box3_content').tinymce({
		// Location of TinyMCE script
		//script_url : '/tiny_mce/tiny_mce.js',

		// General options
		theme : "advanced",
		plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

		// Theme options
		theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,forecolor,backcolor,|,sub,sup,|,charmap,hr,",

		theme_advanced_buttons3 : "",
		//theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",

		theme_advanced_resizing : true,
		disk_cache : true,

		font_size_style_values : '6px,7px,9px,11px,13px,16px,24px',

		// Example content CSS (should be your site CSS)
		//content_css : "css/content.css",

		// Drop lists for link/image/media/template dialogs
		//template_external_list_url : "lists/template_list.js",
		//external_link_list_url : "lists/link_list.js",
		//external_image_list_url : "lists/image_list.js",
		//media_external_list_url : "lists/media_list.js",

		language : 'fr',
		width : "100%",
		height : "300",
		entity_encoding : "raw"

		// Replace values for the template plugin
		//template_replace_values : {
		//	username : "Some User",
		//	staffid : "991234"
		//}
	});
});