if (typeof Yemail=="undefined")
{
	Yemail=
	{
		/**
		 *@param {object} ob: the parameter.
		 */
		call_jsonp:function(ob)
		{
			var par="";
			if (typeof ob!="undefind")
			{
				if(typeof ob.data=="object")
				{
					for(var d in ob.data)
					{
						par+="&"+d+"="+encodeURIComponent(ob.data[d]);
					}
				}
				if (typeof ob.success=="function")
				{
					if(typeof ob.error=="function")
					{
						var to=0;
						if (typeof ob.timeout!="undefined")
						{
							if(!isNaN(ob.timeout))
							{
								to=parseInt(ob.timeout,10);
							}
						}
						Yemail.t=setTimeout(ob.error,to);
						Yemail.cb=function(s){clearTimeout(Yemail.t);ob.success(s);};
					}
					else
					{
						Yemail.cb=function(s){ob.success(s);};
					}
				}
				else 
				{
					Yemail.cb=function(){};
				}
				if(typeof ob.url=="string")
				{
					var fn=ob.url+"?callback=Yemail.cb"+par;
					var st = document.createElement("script");				
					st.src=fn;
					st.type = "text/javascript";
					document.getElementsByTagName("head")[0].appendChild(st);
  				    st=null;				
				}
			}
  	}
  }
}

function subscribe_ajaxCall(submitElement){
   //Loop through form elements
   var subscribeForm = submitElement.form;
   
   //grab url from form
   var url = subscribeForm.action;
   
   var names = new Array();
   var values = new Array();
   
   //loop through all element
   var index = 0;
   for(var i = 0; i < subscribeForm.elements.length; i++){
     
   	 if(subscribeForm.elements[i].type == "text" || subscribeForm.elements[i].type == "hidden"){
   	 	elementName = subscribeForm.elements[i].name;
   	 	elementValue = subscribeForm.elements[i].value;
   	    
   	 	names[index] = elementName;
   	 	values[index] = elementValue;
   	 	
   	 	index++;
   	 }
   }

   //data is ready. Now call ajax 
   Yemail.call_jsonp({
       url: url,
       data: {name: names, value: values},
       timeout: 5000,
       success: function(reply) {
       	   if(reply.done){
              for(var i = 0; i < subscribeForm.elements.length; i++){
                 if(subscribeForm.elements[i].type == "text"){
   	 	         
   	 	          subscribeForm.elements[i].value = ""
                 }
   	          } 
   	          alert('You have successfully subscribed to our list');      	   	
       	   }
       	   else{
       	   	  if(reply.msgs.length  > 0){
       	   	     alert(reply.msgs[0]);	
       	   	  }
       	   }

       },
       error: function() {
        // this function is call while network error, like 404, 500 error
       	 alert('Subscription unsuccessful');
       }
    });
    
   return false;
}