 var delta = 0;
 var mdownXPos = -1;
 var mdownYPos = -1;
 var deltaX = 0;
 var deltaY = 0;
 var loading = false;
 var panning = false;
 var endedDrag = false;
 var googleLoaded = false;
 var opacity= 1;
 var userUrl = document.location.search.substr(1) || '';
 var schmap = {};
 var schmapme = {a: 'google', accesskey: '', appid: 'h', origin: 'o', p: 'a',placedatetime: 0, s: tweetupText.adcode1.split('-')[0], isopinion: 'y'}
 schmap.maptypes = {'m': 'map', 's': 'satellite'}
 schmap.userType = 't';
 var b_version = navigator.appVersion;
 var isIE6 = b_version.search(/MSIE 6/i) != -1;
 var isIE = b_version.search(/MSIE/i) != -1;
 var isSafari = b_version.search(/applewebkit/i) != -1;
 schmap.cursorArray = ['zoomin', 'zoomout', 'mapview', 'satelliteview', 'mapimg'];
 schmapMapType = {
      'map':['mapselected','satellite'],
	 'satellite':['map','satelliteselected']
 }
 var encode;
if (typeof(encodeURIComponent) != "undefined") {
	encode = encodeURIComponent;
} else {
	encode = unescape;
}
schmap.intervalprocess = true;
var reqOpinions;
function initOpinions(url){
    reqOpinions = getXMLHttpRequest(handleOpinions);
	reqOpinions.open("GET", url, true);
	reqOpinions.send(null);
	reqOpinions = req;
}
function handleOpinions(response){
    if(reqOpinions.readyState == 4){
	    if (reqOpinions.status == 200) {
		    var response = reqOpinions.responseText
		    makeOpinionsList(response);
		}else{
		    showGetErrorScreen();
		}
	}
}
function showGetErrorScreen(){
    alert('no opinions');
}
function makeOpinionsList(response){
	var opinions = eval(response);
	$('placeaddress').innerHTML = $('placeaddress').innerHTML.replace(/\s*,\s*/g, ', ').replace(/<br>/ig, '');
	var i,li,op,photoSrc,time,liHtml,specailLi = '',
	    list = $('opinionsList');
	var	opinionLength = opinions.length;
	if(opinionLength === 0){
		hideElement($('opinionsText'));
		$('opinionsText').innerHTML = 0;
		return;
	}
	var listHtml = [];
	for(i = 0;i < opinions.length; i++){
		op = opinions[i];
		if(!op.date){
			opinionLength -= 1;
			continue;
		}
		if(op.isopinion === 'u' && op.schmapme_url !== userUrl){
			opinionLength -= 1;
			continue;
		}
		li = document.createElement('li');
		if(op.date.toLowerCase() == 'none'){
		    time = '';
		}else {
		    time = reformatTime(op.date);
		}
		if(!op.author_photo){
			getUserProfile(op.name,'t');
			photoSrc = 'me/images/spacer.png';
		} else{
			photoSrc = op.author_photo
		} 
		var realname = (op.creditname != ''?op.creditname:op.name);
		if(op.xpostxid && op.xpostxid !== ' '){
		    var viewTweet = '  &nbsp;&nbsp;<a target="_blank" href="http://www.twitter.com/' + realname + '/status/' + op.xpostxid + '">view tweet</a>';
		}else {
		    var viewTweet = '';	
		}
		var starHtml = '';
		if(op.rating !== 0){
			//starHtml = '<span class="star star' + op.rating + '" title="'  + op.rating + ' stars"></span>';
			starHtml = '<img class="starImg" src="/common/schmapme/images/starwhitebg' + op.rating + '.png" />';
		}
		var liHtml = '<li><div><h3><a target="_blank" href="http://www.twitter.com/' + op.name + 
					   '"><img onerror=\'getUserProfile("' + op.name + '","t")\' name="' + op.name + 
		               '" src="' + photoSrc + '"/> ' + realname +
					   '</a></h3><p class="ap1 italic"><span>' + time + '</span></p><p>' + op.xmessage.replace(/\\/g,'')
					   + viewTweet + starHtml +'</p></div></li>';
		if(op.schmapme_url === userUrl){
			specailLi = liHtml;
			if($('photoattr')){
				$('photoattr').innerHTML = op.name;
				$('photoattr').href = 'http://www.twitter.com/' + op.name;
			}
		} else {
			listHtml[listHtml.length] = liHtml;
		}		
	}
	if(opinionLength === 0){
		$('opinionsText').innerHTML = 0;
		hideElement($('opinionsText'));
		return;
	}
	if(opinionLength == 1){
		$('opinionsText').innerHTML = '1 opinion';
	}else{
		$('opinionsText').innerHTML = opinionLength + ' opinions';
	}
	$('opinionsList').innerHTML = specailLi + listHtml.join('');
	
}
function slideUp(){
	if(slideup.d !== 0){
		clearInterval(slideup.slide);
	}
	var topMargin = 108 - slideup.i*slideup.gap + slideup.d;
	$('bubblearrow').style.marginTop = topMargin + 'px';
	slideup.i += 1;
	if(topMargin - 12 < slideup.gap){
		slideup.d = slideup.gap - topMargin + 12;
	}
}
function showElement(id){
    $(id).style.display = 'block';
}
function hideElement(id){
    $(id).style.display = 'none';
}
function init(){
	twitterCheck();
	connect('addOpinion','onclick',addNewOpinion);
	connect('submitOpinion','onclick',submitOpinion);
	connect('isRem', 'onclick', rememberUser);
	connect('isToFollowers', 'onclick', toFollowers);
}

