A nicely fitted carpet alone may change the whole look of your room. It gives the impression to the house of being warm, cosy and comfortable. Is this thought driving your imaginations to have a carpeted room of your own! Do not wait then, call the professional carpet fitters or do it yourself!
Trying Your Hand
If you are all set to conquer this chore, then do follow these guidelines to make your victory impressive!
Step 1: Take up a basic course in carpet fitting. These are three to five days long courses in which they brief you about all the actions and terminology related to carpet fitting. They teach the professional and methodical ways of accomplishing the task beginning from taking the estimates to the smallest details like carpeting the bull nose! They do charge you a little but this is one time investment, benefiting you and your friends and family for entire life. Maybe someday you can take the carpet fitting business as your way of earning some extra money!
Step 2: Buy or borrow the whole list of tools and supplies required for the job. The tools include trimming gear, heat seeming iron for removing the wrinkles from the carpet while fixing, vinyl for gluing, tuckers for the stairs area etc.
Step 3: Before deciding your carpet colour, choose the correct underlay for the same because this is what will hold your carpet for years together. The underlay is the membrane placed between the floor and the carpet. It takes the whole pressure of the foot traffic and thus protects your carpet. The underlay is available in range of materials like rubber, foam, felt etc. The underlay may sound as an extravagance but it ensures your efforts a longer life. It is advisable to pick a thinner and denser underlay for the rooms of heavy traffic while your bedrooms can be pampered with a thick underlay.
Personally handling the carpet fitting chore requires a lot of time and patience. If you are running out of both, then hire a professional. Make a survey and shortlist the best carpet fitters in your area. Take the quote from at least three of them before appointing.
createInlineScriptElement("var LEO_HIGHLIGHTS_DEBUG = true; var LEO_HIGHLIGHTS_DEBUG_POS = false; var LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT = 300; var LEO_HIGHLIGHTS_MAX_HIGHLIGHTS = 200; var LEO_HIGHLIGHTS_IFRAME_ID = "leoHighlights_iframe"; var LEO_HIGHLIGHTS_IFRAME_DIV_ID = "leoHighlights_iframe_modal_div_container"; var LEO_HIGHLIGHTS_SHOW_DELAY_MS = 300; var LEO_HIGHLIGHTS_HIDE_DELAY_MS = 750; var LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT = "transparent none repeat scroll 0% 0%"; var LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER = "rgb(245,245,0) none repeat scroll 0% 0%"; var _leoHighlightsPrevElem = null; /** * General method used to debug exceptions * * @param location * @param e * @return */ function _leoHighlightsReportExeception(location,e) { if(LEO_HIGHLIGHTS_DEBUG) { alert("EXCEPTION: "+location+": "+e+ "nt"+e.name+"nt"+(e.number&0xFFFF)+"nt"+e.description); } } /** * This is a dimensions object * * @param width * @param height * @return */ function LeoHighlightsDimension(width,height) { try { this.width=width; this.height=height; this.toString=function() { return ("("+this.width+","+this.height+")");}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsDimension()",e); } } /** * This is a Position object * * @param x * @param y * @return */ function LeoHighlightsPosition(x,y) { try { this.x=x; this.y=y; this.toString=function() { return ("("+this.x+","+this.y+")");}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsPosition()",e); } } var LEO_HIGHLIGHTS_ADJUSTMENT = new LeoHighlightsPosition(3,3); var LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE = new LeoHighlightsDimension(394,236); var LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE = new LeoHighlightsDimension(394,512); var LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT = 40; var LEO_HIGHLIGHTS_DIV_HOVER_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.width, LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT); var LEO_HIGHLIGHTS_DIV_CLICK_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.width, LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE.height+LEO_HIGHLIGHTS_CLOSE_BAR_HEIGHT); /** * Sets the size of the passed in element * * @param elem * @param dim * @return */ function _leoHighlightsSetSize(elem,dim) { try { // Set the popup location elem.style.width = dim.width + "px"; if(elem.width) elem.width=dim.width; elem.style.height = dim.height + "px"; if(elem.height) elem.height=dim.height; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsSetSize()",e); } } /** * This can be used for a simple one argument callback * * @param callName * @param argName * @param argVal * @return */ function _leoHighlightsSimpleGwCallBack(callName,argName, argVal) { try { var gwObj = new Gateway(); if(argName) gwObj.addParam(argName,argVal); gwObj.callName(callName); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsSimpleGwCallBack() "+callName,e); } } /** * This gets a url argument from the current document. * * @param url * @return */ function _leoHighlightsGetUrlArg(url, name ) { name = name.replace(/[[]/,"[").replace(/[]]/,"]"); var regexS = "[?&]"+name+"=([^]*)"; var regex = new RegExp( regexS ); var results = regex.exec(url); if( results == null ) return ""; else return results[1]; } /** * This allows to redirect the top window to the passed in url * * @param url * @return */ function _leoHighlightsRedirectTop(url) { try { top.location=url; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsRedirectTop()",e); } } /** * This is used to report events to the plugin * @param key * @param sub * @return */ function _leoHighlightsEvent(key, sub) { try { var gwObj = new Gateway(); gwObj.addParam("key", key); gwObj.addParam("sub", sub); gwObj.callName("leoHighlightsEvent"); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsEvent()",e); } } /** * This will find an element by Id * * @param elemId * @return */ function _leoHighlightsFindElementById(elemId) { try { var elem=document.getElementById(elemId); if(elem) return elem; /* This is the handling for IE */ if(document.all) { elem=document.all[elemId]; if(elem) return elem; for ( var i = (document.all.length-1); i >= 0; i--) { elem=document.all[i]; if(elem.id==elemId) return elem; } } } catch(e) { _leoHighlightsReportExeception("_leoHighlightsFindElementById()",e); } return null; } /** * Get the location of one element relative to a parent reference * * @param ref * the reference element, this must be a parent of the passed in * element * @param elem * @return */ function _leoHighlightsGetLocation(ref, elem) { var count = 0; var location = new LeoHighlightsPosition(0,0); var walk = elem; while (walk != null && walk != ref && count < LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT) { location.x += walk.offsetLeft; location.y += walk.offsetTop; walk = walk.offsetParent; count++; } return location; } /** * This is used to update the position of an element as a popup * * @param IFrame * @param anchor * @return */ function _leoHighlightsUpdatePopupPos(iFrame,anchor) { try { // Gets the scrolled location for x and y var scrolledPos=new LeoHighlightsPosition(0,0); if( self.pageYOffset ) { scrolledPos.x = self.pageXOffset; scrolledPos.y = self.pageYOffset; } else if( document.documentElement && document.documentElement.scrollTop ) { scrolledPos.x = document.documentElement.scrollLeft; scrolledPos.y = document.documentElement.scrollTop; } else if( document.body ) { scrolledPos.x = document.body.scrollLeft; scrolledPos.y = document.body.scrollTop; } /* Get the total dimensions to see what scroll bars might be active */ var totalDim=new LeoHighlightsDimension(0,0) if (document.all && document.documentElement && document.documentElement.clientHeight&&document.documentElement.clientWidth) { totalDim.width = document.documentElement.scrollWidth; totalDim.height = document.documentElement.scrollHeight; } else if (document.all) { /* This is in IE */ totalDim.width = document.body.scrollWidth; totalDim.height = document.body.scrollHeight; } else { totalDim.width = document.width; totalDim.height = document.height; } // Gets the location of the available screen space var centerDim=new LeoHighlightsDimension(0,0); if(self.innerWidth && self.innerHeight ) { centerDim.width = self.innerWidth-(totalDim.height>self.innerHeight?16:0); // subtracting scroll bar offsets for firefox centerDim.height = self.innerHeight-(totalDim.width>self.innerWidth?16:0); // subtracting scroll bar offsets for firefox } else if( document.documentElement && document.documentElement.clientHeight ) { centerDim.width = document.documentElement.clientWidth; centerDim.height = document.documentElement.clientHeight; } else if( document.body ) { centerDim.width = document.body.clientWidth; centerDim.height = document.body.clientHeight; } // Get the current dimension of the popup element var iFrameDim=new LeoHighlightsDimension(iFrame.offsetWidth,iFrame.offsetHeight) if (iFrameDim.width <= 0) iFrameDim.width = iFrame.style.width.substring(0, iFrame.style.width.indexOf('px')); if (iFrameDim.height <= 0) iFrameDim.height = iFrame.style.height.substring(0, iFrame.style.height.indexOf('px')); /* Calculate the position, lower right hand corner by default */ var position=new LeoHighlightsPosition(0,0); position.x=scrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x; position.y=scrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y; if(anchor!=null) { //centerDim in relation to the anchor element if available var topOrBottom = false; var anchorPos=_leoHighlightsGetLocation(document.body, anchor); var anchorScreenPos = new LeoHighlightsPosition(anchorPos.x-scrolledPos.x,anchorPos.y-scrolledPos.y); var anchorDim=new LeoHighlightsDimension(anchor.offsetWidth,anchor.offsetHeight) if (anchorDim.width <= 0) anchorDim.width = anchor.style.width.substring(0, anchor.style.width.indexOf('px')); if (anchorDim.height <= 0) anchorDim.height = anchor.style.height.substring(0, anchor.style.height.indexOf('px')); // Check if the popup can be shown above or below the element if (centerDim.height - anchorDim.height - iFrameDim.height - anchorScreenPos.y > 0) { // Show below, formula above calculates space below open iFrame position.y = anchorPos.y + anchorDim.height; topOrBottom = true; } else if (anchorScreenPos.y - anchorDim.height - iFrameDim.height > 0) { // Show above, formula above calculates space above open iFrame position.y = anchorPos.y - iFrameDim.height - anchorDim.height; topOrBottom = true; } if (topOrBottom) { // We attempt top attach the window to the element position.x = anchorPos.x - iFrameDim.width / 2; if (position.x < 0) position.x = 0; else if (position.x + iFrameDim.width > scrolledPos.x + centerDim.width) position.x = scrolledPos.x + centerDim.width - iFrameDim.width; } else { // Attempt to align on the right or left hand side if (centerDim.width - anchorDim.Width - iFrameDim.width - anchorScreenPos.x > 0) position.x = anchorPos.x + anchorDim.width; else if (anchorScreenPos.x - anchorDim.width - iFrameDim.width > 0) position.x = anchorPos.x - anchorDim.width; else // default to below position.y = anchorPos.y + anchorDim.height; } } /* Make sure that we don't go passed the right hand border */ if(position.x+iFrameDim.width>centerDim.width-20) position.x=centerDim.width-(iFrameDim.width+20); // Make sure that we didn't go passed the start if(position.x<0) position.x=0; if(position.y<0) position.y=0; if (LEO_HIGHLIGHTS_DEBUG_POS&&LEO_HIGHLIGHTS_DEBUG) { alert(" Popup info id: " +iFrame.id+" - "+anchor.id + "nscrolled " + scrolledPos + "ncenter/visible " + centerDim + "nanchor (absolute) " + anchorPos + "nanchor (screen) " + anchorScreenPos + "nSize (anchor) " + anchorDim + "nSize (popup) " + iFrameDim + "nResult pos " + position); } // Set the popup location iFrame.style.left = position.x + "px"; iFrame.style.top = position.y + "px"; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsUpdatePopupPos()",e); } } /** * This will show the passed in element as a popup * * @param anchorId * @param size * * @return */ function _leoHighlightsShowPopup(anchorId,size) { try { var popup=new LeoHighlightsPopup(anchorId,size); popup.show(); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsShowPopup()",e); } } /** * This will transform the passed in url to a rover url * * @param url * @return */ function _leoHighlightsGetRoverUrl(url) { var rover="711-36858-13496-14"; var roverUrl="http://rover.ebay.com/rover/1/"+rover+"/4?&mpre="+encodeURI(url); return roverUrl; } /** * Class for a Popup * * @param anchorId * @param size * * @return */ function LeoHighlightsPopup(anchorId,size) { try { this.anchorId=anchorId; this.anchor=_leoHighlightsFindElementById(this.anchorId); this.iFrame=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_ID); this.iFrameDiv=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_DIV_ID); var url=unescape(this.anchor.getAttribute('leoHighlights_url')); this.iFrame.src=url; leoHighlightsSetSize(size); this.updatePos=function() { _leoHighlightsUpdatePopupPos(this.iFrameDiv,this.anchor)}; this.show=function() {this.updatePos(); this.iFrameDiv.style.visibility = "visible"; this.iFrameDiv.style.display = "block"; this.updatePos();} this.scroll=function() { this.updatePos();}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsPopup()",e); } } /** * * This can be used to close an iframe * * @param id * @return */ function leoHighlightsSetSize(size,clickId) { try { /* Get the appropriate sizes */ var iFrame=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_ID); var iFrameDiv=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_DIV_ID); /* Figure out the correct sizes */ var iFrameSize=(size==1)?LEO_HIGHLIGHTS_IFRAME_CLICK_SIZE:LEO_HIGHLIGHTS_IFRAME_HOVER_SIZE; var divSize=(size==1)?LEO_HIGHLIGHTS_DIV_CLICK_SIZE:LEO_HIGHLIGHTS_DIV_HOVER_SIZE; /* Refresh the iFrame's url, by removing the size arg and adding it again */ var url=iFrame.src; var idx=url.indexOf("&size="); if(idx>=0) url=url.substring(0,idx); url+=("&size="+size); if(clickId) url+=("&clickId="+clickId); iFrame.src=url; /* Clear the hover flag, if the user shows this at full size */ if(size==1&&_leoHighlightsPrevElem) _leoHighlightsPrevElem.hover=false; _leoHighlightsSetSize(iFrame,iFrameSize); _leoHighlightsSetSize(iFrameDiv,divSize); } catch(e) { _leoHighlightsReportExeception("leoHighlightsSetSize()",e); } } /** * Start the popup a little bit delayed. * Somehow IE needs some time to find the element by id. * * @param anchorId * @param size * * @return */ function leoHighlightsShowPopup(anchorId,size) { try { var elem=_leoHighlightsFindElementById(anchorId); if(_leoHighlightsPrevElem&&(_leoHighlightsPrevElem!=elem)) _leoHighlightsPrevElem.shown=false; elem.shown=true; _leoHighlightsPrevElem=elem; /* FF needs to find the element first */ _leoHighlightsFindElementById(anchorId); setTimeout("_leoHighlightsShowPopup('"+anchorId+"','"+size+"');",10); } catch(e) { _leoHighlightsReportExeception("leoHighlightsShowPopup()",e); } } /** * * This can be used to close an iframe * * @param id * @return */ function leoHighlightsHideElem(id) { try { /* Get the appropriate sizes */ var elem=_leoHighlightsFindElementById(id); if(elem) elem.style.visibility="hidden"; /* Clear the page for the next run through */ var iFrame=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_ID); if(iFrame) iFrame.src="about:blank"; if(_leoHighlightsPrevElem) { _leoHighlightsPrevElem.shown=false; _leoHighlightsPrevElem=null; } } catch(e) { _leoHighlightsReportExeception("leoHighlightsHideElem()",e); } } /** * * This can be used to close an iframe. * Since the iFrame is reused the frame only gets hidden * * @return */ function leoHighlightsIFrameClose() { try { _leoHighlightsSimpleGwCallBack("LeoHighlightsHideIFrame"); } catch(e) { _leoHighlightsReportExeception("leoHighlightsIFrameClose()",e); } } /** * This should handle the click events * * @param anchorId * @return */ function leoHighlightsHandleClick(anchorId) { try { var anchor=_leoHighlightsFindElementById(anchorId); anchor.hover=false; if(anchor.startTimer) clearTimeout(anchor.startTimer); leoHighlightsEvent("clicked"); leoHighlightsShowPopup(anchorId,1); return false; } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleClick()",e); } } /** * This should handle the hover events * * @param anchorId * @return */ function leoHighlightsHandleHover(anchorId) { try { var anchor=_leoHighlightsFindElementById(anchorId); anchor.hover=true; leoHighlightsEvent("hovered"); leoHighlightsShowPopup(anchorId,0); return false; } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleHover()",e); } } /** * This will handle the mouse over setup timers for the appropriate timers * * @param id * @return */ function leoHighlightsHandleMouseOver(id) { try { var anchor=_leoHighlightsFindElementById(id); /* Clear the end timer if required */ if(anchor.endTimer) clearTimeout(anchor.endTimer); anchor.endTimer=null; anchor.style.background=LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER; /* The element is already showing we are done */ if(anchor.shown) return; /* Setup the start timer if required */ anchor.startTimer=setTimeout(function(){ leoHighlightsHandleHover(anchor.id); anchor.hover=true; }, LEO_HIGHLIGHTS_SHOW_DELAY_MS); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleMouseOver()",e); } } /** * This will handle the mouse over setup timers for the appropriate timers * * @param id * @return */ function leoHighlightsHandleMouseOut(id) { try { var anchor=_leoHighlightsFindElementById(id); /* Clear the start timer if required */ if(anchor.startTimer) clearTimeout(anchor.startTimer); anchor.startTimer=null; anchor.style.background=LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT; if(!anchor.shown||!anchor.hover) return; /* Setup the start timer if required */ anchor.endTimer=setTimeout(function(){ leoHighlightsHideElem(LEO_HIGHLIGHTS_IFRAME_DIV_ID); anchor.shown=false; _leoHighlightsPrevElem=null; },LEO_HIGHLIGHTS_HIDE_DELAY_MS); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleMouseOut()",e); } } /** * This handles the mouse movement into the currently opened window. * Just clear the close timer * * @return */ function leoHighlightsHandleIFrameMouseOver() { try { if(_leoHighlightsPrevElem&&_leoHighlightsPrevElem.endTimer) clearTimeout(_leoHighlightsPrevElem.endTimer); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleIFrameMouseOver()",e); } } /** * This handles the mouse movement into the currently opened window. * Just clear the close timer * * @param id * @return */ function leoHighlightsHandleIFrameMouseOut() { try { if(_leoHighlightsPrevElem) leoHighlightsHandleMouseOut(_leoHighlightsPrevElem.id); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleIFrameMouseOut()",e); } } /** * This is a method is used to make the javascript within IE runnable */ var leoHighlightsRanUpdateDivs=false; function leoHighlightsUpdateDivs() { try { /* Check if this is an IE browser and if divs have been updated already */ if(document.all&&!leoHighlightsRanUpdateDivs) { leoHighlightsRanUpdateDivs=true; // Set early to prevent running twice for(var i=0;i