513 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			513 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| 
								 | 
							
								//Created by Harry Bomrah on Sep 21 2011
							 | 
						||
| 
								 | 
							
								$rss = jQuery.noConflict();
							 | 
						||
| 
								 | 
							
								var rcom={
							 | 
						||
| 
								 | 
							
								//Pass dom and will return binded dom with starting year till current
							 | 
						||
| 
								 | 
							
								insertDatePanel : function(dom,year){
							 | 
						||
| 
								 | 
							
									if(!year)year=1901;
							 | 
						||
| 
								 | 
							
									if(dom=="")return false;
							 | 
						||
| 
								 | 
							
									domid=dom.attr("id");
							 | 
						||
| 
								 | 
							
									var dt = new Date();
							 | 
						||
| 
								 | 
							
									current_year=dt.getFullYear();
							 | 
						||
| 
								 | 
							
									var dthtml="Year: <select name='"+domid+"_year'>";
							 | 
						||
| 
								 | 
							
									for(i=current_year;i>=year;i--){
							 | 
						||
| 
								 | 
							
										dthtml+="<option value='"+i+"'>"+i+"</option>";
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									dthtml+="</select> Date: <select name='"+domid+"_date'>";
							 | 
						||
| 
								 | 
							
									for(i=1;i<=31;i++){
							 | 
						||
| 
								 | 
							
										if(i<10)
							 | 
						||
| 
								 | 
							
											dthtml+="<option value='0"+i+"'>"+i+"</option>";
							 | 
						||
| 
								 | 
							
										else
							 | 
						||
| 
								 | 
							
											dthtml+="<option value='"+i+"'>"+i+"</option>";
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									dthtml+="</select> Month: <select name='"+domid+"_month'>";
							 | 
						||
| 
								 | 
							
									var months= Array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
							 | 
						||
| 
								 | 
							
									for(i=1;i<12;i++){
							 | 
						||
| 
								 | 
							
										if(i<10)
							 | 
						||
| 
								 | 
							
											dthtml+="<option value='0"+i+"'>"+months[i]+"</option>";
							 | 
						||
| 
								 | 
							
										else
							 | 
						||
| 
								 | 
							
											dthtml+="<option value='"+i+"'>"+months[i]+"</option>";
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									dthtml+="</select>"; 
							 | 
						||
| 
								 | 
							
									dom.html(dthtml);
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//loading overlay around a dom...
							 | 
						||
| 
								 | 
							
								loadingWrapper : function(dom, display){
							 | 
						||
| 
								 | 
							
									if(display){
							 | 
						||
| 
								 | 
							
										dom.prepend("<div id='loading_wrapper' class='loading'></div>");
							 | 
						||
| 
								 | 
							
										$rss("#loading_wrapper").height(dom.height());
							 | 
						||
| 
								 | 
							
										$rss("#loading_wrapper").width(dom.width());
							 | 
						||
| 
								 | 
							
									}else{
							 | 
						||
| 
								 | 
							
										domId=dom.attr("id");
							 | 
						||
| 
								 | 
							
										$rss("#"+domId+" #loading_wrapper").remove();
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								//validating a dom.... 
							 | 
						||
| 
								 | 
							
								validate : function(dom, validation, errormsg){
							 | 
						||
| 
								 | 
							
									var domValue = dom.val();
							 | 
						||
| 
								 | 
							
									var error = false;
							 | 
						||
| 
								 | 
							
									var regex="";
							 | 
						||
| 
								 | 
							
									var msg = "";
							 | 
						||
| 
								 | 
							
									switch(validation){
							 | 
						||
| 
								 | 
							
										case "required":
							 | 
						||
| 
								 | 
							
											if(domValue=="")error=true;
							 | 
						||
| 
								 | 
							
											msg="Cannot be empty.";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case "email":
							 | 
						||
| 
								 | 
							
											regex=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
							 | 
						||
| 
								 | 
							
											msg="Invalid Email Address.";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case "number":
							 | 
						||
| 
								 | 
							
											regex=/^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/;
							 | 
						||
| 
								 | 
							
											msg = "Only numbers are accepted.";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case "alphanumeric":
							 | 
						||
| 
								 | 
							
											regex=/^\s*[a-zA-Z0-9,\s]+\s*$/;
							 | 
						||
| 
								 | 
							
											msg="Only numbers, alphabets and spaces are allowed.";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										domId=dom.attr("name");
							 | 
						||
| 
								 | 
							
										if(errormsg=="")errormsg=msg;
							 | 
						||
| 
								 | 
							
										if(regex!="")if(!regex.test(domValue))error=true;
							 | 
						||
| 
								 | 
							
										if(error){$rss("#"+domId+"_error").remove();dom.after("<span id='"+domId+"_error' class='error'>"+errormsg+"</span>");return false;} else{ $rss("#"+domId+"_error").remove();return true;}
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								bindToSpinner : function(dom,data,callbackFn){
							 | 
						||
| 
								 | 
							
										var domId = dom.attr("id");
							 | 
						||
| 
								 | 
							
										var dhtml="";
							 | 
						||
| 
								 | 
							
										var spinnerValue=Array();
							 | 
						||
| 
								 | 
							
										var spinnerDisplay=Array();
							 | 
						||
| 
								 | 
							
										$rss.each(data,function(i,it){
							 | 
						||
| 
								 | 
							
											$rss.each(data[i],function(key,it){
							 | 
						||
| 
								 | 
							
												spinnerValue.push(it);
							 | 
						||
| 
								 | 
							
											});
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
										dhtml="<select name='"+domId+"'>";
							 | 
						||
| 
								 | 
							
										for(i=0,y=1,z=0;i<spinnerValue.length/2;i++,y+=2,z+=2){
							 | 
						||
| 
								 | 
							
											dhtml+="<option value='"+spinnerValue[z]+"'>"+spinnerValue[y]+"</option>";
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										dhtml+="</select>";
							 | 
						||
| 
								 | 
							
										dom.html(dhtml);
							 | 
						||
| 
								 | 
							
										if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
											callbackFn.call(this, dhtml);
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									//binds the recieved json to a table
							 | 
						||
| 
								 | 
							
								bindToTable : function(dom,data,headers,actions,css_class,callbackFn){
							 | 
						||
| 
								 | 
							
									if(!css_class)css_class="";
							 | 
						||
| 
								 | 
							
									var dhtml="<table width='100%' cellpadding='5' cellspacing='5' class='"+css_class+"' ><thead><tr>";
							 | 
						||
| 
								 | 
							
									var domId = dom.attr("id");
							 | 
						||
| 
								 | 
							
									if(actions){
							 | 
						||
| 
								 | 
							
										var btnTitles=Array();
							 | 
						||
| 
								 | 
							
										var btnFunctions=Array();
							 | 
						||
| 
								 | 
							
										$rss.each(actions,function(title,func){
							 | 
						||
| 
								 | 
							
											btnTitles.push(title);
							 | 
						||
| 
								 | 
							
											btnFunctions.push(func);
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
										rcom.translate(btnTitles,function(convertedData){
							 | 
						||
| 
								 | 
							
												btnTitles=convertedData.slice();
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
											rcom.translate(headers,function(convertedData){
							 | 
						||
| 
								 | 
							
												headers=convertedData;
							 | 
						||
| 
								 | 
							
												if(!data)return;
							 | 
						||
| 
								 | 
							
												$rss.each(headers,function(i,head){
							 | 
						||
| 
								 | 
							
													dhtml+="<th>"+head+"</th>";
							 | 
						||
| 
								 | 
							
												});
							 | 
						||
| 
								 | 
							
												dhtml+="</thead></tr>";
							 | 
						||
| 
								 | 
							
												if(data.length==0)dhtml+="<tr><td colspan='"+headers.length+"' align='center'>No Data</td></tr>";
							 | 
						||
| 
								 | 
							
												$rss.each(data,function(i,item){
							 | 
						||
| 
								 | 
							
													var cl="";
							 | 
						||
| 
								 | 
							
													if(i%2!=0)cl="even";
							 | 
						||
| 
								 | 
							
													dhtml+="<tr id='"+domId+"_"+item.id+"' class='"+cl+"'>";
							 | 
						||
| 
								 | 
							
													$rss.each(item,function(i,it){
							 | 
						||
| 
								 | 
							
														if(i!="id"){
							 | 
						||
| 
								 | 
							
															if(it==null)it="Not Set";
							 | 
						||
| 
								 | 
							
																dhtml+="<td align='center'>"+it+"</td>";
							 | 
						||
| 
								 | 
							
														}
							 | 
						||
| 
								 | 
							
													})
							 | 
						||
| 
								 | 
							
													dhtml+="<td align='center'>";
							 | 
						||
| 
								 | 
							
													for(x=0;x<btnTitles.length;x++){
							 | 
						||
| 
								 | 
							
														dhtml+="<button onclick='"+btnFunctions[x]+"("+item.id+")'>"+btnTitles[x]+"</button>";
							 | 
						||
| 
								 | 
							
													}
							 | 
						||
| 
								 | 
							
													dhtml+="</td>";
							 | 
						||
| 
								 | 
							
													dhtml+="</tr>";
							 | 
						||
| 
								 | 
							
												});
							 | 
						||
| 
								 | 
							
												dhtml+="</table>";
							 | 
						||
| 
								 | 
							
												dom.html(dhtml);
							 | 
						||
| 
								 | 
							
												});
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
									}else{
							 | 
						||
| 
								 | 
							
											rcom.translate(headers,function(convertedData){
							 | 
						||
| 
								 | 
							
												headers=convertedData;
							 | 
						||
| 
								 | 
							
												if(!data)return;
							 | 
						||
| 
								 | 
							
												if(headers.length>0){
							 | 
						||
| 
								 | 
							
													$rss.each(headers,function(i,head){
							 | 
						||
| 
								 | 
							
														dhtml+="<th>"+head+"</th>";
							 | 
						||
| 
								 | 
							
													});
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
												dhtml+="</thead></tr>";
							 | 
						||
| 
								 | 
							
												if(data.length==0)dhtml+="<tr><td colspan='"+headers.length+"' align='center'>No Data</td></tr>";
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
												$rss.each(data,function(i,item){
							 | 
						||
| 
								 | 
							
													var cl="";
							 | 
						||
| 
								 | 
							
													if(i%2!=0)cl="even";
							 | 
						||
| 
								 | 
							
													dhtml+="<tr id='"+domId+"_"+item.id+"' class='"+cl+"'>";
							 | 
						||
| 
								 | 
							
													$rss.each(item,function(i,it){
							 | 
						||
| 
								 | 
							
														if(i!="id"){
							 | 
						||
| 
								 | 
							
															if(it==null)it="Not Set";
							 | 
						||
| 
								 | 
							
																dhtml+="<td align='center'>"+it+"</td>";
							 | 
						||
| 
								 | 
							
														}
							 | 
						||
| 
								 | 
							
													})
							 | 
						||
| 
								 | 
							
													dhtml+="</tr>";
							 | 
						||
| 
								 | 
							
												});
							 | 
						||
| 
								 | 
							
												dhtml+="</table>";
							 | 
						||
| 
								 | 
							
												dom.html(dhtml);
							 | 
						||
| 
								 | 
							
												});	
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
										callbackFn.call(this, dhtml);
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
									//convert to date string which can be directly inserted in database or according to any format.
							 | 
						||
| 
								 | 
							
								convertToInsertableDate : function(y,m,d,format){
							 | 
						||
| 
								 | 
							
										var dt="";
							 | 
						||
| 
								 | 
							
										if(m<10)m="0"+m;
							 | 
						||
| 
								 | 
							
										if(d<10)d="0"+d;
							 | 
						||
| 
								 | 
							
										switch(format){
							 | 
						||
| 
								 | 
							
											case "yyyy-mm-dd":
							 | 
						||
| 
								 | 
							
												dt= y+"-"+m+"-"+d;
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
											case "dd-mm-yyyy":
							 | 
						||
| 
								 | 
							
												dt= d+"-"+m+"-"+y;
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
											case "mm-dd-yyyy":
							 | 
						||
| 
								 | 
							
												dt= m+"-"+d+"-"+y;
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
											default:
							 | 
						||
| 
								 | 
							
												dt= y+"-"+m+"-"+d;
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										return dt; 
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								//a fucntion to show specific divs and hide all other	
							 | 
						||
| 
								 | 
							
								showDoms : function(doms){
							 | 
						||
| 
								 | 
							
									$rss("body").find("div").each(function(){$rss(this).hide();});
							 | 
						||
| 
								 | 
							
									$rss.each(doms,function(i,dom){
							 | 
						||
| 
								 | 
							
											dom.show();
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//a function to translate the word or array..
							 | 
						||
| 
								 | 
							
								translate : function(data,callbackFn){
							 | 
						||
| 
								 | 
							
										var cdata="";
							 | 
						||
| 
								 | 
							
										var status =true;
							 | 
						||
| 
								 | 
							
										if(!data){
							 | 
						||
| 
								 | 
							
											if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
														callbackFn.call(this,cdata);
							 | 
						||
| 
								 | 
							
												status=false;
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										if(data==""){
							 | 
						||
| 
								 | 
							
											if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
														callbackFn.call(this,cdata);
							 | 
						||
| 
								 | 
							
												status=false;
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										if(status){
							 | 
						||
| 
								 | 
							
											$rss.getJSON("../../classes/translate.php", {fn:"translateThis",tData:data},function(convertedData){			
							 | 
						||
| 
								 | 
							
												if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
														callbackFn.call(this, convertedData);
							 | 
						||
| 
								 | 
							
											});
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// a function to bind JSON to list
							 | 
						||
| 
								 | 
							
								bindToList : function(dom,data,callbackFn){
							 | 
						||
| 
								 | 
							
										var domId = dom.attr("id");
							 | 
						||
| 
								 | 
							
										var dhtml="";
							 | 
						||
| 
								 | 
							
										var listValue=Array();
							 | 
						||
| 
								 | 
							
										var listDisplay=Array();
							 | 
						||
| 
								 | 
							
										$rss.each(data,function(i,it){
							 | 
						||
| 
								 | 
							
											$rss.each(data[i],function(key,it){
							 | 
						||
| 
								 | 
							
												listValue.push(it);
							 | 
						||
| 
								 | 
							
											});
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
										dhtml="<ul id='"+domId+"_list'>";
							 | 
						||
| 
								 | 
							
										for(i=0,y=1,z=0;i<listValue.length/2;i++,y+=2,z+=2){
							 | 
						||
| 
								 | 
							
											dhtml+="<li id='li_"+listValue[z]+"'>"+listValue[y]+"</li>";
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										dhtml+="</ul>";
							 | 
						||
| 
								 | 
							
										dom.html(dhtml);
							 | 
						||
| 
								 | 
							
										if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
											callbackFn.call(this,dhtml);
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
								makeDraggable : function(handler,dom){
							 | 
						||
| 
								 | 
							
									handler.css("position","absolute");
							 | 
						||
| 
								 | 
							
									dom.css("position","absolute");
							 | 
						||
| 
								 | 
							
									var puranix=0;
							 | 
						||
| 
								 | 
							
									var nayeex=0;
							 | 
						||
| 
								 | 
							
									var puraniy=0;
							 | 
						||
| 
								 | 
							
									var nayeey=0;
							 | 
						||
| 
								 | 
							
									var offset="";
							 | 
						||
| 
								 | 
							
									var zIndex=dom.css("z-index");
							 | 
						||
| 
								 | 
							
										handler.mousedown(function(e){
							 | 
						||
| 
								 | 
							
											puranix=e.clientX;
							 | 
						||
| 
								 | 
							
											puraniy=e.clientY;
							 | 
						||
| 
								 | 
							
											offset=dom.offset();
							 | 
						||
| 
								 | 
							
											$rss(this).mousemove(function(e){
							 | 
						||
| 
								 | 
							
												nayeex=e.clientX-puranix;
							 | 
						||
| 
								 | 
							
												nayeex+=offset.left;
							 | 
						||
| 
								 | 
							
												nayeey=e.clientY-puraniy;
							 | 
						||
| 
								 | 
							
												nayeey+=offset.top;
							 | 
						||
| 
								 | 
							
												dom.css({"left":nayeex+"px","top":nayeey+"px","z-index":"9999"});
							 | 
						||
| 
								 | 
							
											})
							 | 
						||
| 
								 | 
							
										}).mouseup(function(){
							 | 
						||
| 
								 | 
							
											$rss(this).unbind("mousemove");
							 | 
						||
| 
								 | 
							
											dom.css("z-index",zIndex);
							 | 
						||
| 
								 | 
							
										})
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								//automatically scrolls to the bottom of the div	
							 | 
						||
| 
								 | 
							
								scrollToBottom : function(dom){
							 | 
						||
| 
								 | 
							
									var domId = dom.attr("id");
							 | 
						||
| 
								 | 
							
								//	var domScrollHeight = document.getElementById(domId).scrollHeight; 
							 | 
						||
| 
								 | 
							
									var obj = document.getElementById(domId);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									if((obj.scrollTop+100) >= (obj.scrollHeight - obj.offsetHeight))
							 | 
						||
| 
								 | 
							
										dom.scrollTop(obj.scrollHeight);
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								/*ajax loading of images... needs following settings
							 | 
						||
| 
								 | 
							
								dom:in which images ve to be loaded
							 | 
						||
| 
								 | 
							
								url:the server url for making ajax calls
							 | 
						||
| 
								 | 
							
								limit:how many images to load
							 | 
						||
| 
								 | 
							
								divClass:the class of div surrounding each image
							 | 
						||
| 
								 | 
							
								nameClass:class for span showing name
							 | 
						||
| 
								 | 
							
								fn:function to be called in on the server
							 | 
						||
| 
								 | 
							
								imageSrc:the image source of all the images.
							 | 
						||
| 
								 | 
							
								bindTo:to bind images to a onclick function or else will be binded to normal a tag.
							 | 
						||
| 
								 | 
							
								urlKey:to specify the key of the value.. if bindTo is used, this will be neglected..
							 | 
						||
| 
								 | 
							
								returns json;
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								loadImages : function(settings,callbackFn){
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										var dom = settings.dom;
							 | 
						||
| 
								 | 
							
										var domid= dom.attr("id");
							 | 
						||
| 
								 | 
							
										var temp_array=Array();
							 | 
						||
| 
								 | 
							
										var starting = $rss("#"+domid+" img:last").attr("id");
							 | 
						||
| 
								 | 
							
										if(typeof starting != 'undefined'){
							 | 
						||
| 
								 | 
							
											starting = starting.substr(4,starting.length-1);	
							 | 
						||
| 
								 | 
							
										}else{starting = 0};
							 | 
						||
| 
								 | 
							
										var temp_var="";
							 | 
						||
| 
								 | 
							
										var json = "";
							 | 
						||
| 
								 | 
							
										var dhtml="";
							 | 
						||
| 
								 | 
							
										var extraparam="";
							 | 
						||
| 
								 | 
							
										if(typeof settings.extraParam != "undefined"){
							 | 
						||
| 
								 | 
							
											extraparam = settings.extraParam;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										$rss.getJSON(settings.url,{fn:settings.fn,id:settings.whereId,limit:settings.limit,start:starting,extra:extraparam},function(images){
							 | 
						||
| 
								 | 
							
												json = eval(images);
							 | 
						||
| 
								 | 
							
												$rss.each(images,function(i,pic){
							 | 
						||
| 
								 | 
							
													var temp_array=Array();
							 | 
						||
| 
								 | 
							
													var a_var=Array();
							 | 
						||
| 
								 | 
							
													var name_var="";
							 | 
						||
| 
								 | 
							
													var title="";
							 | 
						||
| 
								 | 
							
													$rss.each(pic,function(i,value){
							 | 
						||
| 
								 | 
							
														temp_array.push(value);
							 | 
						||
| 
								 | 
							
														})
							 | 
						||
| 
								 | 
							
														if(temp_array.length>=4){
							 | 
						||
| 
								 | 
							
															name_var="<span class='"+settings.nameClass+"'>"+temp_array[3]+"</span></div>" 	
							 | 
						||
| 
								 | 
							
														}
							 | 
						||
| 
								 | 
							
														if(temp_array[2]==null)
							 | 
						||
| 
								 | 
							
															title = "";
							 | 
						||
| 
								 | 
							
														else
							 | 
						||
| 
								 | 
							
															title = temp_array[2];
							 | 
						||
| 
								 | 
							
														if(typeof settings.bindTo!="undefined"){
							 | 
						||
| 
								 | 
							
															a_var[1]="onclick='"+settings.bindTo+"("+temp_array[0]+");return false;'";
							 | 
						||
| 
								 | 
							
															a_var[0]="";
							 | 
						||
| 
								 | 
							
														}else{a_var[0]='?'+settings.urlKey+'='+temp_array[0];a_var[1]="";}
							 | 
						||
| 
								 | 
							
													dhtml="<div class='"+settings.divClass+"' id='img_holder_"+temp_array[0]+"' ><a href='"+a_var[0]+"' "+a_var[1]+" title='"+title+"'><img  id='pic_"+temp_array[0]+"' style='display:none' src='"+settings.imageSrc+temp_array[1]+"' /></a>"+name_var;
							 | 
						||
| 
								 | 
							
												dom.delay(100).append(dhtml);	
							 | 
						||
| 
								 | 
							
												$rss("#pic_"+pic.id).delay(100).fadeIn(200);
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
												})
							 | 
						||
| 
								 | 
							
												if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
													callbackFn.call(this,json);
							 | 
						||
| 
								 | 
							
										})
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									},
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								//function to get url variables...
							 | 
						||
| 
								 | 
							
								getUrlVars : function(){
							 | 
						||
| 
								 | 
							
								    var vars = [], hash;
							 | 
						||
| 
								 | 
							
								    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
							 | 
						||
| 
								 | 
							
								    for(var i = 0; i < hashes.length; i++){
							 | 
						||
| 
								 | 
							
								        hash = hashes[i].split('=');
							 | 
						||
| 
								 | 
							
								        vars.push(hash[0]);
							 | 
						||
| 
								 | 
							
								        vars[hash[0]] = hash[1];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return vars;
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								/*function to open a modalwindow on a page.. self reliant no images, no css needed.
							 | 
						||
| 
								 | 
							
								settings
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								width:in percentage or pixcel
							 | 
						||
| 
								 | 
							
								height:in percentage or pixcel
							 | 
						||
| 
								 | 
							
								closeBtn:true or false
							 | 
						||
| 
								 | 
							
								envClose:closing through background click, true or flase
							 | 
						||
| 
								 | 
							
								loadDiv:load html from a div
							 | 
						||
| 
								 | 
							
								loadPage:load a page
							 | 
						||
| 
								 | 
							
								loadHtml: load html
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								modalWindow : function(settings,callbackFn){
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									var envClose = settings.envClose;
							 | 
						||
| 
								 | 
							
									var dhtml="";
							 | 
						||
| 
								 | 
							
									if(typeof envClose == "undefined")
							 | 
						||
| 
								 | 
							
										envClose = true;
							 | 
						||
| 
								 | 
							
									var closeBtn = settings.closeBtn;
							 | 
						||
| 
								 | 
							
									if(typeof closeBtn == "undefined")
							 | 
						||
| 
								 | 
							
										closeBtn = true;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									var rgmaskHeight = $rss(window).height();
							 | 
						||
| 
								 | 
							
									var rgmaskWidth = $rss(window).width();
							 | 
						||
| 
								 | 
							
									var tempheight = settings.height;
							 | 
						||
| 
								 | 
							
									var tempwidth = settings.width;
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									if(typeof tempheight!="undefined"){
							 | 
						||
| 
								 | 
							
										if(tempheight.charAt(tempheight.length-1)=='%')
							 | 
						||
| 
								 | 
							
											tempheight=(rgmaskHeight*parseInt(tempheight.substr(0,tempheight.length)))/100;
							 | 
						||
| 
								 | 
							
									}else{tempheight="auto";}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if(typeof tempwidth!="undefined"){
							 | 
						||
| 
								 | 
							
										if(tempwidth.charAt(tempwidth.length-1)=='%')
							 | 
						||
| 
								 | 
							
											tempwidth=(rgmaskWidth*parseInt(tempwidth.substr(0,tempwidth.length)))/100;
							 | 
						||
| 
								 | 
							
									}else{tempwidth="auto";}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									$rss("body").append('<div class="rgmask" id="rgsheath" style="height:'+rgmaskHeight+'px"></div>');
							 | 
						||
| 
								 | 
							
									$rss("#rgsheath").css({background: "#000", width: "100%", position: "fixed", top: 0, left: 0,opacity:0.9,'z-index':199});
							 | 
						||
| 
								 | 
							
									$rss("body").append('<div id="rgWindow"></div>');
							 | 
						||
| 
								 | 
							
									$rss("#rgWindow").css({"position": "fixed", "z-index": "999", "background": "#fff", "border": "solid 3px #ccc", "padding": "20px",	"overflow": "hidden", "border-radius": "12px", "-webkit-border-radius": "12px", "-moz-border-radius": "12px", "-ms-border-radius": "12px",	"box-shadow": "0 0 20px rgba(0,0,0,0.9)","-webkit-box-shadow": "0 0 20px rgba(0,0,0,0.9)","-moz-box-shadow": "0 0 20px rgba(0,0,0,0.9)","-ms-box-shadow": "0 0 20px rgba(0,0,0,0.9)"});
							 | 
						||
| 
								 | 
							
										var rgWTop = (rgmaskHeight-20)/2;
							 | 
						||
| 
								 | 
							
										var rgWLeft = (rgmaskWidth-20)/2;
							 | 
						||
| 
								 | 
							
										$rss("#rgWindow").css({top:rgWTop+"px", left:rgWLeft+"px"});
							 | 
						||
| 
								 | 
							
									if(typeof settings.loadDiv!="undefined"){
							 | 
						||
| 
								 | 
							
										dhtml = $rss("#"+settings.loadDiv).html();
							 | 
						||
| 
								 | 
							
										$rss("#rgWindow").html(dhtml).hide();
							 | 
						||
| 
								 | 
							
										prepareWindow();
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									if(typeof settings.loadHtml!="undefined"){
							 | 
						||
| 
								 | 
							
										dhtml = settings.loadHtml;
							 | 
						||
| 
								 | 
							
										$rss("#rgWindow").html(dhtml).hide();
							 | 
						||
| 
								 | 
							
										prepareWindow();
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									if(typeof settings.loadPage!="undefined"){
							 | 
						||
| 
								 | 
							
										$rss("#rgWindow").load(settings.loadPage,function(){$rss(this).hide();dhtml=$rss(this).html();prepareWindow();});
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									function prepareWindow(){
							 | 
						||
| 
								 | 
							
										if(tempheight!="auto")
							 | 
						||
| 
								 | 
							
											rgWTop = (rgmaskHeight-tempheight)/2;
							 | 
						||
| 
								 | 
							
										else{
							 | 
						||
| 
								 | 
							
											tempheight=$rss("#rgWindow").height();
							 | 
						||
| 
								 | 
							
											rgWTop=(rgmaskHeight-tempheight)/2;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										if(tempwidth!="auto")
							 | 
						||
| 
								 | 
							
											rgWLeft = (rgmaskWidth-tempwidth)/2;
							 | 
						||
| 
								 | 
							
										else{
							 | 
						||
| 
								 | 
							
											tempwidth=$rss("#rgWindow").width();
							 | 
						||
| 
								 | 
							
											rgWLeft=(rgmaskWidth-tempwidth)/2;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										$rss("#rgWindow").empty().show();
							 | 
						||
| 
								 | 
							
										var closebtn = "";
							 | 
						||
| 
								 | 
							
										if(closeBtn)
							 | 
						||
| 
								 | 
							
											closebtn='<a href="" style="display:block; width:28px; height:28px; line-height:28px; text-align:center; position:absolute; right:6px; top: 6px; font-family:Tahoma; font-weight:bold; border:solid 1px #ccc; border-radius: 15px;text-shadow:1px 1px 0 #fff; background:#f6f6f6; font-size:14px; text-decoration:none; color:#666" id="close_modal">X</a>';
							 | 
						||
| 
								 | 
							
										$rss("#rgWindow").animate({"width":tempwidth+"px","height":tempheight+"px",top:rgWTop+"px", left:rgWLeft+"px"},500,function(){$rss("#rgWindow").html(closebtn+"<div id='rgContent' style='overflow:auto; overflow-x:none; height:"+tempheight+"px;'>"+dhtml+"</div>");
							 | 
						||
| 
								 | 
							
										$rss("#close_modal").mouseover(function(){$rss(this).css("color","#999");}).mouseout(function(){$rss(this).css("color","#666");})
							 | 
						||
| 
								 | 
							
										$rss("#close_modal").click(function(){
							 | 
						||
| 
								 | 
							
											$rss("#rgWindow").empty();
							 | 
						||
| 
								 | 
							
											var x = (rgmaskHeight-20)/2;
							 | 
						||
| 
								 | 
							
											var y = (rgmaskWidth-20)/2;
							 | 
						||
| 
								 | 
							
											$rss("#rgWindow").animate({top:x+"px", left:y+"px","width":"50px","height":"50px"},300,function(){$rss(this).fadeOut(100).remove();$rss("#rgsheath").fadeOut(500).remove();});
							 | 
						||
| 
								 | 
							
											return false;
							 | 
						||
| 
								 | 
							
											})
							 | 
						||
| 
								 | 
							
											if(envClose)
							 | 
						||
| 
								 | 
							
												$rss("#rgsheath").click(function(){
							 | 
						||
| 
								 | 
							
													$rss("#rgWindow").empty();
							 | 
						||
| 
								 | 
							
													var x = (rgmaskHeight-20)/2;
							 | 
						||
| 
								 | 
							
													var y = (rgmaskWidth-20)/2;
							 | 
						||
| 
								 | 
							
													$rss("#rgWindow").animate({top:x+"px", left:y+"px","width":"50px","height":"50px"},300,function(){$rss(this).fadeOut(100).remove();$rss("#rgsheath").fadeOut(500).remove();});})
							 | 
						||
| 
								 | 
							
													
							 | 
						||
| 
								 | 
							
											if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
												callbackFn.call(this,dhtml);
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								modalWindowClose : function(callbackFn){
							 | 
						||
| 
								 | 
							
									if($rss("#rgWindow").length>0){
							 | 
						||
| 
								 | 
							
										$rss("#rgWindow").empty();
							 | 
						||
| 
								 | 
							
										var rgmaskHeight = $rss(window).height();
							 | 
						||
| 
								 | 
							
										var rgmaskWidth = $rss(window).width();
							 | 
						||
| 
								 | 
							
										var x = (rgmaskHeight-20)/2;
							 | 
						||
| 
								 | 
							
										var y = (rgmaskWidth-20)/2
							 | 
						||
| 
								 | 
							
										$rss("#rgWindow").animate({top:x+"px", left:y+"px","width":"50px","height":"50px"},300,function(){$rss(this).fadeOut(100).remove();$rss("#rgsheath").fadeOut(500).remove();})
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
										if(typeof callbackFn=="function")
							 | 
						||
| 
								 | 
							
												callbackFn.call(this,"harry");
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								bindDomToHead :  function(dom){
							 | 
						||
| 
								 | 
							
									var gc = dom.css("background");
							 | 
						||
| 
								 | 
							
									var t = dom.offset();
							 | 
						||
| 
								 | 
							
									var gw = dom.width();
							 | 
						||
| 
								 | 
							
									$rss(window).scroll(function(){
							 | 
						||
| 
								 | 
							
										var wt = $rss(window).scrollTop();
							 | 
						||
| 
								 | 
							
										if ( wt > t.top ) {
							 | 
						||
| 
								 | 
							
											var cssObj = { 
							 | 
						||
| 
								 | 
							
												'position':'fixed',
							 | 
						||
| 
								 | 
							
												'top':0,
							 | 
						||
| 
								 | 
							
												'width':gw,
							 | 
						||
| 
								 | 
							
												'background':gc,
							 | 
						||
| 
								 | 
							
												'box-shadow':'0 1px 0 rgba(0,0,0,0.2)',
							 | 
						||
| 
								 | 
							
												'z-index':99
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											dom.css(cssObj);
							 | 
						||
| 
								 | 
							
										} else {
							 | 
						||
| 
								 | 
							
											dom.attr('style',"");
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									});
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								progressBar : function(dom,settings){
							 | 
						||
| 
								 | 
							
									var domid = dom.prop("id");
							 | 
						||
| 
								 | 
							
									if($rss("#rss_progressbar_div_"+domid).length==0){
							 | 
						||
| 
								 | 
							
										if(typeof settings.top == "undefined")
							 | 
						||
| 
								 | 
							
											settings.value = 1;
							 | 
						||
| 
								 | 
							
										if(typeof settings.top == "undefined")
							 | 
						||
| 
								 | 
							
											settings.top = (dom.height()-12)/2;
							 | 
						||
| 
								 | 
							
										dom.append("<div id='rss_progressbar_div_"+domid+"' style='display:none;padding: 2px;background: #333;background: -webkit-linear-gradient(#111, #333);background: -moz-linear-gradient(#111, #333);background: -ms-linear-gradient(#111, #333);position: absolute;top: "+settings.top+"px;left: 50%;margin-left: -45%;width: 84%;box-shadow: inset 0 0 2px #000;border-radius: 4px;'><div id='rss_progressbar_"+domid+"' style='height: 8px;	background: #36c;background: -webkit-linear-gradient(#7A98E7, #36c);background: -moz-linear-gradient(#7A98E7, #36c);background: -ms-linear-gradient(#7A98E7, #36c);border-radius: 2px; width: "+settings.value+"%;'></div></div>");
							 | 
						||
| 
								 | 
							
										$rss("#rss_progressbar_div_"+domid).fadeIn(500);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								progressBarValue : function(dom,value){
							 | 
						||
| 
								 | 
							
									var domid = dom.prop("id");
							 | 
						||
| 
								 | 
							
									if($rss("#rss_progressbar_div_"+domid).length==1){
							 | 
						||
| 
								 | 
							
										$rss("#rss_progressbar_"+domid).animate({"width":value+"%"},100);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								progressBarClose : function(dom){
							 | 
						||
| 
								 | 
							
									var domid = dom.prop("id");
							 | 
						||
| 
								 | 
							
									$rss("#rss_progressbar_div_"+domid).fadeOut(500,function(){$(this).remove();});
							 | 
						||
| 
								 | 
							
								},
							 | 
						||
| 
								 | 
							
								getInternetExplorerVersion: function(){
							 | 
						||
| 
								 | 
							
								   var rv = -1; // Return value assumes failure.
							 | 
						||
| 
								 | 
							
								   if (navigator.appName == 'Microsoft Internet Explorer')
							 | 
						||
| 
								 | 
							
								   {
							 | 
						||
| 
								 | 
							
								      var ua = navigator.userAgent;
							 | 
						||
| 
								 | 
							
								      var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
							 | 
						||
| 
								 | 
							
								      if (re.exec(ua) != null)
							 | 
						||
| 
								 | 
							
								         rv = parseFloat( RegExp.$1 );
							 | 
						||
| 
								 | 
							
								   }
							 | 
						||
| 
								 | 
							
								   return rv;
							 | 
						||
| 
								 | 
							
								   }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								$ = jQuery.noConflict();
							 |