function toFollowers(ev){
    var e = ev ||window.event;
	ctx = e.target||e.srcElement;
    schmapme['xpost'] = ctx.checked/1;
}

function addNewOpinion(e){
	var event = e || window.event;
	showElement('newOpinion');
	
	var tuser = getCookie('user');
	var pwd = getCookie('password');
	$('isRem').checked = false;
	if(tuser && pwd){
		schmapme.tuser = tuser;
		schmapme.tpwd = pwd;
		$('tuser').value = tuser;
		changeInputType('tpwd', 'password');
		$('tuser').style.color = '#797978';
		$('tpwd').style.color = '#797978';
		setTimeout(function(){$('tpwd').value = pwd;},200);
		$('isRem').checked = true;
	}
	//$('isToFollowers').checked = false;
	schmapme['xpost'] = 1;
	var ctx = $('tmsg');
	schmapme['tmsg'] = '';
	ctx.value = ctx.defaultString;
	ctx.style.color = '#bfbfbf';
	setRate();
	cancelClick(event);
	schmap.newOpinion = {};
	schmap.newOpinion.addnewBt = $('addOpinionBox');
	schmap.newOpinion.addnewH = $('addOpinionBox').offsetHeight;
	schmap.newOpinion.newOpinion = $('newOpinion');
	schmap.newOpinion.newOpinionH = 279;
	schmap.newOpinion.newOpinionCH = 0;
	schmap.newOpinion.newOpinion.style.visibility = 'visible';
	schmap.newOpinion.interavl = setInterval(hideOpinionButton, 10);
}

function changeRating(){
	var rate = this.id.match(/(?:star)(\d)/)[1];
	schmapme.starrating = rate;
	this.parentNode.className = 'star' + rate;
}

function setRate(){
	var i,span,
		spans = $('stars').getElementsByTagName('span');
	$('stars').className = 'star0';
	schmapme.starrating = 99;
	for(i=0;i<spans.length;i += 1){
		span = spans[i];
		span.onclick = changeRating;
	}
}
function cancelClick(e){
	if (window.event){
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	}
	if (e && e.stopPropagation && e.preventDefault){
		e.stopPropagation();
		e.preventDefault();
	}
}
function twitterCheck(){
	var i,ele,
		eles = ['tmsg','tuser','tpwd'];
	for(i=0;i<eles.length;i++){
		ele = $(eles[i]);
		ele.defaultString = tweetupText[eles[i]];
		connect(ele, 'onfocus', satartType);
		connect(ele, 'onclick', satartType);
		connect(ele, 'onblur', endType);
		connect(ele, 'onchange', changeText);
	}
}
function changeText(ev) { 
    var e = ev||window.event;
	ctx = e.target||e.srcElement;
	var v = ctx.value;
	schmapme[ctx.id] = v;
	if(ctx.nodeName.toLowerCase() == 'input'){
	   	setCookie('user', '');
		setCookie('password', '');
		$('isRem').checked = false;
	}
}
function satartType(ev) {
    var e = ev ||window.event;
	ctx = e.target||e.srcElement;
	 if(ctx.value !== '' && ctx.value !== ctx.defaultString){
		return;
	}
	ctx.value = '';
	ctx.style.color = '#797978';
	if(ctx.id == "tpwd" && !schmap.typed){
		 
		changeInputType('tpwd', 'password',true);
	}
}

function INPUT(attrs){
	var input = document.createElement('input');
	for(var n in attrs){
		input.setAttribute(n,attrs[n]);
	}
	return input;
}

function changeInputType(inputs,type,click){
	var input = $(inputs)
	if(isIE){
	var input2  = INPUT({id:inputs, 'type': type, value: input.value, 'spellcheck': 'false', 'className':'mandatoryfield'});
	//var input2 = document.createElement('input');
	//input2.type=type;
	//input2.id=inputs;
	//input2.value=input.value;
	//input2.className='mandatoryfield';
	input2.defaultString = tweetupText[inputs];
	input.parentNode.replaceChild(input2,input);
	connect(input2, 'onfocus', satartType);
	connect(input2, 'onclick', satartType);
	connect(input2, 'onblur', endType);
	connect(input2, 'onchange', changeText);
	if(click){
		schmap.typed = true;
		setTimeout(function(){input2.focus()},100);
	}
	} else{
		input.type = type;
	}
}

