function pc3SubmitForm( form,addScrollPosition ){
	if ( addScrollPosition ) pc3AddScrollPositionOnForm(form);
	
	if ( form.getAttribute('onsubmit') ){
		if ( form.onsubmit() ) {
			form.submit();
		}
	} else {
		form.submit();
	}
}

function addScrollPositionOnForm(formId) {
	if ( !formId ) formId = 'layout';
	var form = document.getElementById(formId);
	
	addScrollPositionOnForm(formId);
}

function pc3AddScrollPositionOnForm(form) {
	if ( !form ) return;
	
	var formAction = form.action;
	if ( formAction == '' ) { return; }
	
	var regSearch  = "(?:[^?]*)(\\?)([^?]*)";
	var oRegExp    = new RegExp(regSearch);
	var regResult  = oRegExp.exec(formAction);
	var windowScrollPositions = getWindowScrollPositions();
	
	formAction +=
		( regResult && regResult[1] != '' ? '&' : '?')
		+ 'pc3Scroll='
		+ windowScrollPositions['left']
		+ 'x'
		+ windowScrollPositions['top']
	;
	
	form.action = formAction;
}

function pc3SubmitLink(formId,fieldName,value,addScrollPosition){
	var form = document.getElementById(formId);
	if ( !form ) return true;
	
	if ( fieldName ) {
		var field = document.getElementById(fieldName);
		if ( !field ) {
			field = document.createElement('input');
			field.type = 'hidden';
			field.name = fieldName;
			field.id = fieldName;
			
			form.appendChild(field);
		}
		
		field.value = value;
	}
	
	return pc3SubmitForm(form,addScrollPosition);
}

function pc3SetPlaceholders(){
	var set = function(tagName,type){
		inputElements = document.getElementsByTagName(tagName);
		
		for ( var i=0; i<inputElements.length; i++ ) {
			inputElement = inputElements[i];
			inputElement.hasPlaceHolder = (!type || inputElement.type == type) && inputElement.title != '';
			
			if ( !inputElement.hasPlaceHolder ) continue;
			
			if ( inputElement.captureEvents ) {
				inputElement.captureEvents(Event.FOCUS);
				inputElement.captureEvents(Event.BLUR);
			}
			
			inputElement.onfocus = function () { if ( this.value == this.title ) this.value = '';}
			inputElement.onblur = function () { if ( this.value == '' ) this.value = this.title;}
			
			inputElement.onblur();
		}
	}
	
	set('input','text');
	set('textarea');
	
	return true;
}



function pc3ClearPlaceholders(form){
	var clear = function(tagName,type){
		inputElements = form.getElementsByTagName(tagName);
		
		for( var i=0; i<inputElements.length; i++ ) {
			if ( inputElements[i].hasPlaceHolder ) inputElements[i].onfocus();
		}
	}
	
	clear('input','text');
	clear('textarea');
	
	return true;
}