if (typeof gigya == 'undefined') {	gigya= new Object(); 
if (typeof gigya._vars == 'undefined') {	
	gigya._vars= new Object(); }
	gigya._vars.scripts=document.getElementsByTagName('SCRIPT');
	gigya._vars.lastScript=gigya._vars.scripts[gigya._vars.scripts.length-1];
	gigya._vars.lastScriptURL=gigya._vars.lastScript.src;
	gigya._vars.lastScriptProtocol=(gigya._vars.lastScriptURL.toLowerCase().indexOf('https')==0)?'https':'http';;
	gigya._vars.lastScriptURLPathPaths=gigya._vars.lastScriptURL.split('/');
	gigya._vars.lastScriptURLBase=gigya._vars.lastScriptURLPathPaths[0]+'//'+gigya._vars.lastScriptURLPathPaths[2];
}

gigya.getParamFromURL = function(scriptURL) {
	if ( null==scriptURL || ''==scriptURL ) {
		return '';
	}

	var questionPos = scriptURL.indexOf('?');
	if ( questionPos == -1 ) {
		return '';
	}
	
	var params = scriptURL.split('?');
	var values = params[1].split('=');
	
	if ( null==values || ''==values ) {
		return '';
	}
	
	return values[1];
	
}

if (typeof gigya.global == 'undefined') {	
	gigya.global= new Object();
}

if (typeof gigya.global._NextZIndex == 'undefined') {
	gigya.global._NextZIndex=1000;
}

if (typeof gigya.global._OpenedWindows == 'undefined') {
	gigya.global._OpenedWindows = new Object();
}

if (typeof gigya.global._Iframes == 'undefined') {
	gigya.global._Iframes = new Object();
}

gigya.global._CloseTarget = function(targetName) {
    gigya.global._CloseWindow(targetName);
    gigya.global._CloseIframe(targetName);
}

gigya.global._CloseWindow = function(windowName) {
    if (gigya.global._OpenedWindows[windowName]!=null) {
		try {
			gigya.global._OpenedWindows[windowName].close(); 
			delete gigya.global._OpenedWindows[windowName];
		} catch (e){}
    }
}

gigya.global._CloseIframe = function(iframeID) {
    if (gigya.global._Iframes[iframeID]!=null) {
		try {			
			gigya.global._DeleteIframe(iframeID);
			delete gigya.global._Iframes[iframeID];
		} 
		catch (e){}
    }
}

gigya.global.valueIsExplicitTrue = function(boolval) {
	var lc=(''+boolval).toLowerCase();
	return (lc=='true' || lc=='1');
}


gigya.global.normalizeParams = function(p,blnCopy,paramConstraints){

    var np = blnCopy?{}:p;  
     
    //if ( blnCopy ) {    
        for (var constraintType in paramConstraints) {
            if ( typeof np[constraintType] == 'undefined' ) {
                 np[constraintType]=null;
            }
        }
    //}
    var constraints;
                 
    if ( null!=p ) {        
        for (var x in p) {
            if (blnCopy) {np[x] = p[x]};
		}
		
        for (var x in np) {
  
            constraints=paramConstraints[x];
            if (constraints!=null) {
                for (var constraintType in constraints) {
                    switch (constraintType) {
                        case 'nullAs': if (np[x]==null) {np[x]=constraints[constraintType]}; break;
                        case 'emptyAs': if (np[x]=='') {np[x]=constraints[constraintType]}; break;
                        case 'def': if (np[x]==null || np[x]=='') {np[x]=constraints[constraintType]}; break;
                        case 'min': np[x]=Math.max(np[x],constraints[constraintType]); break;
                    }
                }
            }
        }                
    } 
          
    return np;
}


gigya.global.isSafari = function() {
    return (navigator.userAgent.toLowerCase().indexOf('safari')!=-1);
}

gigya.global.getParamFromURL = function(scriptURL) {
	if ( null==scriptURL || ''==scriptURL ) {
		return '';
	}

	var questionPos = scriptURL.indexOf('?');
	if ( questionPos == -1 ) {
		return '';
	}
	
	var params = scriptURL.split('?');
	var values = params[1].split('=');
	
	if ( null==values || ''==values ) {
		return '';
	}
	
	return values[1];
	
}

