function AjaxDOM(){this.removeElement=function(_element){_element.parentNode.removeChild(_element);};this.createElement=function(_parent,_type,_property,_text){var el=document.createElement(_type);for(var k in _property){var keys=k.split('.');if(keys.length==2){el[keys[0]][keys[1]]=_property[k];}else{el[k]=_property[k];}}if(_text!='')el.innerHTML=_text;_parent.appendChild(el);return el;};this.createScript=function(_parent,_id,_request){var span=this.createElement(_parent,'span',{'style.display':'none','id':_id},'%<s'+'cript></'+'script>');setTimeout(function(){var _script=span.getElementsByTagName('script')[0];_script.type='text/javascript';_script.src=_request;},5);}}function AjaxCache(buffer_size,length_ct){this._rct=function(_request,_length){var control=0;var start=Math.floor(_request.length/_length);if(start<1)start=1;for(var i=_request.length;i>0;i-=start){control+='                                  !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�?�?����?�S�??Z??�������?�s�??zY�???�?��?�?����?��???���???�????AAAAAA?CEEEEIIII?NOOOOO?OUUUUY??aaaaaa?ceeeeiiii?nooooo?ouuuuy?y'.indexOf(_request.charAt(i));}return control;};this._search=function(_request){var _hash=this._rct(_request,this._length_ct);for(i in this._cache){if(this._cache[i][0]==_hash&&this._cache[i][1]==_request){this._search_buffer=this._data_cache[i];return true;}}return false;};this._add=function(_request,_data){if(this._cache_index>=this._buffer_size){this._cache_index=0;}var _hash=this._rct(_request,this._length_ct);this._cache[this._cache_index]=[_hash,_request];this._data_cache[this._cache_index]=_data;this._cache_index++;};this._init=function(buffer_size,length_ct){this._buffer_size=buffer_size;this._length_ct=length_ct;this._cache=new Array();this._data_cache=new Array();this._cache_index=0;this._search_buffer=null;};this._init(buffer_size,length_ct);}function AjaxRequest(){this._init=function(){this._handler_error=true;if(this._handler_error){window.onerror=this.ajaxJsError;}this._parent_id_name='_ajax_parent_id';this._url_id='_ajax_request_id';this._id_prefix='_ajax_pack_';this.dom=new AjaxDOM();this._parent_element=this.createParentElement();this._requests=new Array();this._caching_enabled=true;if(this._caching_enabled){this._buffer_size=25;this._length_ct=100;this.cache=new AjaxCache(this._buffer_size,this._length_ct);}};this.ajaxJsError=function(_message,_url,_line){var _file="File: "+_url+" :: "+_line+"\n";var _title="There was an error on this page.\n--------------------------\n";var _error=_title;_error+="Error: "+_message+"\n";_error+=_file;if(_message.indexOf('unterminated string literal')+_message.indexOf('missing ;')+_message.indexOf('Syntax error')>-3){_error+='--------------------------\nRecommendation:\n   Check response from the server.\n   He may return incorrect JavaScrip.';}alert(_error);};this.createParentElement=function(){if(document.getElementById(this._parent_id_name)){return document.getElementById(this._parent_id_name);}else{return this.dom.createElement(document.body,'div',{'id':this._parent_id_name},'');}};this.query=function(_url,_callback){if(arguments.length>2){var _use_cache=arguments[2];}else{var _use_cache=true;};if(_use_cache&&(this.cache&&this.cache._search(_url))){this.answer=this.cache._search_buffer;if(_callback instanceof Function)_callback();}else{var _id=this._requests.push({'callback':_callback,'request':_url})-1;if(_url.indexOf('?')==-1){_url+='?';}else{_url+='&';};_url+=this._url_id+'='+_id;this.dom.createScript(this._parent_element,this._id_prefix+_id,_url);}};this.ready=function(_id,_result){this.answer=_result;if(this.cache)this.cache._add(this._requests[_id].request,_result);if(this._requests[_id].callback instanceof Function)this._requests[_id].callback();if(document.getElementById(this._id_prefix+_id)){this.dom.removeElement(document.getElementById(this._id_prefix+_id));}delete(this._requests[_id]);};this._init(arguments);}var _ajax=null;function AjaxUpdateElement(_doc_id,_url){var _loading_text=(arguments[2])?arguments[2]:null;var _caching=(arguments.length>3)?arguments[3]:true;var _template=(arguments[4])?arguments[4]:'%1';var _error_template=(arguments[5])?arguments[5]:null;var _user_method=(arguments[6])?arguments[6]:null;if(_loading_text)document.getElementById(_doc_id).innerHTML=_loading_text;if(!_ajax)_ajax=new AjaxRequest();_ajax.query(_url,function(){if((_error_template)&&_ajax.answer==_error_template[0]){document.getElementById(_doc_id).innerHTML=_error_template[1];}else{if(typeof(_ajax.answer)=='object'){var _result=_template;for(key in _ajax.answer){_result=_result.replace('%'+key+'%',_ajax.answer[key]);}document.getElementById(_doc_id).innerHTML=_result;}else{document.getElementById(_doc_id).innerHTML=_template.replace('%1',_ajax.answer);}};if(_user_method&&_user_method instanceof Function)_user_method();},_caching);}

