if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) {
var viewportmeta = document.querySelectorAll('meta[name="viewport"]')[0];
if (viewportmeta) {
viewportmeta.content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0';
document.body.addEventListener('gesturestart', function() {
viewportmeta.content = 'width=device-width, minimum-scale=0.25, maximum-scale=1.6';
}, false);
}
}

var imgSizer = {
	Config : {
		imgCache : []
		,spacer : "./img/spacer.gif"
	}

	,collate : function(aScope) {
		var isOldIE = (document.all && !window.opera && !window.XDomainRequest) ? 1 : 0;
		if (isOldIE && document.getElementsByTagName) {
			var c = imgSizer;
			var imgCache = c.Config.imgCache;

			var images = (aScope && aScope.length) ? aScope : document.getElementsByTagName("img");
			for (var i = 0; i < images.length; i++) {
				images[i].origWidth = images[i].offsetWidth;
				images[i].origHeight = images[i].offsetHeight;

				imgCache.push(images[i]);
				c.ieAlpha(images[i]);
				images[i].style.width = "100%";
			}

			if (imgCache.length) {
				c.resize(function() {
					for (var i = 0; i < imgCache.length; i++) {
						var ratio = (imgCache[i].offsetWidth / imgCache[i].origWidth);
						imgCache[i].style.height = (imgCache[i].origHeight * ratio) + "px";
					}
				});
			}
		}
	}

	,ieAlpha : function(img) {
		var c = imgSizer;
		if (img.oldSrc) {
			img.src = img.oldSrc;
		}
		var src = img.src;
		img.style.width = img.offsetWidth + "px";
		img.style.height = img.offsetHeight + "px";
		img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"
		img.oldSrc = src;
		img.src = c.Config.spacer;
	}

	// Ghettomodified version of Simon Willison's addLoadEvent() -- http://simonwillison.net/2004/May/26/addLoadEvent/
	,resize : function(func) {
		var oldonresize = window.onresize;
		if (typeof window.onresize != 'function') {
			window.onresize = func;
		} else {
			window.onresize = function() {
				if (oldonresize) {
					oldonresize();
				}
				func();
			}
		}
	}
}


//Email validation regex
function validateEmail(elementValue){  
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9]+([.-]?[a-zA-Z0-9]+)?([\.]{1}[a-zA-Z]{2,4}){1,4}$/;
	return emailPattern.test(elementValue);  
}  

//Detecting browser for specific CSS styling
//example: html[browser="Safari"][version="5"][os="iPhone/iPod"] a { color: blue; }

var BrowserDetect = {
    init: function () {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
        || this.searchVersion(navigator.appVersion)
        || "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";

        var b = document.documentElement;
        b.setAttribute('browser',  this.browser);
        b.setAttribute('version', this.version );		
        b.setAttribute('os', this.OS);
    },
    searchString: function (data) {
        for (var i=0;i<data.length;i++)	{
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                return data[i].identity;
            }
            else if (dataProp)
            return data[i].identity;
        }
    },
    searchVersion: function (dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
    },
    dataBrowser: [
    {
        string: navigator.userAgent,
        subString: "Chrome",
        identity: "Chrome"
    },
    { 	string: navigator.userAgent,
        subString: "OmniWeb",
        versionSearch: "OmniWeb/",
        identity: "OmniWeb"
    },
    {
        string: navigator.vendor,
        subString: "Apple",
        identity: "Safari",
        versionSearch: "Version"
    },
    {
        prop: window.opera,
        identity: "Opera",
        versionSearch: "Version"
    },
    {
        string: navigator.vendor,
        subString: "iCab",
        identity: "iCab"
    },
    {
        string: navigator.vendor,
        subString: "KDE",
        identity: "Konqueror"
    },
    {
        string: navigator.userAgent,
        subString: "Firefox",
        identity: "Firefox"
    },
    {
        string: navigator.vendor,
        subString: "Camino",
        identity: "Camino"
    },
    {		// for newer Netscapes (6+)
        string: navigator.userAgent,
        subString: "Netscape",
        identity: "Netscape"
    },
    {
        string: navigator.userAgent,
        subString: "MSIE",
        identity: "Explorer",
        versionSearch: "MSIE"
    },
    {
        string: navigator.userAgent,
        subString: "Gecko",
        identity: "Mozilla",
        versionSearch: "rv"
    },
    { 		// for older Netscapes (4-)
        string: navigator.userAgent,
        subString: "Mozilla",
        identity: "Netscape",
        versionSearch: "Mozilla"
    }
    ],
    dataOS : [
    {
        string: navigator.platform,
        subString: "Win",
        identity: "Windows"
    },
    {
        string: navigator.platform,
        subString: "Mac",
        identity: "Mac"
    },
    {
        string: navigator.userAgent,
        subString: "iPhone",
        identity: "iPhone/iPod"
    },
    {
        string: navigator.platform,
        subString: "Linux",
        identity: "Linux"
    }
    ]

};
BrowserDetect.init();