gigya.global.canPlaceInCenter = function(requirdWidth,requiredHeight) {   
    //return true;
    var viewport = gigya.global._ClientViewport.get();    
    var canDo = (viewport.width >= requirdWidth && viewport.height >= requiredHeight);    
    return canDo;
}
gigya.global._ClientViewport = 
	{
		getWidth: function() {
			return /*self.innerWidth || */(document.documentElement.clientWidth || document.body.clientWidth);
		},

		getHeight: function() {
			return /*self.innerHeight || */(document.documentElement.clientHeight || document.body.clientHeight);
		},
		
		scrollTop: function() {
		    return (window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop );
		},
		
		scrollLeft: function(){ 
		    return (window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft);
		}, 
		
		get: function() {
			return { 
				width: this.getWidth(),
				height: this.getHeight(),
				scrollTop: this.scrollTop(),
				scrollLeft: this.scrollLeft(),
				contains: function(x,y) {
					return (x>=this.scrollLeft) && (x<this.scrollLeft+this.width) && (y>=this.scrollTop) && (x<this.scrollTop+this.height)
					
				}
		};
		}
		
	}

	
gigya.global._CenterElement = function(elem,options) {
	if(options==undefined) options={};
	
	var viewport = gigya.global._ClientViewport.get();
	var elmWidth = (options.width != undefined) ? options.width : elem.offsetWidth;
	var elmHeight = (options.height != undefined) ? options.height : elem.offsetHeight;
	
	var left = parseInt((viewport.width - elmWidth) / 2, 10);
	var top = parseInt((viewport.height - elmHeight) / 2, 10);
	
	top += viewport.scrollTop;
	left += viewport.scrollLeft;
	    
	elem.style.position = "absolute";
	elem.style.left = left + 'px';
	elem.style.top = top + 'px';  
	

}

gigya.global._DeleteIframe = function(iframeID) {  
    var ifrel = document.getElementById(iframeID);        
    if ( null!=ifrel ) {    
        ifrel.style.display = 'none';  
        var iframeDiv = ifrel.parentNode;
        if ( null!=iframeDiv ) {
            iframeDiv.innerHTML= '';            
        }
        else {
            iframeDiv = document.getElementById('div_'+iframeID);
            if ( null!=iframeDiv ) {
               iframeDiv.innerHTML= '';
            }
        }
    }
}

gigya.global._CreateIframe = function(url,windowName, windowOptions,width, height,iframeID) {
    //var currUrl= ''+document.location.href;
    var finalUrl = url;
    /*var httpsPos = currUrl.toLowerCase().indexOf('https');
    if ( httpsPos == 0 ) {
        finalUrl = 'https'+(''+url).substring(5,(''+url).length);
    }
    else {
        finalUrl = url;
    }*/
        
    gigya.global._DeleteIframe(iframeID);  	
    var iframeDiv = document.createElement('div');
    
    iframeDiv.id = 'div_'+iframeID;  
    iframeDiv.style.zIndex=gigya.global._NextZIndex++;        
    var ifrel = document.createElement('IFRAME');    
	ifrel.id=iframeID;
	ifrel.style.width=''+width+'px';	
	ifrel.style.height=''+height+'px';	
    ifrel.scrolling='no';
    // FF
    ifrel.setAttribute('frameborder','0');
    // IE
    ifrel.setAttribute('frameBorder','0');
    ifrel.allowTransparency='true';
	
	//if (ifrel.style.zIndex!=null) {
		ifrel.style.zIndex=gigya.global._NextZIndex++;
	//}			
	ifrel.setAttribute('src',finalUrl);	
	iframeDiv.appendChild(ifrel);
	document.body.appendChild(iframeDiv);	
	gigya.global._CenterElement(iframeDiv,{width:width ,height:height} );	
	gigya.global._Iframes[ifrel.id] = ifrel;
	return ifrel.id;
}