function endType(ev) {
	var e = ev ||window.event;
	ctx = e.target||e.srcElement;
	if(ctx.value == ''){
		schmapme[ctx.id] = '';
		ctx.value = ctx.defaultString;
		ctx.style.color = '#bfbfbf';
	  if(ctx.id == "tpwd"){
		if(ctx.type == 'password')
		changeInputType('tpwd', 'text');
		schmap.typed = false;
	   }
	}    
}
function submitOpinion(){ 
	if(!schmapme.tmsg){
		alert('You must supply some text in the opinion text box before submitting');
	} else {
		if (schmapme.tuser && schmapme.tpwd){
		    hideElement('submitOpinion');
			showElement('submitloading');
			disableInputs(true);
			var urlString = '';
			urlString += "&username=" + schmapme.tuser + "&password=" + schmapme.tpwd + '&getuserinfo=1';
			reqType = "checkTwitter";
			loadXMLDoc('/servlet/twitterauthenticate', 'post', urlString);
		} else {
			alert (tweetupText.nonamepass_alert); 
			usernameRequired();
		}
	}	
}
function disableInputs(disable){
    if(disable){
	$('tmsg').disabled = true;
	$('tuser').disabled = true;
	$('tpwd').disabled = true;
	$('isRem').disabled = true;
	$('isToFollowers').disabled = true;
	$('tmsg').style.backgroundColor  = '#eeeeee';
	$('tuser').style.backgroundColor  = '#eeeeee';
	$('tpwd').style.backgroundColor  = '#eeeeee';
	}else {
	$('tmsg').disabled = false;
	$('tuser').disabled = false;
	$('tpwd').disabled = false;
	$('isRem').disabled = false;
	$('isToFollowers').disabled = false;
	$('tmsg').style.backgroundColor  = '#ffffff';
	$('tuser').style.backgroundColor  = '#FDFF92';
	$('tpwd').style.backgroundColor  = '#FDFF92';
    }
	
}
function usernameRequired(){
	$('tuser').style.backgroundColor = "red";
	$('tpwd').style.backgroundColor = "red";
	setTimeout(function(){$('tuser').style.backgroundColor = "#FFFFA0";
	$('tpwd').style.backgroundColor = "#FFFFA0";},300);
}

function tweetchecked(req){
    if(req == "status=1"){
		showElement('submitOpinion');
		hideElement('submitloading');
		disableInputs(false);
	    alert(tweetupText.general_alert);
		usernameRequired();
	}else {
	    var count = req.match(/opinionscount=(.*)]/);
		schmap.opinionscount = count[1] || 0;
		schmap.opinionscount=Number(schmap.opinionscount)
		schmap.opinionscount++;
	    finish();
	}
}

function showGeneralErrorScreen(){
    
}

function tweetupdated(req){
    if(req.search('status=1') != -1){
	    //showGeneralErrorScreen();
	}else{
	   req = req.match(/\[url=(.*)&passcode=(.*)&date=(.*)\]/);
	   userUrl = req[1];
		passcode = req[2];
		schmapmedate = req[3];
		disableInputs(false);
		schmap.newOpinion.interavl1 = setInterval(hideOpinion, 20);
	}
	//removeElementClass(document.body, 'waiting');
}

function finish(flag) {
    schmap.shareTo = flag;
    if(schmap.date){
		schmap.date.updatePlaceDateTime();
	}
	//if(!schmap['notes'] && schmap['tmsg']){
	schmapme.notes = schmapme.tmsg;
	//}
	var msg = 'has just used @' + schmapme.hub +' to review ' + schmapme.name +': ';
	schmapme.tmsg = msg;
	schmapme.maptype = schmap.mapview.indexOf('map')!=-1?'m':'s';

    var okToSendReq = true;
    if (okToSendReq){
        var urlString = '';
        urlString += "&passcode=" + '';
        for(var k in schmapme){
            urlString += '&' + k + '=' + encode(schmapme[k]);
        }
        reqType = "updatetwitter";
        loadXMLDoc('/servlet/updateurl', 'post', urlString);
        //alert ('lat=' + schmapme['lat'] + '; long=' + schmapme['long']);
    }
}

function rememberUser(ev) {
    var e = ev ||window.event;
	ctx = e.target||e.srcElement;
    if(ctx.checked){
		if(schmapme.tuser && schmapme.tpwd){
			setCookie('user', schmapme.tuser, 36500);
			setCookie('password', schmapme.tpwd, 36500);
		}else{
			alert (tweetupText.nonamepass_alert);
		    ctx.checked = false;
		 usernameRequired();   
		}
	}else {
	   	setCookie('user', '');
		setCookie('password', '');

	}
}

