// Custom utility functions
var globalTitle = false; 

function toTitleCase(str) {
    return str.substr(0,1).toUpperCase() + str.substr(1).toLowerCase();
}      

function formatTitle(title) {
	
	globalTitle = false; 
	
	switch (title)
	{
		case '/' :
			myTitle = 'Webdesigner freelance Paris, Infographiste independant : Graphikwebstudio - Graphiste Webdesigner Paris';
			break;
		case '/profil/' :
			myTitle = 'Graphiste Webdesigner freelance : Graphikwebstudio - Graphiste independant Paris';
			break;
		case '/prestations-web-multimedia/' :
			myTitle = 'Mission freelance graphisme, Webdesigner Paris : Graphikwebstudio - Graphiste designer freelance';
			break;
		case '/prestations-print/' : //MANQUE
			myTitle = 'Creation de logos, chartes graphiques, affiches, flyers, brochures - Paris';
			break;
		case '/prestations-photographie/' : //MANQUE
			myTitle = 'Realisation de cliches, retouche photos - Paris';
			break;
		case '/portfolio-web-multimedia/' :
			myTitle = 'Portfolio graphiste freelance Web, infographiste webdesigner : Graphikwebstudio - Graphiste freelance Paris';
			globalTitle = true; 
			break;
		case '/portfolio-print/' :
			myTitle = 'Mission graphiste freelance, creation plaquette : Graphikwebstudio - infographiste freelance Paris';
			globalTitle = true; 
			break;
		case '/portfolio-illustrations/' : //MANQUE
			myTitle = 'Creation d\'illustrations - Paris';
			globalTitle = true; 
			break;
		case '/portfolio-photos/' : //MANQUE
			myTitle = 'Graphiste freelance - Conception web et graphique - Paris';
			globalTitle = true; 
			break;
		case '/contact/' :
			myTitle = 'Recherche infographiste freelance, studio de creation graphique : Graphikwebstudio - Web designer graphiste';
			break;
		case '/demande-de-devis/' :
			myTitle = 'Devis graphiste freelance, prix graphiste free lance : Graphikwebstudio';
			break;
		case '/plan-du-site/' : //MANQUE
			myTitle = 'Graphiste/Webdesigner freelance - Conception et realisation de sites internet, print - Graphiste freelance - Paris';
			break;
			
		case '/travaillez-votre-image-avec-un-infographiste-independant/' :
			myTitle = 'Infographiste freelance, studio de creation graphique : Graphikwebstudio';
			globalTitle = true; 
			break;
		case '/la-creation-de-votre-site-par-un-webdesigner-graphiste/' : //MANQUE
			myTitle = 'Webdesigner graphiste, Webdesigner freelance : Graphikwebstudio';
			globalTitle = true; 
			break;
		case '/graphisme-et-web-design-deux-metiers-etroitement-lies/' : //MANQUE
			myTitle = 'webdesigner, graphiste webdesigner : Graphikwebstudio';
			globalTitle = true; 
			break;
		case '/a-la-recherche-d-infographistes-freelance-de-talent/' :
			myTitle = 'Recherche infographiste freelance, mission freelance graphisme : Graphikwebstudio';
			break;
		case '/contactez-nous-afin-d-evaluer-le-cout-d-une-mission-freelance-dans-le-graphisme/' :
			myTitle = 'Prix d\'un graphiste freelance, devis mission freelance en graphisme : Graphikwebstudio';
			break;
			
		default :
			break;
	}
	
    //return 'GraphikWebStudio' + (title != '/' ? ' / ' + toTitleCase(title.substr(1, title.length - 2).replace(/\//g, ' / ')) : '');
    return myTitle;
}

