$(function(){

	pretty_up_inputs();
	$("textarea").autogrow();

	$(".validateMe").validate();
	$(".template_table tr:odd").css({"background":"#ececec"});

	init_tutor_tips();
	$(".test_focus").focus(function(){
		$(this).css({"border":"1px solid #699014"});
		$(this).prev("td").css({"background":"red"});
	});

	$(".example, .template_text").expander({
		slicePoint: 200,
		expandText: 'more&nbsp;&gt;',
		expandEffect: 'show',
		userCollapseText: "&lt;&nbsp;hide"
	});

	$(".showcase_list li:even").css({"background":"#ececec"});
	$(".account_table").each(function(i){
		$(this).find("tr:odd").css({"background":"#ececec"});
	});
});

var global_config={};
global_config.payment_window_width=350;
global_config.payment_window_height=580;


var myAccountUrl='/my-account/';

function init_tutor_tips() {
	$(".showtip[title]").tooltip({
		position: "center right",
		offset: [45, 10],
		predelay: 100,
		effect: "slide",
		tip: ".tutorTip"
	});
}


function pretty_up_inputs() {
	// borders
	$("input[type='text'],input[type='password'],textarea").css({"border":"1px solid #b7b7b7","padding":"2px"});
	$("input[type='text'],input[type='password'],textarea").focus(function(){
		$(this).css({"border":"1px solid #699014"});
	});
	$("input[type='text'],input[type='password'],textarea").blur(function(){
		$(this).css({"border":"1px solid #b7b7b7"});
	});

	// background images
	$(".tutor input[type='text'], .tutor input[type='password']").css({"background":"url(/images/input_bg.jpg) repeat-x", "height":"18px","padding":"4px"});
	$(".tutor textarea").css({"background":"url(/images/textarea_bg.jpg) repeat-x #f7f7f7", "padding":"4px"});
	$(".thickbox_form input[type='text'], .thickbox_form input[type='password']").css({"background":"url(/images/input_bg.jpg) repeat-x", "height":"18px","padding":"4px"});
	$(".doc_content_update input[type='text'], .doc_content_update input[type='password']").css({"background":"url(/images/input_bg.jpg) repeat-x", "height":"18px","padding":"4px"});




	$(".model_point").click(function(event){
		select_model_point(event.target);
	});
}

function new_account_submit(property_object) {
	if(property_object==null) {
			property_object={};
	}

	if(property_object.thickbox) {
		var formdata=$("#user_form_tb").serialize();
	} else if(property_object.main) {
		var formdata=$("#user_form_main").serialize();
	} else {
		var formdata=$("#user_form").serialize();
	}


	$.ajax({
		type: "post",
		url: "/?action=login.act_createaccount",
		data: formdata,
		success: function(msg) {
			eval(msg)
		}
	})
}

function login(property_object) {
	if(property_object==null) {
		property_object={};
	}

	if(property_object.thickbox) {
		var formdata=$("#login_form_tb").serialize();
	} else if(property_object.main) {
		var formdata=$("#login_form_main").serialize();
	} else {
		var formdata=$("#login_form").serialize();
		formdata+="&purge_success;" // used to purge any thickbox post-success login commands
	}



	$.ajax({
		type: "post",
		url: "/?action=login.act_login",
		data: formdata,
		success: function(msg) {
			eval(msg)
		}
	})
}

function logout() {
	$.ajax({
		type: "post",
		url: "/?action=login.act_logout",
		success: function(msg) {
			eval(msg);
			if(document.URL.indexOf(myAccountUrl)>=0) {
				document.location="/";
			}
		}
	})
}

function forgot_password() {
	var formdata=$("#forgot_password_form").serialize();
	$.ajax({
		type: "post",
		url: "/?action=login.act_forgotpassword",
		data: formdata,
		success: function(msg) {
			eval(msg)
		}
	});
}

var PaymentImage=new Image();
PaymentImage.src="/images/purchase.jpg";
var PaymentImageDisabled=new Image();
PaymentImageDisabled.src="/images/purchase_disabled.jpg";

var _Paying=false;
function pay(property_obj) {
	// only run one payment at a time
	if(_Paying==false) {
		_Paying=true;
		if(property_obj==null) {
			property_obj={};
		}
		var formdata=$("#payment_form").serialize();
		if(property_obj.template) {
			formdata+='&template='+property_obj.template;
		}
		$("#purchase_btn").attr("src",PaymentImageDisabled.src);

		$.ajax({
			type: "post",
			url: "/?action=press_release_tutor.act_payment",
			data: formdata,
			success: function(msg) {			
				$("#purchase_btn").attr("src",PaymentImage.src);
				_Paying=false;
				eval(msg);
			}
		});
	}
}


