var gappName = 'telugu';
var urlPrefix = {'www.webdunia.com':'http://telugu.webdunia.com','msn.webdunia.com':'http://telugu.webdunia.com','webdunia.com':'http://telugu.webdunia.com'}[window.location.hostname] || "";
var hpLinks = {'business':'http://telugu.webdunia.com//newsworld/finance/ '}
String.prototype.trim = function() { return this.replace(/^\s*([\S\s]*)\b\s*$/, '$1');};
w$ = function(pat){
    var obj = w$._sel(pat);
    return obj.length==1?obj[0]:obj;
}
w$._sel = function(pat){
    var ret=[];
    if(typeof(pat)=='string')
    {
        var rg = new RegExp("(>\\.|>|\\.|#)?(\\w+)(\\[(\\w+)\\])?","gim");
        //var rg = /(>\.|>|\.|#)?(\w+)(\[(\w+)\])?/gim;
        var m = rg.exec(pat);
        var obj = (this==w$?document:this);
        if(m){
            var tg = (m[4]?m[4]:'*');
            switch(m[1]){
                case '>.'://parent by classname
                    var rgcls = new RegExp("(^|\\s)" + m[2] + "(\\s|$)");
                    var prnt = obj.parentNode, found=false;
                    while(prnt.tagName.toLowerCase() != 'body'){
                        var objName = prnt.attributes?prnt.attributes.getNamedItem("name")?prnt.attributes.getNamedItem("name").value:'':'';
                        if(found = ((tg=='*' || prnt.tagName.toLowerCase()==tg.toLowerCase()) && (rgcls.test(prnt.className)))) break;
                        prnt = prnt.parentNode;
                    }
                    if(found){ret.push(prnt)};
                    break;
                case '.':case ''://by classname //by name
	                var rgcls = new RegExp("(^|\\s)" + m[2] + "(\\s|$)");
	                var elms = (tg == "*" && obj.all)? obj.all : obj.getElementsByTagName(tg);
	                var c;
	                for(var i=0; i<elms.length; i++){
		                c = elms[i];
		                if(m[1]=='.'){
		                    if(rgcls.test(c.className)){ret.push(c);}
		                } else {
		                    var objName = c.attributes ? c.attributes.getNamedItem("name") ? c.attributes.getNamedItem("name").value : '' : '';
                            if (objName != '' && objName == m[2]) {ret.push(c);}
                        }
	                }
                    break;
                case '#'://by id
                    var elm = document.getElementById(m[2]);
                    if(elm){ret.push(elm)}
                    break;
                case '>'://parent by name
                    var prnt = obj.parentNode, found=false;
                    while(prnt.tagName.toLowerCase() != 'body'){
                        var objName = prnt.attributes?prnt.attributes.getNamedItem("name")?prnt.attributes.getNamedItem("name").value:'':'';
                        if(found = ((tg=='*' || prnt.tagName.toLowerCase()==tg.toLowerCase()) && (m[2]=="" || objName==m[2]))) break;
                        prnt = prnt.parentNode;
                    }
                    if(found){ret.push(prnt)};
                    break;
            }
        }
    } else {
        ret.push(pat);
    }
    
    for(var i=0;i<ret.length;i++){
        ret[i].show = function(){this.style.display='';}
        ret[i].hide = function(){this.style.display='none';}
        ret[i].get = w$._sel;
        ret[i].changeCSS = function(oldcss,newcss){this.className=this.className.replace(new RegExp("(^|\\s)" + oldcss + "(\\s|$)"),newcss);}
        ret[i].addCSS = function(css){this.className+=' '+css;}
        ret[i].removeCSS = function(css){this.changeCSS(css,'')}
        ret[i].checkCSS = function(css){var rgcls = new RegExp("(^|\\s)" + css + "(\\s|$)"); return rgcls.test(this.className)}
        ret[i].next = function(tag){if(!tag) tag= '*';var nxt = this.nextSibling,     found=false;while(nxt){if(found = (tag=='*' ||(nxt.tagName && nxt.tagName.toLowerCase()==tag.toLowerCase()))) break;nxt = nxt.nextSibling;    }return (found?w$._sel(nxt)[0]:null);};
        ret[i].prev = function(tag){if(!tag) tag= '*';var prv = this.previousSibling, found=false;while(prv){if(found = (tag=='*' ||(prv.tagName && prv.tagName.toLowerCase()==tag.toLowerCase()))) break;prv = prv.previousSibling;}return (found?w$._sel(prv)[0]:null);};
        ret[i].html =function(h){if(h)this.innerHTML =h; else return this.innerHTML;}
        ret[i].slideTO=null;
        ret[i].slide=function(val,dly){var cL = parseInt(this.style.marginLeft);if(isNaN(cL)){cL =0;}var d = (val<0?-1:1)*(Math.min(Math.abs(val),5));if(d==0){this.slideTO=null;return;} this.style.marginLeft = (cL+d)+'px';var o = this;this.slideTO =setTimeout(function(){o.slide((val-d),dly)},dly);}
    }
    ret.show = function(){for(var i=0;i<this.length;i++){this[i].show();}}
    ret.hide = function(){for(var i=0;i<this.length;i++){this[i].hide();}}
    ret.changeCSS = function(oldcss,newcss){for(var i=0;i<this.length;i++){this[i].changeCSS(oldcss,newcss);}}
    ret.addCSS = function(css){for(var i=0;i<this.length;i++){this[i].addCSS(css);}}
    ret.removeCSS = function(css){this.changeCSS(css,'')}
    return ret;
}