function $(id,doc){
	if (!doc){doc = document}
	return doc.getElementById(id);
}

var emsub = {
	init: function(){
		var em = $('emsub_txt_em').value ;
		//em = (''+utils.trim(em)+'').replace(/[`|:|;|%|#|\.|\*|\||]$/,'');
		em = utils.trim(em);
		if (em == '' || !utils.isValidEmail(em)){
			$('emsub_txt_em').value = '';
			$('emsub_txt_em').focus(); 
			return false ; 
		}
		
		$('emsub_msg').innerHTML = '';
		$('emsub_resp_msg').innerHTML = 'ارسال ای-میل شما. چند لحضه صبر کنید...';
		AjaxUpdateElement('emsub_resp_msg','inc/emsub/resp.php?em='+em+'&d='+utils.timestamp() ) ; 
	}
	
	
}

var utils = {
	trim : function(str,longtxt){
		var txt = '';
		if(str){
			if (longtxt == true ) {
				str = str.replace(/^\s\s*/, ''); var ws = /\s/, i = str.length;
				while (ws.test(str.charAt(--i)));
				txt += str.slice(0, i + 1);
			}
			else {
				txt += str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
			}
		}
		return txt ; 
	},
	isValidEmail: function(str) {
		return (str.lastIndexOf(".") > 2) && (str.indexOf("@") > 0) && (str.lastIndexOf(".") > (str.indexOf("@")+1)) && (str.indexOf("@") == str.lastIndexOf("@"));
	},
	timestamp : function(){
		return new Date().valueOf();	
	}

	
	
}


var $khandaniha = {
		
	header : {
		
		menu : {
			onmouseOver : function(id,is_nr){
				if (is_nr == 1){
					$(id).style.background = 'url(style/nr/menu1_text_bg2.jpg)';
				}
				else {
					$(id).style.background = 'url(style/menu1_text_bg2.jpg)';
				}
			},
			onmouseOut : function(id,is_nr){
				if (is_nr == 1 ){
					$(id).style.background = 'url(style/nr/menu1_text_bg1.jpg)';
				}
				else {
					$(id).style.background = 'url(style/menu1_text_bg1.jpg)';
				}
			}
		
		} 
	},
	
	items : {
		print : function(title_id,content_id,item_date,img_id) {
			var title = $(title_id).innerHTML ;
			var content = $(content_id).innerHTML ;
			var img = '';
			if (img_id) { 
				img =  '<center>'+$(img_id).innerHTML+'</center>' ;
			}	
			
			var txt_to_write = '<html><head><title>Khandaniha.eu - '+title+'</title><link rel="stylesheet" type="text/css" href="style/style1.css"/></head><body><div id="item_page_story" class="item_page_story"><h1>'+title+'</h1><h2>'+item_date+' - تارنمای خواندنیها - <a href="#" onclick="window.close();">صفحه را ببندید</a> - Khandaniha.eu</h2>'+img+'<span>'+content+'</span></div><center>&copy; 2008-2009 Khandaniha.eu</center><p>&nbsp;</p></body></html>';
			
			popupwin1 = window.open('about:blank','_blank'); 
			popupwin1.document.open();
			popupwin1.document.write(txt_to_write);
			popupwin1.document.close() ;
			
		},
		
		set_title : function (title_id) {
			document.title = $(title_id).innerHTML+' - '+document.title;		
		},
		
		set_img_title : function(id,lbl) {
			
		}
		
	
	},
	
	forms : {
		
		comments : {
			
			comments_haveSubmitted : false ,			
			
			prevent_double_post : function(){ 
				if(this.comments_haveSubmitted) return false;
				this.comments_haveSubmitted=true;
			}					
		
		}		
		
	},
	
	UI : {
		
	}
	
}

function menu_onmouseOver(id,is_nr){
	$khandaniha.header.menu.onmouseOver(id,is_nr);
}

function menu_onmouseOut(id,is_nr){
	$khandaniha.header.menu.onmouseOut(id,is_nr);
}

function check_form_comments_submit(){
	$khandaniha.forms.comments.prevent_double_post();
	return true ;
}


