﻿////////////////////////////////////////////////////////////
// SHOW LOADING PAGE
function showPreLoad(){
	document.getElementById('preloader').style.display = "block";
}

////////////////////////////////////////////////////////////
// SUBMIT FORM
function FormSubmit(){
	showPreLoad();
	var deltime = 3000;
	setTimeout('submitNow();', deltime);
	
}
function submitNow(){
	var formname = document.getElementById("submit_this_form").value;
	if(formname == 'add_client'){
		validateClient();
	}else{
		eval('document.' + formname + '.submit()');
	}
}
function validateClient(){
	var form_elements = new Array();
	form_elements['0'] = document.getElementById('first_name').value;
	form_elements['1'] = document.getElementById('last_name').value;
	form_elements['2'] = document.getElementById('phone_number').value;
	form_elements['3'] = document.getElementById('email_address').value;
	form_elements['4'] = document.getElementById('user_name').value;
	form_elements['5'] = document.getElementById('user_password').value;
	form_elements['6'] = document.getElementById('company_name').value;
	form_elements['7'] = document.getElementById('street_address_1').value;
	form_elements['8'] = document.getElementById('zip').value;
	form_elements['9'] = document.getElementById('city').value;
	form_elements['10'] = document.getElementById('state').value;
	var x = 0;	
	for(var i = 0; i < form_elements.length; i++){
		if(form_elements[i] == ""){
			x++;
		}
	}
	if(x>0){
		var agree = confirm("The form is not completely filled out, are you sure you would like to proceed?\n\r\t- [NOTE] This could make it difficult to find the client later.\n\r");
		if(agree){
			var input = document.createElement("input");
			input.setAttribute("type", "hidden");
			input.setAttribute("name", "skip_php_proccessing");
			input.setAttribute("id", "skip_php_proccessing");
			input.setAttribute("value", "true");
			document.getElementById("add_client").appendChild(input);
			//alert('new input value = '+document.getElementById("skip_php_proccessing").value);
			eval('document.add_client.submit()');
		}else{
			document.getElementById('preloader').style.display = "none";
			document.getElementById('form_submit_button').disabled = false;
		}
	}else{
		alert('size of x = '+x);
	}
}

////////////////////////////////////////////////////////////
// CHECK FOR DUPLICATE USERNAME IN REGISTER
function ajaxRequestUsernameRegister(url,data) {
	$('username_notice').innerHTML = "";	
	document.getElementById('submit_and_create').disabled=true;
	var aj = new Ajax.Request(url, {
		method:'get',
		parameters: data,
		onComplete: getResponseUsernameRegister
	}
	);
}
function getResponseUsernameRegister(oReq) {
	if ( oReq.responseText!="") {
		$('username_notice').innerHTML = "That username is unavailable.";
	}
	else {
		$('username_notice').innerHTML = "";
		document.getElementById('submit_and_create').disabled=false;
	}
}



////////////////////////////////////////////////////////////
// CHECK FOR DUPLICATE USERNAME
function ajaxRequestUsername(url,data) {
	var username = document.getElementById('miuser').value;
	if(username != ""){
		document.getElementById('send_it').disabled=true;
		var aj = new Ajax.Request(url, {
			method:'get',
			parameters: data,
			onComplete: getResponseUsername
		}
		);
	}
}
function getResponseUsername(oReq) {
	if ( (oReq.responseText=="") || (oReq.responseText.indexOf("characters")>0) ) {
		document.getElementById('username_notice').style.display = 'inline';
		$('username_notice').innerHTML = "That username is not recognized.";
	}
	else {
		$('username_notice').innerHTML = "";
		document.getElementById('send_it').disabled=false;
	}
}