String.prototype.Trim = function () {   
    return   this.replace(/^\s*/g,"").replace(/\s*$/g,"");   
}
function reformatTime(d){
	var t = new Date(d.replace(/-/g,'/').substr(0,10)),
	    year = t.getFullYear(),
		month = t.getMonth(),
		day = t.getDate(),
		months = ['January','February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
	return months[month] + ' ' + day + 'th, '+ year;
}
 function $(src){   
    if(typeof(src) == 'string')
    src = document.getElementById(src);
    return src;
}

function getElement(src) {
    if(typeof(src) == 'string')
    src = $(src);
    return src;
}

function getFlashMovie(movieName) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
}
function addScript(url,name) {
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.language = "javascript";
    s.src = url;
	s.name = name;
	s.onerror = loadDefaultimageafter;
	document.getElementsByTagName("head")[0].appendChild(s);    
	
	schmap['imgInterval' + name] = setTimeout(function(){
	var names  = document.getElementsByName(name); 
	for(var i = 0; i < names.length; i++){
		names[i].src="/me/images/default_img_" + schmap.userType + ".png";
	}
	}, 7000);
}

function getCsurrentGMapUrl() {
    return "http://maps.google.com/maps?file=api&v=2.151&key=" +
        google_api_key + '&async=2&callback=loadedGMap';
}  

function connect(src, sig, objOrFunc){
    src = getElement(src);
    if (src.addEventListener) {
       src.addEventListener(sig.substr(2), objOrFunc, false);
    } else if (src.attachEvent) {
        src.attachEvent(sig, objOrFunc); 
    }
}

function loadGoogle() {
    if (!googleLoaded) {
        googleLoaded = true;
      //  $('map').innerHTML = '<img id="maploading" src="/me/images/loading-map.gif" />';
        addScript(getCsurrentGMapUrl());
    }
}

function getMWheelDelta(event) {
   
    if (!event) { // For IE.
        event = window.event;
    }
    if (event.wheelDelta) { // IE/Opera.
        delta += event.wheelDelta/120;
        // In Opera 9, delta differs in sign as compared to IE.
        if (window.opera)
            delta = -delta;
    } else if (event.detail) { // Mozilla case.
        // In Mozilla, sign of delta is different than in IE. Also, delta is multiple of 3.
        delta += (-event.detail/3);
    }
    if (!loading) {
      document.body.style.cursor = "wait";
    setCursor(schmap.cursorArray, 'wait');
    setTimeout("loadGoogle()", 500); 
    loading = true;
    }
}

function zoominout(event) {
    if (!event) { // For IE.
        event = window.event;
    }
    var target = event.target || event.srcElement;
    var id = target.id;
    if(id =="zoomin"){
        delta++;
    }else {
        delta--;
    }
    if (schmap.map) {
        schmap.map.setZoom(zoomLevel+delta);
    } else {  
    document.body.style.cursor = "wait";
    setCursor(schmap.cursorArray, 'wait');
        setTimeout("loadGoogle()", 500); 
    }
}

function handleMouseDown(event) {
    if (!panning) {
        mdownXPos = event.screenX;
        mdownYPos = event.screenY;
        panning = true;
    }
    
}

function handleDragStart(event) {
    if (!panning) {
        mdownXPos = event.screenX;
        mdownYPos = event.screenY;
        panning = true;
    }
}

function handleDragEnd(event) {
    endedDrag = true;
}

function handleDragEndIE(event) {
    endedDrag = true;
}

function handleMouseMove(event) {
    if (endedDrag) {
        if (mdownXPos >= 0 && mdownYPos >= 0) {
            deltaX = event.screenX - mdownXPos;
            deltaY = event.screenY - mdownYPos;
            document.body.style.cursor = "wait";
            setCursor(schmap.cursorArray, 'wait');
            setTimeout("loadGoogle()", 200); 
        }
    }
}

function switchMapView(event) {
    var target = event.target || event.srcElement;
    var id = target.id;
    var oldview = schmap.mapview;
    if(schmap.mapview +'view' ==  id) return;
    var othersrc = "/me/images/" + schmap.mapview + ".png";
    schmap.mapview = id.replace('view','');
    var src = "/me/images/" + schmap.mapview + "selected.png";
    var filter = PNG_style({src: src, width: 55, height: 18});
    atherfilter = PNG_style({src: othersrc, width: 55, height: 18});
    if(isIE6){
        $(oldview + 'view').style.filter = atherfilter;
        target.style.filter= filter;
    }else{
        $(oldview + 'view').src = othersrc;
        target.src = src;
    }
    if (schmap.map ) {
        schmap.map.setMapType(schmap._mt[schmap.mapview]);
    }else {
        document.body.style.cursor = "wait";
        setCursor(schmap.cursorArray, 'wait');
        setTimeout("loadGoogle()", 200); 
    }
}

function setCursor(objs,cursor){
    for(var i = 0; i < objs.length; i ++){
       obj = $(objs[i]); 
       obj.style.cursor = cursor;
    }
}

