$(document).ready(function() {
   $('.dateWrap').corner('10px');
  $('#sidebarNav').corner('10px')
   
  $('#nav a:not(.current)')
		.css( {backgroundPosition: "0px 100px"} )
		.mouseover(function(){
			$(this).stop().animate({backgroundPosition:"(0px 0px)"}, {duration:500})
		})
		.mouseout(function(){
			$(this).stop().animate({backgroundPosition:"(0px 100px)"}, {duration:500, complete:function(){
				$(this).css({backgroundPosition: "0px 100px"})
			}})
		})
   
   
   
     
   
   $("form").submit(function() {
	var error = 0
		$("#contact .required").each( function(){
			
			$(this).parent().removeClass('error')
			//$(this).parent().prev().addClass('error')
			
			switch($(this).attr('name')){
				case 'email':
					//checks email validation
  					var emailCheck = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					var emailVal = $(this).val()
					if(!emailVal.match(emailCheck)){
						$(this).parent().addClass('error');
						error++
					}
				break;
				
			
			
				default:
				if(!$(this).val().length > 0 ) {
					$(this).parent().addClass('error');
					error++;
				}
				
			}//end switch
	
		
		});
		
		if(error > 0) {
		//console.log('error');
		
			if($("#submit").parent().children('strong').length == 0){
				$("#submit").parent().append("<strong class='submitMessage'>Error: Invalid or Incomplete fields!</strong>")} else {
				
				$("#submit").parent().children('strong').replaceWith("<strong  class='submitMessage'>Error: Invalid or Incomplete fields!</strong>")
				}
				return false;
			} else {
			if($("#submit").parent().children('strong').length == 0){
				$("#submit").parent().append("<strong class='submitMessage'>Sending Message</strong>")} else {
				
				$("#submit").parent().children('strong').replaceWith("<strong  class='submitMessage'>Sending Message</strong>")
				}
			}
		
		});

		

randomStart()
generateSidebarContent()  
  
});



var sidebarContent = new Array("<p>I have really enjoyed working with Complya for our project needs.  They worked hard to find the right people for our projects, and provide on a continuing basis just the right amount of service we require.</p><p><strong>Victor Gangi, Global CMC, Pfizer</strong></p>","<p>We have worked with Complya for several years on clinical and GMP auditing projects and found Jonathan and his team to be highly experienced, flexible, dependable, very professional and just plain nice to do business with. We will continue to use their services for many years to come.</p><p><strong>Alina Rokicki, Director of Quality Assurance<br />Lisa Sperry, Senior Director of Quality<br />Dyax Corp.</strong></p>","<p><b>&ldquo;Why I consult at Complya&rdquo;</b><br />I am impressed with Complya's personal yet professional approach, taking the time to work together with its consulting staff, and the client, to get the right person for the job while focusing on interesting and engaging assignments</p><p><strong>John Guley, Sr. Regulatory Consultant</strong></p>","<p>Complya is seeking experienced QA (GXP) and Regulatory Affairs consultants to join our dynamic team for projects in the US and overseas.<br /><a href='careers.htm'><u>Visit</u></a> our Careers page for opportunities!</p>","<p>We couldn't have asked for a more professional, personable, knowledgeable group of Quality Experts!</p><p><strong>Wendy Moulton, Sr. QA Associate, Repligen Corporation</strong></p>");
var sideBarCounter = 0

function randomStart(){
	sideBarCounter= Math.floor(Math.random()*4);
	// console.log("sideBarCounter ="+sideBarCounter)
}

function generateSidebarContent() {
	//console.log(sideBarCounter)
	$('#testimonialsWrap').animate({opacity:0},"slow",function() {
	$('#testimonials').html(sidebarContent[sideBarCounter]);
	$('#testimonialsWrap').animate({opacity:1},"slow");
	advanceCounter();

	});

}

function advanceCounter() {

if(sideBarCounter < sidebarContent.length-1){sideBarCounter++} else {sideBarCounter = 0}
	setTimeout(generateSidebarContent,18000)
	//console.log("sidebarContent.length"+sidebarContent.length)
}

