/*
 * contactable 1.0 - jQuery Ajax contact form
 *
 * Copyright (c) 2009 Philip Beel (http://www.theodin.co.uk/)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Revision: $Id: jquery.contactable.js 2009-08-24 $
 *
 */
 
//extend the plugin
(function($){

	//define the new for the plugin ans how to call it	
	$.fn.contactable = function(options) {
		//set default options  
		var defaults = {
			name: 'Name',
			email: 'Email',
			phone: 'Phone',
			message : 'Message',
			recipient : 'vsitinfo@gmail.com',
			subject : 'A Enquiry message from (vsitdwarka.com)',
			recievedMsg : 'Thankyou for your message, Our technical co-oridinator will revert back you soon.',
			notRecievedMsg : 'Sorry but your message could not be sent, try again later',
			disclaimer: 'Please feel free to get in contact, we value your message.'
		};

		//call in the default otions
		var options = $.extend(defaults, options);
		//act upon the element that is passed into the design    
		return this.each(function(options) {
			//construct the form
			$(this).html('<div id="contactable"></div><form id="contactForm" method="" action="#"><div id="loading"></div><div id="callback"></div><div class="holder"><input type="hidden" id="recipient" name="recipient" value="'+defaults.recipient+'" /><input type="hidden" id="subject" name="subject" value="'+defaults.subject+'" /><p><label for="name">Name <span class="red"> * </span></label><br /><input id="name" class="contact" name="name" /></p><p><label for="email">E-Mail <span class="red"> * </span></label><br /><input id="email" class="contact" name="email" /></p><p><label for="email">Contact No. <span class="red"> * </span></label><br /><input id="phone" class="contact" name="phone" /></p><p><label for="comment">Your Message <span class="red"> * </span></label><br /><textarea id="comment" name="comment" class="comment" rows="4" cols="30" ></textarea></p><p><label for="Convenient">Convenient Time to Call:</label><br />Between <select style="width:115px;" id="amtime" name="amtime">		<option value="08">08</option>		<option value="09">09</option>		<option value="10">10</option>		<option value="11">11</option>		<option value="12">12</option>		<option value="13">13</option>		<option value="14">14</option>		<option value="15">15</option>		<option value="16">16</option>		<option value="17">17</option>		<option value="18">18</option>		<option value="19">19</option>		<option value="20">20</option>	</select> AM                                                                 <select style="width:115px;" id="pmtime" name="pmtime"><option value="00">00</option>		<option value="01">01</option>		<option value="02">02</option>		<option value="03">03</option>		<option value="04">04</option>		<option value="05">05</option>		<option value="06">06</option>		<option value="07">07</option>		<option value="08">08</option>		<option value="09">09</option>		<option value="10">10</option>		<option value="11">11</option>		<option value="12">12</option>		<option value="13">13</option>		<option value="14">14</option>		<option value="15">15</option>		<option value="16">16</option>		<option value="17">17</option>		<option value="18">18</option>		<option value="19">19</option>		<option value="20">20</option>		<option value="21">21</option>		<option value="22">22</option>		<option value="23">23</option>		<option value="24">24</option>		<option value="25">25</option>		<option value="26">26</option>		<option value="27">27</option>		<option value="28">28</option>		<option value="29">29</option>		<option value="30">30</option>		<option value="31">31</option>		<option value="32">32</option>		<option value="33">33</option>		<option value="34">34</option>		<option value="35">35</option>		<option value="36">36</option>		<option value="37">37</option>		<option value="38">38</option>		<option value="39">39</option>		<option value="40">40</option>		<option value="41">41</option>		<option value="42">42</option>		<option value="43">43</option>		<option value="44">44</option>		<option value="45">45</option>		<option value="46">46</option>		<option value="47">47</option>		<option value="48">48</option>		<option value="49">49</option>		<option value="50">50</option>		<option value="51">51</option>		<option value="52">52</option>		<option value="53">53</option>		<option value="54">54</option>		<option value="55">55</option>		<option value="56">56</option>		<option value="57">57</option>		<option value="58">58</option>		<option value="59">59</option>	</select> PM</p><p><input class="submit" type="button" value="Send" id="sendEnq"/></p><p>'+defaults.disclaimer+'</p></div></form>');
			//show / hide function
			$('div#contactable,#contt').click(function() {
				$('#overlay').css({display: 'block'});
				
				if($('div#contactable').css("marginLeft")=="-5px" || $('div#contactable').css("marginLeft")=="0px"){
					
					$('div#contactable').animate({"marginLeft": "+=387px"}, "slow"); 
					
					$('#contactForm').animate({"marginLeft": "+=390px"}, "slow"); 
				}
				else{
					
					$('#contactForm').animate({"marginLeft": "-=390px"}, "slow");
					$('div#contactable').animate({"marginLeft": "-=387px"}, "slow"); 
					$('#overlay').css({display: 'none'});
				}
				
			}, 
			function() {
				$('#contactForm').animate({"marginLeft": "-=390px"}, "slow");
				$('div#contactable').animate({"marginLeft": "-=387px"}, "slow").animate({"marginLeft": "+=5px"}, "fast"); 
				$('#overlay').css({display: 'none'});
			});
			
			//validate the form 
			$("#contactForm").validate({
				//set the rules for the fild names
				rules: {
					name: {
						required: true,
						minlength: 2
					},
					email: {
						required: true,
						email: true
					},
					phone: {
						required: true,
						phone: true
					},
					comment: {
						required: true
					}
				},
				//set messages to appear inline
				messages: {
					name: "Please enter your name.",
					email: "Please enter your email id.",
					phone: "Please enter your phone number.",
					comment: "Please enter your message."
				},
				submitHandler: function() {
					$('.holder').hide();
					$('#loading').show();
					$.get('contactable/mail.php',{recipient:$('#recipient').val(), subject:$('#subject').val(), name:$('#name').val(), email:$('#email').val(), comment:$('#comment').val(),  phone:$('#phone').val(),  amtime:$('#amtime').val(),  pmtime:$('#pmtime').val()},
					function(data){
						$('#loading').css({display:'none'}); 
						if( data == 'success') {
							$('#callback').show().append(defaults.recievedMsg);
						} else {
							$('#callback').show().append(defaults.notRecievedMsg);
						}
					});		
				}
			});
		});
	};
	//end the plugin call 
})(jQuery);


