/*
+----------------------------------------------------------------+
|																							|
|	WordPress 2.8 Plugin: WP-EMail 2.50										|
|	Copyright (c) 2009 Lester "GaMerZ" Chan									|
|																							|
|	File Written By:																	|
|	- Lester "GaMerZ" Chan															|
|	- http://lesterchan.net															|
|																							|
|	File Information:																	|
|	- E-Mail Javascript File															|
|	- wp-content/plugins/wp-email/email-js.js	 								|
|																							|
+----------------------------------------------------------------+
*/


// Variables
var email_p = 0;
var email_pageid = 0;
var email_yourname = '';
var email_youremail = '';
var email_yourremarks = '';
var email_friendname = '';
var email_friendemail = '';
var email_friendnames = '';
var email_friendemails = '';
var email_imageverify = '';
emailL10n.max_allowed = parseInt(emailL10n.max_allowed);

// Email Form Validation
function validate_email_form() {
	// Variables
	var errFlag = false;
	var errMsg = emailL10n.text_error + "\n";	
	errMsg = errMsg + "__________________________________\n\n";

	// dmobil hack
	// Your Name Validation
	if(jQuery('#yourname').length) {
		if(isEmpty(email_yourname) || !is_valid_name(email_yourname)) {
			errMsg = errMsg + emailL10n.text_name_invalid + "\n";
			errFlag = true;
		}
	}
	
	// Company Name Validation
	if(jQuery('#companyname').length) {
		if(isEmpty(email_companyname) || !is_valid_name(email_companyname)) {
			errMsg = errMsg + emailL10n.text_company_invalid + "\n";
			errFlag = true;
		}
	}
	
	// Your Email Validation
	if(jQuery('#youremail').length) {
		if(isEmpty(email_youremail) || !is_valid_email(email_youremail)) {
			errMsg = errMsg + emailL10n.text_email_invalid + "\n";
			errFlag = true;
		}
	}
	// Your Remarks Validation
	if(jQuery('#yourremarks').length) {
		if(!isEmpty(email_yourremarks)) {
			if(!is_valid_remarks(email_yourremarks)) {
				errMsg = errMsg + emailL10n.text_remarks_invalid + "\n";
				errFlag = true;
			}
		}
	}
	// Friend Name(s) Validation
	if(jQuery('#friendname').length) {
		if(isEmpty(email_friendname)) {
			errMsg = errMsg + emailL10n.text_friend_names_empty + "\n";
			errFlag = true;
		} else {
			for(i = 0; i < email_friendnames.length; i++) {
				if(isEmpty(email_friendnames[i]) || !is_valid_name(email_friendnames[i])) {
					errMsg = errMsg + emailL10n.text_friend_name_invalid + email_friendnames[i] + "\n";
					errFlag = true;
				}
			}
		}
		if(email_friendnames.length > emailL10n.max_allowed) {
			errMsg = errMsg + emailL10n.text_max_friend_names_allowed + "\n";
			errFlag = true;
		}
	}
	// Friend Email(s) Validation
	if(isEmpty(email_friendemail)) {
		errMsg = errMsg + emailL10n.text_friend_emails_empty + "\n";
		errFlag = true;
	} else {
		for(i = 0; i < email_friendemails.length; i++) {
			if(isEmpty(email_friendemails[i]) || !is_valid_email(email_friendemails[i])) {
				errMsg = errMsg + emailL10n.text_friend_email_invalid + email_friendemails[i] + "\n";
				errFlag = true;
			}
		}
	}
	if(email_friendemails.length > emailL10n.max_allowed) {
		errMsg = errMsg +  emailL10n.text_max_friend_emails_allowed + "\n";
		errFlag = true;
	}
	// Friend Name(s) And Email(s) Validation
	if(jQuery('#friendname').length) {
		if(email_friendnames.length != email_friendemails.length) {
			errMsg = errMsg + emailL10n.text_friends_tally + "\n";
			errFlag = true;
		}
	}
	if(jQuery('#imageverify').length) {
		if(isEmpty(email_imageverify)) {
			errMsg = errMsg + emailL10n.text_image_verify_empty + "\n";
			errFlag = true;
		}
	}
	// If There Is Error Alert It
	if (errFlag == true){
		alert(errMsg);
		return false;
	} else {
		return true;
	}
}

