a:4:{i:0;s:19381:"					<div class="h1"><h1>Property for Rent</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.ramaproperties.net/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.ramaproperties.net/find-property.htm" title="Find Property">Find Property</a>  			
											
					
					<b class="ffv p2px">&rsaquo;</b>Property for Rent</p> 
					<br />
					
											<p class="aj">Shop On Rent/ Lease - Sector 28, Huda Market Faridabad.</p>
						<br />
											<div class="headVr p10px">
					<p class="xxlarge b mb10px">Property Details</p>
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="vat data p10px">
					<table class="w100">
											<tr>
						<td class="vat p2px5px w175px"><b>Property ID</b>:</td>
						<td class="vat p2px5px">REI326093</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<tr>
						<td class="vat p2px5px"><b>Property For </b>:</td>
						<td class="vat p2px5px">Rent</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<script type="text/javascript">
						area_conversion=function(b,f,e){var c=createAreaArr();if(e==1){if(b<20&&b!=18){var a=f/c[b];return a}else{return 0}}else{if(e==2){if(b<20&&b!=18){var d=f*c[b];return d}else{return 0}}}};
						
						function createAreaArr(){
							var a={
								1:1,
								2:0.1111111111111,
								3:0.093,
								4:0.00041666667,
								5:0.013890889,
								6:0.000091810503,
								7:0.002222222222222223,
								8:0.0036724201,
								9:0.0009182736455464,
								10:0.00092936802973,
								11:0.0000028696051,
								12:0.00002295663,
								13:0.000057392103,
								14:0.0013888889,
								15:0.0000092904166,
								16:0.003673095,
								17:0.0000092605969,
								19:0.002295684
							};
							return a;
						}
						
						function updateArea(a,c,d,h,b,w,z){
							var g=createAreaArr();
							 
							var bu = {
						    'Sq.ft.':'1',
						    'Sq. Yards':'2',
						    'Sq. Meter':'3',
						    'Guntha':'9',
						    'Ares':'10',
						    'Acre':'12',
						    'Bigha':'13',
						    'Hectares':'15',
						    'Marla':'16',
						    'Cent':'19',
						    };
							if(w=='Sq. Feet'){
								var e=d*(parseFloat(g[c]));
							}
							else{
								var e=parseFloat(g[c])*(d/ parseFloat(g[bu[w]]));
							} 
							
							if(b=="Y"){
								jQuery("#"+h+"_span").html(e.toFixed(2));
							}else{
								if(b=="N"){
									jQuery("#"+h).html(jQuery("#"+h).html+e.toFixed(2));
									console.log("#"+h);
								}
							}
							jQuery("#"+h+"Label").html(" "+a);
							jQuery("#"+z).html(a+" &#9660;")
						}
						
						</script>						
												<tr>
						<td class="vat p2px5px"><b>Built Up Area</b>: </td>
						
						<td class="vat p2px5px">
						<script type="text/javascript">
						function convert(basetext,baseindex,baseunit){
						     if(250 > 0 )  updateArea(basetext,baseindex,250,'builtupArea','Y',baseunit,'DrpDownTab');   }
						</script>  
						<span id="builtupArea_span">250</span>
						<span class="pr">
						<a onClick="jQuery('#builtUp').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab">Sq.ft. &#9660;</a>
						<div id="builtUp" style="width:120px;display:none;top:-1px;left:0px;" class="pa">
						<span class="data p5px15px pb10px dib xlarge b pr" style="border-bottom:none;z-index:101;" id="builtupAreaLabel">Sq.ft.</span>
						<ul class="lsn m0px p0px data small bdrB0 pr uo" style="top:-1px;z-index:100;">
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Feet',1,'Sq.ft.');">Sq. Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Cent',19,'Sq.ft.');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Yards',2,'Sq.ft.');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Ares',10,'Sq.ft.');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Acre',12,'Sq.ft.');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Sq.%20Meter',3,'Sq.ft.');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Bigha',13,'Sq.ft.');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Hectares',15,'Sq.ft.');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Guntha',9,'Sq.ft.');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert('Marla',16,'Sq.ft.');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#builtUp').hide();
								
							})
						});
						</script>
						</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
												<tr>
						<td class="vat p2px5px"><b>Land / Plot Area</b>: </td>
						
						<td class="vat p2px5px">
						<script type="text/javascript">
						function convert1(basetext,baseindex,baseunit){
						     if(26 > 0 )  updateArea(basetext,baseindex,26,'landArea','Y',baseunit,'DrpDownTab1'); }
						</script>  
						<span id="landArea_span">26</span>
						<span class="pr">
						<a onClick="jQuery('#landArea').show();event.stopPropagation();" class="headVr pl5px pr5px small dib vam ml5px" id="DrpDownTab1">Sq. Yards &#9660;</a>
						<div id="landArea" style="width:120px;display:none;top:-1px;left:0px;" class="pa">
						<span class="data p5px15px pb10px dib xlarge b pr" style="border-bottom:none;z-index:101;" id="landAreaLabel">Sq. Yards</span>
						<ul class="lsn m0px p0px data small bdrB0 pr uo" style="top:-1px;z-index:100;">
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Feet',1,'Sq. Yards');">Sq.Feet</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Cent',19,'Sq. Yards');">Cent</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Yards',2,'Sq. Yards');">Sq. Yards</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Ares',10,'Sq. Yards');">Ares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Acre',12,'Sq. Yards');">Acres</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Sq.%20Meter',3,'Sq. Yards');">Sq. Meter</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Bigha',13,'Sq. Yards');">Bigha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Hectares',15,'Sq. Yards');">Hectares</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Guntha',9,'Sq. Yards');">Guntha</a></li>
						<li><a class="bdrB db p2px10px" href="javascript:convert1('Marla',16,'Sq. Yards');">Marla</a></li>
						</ul>
						</div>
						</span>
						<script>
						jQuery(document).ready(function(e) {
							jQuery('body').click(function(){
								jQuery('#landArea').hide();
								
							})
						});
						</script>			
						</td>
						</tr>
						<tr><td colspan="3"><p class="hr"></p></td></tr>
											</table>
					</td>
											<td class="vat pl15px w175px">
													<div class="w150px imgWidth150 m0a" id="thumbContainer0" >
							<div class="ac lh0 mt10px">
							<a  data-fancybox="showZoomImage"  title="Property for Rent" href="https://rei.wlimg.com/prop_images/10699/326093_1.jpg"><div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/10699/326093_1-350x350.jpg);background-size:cover;background-position:center;width:150px;height:150px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/10699/326093_1-350x350.jpg"  alt="Property for Rent"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div></a>							</div>
							</div>
													<p class="paging ac p10px small" id="propertyThumbLinks">
													<a href="javascript:void(0);" class="on w15px bdr dib b" onclick="imgDisplay('0')" title="">1</a> &nbsp; 
													</p>
						<script type="text/javascript">
						// <![CDATA[
						function imgDisplay(num) {
						as=document.getElementById('propertyThumbLinks').getElementsByTagName('a');
						for (i=0; i<as.length; i++) {
						as[i].className='p2px5px';
						document.getElementById('thumbContainer'+i).style.display='none';
						}
						as[num].className='on p2px5px'
						document.getElementById('thumbContainer'+num).style.display='';
						}
						//]]>
						</script>
						</td>
											</tr>
					</table>
					</div>
					<br />
											<div class="bdrB xxlarge b dif lh14em mb7px">Additional Details</div>
						<ul class="lsn m0px p0px wp33">
														<li class="p2px"><b>Furnishing :</b> Unfurnished</li>
														</ul>
			            <p class="cb"></p>
			            <br />
													<div class="bdrB xxlarge b dif lh14em mb7px">Property Address</div>
							<p>Sector 28, Sector 28 Faridabad, Faridabad, Haryana</p>
													<br />
						<div class="bdrB xxlarge b dif lh14em mb7px">Location Map</div>
						<div class="bdr p2px lh0 mt10px"> 
						<iframe width="100%" height="300" frameborder="0"  marginheight="0" marginwidth="0"
						src="https://www.google.com/maps/embed/v1/place?key=AIzaSyAN_m_CqOOtgmiF9crPBw9oSbiFBPNwn5o&q=~~Sector 28~~Faridabad~~Haryana,India">
						</iframe>
						</div>
												<br />
						
						<table class="w100 formTable">
						<tr>
						<td class="headVr b p5px" colspan="2">Property Seller Detail</td>
						</tr>
														<tr>
								<td class="ar b p5px w30">Contact Person :</td>
								<td class="p5px">
								Mr. Mahesh Sharma 								</td>
								</tr>
																<tr>
								<td class="ar b p5px">Mobile :</td>
								<td  class="p5px">
								+91-9810262160								</td>
								</tr>
																<tr>
								<td class="ar b p5px">Contact Address :</td>
								<td  class="p5px">
								SCO 41-42, 1st Floor, Main HUDA Market, Sector - 7, Rama Palace, Near Axis Bank & ICICI Bank, Huda Sector, Faridabad, Haryana, India								</td>
								</tr>
															</table>
													<form name="frmpropertydetail" method="post" action="http://www.ramaproperties.net/property-inquiry.htm">
						<p class="p10px ac">
						<input type="hidden" name="enqtype" value="property" />
						<input type="hidden" name="subject" value="Inquiry For Property - Property for Rent - REI326093" />
						<input class="button p5px10px b" type="submit" value="SEND ENQUIRY" />
						<input type="hidden" name="property_id" value="326093" />
						</p>
						</form>
												<br />
						<br />
						<div class="headHr xlarge p7px pl10px">Properties you might be Interested</div>
						
						<div class="p10px">
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight">
													<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/10699/322714_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/10699/322714_1-350x350.jpg"  alt="Property for Rent"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.ramaproperties.net/rent/office-complex-nit-faridabad_322714.htm" title="Property for Rent" class="dif b">Property for Rent</a></p>
							<p class="mb5px"> (NIT, Faridabad/Faridabad)   Area: 1700 Sq.ft. / 189 Sq. Yards</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/10699/324758_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/10699/324758_1-350x350.jpg"  alt="Property for Rent"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.ramaproperties.net/rent/commercial-shops-faridabad_324758.htm" title="Property for Rent" class="dif b">Property for Rent</a></p>
							<p class="mb5px"> (Sector 55 Faridabad/Faridabad)   Area: 216 Sq.ft. / 24 Sq. Yards</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/10699/329995_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/10699/329995_1-350x350.jpg"  alt="Property for Rent"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.ramaproperties.net/rent/office-space-nit-faridabad_329995.htm" title="Property for Rent" class="dif b">Property for Rent</a></p>
							<p class="mb5px"> (NIT, Faridabad/Faridabad)   Area: 300 Sq.ft. / 33.3 Sq. Yards</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/10699/192219_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/10699/192219_1-350x350.jpg"  alt="Office Space for Rent in Ashoka Enclave"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.ramaproperties.net/rent/commercial-shops-badarpur-border-faridabad_192219.htm" title="Office Space for Rent in Ashoka Enclave" class="dif b">Office Space for Rent in Ashoka Enclave</a></p>
							<p class="mb5px"> (Badarpur Border, Faridabad/Faridabad)   Area: 2000 Sq.ft. | 1 Floor</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/10699/326754_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/10699/326754_1-350x350.jpg"  alt="Property for Rent"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.ramaproperties.net/rent/commercial-shops-sector-17-faridabad_326754.htm" title="Property for Rent" class="dif b">Property for Rent</a></p>
							<p class="mb5px"> (Sector 17 Faridabad/Faridabad)   Area: 1000 Sq.ft. / 111 Sq. Yards</p>
							<br />
							</li>
														<li class="imgWidth200 ac">
							<div class="imgFrame dib bdr">
							<div class="imgFrame picBg dtc ac vam lh0">
							<div class="imgWidth" style="background-image:url(https://rei.wlimg.com/prop_images/10699/261430_1-350x350.jpg);background-size:cover;background-position:center;width:200px;height:200px;overflow:hidden;"><img src="https://rei.wlimg.com/prop_images/10699/261430_1-350x350.jpg"  alt="28000 Sq. Feet Warehouse/Godown for Rent"  style="max-height:150px;max-width:150px;z-index: -1;margin-left: -1000px;"  /></div>							</div>
							</div>
							<p class="mb5px mt10px"><a href="http://www.ramaproperties.net/rent/warehouse-godown-dlf-industrial-area-faridabad_261430.htm" title="28000 Sq. Feet Warehouse/Godown for Rent" class="dif b">28000 Sq. Feet Warehouse/Godown for Rent</a></p>
							<p class="mb5px"> (Dlf Industrial Area, Faridabad/Faridabad)   Area: 28000 Sq.ft.</p>
							<br />
							</li>
											
						</ul>
						</div>
						</div>
										<div id="myModal" class="modal fade dn pf" role="dialog" style="z-index:9999;left:0;top:0%;width:100%;height:100%;background-color:rgba(0,0,0,0.6);overflow-x: hidden; overflow-y: auto;">
				    <!-- Modal content-->
				    <div style="max-width:700px;margin-top: 50px;min-height:400px;" class="modal-content data m0a p10px pr">
				      <div class="modal-header">
				        <a style="right:25px;top:25px;" class="pa b xxxlarge" data-dismiss="modal"><span class="xlarge">&times;</span></a>	        
				      </div>
				      <div class="modal-body">
				        <div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>
				      </div>
				      <div class="modal-footer">
				        
				      </div>
				    </div>
				</div>
				<script type="text/javascript">
					jQuery(document).ready(function(){
						jQuery(document).on("click", ".submit-inquiry" , function(){
							var form = jQuery(this).parent().find(".inquiry-form");
							if(form.length){
								jQuery.ajax({
									url: form.attr("action"),
									type: form.attr("method"),
									data:form.serialize(),
									crossDomain:true,
									success:function(res){
										jQuery("#myModal .modal-body").html(res);
									}
								});
							}
						});
						jQuery(document).on("click", "[data-dismiss=modal]", function(){
							jQuery("#myModal .modal-body").html('<div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>');
							jQuery("#myModal").hide();
						});
						jQuery(document).on("submit", "form[name=static_form]", function(e){				
							e.preventDefault();
							var isValidForm =static_inq_form_validate(jQuery(this).attr("form-id"));
							if(isValidForm == undefined){
								var form = jQuery(this);
								if(form.length){
									jQuery.ajax({
										url: form.attr("action"),
										type: form.attr("method"),
										data:form.serialize(),
										crossDomain:true,
										beforeSend:function(){
											jQuery("#myModal .modal-footer").html("");
										},
										success:function(res){
											jQuery("#myModal .modal-body").html(res);
											setTimeout(function(){
												jQuery("#myModal", document).hide();
												jQuery("#myModal .modal-body").html('<div class="ac" style="padding-top: 10%;"><p style="font-size:18px">Loading...</p></div>');
												},2000)
										}
									});
								}
							}
						});
						var modal = jQuery("#myModal", document);
			
						jQuery(document).on("click", ".submit-inquiry" , function(){
						    modal.show();
						});
			
						window.onclick = function(event) {
						    if (jQuery(event.target) == modal) {
						        modal.css("display","none");
						    }
						}
					});
				</script>
				";i:1;s:62:"250 Sq. Feet Commercial Shops for Rent at Sector 28, Faridabad";i:2;s:195:"Rama Properties provide Commercial Shops for Rent with 250 Sq.ft. in Sector 28, Faridabad, Haryana Sector 28, Faridabad, Haryana. Requirement of Commercial Shops in Sector 28, Faridabad, Haryana.";i:3;s:195:"Rama Properties provide Commercial Shops for Rent with 250 Sq.ft. in Sector 28, Faridabad, Haryana Sector 28, Faridabad, Haryana. Requirement of Commercial Shops in Sector 28, Faridabad, Haryana.";}