////////////////////////////////////////////////////////////
// CHECK FOR DUPLICATE USERNAME (FORGET PASSWORD
function ajaxRequestUsernameFP(url,data) {
	var username = document.getElementById('user_username').value;
	if(username != ""){
		document.getElementById('send_it').disabled=true;
		var aj = new Ajax.Request(url, {
			method:'get',
			parameters: data,
			onComplete: getResponseUsernameFP
		}
		);
	}
	else {
		document.getElementById('send_it').disabled=true;
	}
}
function getResponseUsernameFP(oReq) {
	if ( (oReq.responseText=="") || (oReq.responseText.indexOf("characters")>0) ) {
		$('username_notice').innerHTML = "That username is not recognized.";
	}
	else {
		$('username_notice').innerHTML = "";
		document.getElementById('send_it').disabled=false;
	}
}


////////////////////////////////////////////////////////////
// CHECK FOR DUPLICATE URL
function ajaxRequestURL(url,data) {
	$('url_name_notice').innerHTML = "";
	var aj = new Ajax.Request(url, {
		method:'get',
		parameters: data,
		onComplete: getResponseURL
	}
	);
}
function getResponseURL(oReq) {
	if (oReq.responseText!="") {
		$('url_name_notice').innerHTML = oReq.responseText;
	}
}

////////////////////////////////////////////////////////////
// FORMAT PHONE NUMBER
function ajaxRequestPhone(elementid,data,emessage){
	var url = 'reg_files/server-side/format-phone-number.php';
	var aj = new Ajax.Request(url, {
			method:'POST',
			parameters: data,
			onComplete: getResponsePhone
		}
	);
	function getResponsePhone(oReq){
		var info = oReq.responseText;
		if(info == 0){
			document.getElementById(elementid).style.border = '1px solid #ffbebe';
			document.getElementById(elementid).style.background = '#fff0f0';
			$(elementid+'_error').innerHTML = emessage;
			$(elementid+'_error').style.display = "inline";
			setTimeout("$('phone_number_error').style.display = 'none'", 6000);
		}else{
			document.getElementById(elementid).style.border = 'solid 1px #0d4e7e';
			document.getElementById(elementid).style.background = '#F3F3F3';
			document.getElementById(elementid).value = info;
		}
	}
}

////////////////////////////////////////////////////////////
// CHECK EMAIL VALIDITY
function ajaxRequestEmail(elementid,data,emessage) {
	var url = 'reg_files/server-side/check-for-valid-email-address.php';
	var aj = new Ajax.Request(url, {
			method:'get',
			parameters: data,
			onComplete: getResponseEmail
		}
	);
	function getResponseEmail(oReq) {
		if (oReq.responseText!="") {
			$(elementid+'_error').innerHTML = emessage;
			$(elementid+'_error').style.display = "inline";
			setTimeout("document.getElementById('email_address_error').style.display = 'none';",6000);
			document.getElementById(elementid).style.border = '1px solid #ffbebe';
			document.getElementById(elementid).style.background = '#fff0f0';
		}else{
			document.getElementById(elementid).style.border = 'solid 1px #0d4e7e';
			document.getElementById(elementid).style.background = '#F3F3f3';
			document.getElementById(elementid).value = info;
		}
	}
}

///////////////////////////////////////////////////////////
// FORMAT NAME
function ajaxFormatName(elementid,data){
	var url = 'reg_files/server-side/format_name.php';
	var aj = new Ajax.Request(url, {
			method:'POST',
			parameters: data,
			onComplete: getResponseFormatName
		}
	)
	function getResponseFormatName(oReq) {
		var info = oReq.responseText;
		if(info != 0){
			document.getElementById(elementid).style.border = 'solid 1px #0d4e7e';
			document.getElementById(elementid).style.background = '#F3F3f3';
			document.getElementById(elementid).value = info;
		}
	}
}