function setFooter(whichPart) {
		
	switch (whichPart)
	{
		case '/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, Graphiste freelance &agrave; Paris</span></p>';
			break;
		case '/profil/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, Graphiste Webdesigner freelance.</span></p>			';
			break;
		case '/prestations-web-multimedia/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, mission freelance graphisme.</span></p>			';
			break;
		case '/prestations-print/' : //MANQUE
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, mission freelance graphisme.</span></p>			';
			break;
		case '/prestations-photographie/' : //MANQUE
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, mission freelance graphisme.</span></p>			';
			break;
		case '/portfolio-web-multimedia/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, portfolio graphiste freelance Web.</span></p>';
			break;
		case '/portfolio-print/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, mission graphiste freelance</span></p>';
			break;
		case '/portfolio-illustrations/' : //MANQUE
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, portfolio graphiste freelance Web.</span></p>';
			break;
		case '/portfolio-photos/' : //MANQUE
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, portfolio graphiste freelance Web.</span></p>';
			break;
		case '/contact/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, studio de cr&eacute;ation graphique.</span></p>';
			break;
		case '/demande-de-devis/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, devis graphiste freelance &agrave; Paris</span></p>';
			break;
		case '/plan-du-site/' : //MANQUE
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, devis graphiste freelance &agrave; Paris</span></p>';
			break;

		case '/travaillez-votre-image-avec-un-infographiste-independant/' : //MANQUE
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, Graphiste freelance &agrave; Paris</span></p>';
			break;
		case '/la-creation-de-votre-site-par-un-webdesigner-graphiste/' : //MANQUE
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, Graphiste freelance &agrave; Paris</span></p>';
			break;
		case '/graphisme-et-web-design-deux-metiers-etroitement-lies/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, Graphiste freelance &agrave; Paris</span></p>';
			break;
		case '/a-la-recherche-d-infographistes-freelance-de-talent/' :
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, Graphiste freelance &agrave; Paris</span></p>';
			break;
		case '/contactez-nous-afin-d-evaluer-le-cout-d-une-mission-freelance-dans-le-graphisme/' : //MANQUE
			myFooter = '<p> <span class="orange">Graphikwebstudio</span><span class="grey2">, <a href="http://www.graphikwebstudio.com/">Webdesigner freelance &agrave; Paris</a>, est sp&eacute;cialis&eacute;e dans la conception et la r&eacute;alisation de support web pour la  Cr&eacute;ation de sites internet / refonte de sites internet, charte graphique, cr&eacute;ation de logo, identit&eacute; visuelle mais aussi brochure, plaquette, carte de visite, carton d\'invitation, affiche, flyer... Graphikwebstudio, Graphiste freelance &agrave; Paris</span></p>';
			break;

		default :
			break;
	}
	
    //return 'GraphikWebStudio' + (title != '/' ? ' / ' + toTitleCase(title.substr(1, title.length - 2).replace(/\//g, ' / ')) : '');
    $('#my-footer').html(myFooter);
	//return myFooter;
}


// Custom SWFAddress and Ajax handling

function getTransport() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        try {
            return new ActiveXObject('Msxml2.XMLHTTP');
        } catch(e) {
            return new ActiveXObject('Microsoft.XMLHTTP');
        }
    }
}

function appear(content, value) {
    if (typeof value == 'undefined') value = 0;
    var property = content.filters ? 'filter' : 'opacity';
    if (value == 100) {
        if (content.style.removeAttribute) {
            content.style.removeAttribute(property);
        } else {
            content.style[property] = 1;
        }
    } else {
        content.style[property] = content.filters ? 'alpha(opacity=' + value + ')' : value/100;
        setTimeout(function () {appear(content, value + 20)}, 50);
    }
}

function updateChange(xhr) {
    if (xhr.readyState == 4) {
        if (xhr.status == 200) {
            var content = document.getElementById('content');
            content.innerHTML = xhr.responseText;
            appear(content);
						
			initRefresh();

            /*var links = document.getElementById('social').getElementsByTagName('a');
            for (var i = 0, link, parts, pairs; link = links[i]; i++) {
                parts = link.href.split('?');
                pairs = parts[1].split('&');
                for (var j = 0, params; j < pairs.length; j++) {
                    params = pairs[j].split('=');
                    if (params[0] == 'url' || params[0] == 'u' || params[0] == 'bkmk')
                        pairs[j] = params[0] + '=' + SWFAddress.getBaseURL() + SWFAddress.getValue();
                    if (params[0] == 'title' || params[0] == 't')
                        pairs[j] = params[0] + '=' + SWFAddress.getTitle();
                }
                link.href = parts[0] + '?' + pairs.join('&');
            }*/
        } else {
            alert('Error: ' + xhr.status + '!');
        }
    }
}

function handleChange(event) {
    var index, rel, links = document.getElementsByTagName('a'), path = event.path;
    if (path.substr(path.length - 1) != '/') {
    	path += '/';
    }
    for (var i = 0, l, link; link = links[i]; i++) {
        index = link.rel.indexOf('?');
        rel = (index > -1) ? link.rel.substr(0, index) : link.rel;
        link.className = (rel == path) ? 'selected' : '';
    }
    var parameters = '';
    for (var p in event.parameters) {
        parameters += '&' + p + '=' + event.parameters[p];
    }
    var xhr = getTransport();
    xhr.onreadystatechange = function() {
        updateChange(xhr);
    }
    xhr.open('get', 'datasource.php?swfaddress=' + event.path + parameters, true);
    xhr.send('');
    SWFAddress.setTitle(formatTitle(event.path));
	
	setFooter(event.path);
}

function copyLink() {
    if (window.clipboardData && clipboardData.setData) {
        clipboardData.setData('Text', SWFAddress.getBaseURL() + SWFAddress.getValue());
    } else {
        alert('Unsupported browser.');
    }
}

SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