// Check Form Field Is Empty
function isEmpty(value){
	if (jQuery.trim(value) == "") {
		return true;
	}
	return false;
}

// Check Name
function is_valid_name(name) {
	filter  = /[(\*\(\)\[\]\+\,\/\?\:\;\'\"\`\~\\#\$\%\^\&\<\>)+]/;
	return !filter.test(jQuery.trim(name));
}

// Check Email
function is_valid_email(email) {
	filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(jQuery.trim(email));
}

// Check Remarks
function is_valid_remarks(remarks) {
	remarks = jQuery.trim(remarks);
	injection_strings = new Array('apparently-to', 'cc', 'bcc', 'boundary', 'charset', 'content-disposition', 'content-type', 'content-transfer-encoding', 'errors-to', 'in-reply-to', 'message-id', 'mime-version', 'multipart/mixed', 'multipart/alternative', 'multipart/related', 'reply-to', 'x-mailer', 'x-sender', 'x-uidl');
	for(i = 0; i < injection_strings.length; i++) {
		if(remarks.indexOf(injection_strings[i]) != -1) {
			return false;
		}
	}
	return true;
}

// WP-Email Popup
function email_popup(email_url) {
	window.open(email_url, "_blank", "width=500,height=500,toolbar=0,menubar=0,location=0,resizable=0,scrollbars=1,status=0");
}

// Email Form AJAX
function email_form() {
	if(jQuery('#yourname').length) {
		email_yourname = jQuery('#yourname').val();
	}
	if(jQuery('#youremail').length) {
		email_youremail = jQuery('#youremail').val();
	}
	if(jQuery('#yourremarks').length) {
		email_yourremarks = jQuery('#yourremarks').val();
	}
	if(jQuery('#friendname').length) {
		email_friendname = jQuery('#friendname').val();
		email_friendnames = email_friendname.split(",");
	}
	email_friendemail = jQuery('#friendemail').val();
	email_friendemails = email_friendemail.split(",");
	if(jQuery('#imageverify').length) {
		email_imageverify = jQuery('#imageverify').val();
	}
	if(jQuery('#p').length) {
		email_p = jQuery('#p').val();
	}
	if(jQuery('#page_id').length) {
		email_pageid = jQuery('#page_id').val();
	}
	if(validate_email_form()) {
		email_ajax_data = 'wp-email=1';
		jQuery('#wp-email-submit').attr('disabled', true); 
		jQuery('#wp-email-loading').show();
		if(jQuery('#yourname').length) {
			email_ajax_data += '&yourname=' + email_yourname;
			jQuery('#yourname').attr('disabled', true);
		}
		if(jQuery('#youremail').length) {
			email_ajax_data += '&youremail=' + email_youremail;
			jQuery('#youremail').attr('disabled', true);
		}
		if(jQuery('#yourremarks').length) {
			email_ajax_data += '&yourremarks=' + email_yourremarks;
			jQuery('#yourremarks').attr('disabled', true);
		}
		if(jQuery('#friendname').length) {
			email_ajax_data += '&friendname=' + email_friendname;
			jQuery('#friendname').attr('disabled', true);
		}
		if(jQuery('#friendemail').length) {
			email_ajax_data += '&friendemail=' + email_friendemail;
			jQuery('#friendemail').attr('disabled', true);
		}
		if(jQuery('#imageverify').length) {
			email_ajax_data += '&imageverify=' + email_imageverify;
			jQuery('#imageverify').attr('disabled', true);
		}
		if(jQuery('#p').length) {
			email_ajax_data += '&p=' + email_p;
		}
		if(jQuery('#page_id').length) {
			email_ajax_data += '&page_id=' + email_pageid;
		}
		jQuery.ajax({type: 'POST', url: emailL10n.ajax_url, data: email_ajax_data, cache: false, success: function (data) { 
			jQuery('#wp-email-content').html(data);
		}});
	}
}

// dmobil hack
function email_form2() {
	if(jQuery('#yourname').length) {
		email_yourname = jQuery('#yourname').val();
	}
	if(jQuery('#companyname').length) {
		email_companyname = jQuery('#companyname').val();
	}
	if(jQuery('#youremail').length) {
		email_youremail = jQuery('#youremail').val();
	}
	if(jQuery('#yourremarks').length) {
		email_yourremarks = jQuery('#yourremarks').val();
	}
	if(jQuery('#friendname').length) {
		email_friendname = jQuery('#friendname').val();
		email_friendnames = email_friendname.split(",");
	}
	
	email_friendemail = jQuery('#friendemail').val();
	email_friendemails = email_friendemail.split(",");
	if(jQuery('#imageverify').length) {
		email_imageverify = jQuery('#imageverify').val();
	}
	if(jQuery('#p').length) {
		email_p = jQuery('#p').val();
	}
	if(jQuery('#page_id').length) {
		email_pageid = jQuery('#page_id').val();
	}
	if(validate_email_form()) {
		
		email_ajax_data = 'wp-email=1';
		jQuery('#wp-email-submit').attr('disabled', true); 
		jQuery('#wp-email-loading').show();
		if(jQuery('#yourname').length) {
			email_ajax_data += '&yourname=' + email_yourname;
			jQuery('#yourname').attr('disabled', true);
		}
		if(jQuery('#companyname').length) {
			email_ajax_data += '&companyname=' + email_companyname;
			jQuery('#companyname').attr('disabled', true);
		}
		if(jQuery('#youremail').length) {
			email_ajax_data += '&youremail=' + email_youremail;
			jQuery('#youremail').attr('disabled', true);
		}
		if(jQuery('#yourremarks').length) {
			email_ajax_data += '&yourremarks=' + email_yourremarks;
			jQuery('#yourremarks').attr('disabled', true);
		}
		if(jQuery('#friendname').length) {
			email_ajax_data += '&friendname=' + email_friendname;
			jQuery('#friendname').attr('disabled', true);
		}
		if(jQuery('#friendemail').length) {
			email_ajax_data += '&friendemail=' + email_friendemail;
			jQuery('#friendemail').attr('disabled', true);
		}
		if(jQuery('#imageverify').length) {
			email_ajax_data += '&imageverify=' + email_imageverify;
			jQuery('#imageverify').attr('disabled', true);
		}
		if(jQuery('#p').length) {
			email_ajax_data += '&p=' + email_p;
		}
		if(jQuery('#page_id').length) {
			email_ajax_data += '&page_id=' + email_pageid;
		}
		if(jQuery('#email_name').length) {
			email_ajax_data += '&email_name=' + jQuery('#email_name').val();
		}
		jQuery.ajax({type: 'POST', url: emailL10n.ajax_url, data: email_ajax_data, cache: false, success: function (data) { 
			jQuery('#wp-email-content').css( 'display', 'none' );
			jQuery('#wp-email-result').css( 'display', 'block' );
		}});
	}
}

function email_form3() {
	
	/*if(jQuery('#reg_check').length) {
		if ( jQuery('#reg_check').val() == 'not_registred' ) {
			alert( 'Log in om een bericht te kunnen sturen' );
			return false;
		}
	}*/
	
	var re = new RegExp("^[^@]+");
	var rm; 
	if(jQuery('#friendemail1').val() != '') {
		jQuery('#friendemail').val( jQuery('#friendemail1').val() );
	}
	/*if(jQuery('#friendemail2').val() != '') {
		if(jQuery('#friendemail').val() != '') {
			jQuery('#friendemail').val( jQuery('#friendemail').val() + ',' );
			jQuery('#friendname').val( jQuery('#friendname').val() + ',' );
		}
		jQuery('#friendemail').val( jQuery('#friendemail').val() + jQuery('#friendemail2').val() );
		rm = re.exec( jQuery('#friendemail2').val() );
		if ( rm == null) {
			jQuery('#friendname').val( jQuery('#friendname').val() + 'Friend' );
		} else {
			jQuery('#friendname').val( jQuery('#friendname').val() + rm );
		}
	}*/

	if(jQuery('#yourname').length) {
		email_yourname = jQuery('#yourname').val();
	}
	if(jQuery('#companyname').length) {
		email_companyname = jQuery('#companyname').val();
	}
	if(jQuery('#youremail').length) {
		email_youremail = jQuery('#youremail').val();
	}
	if(jQuery('#yourremarks').length) {
		email_yourremarks = jQuery('#yourremarks').val();
	}
	
	if(jQuery('#friendname').length) {
		email_friendname = jQuery('#friendname').val();
		email_friendnames = email_friendname.split(",");
	}
	
	email_friendemail = jQuery('#friendemail').val();
	email_friendemails = email_friendemail.split(",");
	
	if(jQuery('#imageverify').length) {
		email_imageverify = jQuery('#imageverify').val();
	}
	if(jQuery('#p').length) {
		email_p = jQuery('#p').val();
	}
	if(jQuery('#page_id').length) {
		email_pageid = jQuery('#page_id').val();
	}
	if(validate_email_form()) {
		
		email_ajax_data = 'wp-email=1';
		jQuery('#wp-email-submit').attr('disabled', true); 
		jQuery('#wp-email-loading').show();
		if(jQuery('#yourname').length) {
			email_ajax_data += '&yourname=' + email_yourname;
			jQuery('#yourname').attr('disabled', true);
		}
		if(jQuery('#companyname').length) {
			email_ajax_data += '&companyname=' + email_companyname;
			jQuery('#companyname').attr('disabled', true);
		}
		if(jQuery('#youremail').length) {
			email_ajax_data += '&youremail=' + email_youremail;
			jQuery('#youremail').attr('disabled', true);
		}
		if(jQuery('#yourremarks').length) {
			email_ajax_data += '&yourremarks=' + email_yourremarks;
			jQuery('#yourremarks').attr('disabled', true);
		}
		if(jQuery('#friendname').length) {
			email_ajax_data += '&friendname=' + email_friendname;
			jQuery('#friendname').attr('disabled', true);
		}
		if(jQuery('#friendemail').length) {
			email_ajax_data += '&friendemail=' + email_friendemail;
			jQuery('#friendemail').attr('disabled', true);
		}
		if(jQuery('#friendemail1').length) {
			jQuery('#friendemail1').attr('disabled', true);
		}
		if(jQuery('#imageverify').length) {
			email_ajax_data += '&imageverify=' + email_imageverify;
			jQuery('#imageverify').attr('disabled', true);
		}
		if(jQuery('#p').length) {
			email_ajax_data += '&p=' + email_p;
		}
		if(jQuery('#page_id').length) {
			email_ajax_data += '&page_id=' + email_pageid;
		}
		
		if(jQuery('#email_name').length) {
			email_ajax_data += '&email_name=' + jQuery('#email_name').val();
		}
		jQuery.ajax({type: 'POST', url: emailL10n.ajax_url, data: email_ajax_data, cache: false, success: function (data) { 
			//jQuery('#wp-email-content').css( 'display', 'none' );
			//jQuery('#wp-email-result').css( 'display', 'block' );
			jQuery('#wp-email-content').html(data);
		}});
	}
}