////////////////////////////////////////////////////////////
// CHECK STRING LENGTH
function checkStringLength(elementid,length,emessage) {
	if($(elementid).value.length < length){
		$('errormessage').innerHTML = emessage;
		$('errormessage').style.display = "block";
		setTimeout("document.getElementById('errormessage').style.display = 'none';",6000);
		document.getElementById(elementid).style.border = '1px solid #ffbebe';
		document.getElementById(elementid).style.background = '#fff0f0';
	}else{
		document.getElementById(elementid).style.border = 'solid 1px #e1e1e1';
		document.getElementById(elementid).style.background = '#ffffff';
	}
}

////////////////////////////////////////////////////////////
// CHECK PASSWORD MATCH
function ajaxRequestConfirmPasswords(url,data) {
	$('confirm').innerHTML = "";
	var aj = new Ajax.Request(url, {
		method:'get',
		parameters: data,
		onComplete: getResponseConfirmPasswords
		}
	);
}

function getResponseConfirmPasswords(oReq) {
	if (oReq.responseText!="") {
		$('confirm').innerHTML = oReq.responseText;
	}
}

////////////////////////////////////////////////////////////
// CHECK FOR DISCOUNT CODE
function ajaxRequestDiscountCode(url,data) {
	var aj = new Ajax.Request(url, {
		method:'get',
		parameters: data,
		onComplete: getResponseDiscountCode
		}
	);
}

function getResponseDiscountCode(oReq) {
	$('product_price').innerHTML = oReq.responseText;
}


////////////////////////////////////////////////////////////
// CHECK THAT PASSWORD SUPPLIED IS PROPER
function ajaxRequestPassword(url,data) {
	$('pass_check').innerHTML = "";
	var aj = new Ajax.Request(url, {
		method:'get',
		parameters: data,
		onComplete: getResponsePassword
		}
	);
}
function getResponsePassword(oReq) {
	if (oReq.responseText!="") {
		$('pass_check').innerHTML = oReq.responseText;
	}
}


////////////////////////////////////////////////////////////
// EMPTY request CHECK PRIOR TO DELETION
/* Check for empty lists before deleting */
function ajaxDeleteList(url,data,row_count) {
	var form_element = document.getElementById('blog_list_' + row_count + '_delete');
	if(form_element.checked == true){
		var aj = new Ajax.Request(url, {
			method:'get',
			parameters: data,
			onLoading: showLoad,
    		onComplete: getResponseDeleteList
			}
		);
	}
}
function getResponseDeleteList(oReq){
	var PHPResponse = oReq.responseText;
	var resposeParts = PHPResponse.split('-');
	if(resposeParts[0] == 'ERROR'){
		$('load').style.display = 'none';
		var form_element = document.getElementById('blog_list_' + resposeParts[1] + '_delete');
		form_element.checked = false;
		alert("You cannot delete a Link List that is not empty.\nTo delete this list, remove the individual links inside of it.")
	}else if(resposeParts[0] == 'SUCCESS'){
		$('load').style.display = 'none';
		$('ondelete' + resposeParts[1]).style.display = 'none';
		$('blog_list_' + resposeParts[1] + '_delete').checked = true;
		alert("Your Link List has been removed.");
	}else if(resposeParts[0] == 'ERROR2'){
		$('load').style.display = 'none';
		$('ondelete' + resposeParts[1]).style.display = 'none';
		$('blog_list_' + resposeParts[1] + '_delete').checked = true;
		alert("Could Not Delete List, Most likely it has already been removed");
	}else{
		$('load').style.display = 'none';
		alert("We're Sorry the Request Timed Out.\n\nPlease try again. If you continue to receive this error please contact support.")
	}
}
/////////////////////////////////////////////////////////////
// HIDE BLOG POSTS
function ajaxHidePost(url,data,hideid,userid) {
		
		var form_element = document.getElementById('hideid' + hideid);
		
		var user_id = userid;
		
		if(form_element.checked == true){
			var hide_var = data + '&userid=' + user_id + '&action=HIDE';
		}else{
			var hide_var = data + '&userid=' + user_id + '&action=UNHIDE';
		}
		var aj = new Ajax.Request(url, {
			method:'get',
			parameters: hide_var,
			onLoading: showLoad,
			onComplete: getResponseHidePost
			}
		);		
}
function getResponseHidePost(oReq){
	var PHPResponse = oReq.responseText;
	$('load').style.display = 'none';
	alert(PHPResponse);
}
function ajaxHidePostResponse(oReq){
	var PHPResponse = oReq.responseText;
	var responseParts = PHPResponse.split('-');
	if(responseParts[0] != 'ERROR'){
		$('notify').innerHTML = "Your blog has been updated.";
	}
}