function loadedGMap() { 
    $('mapimg').style.cursor ="wait";
    schmap.map =  new GMap2($('map'));
    schmap.map.enableDoubleClickZoom();
    schmap.map.enableContinuousZoom();
    schmap.map.enableScrollWheelZoom();
    schmap.map.addControl(new GScaleControl());
    var center = new GLatLng(lat, lng);
    schmap.map.setCenter(center, zoomLevel);    
	var iconObj = icondata[schmapme.iconcode];
    if(iconObj.bigiconpath  ){
        var ic =new GIcon();
        ic.image = '/me/images/mapicons/' + iconObj.bigiconpath;
        ic.iconSize = new GSize(iconObj.bigiconwidth, iconObj.bigiconheight);
        ic.iconAnchor = new GPoint(iconObj.bigiconwidth*iconObj.bigiconanchorx/100, 
                                    iconObj.bigiconheight*iconObj.bigiconanchorx/100);
        var marker = new GMarker(center,{icon:ic});
    } else {
        var marker = new GMarker(center);
    }
    schmap.map.addOverlay(marker);
    if (delta != 0) {
    schmap.map.setZoom(zoomLevel+delta);
    }
    var mt = schmap.map.getMapTypes();
    schmap._mt = {};
    var mtTypes = ['map', 'satellite', 'hybrid'];
    for(var i = 0; i < mt.length; i++){
        schmap._mt[mtTypes[i]] = mt[i];
    }
    if(schmap.mapview){
        schmap.map.setMapType(schmap._mt[schmap.mapview]);
    }
    var index =7;
    if(isIE6) index = 3;
    var googlemapimg = $('map').firstChild.firstChild.childNodes[1].firstChild.childNodes[index];
    googlemapimg.onload = showmap;
    if(googlemapimg.complete) {
        showmap();
    }
}

function showmap() {
    if(schmap.showmap) return;
    $('staticmap').style.display = 'none';
    $('mapicon').style.display = 'none';
    $('map').style.visibility = "visible";
    document.body.style.cursor = "default";
    setCursor(schmap.cursorArray, 'pointer');    
    setTimeout(function(){
                    if (deltaX != 0 || deltaY != 0)    {
                        schmap.map.panBy (new GSize(deltaX,deltaY));
                    }}, 200);
    schmap.showmap = true;
}

function setup() {

	init();
    schmap.mapview = 'map';
	var iconObj = icondata[schmapme.iconcode];
	if(lat != '0.0' && lng !== '0.0'){
    var zoomin = PNG_html({id: 'zoomin', src: '/me/images/zoomin.png', width: 18, height: 21});
    var zoomout = PNG_html({id: 'zoomout', src: '/me/images/zoomout.png', width: 18, height: 21});
    var mapview =  PNG_html({id: 'mapview', src: '/me/images/'+schmapMapType[schmap.mapview][0]+'.png', width: 55, height: 18});
    var satelliteview =  PNG_html({id: 'satelliteview', src: '/me/images/'+schmapMapType[schmap.mapview][1]+'.png', width: 55, height: 18});
	var mapicon =  PNG_html({src: '/me/images/mapicons/' + iconObj.bigiconpath,
      	width: iconObj.bigiconwidth,  height: iconObj.bigiconheight});
	$('mapicon').innerHTML = mapicon;
	$('mapicon').style.top = (130 - iconObj.bigiconheight*iconObj.bigiconanchory/100) + 'px';
	$('mapicon').style.left = (130  - iconObj.bigiconwidth*iconObj.bigiconanchorx/100) + 'px'
	$('zoominout').innerHTML = zoomin + zoomout;
    $('mapswitch').innerHTML = mapview + satelliteview;
    connect('mapimg', 'onmousedown', handleMouseDown);
    connect('mapimg', 'ondragstart', handleDragStart);
    connect('mapimg', 'onmousemove', handleMouseMove);
    connect('mapimg', 'onmouseup', handleDragEnd);
    connect('mapimg', 'ondragend', handleDragEndIE);
    connect('mapimg', 'ondragexit', handleDragEnd);
    connect('mapview', 'onclick', switchMapView);
    connect('satelliteview', 'onclick', switchMapView);
    connect('zoomin', 'onclick', zoominout);
    connect('zoomout', 'onclick', zoominout);
    if ($('mapimg').addEventListener)
        $('mapimg').addEventListener('DOMMouseScroll', getMWheelDelta, false);
    else {
        connect('mapimg', 'onmousewheel', getMWheelDelta);
    }
	}
	$('iframeBox').innerHTML = '	<iframe id="newIframe" height="79" frameborder="0" width="405" scrolling="no" \
				src="/common/schmapme/advert/schmapme_picks_ad_new.html.var" allowtransparency="true" marginheight="0" marginwidth="0"></iframe>';
  if($('activeflash')) {
  document.body.style.overflow = 'hidden';
  //$('overlay').style.height = document.body.clientHeight + "px";
  }
 }