function tutor_form(property_obj) {
	if(property_obj==null) {
		property_obj=tutor_form_property_obj;

		if(!property_obj.step) {
			property_obj.step=1;
		}
	}

	if(property_obj.previous==1) {
		property_obj.nextstep=property_obj.step-1;
	}

	if(!property_obj.nextstep) {
		property_obj.nextstep=property_obj.step+1;
	}



	if(property_obj.saveforlater==1 || property_obj.previous==1) {
		var cansave=true;
	} else {
		var cansave=$('#tutor_form').valid();
	}

	if(cansave) {

		var formdata=$("#tutor_form").serialize();
		formdata+="&nextstep="+property_obj.nextstep;
		if(property_obj.saveforlater) {
			formdata+="&saveforlater="+property_obj.saveforlater;
		}
		if(property_obj.previous) {
			formdata+="&previous="+property_obj.previous;
		}
		if(property_obj.download) {
			formdata+="&download="+property_obj.download;
		}
		$.ajax({
				type: "post",
				url: "/?action=press_release_tutor.act_step"+property_obj.step+"&nextstep="+property_obj.nextstep,
				data: formdata,
				success: function(msg) {
					//alert(msg);
					eval(msg);
				}
		});
	} else {
		// no action needed, informing user is handled by .valid()
	}
}

var o_tutor_form_values;
function tutor_form_nav(next_step,cur_step) {
	tutor_form_property_obj.nextstep=next_step;
	if(o_tutor_form_values==$('#tutor_form').serialize()) {
		// no changes, no need to save
		document.location='/press-release-tutor-templates/step-'+next_step+'/';
	} else {
		if(cur_step>next_step) {
			if(confirm("Save Changes?")) {
				$('#tutor_form').submit();
			} else {
				document.location='/press-release-tutor-templates/step-'+next_step+'/';
			}
		} else {
			$('#tutor_form').submit();
		}
	}
}

function delete_document(property_obj) {
	if(property_obj==null) {
		property_obj={};
		property_obj.id=0;
	}
	var url="/?action=my_account.dsp_delete_document&id="+property_obj.id;
	if(property_obj.confirm) {
		url+="&confirm="+property_obj.confirm;
	}
	url+="&height=150&width=400";
	tb_show(null,url,false);
}

function duplicate_document(doc_id) {
	$.ajax({
		type: "get",
		url: "/?action=my_account.act_duplicate&id="+doc_id,
		success: function(msg) {
			eval(msg);
		}
	});
}

function update_document_content() {
	var formdata=$("#update_document_content_form").serialize();

	$.ajax({
		type: "post",
		url: "/?action=press_release_tutor.act_update_content",
		data: formdata,
		success: function(msg) {
			//alert(msg);
			eval(msg);
		}
	});
}

function featured_articles(file) {
	$.ajax({
		type:"get",
		url: "/?action=pages.act_featured&file="+file,
		success: function(msg) {
			//alert(msg);
			eval(msg);
		}
	})
}

function submit_featured_article_email() {
	$.ajax({
		type:"post",
		url:"/?action=pages.act_set_featured_email",
		data: $("#featured_article_email_form").serialize(),
		success: function(msg) {
			//alert(msg);
			eval(msg);
		}
	});
}

function select_model_point(obj) {

	var sel=$(obj).getSelection();
	var val=$(obj).val();
	val=val.split("");
	var cursor_pos=sel.start;

	var opening=false;
	if(val[cursor_pos]=="[" && cursor_pos==0) {
		opening=false;
	} else {
		for(var x=cursor_pos-1;x>=0;x--) {
			if(val[x]=="]") {
				// found a closing bracket before an opening one
				break;
			}
			if(val[x]=="[") {
				opening=true;
				var start=x;
				break;
			}
		}
	}

	var closing=false;
	if(val[(cursor_pos-1)]=="]" && cursor_pos==(val.length)) {
		closing=false;
	} else {
		for(var x=cursor_pos;x<val.length;x++) {
			if(val[x]=="[") {
				// found an opening bracket before a closing one
				break;
			}
			if(val[x]=="]") {
				closing=true;
				var stop=x+1;
				break;
			}
		}
	}

	if(opening && closing) {

		if (obj.setSelectionRange) { // FF
			window.setTimeout(function(x,posL,posR) {
			return function(){x.setSelectionRange(posL,posR);};}
			(obj,start,stop),100);
		} else if (obj.createTextRange) { // IE
			var range = obj.createTextRange();
			range.collapse(true);
			range.moveEnd('character', stop);
			range.moveStart('character', start);
			range.select();
		}
	} else {
		return false;
	}
}


//function to set a custom meta tag content from a plugin/macro
function setMeta(metaName, metaContent){
	
	metatags = document.getElementsByTagName("meta");
	
	for (c = 0; c < metatags.length; c++) {
		var name = metatags[c].getAttribute("name");
		
		var content = metatags[c].getAttribute("content");
		
		if (metatags[c].getAttribute("name") == metaName) {
			metatags[c].setAttribute("content", metaContent);
		}
		
	}
}


//function to set a custom page title from inside a plugin or macro
function setTitle(newTitle){
	
		document.title = newTitle;
	
}