/* Ajax functions */
w$.ajax = function(url,data, callback, errorHandler){
    if(!url || url=='') {
       if(typeof(errorHandler)=='function') errorHandler('Invalid Url');
    } else {
        window.status = url;
        url = url +(url.indexOf('?')==-1?'?':'&')+'version='+new Date();
        var req = null;
        try { req = new XMLHttpRequest(); }
        catch(e){
            try { req = new ActiveXObject("Microsoft.XMLHTTP");}
            catch(e2){
                try { req = new ActiveXObject("Msxml2.XMLHTTP");}
                catch (e3){ alert('Browser not support AJAX'); request = null;}
            }
        } 
        if(req){
            req.onreadystatechange = function(){
                if(req.readyState == 4){
                    if(req.status == 200) {
                        if(callback) {callback(req)}; 
                        window.status = '';
                    } else { 
                        if(typeof(errorHandler)=='function') 
                        errorHandler(request.status+' : '+req.statusText);
                    }
                }
            }
            if(data && data !='') {
                var dataArray=new Array();
                for(var key in data) { dataArray.push(key+'='+escape(data[key]))};
                req.open("POST", url,  true); 
                req.send(dataArray.join('&')); 
            } else {
                req.open("GET", url,  true); 
                req.send(null); 
            }
        }
    
    }
};
/* Data */
w$.tpl = {};
w$.tpl['loadingTab'] = '<div align="center" style="height:[HEIGHT]px;"><img alt="loading" title="loading" style="margin-top:[TOPMARGIN]px;" src="/img/cm/mainhp/loader.gif" /></div>';
w$.tpl['TabVideoData']='<object width="395" height="180" align="middle" id="DemoVideo" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"><param value="always" name="allowScriptAccess" /><param name="movie" value="/img/cm/video/VideoPlayer.swf?videoUrl=[VIDEOURL]"/> <param><param value="high" name="quality" /><param value="#ffffff" name="bgcolor" /><embed width="395" height="180" align="middle" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowscriptaccess="always" name="DemoVideo"  bgcolor="#ffffff" quality="high" src="/img/cm/video/VideoPlayer.swf?videoUrl=[VIDEOURL]" /></object>'
w$.tpl['videoObject']='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="324" height="245" id="mediaplayer" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="/Videos/HPVideoPlayerPortal.swf?filePath=[FLVPath]" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="devicefont" value="true" /><param name="bgcolor" value="#000000" /><param name="allowfullscreen" value="true" /><embed src="/Videos/HPVideoPlayerPortal.swf?filePath=[FLVPath]" quality="high" wmode="transparent" devicefont="true" bgcolor="#000000" width="324" height="245" name="mediaplayer" align="middle" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowfullscreen="true" /></object></div>';

w$._cdata = {};
w$.cache = function(key,value){if(value)w$._cdata[key]=value; else return w$._cdata[key];}