function getTextFromFlash(n){
alert(n);
}
function closePage(){
	$('overlay').style.display = "none";
}
function flashDelete(){
	alert('Deleted');
}
 
 function gotoCustomizeBadge(){
    if(schmapme_bigIconPath !=="(none)"){
     var iconcode = schmapme_bigIconPath.substr(0,4).toUpperCase();
	 }else {
	 var iconcode = "G000";
	 }
    var url = 'http://' + document.location.host  + '/present/index_badge.html?url=' + userUrl + '&lat=' + lat + '&long=' + lng + '&icon=' + iconcode + '&zoom=' + zoomLevel + '&maptype=' + maptype;
    // alert(url);
 
	
	 //var fl = getFlashMovie('schmap').callFlashFunction(url);
	return url;
 
 }

function hideOpinionButton(){
    schmap.newOpinion.addnewH -= 7;
	if(schmap.newOpinion.addnewH <=0){
	    schmap.newOpinion.addnewH = 0;
		clearInterval(schmap.newOpinion.interavl);
		schmap.newOpinion.interavl1 = setInterval(showOpinion, 20);
		hideElement(schmap.newOpinion.addnewBt);
		showElement('submitOpinion');
		hideElement('submitloading');

	}
    schmap.newOpinion.addnewBt.style.height = schmap.newOpinion.addnewH + 'px';
	
}

function showOpinionButton(){
    schmap.newOpinion.addnewH += 7;
	if(schmap.newOpinion.addnewH >= 55){
	    schmap.newOpinion.addnewH = 55 ;
		clearInterval(schmap.newOpinion.interavl1);
	}
    schmap.newOpinion.addnewBt.style.height = schmap.newOpinion.addnewH + 'px';
	
}
function showOpinion(){
    schmap.newOpinion.newOpinionCH += 12;
	if(schmap.newOpinion.newOpinionCH >= schmap.newOpinion.newOpinionH){
	    schmap.newOpinion.newOpinionCH = schmap.newOpinion.newOpinionH;
		clearInterval( schmap.newOpinion.interavl1);
	}
    schmap.newOpinion.newOpinion.style.height = schmap.newOpinion.newOpinionCH + 'px';
	
}

function hideOpinion(){
    schmap.newOpinion.newOpinionCH -= 12;
	if(schmap.newOpinion.newOpinionCH <= 1){
	    schmap.newOpinion.newOpinionCH = 1;
		clearInterval( schmap.newOpinion.interavl1);
		schmap.newOpinion.newOpinion.style.visibility = 'hidden';
		setTimeout( appendNewOpinion,200);
	}
    schmap.newOpinion.newOpinion.style.height = schmap.newOpinion.newOpinionCH + 'px';
	
}

function showLatestOpinion(){
    schmap.newOpinion.latestOpinionCH += 6;
	if(schmap.newOpinion.latestOpinionCH >= schmap.newOpinion.latestOpinionH){
	    schmap.newOpinion.latestOpinionCH = schmap.newOpinion.latestOpinionH;
		clearInterval( schmap.newOpinion.interavl1);
		showElement(schmap.newOpinion.addnewBt);
		schmap.newOpinion.interavl1 = setTimeout(waitShowOpinionButton, 600);
		var orgNum = parseInt($('opinionsText').innerHTML);
		if(orgNum === 0){
			$('opinionsText').innerHTML = '1 opinion';
		}else{
			$('opinionsText').innerHTML = (orgNum + 1) + ' opinions';
		}
		showElement($('opinionsText'));
	}
    schmap.newOpinion.latestOpinion.style.height = schmap.newOpinion.latestOpinionCH + 'px';
	
}
function waitShowOpinionButton(){
    schmap.newOpinion.interavl1 = setInterval(showOpinionButton, 20);
}

function appendNewOpinion(){
 	var li = document.createElement('li');
	var time = reformatTime(schmapmedate);
	getUserProfile(schmapme.tuser,'t');
	photoSrc = '/me/images/spacer.png';
    opinoinlist = $('opinionsList');
	var starHtml = '';
	if(/[1-5]/.test(schmapme.starrating)){
		//starHtml = '<span class="star star' + schmapme.starrating + '">' + schmapme.starrating +  'stars</span>';
		starHtml = '<img class="starImg" src="/common/schmapme/images/starwhitebg' + schmapme.starrating + '.png" />';
	}
	li.innerHTML = '<div><h3><a target="_blank" href="http://www.twitter.com/' + schmapme.tuser + 
				   '"><img onerror=\'getUserProfile("' +schmapme.tuser + '", "t")\' name="' + schmapme.tuser + 
				   '" src="' + photoSrc + '"/> ' + schmapme.tuser + '</a></h3><p class="ap1 italic"><span>' + 
				   time + '</span></p><p>' + schmapme.notes  + starHtml +  '</p></div>';
    opinoinlist.insertBefore(li,opinoinlist.firstChild);
	schmap.newOpinion.latestOpinionH = li.scrollHeight;
	li.style.height = '0px'; 
	schmap.newOpinion.latestOpinion = li;
	schmap.newOpinion.latestOpinionCH = 1;
	schmap.newOpinion.interavl1 = setInterval(showLatestOpinion, 15);
}