// Simulates PHP's date function
Date.prototype.format = function(format) {
        var returnStr = '';
        var replace = Date.replaceChars;
        for (var i = 0; i < format.length; i++) {               var curChar = format.charAt(i);                 if (i - 1 >= 0 && format.charAt(i - 1) == "\\") {
                        returnStr += curChar;
                }
                else if (replace[curChar]) {
                        returnStr += replace[curChar].call(this);
                } else if (curChar != "\\"){
                        returnStr += curChar;
                }
        }
        return returnStr;
};

Date.replaceChars = {
        shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        longMonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
        shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        longDays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],

        // Day
        d: function() { return (this.getDate() < 10 ? '0' : '') + this.getDate(); },
        D: function() { return Date.replaceChars.shortDays[this.getDay()]; },
        j: function() { return this.getDate(); },
        l: function() { return Date.replaceChars.longDays[this.getDay()]; },
        N: function() { return this.getDay() + 1; },
        S: function() { return (this.getDate() % 10 == 1 && this.getDate() != 11 ? 'st' : (this.getDate() % 10 == 2 && this.getDate() != 12 ? 'nd' : (this.getDate() % 10 == 3 && this.getDate() != 13 ? 'rd' : 'th'))); },
        w: function() { return this.getDay(); },
        z: function() { var d = new Date(this.getFullYear(),0,1); return Math.ceil((this - d) / 86400000); }, // Fixed now
        // Week
        W: function() { var d = new Date(this.getFullYear(), 0, 1); return Math.ceil((((this - d) / 86400000) + d.getDay() + 1) / 7); }, // Fixed now
        // Month
        F: function() { return Date.replaceChars.longMonths[this.getMonth()]; },
        m: function() { return (this.getMonth() < 9 ? '0' : '') + (this.getMonth() + 1); },
        M: function() { return Date.replaceChars.shortMonths[this.getMonth()]; },
        n: function() { return this.getMonth() + 1; },
        t: function() { var d = new Date(); return new Date(d.getFullYear(), d.getMonth(), 0).getDate() }, // Fixed now, gets #days of date
        // Year
        L: function() { var year = this.getFullYear(); return (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)); },       // Fixed now
        o: function() { var d  = new Date(this.valueOf());  d.setDate(d.getDate() - ((this.getDay() + 6) % 7) + 3); return d.getFullYear();}, //Fixed now
        Y: function() { return this.getFullYear(); },
        y: function() { return ('' + this.getFullYear()).substr(2); },
        // Time
        a: function() { return this.getHours() < 12 ? 'am' : 'pm'; },
        A: function() { return this.getHours() < 12 ? 'AM' : 'PM'; },
        B: function() { return Math.floor((((this.getUTCHours() + 1) % 24) + this.getUTCMinutes() / 60 + this.getUTCSeconds() / 3600) * 1000 / 24); }, // Fixed now
        g: function() { return this.getHours() % 12 || 12; },
        G: function() { return this.getHours(); },
        h: function() { return ((this.getHours() % 12 || 12) < 10 ? '0' : '') + (this.getHours() % 12 || 12); },
        H: function() { return (this.getHours() < 10 ? '0' : '') + this.getHours(); },
        i: function() { return (this.getMinutes() < 10 ? '0' : '') + this.getMinutes(); },
        s: function() { return (this.getSeconds() < 10 ? '0' : '') + this.getSeconds(); },
        u: function() { var m = this.getMilliseconds(); return (m < 10 ? '00' : (m < 100 ?
'0' : '')) + m; },
        // Timezone
        e: function() { return "Not Yet Supported"; },
        I: function() { return "Not Yet Supported"; },
        O: function() { return (-this.getTimezoneOffset() < 0 ? '-' : '+') + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? '0' : '') + (Math.abs(this.getTimezoneOffset() / 60)) + '00'; },
        P: function() { return (-this.getTimezoneOffset() < 0 ? '-' : '+') + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? '0' : '') + (Math.abs(this.getTimezoneOffset() / 60)) + ':00'; }, // Fixed now
        T: function() { var m = this.getMonth(); this.setMonth(0); var result = this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/, '$1'); this.setMonth(m); return result;},
        Z: function() { return -this.getTimezoneOffset() * 60; },
        // Full Date/Time
        c: function() { return this.format("Y-m-d\\TH:i:sP"); }, // Fixed now
        r: function() { return this.toString(); },
        U: function() { return this.getTime() / 1000; }
};