//Search site with Google API
$(function() {

	var config = {
		siteURL		: 'fisci.com',	// Change this to your site
		searchSite	: true,
		type		: 'web',
		append		: false,
		perPage		: 8,			// A maximum of 8 is allowed by Google
		page		: 0				// The start page
	}
	
	var searchUrl = "http://www.fisci.com/search-results.php";
	if(window.location == searchUrl){
	//extract the value from the hidden input
		var x = $('#extracted').val();
		googleSearch(x);
		return false;
	}	
	
	function googleSearch(settings){

	// If no parameters are supplied to the function,
	// it takes its defaults from the config object above:

	settings = $.extend({},config,settings);
	settings.term = settings.term || $('#extracted').val();

	if(settings.searchSite){
		// Using the Google site:example.com to limit the search to a
		// specific domain:
		settings.term = 'site:'+settings.siteURL+' '+settings.term;
	}

	// URL of Google's AJAX search API
	var apiURL = 'http://ajax.googleapis.com/ajax/services/search/'+settings.type+
					'?v=1.0&callback=?';
	var resultsDiv = $('#resultsDiv');

	$.getJSON(apiURL,{
		q	: settings.term,
		rsz	: settings.perPage,
		start	: settings.page*settings.perPage
	},function(r){

		var results = r.responseData.results;
		$('#more').remove();

		if(results.length){

			// If results were returned, add them to a pageContainer div,
			// after which append them to the #resultsDiv:

			var pageContainer = $('<div>',{className:'pageContainer'});

			for(var i=0;i<results.length;i++){
				// Creating a new result object and firing its toString method:
				pageContainer.append(new result(results[i]) + '');
			}

			if(!settings.append){
				// This is executed when running a new search,
				// instead of clicking on the More button:
				resultsDiv.empty();
			}

			pageContainer.append('<div class="clear"></div>')
						 .hide().appendTo(resultsDiv)
						 .fadeIn('slow');

			var cursor = r.responseData.cursor;

			// Checking if there are more pages with results,
			// and deciding whether to show the More button:

			if( +cursor.estimatedResultCount > (settings.page+1)*settings.perPage){
				$('<div>',{id:'more'}).appendTo(resultsDiv).click(function(){
					googleSearch({append:true,page:settings.page+1});
					$(this).fadeOut();
				});
			}
		}
		else {

			// No results were found for this search.

			resultsDiv.empty();
			$('<p>',{
				className	: 'notFound',
				html		: 'No Results Were Found!'
			}).hide().appendTo(resultsDiv).fadeIn();
		}
	});
}

	function result(r){

		// This is class definition. Object of this class are created for
		// each result. The markup is generated by the .toString() method.

		var arr = [];

		// GsearchResultClass is passed by the google API
		switch(r.GsearchResultClass){

			case 'GwebSearch':
				arr = [
					'<div class="webResult">',
					'<h2><a href="',r.url,'">',r.title,'</a></h2>',
					'<p>',r.content,'</p>',
					'<a href="',r.url,'">',r.visibleUrl,'</a>',
					'</div>'
				];
			break;
			case 'GimageSearch':
				arr = [
					'<div class="imageResult">',
					'<a href="',r.url,'" title="',r.titleNoFormatting,
					'" class="pic" style="width:',r.tbWidth,'px;height:',r.tbHeight,'px;">',
					'<img src="',r.tbUrl,'" width="',r.tbWidth,'" height="',
					r.tbHeight,'" /></a>','<div class="clear"></div>',
					'<a href="',r.originalContextUrl,'">',r.visibleUrl,'</a>',
					'</div>'
				];
			break;
			case 'GnewsSearch':
				arr = [
					'<div class="webResult">',
					'<h2><a href="',r.unescapedUrl,'">',r.title,'</a></h2>',
					'<p>',r.content,'</p>',
					'<a href="',r.unescapedUrl,'">',r.publisher,'</a>',
					'</div>'
				];
			break;
		}

		// The toString method.
		this.toString = function(){
			return arr.join('');
		}
	}
	
	//Removing text from slideshow forward/backward links
	var slideshow_nav = $('.ie8 #slider, .ie7 #slider').mouseover(function(){
		$(this).find('.nivo-nextNav, .nivo-prevNav').html('&nbsp;').width(30);
	});
	
	//Invert colors for main nav items
	/*$('nav ul li a').mouseover(function(){
		$(this).parent().siblings().children().css('color', '#8d9dd4');
		$(this).mouseout(function(){
			$(this).parent().siblings().children().css('color', 'white');
		});
	});*/
	
	//Full area click on homepage	
	$('.subsection div').click(function(){
		var innerLink = $(this).children('a').attr('href');
		window.location = innerLink;
	});
	
	//Subnav list item click
	$('#subnav li').click(function(){
		var subnavLink = $(this).children().attr('href');
		window.location = subnavLink;
	});
	
	//Gallery slider
    $('#slider').nivoSlider({effect:'fade', controlNavThumbs:true, controlNavThumbsFromRel:true, pauseTime: 6000});
	
	//Placeholder for non-supporting browsers
	$('input, textarea').placeholder();
	
	//News Accordian sidebar
	$('.acc_container').hide(); //Hide/close all containers
	$('.acc_trigger:contains(FSC)').addClass('active').next().show(); //Add "active" class to first trigger, then show/open the immediate next container

	//On Click
	$('.acc_trigger').click(function(){
		if( $(this).next().is(':hidden') ) { //If immediate next container is closed...
			$('.acc_trigger').removeClass('active').next().slideUp(); //Remove all "active" state and slide up the immediate next container
			$(this).toggleClass('active').next().slideDown(); //Add "active" state to clicked trigger and slide down the immediate next container
		}
		return false; //Prevent the browser jump to the link anchor
	});

	$('.acc_trigger').click(function(){	
		if( $('h2.acc_trigger:first-child, h2.acc_trigger:nth-child(3)').hasClass('active') ){
			$('h2.acc_trigger:nth-child(5)').css({'-webkit-border-radius' : '0px 0px 6px 6px', 'border-radius' : '0px 0px 6px 6px', 'border-bottom' : 'none'});
		}
		if( $('h2.acc_trigger:nth-child(5)').hasClass('active') ){
			$('h2.acc_trigger:nth-child(5)').css({'-webkit-border-radius' : '0px 0px 6px 6px', 'border-radius' : '0px 0px 0px 0px'});
		}
	});
	
	
	//Contact submit
	$('.error').hide();

	$("#info-submit").submit(function(){
		
		// validate and process form
		// first hide any error messages
    	$('.error').hide();
		
	  	var name = $("input#name-input").val();
		if (name == "") {
      		$("p#name_error").show();
      		$("input#name-input").focus();
      		return false;
    	}
		
		var company = $("input#company-input").val();
		if (company == "") {
      		$("p#company_error").show();
      		$("input#company-input").focus();
      		return false;
    	}
		
		var phone = $("input#phone-input").val();
		if (phone == "") {
      		$("p#phone_error").show();
      		$("input#phone-input").focus();
      		return false;
    	}
		
		var email = $("input#email-input").val();
		if(validateEmail(email) == false){
			$("p#emailvalidate_error").show();
      		$("input#email-input").focus();
			return false;
		}
		
		var companyurl = $("input#companyurl-input").val();
		if (companyurl == "") {
      		$("p#companyurl_error").show();
      		$("input#companyurl-input").focus();
      		return false;
    	}
	
		var name = $("input#name-input").val();
		var title = $("input#title-input").val();
		var company = $("input#company-input").val();
		var address = $("input#address-input").val();
		var city = $("input#city-input").val();
		var state = $("input#state-input").val();
		var zipcode = $("input#zipcode-input").val();
		var country = $("input#country-input").val();
		var phone = $("input#phone-input").val();
		var fax = $("input#fax-input").val();
		var email = $("input#email-input").val();
		var companyurl = $("input#companyurl-input").val();
		var interest = $("select#interest-select").val();
		var other = $("input#other-input").val();
		var source = $("select#source-select").val();
		var other2 = $("input#other2-input").val();
		var comments = $("textarea#comments-input").val();

		var dataString = 'thename='+ name + '&thetitle=' + title + '&thecompany=' + company + '&theaddress=' + address + '&thecity=' + city + '&thestate=' + state + '&thezipcode=' + zipcode + '&thecountry=' + country + '&thephone=' + phone + '&thefax=' + fax + '&theemail=' + email + '&thecompanyurl=' + companyurl + '&theinterest=' + interest + '&theother=' + other + '&thesource=' + source + '&theother2=' + other2 + '&thecomments=' + comments;
		
		$.ajax({
      		type: "POST",
      		url: "../contact.php",
      		data: dataString,
      		success: function() {
        		$('#info-submit+p').append(document.createTextNode(" "+name+"!")).slideDown(400).delay(1800).slideUp(400);
      		},
			error: function() {
				alert('Could not contact server.');
			}
     	});
    	return false;
	});

	$('#reset-btn').click(function(){
		$('.error').fadeOut('slow');
	});

	//Subscription submission confirmation
	$(".subscribe button").click(function() {
		// validate and process form
		// first hide any error messages
    	$('.error').hide();
		
	  	var name = $("input#name").val();
		if (name == "") {
      		$("label#name_error").show();
      		$("input#name").focus();
      		return false;
    	}
		
		var email = $("input#email").val();
		if(validateEmail(email) == false){
			$("label#emailvalidate_error").show();
      		$("input#email").focus();
			return false;
		}
		
		var dataString = 'thisname='+ name + '&thisemail=' + email;

		$.ajax({
      		type: "POST",
      		url: "./process.php",
      		data: dataString,
      		success: function() {
        		$('#subscribe-form+p').append(document.createTextNode(" "+name+"!")).slideDown(400).delay(1800).slideUp(400);
      		}
     	});
    	return false;
	});

	
	//Download overview submission
	$('#product-overview img').click(function(){
		$('#download-form').slideDown(400);
	});
	
	$('.verify-button').click(function(){
		// validate and process form
		// first hide any error messages
    	$('.error').hide();
		
	  	var name = $("input#subscriber").val();
		if (name == "") {
      		$("p#name_error").show();
      		$("input#subscriber").focus();
      		return false;
    	}
		
		var email = $("input#subscriber-email").val();
		if(validateEmail(email) == false){
			$("p#emailvalidate_error").show();
      		$("input#subscriber-email").focus();
			return false;
		}
		
		var company = $("input#subscriber-company").val();
		if (company == ""){
			$("p#company_error").show();
      		$("input#subscriber-company").focus();
			return false;
		}
		
		var product;
		var str = document.URL;
		
		var urlcheck = str.lastIndexOf("/"); //in this current case the index is 34
		var finalproduct = urlcheck + 1;
		var newstring = str.substring(finalproduct);
		
		//compares the end of the string and matches it up to the file on the server
		if(newstring == "loan-administration") {
   			product = "ATOM Affiliate Loans";
		} 
		else if(newstring == "money-market-trading"){
			product = "ATOM Money Market Trading";
		}
		else if(newstring == "cash-and-in-house-banking"){
			product = "ATOM Cash Management";
		}
		else if(newstring == "syndications"){
			product = "ATOM Syndications";
		}
		
		var dataString = 'name='+ name + '&email=' + email + '&company=' + company + '&product=' + product;

		$.ajax({
      		type: "POST",
      		url: "../emailattach.php",
      		data: dataString,
      		success: function() {
        		$('.confirm-message').slideDown(400).delay(2200).slideUp(400);
				$('#download-form').delay(2600).slideUp(400);
				
      		}
     	});
    	return false;
	});

	
	$('.cancel-button').click(function(){
		$('#download-form').slideUp(400);
		$('.error').hide();
	});
});