function PNG_html(attrs) {
    var img = new StringBuffer();
    var src = attrs.src;
    if(isIE6)
        attrs.src = '/common/spacer.png';
    img.append('<img ');
    if(attrs.id)
        img.append('id="').append(attrs.id).append('" ');
    if(attrs.thisClass)
        img.append('class="').append(attrs.thisClass).append('" ');
    img.append('src="').append(attrs.src);
    img.append('" width="').append(attrs.width).append('" height="').append(attrs.height).append('"/>');
    if(isIE6) {
        var img = new StringBuffer();
        img.append('<IMG ');
        if(attrs.id)
            img.append('id="').append(attrs.id).append('" ');
        img.append(' style="').append("FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='");
        img.append(src).append("',sizingMethod='scale'); WIDTH: ").append(attrs.width);
        img.append("px; HEIGHT: ").append(attrs.height).append("px");
        if(attrs.thisClass)
            img.append('" class="').append(attrs.thisClass);
        img.append('" src="/me/images/spacer.png">');
    }
    return img.toString();
}

function PNG_style (attrs){
    var style = new StringBuffer();
    style.append("FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='");
        style.append(attrs.src).append("',sizingMethod='scale'); WIDTH: ").append(attrs.width);
        style.append("px; HEIGHT: ").append(attrs.height).append('px');
        return style.toString();
}

function StringBuffer() { 
    this.buffer = []; 
}

StringBuffer.prototype.append = function(str) {
    this.buffer.push(str);
    return this;
}

StringBuffer.prototype.toString = function() {
    return this.buffer.join("");
}

StringBuffer.prototype.getLength = function() {
    return this.buffer.length;
}
function loadDefaultimage(){
	this.src="/me/images/default_img_" + schmap.userType + ".png";
}
function gettwitterUser(twitterprofile){
try{
   if(twitterprofile){
    var names  = (twitterprofile.screen_name); 
	}else {
 
	}
	clearTimeout(schmap['imgInterval' + names])
	var names  = document.getElementsByName(names); 
	for(var i = 0; i < names.length; i++){
        names[i].src = twitterprofile.profile_image_url;
		names[i].onerror = loadDefaultimage;
		}
}catch(e){
    for(var i = 0; i < names.length; i++)
        names[i].src="/me/images/default_img_" + schmap.userType + ".png";
}

}
function loadDefaultimageafter(){
	var names = this.name
	clearTimeout(schmap['imgInterval' + names])
	var names  = document.getElementsByName(names); 
	for(var i = 0; i < names.length; i++){
		names[i].src="/me/images/default_img_" + schmap.userType + ".png";
	}
}
function FacebookRestClient(serverAddr, sessionKey, apiKey, secret){
  this._secret=     secret,
  this._sessionKey=   sessionKey,
  this._apiKey=    apiKey,
  this._serverUrl=  serverAddr;      
  this.callMethod = function(method, params){
    var currentTime = new Date();
    var time = currentTime.getTime();
    params.push("method="+method);
    //params.push("session_key="+this._sessionKey);
    params.push("api_key=" + this._apiKey);
    params.push("call_id=" + time);
    params.push("sig=" + this.generateSig(params));
    this.postRequest(this, params);
  }
  
  this.generateSig = function(params){
    var request = "";
    params.sort();
    for(var i=0; i<params.length; i++){
      request+=params[i];
    }
    request+=this._secret;
    return hex_md5(request);
  }
  
  this.postRequest= function(sender, params){
    var requests = "";
    params.sort();
    requests+=params.join('&');
    var sss = this._serverUrl+ '?' + requests;
    var src = '<script src=" '+ sss + '" ><\/script>'
    document.write(src);
   }
  return this;
}

function checkFaceBook(uid){
	var api_key = 'b60af6a0bff69c00024a2255f392cdb7';
	var secret = 'd7fffe5040c75759369ee62b6375aa08';
	var method = "Users.getInfo"

	var arguments  =['uids='+uid,'fields=name,pic_small','v=1.0','format=json','callback=facebookCallBack'];
	var serverAddr = "http://api.facebook.com/restserver.php"
	var facebook = new FacebookRestClient(serverAddr, '', api_key, secret);
	facebook.callMethod(method, arguments);
}
function getUserProfile(name, type,xid){ 
	var names  = document.getElementsByName(name); 
	for(var i = 0; i < names.length; i++){
		names[i].src = '/me/images/spacer.png';
		names[i].onerror = loadDefaultimage;
	}
    schmap.userType = type.toLowerCase();
    if(schmap.userType == 't'){
	    if(name !== 'None' && name != "(none)"){
			var url = "http://twitter.com/users/show/"+name+".json?callback=gettwitterUser";
			addScript(url, name);
		}
	} else if(schmap.userType == 'f'){
	    if(xid !== 'None' && xid != "(none)" ){
		    checkFaceBook(xid);
		}
	}
}
function facebookCallBack(facebookUser){
    AAA = facebookUser;
    $('photo').src = facebookUser[0].pic_small || "/me/images/default_img_f.png";
    $('profilename').innerHTML = facebookUser[0].name;
	var url = "http://www.facebook.com/profile.php?v=info&edit_info=all#/profile.php?id=" + facebookUser[0].uid+ "&ref=name";
	$('profilename').href = url;
	$('photo').parentNode.href = url;
	$('profile').style.display = "block";
}
function nobigphoto(evt){
    evt.style.display = 'none';
}