w$.cookies = function( name, value, expires, path, domain, secure ) {
    if(value){/*Set*/
        var today = new Date();
        today.setTime( today.getTime() );
        if (expires){expires = expires * 1000 * 60 * 60 * 24;}
        var expires_date = new Date( today.getTime() + (expires) );
        document.cookie = name + "=" +escape( value ) + ((expires)? ";expires=" + expires_date.toGMTString() : "" ) + ((path)? ";path=" + path:"") + ((domain)?";domain=" + domain:"") +((secure)?";secure":"");
    } else {
        if(value==''){/*Delete*/
            document.cookie = name + "=" + ((path)?";path=" + path:"") +((domain)?";domain=" + domain:"") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";        
        } else {/*Get*/
            var start = document.cookie.indexOf( name + "=" );
            var len = start + name.length + 1;
            if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ){return null;}
            if ( start == -1 ) {return null;}
            var end = document.cookie.indexOf( ";", len );
            if ( end == -1 ) { end = document.cookie.length;}
            return unescape( document.cookie.substring( len, end ) );
        }
    }
}
w$.regOnLoad = function(func){var prev = window.onload;window.onload = function(){ if(prev){prev();}; eval(func);}}

/* User section*/
function showTab(obj,url){
    var o = w$(obj);
    if(!o.checkCSS('wdp_tabSelected')){
        var pr = o.get('>.wdp_tabGroup')[0];
        pr.get('.wdp_tab').removeCSS('wdp_tabSelected');
        o.addCSS('wdp_tabSelected')
        var nx = pr.next('div');
        var th=nx.offsetHeight-(document.all?1:5);
        var tm = th/2-14;
        nx.html(w$.tpl.loadingTab.replace("[HEIGHT]",th).replace("[TOPMARGIN]",tm));
        w$.ajax(url,null,function(resp){
            var data = resp.responseText;
            if(urlPrefix!=""){
                while(data.indexOf('src="/')>-1){
                    data = data.replace('src="/','src="' + urlPrefix + '/');
                }
                while(data.indexOf('href="/')>-1){
                    data = data.replace('href="/','href="' + urlPrefix + '/');
                }
            }
            nx.html(data);
        });
    }
}
function rashiClick(obj){
    var opt = w$(w$('#rashiQuad').parentNode).get('.slctSign')[0];
    if(opt.value==-1){
        alert('Please select a rashi first');
    } else {
        showRashi(opt.value);
        w$.cookies('rashiId',opt.value,3000);
    }
}
function showRashi(rashiId){
    var rm = w$(w$('#rashiQuad').parentNode);
    rm.show();
    var opt = rm.get('.slctSign')[0];
    rm.get('.signHeading[div]')[0].html(opt.options[rashiId].innerHTML);
    var rar = rm.get('.rashiText[span]');
    rar.hide();
    rar[rashiId-1].show();
    
    rm.get('.rashiImg[img]')[0].src= urlPrefix + '/img/cm/rashiimages/'+rashiId+'.jpg';
}
function loadRashi(){
    var rashiId = w$.cookies('rashiId');
    rashiId = rashiId?parseInt(rashiId):1;
    showRashi(rashiId);
}
function openRashi(rashiId, rashiMode){window.location.href="http://astrology.webdunia.com/"+gappName+ "/predictions/predictions.aspx?rashiId=" +rashiId + "&rashiMode=" +rashiMode + "#" + rashiId;return false;}

var autoRotateTO=null;
var autoRotateRepeatTO=null;
function rotate(obj,flg){
    var o = w$(obj);
    var pg = o.get('>.slidenum')[0];
    pg.get('.pg').removeCSS('slidenumSelected');
    o.addCSS('slidenumSelected')
    var mn = w$('#roateMain');
    var cnts = mn.get('.slidecontentinner');
    cnts.hide();
    var idx = parseInt(o.html())-1
    cnts[idx].show();
    if(!flg){clearTimeout(autoRotateTO);if(autoRotateRepeatTO){clearTimeout(autoRotateRepeatTO);} autoRotateRepeatTO =setTimeout('Rotater('+(idx+1)+');',1000*60);}
}