function showLoad () {
		$('load').style.display = 'block';
	}

function timedOut () {
	alert("Connection timed out.");
}

////////////////////////////////////////////////////////////
// ENABLE SUBMIT BUTTON
function enableSubmit(checkbox) {
	$('submit_and_create').disabled = !checkbox.checked;
}
function enableListSubmit(doc_id){
	document.getElementById('submit_and_create').disabled=false;
}
////////////////////////////////////////////////////////////
// ZIP CODE LOOKUP

// <![CDATA[

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(zip) {
    http.open('get', 'server-side/zipcode.php?zip='+zip);
    http.onreadystatechange = handleResponse;
    http.send(null);
	function handleResponse() {
    	if(http.readyState == 4){
	        var response = http.responseText;
    	    var update = new Array();
	        if(response.indexOf('|' != -1)) {
    	        update = response.split('|');
    	        if(update[1] == 'NF'){
    	        	document.getElementById("city").style.border = '1px solid #ffbebe';
					document.getElementById("city").style.background = '#fff0f0';
					document.getElementById("state").style.border = '1px solid #ffbebe';
					document.getElementById("state").style.background = '#fff0f0';
					document.getElementById("city").value = "";
					document.getElementById("state").value = "";
					$('errormessage').innerHTML = "City and State could not be found";
					$('errormessage').style.display = "block";
					setTimeout("document.getElementById('errormessage').style.display = 'none';",6000);
				}else{
					document.getElementById("city").style.border = 'solid 1px #e1e1e1';
					document.getElementById("city").style.background = '#ffffff';
					document.getElementById("state").style.border = 'solid 1px #e1e1e1';
					document.getElementById("state").style.background = '#ffffff';
					document.getElementById("city").value = update[0];
					document.getElementById("state").value = update[1];
    	        }
    	    }
    	}
 	}   
}



    
function sndReqAccount(zip) { // FOR ACCOUNT INFO ONLY
    http.open('get', 'server-side/zipcode.php?zip='+zip);
    http.onreadystatechange = handleResponseAccount;
    http.send(null);

}
function sndReqPartner(zip) { // FOR ACCOUNT INFO ONLY
    http.open('get', 'server-side/zipcode.php?zip='+zip);
    http.onreadystatechange = handleResponsePartner;
    http.send(null);

}

function handleResponseAccount() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById("credit_card_city").value = update[0];
			document.getElementById("credit_card_state").value = update[1];
        }
    }
}

function handleResponsePartner() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById("partner_city").value = update[0];
			document.getElementById("partner_state").value = update[1];
        }
    }
}

// ]]>

////////////////////////////////////////////////////////////
// MASK EMAIL ADDRESS

function email(email,domain) {
	document.write("<A HREF = mailto:" + email + "@" + domain + ">" + email +"@" + domain + "</A>");
	
}


//////////////////////////////////////
// MAKE URL VALID
function makeURLValid(field) {
	var value = field.value
	field.value = value.replace(/^www\./i, "")
	field.value = field.value.replace(/[^a-z]+/gi, '');
}

////////////////////////////////////////////////////////////
// GET CAMPAIGN REPORT
function ajaxRequestStats(url,data) {
	var aj = new Ajax.Request(url, {
		method:'get',
		parameters: data,
		onComplete: getResponseStats
	}
	);
}
function getResponseStats(oReq) {
	$('report').innerHTML = oReq.responseText;
}