function bigphotoloaded(evt){
	schmap.smallPhoto = $('smalphoto');
    schmap.intervalinitws = schmap.smallPhoto.clientHeight;
	schmap.intervalinitwb = evt.clientHeight;
	schmap.intervalw = schmap.intervalinitws;
    evt.style.height = schmap.intervalinitws + 'px';
	schmap.intervalprocess = false;
	schmap.intervalele =evt;
	schmap.minHeight = 'min-height';
	if(isIE){
		schmap.container = $('infotext');
	}else{
		schmap.container = $('container');
	}
	if (isIE6) {
		var cursor = '/me/images/zoom.cur';
		schmap.minHeight = 'height';
	}else if(isSafari || isIE){
		var cursor = 'url(/me/images/zoomsafari.cur)';
	} else {
		var cursor = '-moz-zoom-in';
	}
	$('smalphoto').style.cursor = cursor;
}

 function enlargephoto(evt){
	if(schmap.intervalprocess) return;
	if (isIE6) {
		var cursor = 'default';
		schmap.smallPhoto.style.cursor = cursor;
		schmap.intervalele.style.cursor = cursor;
	}
	if(schmap.enlarged ){
		schmap.interval = setInterval(scalephotos,10);
	}else {
		schmap.interval = setInterval(scalephoto,10);	
		schmap.intervalele.parentNode.style.visibility = 'visible';
		schmap.smallPhoto.style.visibility = 'hidden';
	}
	schmap.intervalprocess = true;
}

function scalephoto(){
    schmap.intervalw += 12;
	if(schmap.intervalw >= schmap.intervalinitwb){
	    schmap.intervalw = schmap.intervalinitwb;
		clearInterval(schmap.interval);
		schmap.enlarged = true;
		schmap.intervalprocess = false;
		opacity = 0;
 		if (isIE6) {
			var cursor = '/me/images/zoomout.cur';
			schmap.intervalele.style.cursor = cursor;
		} 
	}
	opacity -= 0.062;
	schmap.container.style.cssText = schmap.minHeight + ':' + schmap.intervalw +'px;opacity:' + opacity + ';filter:alpha(opacity:' + (opacity*100) + ');';
	schmap.intervalele.style.height = schmap.intervalw +'px';
}
function scalephotos(){
    schmap.intervalw -= 12;
	if(schmap.intervalw <= schmap.intervalinitws){
	    schmap.intervalw = schmap.intervalinitws;
		clearInterval(schmap.interval);
		schmap.enlarged = false;
		schmap.intervalprocess = false;
		schmap.smallPhoto.style.visibility = 'visible';
		schmap.intervalele.parentNode.style.visibility = 'hidden';
		opacity = 1;
		var cursor;
		if (isIE6) {
		var cursor = '/me/images/zoom.cur';
		$('smalphoto').style.cursor = cursor;
		}else if(isSafari){
		var cursor = 'url(/me/images/zoomsafari.cur)';
		$('smalphoto').style.cursor = cursor;
		}
	} 
	opacity += 0.062;
	schmap.container.style.cssText = schmap.minHeight + ':' + schmap.intervalw +'px;opacity:' + opacity + ';filter:alpha(opacity:' + (opacity*100) + ');';
	schmap.intervalele.style.height = schmap.intervalw +'px';
}
function makePicks(){
	var host = document.location.host;
	if(typelinks){
	    var atag = '<table width="200" border="0"> <tr>';
	    for(var i = 0; i < typelinks.length; i++){
		    var link = typelinks[i];
            var linktext = escape(link.text);
			var parm = (link.params + '&titlename=' + linktext);
			atag += '<td class="td"><a href="http://' + host + '/picks/' + schmap.urlname +'/?' + parm + '">' + link.text + '</a> </td>';
			if(i % 2){
			    atag += '</tr>';
				if(i != typelinks.length -1)
				atag += '<tr>';
			}
		}
		atag += ' </table>';
		$('bytype').innerHTML = atag;
	}
	if(districtlinks){
	    var atag = '<table width="200" border="0"> <tr>';
	    for(var i = 0; i < districtlinks.length; i++){
		    var link = districtlinks[i];
			var linktext = escape(link.text);
			var parm = (link.params + '&titlename=' + linktext);
			atag += '<td class="td"><a href="http://' + host + '/picks/' + schmap.urlname +'/?' + parm + '">' + link.text + '</a> </td>';
			if(i % 2){
			    atag += '</tr>';
				if(i != districtlinks.length -1)
				atag += '<tr>';
			}
		}
		atag += ' </table>';
		$('bydistrict').innerHTML = atag;
	}
}