function Rotater (def){
    this._idx =def?def:1;
    var mn = w$('#roateMain');
    this._pgs = mn.next().get('.pg');
    if(this._idx>this._pgs.length){this._idx=1;}
    rotate(this._pgs[this._idx-1],true);
    autoRotateTO = setTimeout('Rotater('+(this._idx+1)+');',5000);
}
function chShift(obj,val){
    var o = w$(obj);
    var m = o.get('>.topNavbg')[0];
    var mn = m.get('.menu')[0];
    var idv = m.get('.innerMenu')[0];
    var lis = idv.getElementsByTagName('li');
    
    var r = lis[lis.length-1].getClientRects();
    var cL = parseInt(idv.style.marginLeft);
    if(isNaN(cL)){cL =0;}
    
    var iW = parseInt(idv.offsetWidth)
    var mW = parseInt(mn.offsetWidth );
    
    if(cL>0){idv.style.marginLeft='0px';} 
    else {
        var diff = val==1?Math.min(Math.abs(cL),150):Math.min(r[0].right-mW,150);
        idv.slide(val*diff,10);
    }
}
function openPoll(obj, catid, pollid){
    var p = w$(obj).get('>.simpleQuad');
    if(p.length==0){p = w$(obj).get('>.simpleQuadR');}
    var targ= p[0].get('.inputalign');
    for(var i=0;i<targ.length;i++){if(targ[i].checked){var answer=targ[i].value;}}
    openWindowCenterScreen("http://in.webdunia.com/"+gappName+"/Poll/PollResult.aspx?result=" +answer + "&pollid=" +pollid + "&page=0", 'PollResult',480,500);
}

function openWindowCenterScreen(url,name,height,width,scroll){
    var wleft = (screen.width - width) / 2;
    var wLinks = (screen.height - height) / 2;
    var win = window.open(url,name,'width=' + width + ', height=' + height + ', ' + 'left=' + wleft + ', Links=' + wLinks + ', ' + 'location=no, menubar=no, ' + 'scrollbars=' + (scroll?'yes':'no')+','+ 'status=no, toolbar=no, resizable=no');
    win.focus();    
}

function ShowVideos(query,wHeight, wWidth){openWindowCenterScreen(urlPrefix + "/videos/webduniaPlayer.html?"+query,"ShowVideo",350,750);}
function showPhoto(obj,url,iId,gId){var img = w$(obj).get('>.wdp_tabContent')[0].get('.pgBigImage')[0];img.src = urlPrefix+url;img.parentNode.href = "javascript:openGallery("+iId+","+gId+")";}
function runVideo(obj,url){var vh = w$.tpl.videoObject.replace(/\[FLVPath\]/ig,url);w$(obj).get('>.wdp_tabContent')[0].get('.videoContainer')[0].html(vh);}
function openHPLink(key){window.location.href = hpLinks[key]; return false;}
function openGallery(iId,gId){window.open("http://photoGallery.webdunia.com/"+gappName+"/inner.aspx?GalleryId="+gId+"&ShowImageId="+iId ); }
function ShowFeedBack(){openWindowCenterScreen("http://feedback.webdunia.com/"+gappName+"/default.aspx?url=" + escape(window.location.href) + "&articletitle=MainHP" ,'FeedBack',460,480);	}
function ShowSendToFriend(){openWindowCenterScreen("http://in.webdunia.com/" + gappName + "/portalcms/SendToFriend/SendToFriendmail.aspx?url=" + escape(window.location.href) + "&title=MainHP","SendToFriend",560,480)}

function setMenu(id){
    var o = w$('#'+id);
    var p = o.prev();
    var idv = p.get('.innerMenu')[0];
    var lis = idv.getElementsByTagName('li');
    var r = lis[lis.length-1].getClientRects();
    if(r[0].right>900){
        p.style.width='830px';
        o.show();
    }
}


var PGTimeOut=null;
var PGTimeOutRepeat=null;
var PGInitiater=null;
var PGIndex=0;
var slideShowData=null;
function StartPGSlideShow(obj){
    PGInitiater=obj;
    eval(w$(obj).prev().html());
    PGRotater();
}
function PGRotater (){
	try {
		var mn = w$(PGInitiater).get('>.wdp_tabContent')[0];
		var img = mn.get('.pgBigImage')[0];
		var o = slideShowData[PGIndex];
		img.src = o.bUrl;
		img.parentNode.href = "javascript:openGallery(" + o.iid + "," + o.gid + ")";
		img.title = o.title;
		var bbar = mn.get(".galleryRight")[0];
		var imgar = bbar.getElementsByTagName('img');
		for(var i=0;i<imgar.length;i++){
		    imgar[i].className = (i==PGIndex?'wdp_imgSelected':'wdp_gellaryimg');
		}
		PGIndex = (PGIndex == 3) ? 0 : PGIndex + 1;
		if (PGTimeOut) {clearTimeout(PGTimeOut);}
		PGTimeOut = setTimeout('PGRotater ()', 5000);
	} 
	catch (ex) {
	}  
}