gigya.global._OpenTarget = function(url, windowName, windowOptions, inTimeOut, iframeURL, iframeWidth, iframeHeight) { 
    var isSafari = gigya.global.isSafari();
    var useIframe =(!isSafari && iframeURL!=null && gigya.global.canPlaceInCenter(iframeWidth,iframeHeight));
    if (useIframe) {
        url = iframeURL;
        gigya.global._CreateIframe(url, windowName, windowOptions,iframeWidth, iframeHeight,windowName);
    } else {
        gigya.global._OpenWindow(url, windowName, windowOptions, inTimeOut);
    }
    if (useIframe) {
        //gigya.global._Iframes[windowName].src = url
    }
    
	return (useIframe || gigya.global._OpenedWindows[windowName]!=null)
    //return {isSafari: gigya.global.isSafari(), useIframe: useIframe};
}


gigya.global._OpenWindow = function(url, windowName, windowOptions, inTimeOut)
{
    if (typeof windowOptions == 'undefined') {
        windowOptions = 'menubar=0,toolbar=0,resizable=1,width=960,height=680';
    }
    var newWin = window.open(url, windowName, windowOptions);
    if (!newWin)
    {
        //safari bug fix
        newWin = window.open('', windowName, windowOptions);
        if (newWin && newWin.location)
        {
            newWin.location.href = url;
        }
    }
    if (!newWin && !inTimeOut)
    {
        window.setTimeout('gigya.global._OpenWindow("' + url + '", "' + windowName + '", "' + windowOptions + '", true)', 10);
        return;
    }
    if (newWin && newWin.focus)
    {
        newWin.focus();
    }
    gigya.global._OpenedWindows[windowName] = newWin;
    return (gigya.global._OpenedWindows[windowName] != null);
}

gigya.global._GetElementPos=function(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	};
	return {left:curleft,top:curtop};
}	

//alert(' navigator.appVersio = ' + navigator.appVersion + '\navigator.userAgent = ' + navigator.userAgent);
gigya.flash={

isIE  : (navigator.appVersion.indexOf("MSIE") != -1) ? true : false,
isIE6  : (navigator.appVersion.indexOf("MSIE 6.") != -1) ? true : false,
isWin : (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false,
isOpera : (navigator.userAgent.indexOf("Opera") != -1) ? true : false,
isFF :(navigator.userAgent.indexOf("Firefox") != -1) ? true : false,

AC_Generateobj:function(objAttrs, params, embedAttrs) { 
    var str = '';
    
	if (this.isIE && this.isWin && !this.isOpera)	{
		str += '<object ';
		for (var i in objAttrs) {str += i + '="' + objAttrs[i] + '" ';}
		str += '>';
		for (var i in params) {str += '<param name="' + i + '" value="' + params[i] + '" /> ';}
		str += '</object>';
	}
	else {
		str += '<embed ';
		for (var i in embedAttrs) {str += i + '="' + embedAttrs[i] + '" ';}
		str += '> </embed>';
	}
	return str;
},

AC_FL_GetContent:function(){
	var ret = this.AC_GetArgs(arguments);
	return this.AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
},

AC_GetArgs:function(args, classid, mimeType){
	var ret = {};
	ret.embedAttrs = {};
	ret.params = {};
	ret.objAttrs = {};
	for (var i=0; i < args.length; i=i+2){
		var currArg = args[i].toLowerCase();    
		switch (currArg){	
			case "movie":	
				ret.embedAttrs["src"] = args[i+1];
				ret.params["movie"] = args[i+1];
			break;
			case "id":  
			case "width":
			case "height":
			case "align":
			case "name":
			case "z-index":
				ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
			break;
			default:
				ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
		}
  }
  ret.objAttrs['codebase']=gigya._vars.lastScriptProtocol + '://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0';
  ret.objAttrs["classid"] = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000";
  ret.embedAttrs["type"] ="application/x-shockwave-flash";
  ret.embedAttrs['pluginspage']=gigya._vars.lastScriptProtocol + '://www.macromedia.com/go/getflashplayer';
  
  return ret;
}


}

//alert('end of common.js gigya=' + gigya);
